diff --git a/ethereum/ts-scripts/relayer/config/testnet/chains.json b/ethereum/ts-scripts/relayer/config/testnet/chains.json index 6ddff910fc..5e8630013a 100644 --- a/ethereum/ts-scripts/relayer/config/testnet/chains.json +++ b/ethereum/ts-scripts/relayer/config/testnet/chains.json @@ -7,7 +7,7 @@ "description": "BSC Testnet", "evmNetworkId": 97, "chainId": 4, - "rpc": "https://bsc-testnet.blockpi.network/v1/rpc/public", + "rpc": "https://data-seed-prebsc-2-s1.bnbchain.org:8545", "wormholeAddress": "0x68605AD7b15c732a30b1BbC62BE8F2A509D74b4D" }, { @@ -38,6 +38,27 @@ "rpc": "https://rpc.testnet.moonbeam.network", "wormholeAddress": "0xa5B7D85a8f27dd7907dc8FdC21FA5657D5E2F901" }, + { + "description": "Berachain bArtio", + "evmNetworkId": 80084, + "chainId": 39, + "rpc": "https://bartio.rpc.berachain.com", + "wormholeAddress": "0xBB73cB66C26740F31d1FabDC6b7A46a038A300dd" + }, + { + "description": "Unichain Sepolia", + "evmNetworkId": 1301, + "chainId": 44, + "rpc": "https://sepolia.unichain.org", + "wormholeAddress": "0xBB73cB66C26740F31d1FabDC6b7A46a038A300dd" + }, + { + "description": "Ink", + "evmNetworkId": 763373, + "chainId": 46, + "rpc": "https://rpc-gel-sepolia.inkonchain.com", + "wormholeAddress": "0xBB73cB66C26740F31d1FabDC6b7A46a038A300dd" + }, { "description": "Ethereum Sepolia", "evmNetworkId": 11155111, @@ -49,7 +70,7 @@ "description": "Arbitrum Sepolia", "evmNetworkId": 421614, "chainId": 10003, - "rpc": "https://sepolia-rollup.arbitrum.io/rpc", + "rpc": "https://arbitrum-sepolia-rpc.publicnode.com", "wormholeAddress": "0x6b9C8671cdDC8dEab9c719bB87cBd3e782bA6a35" }, { @@ -70,7 +91,7 @@ "description": "Monad Devnet", "evmNetworkId": 41454, "chainId": 10008, - "rpc": "https://devnet1.monad.xyz/rpc/your_api_key", + "rpc": "https://devnet1.monad.xyz/rpc/IqLeQXELOAhGolixSOVzq87hhCK3UeQK3NBwNTTN", "wormholeAddress": "0xBB73cB66C26740F31d1FabDC6b7A46a038A300dd" } ] diff --git a/ethereum/ts-scripts/relayer/config/testnet/contracts.json b/ethereum/ts-scripts/relayer/config/testnet/contracts.json index 07494eb093..0f006e58a7 100644 --- a/ethereum/ts-scripts/relayer/config/testnet/contracts.json +++ b/ethereum/ts-scripts/relayer/config/testnet/contracts.json @@ -61,6 +61,18 @@ { "address": "0x7A0a53847776f7e94Cc35742971aCb2217b0Db81", "chainId": 10008 + }, + { + "address": "0xECa55749fe6AD6E655DcEdEd3C75102C653cf651", + "chainId": 39 + }, + { + "address": "0x7A0a53847776f7e94Cc35742971aCb2217b0Db81", + "chainId": 46 + }, + { + "address": "0x7A0a53847776f7e94Cc35742971aCb2217b0Db81", + "chainId": 44 } ], "wormholeRelayers": [ @@ -123,6 +135,18 @@ { "address": "0x362fca37E45fe1096b42021b543f462D49a5C8df", "chainId": 10008 + }, + { + "address": "0x362fca37E45fe1096b42021b543f462D49a5C8df", + "chainId": 39 + }, + { + "address": "0x362fca37E45fe1096b42021b543f462D49a5C8df", + "chainId": 46 + }, + { + "address": "0x362fca37E45fe1096b42021b543f462D49a5C8df", + "chainId": 44 } ], "wormholeRelayerImplementations": [ @@ -185,6 +209,18 @@ { "address": "0x00337a31aEE3Ed37f5D5FBF892031d0090Da2EeF", "chainId": 10008 + }, + { + "address": "0xceC913f7Db03ca677F779Ce918CF0c59D05D9217", + "chainId": 39 + }, + { + "address": "0x00337a31aEE3Ed37f5D5FBF892031d0090Da2EeF", + "chainId": 46 + }, + { + "address": "0x00337a31aEE3Ed37f5D5FBF892031d0090Da2EeF", + "chainId": 44 } ], "mockIntegrations": [ @@ -227,6 +263,18 @@ { "address": "0xa507Ff8D183D2BEcc9Ff9F82DFeF4b074e1d0E05", "chainId": 10008 + }, + { + "address": "0x4BD5B6F2d001D1547801F49270f2Df96Ab362b3C", + "chainId": 39 + }, + { + "address": "0xa507Ff8D183D2BEcc9Ff9F82DFeF4b074e1d0E05", + "chainId": 46 + }, + { + "address": "0xa507Ff8D183D2BEcc9Ff9F82DFeF4b074e1d0E05", + "chainId": 44 } ], "create2Factories": [ @@ -289,18 +337,54 @@ { "address": "0xe9918f582A972613aC5700d2346a97B8ebAd48a2", "chainId": 10008 + }, + { + "address": "0xe9918f582A972613aC5700d2346a97B8ebAd48a2", + "chainId": 39 + }, + { + "address": "0xe9918f582A972613aC5700d2346a97B8ebAd48a2", + "chainId": 46 + }, + { + "address": "0xe9918f582A972613aC5700d2346a97B8ebAd48a2", + "chainId": 44 } ], "deliveryProviderImplementations": [ { "address": "0x401d3A2ec0a071e2A8f8Fc9B4C69313C1a04540c", "chainId": 10008 + }, + { + "address": "0x7A0a53847776f7e94Cc35742971aCb2217b0Db81", + "chainId": 39 + }, + { + "address": "0x401d3A2ec0a071e2A8f8Fc9B4C69313C1a04540c", + "chainId": 46 + }, + { + "address": "0x401d3A2ec0a071e2A8f8Fc9B4C69313C1a04540c", + "chainId": 44 } ], "deliveryProviderSetups": [ { "address": "0xedd08D4363820603fb1B261F7667B8ee170c37a5", "chainId": 10008 + }, + { + "address": "0x00337a31aEE3Ed37f5D5FBF892031d0090Da2EeF", + "chainId": 39 + }, + { + "address": "0xedd08D4363820603fb1B261F7667B8ee170c37a5", + "chainId": 46 + }, + { + "address": "0xedd08D4363820603fb1B261F7667B8ee170c37a5", + "chainId": 44 } ] } \ No newline at end of file diff --git a/ethereum/ts-scripts/relayer/config/testnet/scriptConfigs/configureDeliveryProvider.json b/ethereum/ts-scripts/relayer/config/testnet/scriptConfigs/configureDeliveryProvider.json index e5ccbf2228..99b0e07fa8 100644 --- a/ethereum/ts-scripts/relayer/config/testnet/scriptConfigs/configureDeliveryProvider.json +++ b/ethereum/ts-scripts/relayer/config/testnet/scriptConfigs/configureDeliveryProvider.json @@ -25,6 +25,21 @@ "updatePriceGas": "10000000000", "updatePriceNative": "100000" }, + { + "chainId": 39, + "updatePriceGas": "10000000000", + "updatePriceNative": "100000" + }, + { + "chainId": 44, + "updatePriceGas": "10000000000", + "updatePriceNative": "100000" + }, + { + "chainId": 46, + "updatePriceGas": "10000000000", + "updatePriceNative": "100000" + }, { "chainId": 10002, "updatePriceGas": "30000000000", @@ -72,6 +87,18 @@ "chainId": 16, "updateGasOverhead": "350000" }, + { + "chainId": 39, + "updateGasOverhead": "350000" + }, + { + "chainId": 44, + "updateGasOverhead": "350000" + }, + { + "chainId": 46, + "updateGasOverhead": "350000" + }, { "chainId": 10002, "updateGasOverhead": "350000" @@ -114,6 +141,18 @@ "chainId": 16, "updateMaximumBudget": "2000000000000000000" }, + { + "chainId": 39, + "updateMaximumBudget": "2000000000000000000" + }, + { + "chainId": 44, + "updateMaximumBudget": "2000000000000000000" + }, + { + "chainId": 46, + "updateMaximumBudget": "2000000000000000000" + }, { "chainId": 10002, "updateMaximumBudget": "2000000000000000000" @@ -162,6 +201,18 @@ "chainId": 16, "rewardAddress": "0x734D539a7efEE15714a2755caa4280e12EF3d7e4" }, + { + "chainId": 39, + "rewardAddress": "0x734D539a7efEE15714a2755caa4280e12EF3d7e4" + }, + { + "chainId": 44, + "rewardAddress": "0x734D539a7efEE15714a2755caa4280e12EF3d7e4" + }, + { + "chainId": 46, + "rewardAddress": "0x734D539a7efEE15714a2755caa4280e12EF3d7e4" + }, { "chainId": 10002, "rewardAddress": "0x734D539a7efEE15714a2755caa4280e12EF3d7e4" @@ -244,10 +295,22 @@ "chainId": 37, "isSupported": true }, + { + "chainId": 39, + "isSupported": true + }, { "chainId": 43, "isSupported": true }, + { + "chainId": 44, + "isSupported": true + }, + { + "chainId": 46, + "isSupported": true + }, { "chainId": 10002, "isSupported": true @@ -330,10 +393,22 @@ "chainId": 37, "supportedKeys": ["vaa"] }, + { + "chainId": 39, + "supportedKeys": ["vaa"] + }, { "chainId": 43, "supportedKeys": ["vaa"] }, + { + "chainId": 44, + "supportedKeys": ["vaa"] + }, + { + "chainId": 46, + "supportedKeys": ["vaa"] + }, { "chainId": 10002, "supportedKeys": ["vaa", "cctp"] diff --git a/ethereum/ts-scripts/relayer/config/testnet/scriptConfigs/initializeDeliveryProvider.json b/ethereum/ts-scripts/relayer/config/testnet/scriptConfigs/initializeDeliveryProvider.json index 9c31d988b8..2cd749f4ee 100644 --- a/ethereum/ts-scripts/relayer/config/testnet/scriptConfigs/initializeDeliveryProvider.json +++ b/ethereum/ts-scripts/relayer/config/testnet/scriptConfigs/initializeDeliveryProvider.json @@ -40,6 +40,18 @@ "chainId": 30, "rewardAddress": "0x734D539a7efEE15714a2755caa4280e12EF3d7e4" }, + { + "chainId": 39, + "rewardAddress": "0x734D539a7efEE15714a2755caa4280e12EF3d7e4" + }, + { + "chainId": 44, + "rewardAddress": "0x734D539a7efEE15714a2755caa4280e12EF3d7e4" + }, + { + "chainId": 46, + "rewardAddress": "0x734D539a7efEE15714a2755caa4280e12EF3d7e4" + }, { "chainId": 10002, "rewardAddress": "0x734D539a7efEE15714a2755caa4280e12EF3d7e4" @@ -132,6 +144,27 @@ "updatePriceNative": "200000", "maximumBudget": "1000000000000000000" }, + { + "chainId": 39, + "deliverGasOverhead": "350000", + "updatePriceGas": "30000000000", + "updatePriceNative": "200000", + "maximumBudget": "1000000000000000000" + }, + { + "chainId": 44, + "deliverGasOverhead": "350000", + "updatePriceGas": "30000000000", + "updatePriceNative": "200000", + "maximumBudget": "1000000000000000000" + }, + { + "chainId": 46, + "deliverGasOverhead": "350000", + "updatePriceGas": "30000000000", + "updatePriceNative": "200000", + "maximumBudget": "1000000000000000000" + }, { "chainId": 10002, "deliverGasOverhead": "350000", diff --git a/ethereum/ts-scripts/relayer/helpers/deployments.ts b/ethereum/ts-scripts/relayer/helpers/deployments.ts index 2aad3d6ea0..fc15955976 100644 --- a/ethereum/ts-scripts/relayer/helpers/deployments.ts +++ b/ethereum/ts-scripts/relayer/helpers/deployments.ts @@ -338,10 +338,21 @@ export async function buildOverrides( overrides.maxPriorityFeePerGas = ethers.utils.parseUnits("0.000000001", "gwei"); } else if (chain.chainId === 37) { overrides.type = 0; + } else if (chain.chainId === 39) { + overrides.type = 2; + overrides.maxPriorityFeePerGas = 0; + } else if (chain.chainId === 44) { + overrides.type = 2; + overrides.maxFeePerGas = ethers.utils.parseUnits("0.001", "gwei"); + overrides.maxPriorityFeePerGas = ethers.utils.parseUnits("0.000000001", "gwei"); } else if (chain.chainId === 45) { overrides.type = 2; overrides.maxPriorityFeePerGas = ethers.utils.parseUnits("0.0001", "gwei"); overrides.maxFeePerGas = ethers.utils.parseUnits("0.001", "gwei"); + } else if (chain.chainId === 46) { + overrides.type = 2; + overrides.maxPriorityFeePerGas = ethers.utils.parseUnits("0.0001", "gwei");; + overrides.maxFeePerGas = ethers.utils.parseUnits("0.001", "gwei"); } return overrides; } diff --git a/ethereum/ts-scripts/relayer/shell/verifyCreate2Factory.sh b/ethereum/ts-scripts/relayer/shell/verifyCreate2Factory.sh index 5e756154b2..d1748cdd6f 100755 --- a/ethereum/ts-scripts/relayer/shell/verifyCreate2Factory.sh +++ b/ethereum/ts-scripts/relayer/shell/verifyCreate2Factory.sh @@ -71,6 +71,26 @@ for chain in $chain_ids forge verify-contract --verifier blockscout --verifier-url $monad_devnet_explorer_url --watch \ --rpc-url $monad_devnet_rpc_url \ $init_contract_address contracts/relayer/create2Factory/Create2Factory.sol:Init + else if test $chain -eq 44 + set unichain_sepolia_explorer_url "https://unichain-sepolia.blockscout.com/api/" + set unichain_sepolia_rpc_url "https://unichain-sepolia.blockscout.com/api/eth-rpc" + + forge verify-contract --verifier blockscout --verifier-url $unichain_sepolia_explorer_url --watch \ + --rpc-url $unichain_sepolia_rpc_url \ + $create2_factory_address contracts/relayer/create2Factory/Create2Factory.sol:Create2Factory + forge verify-contract --verifier blockscout --verifier-url $unichain_sepolia_explorer_url --watch \ + --rpc-url $unichain_sepolia_rpc_url \ + $init_contract_address contracts/relayer/create2Factory/Create2Factory.sol:Init + else if test $chain -eq 46 + set ink_sepolia_explorer_url "https://explorer-sepolia.inkonchain.com/api/" + set ink_sepolia_rpc_url "https://explorer-sepolia.inkonchain.com/api/eth-rpc" + + forge verify-contract --verifier blockscout --verifier-url $ink_sepolia_explorer_url --watch \ + --rpc-url $ink_sepolia_rpc_url \ + $create2_factory_address contracts/relayer/create2Factory/Create2Factory.sol:Create2Factory + forge verify-contract --verifier blockscout --verifier-url $ink_sepolia_explorer_url --watch \ + --rpc-url $ink_sepolia_rpc_url \ + $init_contract_address contracts/relayer/create2Factory/Create2Factory.sol:Init else if test $chain -eq 37 set xlayer_explorer_url "https://www.oklink.com/api/v5/explorer/contract/verify-source-code-plugin/XLAYER" @@ -78,6 +98,13 @@ for chain in $chain_ids $create2_factory_address contracts/relayer/create2Factory/Create2Factory.sol:Create2Factory forge verify-contract --verifier oklink --verifier-url $xlayer_explorer_url --watch \ $init_contract_address contracts/relayer/create2Factory/Create2Factory.sol:Init + else if test $chain -eq 39 + set berachain_artio_verifier_url "https://api.routescan.io/v2/network/testnet/evm/80084/etherscan" + + forge verify-contract --verifier custom --verifier-url $berachain_artio_verifier_url \ + --watch $create2_factory_address contracts/relayer/create2Factory/Create2Factory.sol:Create2Factory + forge verify-contract --verifier custom --verifier-url $berachain_artio_verifier_url \ + --watch $init_contract_address contracts/relayer/create2Factory/Create2Factory.sol:Init else forge verify-contract --watch \ $create2_factory_address contracts/relayer/create2Factory/Create2Factory.sol:Create2Factory diff --git a/ethereum/ts-scripts/relayer/shell/verifyDeliveryProvider.sh b/ethereum/ts-scripts/relayer/shell/verifyDeliveryProvider.sh index 93c9a37a8f..4e8390b987 100755 --- a/ethereum/ts-scripts/relayer/shell/verifyDeliveryProvider.sh +++ b/ethereum/ts-scripts/relayer/shell/verifyDeliveryProvider.sh @@ -96,6 +96,42 @@ for chain in $chain_ids $setup_address contracts/relayer/deliveryProvider/DeliveryProviderSetup.sol:DeliveryProviderSetup forge verify-contract --verifier oklink --verifier-url $xlayer_explorer_url --watch \ $proxy_address contracts/relayer/deliveryProvider/DeliveryProviderProxy.sol:DeliveryProviderProxy + else if test $chain -eq 39 + set berachain_artio_verifier_url "https://api.routescan.io/v2/network/testnet/evm/80084/etherscan" + + forge verify-contract --verifier custom --verifier-url $berachain_artio_verifier_url \ + --watch $implementation_address contracts/relayer/deliveryProvider/DeliveryProviderImplementation.sol:DeliveryProviderImplementation + forge verify-contract --verifier custom --verifier-url $berachain_artio_verifier_url \ + --watch $setup_address contracts/relayer/deliveryProvider/DeliveryProviderSetup.sol:DeliveryProviderSetup + forge verify-contract --verifier custom --verifier-url $berachain_artio_verifier_url \ + --watch $proxy_address contracts/relayer/deliveryProvider/DeliveryProviderProxy.sol:DeliveryProviderProxy + + else if test $chain -eq 44 + set unichain_sepolia_explorer_url "https://unichain-sepolia.blockscout.com/api/" + set unichain_sepolia_rpc_url "https://unichain-sepolia.blockscout.com/api/eth-rpc" + + forge verify-contract --verifier blockscout --verifier-url $unichain_sepolia_explorer_url --watch \ + --rpc-url $unichain_sepolia_rpc_url \ + $implementation_address contracts/relayer/deliveryProvider/DeliveryProviderImplementation.sol:DeliveryProviderImplementation + forge verify-contract --verifier blockscout --verifier-url $unichain_sepolia_explorer_url --watch \ + --rpc-url $unichain_sepolia_rpc_url \ + $setup_address contracts/relayer/deliveryProvider/DeliveryProviderSetup.sol:DeliveryProviderSetup + forge verify-contract --verifier blockscout --verifier-url $unichain_sepolia_explorer_url --watch \ + --rpc-url $unichain_sepolia_rpc_url \ + $proxy_address contracts/relayer/deliveryProvider/DeliveryProviderProxy.sol:DeliveryProviderProxy + else if test $chain -eq 46 + set ink_sepolia_explorer_url "https://explorer-sepolia.inkonchain.com/api/" + set ink_sepolia_rpc_url "https://explorer-sepolia.inkonchain.com/api/eth-rpc" + + forge verify-contract --verifier blockscout --verifier-url $ink_sepolia_explorer_url --watch \ + --rpc-url $ink_sepolia_rpc_url \ + $implementation_address contracts/relayer/deliveryProvider/DeliveryProviderImplementation.sol:DeliveryProviderImplementation + forge verify-contract --verifier blockscout --verifier-url $ink_sepolia_explorer_url --watch \ + --rpc-url $ink_sepolia_rpc_url \ + $setup_address contracts/relayer/deliveryProvider/DeliveryProviderSetup.sol:DeliveryProviderSetup + forge verify-contract --verifier blockscout --verifier-url $ink_sepolia_explorer_url --watch \ + --rpc-url $ink_sepolia_rpc_url \ + $proxy_address contracts/relayer/deliveryProvider/DeliveryProviderProxy.sol:DeliveryProviderProxy else forge verify-contract --watch \ $implementation_address contracts/relayer/deliveryProvider/DeliveryProviderImplementation.sol:DeliveryProviderImplementation diff --git a/ethereum/ts-scripts/relayer/shell/verifyWormholeRelayer.sh b/ethereum/ts-scripts/relayer/shell/verifyWormholeRelayer.sh index a09719b9a1..89b49b93b9 100755 --- a/ethereum/ts-scripts/relayer/shell/verifyWormholeRelayer.sh +++ b/ethereum/ts-scripts/relayer/shell/verifyWormholeRelayer.sh @@ -62,6 +62,7 @@ for chain in $chain_ids # Celo has a verification API but it currently doesn't work with `forge verify-contract` # We print the compiler input to a file instead for manual verification if test $chain -eq 14 + forge verify-contract --watch --show-standard-json-input --constructor-args $init_contract_address \ $proxy_address contracts/relayer/create2Factory/Create2Factory.sol:SimpleProxy > WormholeRelayerProxy.compiler-input.json forge verify-contract --watch --show-standard-json-input --constructor-args $wormhole_address \ @@ -70,28 +71,69 @@ for chain in $chain_ids echo "Please manually submit the compiler input files at celoscan.io" echo "- $implementation_address: WormholeRelayerImplementation.compiler-input.json" echo "- $proxy_address: WormholeRelayerProxy.compiler-input.json" + else if test $chain -eq 35 + set mantle_explorer_url "https://explorer.mantle.xyz/api?module=contract&action=verify" forge verify-contract --verifier blockscout --verifier-url $mantle_explorer_url --watch \ $proxy_address contracts/relayer/create2Factory/Create2Factory.sol:SimpleProxy forge verify-contract --verifier blockscout --verifier-url $mantle_explorer_url --watch \ $implementation_address contracts/relayer/wormholeRelayer/WormholeRelayer.sol:WormholeRelayer + else if test $chain -eq 37 + set xlayer_explorer_url "https://www.oklink.com/api/v5/explorer/contract/verify-source-code-plugin/XLAYER" forge verify-contract --verifier oklink --verifier-url $xlayer_explorer_url --watch \ $proxy_address contracts/relayer/create2Factory/Create2Factory.sol:SimpleProxy forge verify-contract --verifier oklink --verifier-url $xlayer_explorer_url --watch \ $implementation_address contracts/relayer/wormholeRelayer/WormholeRelayer.sol:WormholeRelayer + + else if test $chain -eq 39 + + set berachain_artio_verifier_url "https://api.routescan.io/v2/network/testnet/evm/80084/etherscan" + + forge verify-contract --verifier custom --verifier-url $berachain_artio_verifier_url \ + --watch $proxy_address contracts/relayer/create2Factory/Create2Factory.sol:SimpleProxy + forge verify-contract --verifier custom --verifier-url $berachain_artio_verifier_url \ + --watch $implementation_address contracts/relayer/wormholeRelayer/WormholeRelayer.sol:WormholeRelayer + else if test $chain -eq 43 + set snaxchain_explorer_url "https://explorer.snaxchain.io/api?module=contract&action=verify" forge verify-contract --verifier blockscout --verifier-url $snaxchain_explorer_url --watch \ $proxy_address contracts/relayer/create2Factory/Create2Factory.sol:SimpleProxy forge verify-contract --verifier blockscout --verifier-url $snaxchain_explorer_url --watch \ $implementation_address contracts/relayer/wormholeRelayer/WormholeRelayer.sol:WormholeRelayer + + else if test $chain -eq 44 + + set unichain_sepolia_explorer_url "https://unichain-sepolia.blockscout.com/api/" + set unichain_sepolia_rpc_url "https://unichain-sepolia.blockscout.com/api/eth-rpc" + + forge verify-contract --verifier blockscout --verifier-url $unichain_sepolia_explorer_url --watch \ + --rpc-url $unichain_sepolia_rpc_url \ + $proxy_address contracts/relayer/create2Factory/Create2Factory.sol:SimpleProxy + forge verify-contract --verifier blockscout --verifier-url $unichain_sepolia_explorer_url --watch \ + --rpc-url $unichain_sepolia_rpc_url \ + $implementation_address contracts/relayer/wormholeRelayer/WormholeRelayer.sol:WormholeRelayer + + else if test $chain -eq 46 + + set ink_sepolia_explorer_url "https://explorer-sepolia.inkonchain.com/api/" + set ink_sepolia_rpc_url "https://explorer-sepolia.inkonchain.com/api/eth-rpc" + + forge verify-contract --verifier blockscout --verifier-url $ink_sepolia_explorer_url --watch \ + --rpc-url $ink_sepolia_rpc_url \ + $proxy_address contracts/relayer/create2Factory/Create2Factory.sol:SimpleProxy + forge verify-contract --verifier blockscout --verifier-url $ink_sepolia_explorer_url --watch \ + --rpc-url $ink_sepolia_rpc_url \ + $implementation_address contracts/relayer/wormholeRelayer/WormholeRelayer.sol:WormholeRelayer + else if test $chain -eq 10008 + set monad_devnet_explorer_url "https://brightstar-884.devnet1.monad.xyz/api/" set monad_devnet_rpc_url "https://brightstar-884.devnet1.monad.xyz/api/eth-rpc"