Skip to content

Commit

Permalink
rename and rm EVM specific checks
Browse files Browse the repository at this point in the history
  • Loading branch information
RensR committed Nov 19, 2024
1 parent e4bd99c commit d30185d
Show file tree
Hide file tree
Showing 13 changed files with 351 additions and 345 deletions.
5 changes: 5 additions & 0 deletions contracts/.changeset/modern-mayflies-give.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@chainlink/contracts': patch
---

allow multiple remote pools per chain selector
35 changes: 17 additions & 18 deletions contracts/gas-snapshots/ccip.gas-snapshot
Original file line number Diff line number Diff line change
Expand Up @@ -236,11 +236,11 @@ HybridLockReleaseUSDCTokenPool_lockOrBurn:test_onLockReleaseMechanism_thenSwitch
HybridLockReleaseUSDCTokenPool_releaseOrMint:test_OnLockReleaseMechanism_Success() (gas: 214613)
HybridLockReleaseUSDCTokenPool_releaseOrMint:test_WhileMigrationPause_Revert() (gas: 111153)
HybridLockReleaseUSDCTokenPool_releaseOrMint:test_incomingMessageWithPrimaryMechanism() (gas: 267128)
LockReleaseTokenPool_canAcceptLiquidity:test_CanAcceptLiquidity_Success() (gas: 3151269)
LockReleaseTokenPool_canAcceptLiquidity:test_CanAcceptLiquidity_Success() (gas: 3138436)
LockReleaseTokenPool_lockOrBurn:test_LockOrBurnWithAllowList_Revert() (gas: 30114)
LockReleaseTokenPool_lockOrBurn:test_LockOrBurnWithAllowList_Success() (gas: 80356)
LockReleaseTokenPool_lockOrBurn:test_PoolBurnRevertNotHealthy_Revert() (gas: 59716)
LockReleaseTokenPool_provideLiquidity:test_LiquidityNotAccepted_Revert() (gas: 3147774)
LockReleaseTokenPool_provideLiquidity:test_LiquidityNotAccepted_Revert() (gas: 3134941)
LockReleaseTokenPool_provideLiquidity:test_Unauthorized_Revert() (gas: 11511)
LockReleaseTokenPool_releaseOrMint:test_ChainNotAllowed_Revert() (gas: 88277)
LockReleaseTokenPool_releaseOrMint:test_PoolMintNotHealthy_Revert() (gas: 56454)
Expand Down Expand Up @@ -532,7 +532,7 @@ OnRamp_forwardFromRouter:test_ShouldIncrementNonceOnlyOnOrdered_Success() (gas:
OnRamp_forwardFromRouter:test_ShouldIncrementSeqNumAndNonce_Success() (gas: 213012)
OnRamp_forwardFromRouter:test_ShouldStoreLinkFees() (gas: 146992)
OnRamp_forwardFromRouter:test_ShouldStoreNonLinkFees() (gas: 161181)
OnRamp_forwardFromRouter:test_SourceTokenDataTooLarge_Revert() (gas: 4031944)
OnRamp_forwardFromRouter:test_SourceTokenDataTooLarge_Revert() (gas: 4019113)
OnRamp_forwardFromRouter:test_UnAllowedOriginalSender_Revert() (gas: 24015)
OnRamp_forwardFromRouter:test_UnsupportedToken_Revert() (gas: 75832)
OnRamp_forwardFromRouter:test_forwardFromRouter_UnsupportedToken_Revert() (gas: 38588)
Expand Down Expand Up @@ -678,13 +678,13 @@ TokenAdminRegistry_setPool:test_setPool_ZeroAddressRemovesPool_Success() (gas: 3
TokenAdminRegistry_transferAdminRole:test_transferAdminRole_OnlyAdministrator_Revert() (gas: 18202)
TokenAdminRegistry_transferAdminRole:test_transferAdminRole_Success() (gas: 49592)
TokenPoolFactory_constructor:test_constructor_Revert() (gas: 1061099)
TokenPoolFactory_createTokenPool:test_createTokenPoolLockRelease_ExistingToken_predict_Success() (gas: 12452569)
TokenPoolFactory_createTokenPool:test_createTokenPool_BurnFromMintTokenPool_Success() (gas: 6430088)
TokenPoolFactory_createTokenPool:test_createTokenPool_ExistingRemoteToken_AndPredictPool_Success() (gas: 13219451)
TokenPoolFactory_createTokenPool:test_createTokenPool_WithNoExistingRemoteContracts_predict_Success() (gas: 13556200)
TokenPoolFactory_createTokenPool:test_createTokenPool_WithNoExistingTokenOnRemoteChain_Success() (gas: 6196728)
TokenPoolFactory_createTokenPool:test_createTokenPool_WithRemoteTokenAndRemotePool_Success() (gas: 6426549)
TokenPoolWithAllowList_applyAllowListUpdates:test_AllowListNotEnabled_Revert() (gas: 2750102)
TokenPoolFactory_createTokenPool:test_createTokenPoolLockRelease_ExistingToken_predict_Success() (gas: 12426147)
TokenPoolFactory_createTokenPool:test_createTokenPool_BurnFromMintTokenPool_Success() (gas: 6412663)
TokenPoolFactory_createTokenPool:test_createTokenPool_ExistingRemoteToken_AndPredictPool_Success() (gas: 13188291)
TokenPoolFactory_createTokenPool:test_createTokenPool_WithNoExistingRemoteContracts_predict_Success() (gas: 13525038)
TokenPoolFactory_createTokenPool:test_createTokenPool_WithNoExistingTokenOnRemoteChain_Success() (gas: 6179147)
TokenPoolFactory_createTokenPool:test_createTokenPool_WithRemoteTokenAndRemotePool_Success() (gas: 6409127)
TokenPoolWithAllowList_applyAllowListUpdates:test_AllowListNotEnabled_Revert() (gas: 2737271)
TokenPoolWithAllowList_applyAllowListUpdates:test_OnlyOwner_Revert() (gas: 12119)
TokenPoolWithAllowList_applyAllowListUpdates:test_SetAllowListSkipsZero_Success() (gas: 23477)
TokenPoolWithAllowList_applyAllowListUpdates:test_SetAllowList_Success() (gas: 178290)
Expand All @@ -693,18 +693,17 @@ TokenPoolWithAllowList_getAllowListEnabled:test_GetAllowListEnabled_Success() (g
TokenPoolWithAllowList_setRouter:test_SetRouter_Success() (gas: 25049)
TokenPoolWithAllowList_setRouter:test_ZeroAddressNotAllowed_Revert() (gas: 10685)
TokenPool_addRemotePool:test_NonExistentChain_Revert() (gas: 14208)
TokenPool_addRemotePool:test_PoolAlreadyAdded_Revert() (gas: 124401)
TokenPool_addRemotePool:test_ZeroAddressNotAllowed_Revert() (gas: 14223)
TokenPool_addRemotePool:test_ZeroLengthAddressNotAllowed_Revert() (gas: 14119)
TokenPool_addRemotePool:test_addRemotePool_MultipleActive() (gas: 422223)
TokenPool_addRemotePool:test_addRemotePool_Success() (gas: 160801)
TokenPool_addRemotePool:test_PoolAlreadyAdded_Revert() (gas: 123843)
TokenPool_addRemotePool:test_ZeroLengthAddressNotAllowed_Revert() (gas: 13849)
TokenPool_addRemotePool:test_addRemotePool_MultipleActive() (gas: 421553)
TokenPool_addRemotePool:test_addRemotePool_Success() (gas: 160513)
TokenPool_applyChainUpdates:test_applyChainUpdates_InvalidRateLimitRate_Revert() (gas: 704516)
TokenPool_applyChainUpdates:test_applyChainUpdates_NonExistentChain_Revert() (gas: 14999)
TokenPool_applyChainUpdates:test_applyChainUpdates_OnlyCallableByOwner_Revert() (gas: 11841)
TokenPool_applyChainUpdates:test_applyChainUpdates_Success() (gas: 608388)
TokenPool_applyChainUpdates:test_applyChainUpdates_UpdatesRemotePoolHashes() (gas: 1332044)
TokenPool_applyChainUpdates:test_applyChainUpdates_UpdatesRemotePoolHashes() (gas: 1330662)
TokenPool_applyChainUpdates:test_applyChainUpdates_ZeroAddressNotAllowed_Revert() (gas: 158393)
TokenPool_constructor:test_ZeroAddressNotAllowed_Revert() (gas: 71413)
TokenPool_constructor:test_ZeroAddressNotAllowed_Revert() (gas: 71397)
TokenPool_constructor:test_immutableFields_Success() (gas: 20762)
TokenPool_getRemotePool:test_getRemotePools() (gas: 332345)
TokenPool_onlyOffRamp:test_CallerIsNotARampOnRouter_Revert() (gas: 21439)
Expand All @@ -715,7 +714,7 @@ TokenPool_onlyOnRamp:test_ChainNotAllowed_Revert() (gas: 299744)
TokenPool_onlyOnRamp:test_onlyOnRamp_Success() (gas: 49238)
TokenPool_removeRemotePool:test_InvalidRemotePoolForChain_Revert() (gas: 17882)
TokenPool_removeRemotePool:test_NonExistentChain_Revert() (gas: 14299)
TokenPool_removeRemotePool:test_removeRemotePool_Success() (gas: 136499)
TokenPool_removeRemotePool:test_removeRemotePool_Success() (gas: 237756)
TokenPool_setChainRateLimiterConfig:test_NonExistentChain_Revert() (gas: 17169)
TokenPool_setChainRateLimiterConfig:test_OnlyOwnerOrRateLimitAdmin_Revert() (gas: 15262)
TokenPool_setRateLimitAdmin:test_SetRateLimitAdmin_Revert() (gas: 11024)
Expand Down
12 changes: 6 additions & 6 deletions contracts/gas-snapshots/liquiditymanager.gas-snapshot
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ LiquidityManager_addLiquidity:test_addLiquiditySuccess() (gas: 279198)
LiquidityManager_rebalanceLiquidity:test_InsufficientLiquidityReverts() (gas: 206764)
LiquidityManager_rebalanceLiquidity:test_InvalidRemoteChainReverts() (gas: 192374)
LiquidityManager_rebalanceLiquidity:test_rebalanceBetweenPoolsSuccess() (gas: 9141798)
LiquidityManager_rebalanceLiquidity:test_rebalanceBetweenPoolsSuccess_AlreadyFinalized() (gas: 8942122)
LiquidityManager_rebalanceLiquidity:test_rebalanceBetweenPools_MultiStageFinalization() (gas: 8937262)
LiquidityManager_rebalanceLiquidity:test_rebalanceBetweenPools_NativeRewrap() (gas: 8865000)
LiquidityManager_rebalanceLiquidity:test_rebalanceLiquiditySuccess() (gas: 382946)
LiquidityManager_rebalanceLiquidity:test_rebalanceBetweenPoolsSuccess_AlreadyFinalized() (gas: 9325003)
LiquidityManager_rebalanceLiquidity:test_rebalanceBetweenPools_MultiStageFinalization() (gas: 9320143)
LiquidityManager_rebalanceLiquidity:test_rebalanceBetweenPools_NativeRewrap() (gas: 9247881)
LiquidityManager_rebalanceLiquidity:test_rebalanceLiquiditySuccess() (gas: 382928)
LiquidityManager_receive:test_receive_success() (gas: 21182)
LiquidityManager_removeLiquidity:test_InsufficientLiquidityReverts() (gas: 184959)
LiquidityManager_removeLiquidity:test_OnlyFinanceRoleReverts() (gas: 10872)
LiquidityManager_removeLiquidity:test_removeLiquiditySuccess() (gas: 236379)
LiquidityManager_removeLiquidity:test_removeLiquiditySuccess() (gas: 236361)
LiquidityManager_setCrossChainRebalancer:test_OnlyOwnerReverts() (gas: 17005)
LiquidityManager_setCrossChainRebalancer:test_ZeroAddressReverts() (gas: 21669)
LiquidityManager_setCrossChainRebalancer:test_ZeroChainSelectorReverts() (gas: 13099)
Expand All @@ -19,7 +19,7 @@ LiquidityManager_setFinanceRole:test_OnlyOwnerReverts() (gas: 10987)
LiquidityManager_setFinanceRole:test_setFinanceRoleSuccess() (gas: 21836)
LiquidityManager_setLocalLiquidityContainer:test_OnlyOwnerReverts() (gas: 11030)
LiquidityManager_setLocalLiquidityContainer:test_ReverstWhen_CalledWithTheZeroAddress() (gas: 10621)
LiquidityManager_setLocalLiquidityContainer:test_setLocalLiquidityContainerSuccess() (gas: 3479905)
LiquidityManager_setLocalLiquidityContainer:test_setLocalLiquidityContainerSuccess() (gas: 3862893)
LiquidityManager_setMinimumLiquidity:test_OnlyOwnerReverts() (gas: 10925)
LiquidityManager_setMinimumLiquidity:test_setMinimumLiquiditySuccess() (gas: 36389)
LiquidityManager_withdrawERC20:test_withdrawERC20Reverts() (gas: 180396)
Expand Down
8 changes: 3 additions & 5 deletions contracts/src/v0.8/ccip/pools/TokenPool.sol
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ abstract contract TokenPool is IPoolV1, Ownable2StepMsgSender {
RateLimiter.Config inboundRateLimiterConfig
);
event ChainRemoved(uint64 remoteChainSelector);
event RemotePoolSet(uint64 indexed remoteChainSelector, bytes remotePoolAddress, bytes32 remotePairHash);
event RemotePoolAdded(uint64 indexed remoteChainSelector, bytes remotePoolAddress, bytes32 remotePairHash);
event RemotePoolRemoved(uint64 indexed remoteChainSelector, bytes remotePoolAddress, bytes32 remotePairHash);
event AllowListAdd(address sender);
event AllowListRemove(address sender);
Expand All @@ -74,8 +74,6 @@ abstract contract TokenPool is IPoolV1, Ownable2StepMsgSender {
bytes[] remotePoolAddresses; // List of remote pool addresses, ABI encoded in the case of a remote EVM chain.
}

bytes32 private constant EMPTY_ENCODED_ADDRESS_HASH = keccak256(abi.encode(address(0)));

/// @dev The bridgeable token that is managed by this pool. Pools could support multiple tokens at the same time if
/// required, but this implementation only supports one token.
IERC20 internal immutable i_token;
Expand Down Expand Up @@ -243,7 +241,7 @@ abstract contract TokenPool is IPoolV1, Ownable2StepMsgSender {
function addRemotePool(uint64 remoteChainSelector, bytes calldata remotePoolAddress) external onlyOwner {
if (!isSupportedChain(remoteChainSelector)) revert NonExistentChain(remoteChainSelector);

if (keccak256(remotePoolAddress) == EMPTY_ENCODED_ADDRESS_HASH || remotePoolAddress.length == 0) {
if (remotePoolAddress.length == 0) {
revert ZeroAddressNotAllowed();
}

Expand All @@ -258,7 +256,7 @@ abstract contract TokenPool is IPoolV1, Ownable2StepMsgSender {
// here without checking if it's already in the list.
s_remoteChainConfigs[remoteChainSelector].remotePoolAddresses.push(remotePoolAddress);

emit RemotePoolSet(remoteChainSelector, remotePoolAddress, remotePairHash);
emit RemotePoolAdded(remoteChainSelector, remotePoolAddress, remotePairHash);
}

/// @notice Removes the remote pool address for a given chain selector.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ contract TokenPool_addRemotePool is TokenPoolSetup {
vm.startPrank(OWNER);

vm.expectEmit();
emit TokenPool.RemotePoolSet(DEST_CHAIN_SELECTOR, remotePool, remotePairHash);
emit TokenPool.RemotePoolAdded(DEST_CHAIN_SELECTOR, remotePool, remotePairHash);

s_tokenPool.addRemotePool(DEST_CHAIN_SELECTOR, remotePool);

Expand Down Expand Up @@ -113,14 +113,6 @@ contract TokenPool_addRemotePool is TokenPoolSetup {
s_tokenPool.addRemotePool(chainSelector, remotePool);
}

function test_ZeroAddressNotAllowed_Revert() public {
bytes memory remotePool = abi.encode(address(0));

vm.expectRevert(abi.encodeWithSelector(TokenPool.ZeroAddressNotAllowed.selector));

s_tokenPool.addRemotePool(DEST_CHAIN_SELECTOR, remotePool);
}

function test_ZeroLengthAddressNotAllowed_Revert() public {
bytes memory remotePool = "";

Expand All @@ -137,7 +129,7 @@ contract TokenPool_addRemotePool is TokenPoolSetup {
bytes32 remotePairHash = keccak256(abi.encode(chainSelector, remotePool));

vm.expectEmit();
emit TokenPool.RemotePoolSet(chainSelector, remotePool, remotePairHash);
emit TokenPool.RemotePoolAdded(chainSelector, remotePool, remotePairHash);

s_tokenPool.addRemotePool(chainSelector, remotePool);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ contract TokenPool_removeRemotePool is TokenPoolSetup {
bytes32 remotePairHash = keccak256(abi.encode(chainSelector, remotePool));

vm.expectEmit();
emit TokenPool.RemotePoolSet(chainSelector, remotePool, remotePairHash);
emit TokenPool.RemotePoolAdded(chainSelector, remotePool, remotePairHash);

// Add the remote pool properly so that it can be removed
s_tokenPool.addRemotePool(chainSelector, remotePool);
Expand All @@ -27,6 +27,18 @@ contract TokenPool_removeRemotePool is TokenPoolSetup {
emit TokenPool.RemotePoolRemoved(chainSelector, remotePool, remotePairHash);

s_tokenPool.removeRemotePool(chainSelector, remotePool);

remotePools = s_tokenPool.getRemotePools(chainSelector);
assertEq(remotePools.length, 1);
assertEq(remotePools[0], abi.encode(s_initialRemotePool));

// Assert that it can be added after it has been removed
s_tokenPool.addRemotePool(chainSelector, remotePool);

remotePools = s_tokenPool.getRemotePools(chainSelector);
assertEq(remotePools.length, 2);
assertEq(remotePools[0], abi.encode(s_initialRemotePool));
assertEq(remotePools[1], remotePool);
}

// Reverts
Expand Down

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

98 changes: 49 additions & 49 deletions core/gethwrappers/ccip/generated/token_pool/token_pool.go

Large diffs are not rendered by default.

100 changes: 50 additions & 50 deletions core/gethwrappers/ccip/generated/usdc_token_pool/usdc_token_pool.go

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
GETH_VERSION: 1.14.11
burn_from_mint_token_pool: ../../../contracts/solc/v0.8.24/BurnFromMintTokenPool/BurnFromMintTokenPool.abi ../../../contracts/solc/v0.8.24/BurnFromMintTokenPool/BurnFromMintTokenPool.bin 34103631116e99a241d04179f9e60292aed4c0aa71d3d6995b4806c2922b0cbc
burn_mint_token_pool: ../../../contracts/solc/v0.8.24/BurnMintTokenPool/BurnMintTokenPool.abi ../../../contracts/solc/v0.8.24/BurnMintTokenPool/BurnMintTokenPool.bin 4a017839f32b7619d6fa533bb4b38699f02fa28c14b041cccfe36f0f81a2590b
burn_with_from_mint_token_pool: ../../../contracts/solc/v0.8.24/BurnWithFromMintTokenPool/BurnWithFromMintTokenPool.abi ../../../contracts/solc/v0.8.24/BurnWithFromMintTokenPool/BurnWithFromMintTokenPool.bin 7ce580297954584303c413526f6d09186e65e4fe6725460e7d90ade0c8283b8d
burn_from_mint_token_pool: ../../../contracts/solc/v0.8.24/BurnFromMintTokenPool/BurnFromMintTokenPool.abi ../../../contracts/solc/v0.8.24/BurnFromMintTokenPool/BurnFromMintTokenPool.bin ccb06f38dc5d560744f737e9d8e3ee9b4568bffdbeb2f6f3f2623981f2dd4dc2
burn_mint_token_pool: ../../../contracts/solc/v0.8.24/BurnMintTokenPool/BurnMintTokenPool.abi ../../../contracts/solc/v0.8.24/BurnMintTokenPool/BurnMintTokenPool.bin 2062a8d54163323b1dae402ba51051b6a68511475d38cfe7fc875c70b0cedd39
burn_with_from_mint_token_pool: ../../../contracts/solc/v0.8.24/BurnWithFromMintTokenPool/BurnWithFromMintTokenPool.abi ../../../contracts/solc/v0.8.24/BurnWithFromMintTokenPool/BurnWithFromMintTokenPool.bin cf820144181552580e764d0326b2cc629b5064781c4a75c8c0a15cc442774bc4
ccip_encoding_utils: ../../../contracts/solc/v0.8.24/ICCIPEncodingUtils/ICCIPEncodingUtils.abi ../../../contracts/solc/v0.8.24/ICCIPEncodingUtils/ICCIPEncodingUtils.bin 9971fc93c34442a0989570d3dab90a125de31e6e60754ad972807ce6ad4dfba0
ccip_home: ../../../contracts/solc/v0.8.24/CCIPHome/CCIPHome.abi ../../../contracts/solc/v0.8.24/CCIPHome/CCIPHome.bin 02cb75b4274a5be7f4006cf2b72cc09e77eb6dba4c1a9c720af86668ff8ea1df
ccip_reader_tester: ../../../contracts/solc/v0.8.24/CCIPReaderTester/CCIPReaderTester.abi ../../../contracts/solc/v0.8.24/CCIPReaderTester/CCIPReaderTester.bin 893c9930e874fe5235db24e28a22650c37f562da94fac93618566bcd84839fdc
ether_sender_receiver: ../../../contracts/solc/v0.8.24/EtherSenderReceiver/EtherSenderReceiver.abi ../../../contracts/solc/v0.8.24/EtherSenderReceiver/EtherSenderReceiver.bin 09510a3f773f108a3c231e8d202835c845ded862d071ec54c4f89c12d868b8de
fee_quoter: ../../../contracts/solc/v0.8.24/FeeQuoter/FeeQuoter.abi ../../../contracts/solc/v0.8.24/FeeQuoter/FeeQuoter.bin 8a0869d14bb5247fbc6d836fc20d123358373ed688e0d3b387d59e7d05496fea
lock_release_token_pool: ../../../contracts/solc/v0.8.24/LockReleaseTokenPool/LockReleaseTokenPool.abi ../../../contracts/solc/v0.8.24/LockReleaseTokenPool/LockReleaseTokenPool.bin 0ed39a23758461df3f378585e441d0ddb89d6ba3e7f2349cc598bbf77ae68592
lock_release_token_pool: ../../../contracts/solc/v0.8.24/LockReleaseTokenPool/LockReleaseTokenPool.abi ../../../contracts/solc/v0.8.24/LockReleaseTokenPool/LockReleaseTokenPool.bin 3dc9409f665fc25957a106a9d7e0786b260fc00229ce8a600a20cdf9e18e181e
maybe_revert_message_receiver: ../../../contracts/solc/v0.8.24/MaybeRevertMessageReceiver/MaybeRevertMessageReceiver.abi ../../../contracts/solc/v0.8.24/MaybeRevertMessageReceiver/MaybeRevertMessageReceiver.bin d73956c26232ebcc4a5444429fa99cbefed960e323be9b5a24925885c2e477d5
message_hasher: ../../../contracts/solc/v0.8.24/MessageHasher/MessageHasher.abi ../../../contracts/solc/v0.8.24/MessageHasher/MessageHasher.bin ec2d3a92348d8e7b8f0d359b62a45157b9d2c750c01fbcf991826c4392f6e218
mock_usdc_token_messenger: ../../../contracts/solc/v0.8.24/MockE2EUSDCTokenMessenger/MockE2EUSDCTokenMessenger.abi ../../../contracts/solc/v0.8.24/MockE2EUSDCTokenMessenger/MockE2EUSDCTokenMessenger.bin d976651d36b33ac2196b32b9d2f4fa6690c6a18d41b621365659fce1c1d1e737
Expand All @@ -26,7 +26,7 @@ rmn_proxy_contract: ../../../contracts/solc/v0.8.24/ARMProxy/ARMProxy.abi ../../
rmn_remote: ../../../contracts/solc/v0.8.24/RMNRemote/RMNRemote.abi ../../../contracts/solc/v0.8.24/RMNRemote/RMNRemote.bin faee0b0cdbe67f2e28deccf12acd4df13dd90992f6cbc0ba17bab845b8f4eb1c
router: ../../../contracts/solc/v0.8.24/Router/Router.abi ../../../contracts/solc/v0.8.24/Router/Router.bin 2e4f0a7826c8abb49d882bb49fc5ff20a186dbd3137624b9097ffed903ae4888
token_admin_registry: ../../../contracts/solc/v0.8.24/TokenAdminRegistry/TokenAdminRegistry.abi ../../../contracts/solc/v0.8.24/TokenAdminRegistry/TokenAdminRegistry.bin 397bc7be08c2848c0f4715f90b16206d6367f78ffb7cd48e2b1dfc0ccc5aea26
token_pool: ../../../contracts/solc/v0.8.24/TokenPool/TokenPool.abi ../../../contracts/solc/v0.8.24/TokenPool/TokenPool.bin 63270e1e9aa9147ad09633a455f44dce50c124dd71804226a90a2408ca74f204
token_pool: ../../../contracts/solc/v0.8.24/TokenPool/TokenPool.abi ../../../contracts/solc/v0.8.24/TokenPool/TokenPool.bin 897fcef0f4c26042514f485f565a44455fdf95204ee04927ca10877ffb68456e
usdc_reader_tester: ../../../contracts/solc/v0.8.24/USDCReaderTester/USDCReaderTester.abi ../../../contracts/solc/v0.8.24/USDCReaderTester/USDCReaderTester.bin 672a07c9218fd6ad7c04dde583088b0f5ffc8d55a46f4be1714008dd3409438b
usdc_token_pool: ../../../contracts/solc/v0.8.24/USDCTokenPool/USDCTokenPool.abi ../../../contracts/solc/v0.8.24/USDCTokenPool/USDCTokenPool.bin 26ad6b7379f890be863ece76fb98f26d357d8b46ffad659959001ad63c06dec3
usdc_token_pool: ../../../contracts/solc/v0.8.24/USDCTokenPool/USDCTokenPool.abi ../../../contracts/solc/v0.8.24/USDCTokenPool/USDCTokenPool.bin 1a9a5ead8b2c2b0888130ff43abc77c24047b983c40e42d3253d84a4acc09518
weth9: ../../../contracts/solc/v0.8.24/WETH9/WETH9.abi ../../../contracts/solc/v0.8.24/WETH9/WETH9.bin 2970d79a0ca6dd6279cde130de45e56c8790ed695eae477fb5ba4c1bb75b720d

0 comments on commit d30185d

Please sign in to comment.