From 2d922805c0ca218c18eb743939d801a7bf32274d Mon Sep 17 00:00:00 2001 From: Paul Balaji <10051819+paulbalaji@users.noreply.github.com> Date: Tue, 13 Aug 2024 11:39:23 +0100 Subject: [PATCH] feat: add arbitrumsepolia, basesepolia, ecotestnet, optimismsepolia, polygonamoy to core chains (#4297) Deploy to arbitrumsepolia, basesepolia, ecotestnet, optimismsepolia, polygonamoy --- .changeset/dirty-items-sparkle.md | 5 + .registryrc | 2 +- .../m20230309_000001_create_table_domain.rs | 40 ++ rust/config/testnet_config.json | 340 +++++++++- .../config/environments/testnet4/agent.ts | 21 +- .../testnet4/aw-validators/hyperlane.json | 15 + .../config/environments/testnet4/chains.ts | 5 + .../testnet4/core/verification.json | 541 ++++++++++++++++ .../config/environments/testnet4/funding.ts | 33 +- .../environments/testnet4/gas-oracle.ts | 18 +- .../infra/config/environments/testnet4/igp.ts | 18 +- .../testnet4/ism/verification.json | 604 +++++++++++++++++- .../testnet4/supportedChainNames.ts | 7 +- .../environments/testnet4/validators.ts | 60 ++ .../set-rpc-urls-from-registry.ts | 7 +- typescript/sdk/src/consts/multisigIsm.ts | 25 + 16 files changed, 1695 insertions(+), 46 deletions(-) create mode 100644 .changeset/dirty-items-sparkle.md diff --git a/.changeset/dirty-items-sparkle.md b/.changeset/dirty-items-sparkle.md new file mode 100644 index 000000000..1aae4a54d --- /dev/null +++ b/.changeset/dirty-items-sparkle.md @@ -0,0 +1,5 @@ +--- +'@hyperlane-xyz/sdk': minor +--- + +Deploy to arbitrumsepolia, basesepolia, ecotestnet, optimismsepolia, polygonamoy diff --git a/.registryrc b/.registryrc index 7c32cf127..c6e165ea5 100644 --- a/.registryrc +++ b/.registryrc @@ -1 +1 @@ -29f4901c1d1a63944b0f5f2ee50f499568260004 +bc4b9898a16eada7e90771108841153480aa1ac5 diff --git a/rust/agents/scraper/migration/src/m20230309_000001_create_table_domain.rs b/rust/agents/scraper/migration/src/m20230309_000001_create_table_domain.rs index dcb812f12..612a6ae83 100644 --- a/rust/agents/scraper/migration/src/m20230309_000001_create_table_domain.rs +++ b/rust/agents/scraper/migration/src/m20230309_000001_create_table_domain.rs @@ -350,6 +350,46 @@ const DOMAINS: &[RawDomain] = &[ is_test_net: true, is_deprecated: false, }, + RawDomain { + name: "arbitrumsepolia", + token: "ETH", + domain: 421614, + chain_id: 421614, + is_test_net: true, + is_deprecated: false, + }, + RawDomain { + name: "basesepolia", + token: "ETH", + domain: 84532, + chain_id: 84532, + is_test_net: true, + is_deprecated: false, + }, + RawDomain { + name: "ecotestnet", + token: "ETH", + domain: 471923, + chain_id: 471923, + is_test_net: true, + is_deprecated: false, + }, + RawDomain { + name: "optimismsepolia", + token: "ETH", + domain: 11155420, + chain_id: 11155420, + is_test_net: true, + is_deprecated: false, + }, + RawDomain { + name: "polygonanoy", + token: "MATIC", + domain: 80002, + chain_id: 80002, + is_test_net: true, + is_deprecated: false, + }, RawDomain { name: "test1", token: "ETH", diff --git a/rust/config/testnet_config.json b/rust/config/testnet_config.json index fecef50f1..7f3246f68 100644 --- a/rust/config/testnet_config.json +++ b/rust/config/testnet_config.json @@ -37,7 +37,7 @@ "interchainAccountIsm": "0x6895d3916B94b386fAA6ec9276756e16dAe7480E", "interchainAccountRouter": "0xEbA64c8a9b4a61a9210d5fe7E4375380999C821b", "interchainGasPaymaster": "0x44769b0f4a6f01339e131a691cc2eebbb519d297", - "interchainSecurityModule": "0x8B29157852340cC5d3d0E289be3B0344E8812173", + "interchainSecurityModule": "0xEE179dd1b1beD39449e81c003D9629e92A5c0085", "isTestnet": true, "mailbox": "0xEf9F292fcEBC3848bF4bB92a96a04F9ECBb78E59", "merkleTreeHook": "0x221FA9CBaFcd6c1C3d206571Cf4427703e023FFa", @@ -68,6 +68,129 @@ "timelockController": "0x0000000000000000000000000000000000000000", "validatorAnnounce": "0x3726EE36a2A9e11a40d1ffD7D9A1A16e0154cDA0" }, + "arbitrumsepolia": { + "aggregationHook": "0xD2670EedcD21116c6F0B331Ce391eA4B3Bf1aB19", + "blockExplorers": [ + { + "apiUrl": "https://api-sepolia.arbiscan.io/api", + "family": "etherscan", + "name": "Arbiscan", + "url": "https://sepolia.arbiscan.io" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 3, + "reorgPeriod": 0 + }, + "chainId": 421614, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Arbitrum Sepolia", + "domainId": 421614, + "domainRoutingIsm": "0xaCA2f65aFDa2cbC8BF28DdE096eCF83aCd121c0b", + "domainRoutingIsmFactory": "0xd785272D240B07719e417622cbd2cfA0E584d1bd", + "fallbackRoutingHook": "0xAb9B273366D794B7F80B4378bc8Aaca75C6178E2", + "index": { + "from": 49690504 + }, + "interchainGasPaymaster": "0xc756cFc1b7d0d4646589EDf10eD54b201237F5e8", + "interchainSecurityModule": "0x29cEAFEE1F76B9CE271750f86B2bD12C23F9dDb6", + "isTestnet": true, + "mailbox": "0x598facE78a4302f11E3de0bee1894Da0b2Cb71F8", + "merkleTreeHook": "0xAD34A66Bf6dB18E858F6B686557075568c6E031C", + "name": "arbitrumsepolia", + "nativeToken": { + "decimals": 18, + "name": "Ether", + "symbol": "ETH" + }, + "pausableHook": "0x86fb9F1c124fB20ff130C41a79a432F770f67AFD", + "pausableIsm": "0x54ba950390670f27892AFFC670Ba6ed598E5B8Df", + "protocol": "ethereum", + "protocolFee": "0x75f3E2a4f424401195A5E176246Ecc9f7e7680ff", + "proxyAdmin": "0x666a24F62f7A97BA33c151776Eb3D9441a059eB8", + "rpcUrls": [ + { + "http": "https://public.stackup.sh/api/v1/node/arbitrum-sepolia" + }, + { + "http": "https://arbitrum-sepolia.blockpi.network/v1/rpc/public" + } + ], + "staticAggregationHookFactory": "0x0526E47C49742C15F8817ef8cf0d8FFc72139D4F", + "staticAggregationIsm": "0x29cEAFEE1F76B9CE271750f86B2bD12C23F9dDb6", + "staticAggregationIsmFactory": "0xfc8d0D2E15A36f1A3F3aE3Cb127B706c1f23Aadc", + "staticMerkleRootMultisigIsmFactory": "0x1D5EbC3e15e9ECDe0e3530C85899556797eeaea5", + "staticMessageIdMultisigIsmFactory": "0xF7F0DaB0BECE4498dAc7eb616e288809D4499371", + "storageGasOracle": "0xddf4C3e791caCaFd26D7fb275549739B38ae6e75", + "technicalStack": "arbitrumnitro", + "testRecipient": "0x6c13643B3927C57DB92c790E4E3E7Ee81e13f78C", + "validatorAnnounce": "0x1b33611fCc073aB0737011d5512EF673Bff74962" + }, + "basesepolia": { + "aggregationHook": "0xccA408a6A9A6dc405C3278647421eb4317466943", + "blockExplorers": [ + { + "apiUrl": "https://api-sepolia.basescan.org/api", + "family": "etherscan", + "name": "BaseScan", + "url": "https://sepolia.basescan.org" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 2, + "reorgPeriod": 1 + }, + "chainId": 84532, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Base Sepolia", + "domainId": 84532, + "domainRoutingIsm": "0x4ac19e0bafc2aF6B98094F0a1B817dF196551219", + "domainRoutingIsmFactory": "0x16B710b86CAd07E6F1C531861a16F5feC29dba37", + "fallbackRoutingHook": "0xddf4C3e791caCaFd26D7fb275549739B38ae6e75", + "index": { + "from": 13851043 + }, + "interchainGasPaymaster": "0x28B02B97a850872C4D33C3E024fab6499ad96564", + "interchainSecurityModule": "0x815a9642497Ee1E9F061f8b828C85Eb7193DecfC", + "isTestnet": true, + "mailbox": "0x6966b0E55883d49BFB24539356a2f8A673E02039", + "merkleTreeHook": "0x86fb9F1c124fB20ff130C41a79a432F770f67AFD", + "name": "basesepolia", + "nativeToken": { + "decimals": 18, + "name": "Ether", + "symbol": "ETH" + }, + "pausableHook": "0x19Be55D859368e02d7b9C00803Eb677BDC1359Bd", + "pausableIsm": "0xAD34A66Bf6dB18E858F6B686557075568c6E031C", + "protocol": "ethereum", + "protocolFee": "0x1b33611fCc073aB0737011d5512EF673Bff74962", + "proxyAdmin": "0x44b764045BfDC68517e10e783E69B376cef196B2", + "rpcUrls": [ + { + "http": "https://sepolia.base.org" + }, + { + "http": "https://base-sepolia-rpc.publicnode.com" + } + ], + "staticAggregationHookFactory": "0xeb6f11189197223c656807a83B0DD374f9A6dF44", + "staticAggregationIsm": "0x815a9642497Ee1E9F061f8b828C85Eb7193DecfC", + "staticAggregationIsmFactory": "0x275aCcCa81cAD931dC6fB6E49ED233Bc99Bed4A7", + "staticMerkleRootMultisigIsmFactory": "0x6E7b29CB2A7617405B4d30C6f84bBD51b4Bb4be8", + "staticMessageIdMultisigIsmFactory": "0xfc6e546510dC9d76057F1f76633FCFfC188CB213", + "storageGasOracle": "0x5821f3B6eE05F3dC62b43B74AB1C8F8E6904b1C8", + "testRecipient": "0x783c4a0bB6663359281aD4a637D5af68F83ae213", + "validatorAnnounce": "0x20c44b1E3BeaDA1e9826CFd48BeEDABeE9871cE9" + }, "bsctestnet": { "aggregationHook": "0x3d675bB93250Ab7603F40cbb9194bae210784627", "blockExplorers": [ @@ -100,7 +223,7 @@ "interchainAccountIsm": "0xa9D8Ec959F34272B1a56D09AF00eeee58970d3AE", "interchainAccountRouter": "0x6d2B3e304E58c2a19f1492E7cf15CaF63Ce6e0d2", "interchainGasPaymaster": "0x0dD20e410bdB95404f71c5a4e7Fa67B892A5f949", - "interchainSecurityModule": "0x8fb481f65d04c590b8507F75D05Ed29594590376", + "interchainSecurityModule": "0xE758870D4E50c2aF2b03341808d54d79F5ec3c1E", "isTestnet": true, "mailbox": "0xF9F6F5646F478d5ab4e20B0F910C92F1CCC9Cc6D", "merkleTreeHook": "0xc6cbF39A747f5E28d1bDc8D9dfDAb2960Abd5A8f", @@ -166,7 +289,7 @@ "from": 4950 }, "interchainGasPaymaster": "0xeC7eb4196Bd601DEa7585A744FbFB4CF11278450", - "interchainSecurityModule": "0x5e6Fe18eC7D4b159bDC5Fa0C32bB1996277B3ddF", + "interchainSecurityModule": "0x415a45C98288059Cce9c32AE4a09AB19C91d5056", "isTestnet": true, "mailbox": "0x6966b0E55883d49BFB24539356a2f8A673E02039", "merkleTreeHook": "0x4926a10788306D84202A2aDbd290b7743146Cc17", @@ -231,6 +354,64 @@ ], "validatorAnnounce": "8qNYSi9EP1xSnRjtMpyof88A26GBbdcrsa61uSaHiwx3" }, + "ecotestnet": { + "aggregationHook": "0xccA408a6A9A6dc405C3278647421eb4317466943", + "blockExplorers": [ + { + "apiUrl": "https://eco-testnet.explorer.caldera.xyz/api", + "family": "blockscout", + "name": "ECO Testnet explorer", + "url": "https://eco-testnet.explorer.caldera.xyz/" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 1, + "reorgPeriod": 0 + }, + "chainId": 471923, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Eco Testnet", + "domainId": 471923, + "domainRoutingIsm": "0x4ac19e0bafc2aF6B98094F0a1B817dF196551219", + "domainRoutingIsmFactory": "0x16B710b86CAd07E6F1C531861a16F5feC29dba37", + "fallbackRoutingHook": "0xddf4C3e791caCaFd26D7fb275549739B38ae6e75", + "index": { + "from": 1606754 + }, + "interchainGasPaymaster": "0x28B02B97a850872C4D33C3E024fab6499ad96564", + "interchainSecurityModule": "0x815a9642497Ee1E9F061f8b828C85Eb7193DecfC", + "isTestnet": true, + "mailbox": "0x6966b0E55883d49BFB24539356a2f8A673E02039", + "merkleTreeHook": "0x86fb9F1c124fB20ff130C41a79a432F770f67AFD", + "name": "ecotestnet", + "nativeToken": { + "decimals": 18, + "name": "Ether", + "symbol": "ETH" + }, + "pausableHook": "0x19Be55D859368e02d7b9C00803Eb677BDC1359Bd", + "pausableIsm": "0xAD34A66Bf6dB18E858F6B686557075568c6E031C", + "protocol": "ethereum", + "protocolFee": "0x1b33611fCc073aB0737011d5512EF673Bff74962", + "proxyAdmin": "0x44b764045BfDC68517e10e783E69B376cef196B2", + "rpcUrls": [ + { + "http": "https://eco-testnet.rpc.caldera.xyz/http" + } + ], + "staticAggregationHookFactory": "0xeb6f11189197223c656807a83B0DD374f9A6dF44", + "staticAggregationIsm": "0x815a9642497Ee1E9F061f8b828C85Eb7193DecfC", + "staticAggregationIsmFactory": "0x275aCcCa81cAD931dC6fB6E49ED233Bc99Bed4A7", + "staticMerkleRootMultisigIsmFactory": "0x6E7b29CB2A7617405B4d30C6f84bBD51b4Bb4be8", + "staticMessageIdMultisigIsmFactory": "0xfc6e546510dC9d76057F1f76633FCFfC188CB213", + "storageGasOracle": "0x5821f3B6eE05F3dC62b43B74AB1C8F8E6904b1C8", + "testRecipient": "0x783c4a0bB6663359281aD4a637D5af68F83ae213", + "validatorAnnounce": "0x20c44b1E3BeaDA1e9826CFd48BeEDABeE9871cE9" + }, "fuji": { "aggregationHook": "0x8E9b4006171c6B75111823e7545Ee5400CEce0B3", "blockExplorers": [ @@ -262,7 +443,7 @@ "interchainAccountIsm": "0xfaB4815BDC5c60c6bD625459C8577aFdD79D9311", "interchainAccountRouter": "0xeEF6933122894fF217a7dd07510b3D64b747e29b", "interchainGasPaymaster": "0x6895d3916B94b386fAA6ec9276756e16dAe7480E", - "interchainSecurityModule": "0xdDB75f480841A8333A31c4198ecf1780936B222D", + "interchainSecurityModule": "0x3dA17519c799f86000FADb7bfCCdc0CaB0D36fDd", "isTestnet": true, "mailbox": "0x5b6CFf85442B851A8e6eaBd2A4E4507B5135B3B0", "merkleTreeHook": "0x9ff6ac3dAf63103620BBf76136eA1AFf43c2F612", @@ -325,7 +506,7 @@ "from": 1543015 }, "interchainGasPaymaster": "0x5CBf4e70448Ed46c2616b04e9ebc72D29FF0cfA9", - "interchainSecurityModule": "0x296Be783e0b1CdDed847E34e6587C24dDb710cf9", + "interchainSecurityModule": "0x7C32096A30Ef0bC550e3b8AcB0D87F72A3910D04", "isTestnet": true, "mailbox": "0x46f7C5D896bbeC89bE1B19e4485e59b4Be49e9Cc", "merkleTreeHook": "0x98AAE089CaD930C64a76dD2247a2aC5773a4B8cE", @@ -354,6 +535,65 @@ "testRecipient": "0x86fb9F1c124fB20ff130C41a79a432F770f67AFD", "validatorAnnounce": "0xAb9B273366D794B7F80B4378bc8Aaca75C6178E2" }, + "optimismsepolia": { + "aggregationHook": "0xccA408a6A9A6dc405C3278647421eb4317466943", + "blockExplorers": [ + { + "apiUrl": "https://api-sepolia-optimistic.etherscan.io/api", + "family": "etherscan", + "name": "OP Sepolia Explorer", + "url": "https://sepolia-optimistic.etherscan.io" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 2, + "reorgPeriod": 0 + }, + "chainId": 11155420, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Optimism Sepolia", + "domainId": 11155420, + "domainRoutingIsm": "0x4ac19e0bafc2aF6B98094F0a1B817dF196551219", + "domainRoutingIsmFactory": "0x16B710b86CAd07E6F1C531861a16F5feC29dba37", + "fallbackRoutingHook": "0xddf4C3e791caCaFd26D7fb275549739B38ae6e75", + "gasCurrencyCoinGeckoId": "ethereum", + "index": { + "from": 15833917 + }, + "interchainGasPaymaster": "0x28B02B97a850872C4D33C3E024fab6499ad96564", + "interchainSecurityModule": "0x815a9642497Ee1E9F061f8b828C85Eb7193DecfC", + "isTestnet": true, + "mailbox": "0x6966b0E55883d49BFB24539356a2f8A673E02039", + "merkleTreeHook": "0x86fb9F1c124fB20ff130C41a79a432F770f67AFD", + "name": "optimismsepolia", + "nativeToken": { + "decimals": 18, + "name": "Ether", + "symbol": "ETH" + }, + "pausableHook": "0x19Be55D859368e02d7b9C00803Eb677BDC1359Bd", + "pausableIsm": "0xAD34A66Bf6dB18E858F6B686557075568c6E031C", + "protocol": "ethereum", + "protocolFee": "0x1b33611fCc073aB0737011d5512EF673Bff74962", + "proxyAdmin": "0x44b764045BfDC68517e10e783E69B376cef196B2", + "rpcUrls": [ + { + "http": "https://sepolia.optimism.io" + } + ], + "staticAggregationHookFactory": "0xeb6f11189197223c656807a83B0DD374f9A6dF44", + "staticAggregationIsm": "0x815a9642497Ee1E9F061f8b828C85Eb7193DecfC", + "staticAggregationIsmFactory": "0x275aCcCa81cAD931dC6fB6E49ED233Bc99Bed4A7", + "staticMerkleRootMultisigIsmFactory": "0x6E7b29CB2A7617405B4d30C6f84bBD51b4Bb4be8", + "staticMessageIdMultisigIsmFactory": "0xfc6e546510dC9d76057F1f76633FCFfC188CB213", + "storageGasOracle": "0x5821f3B6eE05F3dC62b43B74AB1C8F8E6904b1C8", + "testRecipient": "0x783c4a0bB6663359281aD4a637D5af68F83ae213", + "validatorAnnounce": "0x20c44b1E3BeaDA1e9826CFd48BeEDABeE9871cE9" + }, "plumetestnet": { "aggregationHook": "0x31dF0EEE7Dc7565665468698a0da221225619a1B", "blockExplorers": [ @@ -385,7 +625,7 @@ "interchainAccountIsm": "0x7c115c16E34c74afdb88bd268EaB19bC705891FE", "interchainAccountRouter": "0xB6F8aA9B1b314A6E6DFB465DD3e0E95936347517", "interchainGasPaymaster": "0x28B02B97a850872C4D33C3E024fab6499ad96564", - "interchainSecurityModule": "0xDaE6E59fB970F8df1cCCC7d230a7cdeD8BDfCb95", + "interchainSecurityModule": "0x5708e5CAd632898E16D6A7bA286EC8b8eFD3056b", "isTestnet": true, "mailbox": "0x33dB966328Ea213b0f76eF96CA368AB37779F065", "merkleTreeHook": "0xddf4C3e791caCaFd26D7fb275549739B38ae6e75", @@ -417,6 +657,73 @@ "timelockController": "0x0000000000000000000000000000000000000000", "validatorAnnounce": "0x20c44b1E3BeaDA1e9826CFd48BeEDABeE9871cE9" }, + "polygonamoy": { + "aggregationHook": "0x06a54A2db82D37410C1383c51F96Bd7b3ABD243E", + "blockExplorers": [ + { + "apiUrl": "https://api-amoy.polygonscan.com/api", + "family": "etherscan", + "name": "Polygon Amoy Explorer", + "url": "https://amoy.polygonscan.com" + } + ], + "blocks": { + "confirmations": 5, + "estimateBlockTime": 2, + "reorgPeriod": 10 + }, + "chainId": 80002, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Polygon Amoy", + "domainId": 80002, + "domainRoutingIsm": "0x2a2F4AAaf726abb4B969c2804D38e188555683b5", + "domainRoutingIsmFactory": "0x44b764045BfDC68517e10e783E69B376cef196B2", + "fallbackRoutingHook": "0x19Be55D859368e02d7b9C00803Eb677BDC1359Bd", + "index": { + "from": 10634605 + }, + "interchainGasPaymaster": "0x6c13643B3927C57DB92c790E4E3E7Ee81e13f78C", + "interchainSecurityModule": "0x831Ee59F524C94A320821f4d30B6581Ace69379d", + "isTestnet": true, + "mailbox": "0x54148470292C24345fb828B003461a9444414517", + "merkleTreeHook": "0xddf4C3e791caCaFd26D7fb275549739B38ae6e75", + "name": "polygonamoy", + "nativeToken": { + "decimals": 18, + "name": "MATIC", + "symbol": "MATIC" + }, + "pausableHook": "0x5821f3B6eE05F3dC62b43B74AB1C8F8E6904b1C8", + "pausableIsm": "0xAb9B273366D794B7F80B4378bc8Aaca75C6178E2", + "protocol": "ethereum", + "protocolFee": "0x66b71A4e18FbE09a6977A6520B47fEDdffA82a1c", + "proxyAdmin": "0xC2E36cd6e32e194EE11f15D9273B64461A4D49A2", + "rpcUrls": [ + { + "http": "https://rpc-amoy.polygon.technology" + }, + { + "http": "https://polygon-amoy-bor-rpc.publicnode.com" + }, + { + "http": "https://polygon-amoy.blockpi.network/v1/rpc/public" + }, + { + "http": "https://rpc.ankr.com/polygon_amoy" + } + ], + "staticAggregationHookFactory": "0x16B710b86CAd07E6F1C531861a16F5feC29dba37", + "staticAggregationIsm": "0x1D770b978d915bD96F2ad41b25824C4193EBAfA2", + "staticAggregationIsmFactory": "0xeb6f11189197223c656807a83B0DD374f9A6dF44", + "staticMerkleRootMultisigIsmFactory": "0xfc6e546510dC9d76057F1f76633FCFfC188CB213", + "staticMessageIdMultisigIsmFactory": "0x275aCcCa81cAD931dC6fB6E49ED233Bc99Bed4A7", + "storageGasOracle": "0xD0680F80F4f947968206806C2598Cbc5b6FE5b03", + "testRecipient": "0x04438ef7622f5412f82915F59caD4f704C61eA48", + "validatorAnnounce": "0x11918DC33E067C5DA83EEF58E50F856398b8Df4C" + }, "scrollsepolia": { "aggregationHook": "0x7b63Aa270335F8896717c2A809205F4b650E4268", "blockExplorers": [ @@ -448,7 +755,7 @@ "interchainAccountIsm": "0xE023239c8dfc172FF008D8087E7442d3eBEd9350", "interchainAccountRouter": "0xe17c37212d785760E8331D4A4395B17b34Ba8cDF", "interchainGasPaymaster": "0x86fb9F1c124fB20ff130C41a79a432F770f67AFD", - "interchainSecurityModule": "0xcc5BAaa44A8749c7C566b1cb578a315427632053", + "interchainSecurityModule": "0x476a8f40c81E69f5d676ccaA9709c0dE61F907E1", "isTestnet": true, "mailbox": "0x3C5154a193D6e2955650f9305c8d80c18C814A68", "merkleTreeHook": "0x863E8c26621c52ACa1849C53500606e73BA272F0", @@ -466,6 +773,18 @@ "rpcUrls": [ { "http": "https://sepolia-rpc.scroll.io" + }, + { + "http": "https://rpc.ankr.com/scroll_sepolia_testnet" + }, + { + "http": "https://scroll-sepolia.blockpi.network/v1/rpc/public" + }, + { + "http": "https://scroll-sepolia.chainstacklabs.com" + }, + { + "http": "https://scroll-public.scroll-testnet.quiknode.pro" } ], "staticAggregationHookFactory": "0x44b764045BfDC68517e10e783E69B376cef196B2", @@ -477,6 +796,9 @@ "testRecipient": "0xa3AB7E6cE24E6293bD5320A53329Ef2f4DE73fCA", "testTokenRecipient": "0xc76E477437065093D353b7d56c81ff54D167B0Ab", "timelockController": "0x0000000000000000000000000000000000000000", + "transactionOverrides": { + "gasPrice": 500000000 + }, "validatorAnnounce": "0x527768930D889662Fe7ACF64294871e86e4C2381" }, "sepolia": { @@ -511,7 +833,7 @@ "interchainAccountIsm": "0x83a3068B719F764d413625dA77468ED74789ae02", "interchainAccountRouter": "0x8e131c8aE5BF1Ed38D05a00892b6001a7d37739d", "interchainGasPaymaster": "0x6f2756380FD49228ae25Aa7F2817993cB74Ecc56", - "interchainSecurityModule": "0xd5BF82fA7FB4109d38C4C06102DF7D5C9f2795a4", + "interchainSecurityModule": "0x76B21a2241f6A6FbaE624A7Fe5d7D3919C9ce3E3", "isTestnet": true, "mailbox": "0xfFAEF09B3cd11D9b20d1a19bECca54EEC2884766", "merkleTreeHook": "0x4917a9746A7B6E0A57159cCb7F5a6744247f2d0d", @@ -617,7 +939,7 @@ "from": 3111622 }, "interchainGasPaymaster": "0xeC7eb4196Bd601DEa7585A744FbFB4CF11278450", - "interchainSecurityModule": "0x5e6Fe18eC7D4b159bDC5Fa0C32bB1996277B3ddF", + "interchainSecurityModule": "0x415a45C98288059Cce9c32AE4a09AB19C91d5056", "isTestnet": true, "mailbox": "0x6966b0E55883d49BFB24539356a2f8A673E02039", "merkleTreeHook": "0x4926a10788306D84202A2aDbd290b7743146Cc17", diff --git a/typescript/infra/config/environments/testnet4/agent.ts b/typescript/infra/config/environments/testnet4/agent.ts index 09aa46bfb..6572f5431 100644 --- a/typescript/infra/config/environments/testnet4/agent.ts +++ b/typescript/infra/config/environments/testnet4/agent.ts @@ -38,12 +38,17 @@ export const hyperlaneContextAgentChainConfig: AgentChainConfig< > = { [Role.Validator]: { alfajores: true, + arbitrumsepolia: true, + basesepolia: true, bsctestnet: true, connextsepolia: true, + ecotestnet: true, eclipsetestnet: false, fuji: true, holesky: true, + optimismsepolia: true, plumetestnet: true, + polygonamoy: true, scrollsepolia: true, sepolia: true, solanatestnet: true, @@ -51,12 +56,17 @@ export const hyperlaneContextAgentChainConfig: AgentChainConfig< }, [Role.Relayer]: { alfajores: true, + arbitrumsepolia: true, + basesepolia: true, bsctestnet: true, connextsepolia: true, + ecotestnet: true, eclipsetestnet: false, fuji: true, holesky: true, + optimismsepolia: true, plumetestnet: true, + polygonamoy: true, scrollsepolia: true, sepolia: true, solanatestnet: true, @@ -64,13 +74,18 @@ export const hyperlaneContextAgentChainConfig: AgentChainConfig< }, [Role.Scraper]: { alfajores: true, + arbitrumsepolia: true, + basesepolia: true, bsctestnet: true, connextsepolia: false, + ecotestnet: true, // Cannot scrape non-EVM chains eclipsetestnet: false, fuji: true, holesky: true, + optimismsepolia: true, plumetestnet: true, + polygonamoy: true, scrollsepolia: true, sepolia: true, // Cannot scrape non-EVM chains @@ -131,7 +146,7 @@ const hyperlane: RootAgentConfig = { rpcConsensusType: RpcConsensusType.Fallback, docker: { repo, - tag: '64cdc5f-20240715-212733', + tag: '874a58f-20240812-172417', }, blacklist: [ ...releaseCandidateHelloworldMatchingList, @@ -161,7 +176,7 @@ const hyperlane: RootAgentConfig = { rpcConsensusType: RpcConsensusType.Fallback, docker: { repo, - tag: '64cdc5f-20240715-212733', + tag: '874a58f-20240812-172417', }, chains: validatorChainConfig(Contexts.Hyperlane), resources: validatorResources, @@ -170,7 +185,7 @@ const hyperlane: RootAgentConfig = { rpcConsensusType: RpcConsensusType.Fallback, docker: { repo, - tag: 'd962e36-20240716-132121', + tag: '874a58f-20240812-172417', }, resources: scraperResources, }, diff --git a/typescript/infra/config/environments/testnet4/aw-validators/hyperlane.json b/typescript/infra/config/environments/testnet4/aw-validators/hyperlane.json index bc5c3e9fd..bd44812c5 100644 --- a/typescript/infra/config/environments/testnet4/aw-validators/hyperlane.json +++ b/typescript/infra/config/environments/testnet4/aw-validators/hyperlane.json @@ -6,6 +6,12 @@ "0x86485dcec5f7bb8478dd251676372d054dea6653" ] }, + "arbitrumsepolia": { + "validators": ["0x09fabfbca0b8bf042e2a1161ee5010d147b0f603"] + }, + "basesepolia": { + "validators": ["0x82e3b437a2944e3ff00258c93e72cd1ba5e0e921"] + }, "bsctestnet": { "validators": [ "0x242d8a855a8c932dec51f7999ae7d1e48b10c95e", @@ -16,6 +22,9 @@ "connextsepolia": { "validators": ["0xffbbec8c499585d80ef69eb613db624d27e089ab"] }, + "ecotestnet": { + "validators": ["0xb3191420d463c2af8bd9b4a395e100ec5c05915a"] + }, "fuji": { "validators": [ "0xd8154f73d04cc7f7f0c332793692e6e6f6b2402e", @@ -26,6 +35,9 @@ "holesky": { "validators": ["0x7ab28ad88bb45867137ea823af88e2cb02359c03"] }, + "optimismsepolia": { + "validators": ["0x03efe4d0632ee15685d7e8f46dea0a874304aa29"] + }, "plumetestnet": { "validators": [ "0xe765a214849f3ecdf00793b97d00422f2d408ea6", @@ -33,6 +45,9 @@ "0xc906470a73e6b5aad65a4ceb4acd73e3eaf80e2c" ] }, + "polygonamoy": { + "validators": ["0xf0290b06e446b320bd4e9c4a519420354d7ddccd"] + }, "scrollsepolia": { "validators": [ "0xbe18dbd758afb367180260b524e6d4bcd1cb6d05", diff --git a/typescript/infra/config/environments/testnet4/chains.ts b/typescript/infra/config/environments/testnet4/chains.ts index caa3c1018..4d6923f3f 100644 --- a/typescript/infra/config/environments/testnet4/chains.ts +++ b/typescript/infra/config/environments/testnet4/chains.ts @@ -16,4 +16,9 @@ export const chainMetadataOverrides: ChainMap> = { gasPrice: 8 * 10 ** 9, // 8 gwei }, }, + scrollsepolia: { + transactionOverrides: { + gasPrice: 5 * 10 ** 8, // 0.5 gwei + }, + }, }; diff --git a/typescript/infra/config/environments/testnet4/core/verification.json b/typescript/infra/config/environments/testnet4/core/verification.json index 40ba8167e..a8bb65bac 100644 --- a/typescript/infra/config/environments/testnet4/core/verification.json +++ b/typescript/infra/config/environments/testnet4/core/verification.json @@ -1375,6 +1375,170 @@ "name": "PausableHook" } ], + "arbitrumsepolia": [ + { + "address": "0x54ba950390670f27892AFFC670Ba6ed598E5B8Df", + "constructorArguments": "000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c", + "isProxy": false, + "name": "PausableIsm" + }, + { + "address": "0x54ba950390670f27892AFFC670Ba6ed598E5B8Df", + "constructorArguments": "000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c", + "isProxy": false, + "name": "PausableIsm" + } + ], + "basesepolia": [ + { + "address": "0x44b764045BfDC68517e10e783E69B376cef196B2", + "constructorArguments": "", + "isProxy": false, + "name": "ProxyAdmin" + }, + { + "address": "0xC2E36cd6e32e194EE11f15D9273B64461A4D49A2", + "constructorArguments": "0000000000000000000000000000000000000000000000000000000000014a34", + "isProxy": false, + "name": "Mailbox" + }, + { + "address": "0x6966b0E55883d49BFB24539356a2f8A673E02039", + "constructorArguments": "000000000000000000000000c2e36cd6e32e194ee11f15d9273b64461a4d49a200000000000000000000000044b764045bfdc68517e10e783e69b376cef196b200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000", + "expectedimplementation": "0xC2E36cd6e32e194EE11f15D9273B64461A4D49A2", + "isProxy": true, + "name": "TransparentUpgradeableProxy" + }, + { + "address": "0x44b764045BfDC68517e10e783E69B376cef196B2", + "constructorArguments": "", + "isProxy": false, + "name": "ProxyAdmin" + }, + { + "address": "0xC2E36cd6e32e194EE11f15D9273B64461A4D49A2", + "constructorArguments": "0000000000000000000000000000000000000000000000000000000000014a34", + "isProxy": false, + "name": "Mailbox" + }, + { + "address": "0x6966b0E55883d49BFB24539356a2f8A673E02039", + "constructorArguments": "000000000000000000000000c2e36cd6e32e194ee11f15d9273b64461a4d49a200000000000000000000000044b764045bfdc68517e10e783e69b376cef196b200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000", + "expectedimplementation": "0xC2E36cd6e32e194EE11f15D9273B64461A4D49A2", + "isProxy": true, + "name": "TransparentUpgradeableProxy" + }, + { + "address": "0xAD34A66Bf6dB18E858F6B686557075568c6E031C", + "constructorArguments": "000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c", + "isProxy": false, + "name": "PausableIsm" + }, + { + "address": "0x86fb9F1c124fB20ff130C41a79a432F770f67AFD", + "constructorArguments": "0000000000000000000000006966b0e55883d49bfb24539356a2f8a673e02039", + "isProxy": false, + "name": "MerkleTreeHook" + }, + { + "address": "0xddf4C3e791caCaFd26D7fb275549739B38ae6e75", + "constructorArguments": "0000000000000000000000006966b0e55883d49bfb24539356a2f8a673e02039000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c00000000000000000000000086fb9f1c124fb20ff130c41a79a432f770f67afd", + "isProxy": false, + "name": "FallbackRoutingHook" + }, + { + "address": "0x19Be55D859368e02d7b9C00803Eb677BDC1359Bd", + "constructorArguments": "", + "isProxy": false, + "name": "PausableHook" + }, + { + "address": "0x5821f3B6eE05F3dC62b43B74AB1C8F8E6904b1C8", + "constructorArguments": "", + "isProxy": false, + "name": "StorageGasOracle" + }, + { + "address": "0xc756cFc1b7d0d4646589EDf10eD54b201237F5e8", + "constructorArguments": "", + "isProxy": false, + "name": "InterchainGasPaymaster" + }, + { + "address": "0x28B02B97a850872C4D33C3E024fab6499ad96564", + "constructorArguments": "000000000000000000000000c756cfc1b7d0d4646589edf10ed54b201237f5e800000000000000000000000044b764045bfdc68517e10e783e69b376cef196b200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044485cc955000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c00000000000000000000000000000000000000000000000000000000", + "expectedimplementation": "0xc756cFc1b7d0d4646589EDf10eD54b201237F5e8", + "isProxy": true, + "name": "TransparentUpgradeableProxy" + }, + { + "address": "0x1b33611fCc073aB0737011d5512EF673Bff74962", + "constructorArguments": "000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c", + "isProxy": false, + "name": "ProtocolFee" + }, + { + "address": "0x20c44b1E3BeaDA1e9826CFd48BeEDABeE9871cE9", + "constructorArguments": "0000000000000000000000006966b0e55883d49bfb24539356a2f8a673e02039", + "isProxy": false, + "name": "ValidatorAnnounce" + }, + { + "address": "0xAD34A66Bf6dB18E858F6B686557075568c6E031C", + "constructorArguments": "000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c", + "isProxy": false, + "name": "PausableIsm" + }, + { + "address": "0x86fb9F1c124fB20ff130C41a79a432F770f67AFD", + "constructorArguments": "0000000000000000000000006966b0e55883d49bfb24539356a2f8a673e02039", + "isProxy": false, + "name": "MerkleTreeHook" + }, + { + "address": "0xddf4C3e791caCaFd26D7fb275549739B38ae6e75", + "constructorArguments": "0000000000000000000000006966b0e55883d49bfb24539356a2f8a673e02039000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c00000000000000000000000086fb9f1c124fb20ff130c41a79a432f770f67afd", + "isProxy": false, + "name": "FallbackRoutingHook" + }, + { + "address": "0x19Be55D859368e02d7b9C00803Eb677BDC1359Bd", + "constructorArguments": "", + "isProxy": false, + "name": "PausableHook" + }, + { + "address": "0x5821f3B6eE05F3dC62b43B74AB1C8F8E6904b1C8", + "constructorArguments": "", + "isProxy": false, + "name": "StorageGasOracle" + }, + { + "address": "0xc756cFc1b7d0d4646589EDf10eD54b201237F5e8", + "constructorArguments": "", + "isProxy": false, + "name": "InterchainGasPaymaster" + }, + { + "address": "0x28B02B97a850872C4D33C3E024fab6499ad96564", + "constructorArguments": "000000000000000000000000c756cfc1b7d0d4646589edf10ed54b201237f5e800000000000000000000000044b764045bfdc68517e10e783e69b376cef196b200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044485cc955000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c00000000000000000000000000000000000000000000000000000000", + "expectedimplementation": "0xc756cFc1b7d0d4646589EDf10eD54b201237F5e8", + "isProxy": true, + "name": "TransparentUpgradeableProxy" + }, + { + "address": "0x1b33611fCc073aB0737011d5512EF673Bff74962", + "constructorArguments": "000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c", + "isProxy": false, + "name": "ProtocolFee" + }, + { + "address": "0x20c44b1E3BeaDA1e9826CFd48BeEDABeE9871cE9", + "constructorArguments": "0000000000000000000000006966b0e55883d49bfb24539356a2f8a673e02039", + "isProxy": false, + "name": "ValidatorAnnounce" + } + ], "bsctestnet": [ { "address": "0xb12282d2E838Aa5f2A4F9Ee5f624a77b7199A078", @@ -1565,6 +1729,156 @@ "name": "ValidatorAnnounce" } ], + "ecotestnet": [ + { + "address": "0x44b764045BfDC68517e10e783E69B376cef196B2", + "constructorArguments": "", + "isProxy": false, + "name": "ProxyAdmin" + }, + { + "address": "0xC2E36cd6e32e194EE11f15D9273B64461A4D49A2", + "constructorArguments": "0000000000000000000000000000000000000000000000000000000000073373", + "isProxy": false, + "name": "Mailbox" + }, + { + "address": "0x6966b0E55883d49BFB24539356a2f8A673E02039", + "constructorArguments": "000000000000000000000000c2e36cd6e32e194ee11f15d9273b64461a4d49a200000000000000000000000044b764045bfdc68517e10e783e69b376cef196b200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000", + "expectedimplementation": "0xC2E36cd6e32e194EE11f15D9273B64461A4D49A2", + "isProxy": true, + "name": "TransparentUpgradeableProxy" + }, + { + "address": "0x44b764045BfDC68517e10e783E69B376cef196B2", + "constructorArguments": "", + "isProxy": false, + "name": "ProxyAdmin" + }, + { + "address": "0xC2E36cd6e32e194EE11f15D9273B64461A4D49A2", + "constructorArguments": "0000000000000000000000000000000000000000000000000000000000073373", + "isProxy": false, + "name": "Mailbox" + }, + { + "address": "0x6966b0E55883d49BFB24539356a2f8A673E02039", + "constructorArguments": "000000000000000000000000c2e36cd6e32e194ee11f15d9273b64461a4d49a200000000000000000000000044b764045bfdc68517e10e783e69b376cef196b200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000", + "expectedimplementation": "0xC2E36cd6e32e194EE11f15D9273B64461A4D49A2", + "isProxy": true, + "name": "TransparentUpgradeableProxy" + }, + { + "address": "0xAD34A66Bf6dB18E858F6B686557075568c6E031C", + "constructorArguments": "000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c", + "isProxy": false, + "name": "PausableIsm" + }, + { + "address": "0x86fb9F1c124fB20ff130C41a79a432F770f67AFD", + "constructorArguments": "0000000000000000000000006966b0e55883d49bfb24539356a2f8a673e02039", + "isProxy": false, + "name": "MerkleTreeHook" + }, + { + "address": "0xddf4C3e791caCaFd26D7fb275549739B38ae6e75", + "constructorArguments": "0000000000000000000000006966b0e55883d49bfb24539356a2f8a673e02039000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c00000000000000000000000086fb9f1c124fb20ff130c41a79a432f770f67afd", + "isProxy": false, + "name": "FallbackRoutingHook" + }, + { + "address": "0x19Be55D859368e02d7b9C00803Eb677BDC1359Bd", + "constructorArguments": "", + "isProxy": false, + "name": "PausableHook" + }, + { + "address": "0x5821f3B6eE05F3dC62b43B74AB1C8F8E6904b1C8", + "constructorArguments": "", + "isProxy": false, + "name": "StorageGasOracle" + }, + { + "address": "0xc756cFc1b7d0d4646589EDf10eD54b201237F5e8", + "constructorArguments": "", + "isProxy": false, + "name": "InterchainGasPaymaster" + }, + { + "address": "0x28B02B97a850872C4D33C3E024fab6499ad96564", + "constructorArguments": "000000000000000000000000c756cfc1b7d0d4646589edf10ed54b201237f5e800000000000000000000000044b764045bfdc68517e10e783e69b376cef196b200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044485cc955000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c00000000000000000000000000000000000000000000000000000000", + "expectedimplementation": "0xc756cFc1b7d0d4646589EDf10eD54b201237F5e8", + "isProxy": true, + "name": "TransparentUpgradeableProxy" + }, + { + "address": "0x1b33611fCc073aB0737011d5512EF673Bff74962", + "constructorArguments": "000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c", + "isProxy": false, + "name": "ProtocolFee" + }, + { + "address": "0x20c44b1E3BeaDA1e9826CFd48BeEDABeE9871cE9", + "constructorArguments": "0000000000000000000000006966b0e55883d49bfb24539356a2f8a673e02039", + "isProxy": false, + "name": "ValidatorAnnounce" + }, + { + "address": "0xAD34A66Bf6dB18E858F6B686557075568c6E031C", + "constructorArguments": "000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c", + "isProxy": false, + "name": "PausableIsm" + }, + { + "address": "0x86fb9F1c124fB20ff130C41a79a432F770f67AFD", + "constructorArguments": "0000000000000000000000006966b0e55883d49bfb24539356a2f8a673e02039", + "isProxy": false, + "name": "MerkleTreeHook" + }, + { + "address": "0xddf4C3e791caCaFd26D7fb275549739B38ae6e75", + "constructorArguments": "0000000000000000000000006966b0e55883d49bfb24539356a2f8a673e02039000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c00000000000000000000000086fb9f1c124fb20ff130c41a79a432f770f67afd", + "isProxy": false, + "name": "FallbackRoutingHook" + }, + { + "address": "0x19Be55D859368e02d7b9C00803Eb677BDC1359Bd", + "constructorArguments": "", + "isProxy": false, + "name": "PausableHook" + }, + { + "address": "0x5821f3B6eE05F3dC62b43B74AB1C8F8E6904b1C8", + "constructorArguments": "", + "isProxy": false, + "name": "StorageGasOracle" + }, + { + "address": "0xc756cFc1b7d0d4646589EDf10eD54b201237F5e8", + "constructorArguments": "", + "isProxy": false, + "name": "InterchainGasPaymaster" + }, + { + "address": "0x28B02B97a850872C4D33C3E024fab6499ad96564", + "constructorArguments": "000000000000000000000000c756cfc1b7d0d4646589edf10ed54b201237f5e800000000000000000000000044b764045bfdc68517e10e783e69b376cef196b200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044485cc955000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c00000000000000000000000000000000000000000000000000000000", + "expectedimplementation": "0xc756cFc1b7d0d4646589EDf10eD54b201237F5e8", + "isProxy": true, + "name": "TransparentUpgradeableProxy" + }, + { + "address": "0x1b33611fCc073aB0737011d5512EF673Bff74962", + "constructorArguments": "000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c", + "isProxy": false, + "name": "ProtocolFee" + }, + { + "address": "0x20c44b1E3BeaDA1e9826CFd48BeEDABeE9871cE9", + "constructorArguments": "0000000000000000000000006966b0e55883d49bfb24539356a2f8a673e02039", + "isProxy": false, + "name": "ValidatorAnnounce" + } + ], "fuji": [ { "address": "0x378dA02f7dC3c23A8B5ecE32b8056CdF01e8d477", @@ -2345,6 +2659,156 @@ "name": "FallbackRoutingHook" } ], + "optimismsepolia": [ + { + "address": "0x44b764045BfDC68517e10e783E69B376cef196B2", + "constructorArguments": "", + "isProxy": false, + "name": "ProxyAdmin" + }, + { + "address": "0xC2E36cd6e32e194EE11f15D9273B64461A4D49A2", + "constructorArguments": "0000000000000000000000000000000000000000000000000000000000aa37dc", + "isProxy": false, + "name": "Mailbox" + }, + { + "address": "0x6966b0E55883d49BFB24539356a2f8A673E02039", + "constructorArguments": "000000000000000000000000c2e36cd6e32e194ee11f15d9273b64461a4d49a200000000000000000000000044b764045bfdc68517e10e783e69b376cef196b200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000", + "expectedimplementation": "0xC2E36cd6e32e194EE11f15D9273B64461A4D49A2", + "isProxy": true, + "name": "TransparentUpgradeableProxy" + }, + { + "address": "0x44b764045BfDC68517e10e783E69B376cef196B2", + "constructorArguments": "", + "isProxy": false, + "name": "ProxyAdmin" + }, + { + "address": "0xC2E36cd6e32e194EE11f15D9273B64461A4D49A2", + "constructorArguments": "0000000000000000000000000000000000000000000000000000000000aa37dc", + "isProxy": false, + "name": "Mailbox" + }, + { + "address": "0x6966b0E55883d49BFB24539356a2f8A673E02039", + "constructorArguments": "000000000000000000000000c2e36cd6e32e194ee11f15d9273b64461a4d49a200000000000000000000000044b764045bfdc68517e10e783e69b376cef196b200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000", + "expectedimplementation": "0xC2E36cd6e32e194EE11f15D9273B64461A4D49A2", + "isProxy": true, + "name": "TransparentUpgradeableProxy" + }, + { + "address": "0xAD34A66Bf6dB18E858F6B686557075568c6E031C", + "constructorArguments": "000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c", + "isProxy": false, + "name": "PausableIsm" + }, + { + "address": "0x86fb9F1c124fB20ff130C41a79a432F770f67AFD", + "constructorArguments": "0000000000000000000000006966b0e55883d49bfb24539356a2f8a673e02039", + "isProxy": false, + "name": "MerkleTreeHook" + }, + { + "address": "0xddf4C3e791caCaFd26D7fb275549739B38ae6e75", + "constructorArguments": "0000000000000000000000006966b0e55883d49bfb24539356a2f8a673e02039000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c00000000000000000000000086fb9f1c124fb20ff130c41a79a432f770f67afd", + "isProxy": false, + "name": "FallbackRoutingHook" + }, + { + "address": "0x19Be55D859368e02d7b9C00803Eb677BDC1359Bd", + "constructorArguments": "", + "isProxy": false, + "name": "PausableHook" + }, + { + "address": "0x5821f3B6eE05F3dC62b43B74AB1C8F8E6904b1C8", + "constructorArguments": "", + "isProxy": false, + "name": "StorageGasOracle" + }, + { + "address": "0xc756cFc1b7d0d4646589EDf10eD54b201237F5e8", + "constructorArguments": "", + "isProxy": false, + "name": "InterchainGasPaymaster" + }, + { + "address": "0x28B02B97a850872C4D33C3E024fab6499ad96564", + "constructorArguments": "000000000000000000000000c756cfc1b7d0d4646589edf10ed54b201237f5e800000000000000000000000044b764045bfdc68517e10e783e69b376cef196b200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044485cc955000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c00000000000000000000000000000000000000000000000000000000", + "expectedimplementation": "0xc756cFc1b7d0d4646589EDf10eD54b201237F5e8", + "isProxy": true, + "name": "TransparentUpgradeableProxy" + }, + { + "address": "0x1b33611fCc073aB0737011d5512EF673Bff74962", + "constructorArguments": "000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c", + "isProxy": false, + "name": "ProtocolFee" + }, + { + "address": "0x20c44b1E3BeaDA1e9826CFd48BeEDABeE9871cE9", + "constructorArguments": "0000000000000000000000006966b0e55883d49bfb24539356a2f8a673e02039", + "isProxy": false, + "name": "ValidatorAnnounce" + }, + { + "address": "0xAD34A66Bf6dB18E858F6B686557075568c6E031C", + "constructorArguments": "000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c", + "isProxy": false, + "name": "PausableIsm" + }, + { + "address": "0x86fb9F1c124fB20ff130C41a79a432F770f67AFD", + "constructorArguments": "0000000000000000000000006966b0e55883d49bfb24539356a2f8a673e02039", + "isProxy": false, + "name": "MerkleTreeHook" + }, + { + "address": "0xddf4C3e791caCaFd26D7fb275549739B38ae6e75", + "constructorArguments": "0000000000000000000000006966b0e55883d49bfb24539356a2f8a673e02039000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c00000000000000000000000086fb9f1c124fb20ff130c41a79a432f770f67afd", + "isProxy": false, + "name": "FallbackRoutingHook" + }, + { + "address": "0x19Be55D859368e02d7b9C00803Eb677BDC1359Bd", + "constructorArguments": "", + "isProxy": false, + "name": "PausableHook" + }, + { + "address": "0x5821f3B6eE05F3dC62b43B74AB1C8F8E6904b1C8", + "constructorArguments": "", + "isProxy": false, + "name": "StorageGasOracle" + }, + { + "address": "0xc756cFc1b7d0d4646589EDf10eD54b201237F5e8", + "constructorArguments": "", + "isProxy": false, + "name": "InterchainGasPaymaster" + }, + { + "address": "0x28B02B97a850872C4D33C3E024fab6499ad96564", + "constructorArguments": "000000000000000000000000c756cfc1b7d0d4646589edf10ed54b201237f5e800000000000000000000000044b764045bfdc68517e10e783e69b376cef196b200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044485cc955000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c00000000000000000000000000000000000000000000000000000000", + "expectedimplementation": "0xc756cFc1b7d0d4646589EDf10eD54b201237F5e8", + "isProxy": true, + "name": "TransparentUpgradeableProxy" + }, + { + "address": "0x1b33611fCc073aB0737011d5512EF673Bff74962", + "constructorArguments": "000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c", + "isProxy": false, + "name": "ProtocolFee" + }, + { + "address": "0x20c44b1E3BeaDA1e9826CFd48BeEDABeE9871cE9", + "constructorArguments": "0000000000000000000000006966b0e55883d49bfb24539356a2f8a673e02039", + "isProxy": false, + "name": "ValidatorAnnounce" + } + ], "plumetestnet": [ { "address": "0x589C201a07c26b4725A4A829d772f24423da480B", @@ -2851,6 +3315,83 @@ "name": "PausableIsm" } ], + "polygonamoy": [ + { + "address": "0xC2E36cd6e32e194EE11f15D9273B64461A4D49A2", + "constructorArguments": "", + "isProxy": false, + "name": "ProxyAdmin" + }, + { + "address": "0x6966b0E55883d49BFB24539356a2f8A673E02039", + "constructorArguments": "0000000000000000000000000000000000000000000000000000000000013882", + "isProxy": false, + "name": "Mailbox" + }, + { + "address": "0x54148470292C24345fb828B003461a9444414517", + "constructorArguments": "0000000000000000000000006966b0e55883d49bfb24539356a2f8a673e02039000000000000000000000000c2e36cd6e32e194ee11f15d9273b64461a4d49a200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000", + "expectedimplementation": "0x6966b0E55883d49BFB24539356a2f8A673E02039", + "isProxy": true, + "name": "TransparentUpgradeableProxy" + }, + { + "address": "0xC2E36cd6e32e194EE11f15D9273B64461A4D49A2", + "constructorArguments": "", + "isProxy": false, + "name": "ProxyAdmin" + }, + { + "address": "0x6966b0E55883d49BFB24539356a2f8A673E02039", + "constructorArguments": "0000000000000000000000000000000000000000000000000000000000013882", + "isProxy": false, + "name": "Mailbox" + }, + { + "address": "0x54148470292C24345fb828B003461a9444414517", + "constructorArguments": "0000000000000000000000006966b0e55883d49bfb24539356a2f8a673e02039000000000000000000000000c2e36cd6e32e194ee11f15d9273b64461a4d49a200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000", + "expectedimplementation": "0x6966b0E55883d49BFB24539356a2f8A673E02039", + "isProxy": true, + "name": "TransparentUpgradeableProxy" + }, + { + "address": "0xAb9B273366D794B7F80B4378bc8Aaca75C6178E2", + "constructorArguments": "000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c", + "isProxy": false, + "name": "PausableIsm" + }, + { + "address": "0xAb9B273366D794B7F80B4378bc8Aaca75C6178E2", + "constructorArguments": "000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c", + "isProxy": false, + "name": "PausableIsm" + }, + { + "address": "0xEe421285728284000ec6c6C55C6F9161faeFfa99", + "constructorArguments": "", + "isProxy": false, + "name": "InterchainGasPaymaster" + }, + { + "address": "0x6c13643B3927C57DB92c790E4E3E7Ee81e13f78C", + "constructorArguments": "000000000000000000000000ee421285728284000ec6c6c55c6f9161faeffa99000000000000000000000000c2e36cd6e32e194ee11f15d9273b64461a4d49a200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044485cc955000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c00000000000000000000000000000000000000000000000000000000", + "expectedimplementation": "0xEe421285728284000ec6c6C55C6F9161faeFfa99", + "isProxy": true, + "name": "TransparentUpgradeableProxy" + }, + { + "address": "0x66b71A4e18FbE09a6977A6520B47fEDdffA82a1c", + "constructorArguments": "000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c000000000000000000000000fad1c94469700833717fa8a3017278bc1ca8031c", + "isProxy": false, + "name": "ProtocolFee" + }, + { + "address": "0x11918DC33E067C5DA83EEF58E50F856398b8Df4C", + "constructorArguments": "00000000000000000000000054148470292c24345fb828b003461a9444414517", + "isProxy": false, + "name": "ValidatorAnnounce" + } + ], "scrollsepolia": [ { "address": "0x598facE78a4302f11E3de0bee1894Da0b2Cb71F8", diff --git a/typescript/infra/config/environments/testnet4/funding.ts b/typescript/infra/config/environments/testnet4/funding.ts index 70e8a8c86..6668b6587 100644 --- a/typescript/infra/config/environments/testnet4/funding.ts +++ b/typescript/infra/config/environments/testnet4/funding.ts @@ -10,7 +10,7 @@ export const keyFunderConfig: KeyFunderConfig< > = { docker: { repo: 'gcr.io/abacus-labs-dev/hyperlane-monorepo', - tag: '64cdc5f-20240715-212744', + tag: '874a58f-20240812-172413', }, // We're currently using the same deployer key as testnet2. // To minimize nonce clobbering we offset the key funder cron @@ -27,45 +27,62 @@ export const keyFunderConfig: KeyFunderConfig< // desired balance config desiredBalancePerChain: { alfajores: '5', + arbitrumsepolia: '0.1', + basesepolia: '0.1', bsctestnet: '5', connextsepolia: '1', + ecotestnet: '0.1', + // no funding for solana + eclipsetestnet: '0', fuji: '5', holesky: '5', + optimismsepolia: '0.1', plumetestnet: '0.2', - // Funder boosts itself upto 5x balance on L2 before dispersing funds + polygonamoy: '0.2', scrollsepolia: '1', sepolia: '5', - superpositiontestnet: '1', // no funding for solana - eclipsetestnet: '0', solanatestnet: '0', + superpositiontestnet: '1', }, desiredKathyBalancePerChain: { alfajores: '1', + arbitrumsepolia: '0', + basesepolia: '0', bsctestnet: '1', connextsepolia: '0', + ecotestnet: '0', + // no funding for solana + eclipsetestnet: '0', fuji: '1', holesky: '0', + optimismsepolia: '0', plumetestnet: '0.05', + polygonamoy: '0', scrollsepolia: '1', sepolia: '1', - superpositiontestnet: '0', // no funding for solana - eclipsetestnet: '0', solanatestnet: '0', + superpositiontestnet: '0', }, igpClaimThresholdPerChain: { alfajores: '1', + arbitrumsepolia: '0.05', + basesepolia: '0.05', bsctestnet: '1', connextsepolia: '0.1', + ecotestnet: '0.05', + // no funding for solana + eclipsetestnet: '0', fuji: '1', holesky: '1', + optimismsepolia: '0.05', plumetestnet: '0.1', + polygonamoy: '0.1', scrollsepolia: '0.1', sepolia: '1', - superpositiontestnet: '0.1', // no funding for solana - eclipsetestnet: '0', solanatestnet: '0', + superpositiontestnet: '0.1', }, }; diff --git a/typescript/infra/config/environments/testnet4/gas-oracle.ts b/typescript/infra/config/environments/testnet4/gas-oracle.ts index b5b0cde0b..316400270 100644 --- a/typescript/infra/config/environments/testnet4/gas-oracle.ts +++ b/typescript/infra/config/environments/testnet4/gas-oracle.ts @@ -1,10 +1,6 @@ import { BigNumber, ethers } from 'ethers'; -import { - ChainMap, - ChainName, - TOKEN_EXCHANGE_RATE_DECIMALS, -} from '@hyperlane-xyz/sdk'; +import { ChainName, TOKEN_EXCHANGE_RATE_DECIMALS } from '@hyperlane-xyz/sdk'; import { objMap } from '@hyperlane-xyz/utils'; import { @@ -22,16 +18,21 @@ const gasPrices: Record< BigNumber > = { alfajores: ethers.utils.parseUnits('10', 'gwei'), + arbitrumsepolia: ethers.utils.parseUnits('0.5', 'gwei'), + basesepolia: ethers.utils.parseUnits('0.1', 'gwei'), bsctestnet: ethers.utils.parseUnits('15', 'gwei'), connextsepolia: ethers.utils.parseUnits('0.5', 'gwei'), + ecotestnet: ethers.utils.parseUnits('0.001', 'gwei'), eclipsetestnet: ethers.BigNumber.from('28'), fuji: ethers.utils.parseUnits('30', 'gwei'), holesky: ethers.utils.parseUnits('10', 'gwei'), + optimismsepolia: ethers.utils.parseUnits('0.5', 'gwei'), plumetestnet: ethers.utils.parseUnits('0.01', 'gwei'), + polygonamoy: ethers.utils.parseUnits('100', 'gwei'), scrollsepolia: ethers.utils.parseUnits('0.5', 'gwei'), sepolia: ethers.utils.parseUnits('5', 'gwei'), solanatestnet: ethers.BigNumber.from('28'), - superpositiontestnet: ethers.utils.parseUnits('0.5', 'gwei'), + superpositiontestnet: ethers.utils.parseUnits('0.001', 'gwei'), }; // Used to categorize rarity of testnet tokens & approximate exchange rates. @@ -55,12 +56,17 @@ const chainTokenRarity: Record< Rarity > = { alfajores: Rarity.Common, + arbitrumsepolia: Rarity.Common, + basesepolia: Rarity.Common, bsctestnet: Rarity.Rare, connextsepolia: Rarity.Common, + ecotestnet: Rarity.Rare, eclipsetestnet: Rarity.Common, fuji: Rarity.Rare, holesky: Rarity.Common, + optimismsepolia: Rarity.Common, plumetestnet: Rarity.Common, + polygonamoy: Rarity.Rare, scrollsepolia: Rarity.Rare, sepolia: Rarity.Mythic, solanatestnet: Rarity.Common, diff --git a/typescript/infra/config/environments/testnet4/igp.ts b/typescript/infra/config/environments/testnet4/igp.ts index 4c388b4f0..a564a3360 100644 --- a/typescript/infra/config/environments/testnet4/igp.ts +++ b/typescript/infra/config/environments/testnet4/igp.ts @@ -1,5 +1,6 @@ import { ChainMap, + ChainName, HookType, IgpConfig, defaultMultisigConfigs, @@ -7,10 +8,21 @@ import { } from '@hyperlane-xyz/sdk'; import { Address, exclude, objMap } from '@hyperlane-xyz/utils'; +import { isEthereumProtocolChain } from '../../../src/utils/utils.js'; + import { storageGasOracleConfig } from './gas-oracle.js'; import { owners } from './owners.js'; import { supportedChainNames } from './supportedChainNames.js'; +const FOREIGN_DEFAULT_OVERHEAD = 600_000; // cosmwasm warp route somewhat arbitrarily chosen +const remoteOverhead = (remote: ChainName) => + supportedChainNames.filter(isEthereumProtocolChain).includes(remote as any) + ? multisigIsmVerificationCost( + defaultMultisigConfigs[remote].threshold, + defaultMultisigConfigs[remote].validators.length, + ) + : FOREIGN_DEFAULT_OVERHEAD; // non-ethereum overhead + export const igp: ChainMap = objMap( owners, (chain, ownerConfig): IgpConfig => { @@ -23,11 +35,7 @@ export const igp: ChainMap = objMap( overhead: Object.fromEntries( exclude(chain, supportedChainNames).map((remote) => [ remote, - multisigIsmVerificationCost( - // TODO: parameterize this - defaultMultisigConfigs[remote].threshold, - defaultMultisigConfigs[remote].validators.length, - ), + remoteOverhead(remote), ]), ), }; diff --git a/typescript/infra/config/environments/testnet4/ism/verification.json b/typescript/infra/config/environments/testnet4/ism/verification.json index 316c6a45d..ec024b38a 100644 --- a/typescript/infra/config/environments/testnet4/ism/verification.json +++ b/typescript/infra/config/environments/testnet4/ism/verification.json @@ -365,6 +365,190 @@ "constructorArguments": "", "isProxy": true, "name": "DomaingRoutingIsm" + }, + { + "address": "0x826Ab153e944cE1B251aBD174071DF70d71132D7", + "constructorArguments": "", + "isProxy": true, + "name": "StaticMerkleRootMultisigIsm" + }, + { + "address": "0x78ebeCE0fCAa39F0F0C422E87EBd6BcB708aa763", + "constructorArguments": "", + "isProxy": true, + "name": "StaticMessageIdMultisigIsm" + }, + { + "address": "0xd93F514f36d528DCDc3af1C92788f1bf1f480A7f", + "constructorArguments": "", + "isProxy": true, + "name": "StaticAggregationIsm" + }, + { + "address": "0x019e0a350D85eF67250dD88CD6477ad5E0c6E31e", + "constructorArguments": "", + "isProxy": true, + "name": "StaticAggregationHook" + }, + { + "address": "0xd5ab9FaC601Ed731d5e9c87E5977D2e5fD380666", + "constructorArguments": "", + "isProxy": true, + "name": "DomaingRoutingIsm" + } + ], + "arbitrumsepolia": [ + { + "address": "0xb09A2f4500e4c0BDb7B7c43249FCe475256C9b8c", + "constructorArguments": "", + "isProxy": true, + "name": "StaticMerkleRootMultisigIsm" + }, + { + "address": "0xf93305316D85C013e99a561F10370970b89De270", + "constructorArguments": "", + "isProxy": true, + "name": "StaticMessageIdMultisigIsm" + }, + { + "address": "0x1903F7C68be4e866b6650079eD886D999a81D55A", + "constructorArguments": "", + "isProxy": true, + "name": "StaticAggregationIsm" + }, + { + "address": "0xAd72699Bf65A8B586430962965952595825aE168", + "constructorArguments": "", + "isProxy": true, + "name": "StaticAggregationHook" + }, + { + "address": "0x8A516672De99D8615E87E85014bC15EEe6428d69", + "constructorArguments": "", + "isProxy": true, + "name": "DomaingRoutingIsm" + }, + { + "address": "0xb09A2f4500e4c0BDb7B7c43249FCe475256C9b8c", + "constructorArguments": "", + "isProxy": true, + "name": "StaticMerkleRootMultisigIsm" + }, + { + "address": "0xf93305316D85C013e99a561F10370970b89De270", + "constructorArguments": "", + "isProxy": true, + "name": "StaticMessageIdMultisigIsm" + }, + { + "address": "0x1903F7C68be4e866b6650079eD886D999a81D55A", + "constructorArguments": "", + "isProxy": true, + "name": "StaticAggregationIsm" + }, + { + "address": "0xAd72699Bf65A8B586430962965952595825aE168", + "constructorArguments": "", + "isProxy": true, + "name": "StaticAggregationHook" + }, + { + "address": "0x8A516672De99D8615E87E85014bC15EEe6428d69", + "constructorArguments": "", + "isProxy": true, + "name": "DomaingRoutingIsm" + } + ], + "basesepolia": [ + { + "address": "0x6E7b29CB2A7617405B4d30C6f84bBD51b4Bb4be8", + "constructorArguments": "", + "isProxy": false, + "name": "StaticMerkleRootMultisigIsmFactory" + }, + { + "address": "0x209e7F9d40954E230008B9bb076a0901d32695e5", + "constructorArguments": "", + "isProxy": true, + "name": "StaticMerkleRootMultisigIsm" + }, + { + "address": "0xfc6e546510dC9d76057F1f76633FCFfC188CB213", + "constructorArguments": "", + "isProxy": false, + "name": "StaticMessageIdMultisigIsmFactory" + }, + { + "address": "0x99B304925A08aba9305bC0A8FccBf71B4290c5EF", + "constructorArguments": "", + "isProxy": true, + "name": "StaticMessageIdMultisigIsm" + }, + { + "address": "0x275aCcCa81cAD931dC6fB6E49ED233Bc99Bed4A7", + "constructorArguments": "", + "isProxy": false, + "name": "StaticAggregationIsmFactory" + }, + { + "address": "0x33999AB153F68D481AAB1B238368Ffd1Fe81F360", + "constructorArguments": "", + "isProxy": true, + "name": "StaticAggregationIsm" + }, + { + "address": "0xeb6f11189197223c656807a83B0DD374f9A6dF44", + "constructorArguments": "", + "isProxy": false, + "name": "StaticAggregationHookFactory" + }, + { + "address": "0x3e6F45B03314bD21BcE4201666d483291575E391", + "constructorArguments": "", + "isProxy": true, + "name": "StaticAggregationHook" + }, + { + "address": "0x16B710b86CAd07E6F1C531861a16F5feC29dba37", + "constructorArguments": "", + "isProxy": false, + "name": "DomainRoutingIsmFactory" + }, + { + "address": "0x87935eB971eaA9826060261b07a919451dfd0409", + "constructorArguments": "", + "isProxy": true, + "name": "DomaingRoutingIsm" + }, + { + "address": "0x209e7F9d40954E230008B9bb076a0901d32695e5", + "constructorArguments": "", + "isProxy": true, + "name": "StaticMerkleRootMultisigIsm" + }, + { + "address": "0x99B304925A08aba9305bC0A8FccBf71B4290c5EF", + "constructorArguments": "", + "isProxy": true, + "name": "StaticMessageIdMultisigIsm" + }, + { + "address": "0x33999AB153F68D481AAB1B238368Ffd1Fe81F360", + "constructorArguments": "", + "isProxy": true, + "name": "StaticAggregationIsm" + }, + { + "address": "0x3e6F45B03314bD21BcE4201666d483291575E391", + "constructorArguments": "", + "isProxy": true, + "name": "StaticAggregationHook" + }, + { + "address": "0x87935eB971eaA9826060261b07a919451dfd0409", + "constructorArguments": "", + "isProxy": true, + "name": "DomaingRoutingIsm" } ], "bsctestnet": [ @@ -660,6 +844,36 @@ "isProxy": true, "name": "StaticAggregationHook" }, + { + "address": "0x4ce08bEcdada43aa1FC9628886f4e6Adc1f079ec", + "constructorArguments": "", + "isProxy": true, + "name": "DomaingRoutingIsm" + }, + { + "address": "0x9b13f3d75797951f463D61092Bba7947c8cEb25c", + "constructorArguments": "", + "isProxy": true, + "name": "StaticMerkleRootMultisigIsm" + }, + { + "address": "0x25069c25466B1F21E0D22f467a5f91bc7b24b515", + "constructorArguments": "", + "isProxy": true, + "name": "StaticMessageIdMultisigIsm" + }, + { + "address": "0x25adfb5Ddf378EC77cd5842Ff33B96277E4DD29b", + "constructorArguments": "", + "isProxy": true, + "name": "StaticAggregationIsm" + }, + { + "address": "0x3938ED4c6b5a7f9947C44e58e36a864F03228175", + "constructorArguments": "", + "isProxy": true, + "name": "StaticAggregationHook" + }, { "address": "0x4ce08bEcdada43aa1FC9628886f4e6Adc1f079ec", "constructorArguments": "", @@ -704,24 +918,146 @@ "isProxy": true, "name": "StaticAggregationIsm" }, - { - "address": "0xeb6f11189197223c656807a83B0DD374f9A6dF44", - "constructorArguments": "", - "isProxy": false, - "name": "StaticAggregationHookFactory" - }, + { + "address": "0xeb6f11189197223c656807a83B0DD374f9A6dF44", + "constructorArguments": "", + "isProxy": false, + "name": "StaticAggregationHookFactory" + }, + { + "address": "0x3e6F45B03314bD21BcE4201666d483291575E391", + "constructorArguments": "", + "isProxy": true, + "name": "StaticAggregationHook" + }, + { + "address": "0x16B710b86CAd07E6F1C531861a16F5feC29dba37", + "constructorArguments": "", + "isProxy": false, + "name": "DomainRoutingIsmFactory" + }, + { + "address": "0x87935eB971eaA9826060261b07a919451dfd0409", + "constructorArguments": "", + "isProxy": true, + "name": "DomaingRoutingIsm" + }, + { + "address": "0x209e7F9d40954E230008B9bb076a0901d32695e5", + "constructorArguments": "", + "isProxy": true, + "name": "StaticMerkleRootMultisigIsm" + }, + { + "address": "0x99B304925A08aba9305bC0A8FccBf71B4290c5EF", + "constructorArguments": "", + "isProxy": true, + "name": "StaticMessageIdMultisigIsm" + }, + { + "address": "0x33999AB153F68D481AAB1B238368Ffd1Fe81F360", + "constructorArguments": "", + "isProxy": true, + "name": "StaticAggregationIsm" + }, + { + "address": "0x3e6F45B03314bD21BcE4201666d483291575E391", + "constructorArguments": "", + "isProxy": true, + "name": "StaticAggregationHook" + }, + { + "address": "0x87935eB971eaA9826060261b07a919451dfd0409", + "constructorArguments": "", + "isProxy": true, + "name": "DomaingRoutingIsm" + } + ], + "ecotestnet": [ + { + "address": "0x6E7b29CB2A7617405B4d30C6f84bBD51b4Bb4be8", + "constructorArguments": "", + "isProxy": false, + "name": "StaticMerkleRootMultisigIsmFactory" + }, + { + "address": "0x209e7F9d40954E230008B9bb076a0901d32695e5", + "constructorArguments": "", + "isProxy": true, + "name": "StaticMerkleRootMultisigIsm" + }, + { + "address": "0xfc6e546510dC9d76057F1f76633FCFfC188CB213", + "constructorArguments": "", + "isProxy": false, + "name": "StaticMessageIdMultisigIsmFactory" + }, + { + "address": "0x99B304925A08aba9305bC0A8FccBf71B4290c5EF", + "constructorArguments": "", + "isProxy": true, + "name": "StaticMessageIdMultisigIsm" + }, + { + "address": "0x275aCcCa81cAD931dC6fB6E49ED233Bc99Bed4A7", + "constructorArguments": "", + "isProxy": false, + "name": "StaticAggregationIsmFactory" + }, + { + "address": "0x33999AB153F68D481AAB1B238368Ffd1Fe81F360", + "constructorArguments": "", + "isProxy": true, + "name": "StaticAggregationIsm" + }, + { + "address": "0xeb6f11189197223c656807a83B0DD374f9A6dF44", + "constructorArguments": "", + "isProxy": false, + "name": "StaticAggregationHookFactory" + }, + { + "address": "0x3e6F45B03314bD21BcE4201666d483291575E391", + "constructorArguments": "", + "isProxy": true, + "name": "StaticAggregationHook" + }, + { + "address": "0x16B710b86CAd07E6F1C531861a16F5feC29dba37", + "constructorArguments": "", + "isProxy": false, + "name": "DomainRoutingIsmFactory" + }, + { + "address": "0x87935eB971eaA9826060261b07a919451dfd0409", + "constructorArguments": "", + "isProxy": true, + "name": "DomaingRoutingIsm" + }, + { + "address": "0x209e7F9d40954E230008B9bb076a0901d32695e5", + "constructorArguments": "", + "isProxy": true, + "name": "StaticMerkleRootMultisigIsm" + }, + { + "address": "0x99B304925A08aba9305bC0A8FccBf71B4290c5EF", + "constructorArguments": "", + "isProxy": true, + "name": "StaticMessageIdMultisigIsm" + }, + { + "address": "0x33999AB153F68D481AAB1B238368Ffd1Fe81F360", + "constructorArguments": "", + "isProxy": true, + "name": "StaticAggregationIsm" + }, { "address": "0x3e6F45B03314bD21BcE4201666d483291575E391", "constructorArguments": "", "isProxy": true, "name": "StaticAggregationHook" }, - { - "address": "0x16B710b86CAd07E6F1C531861a16F5feC29dba37", - "constructorArguments": "", - "isProxy": false, - "name": "DomainRoutingIsmFactory" - }, { "address": "0x87935eB971eaA9826060261b07a919451dfd0409", "constructorArguments": "", @@ -1070,6 +1406,36 @@ "isProxy": true, "name": "StaticAggregationHook" }, + { + "address": "0xD47593C21C2429de56AcA808bb2Bbc236c6311DE", + "constructorArguments": "", + "isProxy": true, + "name": "DomaingRoutingIsm" + }, + { + "address": "0x0683D0258A162a87E1F25C454BaA4e9E9DE46B0a", + "constructorArguments": "", + "isProxy": true, + "name": "StaticMerkleRootMultisigIsm" + }, + { + "address": "0xd3262339D39103a4b41379b183b0311B78c9a11F", + "constructorArguments": "", + "isProxy": true, + "name": "StaticMessageIdMultisigIsm" + }, + { + "address": "0x6716Ef4e72c74e66eB40198B16b4379a763fCEd8", + "constructorArguments": "", + "isProxy": true, + "name": "StaticAggregationIsm" + }, + { + "address": "0xBDD7Cfb61D7ae89343b428D3E527BDA9705c4EAC", + "constructorArguments": "", + "isProxy": true, + "name": "StaticAggregationHook" + }, { "address": "0xD47593C21C2429de56AcA808bb2Bbc236c6311DE", "constructorArguments": "", @@ -1162,6 +1528,36 @@ "isProxy": true, "name": "StaticAggregationHook" }, + { + "address": "0x8CF9aB5F805072A007dAd0ae56E0099e83B14b61", + "constructorArguments": "", + "isProxy": true, + "name": "DomaingRoutingIsm" + }, + { + "address": "0x7fFe8C9c17F46F94D784E148FbadD4bF66477722", + "constructorArguments": "", + "isProxy": true, + "name": "StaticMerkleRootMultisigIsm" + }, + { + "address": "0x4863236F3a05A1A1F0850fF8cd09afeBAE82d953", + "constructorArguments": "", + "isProxy": true, + "name": "StaticMessageIdMultisigIsm" + }, + { + "address": "0x10c9FF6EEE4BaD29734322467f541C84001422C2", + "constructorArguments": "", + "isProxy": true, + "name": "StaticAggregationIsm" + }, + { + "address": "0xD6B8D6C372e07f67FeAb75403c0Ec88E3cce7Ab7", + "constructorArguments": "", + "isProxy": true, + "name": "StaticAggregationHook" + }, { "address": "0x8CF9aB5F805072A007dAd0ae56E0099e83B14b61", "constructorArguments": "", @@ -1367,6 +1763,98 @@ "name": "DomaingRoutingIsm" } ], + "optimismsepolia": [ + { + "address": "0x6E7b29CB2A7617405B4d30C6f84bBD51b4Bb4be8", + "constructorArguments": "", + "isProxy": false, + "name": "StaticMerkleRootMultisigIsmFactory" + }, + { + "address": "0x209e7F9d40954E230008B9bb076a0901d32695e5", + "constructorArguments": "", + "isProxy": true, + "name": "StaticMerkleRootMultisigIsm" + }, + { + "address": "0xfc6e546510dC9d76057F1f76633FCFfC188CB213", + "constructorArguments": "", + "isProxy": false, + "name": "StaticMessageIdMultisigIsmFactory" + }, + { + "address": "0x99B304925A08aba9305bC0A8FccBf71B4290c5EF", + "constructorArguments": "", + "isProxy": true, + "name": "StaticMessageIdMultisigIsm" + }, + { + "address": "0x275aCcCa81cAD931dC6fB6E49ED233Bc99Bed4A7", + "constructorArguments": "", + "isProxy": false, + "name": "StaticAggregationIsmFactory" + }, + { + "address": "0x33999AB153F68D481AAB1B238368Ffd1Fe81F360", + "constructorArguments": "", + "isProxy": true, + "name": "StaticAggregationIsm" + }, + { + "address": "0xeb6f11189197223c656807a83B0DD374f9A6dF44", + "constructorArguments": "", + "isProxy": false, + "name": "StaticAggregationHookFactory" + }, + { + "address": "0x3e6F45B03314bD21BcE4201666d483291575E391", + "constructorArguments": "", + "isProxy": true, + "name": "StaticAggregationHook" + }, + { + "address": "0x16B710b86CAd07E6F1C531861a16F5feC29dba37", + "constructorArguments": "", + "isProxy": false, + "name": "DomainRoutingIsmFactory" + }, + { + "address": "0x87935eB971eaA9826060261b07a919451dfd0409", + "constructorArguments": "", + "isProxy": true, + "name": "DomaingRoutingIsm" + }, + { + "address": "0x209e7F9d40954E230008B9bb076a0901d32695e5", + "constructorArguments": "", + "isProxy": true, + "name": "StaticMerkleRootMultisigIsm" + }, + { + "address": "0x99B304925A08aba9305bC0A8FccBf71B4290c5EF", + "constructorArguments": "", + "isProxy": true, + "name": "StaticMessageIdMultisigIsm" + }, + { + "address": "0x33999AB153F68D481AAB1B238368Ffd1Fe81F360", + "constructorArguments": "", + "isProxy": true, + "name": "StaticAggregationIsm" + }, + { + "address": "0x3e6F45B03314bD21BcE4201666d483291575E391", + "constructorArguments": "", + "isProxy": true, + "name": "StaticAggregationHook" + }, + { + "address": "0x87935eB971eaA9826060261b07a919451dfd0409", + "constructorArguments": "", + "isProxy": true, + "name": "DomaingRoutingIsm" + } + ], "plumetestnet": [ { "address": "0x16B710b86CAd07E6F1C531861a16F5feC29dba37", @@ -1457,6 +1945,98 @@ "constructorArguments": "", "isProxy": true, "name": "DomaingRoutingIsm" + }, + { + "address": "0x87935eB971eaA9826060261b07a919451dfd0409", + "constructorArguments": "", + "isProxy": true, + "name": "StaticMerkleRootMultisigIsm" + }, + { + "address": "0xE5cA56294dA5Bd490D5Bc489B177B002ad16AF83", + "constructorArguments": "", + "isProxy": true, + "name": "StaticMessageIdMultisigIsm" + }, + { + "address": "0x7fFe8C9c17F46F94D784E148FbadD4bF66477722", + "constructorArguments": "", + "isProxy": true, + "name": "StaticAggregationIsm" + }, + { + "address": "0x4863236F3a05A1A1F0850fF8cd09afeBAE82d953", + "constructorArguments": "", + "isProxy": true, + "name": "StaticAggregationHook" + }, + { + "address": "0x10c9FF6EEE4BaD29734322467f541C84001422C2", + "constructorArguments": "", + "isProxy": true, + "name": "DomaingRoutingIsm" + } + ], + "polygonamoy": [ + { + "address": "0xfc6e546510dC9d76057F1f76633FCFfC188CB213", + "constructorArguments": "", + "isProxy": false, + "name": "StaticMerkleRootMultisigIsmFactory" + }, + { + "address": "0x99B304925A08aba9305bC0A8FccBf71B4290c5EF", + "constructorArguments": "", + "isProxy": true, + "name": "StaticMerkleRootMultisigIsm" + }, + { + "address": "0x275aCcCa81cAD931dC6fB6E49ED233Bc99Bed4A7", + "constructorArguments": "", + "isProxy": false, + "name": "StaticMessageIdMultisigIsmFactory" + }, + { + "address": "0x33999AB153F68D481AAB1B238368Ffd1Fe81F360", + "constructorArguments": "", + "isProxy": true, + "name": "StaticMessageIdMultisigIsm" + }, + { + "address": "0xeb6f11189197223c656807a83B0DD374f9A6dF44", + "constructorArguments": "", + "isProxy": false, + "name": "StaticAggregationIsmFactory" + }, + { + "address": "0x3e6F45B03314bD21BcE4201666d483291575E391", + "constructorArguments": "", + "isProxy": true, + "name": "StaticAggregationIsm" + }, + { + "address": "0x16B710b86CAd07E6F1C531861a16F5feC29dba37", + "constructorArguments": "", + "isProxy": false, + "name": "StaticAggregationHookFactory" + }, + { + "address": "0x87935eB971eaA9826060261b07a919451dfd0409", + "constructorArguments": "", + "isProxy": true, + "name": "StaticAggregationHook" + }, + { + "address": "0x44b764045BfDC68517e10e783E69B376cef196B2", + "constructorArguments": "", + "isProxy": false, + "name": "DomainRoutingIsmFactory" + }, + { + "address": "0xE5cA56294dA5Bd490D5Bc489B177B002ad16AF83", + "constructorArguments": "", + "isProxy": true, + "name": "DomaingRoutingIsm" } ], "scrollsepolia": [ diff --git a/typescript/infra/config/environments/testnet4/supportedChainNames.ts b/typescript/infra/config/environments/testnet4/supportedChainNames.ts index 98b5885ab..2ffecf7f2 100644 --- a/typescript/infra/config/environments/testnet4/supportedChainNames.ts +++ b/typescript/infra/config/environments/testnet4/supportedChainNames.ts @@ -1,12 +1,17 @@ // Placing them here instead of adjacent chains file to avoid circular dep export const testnet4SupportedChainNames = [ 'alfajores', + 'arbitrumsepolia', + 'basesepolia', 'bsctestnet', 'connextsepolia', + 'ecotestnet', 'eclipsetestnet', - 'holesky', 'fuji', + 'holesky', + 'optimismsepolia', 'plumetestnet', + 'polygonamoy', 'scrollsepolia', 'sepolia', 'solanatestnet', diff --git a/typescript/infra/config/environments/testnet4/validators.ts b/typescript/infra/config/environments/testnet4/validators.ts index aeea07711..e65968e60 100644 --- a/typescript/infra/config/environments/testnet4/validators.ts +++ b/typescript/infra/config/environments/testnet4/validators.ts @@ -30,6 +30,42 @@ export const validatorChainConfig = ( 'alfajores', ), }, + arbitrumsepolia: { + interval: 5, + reorgPeriod: getReorgPeriod('arbitrumsepolia'), + validators: validatorsConfig( + { + [Contexts.Hyperlane]: ['0x09fabfbca0b8bf042e2a1161ee5010d147b0f603'], + [Contexts.ReleaseCandidate]: [], + [Contexts.Neutron]: [], + }, + 'arbitrumsepolia', + ), + }, + basesepolia: { + interval: 5, + reorgPeriod: getReorgPeriod('basesepolia'), + validators: validatorsConfig( + { + [Contexts.Hyperlane]: ['0x82e3b437a2944e3ff00258c93e72cd1ba5e0e921'], + [Contexts.ReleaseCandidate]: [], + [Contexts.Neutron]: [], + }, + 'basesepolia', + ), + }, + ecotestnet: { + interval: 5, + reorgPeriod: getReorgPeriod('ecotestnet'), + validators: validatorsConfig( + { + [Contexts.Hyperlane]: ['0xb3191420d463c2af8bd9b4a395e100ec5c05915a'], + [Contexts.ReleaseCandidate]: [], + [Contexts.Neutron]: [], + }, + 'ecotestnet', + ), + }, fuji: { interval: 5, reorgPeriod: getReorgPeriod('alfajores'), @@ -181,5 +217,29 @@ export const validatorChainConfig = ( 'superpositiontestnet', ), }, + optimismsepolia: { + interval: 5, + reorgPeriod: getReorgPeriod('optimismsepolia'), + validators: validatorsConfig( + { + [Contexts.Hyperlane]: ['0x03efe4d0632ee15685d7e8f46dea0a874304aa29'], + [Contexts.ReleaseCandidate]: [], + [Contexts.Neutron]: [], + }, + 'optimismsepolia', + ), + }, + polygonamoy: { + interval: 5, + reorgPeriod: getReorgPeriod('polygonamoy'), + validators: validatorsConfig( + { + [Contexts.Hyperlane]: ['0xf0290b06e446b320bd4e9c4a519420354d7ddccd'], + [Contexts.ReleaseCandidate]: [], + [Contexts.Neutron]: [], + }, + 'polygonamoy', + ), + }, }; }; diff --git a/typescript/infra/scripts/secret-rpc-urls/set-rpc-urls-from-registry.ts b/typescript/infra/scripts/secret-rpc-urls/set-rpc-urls-from-registry.ts index 569e1e56c..22a24dcde 100644 --- a/typescript/infra/scripts/secret-rpc-urls/set-rpc-urls-from-registry.ts +++ b/typescript/infra/scripts/secret-rpc-urls/set-rpc-urls-from-registry.ts @@ -16,7 +16,12 @@ async function main() { )} in ${environment} environment`, ); - const registry = await getRegistryForEnvironment(environment, chains); + const registry = await getRegistryForEnvironment( + environment, + chains, + undefined, + false, + ); for (const chain of chains) { console.log(`\nSetting RPC URLs for chain: ${chain}`); diff --git a/typescript/sdk/src/consts/multisigIsm.ts b/typescript/sdk/src/consts/multisigIsm.ts index 685b0e09a..ec2751e7c 100644 --- a/typescript/sdk/src/consts/multisigIsm.ts +++ b/typescript/sdk/src/consts/multisigIsm.ts @@ -32,6 +32,11 @@ export const defaultMultisigConfigs: ChainMap = { ], }, + arbitrumsepolia: { + threshold: 1, + validators: ['0x09fabfbca0b8bf042e2a1161ee5010d147b0f603'], + }, + avalanche: { threshold: 2, validators: [ @@ -52,6 +57,11 @@ export const defaultMultisigConfigs: ChainMap = { ], }, + basesepolia: { + threshold: 1, + validators: ['0x82e3b437a2944e3ff00258c93e72cd1ba5e0e921'], + }, + blast: { threshold: 2, validators: [ @@ -129,6 +139,11 @@ export const defaultMultisigConfigs: ChainMap = { validators: ['0xf344f34abca9a444545b5295066348a0ae22dda3'], }, + ecotestnet: { + threshold: 1, + validators: ['0xb3191420d463c2af8bd9b4a395e100ec5c05915a'], + }, + endurance: { threshold: 2, validators: [ @@ -283,6 +298,11 @@ export const defaultMultisigConfigs: ChainMap = { ], }, + optimismsepolia: { + threshold: 1, + validators: ['0x03efe4d0632ee15685d7e8f46dea0a874304aa29'], + }, + osmosis: { threshold: 1, validators: ['0xea483af11c19fa41b16c31d1534c2a486a92bcac'], @@ -303,6 +323,11 @@ export const defaultMultisigConfigs: ChainMap = { ], }, + polygonamoy: { + threshold: 1, + validators: ['0xf0290b06e446b320bd4e9c4a519420354d7ddccd'], + }, + polygonzkevm: { threshold: 2, validators: [