@@ -52,7 +52,6 @@ contract AaveV3Avalanche_GHOAvalancheLaunch_20250519_Base is ProtocolV3TestBase
5252 uint64 internal constant AVAX_CHAIN_SELECTOR = GHOAvalancheLaunch.AVAX_CHAIN_SELECTOR;
5353 uint64 internal constant ETH_CHAIN_SELECTOR = GHOAvalancheLaunch.ETH_CHAIN_SELECTOR;
5454 uint64 internal constant BASE_CHAIN_SELECTOR = GHOAvalancheLaunch.BASE_CHAIN_SELECTOR;
55- uint64 internal constant GNO_CHAIN_SELECTOR = GHOAvalancheLaunch.GNO_CHAIN_SELECTOR;
5655 uint128 public constant CCIP_BUCKET_CAPACITY = GHOAvalancheLaunch.CCIP_BUCKET_CAPACITY;
5756 uint128 public constant CCIP_RATE_LIMIT_CAPACITY = GHOAvalancheLaunch.CCIP_RATE_LIMIT_CAPACITY;
5857 uint128 public constant CCIP_RATE_LIMIT_REFILL_RATE =
@@ -66,16 +65,13 @@ contract AaveV3Avalanche_GHOAvalancheLaunch_20250519_Base is ProtocolV3TestBase
6665 IEVM2EVMOnRamp (GHOAvalancheLaunch.AVAX_ETH_ON_RAMP);
6766 IEVM2EVMOnRamp internal constant BASE_ON_RAMP =
6867 IEVM2EVMOnRamp (GHOAvalancheLaunch.AVAX_BASE_ON_RAMP);
69- IEVM2EVMOnRamp internal constant GNO_ON_RAMP =
70- IEVM2EVMOnRamp (GHOAvalancheLaunch.AVAX_GNO_ON_RAMP);
7168 IEVM2EVMOffRamp_1_5 internal constant ARB_OFF_RAMP =
7269 IEVM2EVMOffRamp_1_5 (GHOAvalancheLaunch.AVAX_ARB_OFF_RAMP);
7370 IEVM2EVMOffRamp_1_5 internal constant ETH_OFF_RAMP =
7471 IEVM2EVMOffRamp_1_5 (GHOAvalancheLaunch.AVAX_ETH_OFF_RAMP);
7572 IEVM2EVMOffRamp_1_5 internal constant BASE_OFF_RAMP =
7673 IEVM2EVMOffRamp_1_5 (GHOAvalancheLaunch.AVAX_BASE_OFF_RAMP);
77- IEVM2EVMOffRamp_1_5 internal constant GNO_OFF_RAMP =
78- IEVM2EVMOffRamp_1_5 (GHOAvalancheLaunch.AVAX_GNO_OFF_RAMP);
74+
7975 IRouter internal constant ROUTER = IRouter (GHOAvalancheLaunch.AVAX_CCIP_ROUTER);
8076 address internal constant RMN_PROXY = GHOAvalancheLaunch.AVAX_RMN_PROXY;
8177
@@ -93,7 +89,6 @@ contract AaveV3Avalanche_GHOAvalancheLaunch_20250519_Base is ProtocolV3TestBase
9389 address internal constant NEW_REMOTE_POOL_ARB = GhoArbitrum.GHO_CCIP_TOKEN_POOL;
9490 address internal constant NEW_REMOTE_POOL_ETH = GhoEthereum.GHO_CCIP_TOKEN_POOL;
9591 address internal constant NEW_REMOTE_POOL_BASE = GhoBase.GHO_CCIP_TOKEN_POOL;
96- address internal constant NEW_REMOTE_POOL_GNO = GHOAvalancheLaunch.GNO_GHO_CCIP_TOKEN_POOL;
9792
9893 AaveV3Avalanche_GHOAvalancheLaunch_20250519 internal proposal;
9994
@@ -119,7 +114,6 @@ contract AaveV3Avalanche_GHOAvalancheLaunch_20250519_Base is ProtocolV3TestBase
119114 assertEq (proposal.ETH_CHAIN_SELECTOR (), ETH_CHAIN_SELECTOR);
120115 assertEq (proposal.ARB_CHAIN_SELECTOR (), ARB_CHAIN_SELECTOR);
121116 assertEq (proposal.BASE_CHAIN_SELECTOR (), BASE_CHAIN_SELECTOR);
122- assertEq (proposal.GNO_CHAIN_SELECTOR (), GNO_CHAIN_SELECTOR);
123117 assertEq (proposal.CCIP_BUCKET_CAPACITY (), CCIP_BUCKET_CAPACITY);
124118 assertEq (address (proposal.TOKEN_ADMIN_REGISTRY ()), address (TOKEN_ADMIN_REGISTRY));
125119 assertEq (address (proposal.TOKEN_POOL ()), address (NEW_TOKEN_POOL));
@@ -130,7 +124,6 @@ contract AaveV3Avalanche_GHOAvalancheLaunch_20250519_Base is ProtocolV3TestBase
130124 assertEq (proposal.REMOTE_TOKEN_POOL_ARB (), NEW_REMOTE_POOL_ARB);
131125 assertEq (proposal.REMOTE_TOKEN_POOL_ETH (), NEW_REMOTE_POOL_ETH);
132126 assertEq (proposal.REMOTE_TOKEN_POOL_BASE (), NEW_REMOTE_POOL_BASE);
133- assertEq (proposal.REMOTE_TOKEN_POOL_GNO (), NEW_REMOTE_POOL_GNO);
134127 assertEq (proposal.CCIP_RATE_LIMIT_CAPACITY (), CCIP_RATE_LIMIT_CAPACITY);
135128 assertEq (proposal.CCIP_RATE_LIMIT_REFILL_RATE (), CCIP_RATE_LIMIT_REFILL_RATE);
136129
@@ -141,11 +134,9 @@ contract AaveV3Avalanche_GHOAvalancheLaunch_20250519_Base is ProtocolV3TestBase
141134 _assertOnRamp (ARB_ON_RAMP, AVAX_CHAIN_SELECTOR, ARB_CHAIN_SELECTOR, ROUTER);
142135 _assertOnRamp (ETH_ON_RAMP, AVAX_CHAIN_SELECTOR, ETH_CHAIN_SELECTOR, ROUTER);
143136 _assertOnRamp (BASE_ON_RAMP, AVAX_CHAIN_SELECTOR, BASE_CHAIN_SELECTOR, ROUTER);
144- _assertOnRamp (GNO_ON_RAMP, AVAX_CHAIN_SELECTOR, GNO_CHAIN_SELECTOR, ROUTER);
145137 _assertOffRamp (ARB_OFF_RAMP, ARB_CHAIN_SELECTOR, AVAX_CHAIN_SELECTOR, ROUTER);
146138 _assertOffRamp (ETH_OFF_RAMP, ETH_CHAIN_SELECTOR, AVAX_CHAIN_SELECTOR, ROUTER);
147139 _assertOffRamp (BASE_OFF_RAMP, BASE_CHAIN_SELECTOR, AVAX_CHAIN_SELECTOR, ROUTER);
148- _assertOffRamp (GNO_OFF_RAMP, GNO_CHAIN_SELECTOR, AVAX_CHAIN_SELECTOR, ROUTER);
149140
150141 assertEq (_getProxyAdmin (address (GHO_TOKEN)).UPGRADE_INTERFACE_VERSION (), '5.0.0 ' );
151142 assertEq (_getProxyAdmin (address (NEW_TOKEN_POOL)).UPGRADE_INTERFACE_VERSION (), '5.0.0 ' );
@@ -203,9 +194,7 @@ contract AaveV3Avalanche_GHOAvalancheLaunch_20250519_Base is ProtocolV3TestBase
203194 ? AaveV3ArbitrumAssets.GHO_UNDERLYING
204195 : params.destChainSelector == BASE_CHAIN_SELECTOR
205196 ? AaveV3BaseAssets.GHO_UNDERLYING
206- : params.destChainSelector == ETH_CHAIN_SELECTOR
207- ? AaveV3EthereumAssets.GHO_UNDERLYING
208- : GHOAvalancheLaunch.GNO_GHO_TOKEN
197+ : AaveV3EthereumAssets.GHO_UNDERLYING
209198 )
210199 })
211200 );
@@ -395,11 +384,10 @@ contract AaveV3Avalanche_GHOAvalancheLaunch_20250519_PreExecution is
395384 assertEq (abi.encode (NEW_TOKEN_POOL.getAllowList ()), abi.encode (new address [](0 )));
396385 assertEq (NEW_TOKEN_POOL.getRouter (), address (ROUTER));
397386
398- assertEq (NEW_TOKEN_POOL.getSupportedChains ().length , 4 );
387+ assertEq (NEW_TOKEN_POOL.getSupportedChains ().length , 3 );
399388 assertEq (NEW_TOKEN_POOL.getSupportedChains ()[0 ], ETH_CHAIN_SELECTOR);
400389 assertEq (NEW_TOKEN_POOL.getSupportedChains ()[1 ], ARB_CHAIN_SELECTOR);
401390 assertEq (NEW_TOKEN_POOL.getSupportedChains ()[2 ], BASE_CHAIN_SELECTOR);
402- assertEq (NEW_TOKEN_POOL.getSupportedChains ()[3 ], GNO_CHAIN_SELECTOR);
403391
404392 assertEq (
405393 NEW_TOKEN_POOL.getRemoteToken (ETH_CHAIN_SELECTOR),
@@ -413,10 +401,6 @@ contract AaveV3Avalanche_GHOAvalancheLaunch_20250519_PreExecution is
413401 NEW_TOKEN_POOL.getRemoteToken (BASE_CHAIN_SELECTOR),
414402 abi.encode (AaveV3BaseAssets.GHO_UNDERLYING)
415403 );
416- assertEq (
417- NEW_TOKEN_POOL.getRemoteToken (GNO_CHAIN_SELECTOR),
418- abi.encode (GHOAvalancheLaunch.GNO_GHO_TOKEN)
419- );
420404 assertEq (NEW_TOKEN_POOL.getRemotePools (ETH_CHAIN_SELECTOR).length , 1 );
421405 assertEq (NEW_TOKEN_POOL.getRemotePools (ETH_CHAIN_SELECTOR)[0 ], abi.encode (NEW_REMOTE_POOL_ETH));
422406 assertEq (NEW_TOKEN_POOL.getRemotePools (ARB_CHAIN_SELECTOR).length , 1 );
@@ -426,8 +410,6 @@ contract AaveV3Avalanche_GHOAvalancheLaunch_20250519_PreExecution is
426410 NEW_TOKEN_POOL.getRemotePools (BASE_CHAIN_SELECTOR)[0 ],
427411 abi.encode (NEW_REMOTE_POOL_BASE)
428412 );
429- assertEq (NEW_TOKEN_POOL.getRemotePools (GNO_CHAIN_SELECTOR).length , 1 );
430- assertEq (NEW_TOKEN_POOL.getRemotePools (GNO_CHAIN_SELECTOR)[0 ], abi.encode (NEW_REMOTE_POOL_GNO));
431413
432414 assertEq (
433415 NEW_TOKEN_POOL.getCurrentInboundRateLimiterState (ETH_CHAIN_SELECTOR),
@@ -453,14 +435,6 @@ contract AaveV3Avalanche_GHOAvalancheLaunch_20250519_PreExecution is
453435 NEW_TOKEN_POOL.getCurrentOutboundRateLimiterState (BASE_CHAIN_SELECTOR),
454436 _getRateLimiterConfig ()
455437 );
456- assertEq (
457- NEW_TOKEN_POOL.getCurrentInboundRateLimiterState (GNO_CHAIN_SELECTOR),
458- _getRateLimiterConfig ()
459- );
460- assertEq (
461- NEW_TOKEN_POOL.getCurrentOutboundRateLimiterState (GNO_CHAIN_SELECTOR),
462- _getRateLimiterConfig ()
463- );
464438 }
465439}
466440
@@ -570,38 +544,6 @@ contract AaveV3Avalance_GHOAvalanceLaunch_20250519_PostExecution is
570544 assertEq (GHO_TOKEN.getFacilitator (address (NEW_TOKEN_POOL)).bucketLevel, bucketLevel - amount);
571545 }
572546
573- function test_sendMessageToGnoSucceeds (uint256 amount ) public {
574- amount = bound (amount, 1 , CCIP_RATE_LIMIT_CAPACITY);
575- skip (_getOutboundRefillTime (amount)); // wait for the rate limiter to refill
576- // mock previously bridged amount
577- vm.prank (address (NEW_TOKEN_POOL));
578- GHO_TOKEN.mint (alice, amount); // increase bucket level
579-
580- vm.prank (alice);
581- GHO_TOKEN.approve (address (ROUTER), amount);
582-
583- uint256 aliceBalance = GHO_TOKEN.balanceOf (alice);
584- uint256 bucketLevel = GHO_TOKEN.getFacilitator (address (NEW_TOKEN_POOL)).bucketLevel;
585-
586- (
587- IClient.EVM2AnyMessage memory message ,
588- IInternal.EVM2EVMMessage memory eventArg
589- ) = _getTokenMessage (
590- CCIPSendParams ({amount: amount, sender: alice, destChainSelector: GNO_CHAIN_SELECTOR})
591- );
592-
593- vm.expectEmit (address (NEW_TOKEN_POOL));
594- emit Burned (address (GNO_ON_RAMP), amount);
595- vm.expectEmit (address (GNO_ON_RAMP));
596- emit CCIPSendRequested (eventArg);
597-
598- vm.prank (alice);
599- ROUTER.ccipSend {value: eventArg.feeTokenAmount}(GNO_CHAIN_SELECTOR, message);
600-
601- assertEq (GHO_TOKEN.balanceOf (alice), aliceBalance - amount);
602- assertEq (GHO_TOKEN.getFacilitator (address (NEW_TOKEN_POOL)).bucketLevel, bucketLevel - amount);
603- }
604-
605547 function test_offRampViaArbSucceeds (uint256 amount ) public {
606548 amount = bound (
607549 amount,
@@ -704,40 +646,6 @@ contract AaveV3Avalance_GHOAvalanceLaunch_20250519_PostExecution is
704646 assertEq (GHO_TOKEN.balanceOf (alice), aliceBalance + amount);
705647 }
706648
707- function test_offRampViaGnoSucceeds (uint256 amount ) public {
708- amount = bound (
709- amount,
710- 1 ,
711- _min (
712- GHO_TOKEN.getFacilitator (address (NEW_TOKEN_POOL)).bucketCapacity, // initially, bucketLevel == 0
713- CCIP_RATE_LIMIT_CAPACITY
714- )
715- );
716- skip (_getInboundRefillTime (amount)); // wait for the rate limiter to refill
717-
718- uint256 aliceBalance = GHO_TOKEN.balanceOf (alice);
719-
720- vm.expectEmit (address (NEW_TOKEN_POOL));
721- emit Minted (address (GNO_OFF_RAMP), alice, amount);
722-
723- vm.prank (address (GNO_OFF_RAMP));
724- NEW_TOKEN_POOL.releaseOrMint (
725- IPool_CCIP.ReleaseOrMintInV1 ({
726- originalSender: abi.encode (alice),
727- remoteChainSelector: GNO_CHAIN_SELECTOR,
728- receiver: alice,
729- amount: amount,
730- localToken: address (GHO_TOKEN),
731- sourcePoolAddress: abi.encode (address (NEW_REMOTE_POOL_GNO)),
732- sourcePoolData: new bytes (0 ),
733- offchainTokenData: new bytes (0 )
734- })
735- );
736-
737- assertEq (GHO_TOKEN.getFacilitator (address (NEW_TOKEN_POOL)).bucketLevel, amount);
738- assertEq (GHO_TOKEN.balanceOf (alice), aliceBalance + amount);
739- }
740-
741649 function test_cannotOffRampOtherChainMessages () public {
742650 uint256 amount = 100e18 ;
743651 skip (_getInboundRefillTime (amount));
0 commit comments