Skip to content

Commit

Permalink
Add testnets for forked tests
Browse files Browse the repository at this point in the history
  • Loading branch information
wirew0lf committed Mar 13, 2024
1 parent 9d1f9e2 commit 37c9de1
Show file tree
Hide file tree
Showing 3 changed files with 85 additions and 25 deletions.
12 changes: 12 additions & 0 deletions CCTPRelayer/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
RPC_MAINNET=""
RPC_AVALANCHE=""
RPC_OP=""
RPC_ARBITRUM=""
RPC_BASE=""
RPC_POLYGON=""
RPC_TESTNET=""
RPC_AVALANCHE_TESTNET=""
RPC_OP_TESTNET=""
RPC_ARBITRUM_TESTNET=""
RPC_BASE_TESTNET=""
RPC_POLYGON_TESTNET=""
34 changes: 17 additions & 17 deletions CCTPRelayer/script/Config.sol
Original file line number Diff line number Diff line change
Expand Up @@ -45,25 +45,25 @@ uint256 constant CHAIN_BASE_SEPOLIA = 84532;
uint256 constant CHAIN_POLYGON_MUMBAI = 80001;

// USDC
address constant USDC_SEPOLIA = 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48;
address constant USDC_AVALANCHE_FUJI = 0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E;
address constant USDC_OP_SEPOLIA = 0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85;
address constant USDC_ARBITRUM_SEPOLIA = 0xaf88d065e77c8cC2239327C5EDb3A432268e5831;
address constant USDC_BASE_SEPOLIA = 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913;
address constant USDC_POLYGON_MUMBAI = 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359;
address constant USDC_SEPOLIA = 0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238;
address constant USDC_AVALANCHE_FUJI = 0x5425890298aed601595a70AB815c96711a31Bc65;
address constant USDC_OP_SEPOLIA = 0x5fd84259d66Cd46123540766Be93DFE6D43130D7;
address constant USDC_ARBITRUM_SEPOLIA = 0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d;
address constant USDC_BASE_SEPOLIA = 0x036CbD53842c5426634e7929541eC2318f3dCF7e;
address constant USDC_POLYGON_MUMBAI = 0x9999f7Fea5938fD3b1E26A12c3f2fb024e194f97;

// TokenMessenger
address constant MESSENGER_SEPOLIA = 0xBd3fa81B58Ba92a82136038B25aDec7066af3155;
address constant MESSENGER_AVALANCHE_FUJI = 0x6B25532e1060CE10cc3B0A99e5683b91BFDe6982;
address constant MESSENGER_OP_SEPOLIA = 0x2B4069517957735bE00ceE0fadAE88a26365528f;
address constant MESSENGER_ARBITRUM_SEPOLIA = 0x19330d10D9Cc8751218eaf51E8885D058642E08A;
address constant MESSENGER_BASE_SEPOLIA = 0x1682Ae6375C4E4A97e4B583BC394c861A46D8962;
address constant MESSENGER_SEPOLIA = 0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5;
address constant MESSENGER_AVALANCHE_FUJI = 0xeb08f243E5d3FCFF26A9E38Ae5520A669f4019d0;
address constant MESSENGER_OP_SEPOLIA = 0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5;
address constant MESSENGER_ARBITRUM_SEPOLIA = 0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5;
address constant MESSENGER_BASE_SEPOLIA = 0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5;
address constant MESSENGER_POLYGON_MUMBAI = 0x9f3B8679c73C2Fef8b59B4f3444d4e156fb70AA5;

