@@ -58,7 +58,9 @@ contract CustomRedStoneOracleAdapterTest is Test {
5858
5959 ///@dev Get the Redstone payload snapshot for a given feedId
6060 ///@return data The real Redstone payload from their API
61- function getRedstonePayload (bytes32 feedId ) internal pure returns (bytes memory data ) {
61+ function getRedstonePayload (
62+ bytes32 feedId
63+ ) internal pure returns (bytes memory data ) {
6264 //solhint-disable max-line-length
6365 if (feedId == bytes32 ("pxETH/ETH " )) {
6466 data =
@@ -130,12 +132,13 @@ contract RegisterFeedId is CustomRedStoneOracleAdapterTest {
130132 bytes32 feedId = bytes32 ("TEST " );
131133 address token = makeAddr ("token " );
132134
133- redstoneAdapter.registerFeedId (feedId, token, true );
135+ redstoneAdapter.registerFeedId (feedId, token, true , 8 );
134136
135- (address tokenAddress , bool ethQuoted ) = redstoneAdapter.registeredFeedIds (feedId);
137+ (address tokenAddress , bool ethQuoted , uint256 feedDecimals ) = redstoneAdapter.registeredFeedIds (feedId);
136138
137139 assertEq (tokenAddress, token);
138140 assertEq (ethQuoted, true );
141+ assertEq (feedDecimals, 8 );
139142 }
140143
141144 function testRegisterFeedIdRevertsIfNoAccess () public {
@@ -144,7 +147,7 @@ contract RegisterFeedId is CustomRedStoneOracleAdapterTest {
144147
145148 vm.prank (RANDOM);
146149 vm.expectRevert (abi.encodeWithSignature ("AccessDenied() " ));
147- redstoneAdapter.registerFeedId (feedId, token, true );
150+ redstoneAdapter.registerFeedId (feedId, token, true , 8 );
148151 }
149152}
150153
@@ -153,18 +156,18 @@ contract RemoveFeedId is CustomRedStoneOracleAdapterTest {
153156 bytes32 feedId = bytes32 ("TEST " );
154157 address token = makeAddr ("token " );
155158
156- redstoneAdapter.registerFeedId (feedId, token, true );
159+ redstoneAdapter.registerFeedId (feedId, token, true , 8 );
157160 redstoneAdapter.removeFeedId (feedId);
158161
159- (address tokenAddress ,) = redstoneAdapter.registeredFeedIds (feedId);
162+ (address tokenAddress ,, ) = redstoneAdapter.registeredFeedIds (feedId);
160163 assertEq (tokenAddress, address (0 ));
161164 }
162165
163166 function test_RemoveFeedIdRevertsIfNoAccess () public {
164167 bytes32 feedId = bytes32 ("TEST " );
165168 address token = makeAddr ("token " );
166169
167- redstoneAdapter.registerFeedId (feedId, token, true );
170+ redstoneAdapter.registerFeedId (feedId, token, true , 8 );
168171
169172 vm.prank (RANDOM);
170173 vm.expectRevert (abi.encodeWithSignature ("AccessDenied() " ));
@@ -182,7 +185,7 @@ contract UpdatePriceWithFeedId is CustomRedStoneOracleAdapterTest {
182185 bytes memory encodedFunction = abi.encodeWithSignature ("updatePriceWithFeedId(bytes32[]) " , feedIds);
183186 bytes memory encodedFunctionWithRedstonePayload = abi.encodePacked (encodedFunction, redstonePayload);
184187
185- redstoneAdapter.registerFeedId (feedIds[0 ], PXETH_MAINNET, true );
188+ redstoneAdapter.registerFeedId (feedIds[0 ], PXETH_MAINNET, true , 8 );
186189
187190 vm.prank (TREASURY);
188191 accessController.grantRole (Roles.CUSTOM_ORACLE_EXECUTOR, address (redstoneAdapter));
@@ -214,7 +217,7 @@ contract UpdatePriceWithFeedId is CustomRedStoneOracleAdapterTest {
214217 function test_UpdatePriceWithFeedIdRevertsIfFeedIdIsNotExisting () public {
215218 bytes32 [] memory feedIds = new bytes32 [](1 );
216219 feedIds[0 ] = bytes32 ("someRandomFeedIdThatDoesNotExist " );
217- redstoneAdapter.registerFeedId (feedIds[0 ], PXETH_MAINNET, true );
220+ redstoneAdapter.registerFeedId (feedIds[0 ], PXETH_MAINNET, true , 8 );
218221
219222 bytes memory redstonePayload = getRedstonePayload (feedIds[0 ]);
220223 bytes memory encodedFunction = abi.encodeWithSignature ("updatePriceWithFeedId(bytes32[]) " , feedIds);
@@ -232,7 +235,7 @@ contract UpdatePriceWithFeedId is CustomRedStoneOracleAdapterTest {
232235 function test_UpdatesPriceWithUsdNominatedFeedId () public {
233236 bytes32 [] memory feedIds = new bytes32 [](1 );
234237 feedIds[0 ] = bytes32 ("CRV " );
235- redstoneAdapter.registerFeedId (feedIds[0 ], CRV_MAINNET, false );
238+ redstoneAdapter.registerFeedId (feedIds[0 ], CRV_MAINNET, false , 8 );
236239
237240 address [] memory tokenAddresses = new address [](1 );
238241 tokenAddresses[0 ] = CRV_MAINNET;
@@ -268,7 +271,7 @@ contract UpdatePriceWithFeedId is CustomRedStoneOracleAdapterTest {
268271 function test_UpdatesPriceWithSingleFeedId () public {
269272 bytes32 [] memory feedIds = new bytes32 [](1 );
270273 feedIds[0 ] = bytes32 ("pxETH/ETH " );
271- redstoneAdapter.registerFeedId (feedIds[0 ], PXETH_MAINNET, true );
274+ redstoneAdapter.registerFeedId (feedIds[0 ], PXETH_MAINNET, true , 8 );
272275
273276 bytes memory redstonePayload = getRedstonePayload (feedIds[0 ]);
274277 bytes memory encodedFunction = abi.encodeWithSignature ("updatePriceWithFeedId(bytes32[]) " , feedIds);
@@ -316,9 +319,9 @@ contract UpdatePriceWithFeedId is CustomRedStoneOracleAdapterTest {
316319 bytes memory encodedFunction = abi.encodeWithSignature ("updatePriceWithFeedId(bytes32[]) " , feedIds);
317320 bytes memory encodedFunctionWithRedstonePayload = abi.encodePacked (encodedFunction, redstonePayload);
318321
319- redstoneAdapter.registerFeedId (feedIds[0 ], EZETH_MAINNET, true );
320- redstoneAdapter.registerFeedId (feedIds[1 ], WSTETH_MAINNET, true );
321- redstoneAdapter.registerFeedId (feedIds[2 ], RETH_MAINNET, true );
322+ redstoneAdapter.registerFeedId (feedIds[0 ], EZETH_MAINNET, true , 8 );
323+ redstoneAdapter.registerFeedId (feedIds[1 ], WSTETH_MAINNET, true , 8 );
324+ redstoneAdapter.registerFeedId (feedIds[2 ], RETH_MAINNET, true , 8 );
322325
323326 vm.prank (TREASURY);
324327 accessController.grantRole (Roles.CUSTOM_ORACLE_EXECUTOR, address (redstoneAdapter));
0 commit comments