diff --git a/rust/config/mainnet3_config.json b/rust/config/mainnet3_config.json index 8aab9dcf46..9f831e686a 100644 --- a/rust/config/mainnet3_config.json +++ b/rust/config/mainnet3_config.json @@ -1,64 +1,84 @@ { "chains": { "arbitrum": { + "blockExplorers": [ + { + "apiUrl": "https://api.arbiscan.io/api", + "family": "etherscan", + "name": "Arbiscan", + "url": "https://arbiscan.io" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 3, + "reorgPeriod": 0 + }, "chainId": 42161, + "displayName": "Arbitrum", "domainId": 42161, + "gasCurrencyCoinGeckoId": "ethereum", + "gnosisSafeTransactionServiceUrl": "https://safe-transaction-arbitrum.safe.global/", "name": "arbitrum", - "protocol": "ethereum", - "displayName": "Arbitrum", "nativeToken": { + "decimals": 18, "name": "Ether", - "symbol": "ETH", - "decimals": 18 + "symbol": "ETH" }, + "protocol": "ethereum", "rpcUrls": [ { "http": "https://arb1.arbitrum.io/rpc" } ], - "blockExplorers": [ - { - "name": "Arbiscan", - "url": "https://arbiscan.io", - "apiUrl": "https://api.arbiscan.io/api", - "family": "etherscan" - } - ], - "blocks": { - "confirmations": 1, - "reorgPeriod": 0, - "estimateBlockTime": 3 - }, - "gasCurrencyCoinGeckoId": "ethereum", - "gnosisSafeTransactionServiceUrl": "https://safe-transaction-arbitrum.safe.global/", "storageGasOracle": "0xD3805207b65d99C075ceA938Fa7c0587026a5DF5", "proxyAdmin": "0x80Cebd56A65e46c474a1A101e89E76C4c51D179c", "merkleRootMultisigIsmFactory": "0x3C330D4A2e2b8443AFaB8E326E64ab4251B7Eae0", "messageIdMultisigIsmFactory": "0x12Df53079d399a47e9E730df095b712B0FDFA791", "aggregationIsmFactory": "0xD4883084389fC1Eeb4dAfB2ADcFc36B711c310EB", "aggregationHookFactory": "0x9B5f440bBb64Fee337F37e03362b628711Ea09C7", - "routingIsmFactory": "0xC020F8A7b00178dFA0fcC75C159e14b79F8e5c63", "merkleTreeHook": "0x748040afB89B8FdBb992799808215419d36A0930", "interchainGasPaymaster": "0x3b6044acd6767f017e99318AA6Ef93b7B06A5a22", "aggregationHook": "0xe0cb37cFc47296f1c4eD77EFf92Aed478644d10c", "protocolFee": "0xD0199067DACb8526e7dc524a9a7DCBb57Cd25421", "mailbox": "0x979Ca5202784112f4738403dBec5D0F3B9daabB9", "validatorAnnounce": "0x1df063280C4166AF9a725e3828b4dAC6c7113B08", + "testRecipient": "0x36FdA966CfffF8a9Cdc814f546db0e6378bFef35", + "testTokenRecipient": "0x85ac1164878e017b67660a74ff1f41f3D05C02Bb", + "routingIsmFactory": "0xa2931C37957f3079d3B21b877d56E1db930e02a5", + "pausableHook": "0xEf30f29Dcd3FCB1DCcDA9C7Cbf2A5957E8Ee9Cc3", + "fallbackRoutingHook": "0x9e8fFb1c26099e75Dd5D794030e2E9AA51471c25", + "interchainSecurityModule": "0xD0DBBF922076352cC50B285A0023536561F00EEa", "index": { - "from": 143699718 + "from": 18422579 } }, "avalanche": { + "blockExplorers": [ + { + "apiUrl": "https://api.snowtrace.io/api", + "family": "other", + "name": "SnowTrace", + "url": "https://snowtrace.io" + } + ], + "blocks": { + "confirmations": 3, + "estimateBlockTime": 2, + "reorgPeriod": 3 + }, "chainId": 43114, + "displayName": "Avalanche", "domainId": 43114, + "gasCurrencyCoinGeckoId": "avalanche-2", + "gnosisSafeTransactionServiceUrl": "https://safe-transaction-avalanche.safe.global/", "name": "avalanche", - "protocol": "ethereum", - "displayName": "Avalanche", "nativeToken": { "decimals": 18, "name": "Avalanche", "symbol": "AVAX" }, + "protocol": "ethereum", "rpcUrls": [ { "http": "https://api.avax.network/ext/bc/C/rpc", @@ -68,49 +88,54 @@ } } ], - "blockExplorers": [ - { - "name": "SnowTrace", - "url": "https://snowtrace.io", - "apiUrl": "https://api.snowtrace.io/api", - "family": "other" - } - ], - "blocks": { - "confirmations": 3, - "reorgPeriod": 3, - "estimateBlockTime": 2 - }, - "gasCurrencyCoinGeckoId": "avalanche-2", - "gnosisSafeTransactionServiceUrl": "https://safe-transaction-avalanche.safe.global/", "storageGasOracle": "0x175821F30AdCAA4bbB72Ce98eF76C2E0De2C3f21", "proxyAdmin": "0xd7CF8c05fd81b8cA7CfF8E6C49B08a9D63265c9B", "merkleRootMultisigIsmFactory": "0x896cF1D1B66cD211633eDd589fF158E8Cfaf9B54", "messageIdMultisigIsmFactory": "0x8819D653DF5b1FC0DdB32189a2704E471AF8483c", "aggregationIsmFactory": "0xa5E13796eB7d2EDCc88012c8cfF90D69B51FcF9f", "aggregationHookFactory": "0x3bF6Ac986C7Af9A9Ac356C0e99C0041EFd8D96e7", - "routingIsmFactory": "0xA9Ddc70f50009aF8bDB312aA757B4304b0F7BbB3", "merkleTreeHook": "0x84eea61D679F42D92145fA052C89900CBAccE95A", "interchainGasPaymaster": "0x95519ba800BBd0d34eeAE026fEc620AD978176C0", "aggregationHook": "0x0165a22BA489F7DA37DAf6397781777D9FCB5708", "protocolFee": "0xEc4AdA26E51f2685279F37C8aE62BeAd8212D597", "mailbox": "0xFf06aFcaABaDDd1fb08371f9ccA15D73D51FeBD6", "validatorAnnounce": "0x9Cad0eC82328CEE2386Ec14a12E81d070a27712f", + "testRecipient": "0x36FdA966CfffF8a9Cdc814f546db0e6378bFef35", + "testTokenRecipient": "0x85ac1164878e017b67660a74ff1f41f3D05C02Bb", + "routingIsmFactory": "0x28F7907911C7E321c596686AE6D1F20516450037", + "pausableHook": "0x239eB860770F1C48ABAC9bE9825d20e3E7c018df", + "fallbackRoutingHook": "0x61D15D571D5f7A9eF0D1938f072f430bBF024747", + "interchainSecurityModule": "0xA36B02a83564f52d9244310Ea439ee6F6AfeFb60", "index": { - "from": 36881761 + "from": 36874693 } }, "base": { + "blockExplorers": [ + { + "apiUrl": "https://api.basescan.org/api", + "family": "etherscan", + "name": "BaseScan", + "url": "https://basescan.org" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 2, + "reorgPeriod": 1 + }, "chainId": 8453, + "displayName": "Base", "domainId": 8453, + "gasCurrencyCoinGeckoId": "ethereum", + "gnosisSafeTransactionServiceUrl": "https://safe-transaction-base.safe.global/", "name": "base", - "protocol": "ethereum", - "displayName": "Base", "nativeToken": { + "decimals": 18, "name": "Ether", - "symbol": "ETH", - "decimals": 18 + "symbol": "ETH" }, + "protocol": "ethereum", "rpcUrls": [ { "http": "https://base.publicnode.com/" @@ -122,25 +147,10 @@ "http": "https://base.blockpi.network/v1/rpc/public" } ], - "blockExplorers": [ - { - "name": "BaseScan", - "url": "https://basescan.org", - "apiUrl": "https://api.basescan.org/api", - "family": "etherscan" - } - ], - "blocks": { - "confirmations": 1, - "reorgPeriod": 1, - "estimateBlockTime": 2 - }, - "gnosisSafeTransactionServiceUrl": "https://safe-transaction-base.safe.global/", "merkleRootMultisigIsmFactory": "0x8b83fefd896fAa52057798f6426E9f0B080FCCcE", "messageIdMultisigIsmFactory": "0x8F7454AC98228f3504Bb91eA3D8Adafe6406110A", "aggregationIsmFactory": "0xEb9FcFDC9EfDC17c1EC5E1dc085B98485da213D6", "aggregationHookFactory": "0x1052eF3419f26Bec74Ed7CEf4a4FA6812Bc09908", - "routingIsmFactory": "0x0761b0827849abbf7b0cC09CE14e1C93D87f5004", "proxyAdmin": "0x4Ed7d626f1E96cD1C0401607Bf70D95243E3dEd1", "mailbox": "0xeA87ae93Fa0019a82A727bfd3eBd1cFCa8f64f1D", "merkleTreeHook": "0x19dc38aeae620380430C200a6E990D5Af5480117", @@ -149,45 +159,52 @@ "aggregationHook": "0x13f3d4B0Ee0a713430fded9E18f7fb6c91A6E41F", "protocolFee": "0x99ca8c74cE7Cfa9d72A51fbb05F9821f5f826b3a", "validatorAnnounce": "0x182E8d7c5F1B06201b102123FC7dF0EaeB445a7B", + "routingIsmFactory": "0x7E27456a839BFF31CA642c060a2b68414Cb6e503", + "pausableHook": "0x46fa3A5780e5B90Eaf34BDED554d5353B5ABE9E7", + "fallbackRoutingHook": "0x4Eb82Ee35b0a1c1d776E3a3B547f9A9bA6FCC9f2", + "interchainSecurityModule": "0x5D1e7D7c5B9e6dDC8439F67F10c578f2A1084f6F", "index": { - "from": 5702757 + "from": 5695475 } }, "bsc": { + "blockExplorers": [ + { + "apiUrl": "https://api.bscscan.com/api", + "family": "etherscan", + "name": "BscScan", + "url": "https://bscscan.com" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 3, + "reorgPeriod": 15 + }, "chainId": 56, - "domainId": 56, - "name": "bsc", - "protocol": "ethereum", "displayName": "Binance Smart Chain", "displayNameShort": "Binance", + "domainId": 56, + "gasCurrencyCoinGeckoId": "binancecoin", + "gnosisSafeTransactionServiceUrl": "https://safe-transaction-bsc.safe.global/", + "name": "bsc", "nativeToken": { "decimals": 18, "name": "BNB", "symbol": "BNB" }, + "protocol": "ethereum", "rpcUrls": [ { - "http": "https://bsc-dataseed.binance.org" + "http": "https://rpc.ankr.com/bsc" }, { - "http": "https://rpc.ankr.com/bsc" - } - ], - "blockExplorers": [ + "http": "https://bsc.drpc.org" + }, { - "name": "BscScan", - "url": "https://bscscan.com", - "apiUrl": "https://api.bscscan.com/api", - "family": "etherscan" + "http": "https://bscrpc.com" } ], - "blocks": { - "confirmations": 1, - "reorgPeriod": 15, - "estimateBlockTime": 3 - }, - "gasCurrencyCoinGeckoId": "binancecoin", - "gnosisSafeTransactionServiceUrl": "https://safe-transaction-bsc.safe.global/", "transactionOverrides": { "gasPrice": 7000000000 }, @@ -197,81 +214,114 @@ "messageIdMultisigIsmFactory": "0x4B1d8352E35e3BDE36dF5ED2e73C24E35c4a96b7", "aggregationIsmFactory": "0x38B3878c4fb44d201DA924c4a04bae3EE728c065", "aggregationHookFactory": "0xe70E86a7D1e001D419D71F960Cb6CaD59b6A3dB6", - "routingIsmFactory": "0xc40481D13419BC8090e6AD07074Ef39E538c09CE", "mailbox": "0x2971b9Aec44bE4eb673DF1B88cDB57b96eefe8a4", "merkleTreeHook": "0xFDb9Cd5f9daAA2E4474019405A328a88E7484f26", "interchainGasPaymaster": "0x78E25e7f84416e69b9339B0A6336EB6EFfF6b451", "aggregationHook": "0x402Fc106576462a892355d69ACF03D46A888ae88", "protocolFee": "0xA8Aa5f14a5463a78E45CC068F11c867949F3E367", "validatorAnnounce": "0x7024078130D9c2100fEA474DAD009C2d1703aCcd", + "testRecipient": "0x36FdA966CfffF8a9Cdc814f546db0e6378bFef35", + "testTokenRecipient": "0x85ac1164878e017b67660a74ff1f41f3D05C02Bb", + "routingIsmFactory": "0xe6Af5720d34213C805C08e2470aea979e3F72F75", + "interchainSecurityModule": "0xab3df354baBee6c2B88E2CeD3b2e030e31aA5e61", + "fallbackRoutingHook": "0x237E81f87F57Badad9e09f13CC676D986cA852e7", + "pausableHook": "0x7DBdAd1b4A922B65d37d7258a4227b6658344b7f", "index": { - "from": 32897848 + "from": 32893043 } }, "celo": { + "blockExplorers": [ + { + "apiUrl": "https://api.celoscan.io/api", + "family": "etherscan", + "name": "CeloScan", + "url": "https://celoscan.io" + }, + { + "apiUrl": "https://explorer.celo.org/mainnet/api", + "family": "blockscout", + "name": "Blockscout", + "url": "https://explorer.celo.org" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 5, + "reorgPeriod": 0 + }, "chainId": 42220, + "displayName": "Celo", "domainId": 42220, + "gnosisSafeTransactionServiceUrl": "https://mainnet-tx-svc.celo-safe-prod.celo-networks-dev.org/", "name": "celo", - "protocol": "ethereum", - "displayName": "Celo", "nativeToken": { "decimals": 18, "name": "CELO", "symbol": "CELO" }, + "protocol": "ethereum", "rpcUrls": [ { "http": "https://forno.celo.org" } ], - "blockExplorers": [ - { - "name": "CeloScan", - "url": "https://celoscan.io", - "apiUrl": "https://api.celoscan.io/api", - "family": "etherscan" - }, - { - "name": "Blockscout", - "url": "https://explorer.celo.org", - "apiUrl": "https://explorer.celo.org/mainnet/api", - "family": "blockscout" - } - ], - "blocks": { - "confirmations": 1, - "reorgPeriod": 0, - "estimateBlockTime": 5 - }, - "gnosisSafeTransactionServiceUrl": "https://mainnet-tx-svc.celo-safe-prod.celo-networks-dev.org/", "storageGasOracle": "0xD9A9966E7dA9a7f0032bF449FB12696a638E673C", "proxyAdmin": "0x90f9a2E9eCe93516d65FdaB726a3c62F5960a1b9", "merkleRootMultisigIsmFactory": "0x4C96a1abc44dc846775CE702C9E9BE821D3b487c", "messageIdMultisigIsmFactory": "0xaB402f227e892Ef37C105bf06619c0fa106a1fB2", "aggregationIsmFactory": "0x1722dd970a1F56040712129f5Eeb76B003fd7500", "aggregationHookFactory": "0xc3745652EFB8555A8b064A0EA78d295133d326D2", - "routingIsmFactory": "0xec748b5623f0B50E4c5eB1CFa7Bd46C3213608b6", "merkleTreeHook": "0x04dB778f05854f26E67e0a66b740BBbE9070D366", "interchainGasPaymaster": "0x571f1435613381208477ac5d6974310d88AC7cB7", "aggregationHook": "0xc65890329066FB20c339Bc5C22f1756e9D3a4fF5", "protocolFee": "0x89886d431f9c3eEE64DCD6dAbA3f7D689D98D899", "mailbox": "0x50da3B3907A08a24fe4999F4Dcf337E8dC7954bb", "validatorAnnounce": "0xCeF677b65FDaA6804d4403083bb12B8dB3991FE1", + "testRecipient": "0x36FdA966CfffF8a9Cdc814f546db0e6378bFef35", + "testTokenRecipient": "0x85ac1164878e017b67660a74ff1f41f3D05C02Bb", + "routingIsmFactory": "0x2A2c22B0a8615ad24839fA6Af302E896Af32d1a3", + "domainRoutingIsm": "0xf18E32428dad0802C5D6F723cB80A6Da889777c4", + "pausableIsm": "0x6Bc4437ce69696C9461Cbc89582c259AC8847A58", + "staticAggregationIsm": "0x99e8E56Dce3402D6E09A82718937fc1cA2A9491E", + "interchainSecurityModule": "0x99e8E56Dce3402D6E09A82718937fc1cA2A9491E", + "fallbackRoutingHook": "0xDC98a856fb9112894c2fE32267DA8bF35645FAF3", + "pausableHook": "0x80672c5D9Fd26B235654C24adc1CFcDeb8d15115", "index": { - "from": 22105253 + "from": 22102340 } }, "ethereum": { + "blockExplorers": [ + { + "apiUrl": "https://api.etherscan.io/api", + "family": "etherscan", + "name": "Etherscan", + "url": "https://etherscan.io" + }, + { + "apiUrl": "https://blockscout.com/eth/mainnet/api", + "family": "blockscout", + "name": "Blockscout", + "url": "https://blockscout.com/eth/mainnet" + } + ], + "blocks": { + "confirmations": 3, + "estimateBlockTime": 13, + "reorgPeriod": 14 + }, "chainId": 1, + "displayName": "Ethereum", "domainId": 1, + "gnosisSafeTransactionServiceUrl": "https://safe-transaction-mainnet.safe.global/", "name": "ethereum", - "protocol": "ethereum", - "displayName": "Ethereum", "nativeToken": { + "decimals": 18, "name": "Ether", - "symbol": "ETH", - "decimals": 18 + "symbol": "ETH" }, + "protocol": "ethereum", "rpcUrls": [ { "http": "https://mainnet.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161" @@ -280,26 +330,6 @@ "http": "https://cloudflare-eth.com" } ], - "blockExplorers": [ - { - "name": "Etherscan", - "url": "https://etherscan.io", - "apiUrl": "https://api.etherscan.io/api", - "family": "etherscan" - }, - { - "name": "Blockscout", - "url": "https://blockscout.com/eth/mainnet", - "apiUrl": "https://blockscout.com/eth/mainnet/api", - "family": "blockscout" - } - ], - "blocks": { - "confirmations": 3, - "reorgPeriod": 14, - "estimateBlockTime": 13 - }, - "gnosisSafeTransactionServiceUrl": "https://safe-transaction-mainnet.safe.global/", "transactionOverrides": { "maxFeePerGas": 150000000000, "maxPriorityFeePerGas": 5000000000 @@ -310,28 +340,48 @@ "messageIdMultisigIsmFactory": "0xfA21D9628ADce86531854C2B7ef00F07394B0B69", "aggregationIsmFactory": "0x46FA191Ad972D9674Ed752B69f9659A0d7b22846", "aggregationHookFactory": "0x6D2555A8ba483CcF4409C39013F5e9a3285D3C9E", - "routingIsmFactory": "0xCb74c6aE411236CEE6803619916694BE86cF5987", "merkleTreeHook": "0x48e6c30B97748d1e2e03bf3e9FbE3890ca5f8CCA", "interchainGasPaymaster": "0x9e6B1022bE9BBF5aFd152483DAD9b88911bC8611", "aggregationHook": "0xb87AC8EA4533AE017604E44470F7c1E550AC6F10", "protocolFee": "0x8B05BF30F6247a90006c5837eA63C7905D79e6d8", "mailbox": "0xc005dc82818d67AF737725bD4bf75435d065D239", "validatorAnnounce": "0xCe74905e51497b4adD3639366708b821dcBcff96", + "testRecipient": "0x36FdA966CfffF8a9Cdc814f546db0e6378bFef35", + "testTokenRecipient": "0x85ac1164878e017b67660a74ff1f41f3D05C02Bb", + "routingIsmFactory": "0x28fA9552F19039b450498B0d8e5DEAe0d0aAc559", + "pausableHook": "0x3A66Dc852e56d3748838b3C27CF381105b83705b", + "fallbackRoutingHook": "0x571f1435613381208477ac5d6974310d88AC7cB7", + "interchainSecurityModule": "0x43Ce4Eb4aE3585dDe9Ac6967Db5b06f7f6764C8a", "index": { - "from": 18423787 + "from": 18422581 } }, "gnosis": { + "blockExplorers": [ + { + "apiUrl": "https://api.gnosisscan.io/api", + "family": "etherscan", + "name": "GnosisScan", + "url": "https://gnosisscan.io" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 5, + "reorgPeriod": 14 + }, "chainId": 100, + "displayName": "Gnosis", "domainId": 100, + "gasCurrencyCoinGeckoId": "xdai", + "gnosisSafeTransactionServiceUrl": "https://safe-transaction-gnosis-chain.safe.global/", "name": "gnosis", - "protocol": "ethereum", - "displayName": "Gnosis", "nativeToken": { + "decimals": 18, "name": "xDai", - "symbol": "xDai", - "decimals": 18 + "symbol": "xDai" }, + "protocol": "ethereum", "rpcUrls": [ { "http": "https://rpc.gnosischain.com", @@ -341,21 +391,6 @@ } } ], - "blockExplorers": [ - { - "name": "GnosisScan", - "url": "https://gnosisscan.io", - "apiUrl": "https://api.gnosisscan.io/api", - "family": "etherscan" - } - ], - "blocks": { - "confirmations": 1, - "reorgPeriod": 14, - "estimateBlockTime": 5 - }, - "gasCurrencyCoinGeckoId": "xdai", - "gnosisSafeTransactionServiceUrl": "https://safe-transaction-gnosis-chain.safe.global/", "storageGasOracle": "0x5E01d8F34b629E3f92d69546bbc4142A7Adee7e9", "proxyAdmin": "0x81a92A1a272cb09d7b4970b07548463dC7aE0cB7", "merkleRootMultisigIsmFactory": "0x8E273260EAd8B72A085B19346A676d355740e875", @@ -363,44 +398,56 @@ "aggregationIsmFactory": "0x11EF91d17c5ad3330DbCa709a8841743d3Af6819", "aggregationHookFactory": "0xbC8AA096dabDf4A0200BB9f8D4Cbb644C3D86d7B", "mailbox": "0xaD09d78f4c6b9dA2Ae82b1D34107802d380Bb74f", - "routingIsmFactory": "0xd9Cc2e652A162bb93173d1c44d46cd2c0bbDA59D", "merkleTreeHook": "0x2684C6F89E901987E1FdB7649dC5Be0c57C61645", "interchainGasPaymaster": "0xDd260B99d302f0A3fF885728c086f729c06f227f", "aggregationHook": "0xdD1FA1C12496474c1dDC67a658Ba81437F818861", "protocolFee": "0x9c2214467Daf9e2e1F45b36d08ce0b9C65BFeA88", "validatorAnnounce": "0x87ED6926abc9E38b9C7C19f835B41943b622663c", + "testRecipient": "0x36FdA966CfffF8a9Cdc814f546db0e6378bFef35", + "testTokenRecipient": "0x85ac1164878e017b67660a74ff1f41f3D05C02Bb", + "routingIsmFactory": "0xbB5Df000113e767dE11343A16f83De733e5bCC0F", + "pausableHook": "0xf728C884De5275a608dEC222dACd0f2BF2E23AB6", + "fallbackRoutingHook": "0x24f5E353dD03E103Ba2372F7D6FC0cf3A66f849c", + "interchainSecurityModule": "0x8e1aa0687B6d939D5a44304D13B7c922ebB012f1", "index": { - "from": 30623434 + "from": 30620793 } }, "mantapacific": { - "protocol": "ethereum", - "domainId": 169, + "blockExplorers": [ + { + "apiUrl": "https://pacific-explorer.manta.network/api", + "family": "blockscout", + "name": "Manta Pacific Explorer", + "url": "https://pacific-explorer.manta.network" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 3, + "reorgPeriod": 1 + }, "chainId": 169, - "name": "mantapacific", "displayName": "Manta Pacific", "displayNameShort": "Manta", + "domainId": 169, + "isTestnet": false, + "name": "mantapacific", "nativeToken": { + "decimals": 18, "name": "Ether", - "symbol": "ETH", - "decimals": 18 - }, - "blocks": { - "confirmations": 1, - "reorgPeriod": 1, - "estimateBlockTime": 3 + "symbol": "ETH" }, + "protocol": "ethereum", "rpcUrls": [ { "http": "https://pacific-rpc.manta.network/http" } ], - "isTestnet": false, "merkleRootMultisigIsmFactory": "0x8F7454AC98228f3504Bb91eA3D8Adafe6406110A", "messageIdMultisigIsmFactory": "0xEb9FcFDC9EfDC17c1EC5E1dc085B98485da213D6", "aggregationIsmFactory": "0x1052eF3419f26Bec74Ed7CEf4a4FA6812Bc09908", "aggregationHookFactory": "0x0761b0827849abbf7b0cC09CE14e1C93D87f5004", - "routingIsmFactory": "0x4Ed7d626f1E96cD1C0401607Bf70D95243E3dEd1", "proxyAdmin": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "domainRoutingIsm": "0xDEed16fe4b1c9b2a93483EDFf34C77A9b57D31Ff", @@ -410,44 +457,12 @@ "aggregationHook": "0x8464aF853363B8d6844070F68b0AB34Cb6523d0F", "protocolFee": "0xd83A4F747fE80Ed98839e05079B1B7Fe037b1638", "validatorAnnounce": "0x2fa5F5C96419C222cDbCeC797D696e6cE428A7A9", + "routingIsmFactory": "0x8358D8291e3bEDb04804975eEa0fe9fe0fAfB147", + "pausableHook": "0x7556a0E61d577D921Cba8Fca0d7D6299d36E607E", + "fallbackRoutingHook": "0xD1E267d2d7876e97E217BfE61c34AB50FEF52807", + "interchainSecurityModule": "0xDEed16fe4b1c9b2a93483EDFf34C77A9b57D31Ff", "index": { - "from": 437384 - } - }, - "neutron": { - "name": "neutron", - "domainId": "1853125230", - "chainId": "neutron-1", - "mailbox": "0x848426d50eb2104d5c6381ec63757930b1c14659c40db8b8081e516e7c5238fc", - "interchainGasPaymaster": "0x504ee9ac43ec5814e00c7d21869a90ec52becb489636bdf893b7df9d606b5d67", - "validatorAnnounce": "0xf3aa0d652226e21ae35cd9035c492ae41725edc9036edf0d6a48701b153b90a0", - "merkleTreeHook": "0xcd30a0001cc1f436c41ef764a712ebabc5a144140e3fd03eafe64a9a24e4e27c", - "protocol": "cosmos", - "finalityBlocks": 1, - "rpcUrls": [ - { - "http": "https://rpc-kralum.neutron-1.neutron.org" - } - ], - "grpcUrl": "https://grpc-kralum.neutron-1.neutron.org:80", - "canonicalAsset": "untrn", - "bech32Prefix": "neutron", - "gasPrice": { - "amount": "0.57", - "denom": "untrn" - }, - "contractAddressBytes": 32, - "index": { - "from": 4000000, - "chunk": 100000 - }, - "blocks": { - "reorgPeriod": 1 - }, - "signer": { - "type": "cosmosKey", - "key": "0x5486418967eabc770b0fcb995f7ef6d9a72f7fc195531ef76c5109f44f51af26", - "prefix": "neutron" + "from": 437300 } }, "injective": { @@ -482,50 +497,55 @@ } }, "moonbeam": { + "blockExplorers": [ + { + "apiUrl": "https://api-moonbeam.moonscan.io/api", + "family": "etherscan", + "name": "MoonScan", + "url": "https://moonscan.io" + } + ], + "blocks": { + "confirmations": 2, + "estimateBlockTime": 12, + "reorgPeriod": 2 + }, "chainId": 1284, + "displayName": "Moonbeam", "domainId": 1284, + "gnosisSafeTransactionServiceUrl": "https://transaction.multisig.moonbeam.network", "name": "moonbeam", - "protocol": "ethereum", - "displayName": "Moonbeam", "nativeToken": { "decimals": 18, "name": "GLMR", "symbol": "GLMR" }, + "protocol": "ethereum", "rpcUrls": [ { "http": "https://rpc.api.moonbeam.network" } ], - "blockExplorers": [ - { - "name": "MoonScan", - "url": "https://moonscan.io", - "apiUrl": "https://api-moonbeam.moonscan.io/api", - "family": "etherscan" - } - ], - "blocks": { - "confirmations": 2, - "reorgPeriod": 2, - "estimateBlockTime": 12 - }, - "gnosisSafeTransactionServiceUrl": "https://transaction.multisig.moonbeam.network", "storageGasOracle": "0x448b7ADB0dA36d41AA2AfDc9d63b97541A7b3819", "proxyAdmin": "0x6A9cdA3dd1F593983BFd142Eb35e6ce4137bd5ce", "merkleRootMultisigIsmFactory": "0xE2f485bc031Feb5a4C41C1967bf028653d75f0C3", "messageIdMultisigIsmFactory": "0x84Df48F8f241f11d0fA302d09d73030429Bd9C73", "aggregationIsmFactory": "0x40c6Abcb6A2CdC8882d4bEcaC47927005c7Bb8c2", "aggregationHookFactory": "0x59cC3E7A49DdC4893eB8754c7908f96072A7DbE8", - "routingIsmFactory": "0x98Aa6239FfCcEc73A662a5e5e26Bc3fD7c7291B7", "mailbox": "0x094d03E751f49908080EFf000Dd6FD177fd44CC3", "merkleTreeHook": "0x87403b85f6f316e7ba91ba1fa6C3Fb7dD4095547", "interchainGasPaymaster": "0x14760E32C0746094cF14D97124865BC7F0F7368F", "aggregationHook": "0x23cca255aE83F57F39EAf9D14fB9FdaDF22D5863", "protocolFee": "0xCd3e29A9D293DcC7341295996a118913F7c582c0", "validatorAnnounce": "0x8c1001eBee6F25b31863A55EadfF149aF88B356F", + "testRecipient": "0x36FdA966CfffF8a9Cdc814f546db0e6378bFef35", + "testTokenRecipient": "0x85ac1164878e017b67660a74ff1f41f3D05C02Bb", + "routingIsmFactory": "0x8061Af3A459093540d17823D651BC5E2A92669a7", + "pausableHook": "0xe28f2AEEB42ee83CAd068D9A9a449c8b868C137f", + "fallbackRoutingHook": "0x6C2D6eA0969F7Aa0A850CCA88c7BFACa563B2361", + "interchainSecurityModule": "0x373836DFa82f2D27ec79Ca32A197Aa1665F0E1e9", "index": { - "from": 4720894 + "from": 4719713 } }, "inevm": { @@ -578,64 +598,84 @@ } }, "optimism": { + "blockExplorers": [ + { + "apiUrl": "https://api-optimistic.etherscan.io/api", + "family": "etherscan", + "name": "Etherscan", + "url": "https://optimistic.etherscan.io" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 3, + "reorgPeriod": 0 + }, "chainId": 10, + "displayName": "Optimism", "domainId": 10, + "gasCurrencyCoinGeckoId": "ethereum", + "gnosisSafeTransactionServiceUrl": "https://safe-transaction-optimism.safe.global/", "name": "optimism", - "protocol": "ethereum", - "displayName": "Optimism", "nativeToken": { + "decimals": 18, "name": "Ether", - "symbol": "ETH", - "decimals": 18 + "symbol": "ETH" }, + "protocol": "ethereum", "rpcUrls": [ { "http": "https://mainnet.optimism.io" } ], - "blockExplorers": [ - { - "name": "Etherscan", - "url": "https://optimistic.etherscan.io", - "apiUrl": "https://api-optimistic.etherscan.io/api", - "family": "etherscan" - } - ], - "blocks": { - "confirmations": 1, - "reorgPeriod": 0, - "estimateBlockTime": 3 - }, - "gasCurrencyCoinGeckoId": "ethereum", - "gnosisSafeTransactionServiceUrl": "https://safe-transaction-optimism.safe.global/", "storageGasOracle": "0x27e88AeB8EA4B159d81df06355Ea3d20bEB1de38", "proxyAdmin": "0xE047cb95FB3b7117989e911c6afb34771183fC35", "merkleRootMultisigIsmFactory": "0xCA6Cb9Bc3cfF9E11003A06617cF934B684Bc78BC", "messageIdMultisigIsmFactory": "0xAa4Be20E9957fE21602c74d7C3cF5CB1112EA9Ef", "aggregationIsmFactory": "0x7491843F3A5Ba24E0f17a22645bDa04A1Ae2c584", "aggregationHookFactory": "0x15DEeAB8dECDe553bb0B1F9C00984cbcae1af3D7", - "routingIsmFactory": "0x89E3530137aD51743536443a3EC838b502E72eb7", "merkleTreeHook": "0x68eE9bec9B4dbB61f69D9D293Ae26a5AACb2e28f", "interchainGasPaymaster": "0xD8A76C4D91fCbB7Cc8eA795DFDF870E48368995C", "aggregationHook": "0x4ccC6d8eB79f2a1EC9bcb0f211fef7907631F91f", "protocolFee": "0xD71Ff941120e8f935b8b1E2C1eD72F5d140FF458", "mailbox": "0xd4C1905BB1D26BC93DAC913e13CaCC278CdCC80D", "validatorAnnounce": "0x30f5b08e01808643221528BB2f7953bf2830Ef38", + "testRecipient": "0x36FdA966CfffF8a9Cdc814f546db0e6378bFef35", + "testTokenRecipient": "0x85ac1164878e017b67660a74ff1f41f3D05C02Bb", + "routingIsmFactory": "0xD2e905108c5e44dADA680274740f896Ea96Cf2Fb", + "pausableHook": "0xf753CA2269c8A7693ce1808b5709Fbf36a65D47A", + "fallbackRoutingHook": "0xD4b132C6d4AA93A4247F1A91e1ED929c0572a43d", + "interchainSecurityModule": "0x04938856bE60c8e734ffDe5f720E2238302BE8D2", "index": { - "from": 111298042 + "from": 111290758 } }, "polygon": { + "blockExplorers": [ + { + "apiUrl": "https://api.polygonscan.com/api", + "family": "etherscan", + "name": "PolygonScan", + "url": "https://polygonscan.com" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 2, + "reorgPeriod": 256 + }, "chainId": 137, + "displayName": "Polygon", "domainId": 137, + "gasCurrencyCoinGeckoId": "matic-network", + "gnosisSafeTransactionServiceUrl": "https://safe-transaction-polygon.safe.global/", "name": "polygon", - "protocol": "ethereum", - "displayName": "Polygon", "nativeToken": { + "decimals": 18, "name": "Ether", - "symbol": "ETH", - "decimals": 18 + "symbol": "ETH" }, + "protocol": "ethereum", "rpcUrls": [ { "http": "https://rpc-mainnet.matic.quiknode.pro", @@ -646,26 +686,14 @@ }, { "http": "https://polygon-rpc.com" - } - ], - "blockExplorers": [ + }, { - "name": "PolygonScan", - "url": "https://polygonscan.com", - "apiUrl": "https://api.polygonscan.com/api", - "family": "etherscan" + "http": "https://rpc.ankr.com/polygon" } ], - "blocks": { - "confirmations": 3, - "reorgPeriod": 256, - "estimateBlockTime": 2 - }, - "gasCurrencyCoinGeckoId": "matic-network", - "gnosisSafeTransactionServiceUrl": "https://safe-transaction-polygon.safe.global/", "transactionOverrides": { - "maxFeePerGas": 500000000000, - "maxPriorityFeePerGas": 100000000000 + "maxFeePerGas": 1000000000000, + "maxPriorityFeePerGas": 200000000000 }, "storageGasOracle": "0xA3a24EC5670F1F416AB9fD554FcE2f226AE9D7eB", "proxyAdmin": "0xC4F7590C5d30BE959225dC75640657954A86b980", @@ -673,57 +701,57 @@ "messageIdMultisigIsmFactory": "0xEa5Be2AD66BB1BA321B7aCf0A079fBE304B09Ca0", "aggregationIsmFactory": "0x81AdDD9Ca89105063DaDEBd5B4408551Ce850E22", "aggregationHookFactory": "0xFeeB86e70e4a640cDd29636CCE19BD6fe8628135", - "routingIsmFactory": "0xF0752A65ffB2153EaE53F6a70c858a87022d5c56", "mailbox": "0x5d934f4e2f797775e53561bB72aca21ba36B96BB", "merkleTreeHook": "0x73FbD25c3e817DC4B4Cd9d00eff6D83dcde2DfF6", "interchainGasPaymaster": "0x0071740Bf129b05C4684abfbBeD248D80971cce2", "aggregationHook": "0x34dAb05650Cf590088bA18aF9d597f3e081bCc47", "protocolFee": "0xF8F3629e308b4758F8396606405989F8D8C9c578", "validatorAnnounce": "0x454E1a1E1CA8B51506090f1b5399083658eA4Fc5", + "testRecipient": "0x36FdA966CfffF8a9Cdc814f546db0e6378bFef35", + "testTokenRecipient": "0x85ac1164878e017b67660a74ff1f41f3D05C02Bb", + "routingIsmFactory": "0x0d0E816eE4557689d34fAd5885C53b9393C1D9fA", + "interchainSecurityModule": "0x9a795fB62f86146ec06e2377e3C95Af65c7C20eB", + "fallbackRoutingHook": "0xca4cCe24E7e06241846F5EA0cda9947F0507C40C", + "pausableHook": "0x748040afB89B8FdBb992799808215419d36A0930", "index": { - "from": 49114872 + "from": 49108065 } }, "polygonzkevm": { - "protocol": "ethereum", + "blockExplorers": [ + { + "apiUrl": "https://api-zkevm.polygonscan.com/api", + "family": "etherscan", + "name": "PolygonScan", + "url": "https://zkevm.polygonscan.com" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 10, + "reorgPeriod": 1 + }, "chainId": 1101, + "displayName": "Polygon zkEVM", + "displayNameShort": "zkEVM", "domainId": 1101, + "gasCurrencyCoinGeckoId": "ethereum", "name": "polygonzkevm", - "displayName": "Polygon zkEVM", "nativeToken": { + "decimals": 18, "name": "Ether", - "symbol": "ETH", - "decimals": 18 + "symbol": "ETH" }, + "protocol": "ethereum", "rpcUrls": [ { - "http": "https://polygonzkevm-mainnet.g.alchemy.com/v2/demo" - }, - { - "http": "https://rpc.ankr.com/polygon_zkevm" - }, - { - "http": "https://zkevm.polygonscan.com/" - } - ], - "blockExplorers": [ - { - "name": "PolygonScan", - "url": "https://zkevm.polygonscan.com/", - "apiUrl": "https://api-zkevm.polygonscan.com/api", - "family": "etherscan" + "http": "https://polygon-zkevm.drpc.org" } ], - "blocks": { - "confirmations": 1, - "reorgPeriod": 1, - "estimateBlockTime": 10 - }, "merkleRootMultisigIsmFactory": "0x8F7454AC98228f3504Bb91eA3D8Adafe6406110A", "messageIdMultisigIsmFactory": "0xEb9FcFDC9EfDC17c1EC5E1dc085B98485da213D6", "aggregationIsmFactory": "0x1052eF3419f26Bec74Ed7CEf4a4FA6812Bc09908", "aggregationHookFactory": "0x0761b0827849abbf7b0cC09CE14e1C93D87f5004", - "routingIsmFactory": "0x4Ed7d626f1E96cD1C0401607Bf70D95243E3dEd1", "merkleTreeHook": "0x149db7afD694722747035d5AEC7007ccb6F8f112", "proxyAdmin": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", "storageGasOracle": "0x19dc38aeae620380430C200a6E990D5Af5480117", @@ -732,47 +760,48 @@ "protocolFee": "0xd83A4F747fE80Ed98839e05079B1B7Fe037b1638", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "validatorAnnounce": "0x2fa5F5C96419C222cDbCeC797D696e6cE428A7A9", + "routingIsmFactory": "0xe4057c5B0c43Dc18E36b08C39B419F190D29Ac2d", + "interchainSecurityModule": "0xf2BEE9D2c15Ba9D7e06799B5912dE1F05533c141", + "fallbackRoutingHook": "0x01aE937A7B05d187bBCBE80F44F41879D3D335a4", + "pausableHook": "0xc2FbB9411186AB3b1a6AFCCA702D1a80B48b197c", "index": { - "from": 6581140 + "from": 6577743 } }, "scroll": { + "blockExplorers": [ + { + "apiUrl": "https://api.scrollscan.com/api", + "family": "etherscan", + "name": "Scroll Explorer", + "url": "https://scrollscan.com/" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 3, + "reorgPeriod": 1 + }, "chainId": 534352, + "displayName": "Scroll", "domainId": 534352, + "gasCurrencyCoinGeckoId": "ethereum", "name": "scroll", - "protocol": "ethereum", - "displayName": "Scroll", "nativeToken": { + "decimals": 18, "name": "Ether", - "symbol": "ETH", - "decimals": 18 + "symbol": "ETH" }, + "protocol": "ethereum", "rpcUrls": [ { "http": "https://scroll.blockpi.network/v1/rpc/public" - }, - { - "http": "https://scroll-mainnet.public.blastapi.io" - } - ], - "blockExplorers": [ - { - "name": "Scroll Explorer", - "url": "https://scrollscan.com/", - "apiUrl": "https://api.scrollscan.com/api", - "family": "etherscan" } ], - "blocks": { - "confirmations": 1, - "reorgPeriod": 1, - "estimateBlockTime": 3 - }, "merkleRootMultisigIsmFactory": "0x2C1FAbEcd7bFBdEBF27CcdB67baADB38b6Df90fC", "messageIdMultisigIsmFactory": "0x8b83fefd896fAa52057798f6426E9f0B080FCCcE", "aggregationIsmFactory": "0x8F7454AC98228f3504Bb91eA3D8Adafe6406110A", "aggregationHookFactory": "0xEb9FcFDC9EfDC17c1EC5E1dc085B98485da213D6", - "routingIsmFactory": "0x1052eF3419f26Bec74Ed7CEf4a4FA6812Bc09908", "merkleTreeHook": "0x6119E37Bd66406A1Db74920aC79C15fB8411Ba76", "proxyAdmin": "0x0761b0827849abbf7b0cC09CE14e1C93D87f5004", "storageGasOracle": "0x481171eb1aad17eDE6a56005B7F1aB00C581ef13", @@ -781,9 +810,12 @@ "protocolFee": "0xc3F23848Ed2e04C0c6d41bd7804fa8f89F940B94", "mailbox": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", "validatorAnnounce": "0xd83A4F747fE80Ed98839e05079B1B7Fe037b1638", + "routingIsmFactory": "0xe03dad16074BC5EEA9A9311257BF02Eb0B6AAA2b", + "pausableHook": "0x4Eb82Ee35b0a1c1d776E3a3B547f9A9bA6FCC9f2", + "fallbackRoutingHook": "0xDa7cECb05C4aeB02c1aFDE277d4306a2da7Bd762", + "interchainSecurityModule": "0xaDc0cB48E8DB81855A930C0C1165ea3dCe4Ba5C7", "index": { - "from": 426670, - "chunk": 999 + "from": 271840 } } }, diff --git a/typescript/infra/config/environments/mainnet3/chains.ts b/typescript/infra/config/environments/mainnet3/chains.ts index 437fe170c2..2204f1ffda 100644 --- a/typescript/infra/config/environments/mainnet3/chains.ts +++ b/typescript/infra/config/environments/mainnet3/chains.ts @@ -18,8 +18,8 @@ export const ethereumMainnetConfigs: ChainMap = { confirmations: 3, }, transactionOverrides: { - maxFeePerGas: 500 * 10 ** 9, // 500 gwei - maxPriorityFeePerGas: 100 * 10 ** 9, // 100 gwei + maxFeePerGas: 1000 * 10 ** 9, // 500 gwei + maxPriorityFeePerGas: 200 * 10 ** 9, // 100 gwei // gasPrice: 50 * 10 ** 9, // 50 gwei }, }, diff --git a/typescript/infra/config/environments/mainnet3/core.ts b/typescript/infra/config/environments/mainnet3/core.ts index 6992f46bc3..8dc23b6a38 100644 --- a/typescript/infra/config/environments/mainnet3/core.ts +++ b/typescript/infra/config/environments/mainnet3/core.ts @@ -5,6 +5,7 @@ import { AggregationIsmConfig, ChainMap, CoreConfig, + FallbackRoutingHookConfig, HookType, IgpHookConfig, IsmType, @@ -77,10 +78,18 @@ export const core: ChainMap = objMap(owners, (local, owner) => { type: HookType.PAUSABLE, ...owner, }; - - const defaultHook: AggregationHookConfig = { - type: HookType.AGGREGATION, - hooks: [pausableHook, merkleHook, igpHook], + const aggregationHooks = objMap( + originMultisigs, + (_origin, _): AggregationHookConfig => ({ + type: HookType.AGGREGATION, + hooks: [pausableHook, merkleHook, igpHook], + }), + ); + const defaultHook: FallbackRoutingHookConfig = { + type: HookType.FALLBACK_ROUTING, + ...owner, + domains: aggregationHooks, + fallback: merkleHook, }; const requiredHook: ProtocolFeeHookConfig = { diff --git a/typescript/infra/config/environments/mainnet3/core/verification.json b/typescript/infra/config/environments/mainnet3/core/verification.json index bee9dfbdf0..3de017136c 100644 --- a/typescript/infra/config/environments/mainnet3/core/verification.json +++ b/typescript/infra/config/environments/mainnet3/core/verification.json @@ -119,6 +119,54 @@ "address": "0x30f5b08e01808643221528BB2f7953bf2830Ef38", "constructorArguments": "000000000000000000000000d4c1905bb1d26bc93dac913e13cacc278cdcc80d", "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0xD4b132C6d4AA93A4247F1A91e1ED929c0572a43d", + "constructorArguments": "000000000000000000000000d4c1905bb1d26bc93dac913e13cacc278cdcc80d000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000068ee9bec9b4dbb61f69d9d293ae26a5aacb2e28f", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0xf753CA2269c8A7693ce1808b5709Fbf36a65D47A", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0xD4b132C6d4AA93A4247F1A91e1ED929c0572a43d", + "constructorArguments": "000000000000000000000000d4c1905bb1d26bc93dac913e13cacc278cdcc80d000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000068ee9bec9b4dbb61f69d9d293ae26a5aacb2e28f", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0xf753CA2269c8A7693ce1808b5709Fbf36a65D47A", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0xD4b132C6d4AA93A4247F1A91e1ED929c0572a43d", + "constructorArguments": "000000000000000000000000d4c1905bb1d26bc93dac913e13cacc278cdcc80d000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000068ee9bec9b4dbb61f69d9d293ae26a5aacb2e28f", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0xf753CA2269c8A7693ce1808b5709Fbf36a65D47A", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0xD4b132C6d4AA93A4247F1A91e1ED929c0572a43d", + "constructorArguments": "000000000000000000000000d4c1905bb1d26bc93dac913e13cacc278cdcc80d000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000068ee9bec9b4dbb61f69d9d293ae26a5aacb2e28f", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0xf753CA2269c8A7693ce1808b5709Fbf36a65D47A", + "constructorArguments": "", + "isProxy": false } ], "arbitrum": [ @@ -241,6 +289,54 @@ "address": "0x1df063280C4166AF9a725e3828b4dAC6c7113B08", "constructorArguments": "000000000000000000000000979ca5202784112f4738403dbec5d0f3b9daabb9", "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0x9e8fFb1c26099e75Dd5D794030e2E9AA51471c25", + "constructorArguments": "000000000000000000000000979ca5202784112f4738403dbec5d0f3b9daabb9000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba000000000000000000000000748040afb89b8fdbb992799808215419d36a0930", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0xEf30f29Dcd3FCB1DCcDA9C7Cbf2A5957E8Ee9Cc3", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0x9e8fFb1c26099e75Dd5D794030e2E9AA51471c25", + "constructorArguments": "000000000000000000000000979ca5202784112f4738403dbec5d0f3b9daabb9000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba000000000000000000000000748040afb89b8fdbb992799808215419d36a0930", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0xEf30f29Dcd3FCB1DCcDA9C7Cbf2A5957E8Ee9Cc3", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0x9e8fFb1c26099e75Dd5D794030e2E9AA51471c25", + "constructorArguments": "000000000000000000000000979ca5202784112f4738403dbec5d0f3b9daabb9000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba000000000000000000000000748040afb89b8fdbb992799808215419d36a0930", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0xEf30f29Dcd3FCB1DCcDA9C7Cbf2A5957E8Ee9Cc3", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0x9e8fFb1c26099e75Dd5D794030e2E9AA51471c25", + "constructorArguments": "000000000000000000000000979ca5202784112f4738403dbec5d0f3b9daabb9000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba000000000000000000000000748040afb89b8fdbb992799808215419d36a0930", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0xEf30f29Dcd3FCB1DCcDA9C7Cbf2A5957E8Ee9Cc3", + "constructorArguments": "", + "isProxy": false } ], "base": [ @@ -339,6 +435,54 @@ "address": "0x182E8d7c5F1B06201b102123FC7dF0EaeB445a7B", "constructorArguments": "000000000000000000000000ea87ae93fa0019a82a727bfd3ebd1cfca8f64f1d", "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0x4Eb82Ee35b0a1c1d776E3a3B547f9A9bA6FCC9f2", + "constructorArguments": "000000000000000000000000ea87ae93fa0019a82a727bfd3ebd1cfca8f64f1d000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000019dc38aeae620380430c200a6e990d5af5480117", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0x46fa3A5780e5B90Eaf34BDED554d5353B5ABE9E7", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0x4Eb82Ee35b0a1c1d776E3a3B547f9A9bA6FCC9f2", + "constructorArguments": "000000000000000000000000ea87ae93fa0019a82a727bfd3ebd1cfca8f64f1d000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000019dc38aeae620380430c200a6e990d5af5480117", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0x46fa3A5780e5B90Eaf34BDED554d5353B5ABE9E7", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0x4Eb82Ee35b0a1c1d776E3a3B547f9A9bA6FCC9f2", + "constructorArguments": "000000000000000000000000ea87ae93fa0019a82a727bfd3ebd1cfca8f64f1d000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000019dc38aeae620380430c200a6e990d5af5480117", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0x46fa3A5780e5B90Eaf34BDED554d5353B5ABE9E7", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0x4Eb82Ee35b0a1c1d776E3a3B547f9A9bA6FCC9f2", + "constructorArguments": "000000000000000000000000ea87ae93fa0019a82a727bfd3ebd1cfca8f64f1d000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000019dc38aeae620380430c200a6e990d5af5480117", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0x46fa3A5780e5B90Eaf34BDED554d5353B5ABE9E7", + "constructorArguments": "", + "isProxy": false } ], "avalanche": [ @@ -461,6 +605,54 @@ "address": "0x9Cad0eC82328CEE2386Ec14a12E81d070a27712f", "constructorArguments": "000000000000000000000000ff06afcaabaddd1fb08371f9cca15d73d51febd6", "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0x61D15D571D5f7A9eF0D1938f072f430bBF024747", + "constructorArguments": "000000000000000000000000ff06afcaabaddd1fb08371f9cca15d73d51febd6000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000084eea61d679f42d92145fa052c89900cbacce95a", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0x239eB860770F1C48ABAC9bE9825d20e3E7c018df", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0x61D15D571D5f7A9eF0D1938f072f430bBF024747", + "constructorArguments": "000000000000000000000000ff06afcaabaddd1fb08371f9cca15d73d51febd6000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000084eea61d679f42d92145fa052c89900cbacce95a", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0x239eB860770F1C48ABAC9bE9825d20e3E7c018df", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0x61D15D571D5f7A9eF0D1938f072f430bBF024747", + "constructorArguments": "000000000000000000000000ff06afcaabaddd1fb08371f9cca15d73d51febd6000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000084eea61d679f42d92145fa052c89900cbacce95a", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0x239eB860770F1C48ABAC9bE9825d20e3E7c018df", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0x61D15D571D5f7A9eF0D1938f072f430bBF024747", + "constructorArguments": "000000000000000000000000ff06afcaabaddd1fb08371f9cca15d73d51febd6000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000084eea61d679f42d92145fa052c89900cbacce95a", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0x239eB860770F1C48ABAC9bE9825d20e3E7c018df", + "constructorArguments": "", + "isProxy": false } ], "scroll": [ @@ -619,6 +811,54 @@ "address": "0xd83A4F747fE80Ed98839e05079B1B7Fe037b1638", "constructorArguments": "0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a7", "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0xDa7cECb05C4aeB02c1aFDE277d4306a2da7Bd762", + "constructorArguments": "0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a7000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba0000000000000000000000006119e37bd66406a1db74920ac79c15fb8411ba76", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0x4Eb82Ee35b0a1c1d776E3a3B547f9A9bA6FCC9f2", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0xDa7cECb05C4aeB02c1aFDE277d4306a2da7Bd762", + "constructorArguments": "0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a7000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba0000000000000000000000006119e37bd66406a1db74920ac79c15fb8411ba76", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0x4Eb82Ee35b0a1c1d776E3a3B547f9A9bA6FCC9f2", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0xDa7cECb05C4aeB02c1aFDE277d4306a2da7Bd762", + "constructorArguments": "0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a7000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba0000000000000000000000006119e37bd66406a1db74920ac79c15fb8411ba76", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0x4Eb82Ee35b0a1c1d776E3a3B547f9A9bA6FCC9f2", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0xDa7cECb05C4aeB02c1aFDE277d4306a2da7Bd762", + "constructorArguments": "0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a7000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba0000000000000000000000006119e37bd66406a1db74920ac79c15fb8411ba76", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0x4Eb82Ee35b0a1c1d776E3a3B547f9A9bA6FCC9f2", + "constructorArguments": "", + "isProxy": false } ], "polygonzkevm": [ @@ -777,6 +1017,42 @@ "address": "0x2fa5F5C96419C222cDbCeC797D696e6cE428A7A9", "constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e", "isProxy": false + }, + { + "name": "PausableHook", + "address": "0xc2FbB9411186AB3b1a6AFCCA702D1a80B48b197c", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0xc2FbB9411186AB3b1a6AFCCA702D1a80B48b197c", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0xc2FbB9411186AB3b1a6AFCCA702D1a80B48b197c", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0xc2FbB9411186AB3b1a6AFCCA702D1a80B48b197c", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0xc2FbB9411186AB3b1a6AFCCA702D1a80B48b197c", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0xc2FbB9411186AB3b1a6AFCCA702D1a80B48b197c", + "constructorArguments": "", + "isProxy": false } ], "bsc": [ @@ -871,6 +1147,54 @@ "address": "0x87ED6926abc9E38b9C7C19f835B41943b622663c", "constructorArguments": "000000000000000000000000ad09d78f4c6b9da2ae82b1d34107802d380bb74f", "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0x24f5E353dD03E103Ba2372F7D6FC0cf3A66f849c", + "constructorArguments": "000000000000000000000000ad09d78f4c6b9da2ae82b1d34107802d380bb74f000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba0000000000000000000000002684c6f89e901987e1fdb7649dc5be0c57c61645", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0xf728C884De5275a608dEC222dACd0f2BF2E23AB6", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0x24f5E353dD03E103Ba2372F7D6FC0cf3A66f849c", + "constructorArguments": "000000000000000000000000ad09d78f4c6b9da2ae82b1d34107802d380bb74f000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba0000000000000000000000002684c6f89e901987e1fdb7649dc5be0c57c61645", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0xf728C884De5275a608dEC222dACd0f2BF2E23AB6", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0x24f5E353dD03E103Ba2372F7D6FC0cf3A66f849c", + "constructorArguments": "000000000000000000000000ad09d78f4c6b9da2ae82b1d34107802d380bb74f000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba0000000000000000000000002684c6f89e901987e1fdb7649dc5be0c57c61645", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0xf728C884De5275a608dEC222dACd0f2BF2E23AB6", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0x24f5E353dD03E103Ba2372F7D6FC0cf3A66f849c", + "constructorArguments": "000000000000000000000000ad09d78f4c6b9da2ae82b1d34107802d380bb74f000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba0000000000000000000000002684c6f89e901987e1fdb7649dc5be0c57c61645", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0xf728C884De5275a608dEC222dACd0f2BF2E23AB6", + "constructorArguments": "", + "isProxy": false } ], "celo": [ @@ -1115,6 +1439,54 @@ "address": "0xCe74905e51497b4adD3639366708b821dcBcff96", "constructorArguments": "000000000000000000000000c005dc82818d67af737725bd4bf75435d065d239", "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0x571f1435613381208477ac5d6974310d88AC7cB7", + "constructorArguments": "000000000000000000000000c005dc82818d67af737725bd4bf75435d065d239000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000048e6c30b97748d1e2e03bf3e9fbe3890ca5f8cca", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0x3A66Dc852e56d3748838b3C27CF381105b83705b", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0x571f1435613381208477ac5d6974310d88AC7cB7", + "constructorArguments": "000000000000000000000000c005dc82818d67af737725bd4bf75435d065d239000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000048e6c30b97748d1e2e03bf3e9fbe3890ca5f8cca", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0x3A66Dc852e56d3748838b3C27CF381105b83705b", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0x571f1435613381208477ac5d6974310d88AC7cB7", + "constructorArguments": "000000000000000000000000c005dc82818d67af737725bd4bf75435d065d239000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000048e6c30b97748d1e2e03bf3e9fbe3890ca5f8cca", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0x3A66Dc852e56d3748838b3C27CF381105b83705b", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0x571f1435613381208477ac5d6974310d88AC7cB7", + "constructorArguments": "000000000000000000000000c005dc82818d67af737725bd4bf75435d065d239000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000048e6c30b97748d1e2e03bf3e9fbe3890ca5f8cca", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0x3A66Dc852e56d3748838b3C27CF381105b83705b", + "constructorArguments": "", + "isProxy": false } ], "moonbeam": [ @@ -1237,6 +1609,54 @@ "address": "0x8c1001eBee6F25b31863A55EadfF149aF88B356F", "constructorArguments": "000000000000000000000000094d03e751f49908080eff000dd6fd177fd44cc3", "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0x6C2D6eA0969F7Aa0A850CCA88c7BFACa563B2361", + "constructorArguments": "000000000000000000000000094d03e751f49908080eff000dd6fd177fd44cc3000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000087403b85f6f316e7ba91ba1fa6c3fb7dd4095547", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0xe28f2AEEB42ee83CAd068D9A9a449c8b868C137f", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0x6C2D6eA0969F7Aa0A850CCA88c7BFACa563B2361", + "constructorArguments": "000000000000000000000000094d03e751f49908080eff000dd6fd177fd44cc3000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000087403b85f6f316e7ba91ba1fa6c3fb7dd4095547", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0xe28f2AEEB42ee83CAd068D9A9a449c8b868C137f", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0x6C2D6eA0969F7Aa0A850CCA88c7BFACa563B2361", + "constructorArguments": "000000000000000000000000094d03e751f49908080eff000dd6fd177fd44cc3000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000087403b85f6f316e7ba91ba1fa6c3fb7dd4095547", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0xe28f2AEEB42ee83CAd068D9A9a449c8b868C137f", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0x6C2D6eA0969F7Aa0A850CCA88c7BFACa563B2361", + "constructorArguments": "000000000000000000000000094d03e751f49908080eff000dd6fd177fd44cc3000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000087403b85f6f316e7ba91ba1fa6c3fb7dd4095547", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0xe28f2AEEB42ee83CAd068D9A9a449c8b868C137f", + "constructorArguments": "", + "isProxy": false } ], "polygon": [ @@ -1367,6 +1787,30 @@ "address": "0x2fa5F5C96419C222cDbCeC797D696e6cE428A7A9", "constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e", "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0xD1E267d2d7876e97E217BfE61c34AB50FEF52807", + "constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba000000000000000000000000149db7afd694722747035d5aec7007ccb6f8f112", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0x7556a0E61d577D921Cba8Fca0d7D6299d36E607E", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0xD1E267d2d7876e97E217BfE61c34AB50FEF52807", + "constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba000000000000000000000000149db7afd694722747035d5aec7007ccb6f8f112", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0x7556a0E61d577D921Cba8Fca0d7D6299d36E607E", + "constructorArguments": "", + "isProxy": false } ] } diff --git a/typescript/infra/config/environments/testnet4/core.ts b/typescript/infra/config/environments/testnet4/core.ts index 7973020cbb..3c05099bce 100644 --- a/typescript/infra/config/environments/testnet4/core.ts +++ b/typescript/infra/config/environments/testnet4/core.ts @@ -5,6 +5,7 @@ import { AggregationIsmConfig, ChainMap, CoreConfig, + FallbackRoutingHookConfig, HookType, IgpHookConfig, IsmType, @@ -17,7 +18,6 @@ import { RoutingIsmConfig, defaultMultisigConfigs, } from '@hyperlane-xyz/sdk'; -import { DomainRoutingHookConfig } from '@hyperlane-xyz/sdk/src/hook/types'; import { objMap } from '@hyperlane-xyz/utils'; import { supportedChainNames } from './chains'; @@ -89,10 +89,11 @@ export const core: ChainMap = objMap( }), ); - const defaultHook: DomainRoutingHookConfig = { - type: HookType.ROUTING, - domains: aggregationHooks, + const defaultHook: FallbackRoutingHookConfig = { + type: HookType.FALLBACK_ROUTING, ...ownerConfig, + domains: aggregationHooks, + fallback: merkleHook, }; const requiredHook: ProtocolFeeHookConfig = { diff --git a/typescript/infra/src/agents/index.ts b/typescript/infra/src/agents/index.ts index 346d5a901b..8802ccdaa7 100644 --- a/typescript/infra/src/agents/index.ts +++ b/typescript/infra/src/agents/index.ts @@ -1,7 +1,6 @@ import fs from 'fs'; import { ChainName, RpcConsensusType, chainMetadata } from '@hyperlane-xyz/sdk'; -import { ProtocolType } from '@hyperlane-xyz/utils'; import { Contexts } from '../../config/contexts'; import { diff --git a/typescript/infra/src/config/chain.ts b/typescript/infra/src/config/chain.ts index 9b6ff567d0..af99549c8f 100644 --- a/typescript/infra/src/config/chain.ts +++ b/typescript/infra/src/config/chain.ts @@ -1,6 +1,7 @@ import { providers } from 'ethers'; import { + ChainMetadataManager, ChainName, HyperlaneSmartProvider, ProviderRetryOptions, @@ -22,9 +23,17 @@ export async function fetchProvider( chainName: ChainName, connectionType: RpcConsensusType = RpcConsensusType.Single, ): Promise { - const chainId = chainMetadata[chainName].chainId; + const cmm = new ChainMetadataManager(chainMetadata); + const chainData = cmm.tryGetChainMetadata(chainName); + if (!chainData) { + throw Error(`Unsupported chain: ${chainName}`); + } + const chainId = chainData.chainId; const single = connectionType === RpcConsensusType.Single; - const rpcData = await getSecretRpcEndpoint(environment, chainName, !single); + let rpcData = chainData.rpcUrls.map((url) => url.http); + if (rpcData.length === 0) { + rpcData = await getSecretRpcEndpoint(environment, chainName, !single); + } if (connectionType === RpcConsensusType.Single) { return HyperlaneSmartProvider.fromRpcUrl(chainId, rpcData[0], defaultRetry); diff --git a/typescript/sdk/src/consts/chainMetadata.ts b/typescript/sdk/src/consts/chainMetadata.ts index 4b699e75a6..b460f81ac9 100644 --- a/typescript/sdk/src/consts/chainMetadata.ts +++ b/typescript/sdk/src/consts/chainMetadata.ts @@ -204,7 +204,11 @@ export const bsc: ChainMetadata = { name: Chains.bsc, nativeToken: bnbToken, protocol: ProtocolType.Ethereum, - rpcUrls: [{ http: 'https://rpc.ankr.com/bsc' }], + rpcUrls: [ + { http: 'https://rpc.ankr.com/bsc' }, + { http: 'https://bsc.drpc.org' }, + { http: 'https://bscrpc.com' }, + ], }; export const bsctestnet: ChainMetadata = { @@ -695,6 +699,7 @@ export const polygon: ChainMetadata = { http: 'https://polygon-bor.publicnode.com', }, { http: 'https://polygon-rpc.com' }, + { http: 'https://rpc.ankr.com/polygon' }, ], }; diff --git a/typescript/sdk/src/consts/environments/mainnet.json b/typescript/sdk/src/consts/environments/mainnet.json index 2be1198330..a7173cb4a3 100644 --- a/typescript/sdk/src/consts/environments/mainnet.json +++ b/typescript/sdk/src/consts/environments/mainnet.json @@ -14,7 +14,10 @@ "validatorAnnounce": "0x454E1a1E1CA8B51506090f1b5399083658eA4Fc5", "testRecipient": "0x36FdA966CfffF8a9Cdc814f546db0e6378bFef35", "testTokenRecipient": "0x85ac1164878e017b67660a74ff1f41f3D05C02Bb", - "routingIsmFactory": "0x0d0E816eE4557689d34fAd5885C53b9393C1D9fA" + "routingIsmFactory": "0x0d0E816eE4557689d34fAd5885C53b9393C1D9fA", + "interchainSecurityModule": "0x9a795fB62f86146ec06e2377e3C95Af65c7C20eB", + "fallbackRoutingHook": "0xca4cCe24E7e06241846F5EA0cda9947F0507C40C", + "pausableHook": "0x748040afB89B8FdBb992799808215419d36A0930" }, "bsc": { "storageGasOracle": "0x91d23D603d60445411C06e6443d81395593B7940", @@ -31,7 +34,10 @@ "validatorAnnounce": "0x7024078130D9c2100fEA474DAD009C2d1703aCcd", "testRecipient": "0x36FdA966CfffF8a9Cdc814f546db0e6378bFef35", "testTokenRecipient": "0x85ac1164878e017b67660a74ff1f41f3D05C02Bb", - "routingIsmFactory": "0xe6Af5720d34213C805C08e2470aea979e3F72F75" + "routingIsmFactory": "0xe6Af5720d34213C805C08e2470aea979e3F72F75", + "interchainSecurityModule": "0xab3df354baBee6c2B88E2CeD3b2e030e31aA5e61", + "fallbackRoutingHook": "0x237E81f87F57Badad9e09f13CC676D986cA852e7", + "pausableHook": "0x7DBdAd1b4A922B65d37d7258a4227b6658344b7f" }, "arbitrum": { "storageGasOracle": "0xD3805207b65d99C075ceA938Fa7c0587026a5DF5", @@ -48,7 +54,10 @@ "validatorAnnounce": "0x1df063280C4166AF9a725e3828b4dAC6c7113B08", "testRecipient": "0x36FdA966CfffF8a9Cdc814f546db0e6378bFef35", "testTokenRecipient": "0x85ac1164878e017b67660a74ff1f41f3D05C02Bb", - "routingIsmFactory": "0xa2931C37957f3079d3B21b877d56E1db930e02a5" + "routingIsmFactory": "0xa2931C37957f3079d3B21b877d56E1db930e02a5", + "pausableHook": "0xEf30f29Dcd3FCB1DCcDA9C7Cbf2A5957E8Ee9Cc3", + "fallbackRoutingHook": "0x9e8fFb1c26099e75Dd5D794030e2E9AA51471c25", + "interchainSecurityModule": "0xD0DBBF922076352cC50B285A0023536561F00EEa" }, "optimism": { "storageGasOracle": "0x27e88AeB8EA4B159d81df06355Ea3d20bEB1de38", @@ -65,7 +74,10 @@ "validatorAnnounce": "0x30f5b08e01808643221528BB2f7953bf2830Ef38", "testRecipient": "0x36FdA966CfffF8a9Cdc814f546db0e6378bFef35", "testTokenRecipient": "0x85ac1164878e017b67660a74ff1f41f3D05C02Bb", - "routingIsmFactory": "0xD2e905108c5e44dADA680274740f896Ea96Cf2Fb" + "routingIsmFactory": "0xD2e905108c5e44dADA680274740f896Ea96Cf2Fb", + "pausableHook": "0xf753CA2269c8A7693ce1808b5709Fbf36a65D47A", + "fallbackRoutingHook": "0xD4b132C6d4AA93A4247F1A91e1ED929c0572a43d", + "interchainSecurityModule": "0x04938856bE60c8e734ffDe5f720E2238302BE8D2" }, "moonbeam": { "storageGasOracle": "0x448b7ADB0dA36d41AA2AfDc9d63b97541A7b3819", @@ -82,7 +94,10 @@ "validatorAnnounce": "0x8c1001eBee6F25b31863A55EadfF149aF88B356F", "testRecipient": "0x36FdA966CfffF8a9Cdc814f546db0e6378bFef35", "testTokenRecipient": "0x85ac1164878e017b67660a74ff1f41f3D05C02Bb", - "routingIsmFactory": "0x8061Af3A459093540d17823D651BC5E2A92669a7" + "routingIsmFactory": "0x8061Af3A459093540d17823D651BC5E2A92669a7", + "pausableHook": "0xe28f2AEEB42ee83CAd068D9A9a449c8b868C137f", + "fallbackRoutingHook": "0x6C2D6eA0969F7Aa0A850CCA88c7BFACa563B2361", + "interchainSecurityModule": "0x373836DFa82f2D27ec79Ca32A197Aa1665F0E1e9" }, "gnosis": { "storageGasOracle": "0x5E01d8F34b629E3f92d69546bbc4142A7Adee7e9", @@ -99,7 +114,10 @@ "validatorAnnounce": "0x87ED6926abc9E38b9C7C19f835B41943b622663c", "testRecipient": "0x36FdA966CfffF8a9Cdc814f546db0e6378bFef35", "testTokenRecipient": "0x85ac1164878e017b67660a74ff1f41f3D05C02Bb", - "routingIsmFactory": "0xbB5Df000113e767dE11343A16f83De733e5bCC0F" + "routingIsmFactory": "0xbB5Df000113e767dE11343A16f83De733e5bCC0F", + "pausableHook": "0xf728C884De5275a608dEC222dACd0f2BF2E23AB6", + "fallbackRoutingHook": "0x24f5E353dD03E103Ba2372F7D6FC0cf3A66f849c", + "interchainSecurityModule": "0x8e1aa0687B6d939D5a44304D13B7c922ebB012f1" }, "base": { "merkleRootMultisigIsmFactory": "0x8b83fefd896fAa52057798f6426E9f0B080FCCcE", @@ -114,7 +132,10 @@ "aggregationHook": "0x13f3d4B0Ee0a713430fded9E18f7fb6c91A6E41F", "protocolFee": "0x99ca8c74cE7Cfa9d72A51fbb05F9821f5f826b3a", "validatorAnnounce": "0x182E8d7c5F1B06201b102123FC7dF0EaeB445a7B", - "routingIsmFactory": "0x7E27456a839BFF31CA642c060a2b68414Cb6e503" + "routingIsmFactory": "0x7E27456a839BFF31CA642c060a2b68414Cb6e503", + "pausableHook": "0x46fa3A5780e5B90Eaf34BDED554d5353B5ABE9E7", + "fallbackRoutingHook": "0x4Eb82Ee35b0a1c1d776E3a3B547f9A9bA6FCC9f2", + "interchainSecurityModule": "0x5D1e7D7c5B9e6dDC8439F67F10c578f2A1084f6F" }, "scroll": { "merkleRootMultisigIsmFactory": "0x2C1FAbEcd7bFBdEBF27CcdB67baADB38b6Df90fC", @@ -129,7 +150,10 @@ "protocolFee": "0xc3F23848Ed2e04C0c6d41bd7804fa8f89F940B94", "mailbox": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", "validatorAnnounce": "0xd83A4F747fE80Ed98839e05079B1B7Fe037b1638", - "routingIsmFactory": "0xe03dad16074BC5EEA9A9311257BF02Eb0B6AAA2b" + "routingIsmFactory": "0xe03dad16074BC5EEA9A9311257BF02Eb0B6AAA2b", + "pausableHook": "0x4Eb82Ee35b0a1c1d776E3a3B547f9A9bA6FCC9f2", + "fallbackRoutingHook": "0xDa7cECb05C4aeB02c1aFDE277d4306a2da7Bd762", + "interchainSecurityModule": "0xaDc0cB48E8DB81855A930C0C1165ea3dCe4Ba5C7" }, "polygonzkevm": { "merkleRootMultisigIsmFactory": "0x8F7454AC98228f3504Bb91eA3D8Adafe6406110A", @@ -144,7 +168,10 @@ "protocolFee": "0xd83A4F747fE80Ed98839e05079B1B7Fe037b1638", "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", "validatorAnnounce": "0x2fa5F5C96419C222cDbCeC797D696e6cE428A7A9", - "routingIsmFactory": "0xe4057c5B0c43Dc18E36b08C39B419F190D29Ac2d" + "routingIsmFactory": "0xe4057c5B0c43Dc18E36b08C39B419F190D29Ac2d", + "interchainSecurityModule": "0xf2BEE9D2c15Ba9D7e06799B5912dE1F05533c141", + "fallbackRoutingHook": "0x01aE937A7B05d187bBCBE80F44F41879D3D335a4", + "pausableHook": "0xc2FbB9411186AB3b1a6AFCCA702D1a80B48b197c" }, "celo": { "storageGasOracle": "0xD9A9966E7dA9a7f0032bF449FB12696a638E673C", @@ -161,7 +188,13 @@ "validatorAnnounce": "0xCeF677b65FDaA6804d4403083bb12B8dB3991FE1", "testRecipient": "0x36FdA966CfffF8a9Cdc814f546db0e6378bFef35", "testTokenRecipient": "0x85ac1164878e017b67660a74ff1f41f3D05C02Bb", - "routingIsmFactory": "0x2A2c22B0a8615ad24839fA6Af302E896Af32d1a3" + "routingIsmFactory": "0x2A2c22B0a8615ad24839fA6Af302E896Af32d1a3", + "domainRoutingIsm": "0xf18E32428dad0802C5D6F723cB80A6Da889777c4", + "pausableIsm": "0x6Bc4437ce69696C9461Cbc89582c259AC8847A58", + "staticAggregationIsm": "0x99e8E56Dce3402D6E09A82718937fc1cA2A9491E", + "interchainSecurityModule": "0x99e8E56Dce3402D6E09A82718937fc1cA2A9491E", + "fallbackRoutingHook": "0xDC98a856fb9112894c2fE32267DA8bF35645FAF3", + "pausableHook": "0x80672c5D9Fd26B235654C24adc1CFcDeb8d15115" }, "ethereum": { "storageGasOracle": "0xc9a103990A8dB11b4f627bc5CD1D0c2685484Ec5", @@ -178,7 +211,10 @@ "validatorAnnounce": "0xCe74905e51497b4adD3639366708b821dcBcff96", "testRecipient": "0x36FdA966CfffF8a9Cdc814f546db0e6378bFef35", "testTokenRecipient": "0x85ac1164878e017b67660a74ff1f41f3D05C02Bb", - "routingIsmFactory": "0x28fA9552F19039b450498B0d8e5DEAe0d0aAc559" + "routingIsmFactory": "0x28fA9552F19039b450498B0d8e5DEAe0d0aAc559", + "pausableHook": "0x3A66Dc852e56d3748838b3C27CF381105b83705b", + "fallbackRoutingHook": "0x571f1435613381208477ac5d6974310d88AC7cB7", + "interchainSecurityModule": "0x43Ce4Eb4aE3585dDe9Ac6967Db5b06f7f6764C8a" }, "avalanche": { "storageGasOracle": "0x175821F30AdCAA4bbB72Ce98eF76C2E0De2C3f21", @@ -195,7 +231,10 @@ "validatorAnnounce": "0x9Cad0eC82328CEE2386Ec14a12E81d070a27712f", "testRecipient": "0x36FdA966CfffF8a9Cdc814f546db0e6378bFef35", "testTokenRecipient": "0x85ac1164878e017b67660a74ff1f41f3D05C02Bb", - "routingIsmFactory": "0x28F7907911C7E321c596686AE6D1F20516450037" + "routingIsmFactory": "0x28F7907911C7E321c596686AE6D1F20516450037", + "pausableHook": "0x239eB860770F1C48ABAC9bE9825d20e3E7c018df", + "fallbackRoutingHook": "0x61D15D571D5f7A9eF0D1938f072f430bBF024747", + "interchainSecurityModule": "0xA36B02a83564f52d9244310Ea439ee6F6AfeFb60" }, "mantapacific": { "merkleRootMultisigIsmFactory": "0x8F7454AC98228f3504Bb91eA3D8Adafe6406110A", @@ -211,6 +250,9 @@ "aggregationHook": "0x8464aF853363B8d6844070F68b0AB34Cb6523d0F", "protocolFee": "0xd83A4F747fE80Ed98839e05079B1B7Fe037b1638", "validatorAnnounce": "0x2fa5F5C96419C222cDbCeC797D696e6cE428A7A9", - "routingIsmFactory": "0x8358D8291e3bEDb04804975eEa0fe9fe0fAfB147" + "routingIsmFactory": "0x8358D8291e3bEDb04804975eEa0fe9fe0fAfB147", + "pausableHook": "0x7556a0E61d577D921Cba8Fca0d7D6299d36E607E", + "fallbackRoutingHook": "0xD1E267d2d7876e97E217BfE61c34AB50FEF52807", + "interchainSecurityModule": "0xDEed16fe4b1c9b2a93483EDFf34C77A9b57D31Ff" } } diff --git a/typescript/sdk/src/consts/environments/testnet.json b/typescript/sdk/src/consts/environments/testnet.json index 93257a9431..c37a3cc385 100644 --- a/typescript/sdk/src/consts/environments/testnet.json +++ b/typescript/sdk/src/consts/environments/testnet.json @@ -7,12 +7,9 @@ "proxyAdmin": "0x05Ea36Caee7d92C173334C9D97DcD39ABdCB2b69", "mailbox": "0x58483b754Abb1E8947BE63d6b95DF75b8249543A", "validatorAnnounce": "0x679Dc08cC3A4acFeea2f7CAFAa37561aE0b41Ce7", - "merkleTreeHook": "0x5821f3B6eE05F3dC62b43B74AB1C8F8E6904b1C8", "storageGasOracle": "0x267B6B6eAf6790faE5D5E9070F28a9cE64CbF279", "interchainGasPaymaster": "0x28B02B97a850872C4D33C3E024fab6499ad96564", - "aggregationHook": "0x168e606fE4A9c8d7F83a3aAA132E831f153e4bAa", "protocolFee": "0xEe421285728284000ec6c6C55C6F9161faeFfa99", - "fallbackRoutingHook": "0x2C6dD6768E669EDB7b53f26067C1C4534862c3de", "testRecipient": "0x54Bd02f0f20677e9846F8E9FdB1Abc7315C49C38", "testTokenRecipient": "0x5e65279Fb7293a058776e37587398fcc3E9184b1", "routingIsmFactory": "0xb6242d549d4b19a20684397790AFa555b16Bc979" diff --git a/typescript/sdk/src/core/HyperlaneCoreDeployer.ts b/typescript/sdk/src/core/HyperlaneCoreDeployer.ts index cf2c602594..8cea8c47d3 100644 --- a/typescript/sdk/src/core/HyperlaneCoreDeployer.ts +++ b/typescript/sdk/src/core/HyperlaneCoreDeployer.ts @@ -123,12 +123,14 @@ export class HyperlaneCoreDeployer extends HyperlaneDeployer< this.logger('Mailbox already initialized'); + const overrides = this.multiProvider.getTransactionOverrides(chain); await this.configureHook( chain, mailbox, defaultHook, (_mailbox) => _mailbox.defaultHook(), - (_mailbox, _hook) => _mailbox.populateTransaction.setDefaultHook(_hook), + (_mailbox, _hook) => + _mailbox.populateTransaction.setDefaultHook(_hook, { ...overrides }), ); await this.configureHook( @@ -137,7 +139,7 @@ export class HyperlaneCoreDeployer extends HyperlaneDeployer< requiredHook, (_mailbox) => _mailbox.requiredHook(), (_mailbox, _hook) => - _mailbox.populateTransaction.setRequiredHook(_hook), + _mailbox.populateTransaction.setRequiredHook(_hook, { ...overrides }), ); await this.configureIsm( diff --git a/typescript/sdk/src/hook/HyperlaneHookDeployer.ts b/typescript/sdk/src/hook/HyperlaneHookDeployer.ts index 4c52d78fc6..bfc4b74828 100644 --- a/typescript/sdk/src/hook/HyperlaneHookDeployer.ts +++ b/typescript/sdk/src/hook/HyperlaneHookDeployer.ts @@ -74,7 +74,8 @@ export class HyperlaneHookDeployer extends HyperlaneDeployer< ); hook = interchainGasPaymaster; } else if (config.type === HookType.AGGREGATION) { - return this.deployAggregation(chain, config, coreAddresses); // deploy from factory + hook = (await this.deployAggregation(chain, config, coreAddresses)) + .aggregationHook; // deploy from factory } else if (config.type === HookType.PROTOCOL_FEE) { hook = await this.deployProtocolFee(chain, config); } else if (config.type === HookType.OP_STACK) { @@ -294,9 +295,12 @@ export class HyperlaneHookDeployer extends HyperlaneDeployer< } } + const overrides = this.multiProvider.getTransactionOverrides(chain); await this.multiProvider.handleTx( chain, - routingHook.setHooks(routingConfigs), + routingHook.setHooks(routingConfigs, { + ...overrides, + }), ); return routingHook;