// MessageTransmitter
address constant TRANSMITTER_SEPOLIA = 0x0a992d191DEeC32aFe36203Ad87D7d289a738F81;
address constant TRANSMITTER_AVALANCHE_FUJI = 0x8186359aF5F57FbB40c6b14A588d2A59C0C29880;
address constant TRANSMITTER_OP_SEPOLIA = 0x4D41f22c5a0e5c74090899E5a8Fb597a8842b3e8;
address constant TRANSMITTER_ARBITRUM_SEPOLIA = 0xC30362313FBBA5cf9163F0bb16a0e01f01A896ca;
address constant TRANSMITTER_BASE_SEPOLIA = 0xAD09780d193884d503182aD4588450C416D6F9D4;
address constant TRANSMITTER_POLYGON_MUMBAI = 0xF3be9355363857F3e001be68856A2f96b4C39Ba9;
address constant TRANSMITTER_SEPOLIA = 0x7865fAfC2db2093669d92c0F33AeEF291086BEFD;
address constant TRANSMITTER_AVALANCHE_FUJI = 0xa9fB1b3009DCb79E2fe346c16a604B8Fa8aE0a79;
address constant TRANSMITTER_OP_SEPOLIA = 0x7865fAfC2db2093669d92c0F33AeEF291086BEFD;
address constant TRANSMITTER_ARBITRUM_SEPOLIA = 0xaCF1ceeF35caAc005e15888dDb8A3515C41B4872;
address constant TRANSMITTER_BASE_SEPOLIA = 0x7865fAfC2db2093669d92c0F33AeEF291086BEFD;
address constant TRANSMITTER_POLYGON_MUMBAI = 0xe09A679F56207EF33F5b9d8fb4499Ec00792eA73;
64 changes: 56 additions & 8 deletions CCTPRelayer/test/CCTPRelayer.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -30,47 +30,89 @@ contract CCTPRelayerTest is Test {
mapping(uint256 => IMessageTransmitter) public transmitters;

function setUp() public {
uint256 id = vm.createSelectFork(vm.envString("RPC_MAINNET"), 19421470);
uint256 id = vm.createSelectFork(vm.envString("RPC_MAINNET"));
usdcs[id] = IERC20(USDC_MAINNET);
messengers[id] = ITokenMessenger(MESSENGER_MAINNET);
transmitters[id] = IMessageTransmitter(TRANSMITTER_MAINNET);
_deploy(id);
forks.push(id);

id = vm.createSelectFork(vm.envString("RPC_AVALANCHE"), 42820450);
id = vm.createSelectFork(vm.envString("RPC_AVALANCHE"));
usdcs[id] = IERC20(USDC_AVALANCHE);
messengers[id] = ITokenMessenger(MESSENGER_AVALANCHE);
transmitters[id] = IMessageTransmitter(TRANSMITTER_AVALANCHE);
_deploy(id);
forks.push(id);

id = vm.createSelectFork(vm.envString("RPC_OP"), 117339078);
id = vm.createSelectFork(vm.envString("RPC_OP"));
usdcs[id] = IERC20(USDC_OP);
messengers[id] = ITokenMessenger(MESSENGER_OP);
transmitters[id] = IMessageTransmitter(TRANSMITTER_OP);
_deploy(id);
forks.push(id);

id = vm.createSelectFork(vm.envString("RPC_ARBITRUM"), 189738155);
id = vm.createSelectFork(vm.envString("RPC_ARBITRUM"));
usdcs[id] = IERC20(USDC_ARBITRUM);
messengers[id] = ITokenMessenger(MESSENGER_ARBITRUM);
transmitters[id] = IMessageTransmitter(TRANSMITTER_ARBITRUM);
_deploy(id);
forks.push(id);

id = vm.createSelectFork(vm.envString("RPC_BASE"), 11743812);
id = vm.createSelectFork(vm.envString("RPC_BASE"));
usdcs[id] = IERC20(USDC_BASE);
messengers[id] = ITokenMessenger(MESSENGER_BASE);
transmitters[id] = IMessageTransmitter(TRANSMITTER_BASE);
_deploy(id);
forks.push(id);

id = vm.createSelectFork(vm.envString("RPC_POLYGON"), 54583257);
id = vm.createSelectFork(vm.envString("RPC_POLYGON"));
usdcs[id] = IERC20(USDC_POLYGON);
messengers[id] = ITokenMessenger(MESSENGER_POLYGON);
transmitters[id] = IMessageTransmitter(TRANSMITTER_POLYGON);
_deploy(id);
forks.push(id);

id = vm.createSelectFork(vm.envString("RPC_TESTNET"));
usdcs[id] = IERC20(USDC_SEPOLIA);
messengers[id] = ITokenMessenger(MESSENGER_SEPOLIA);
transmitters[id] = IMessageTransmitter(TRANSMITTER_SEPOLIA);
_deploy(id);
forks.push(id);

id = vm.createSelectFork(vm.envString("RPC_AVALANCHE_TESTNET"));
usdcs[id] = IERC20(USDC_AVALANCHE_FUJI);
messengers[id] = ITokenMessenger(MESSENGER_AVALANCHE_FUJI);
transmitters[id] = IMessageTransmitter(TRANSMITTER_AVALANCHE_FUJI);
_deploy(id);
forks.push(id);

id = vm.createSelectFork(vm.envString("RPC_OP_TESTNET"));
usdcs[id] = IERC20(USDC_OP_SEPOLIA);
messengers[id] = ITokenMessenger(MESSENGER_OP_SEPOLIA);
transmitters[id] = IMessageTransmitter(TRANSMITTER_OP_SEPOLIA);
_deploy(id);
forks.push(id);

id = vm.createSelectFork(vm.envString("RPC_ARBITRUM_TESTNET"));
usdcs[id] = IERC20(USDC_ARBITRUM_SEPOLIA);
messengers[id] = ITokenMessenger(MESSENGER_ARBITRUM_SEPOLIA);
transmitters[id] = IMessageTransmitter(TRANSMITTER_ARBITRUM_SEPOLIA);
_deploy(id);
forks.push(id);

id = vm.createSelectFork(vm.envString("RPC_BASE_TESTNET"));
usdcs[id] = IERC20(USDC_BASE_SEPOLIA);
messengers[id] = ITokenMessenger(MESSENGER_BASE_SEPOLIA);
transmitters[id] = IMessageTransmitter(TRANSMITTER_BASE_SEPOLIA);
_deploy(id);
forks.push(id);

id = vm.createSelectFork(vm.envString("RPC_POLYGON_TESTNET"));
usdcs[id] = IERC20(USDC_POLYGON_MUMBAI);
messengers[id] = ITokenMessenger(MESSENGER_POLYGON_MUMBAI);
transmitters[id] = IMessageTransmitter(TRANSMITTER_POLYGON_MUMBAI);
_deploy(id);
forks.push(id);
}

function test_Fuzz_makePaymentForRelay(uint64 nonce, uint256 amount) public {
Expand All @@ -86,11 +128,17 @@ contract CCTPRelayerTest is Test {
function test_requestCCTPTransfer() public {
uint256 length = forks.length;

uint32[6] memory domains = [uint32(0), 1, 2, 3, 6, 7];
uint32[6] memory domains = [uint32(7), 6, 3, 2, 1, 0];

for (uint256 i; i < length; ++i) {
uint32 domain;
if (i < 6) {
domain = domains[i];
} else {
domain = domains[i - 6];
}
_switchFork(forks[i]);
_requestCCTPTransfer(domains[5 - i]);
_requestCCTPTransfer(domain);
}
}

Expand Down

0 comments on commit 37c9de1

Please sign in to comment.