Skip to content

Commit 88f0f2c

Browse files
feat: e2e test abstracted a bit + no need to define on/off ramps
1 parent fc3c5b0 commit 88f0f2c

File tree

7 files changed

+303
-543
lines changed

7 files changed

+303
-543
lines changed

src/20250519_Multi_GHOAvalancheLaunch/abstraction/tests/AaveV3GHOLaneTest.sol

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,13 +132,26 @@ abstract contract AaveV3GHOLaneTest is ProtocolV3TestBase {
132132
function _getOffRamp(uint64 chainSelector) internal view virtual returns (address) {
133133
IRouter.OffRamp[] memory offRamps = LOCAL_CCIP_ROUTER.getOffRamps();
134134
for (uint256 i = 0; i < offRamps.length; i++) {
135-
if (offRamps[i].sourceChainSelector == chainSelector) {
135+
if (
136+
offRamps[i].sourceChainSelector == chainSelector &&
137+
_hasOffRampExpectedVersion(offRamps[i].offRamp)
138+
) {
136139
return offRamps[i].offRamp;
137140
}
138141
}
139142
return address(0);
140143
}
141144

145+
function _offRampExpectedVersion() internal view virtual returns (string memory) {
146+
return 'EVM2EVMOffRamp 1.5.0';
147+
}
148+
149+
function _hasOffRampExpectedVersion(address offRamp) internal view virtual returns (bool) {
150+
return
151+
keccak256(bytes(IEVM2EVMOffRamp_1_5(offRamp).typeAndVersion())) ==
152+
keccak256(bytes(_offRampExpectedVersion()));
153+
}
154+
142155
function setUp() public virtual {
143156
vm.createSelectFork(vm.rpcUrl(forkRpcAlias), FORK_BLOCK_NUMBER);
144157
proposal = _deployAaveV3GHOLaneProposal();

src/20250519_Multi_GHOAvalancheLaunch/abstraction/tests/AaveV3GHORemoteLaneTest.sol

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -239,13 +239,10 @@ abstract contract AaveV3GHORemoteLaneTest_PostExecution is AaveV3GHOLaneTest {
239239
uint256 amount = 100e18;
240240
skip(_getInboundRefillTime(amount));
241241

242-
vm.prank(address(_localInboundLaneFromRemote()));
243-
vm.expectRevert(
244-
abi.encodeWithSelector(
245-
CallerIsNotARampOnRouter.selector,
246-
address(_localInboundLaneFromRemote())
247-
)
248-
);
242+
address offRamp = address(_localInboundLaneFromRemote());
243+
244+
vm.prank(offRamp);
245+
vm.expectRevert(abi.encodeWithSelector(CallerIsNotARampOnRouter.selector, offRamp));
249246
LOCAL_TOKEN_POOL.releaseOrMint(
250247
IPool_CCIP.ReleaseOrMintInV1({
251248
originalSender: abi.encode(alice),

src/20250519_Multi_GHOAvalancheLaunch/tests/AaveV3Avalanche_GHOAvalancheLaunch_20250519.t.sol

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import {GhoCCIPChains} from '../abstraction/constants/GhoCCIPChains.sol';
66
import {AaveV3GHOLane} from '../abstraction/AaveV3GHOLane.sol';
77
import {AaveV3Avalanche_GHOAvalancheLaunch_20250519} from '../AaveV3Avalanche_GHOAvalancheLaunch_20250519.sol';
88
import {AaveV3GHOLaunchTest_PostExecution, AaveV3GHOLaunchTest_PreExecution} from '../abstraction/tests/AaveV3GHOLaunchTest.sol';
9-
import {IEVM2EVMOffRamp_1_5} from 'src/interfaces/ccip/IEVM2EVMOffRamp.sol';
109

1110
/**
1211
* command: FOUNDRY_PROFILE=test forge test --match-path=src/20250519_Multi_GHOAvalancheLaunch/tests/AaveV3Avalanche_GHOAvalancheLaunch_20250519_PreExecution.t.sol -vv
@@ -88,22 +87,6 @@ contract AaveV3Avalanche_GHOAvalanceLaunch_20250519_PostExecution is
8887
return chains;
8988
}
9089

91-
// Local Chain's inbound lane from Ethereum (OffRamp address)
92-
function _localInboundLaneFromEth() internal view virtual override returns (IEVM2EVMOffRamp_1_5) {
93-
return IEVM2EVMOffRamp_1_5(GHOAvalancheLaunch.ARB_ETH_OFF_RAMP);
94-
}
95-
96-
// Local Chain's inbound lane from Remote Chain (OffRamp address)
97-
function _localInboundLaneFromRemote()
98-
internal
99-
view
100-
virtual
101-
override
102-
returns (IEVM2EVMOffRamp_1_5)
103-
{
104-
return IEVM2EVMOffRamp_1_5(GHOAvalancheLaunch.ARB_AVAX_OFF_RAMP);
105-
}
106-
10790
// Can be improved
10891
function _validateConstants() internal view virtual override {
10992
assertEq(LOCAL_TOKEN_ADMIN_REGISTRY.typeAndVersion(), 'TokenAdminRegistry 1.5.0');

0 commit comments

Comments
 (0)