Skip to content

Commit 5b6e2dd

Browse files
Allow users to override rpc urls with an environment variable (#14)
* Add vm.envOr * Add setForkChains method * Return if testnet --------- Co-authored-by: Joe Howarth <[email protected]>
1 parent 858cf81 commit 5b6e2dd

File tree

1 file changed

+25
-16
lines changed

1 file changed

+25
-16
lines changed

src/testing/WormholeRelayerTest.sol

Lines changed: 25 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -188,39 +188,39 @@ abstract contract WormholeRelayerTest is Test {
188188
chainInfosTestnet[6] = ChainInfo({
189189
chainId: 6,
190190
name: "fuji - avalanche",
191-
url: "https://api.avax-test.network/ext/bc/C/rpc",
191+
url: vm.envOr("AVALANCHE_FUJI_RPC_URL", string("https://api.avax-test.network/ext/bc/C/rpc")),
192192
relayer: IWormholeRelayer(0xA3cF45939bD6260bcFe3D66bc73d60f19e49a8BB),
193193
tokenBridge: ITokenBridge(0x61E44E506Ca5659E6c0bba9b678586fA2d729756),
194194
wormhole: IWormhole(0x7bbcE28e64B3F8b84d876Ab298393c38ad7aac4C)
195195
});
196196
chainInfosTestnet[14] = ChainInfo({
197197
chainId: 14,
198198
name: "alfajores - celo",
199-
url: "https://alfajores-forno.celo-testnet.org",
199+
url: vm.envOr("CELO_TESTNET_RPC_URL", string("https://alfajores-forno.celo-testnet.org")),
200200
relayer: IWormholeRelayer(0x306B68267Deb7c5DfCDa3619E22E9Ca39C374f84),
201201
tokenBridge: ITokenBridge(0x05ca6037eC51F8b712eD2E6Fa72219FEaE74E153),
202202
wormhole: IWormhole(0x88505117CA88e7dd2eC6EA1E13f0948db2D50D56)
203203
});
204204
chainInfosTestnet[4] = ChainInfo({
205205
chainId: 4,
206206
name: "bsc testnet",
207-
url: "https://bsc-testnet.public.blastapi.io",
207+
url: vm.envOr("BSC_TESTNET_RPC_URL", string("https://bsc-testnet.public.blastapi.io")),
208208
relayer: IWormholeRelayer(0x80aC94316391752A193C1c47E27D382b507c93F3),
209209
tokenBridge: ITokenBridge(0x9dcF9D205C9De35334D646BeE44b2D2859712A09),
210210
wormhole: IWormhole(0x68605AD7b15c732a30b1BbC62BE8F2A509D74b4D)
211211
});
212212
chainInfosTestnet[5] = ChainInfo({
213213
chainId: 5,
214214
name: "polygon mumbai",
215-
url: "https://rpc.ankr.com/polygon_mumbai",
215+
url: vm.envOr("POLYGON_MUMBAI_RPC_URL", string("https://rpc.ankr.com/polygon_mumbai")),
216216
relayer: IWormholeRelayer(0x0591C25ebd0580E0d4F27A82Fc2e24E7489CB5e0),
217217
tokenBridge: ITokenBridge(0x377D55a7928c046E18eEbb61977e714d2a76472a),
218218
wormhole: IWormhole(0x0CBE91CF822c73C2315FB05100C2F714765d5c20)
219219
});
220220
chainInfosTestnet[16] = ChainInfo({
221221
chainId: 16,
222222
name: "moonbase alpha - moonbeam",
223-
url: "https://rpc.testnet.moonbeam.network",
223+
url: vm.envOr("MOONBASE_ALPHA_RPC_URL", string("https://rpc.testnet.moonbeam.network")),
224224
relayer: IWormholeRelayer(0x0591C25ebd0580E0d4F27A82Fc2e24E7489CB5e0),
225225
tokenBridge: ITokenBridge(0xbc976D4b9D57E57c3cA52e1Fd136C45FF7955A96),
226226
wormhole: IWormhole(0xa5B7D85a8f27dd7907dc8FdC21FA5657D5E2F901)
@@ -229,87 +229,87 @@ abstract contract WormholeRelayerTest is Test {
229229
chainInfosMainnet[2] = ChainInfo({
230230
chainId: 2,
231231
name: "ethereum",
232-
url: "https://rpc.ankr.com/eth",
232+
url: vm.envOr("ETHEREUM_RPC_URL", string("https://rpc.ankr.com/eth")),
233233
relayer: IWormholeRelayer(0x27428DD2d3DD32A4D7f7C497eAaa23130d894911),
234234
tokenBridge: ITokenBridge(0x3ee18B2214AFF97000D974cf647E7C347E8fa585),
235235
wormhole: IWormhole(0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B)
236236
});
237237
chainInfosMainnet[4] = ChainInfo({
238238
chainId: 4,
239239
name: "bsc",
240-
url: "https://bsc-dataseed2.defibit.io",
240+
url: vm.envOr("BSC_RPC_URL", string("https://bsc-dataseed2.defibit.io")),
241241
relayer: IWormholeRelayer(0x27428DD2d3DD32A4D7f7C497eAaa23130d894911),
242242
tokenBridge: ITokenBridge(0xB6F6D86a8f9879A9c87f643768d9efc38c1Da6E7),
243243
wormhole: IWormhole(0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B)
244244
});
245245
chainInfosMainnet[6] = ChainInfo({
246246
chainId: 6,
247247
name: "avalanche",
248-
url: "https://rpc.ankr.com/avalanche",
248+
url: vm.envOr("AVALANCHE_RPC_URL", string("https://rpc.ankr.com/avalanche")),
249249
relayer: IWormholeRelayer(0x27428DD2d3DD32A4D7f7C497eAaa23130d894911),
250250
tokenBridge: ITokenBridge(0x0e082F06FF657D94310cB8cE8B0D9a04541d8052),
251251
wormhole: IWormhole(0x54a8e5f9c4CbA08F9943965859F6c34eAF03E26c)
252252
});
253253
chainInfosMainnet[10] = ChainInfo({
254254
chainId: 10,
255255
name: "fantom",
256-
url: "https://rpc.ankr.com/fantom",
256+
url: vm.envOr("FANTOM_RPC_URL", string("https://rpc.ankr.com/fantom")),
257257
relayer: IWormholeRelayer(0x27428DD2d3DD32A4D7f7C497eAaa23130d894911),
258258
tokenBridge: ITokenBridge(0x7C9Fc5741288cDFdD83CeB07f3ea7e22618D79D2),
259259
wormhole: IWormhole(0x126783A6Cb203a3E35344528B26ca3a0489a1485)
260260
});
261261
chainInfosMainnet[13] = ChainInfo({
262262
chainId: 13,
263263
name: "klaytn",
264-
url: "https://klaytn-mainnet-rpc.allthatnode.com:8551",
264+
url: vm.envOr("KLAYTN_RPC_URL", string("https://klaytn-mainnet-rpc.allthatnode.com:8551")),
265265
relayer: IWormholeRelayer(0x27428DD2d3DD32A4D7f7C497eAaa23130d894911),
266266
tokenBridge: ITokenBridge(0x5b08ac39EAED75c0439FC750d9FE7E1F9dD0193F),
267267
wormhole: IWormhole(0x0C21603c4f3a6387e241c0091A7EA39E43E90bb7)
268268
});
269269
chainInfosMainnet[14] = ChainInfo({
270270
chainId: 14,
271271
name: "celo",
272-
url: "https://forno.celo.org",
272+
url: vm.envOr("CELO_RPC_URL", string("https://forno.celo.org")),
273273
relayer: IWormholeRelayer(0x27428DD2d3DD32A4D7f7C497eAaa23130d894911),
274274
tokenBridge: ITokenBridge(0x796Dff6D74F3E27060B71255Fe517BFb23C93eed),
275275
wormhole: IWormhole(0xa321448d90d4e5b0A732867c18eA198e75CAC48E)
276276
});
277277
chainInfosMainnet[12] = ChainInfo({
278278
chainId: 12,
279279
name: "acala",
280-
url: "https://eth-rpc-acala.aca-api.network",
280+
url: vm.envOr("ACALA_RPC_URL", string("https://eth-rpc-acala.aca-api.network")),
281281
relayer: IWormholeRelayer(0x27428DD2d3DD32A4D7f7C497eAaa23130d894911),
282282
tokenBridge: ITokenBridge(0xae9d7fe007b3327AA64A32824Aaac52C42a6E624),
283283
wormhole: IWormhole(0xa321448d90d4e5b0A732867c18eA198e75CAC48E)
284284
});
285285
chainInfosMainnet[11] = ChainInfo({
286286
chainId: 11,
287287
name: "karura",
288-
url: "https://eth-rpc-karura.aca-api.network",
288+
url: vm.envOr("KARURA_RPC_URL", string("https://eth-rpc-karura.aca-api.network")),
289289
relayer: IWormholeRelayer(0x27428DD2d3DD32A4D7f7C497eAaa23130d894911),
290290
tokenBridge: ITokenBridge(0xae9d7fe007b3327AA64A32824Aaac52C42a6E624),
291291
wormhole: IWormhole(0xa321448d90d4e5b0A732867c18eA198e75CAC48E)
292292
});
293293
chainInfosMainnet[16] = ChainInfo({
294294
chainId: 16,
295295
name: "moombeam",
296-
url: "https://rpc.ankr.com/moonbeam",
296+
url: vm.envOr("MOOMBEAM_RPC_URL", string("https://rpc.ankr.com/moonbeam")),
297297
relayer: IWormholeRelayer(0x27428DD2d3DD32A4D7f7C497eAaa23130d894911),
298298
tokenBridge: ITokenBridge(0xB1731c586ca89a23809861c6103F0b96B3F57D92),
299299
wormhole: IWormhole(0xC8e2b0cD52Cf01b0Ce87d389Daa3d414d4cE29f3)
300300
});
301301
chainInfosMainnet[23] = ChainInfo({
302302
chainId: 23,
303303
name: "arbitrum",
304-
url: "https://rpc.ankr.com/arbitrum",
304+
url: vm.envOr("ARBITRUM_RPC_URL", string("https://rpc.ankr.com/arbitrum")),
305305
relayer: IWormholeRelayer(0x27428DD2d3DD32A4D7f7C497eAaa23130d894911),
306306
tokenBridge: ITokenBridge(0x0b2402144Bb366A632D14B83F244D2e0e21bD39c),
307307
wormhole: IWormhole(0xa5f208e072434bC67592E4C49C1B991BA79BCA46)
308308
});
309309
chainInfosMainnet[24] = ChainInfo({
310310
chainId: 24,
311311
name: "optimism",
312-
url: "https://rpc.ankr.com/optimism",
312+
url: vm.envOr("OPTIMISM_RPC_URL", string("https://rpc.ankr.com/optimism")),
313313
relayer: IWormholeRelayer(0x27428DD2d3DD32A4D7f7C497eAaa23130d894911),
314314
tokenBridge: ITokenBridge(0x1D68124e65faFC907325e3EDbF8c4d84499DAa8b),
315315
wormhole: IWormhole(0xEe91C335eab126dF5fDB3797EA9d6aD93aeC9722)
@@ -418,4 +418,13 @@ abstract contract WormholeRelayerBasicTest is WormholeRelayerTest {
418418
forks[1] = chainInfosMainnet[_targetChain];
419419
setActiveForks(forks);
420420
}
421+
422+
function setForkChains(bool testnet, uint16 _sourceChain, uint16 _targetChain) public {
423+
if (testnet) {
424+
setTestnetForkChains(_sourceChain, _targetChain);
425+
return;
426+
}
427+
setMainnetForkChains(_sourceChain, _targetChain);
428+
}
429+
421430
}

0 commit comments

Comments
 (0)