diff --git a/.changeset/seven-buses-hope.md b/.changeset/seven-buses-hope.md new file mode 100644 index 0000000000..3989c5ce56 --- /dev/null +++ b/.changeset/seven-buses-hope.md @@ -0,0 +1,5 @@ +--- +'@hyperlane-xyz/sdk': minor +--- + +Deploy to abstract, glue, matchain, unitzero. diff --git a/.registryrc b/.registryrc index 341d982666..cba7a6cc0e 100644 --- a/.registryrc +++ b/.registryrc @@ -1 +1 @@ -2b3f78f7692b6b62e0f85023a29ecc2b2ab85008 +6535b3fd17b752834c4a258f7ff9fed0d32590ef diff --git a/rust/main/config/mainnet_config.json b/rust/main/config/mainnet_config.json index 6dc2d16e24..7b0dfbfd88 100644 --- a/rust/main/config/mainnet_config.json +++ b/rust/main/config/mainnet_config.json @@ -7389,7 +7389,7 @@ }, "displayName": "Artela", "domainId": 11820, - "gasCurrencyCoinGeckoId": "artela", + "gasCurrencyCoinGeckoId": "artela-network", "name": "artela", "nativeToken": { "decimals": 18, @@ -7755,7 +7755,260 @@ "staticMessageIdWeightedMultisigIsmFactory": "0x4Ed7d626f1E96cD1C0401607Bf70D95243E3dEd1", "storageGasOracle": "0x7B032cBB00AD7438E802A66D8b64761A06E5df22", "testRecipient": "0x46008F5971eFb16e6c354Ef993EA021B489bc055", - "validatorAnnounce": "0xf0F937943Cd6D2a5D02b7f96C9Dd9e04AB633813" + "validatorAnnounce": "0xf0F937943Cd6D2a5D02b7f96C9Dd9e04AB633813", + "interchainAccountIsm": "0x30a539E2E2d09FB4e68661B1EDD70D266211602a", + "interchainAccountRouter": "0xB2b0A80b2fa3fC9aB1564A4FaF013d4D6084B325", + "timelockController": "0x0000000000000000000000000000000000000000" + }, + "abstract": { + "blockExplorers": [ + { + "apiUrl": "https://api.abscan.org/api", + "family": "etherscan", + "name": "Abstract Block Explorer", + "url": "https://abscan.org" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 1, + "reorgPeriod": 0 + }, + "chainId": 2741, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Abstract", + "domainId": 2741, + "gasCurrencyCoinGeckoId": "ethereum", + "index": { + "from": 201749 + }, + "name": "abstract", + "nativeToken": { + "decimals": 18, + "name": "Ethereum", + "symbol": "ETH" + }, + "protocol": "ethereum", + "rpcUrls": [ + { + "http": "https://api.mainnet.abs.xyz" + } + ], + "technicalStack": "zksync", + "domainRoutingIsm": "0xd0133980785c4DA716445Dd503804Cad858A5ecB", + "domainRoutingIsmFactory": "0x0000000000000000000000000000000000000000", + "fallbackDomainRoutingHook": "0x72f747270ED9C92c7026b222c5767561Be281DaF", + "fallbackRoutingHook": "0x72f747270ED9C92c7026b222c5767561Be281DaF", + "interchainGasPaymaster": "0x874AaCa847B365592B2b9dB7235517c5F3a5c689", + "interchainSecurityModule": "0xd0133980785c4DA716445Dd503804Cad858A5ecB", + "mailbox": "0x9BbDf86b272d224323136E15594fdCe487F40ce7", + "merkleTreeHook": "0x11b69aB33AD8a550dcF9B4A041AA1121255F08A5", + "proxyAdmin": "0x038F9F4e93e88Af2C688da265222FdE80e455aA4", + "staticAggregationHookFactory": "0x0000000000000000000000000000000000000000", + "staticAggregationIsmFactory": "0x0000000000000000000000000000000000000000", + "staticMerkleRootMultisigIsmFactory": "0x0000000000000000000000000000000000000000", + "staticMerkleRootWeightedMultisigIsmFactory": "0x0000000000000000000000000000000000000000", + "staticMessageIdMultisigIsmFactory": "0x0000000000000000000000000000000000000000", + "staticMessageIdWeightedMultisigIsmFactory": "0x0000000000000000000000000000000000000000", + "storageGasOracle": "0x1cE4d0E16570C362feef85Ce2713555fCbd3dBC7", + "testRecipient": "0xCDfE1782fDC9E74810D3B69E971d752bC4b4D6E6", + "validatorAnnounce": "0x2235662a9a8ED39AE489aafb2feE13Db26f72044" + }, + "glue": { + "blockExplorers": [ + { + "apiUrl": "https://explorer.glue.net/api", + "family": "blockscout", + "name": "Glue Explorer", + "url": "https://explorer.glue.net" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 6, + "reorgPeriod": 5 + }, + "chainId": 1300, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Glue", + "domainId": 1300, + "gasCurrencyCoinGeckoId": "glue", + "name": "glue", + "nativeToken": { + "decimals": 18, + "name": "GLUE", + "symbol": "GLUE" + }, + "protocol": "ethereum", + "rpcUrls": [ + { + "http": "https://rpc.glue.net" + } + ], + "technicalStack": "other", + "aggregationHook": "0x3Fbdb776Fc7f60d53F0A3daA806354849A928618", + "domainRoutingIsm": "0xBD70Ea9D599a0FC8158B026797177773C3445730", + "domainRoutingIsmFactory": "0x1052eF3419f26Bec74Ed7CEf4a4FA6812Bc09908", + "fallbackRoutingHook": "0x46008F5971eFb16e6c354Ef993EA021B489bc055", + "interchainAccountIsm": "0xE350143242a2F7962F23D71ee9Dd98f6e86D1772", + "interchainAccountRouter": "0x5B24EE24049582fF74c1d311d72c70bA5B76a554", + "interchainGasPaymaster": "0x8F23872dAb3B166cef411EeB6C391Ff6Ce419532", + "interchainSecurityModule": "0xFEcD49346dfbbaAf2BD1F05f9f76e3A204c7C6A2", + "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", + "merkleTreeHook": "0xf0F937943Cd6D2a5D02b7f96C9Dd9e04AB633813", + "pausableHook": "0xff72A726Ce261846f2dF6F32113e514b5Ddb0E37", + "pausableIsm": "0xA9D06082F4AA449D95b49D85F27fdC0cFb491d4b", + "protocolFee": "0xc31B1E6c8E706cF40842C3d728985Cd2f85413eD", + "proxyAdmin": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", + "staticAggregationHookFactory": "0xEb9FcFDC9EfDC17c1EC5E1dc085B98485da213D6", + "staticAggregationIsm": "0xFEcD49346dfbbaAf2BD1F05f9f76e3A204c7C6A2", + "staticAggregationIsmFactory": "0x8F7454AC98228f3504Bb91eA3D8Adafe6406110A", + "staticMerkleRootMultisigIsmFactory": "0x2C1FAbEcd7bFBdEBF27CcdB67baADB38b6Df90fC", + "staticMerkleRootWeightedMultisigIsmFactory": "0x0761b0827849abbf7b0cC09CE14e1C93D87f5004", + "staticMessageIdMultisigIsmFactory": "0x8b83fefd896fAa52057798f6426E9f0B080FCCcE", + "staticMessageIdWeightedMultisigIsmFactory": "0x4Ed7d626f1E96cD1C0401607Bf70D95243E3dEd1", + "storageGasOracle": "0xb89c6ED617f5F46175E41551350725A09110bbCE", + "testRecipient": "0x7Ce3a48cd9FD80004d95b088760bD05bA86C1f7b", + "timelockController": "0x0000000000000000000000000000000000000000", + "validatorAnnounce": "0xFa6fDABA1d0688675f05cE1B9DE17461247Bce9e", + "index": { + "from": 541217 + } + }, + "matchain": { + "blockExplorers": [ + { + "apiUrl": "https://matchscan.io/api", + "family": "blockscout", + "name": "Matchain Explorer", + "url": "https://matchscan.io" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 1, + "reorgPeriod": 5 + }, + "chainId": 698, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Matchain", + "domainId": 698, + "gasCurrencyCoinGeckoId": "binancecoin", + "name": "matchain", + "nativeToken": { + "decimals": 18, + "name": "BNB", + "symbol": "BNB" + }, + "protocol": "ethereum", + "rpcUrls": [ + { + "http": "https://rpc.matchain.io" + } + ], + "technicalStack": "opstack", + "aggregationHook": "0x57f5F4c801912C332fddCEfa22433728EcFD9595", + "domainRoutingIsm": "0xBD70Ea9D599a0FC8158B026797177773C3445730", + "domainRoutingIsmFactory": "0x1052eF3419f26Bec74Ed7CEf4a4FA6812Bc09908", + "fallbackRoutingHook": "0xf0F937943Cd6D2a5D02b7f96C9Dd9e04AB633813", + "interchainAccountIsm": "0xD84981Ecd4c411A86E1Ccda77F944c8f3D9737ab", + "interchainAccountRouter": "0xF16E63B42Df7f2676B373979120BBf7e6298F473", + "interchainGasPaymaster": "0x9629c28990F11c31735765A6FD59E1E1bC197DbD", + "interchainSecurityModule": "0x2BAb551CFDFbd6CC45a3B73424aD6228F8A81B61", + "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", + "merkleTreeHook": "0x021D2810a758c833080DEc2F1Fa8F571Aae97D45", + "pausableHook": "0x46008F5971eFb16e6c354Ef993EA021B489bc055", + "pausableIsm": "0xc2466492C451E1AE49d8C874bB9f89293Aaad59b", + "protocolFee": "0xb201817dFdd822B75Fa9b595457E6Ee466a7C187", + "proxyAdmin": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", + "staticAggregationHookFactory": "0xEb9FcFDC9EfDC17c1EC5E1dc085B98485da213D6", + "staticAggregationIsm": "0x2BAb551CFDFbd6CC45a3B73424aD6228F8A81B61", + "staticAggregationIsmFactory": "0x8F7454AC98228f3504Bb91eA3D8Adafe6406110A", + "staticMerkleRootMultisigIsmFactory": "0x2C1FAbEcd7bFBdEBF27CcdB67baADB38b6Df90fC", + "staticMerkleRootWeightedMultisigIsmFactory": "0x0761b0827849abbf7b0cC09CE14e1C93D87f5004", + "staticMessageIdMultisigIsmFactory": "0x8b83fefd896fAa52057798f6426E9f0B080FCCcE", + "staticMessageIdWeightedMultisigIsmFactory": "0x4Ed7d626f1E96cD1C0401607Bf70D95243E3dEd1", + "storageGasOracle": "0xff72A726Ce261846f2dF6F32113e514b5Ddb0E37", + "testRecipient": "0xFa6fDABA1d0688675f05cE1B9DE17461247Bce9e", + "timelockController": "0x0000000000000000000000000000000000000000", + "validatorAnnounce": "0xC5f2c60073DCAA9D157C45d5B017D639dF9C5CeB", + "index": { + "from": 16333539, + "chunk": 999 + } + }, + "unitzero": { + "blockExplorers": [ + { + "apiUrl": "https://explorer.unit0.dev/api", + "family": "blockscout", + "name": "Unit Zero Explorer", + "url": "https://explorer.unit0.dev" + } + ], + "blocks": { + "confirmations": 1, + "estimateBlockTime": 7, + "reorgPeriod": 5 + }, + "chainId": 88811, + "deployer": { + "name": "Abacus Works", + "url": "https://www.hyperlane.xyz" + }, + "displayName": "Unit Zero", + "domainId": 88811, + "gasCurrencyCoinGeckoId": "unit0", + "name": "unitzero", + "nativeToken": { + "decimals": 18, + "name": "Unit Zero", + "symbol": "UNIT0" + }, + "protocol": "ethereum", + "rpcUrls": [ + { + "http": "https://rpc.unit0.dev" + } + ], + "technicalStack": "other", + "aggregationHook": "0x57f5F4c801912C332fddCEfa22433728EcFD9595", + "domainRoutingIsm": "0xBD70Ea9D599a0FC8158B026797177773C3445730", + "domainRoutingIsmFactory": "0x1052eF3419f26Bec74Ed7CEf4a4FA6812Bc09908", + "fallbackRoutingHook": "0xf0F937943Cd6D2a5D02b7f96C9Dd9e04AB633813", + "interchainAccountIsm": "0xD84981Ecd4c411A86E1Ccda77F944c8f3D9737ab", + "interchainAccountRouter": "0xF16E63B42Df7f2676B373979120BBf7e6298F473", + "interchainGasPaymaster": "0x9629c28990F11c31735765A6FD59E1E1bC197DbD", + "interchainSecurityModule": "0x2BAb551CFDFbd6CC45a3B73424aD6228F8A81B61", + "mailbox": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", + "merkleTreeHook": "0x021D2810a758c833080DEc2F1Fa8F571Aae97D45", + "pausableHook": "0x46008F5971eFb16e6c354Ef993EA021B489bc055", + "pausableIsm": "0xc2466492C451E1AE49d8C874bB9f89293Aaad59b", + "protocolFee": "0xb201817dFdd822B75Fa9b595457E6Ee466a7C187", + "proxyAdmin": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", + "staticAggregationHookFactory": "0xEb9FcFDC9EfDC17c1EC5E1dc085B98485da213D6", + "staticAggregationIsm": "0x2BAb551CFDFbd6CC45a3B73424aD6228F8A81B61", + "staticAggregationIsmFactory": "0x8F7454AC98228f3504Bb91eA3D8Adafe6406110A", + "staticMerkleRootMultisigIsmFactory": "0x2C1FAbEcd7bFBdEBF27CcdB67baADB38b6Df90fC", + "staticMerkleRootWeightedMultisigIsmFactory": "0x0761b0827849abbf7b0cC09CE14e1C93D87f5004", + "staticMessageIdMultisigIsmFactory": "0x8b83fefd896fAa52057798f6426E9f0B080FCCcE", + "staticMessageIdWeightedMultisigIsmFactory": "0x4Ed7d626f1E96cD1C0401607Bf70D95243E3dEd1", + "storageGasOracle": "0xff72A726Ce261846f2dF6F32113e514b5Ddb0E37", + "testRecipient": "0xFa6fDABA1d0688675f05cE1B9DE17461247Bce9e", + "timelockController": "0x0000000000000000000000000000000000000000", + "validatorAnnounce": "0xC5f2c60073DCAA9D157C45d5B017D639dF9C5CeB", + "index": { + "from": 938445 + } } }, "defaultRpcConsensusType": "fallback" diff --git a/typescript/infra/config/environments/mainnet3/agent.ts b/typescript/infra/config/environments/mainnet3/agent.ts index 7745324c4b..5de4057244 100644 --- a/typescript/infra/config/environments/mainnet3/agent.ts +++ b/typescript/infra/config/environments/mainnet3/agent.ts @@ -59,6 +59,7 @@ export const hyperlaneContextAgentChainConfig: AgentChainConfig< > = { // Generally, we run all production validators in the Hyperlane context. [Role.Validator]: { + abstract: false, // acala: true, ancient8: true, alephzeroevmmainnet: true, @@ -104,6 +105,7 @@ export const hyperlaneContextAgentChainConfig: AgentChainConfig< // fractal: false, fraxtal: true, fusemainnet: true, + glue: true, gnosis: true, gravity: true, guru: true, @@ -122,6 +124,7 @@ export const hyperlaneContextAgentChainConfig: AgentChainConfig< lumiaprism: true, mantapacific: true, mantle: true, + matchain: true, merlin: true, metal: true, metis: true, @@ -167,6 +170,7 @@ export const hyperlaneContextAgentChainConfig: AgentChainConfig< treasure: true, trumpchain: true, unichain: true, + unitzero: true, vana: true, viction: true, worldchain: true, @@ -181,6 +185,7 @@ export const hyperlaneContextAgentChainConfig: AgentChainConfig< zoramainnet: true, }, [Role.Relayer]: { + abstract: false, // acala: true, ancient8: true, alephzeroevmmainnet: true, @@ -226,6 +231,7 @@ export const hyperlaneContextAgentChainConfig: AgentChainConfig< // fractal: false, fraxtal: true, fusemainnet: true, + glue: true, gnosis: true, gravity: true, guru: true, @@ -244,6 +250,7 @@ export const hyperlaneContextAgentChainConfig: AgentChainConfig< lumiaprism: true, mantapacific: true, mantle: true, + matchain: true, merlin: true, metal: true, metis: true, @@ -290,6 +297,7 @@ export const hyperlaneContextAgentChainConfig: AgentChainConfig< treasure: true, trumpchain: true, unichain: true, + unitzero: true, vana: true, viction: true, worldchain: true, @@ -304,6 +312,7 @@ export const hyperlaneContextAgentChainConfig: AgentChainConfig< zoramainnet: true, }, [Role.Scraper]: { + abstract: false, // acala: true, ancient8: true, alephzeroevmmainnet: true, @@ -349,6 +358,7 @@ export const hyperlaneContextAgentChainConfig: AgentChainConfig< // fractal: false, fraxtal: true, fusemainnet: true, + glue: true, gnosis: true, gravity: true, guru: true, @@ -367,6 +377,7 @@ export const hyperlaneContextAgentChainConfig: AgentChainConfig< lumiaprism: true, mantapacific: true, mantle: true, + matchain: true, merlin: true, metal: true, metis: true, @@ -412,6 +423,7 @@ export const hyperlaneContextAgentChainConfig: AgentChainConfig< treasure: true, trumpchain: true, unichain: true, + unitzero: true, vana: true, // Has RPC non-compliance that breaks scraping. viction: false, @@ -669,7 +681,7 @@ const hyperlane: RootAgentConfig = { validators: { docker: { repo, - tag: '0372ff9-20250121-104245', + tag: '7eec2ac-20250123-193619', }, rpcConsensusType: RpcConsensusType.Quorum, chains: validatorChainConfig(Contexts.Hyperlane), @@ -679,7 +691,7 @@ const hyperlane: RootAgentConfig = { rpcConsensusType: RpcConsensusType.Fallback, docker: { repo, - tag: '359ce5d-20250121-133827', + tag: '7eec2ac-20250123-193619', }, resources: scraperResources, }, @@ -694,7 +706,7 @@ const releaseCandidate: RootAgentConfig = { rpcConsensusType: RpcConsensusType.Fallback, docker: { repo, - tag: '09e1d5b-20250121-214732', + tag: '7eec2ac-20250123-193619', }, blacklist, // We're temporarily (ab)using the RC relayer as a way to increase diff --git a/typescript/infra/config/environments/mainnet3/aw-validators/hyperlane.json b/typescript/infra/config/environments/mainnet3/aw-validators/hyperlane.json index 4494e701b5..778e7c3f20 100644 --- a/typescript/infra/config/environments/mainnet3/aw-validators/hyperlane.json +++ b/typescript/infra/config/environments/mainnet3/aw-validators/hyperlane.json @@ -152,6 +152,9 @@ "fusemainnet": { "validators": ["0x770c8ec9aac8cec4b2ead583b49acfbc5a1cf8a9"] }, + "glue": { + "validators": ["0xbe2ded12f7b023916584836506677ea89a0b6924"] + }, "gnosis": { "validators": [ "0xd4df66a859585678f2ea8357161d896be19cc1ca", @@ -218,6 +221,9 @@ "mantle": { "validators": ["0xf930636c5a1a8bf9302405f72e3af3c96ebe4a52"] }, + "matchain": { + "validators": ["0x8a052f7934b0626105f34f980c875ec03aaf82e8"] + }, "merlin": { "validators": ["0xc1d6600cb9326ed2198cc8c4ba8d6668e8671247"] }, @@ -371,6 +377,9 @@ "unichain": { "validators": ["0x9773a382342ebf604a2e5de0a1f462fb499e28b1"] }, + "unitzero": { + "validators": ["0x18818e3ad2012728465d394f2e3c0ea2357ae9c5"] + }, "vana": { "validators": ["0xfdf3b0dfd4b822d10cacb15c8ae945ea269e7534"] }, diff --git a/typescript/infra/config/environments/mainnet3/aw-validators/rc.json b/typescript/infra/config/environments/mainnet3/aw-validators/rc.json index 344c4dedd9..0634d81c1f 100644 --- a/typescript/infra/config/environments/mainnet3/aw-validators/rc.json +++ b/typescript/infra/config/environments/mainnet3/aw-validators/rc.json @@ -141,13 +141,6 @@ "0xcaa9c6e6efa35e4a8b47565f3ce98845fa638bf3" ] }, - "neutron": { - "validators": [ - "0x307a8fe091b8273c7ce3d277b161b4a2167279b1", - "0xb825c1bd020cb068f477b320f591b32e26814b5b", - "0x0a5b31090d4c3c207b9ea6708f938e328f895fce" - ] - }, "oortmainnet": { "validators": ["0x83f406ff315e90ae9589fa7786bf700e7c7a06f1"] }, @@ -200,9 +193,6 @@ "solanamainnet": { "validators": ["0x7bd1536cb7505cf2ea1dc6744127d91fbe87a2ad"] }, - "stride": { - "validators": ["0x1edadb2330c77769a7e9b48d990289ccdcafa430"] - }, "tangle": { "validators": ["0xd778d113975b2fe45eda424bf93c28f32a90b076"] }, @@ -224,5 +214,12 @@ }, "zetachain": { "validators": ["0xa13d146b47242671466e4041f5fe68d22a2ffe09"] + }, + "neutron": { + "validators": [ + "0x307a8fe091b8273c7ce3d277b161b4a2167279b1", + "0xb825c1bd020cb068f477b320f591b32e26814b5b", + "0x0a5b31090d4c3c207b9ea6708f938e328f895fce" + ] } } diff --git a/typescript/infra/config/environments/mainnet3/core/verification.json b/typescript/infra/config/environments/mainnet3/core/verification.json index 96e31d1d84..0899c0f796 100644 --- a/typescript/infra/config/environments/mainnet3/core/verification.json +++ b/typescript/infra/config/environments/mainnet3/core/verification.json @@ -7434,5 +7434,273 @@ "constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e", "isProxy": false } + ], + "abstract": [ + { + "name": "ProxyAdmin", + "address": "0x038F9F4e93e88Af2C688da265222FdE80e455aA4", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "Mailbox", + "address": "0xA3949b37109d64b10De93252EeFebBB2E6B8944F", + "constructorArguments": "0000000000000000000000000000000000000000000000000000000000000ab5", + "isProxy": false + }, + { + "name": "TransparentUpgradeableProxy", + "address": "0x9BbDf86b272d224323136E15594fdCe487F40ce7", + "constructorArguments": "000000000000000000000000a3949b37109d64b10de93252eefebbb2e6b8944f000000000000000000000000038f9f4e93e88af2c688da265222fde80e455aa400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000", + "isProxy": true, + "expectedimplementation": "0xA3949b37109d64b10De93252EeFebBB2E6B8944F" + }, + { + "name": "MerkleTreeHook", + "address": "0x11b69aB33AD8a550dcF9B4A041AA1121255F08A5", + "constructorArguments": "0000000000000000000000009bbdf86b272d224323136e15594fdce487f40ce7", + "isProxy": false + }, + { + "name": "FallbackDomainRoutingHook", + "address": "0x72f747270ED9C92c7026b222c5767561Be281DaF", + "constructorArguments": "0000000000000000000000009bbdf86b272d224323136e15594fdce487f40ce7000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000011b69ab33ad8a550dcf9b4a041aa1121255f08a5", + "isProxy": false + }, + { + "name": "StorageGasOracle", + "address": "0x1cE4d0E16570C362feef85Ce2713555fCbd3dBC7", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "InterchainGasPaymaster", + "address": "0x1741E83C2504fFEd6E60CF41BbC207c2d61a095F", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "TransparentUpgradeableProxy", + "address": "0x874AaCa847B365592B2b9dB7235517c5F3a5c689", + "constructorArguments": "0000000000000000000000001741e83c2504ffed6e60cf41bbc207c2d61a095f000000000000000000000000038f9f4e93e88af2c688da265222fde80e455aa400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044485cc955000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000", + "isProxy": true, + "expectedimplementation": "0x1741E83C2504fFEd6E60CF41BbC207c2d61a095F" + }, + { + "name": "ValidatorAnnounce", + "address": "0x2235662a9a8ED39AE489aafb2feE13Db26f72044", + "constructorArguments": "0000000000000000000000009bbdf86b272d224323136e15594fdce487f40ce7", + "isProxy": false + } + ], + "matchain": [ + { + "name": "ProxyAdmin", + "address": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "Mailbox", + "address": "0xeA87ae93Fa0019a82A727bfd3eBd1cFCa8f64f1D", + "constructorArguments": "00000000000000000000000000000000000000000000000000000000000002ba", + "isProxy": false + }, + { + "name": "TransparentUpgradeableProxy", + "address": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", + "constructorArguments": "000000000000000000000000ea87ae93fa0019a82a727bfd3ebd1cfca8f64f1d0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000", + "isProxy": true, + "expectedimplementation": "0xeA87ae93Fa0019a82A727bfd3eBd1cFCa8f64f1D" + }, + { + "name": "MerkleTreeHook", + "address": "0x021D2810a758c833080DEc2F1Fa8F571Aae97D45", + "constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e", + "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0xf0F937943Cd6D2a5D02b7f96C9Dd9e04AB633813", + "constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba000000000000000000000000021d2810a758c833080dec2f1fa8f571aae97d45", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0x46008F5971eFb16e6c354Ef993EA021B489bc055", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "StorageGasOracle", + "address": "0xff72A726Ce261846f2dF6F32113e514b5Ddb0E37", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "InterchainGasPaymaster", + "address": "0xa2401b57A8CCBF6AbD9b7e62e28811b2b523AB2B", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "TransparentUpgradeableProxy", + "address": "0x9629c28990F11c31735765A6FD59E1E1bC197DbD", + "constructorArguments": "000000000000000000000000a2401b57a8ccbf6abd9b7e62e28811b2b523ab2b0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044485cc955000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000", + "isProxy": true, + "expectedimplementation": "0xa2401b57A8CCBF6AbD9b7e62e28811b2b523AB2B" + }, + { + "name": "ProtocolFee", + "address": "0xb201817dFdd822B75Fa9b595457E6Ee466a7C187", + "constructorArguments": "000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba", + "isProxy": false + }, + { + "name": "ValidatorAnnounce", + "address": "0xC5f2c60073DCAA9D157C45d5B017D639dF9C5CeB", + "constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e", + "isProxy": false + } + ], + "unitzero": [ + { + "name": "ProxyAdmin", + "address": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "Mailbox", + "address": "0xeA87ae93Fa0019a82A727bfd3eBd1cFCa8f64f1D", + "constructorArguments": "0000000000000000000000000000000000000000000000000000000000015aeb", + "isProxy": false + }, + { + "name": "TransparentUpgradeableProxy", + "address": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", + "constructorArguments": "000000000000000000000000ea87ae93fa0019a82a727bfd3ebd1cfca8f64f1d0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000", + "isProxy": true, + "expectedimplementation": "0xeA87ae93Fa0019a82A727bfd3eBd1cFCa8f64f1D" + }, + { + "name": "MerkleTreeHook", + "address": "0x021D2810a758c833080DEc2F1Fa8F571Aae97D45", + "constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e", + "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0xf0F937943Cd6D2a5D02b7f96C9Dd9e04AB633813", + "constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba000000000000000000000000021d2810a758c833080dec2f1fa8f571aae97d45", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0x46008F5971eFb16e6c354Ef993EA021B489bc055", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "StorageGasOracle", + "address": "0xff72A726Ce261846f2dF6F32113e514b5Ddb0E37", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "InterchainGasPaymaster", + "address": "0xa2401b57A8CCBF6AbD9b7e62e28811b2b523AB2B", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "TransparentUpgradeableProxy", + "address": "0x9629c28990F11c31735765A6FD59E1E1bC197DbD", + "constructorArguments": "000000000000000000000000a2401b57a8ccbf6abd9b7e62e28811b2b523ab2b0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044485cc955000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000", + "isProxy": true, + "expectedimplementation": "0xa2401b57A8CCBF6AbD9b7e62e28811b2b523AB2B" + }, + { + "name": "ProtocolFee", + "address": "0xb201817dFdd822B75Fa9b595457E6Ee466a7C187", + "constructorArguments": "000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba", + "isProxy": false + }, + { + "name": "ValidatorAnnounce", + "address": "0xC5f2c60073DCAA9D157C45d5B017D639dF9C5CeB", + "constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e", + "isProxy": false + } + ], + "glue": [ + { + "name": "ProxyAdmin", + "address": "0x2f2aFaE1139Ce54feFC03593FeE8AB2aDF4a85A7", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "Mailbox", + "address": "0xeA87ae93Fa0019a82A727bfd3eBd1cFCa8f64f1D", + "constructorArguments": "0000000000000000000000000000000000000000000000000000000000000514", + "isProxy": false + }, + { + "name": "TransparentUpgradeableProxy", + "address": "0x3a464f746D23Ab22155710f44dB16dcA53e0775E", + "constructorArguments": "000000000000000000000000ea87ae93fa0019a82a727bfd3ebd1cfca8f64f1d0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000", + "isProxy": true, + "expectedimplementation": "0xeA87ae93Fa0019a82A727bfd3eBd1cFCa8f64f1D" + }, + { + "name": "MerkleTreeHook", + "address": "0xf0F937943Cd6D2a5D02b7f96C9Dd9e04AB633813", + "constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e", + "isProxy": false + }, + { + "name": "FallbackRoutingHook", + "address": "0x46008F5971eFb16e6c354Ef993EA021B489bc055", + "constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba000000000000000000000000f0f937943cd6d2a5d02b7f96c9dd9e04ab633813", + "isProxy": false + }, + { + "name": "PausableHook", + "address": "0xff72A726Ce261846f2dF6F32113e514b5Ddb0E37", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "StorageGasOracle", + "address": "0xb89c6ED617f5F46175E41551350725A09110bbCE", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "InterchainGasPaymaster", + "address": "0xE885941aF52eab9E7f4c67392eACd96ea2A65d9B", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "TransparentUpgradeableProxy", + "address": "0x8F23872dAb3B166cef411EeB6C391Ff6Ce419532", + "constructorArguments": "000000000000000000000000e885941af52eab9e7f4c67392eacd96ea2a65d9b0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044485cc955000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000", + "isProxy": true, + "expectedimplementation": "0xE885941aF52eab9E7f4c67392eACd96ea2A65d9B" + }, + { + "name": "ProtocolFee", + "address": "0xc31B1E6c8E706cF40842C3d728985Cd2f85413eD", + "constructorArguments": "000000000000000000000000000000000000000000000000000000003b9aca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba", + "isProxy": false + }, + { + "name": "ValidatorAnnounce", + "address": "0xFa6fDABA1d0688675f05cE1B9DE17461247Bce9e", + "constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e", + "isProxy": false + } ] } diff --git a/typescript/infra/config/environments/mainnet3/funding.ts b/typescript/infra/config/environments/mainnet3/funding.ts index 1b004939b2..df1918118c 100644 --- a/typescript/infra/config/environments/mainnet3/funding.ts +++ b/typescript/infra/config/environments/mainnet3/funding.ts @@ -10,7 +10,7 @@ export const keyFunderConfig: KeyFunderConfig< > = { docker: { repo: 'gcr.io/abacus-labs-dev/hyperlane-monorepo', - tag: '95deca3-20250120-103554', + tag: '9602137-20250123-180143', }, // We're currently using the same deployer/key funder key as mainnet2. // To minimize nonce clobbering we offset the key funder cron @@ -26,6 +26,7 @@ export const keyFunderConfig: KeyFunderConfig< }, // desired balance config, must be set for each chain desiredBalancePerChain: { + abstract: '0', // acala: '5', ancient8: '0.5', alephzeroevmmainnet: '100', @@ -70,6 +71,7 @@ export const keyFunderConfig: KeyFunderConfig< // fractal: '500', fraxtal: '0.2', fusemainnet: '20', + glue: '50', gnosis: '5', gravity: '500', guru: '100', @@ -87,6 +89,7 @@ export const keyFunderConfig: KeyFunderConfig< lumiaprism: '1', mantapacific: '0.2', mantle: '20', + matchain: '0.05', merlin: '0.002', metal: '0.05', metis: '3', @@ -129,6 +132,7 @@ export const keyFunderConfig: KeyFunderConfig< treasure: '900', trumpchain: '0.25', unichain: '0.05', + unitzero: '50', // temporarily low until we're able to fund more vana: '0.001', viction: '3', diff --git a/typescript/infra/config/environments/mainnet3/gasPrices.json b/typescript/infra/config/environments/mainnet3/gasPrices.json index dd55f773bc..ca26b4ed9f 100644 --- a/typescript/infra/config/environments/mainnet3/gasPrices.json +++ b/typescript/infra/config/environments/mainnet3/gasPrices.json @@ -1,4 +1,8 @@ { + "abstract": { + "amount": "0.04525", + "decimals": 9 + }, "ancient8": { "amount": "0.001000252", "decimals": 9 @@ -171,6 +175,10 @@ "amount": "20.0", "decimals": 9 }, + "glue": { + "amount": "125.0", + "decimals": 9 + }, "gnosis": { "amount": "1.500000007", "decimals": 9 @@ -243,6 +251,10 @@ "amount": "0.02", "decimals": 9 }, + "matchain": { + "amount": "0.001000008", + "decimals": 9 + }, "merlin": { "amount": "0.095", "decimals": 9 @@ -419,6 +431,10 @@ "amount": "0.001000252", "decimals": 9 }, + "unitzero": { + "amount": "0.00006064", + "decimals": 9 + }, "vana": { "amount": "0.312673957", "decimals": 9 diff --git a/typescript/infra/config/environments/mainnet3/ism/verification.json b/typescript/infra/config/environments/mainnet3/ism/verification.json index f6f840bce1..4dd0514a07 100644 --- a/typescript/infra/config/environments/mainnet3/ism/verification.json +++ b/typescript/infra/config/environments/mainnet3/ism/verification.json @@ -9336,5 +9336,263 @@ "constructorArguments": "", "isProxy": true } + ], + "unitzero": [ + { + "name": "StaticMerkleRootMultisigIsmFactory", + "address": "0x2C1FAbEcd7bFBdEBF27CcdB67baADB38b6Df90fC", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "StaticMerkleRootMultisigIsm", + "address": "0x4725F7b8037513915aAf6D6CBDE2920E28540dDc", + "constructorArguments": "", + "isProxy": true + }, + { + "name": "StaticMessageIdMultisigIsmFactory", + "address": "0x8b83fefd896fAa52057798f6426E9f0B080FCCcE", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "StaticMessageIdMultisigIsm", + "address": "0xAF03386044373E2fe26C5b1dCedF5a7e854a7a3F", + "constructorArguments": "", + "isProxy": true + }, + { + "name": "StaticAggregationIsmFactory", + "address": "0x8F7454AC98228f3504Bb91eA3D8Adafe6406110A", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "StaticAggregationIsm", + "address": "0x882CD0C5D50b6dD74b36Da4BDb059507fddEDdf2", + "constructorArguments": "", + "isProxy": true + }, + { + "name": "StaticAggregationHookFactory", + "address": "0xEb9FcFDC9EfDC17c1EC5E1dc085B98485da213D6", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "StaticAggregationHook", + "address": "0x19930232E9aFC4f4F09d09fe2375680fAc2100D0", + "constructorArguments": "", + "isProxy": true + }, + { + "name": "DomainRoutingIsmFactory", + "address": "0x1052eF3419f26Bec74Ed7CEf4a4FA6812Bc09908", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "DomaingRoutingIsm", + "address": "0x12Ed1BbA182CbC63692F813651BD493B7445C874", + "constructorArguments": "", + "isProxy": true + }, + { + "name": "StaticMerkleRootWeightedMultisigIsmFactory", + "address": "0x0761b0827849abbf7b0cC09CE14e1C93D87f5004", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "StaticMerkleRootWeightedMultisigIsm", + "address": "0x3b9f24fD2ecfed0d3A88fa7f0E4e5747671981D7", + "constructorArguments": "", + "isProxy": true + }, + { + "name": "StaticMessageIdWeightedMultisigIsmFactory", + "address": "0x4Ed7d626f1E96cD1C0401607Bf70D95243E3dEd1", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "StaticMessageIdWeightedMultisigIsm", + "address": "0x71DCcD21B912F7d4f636af0C9eA5DC0C10617354", + "constructorArguments": "", + "isProxy": true + } + ], + "matchain": [ + { + "name": "StaticMerkleRootMultisigIsmFactory", + "address": "0x2C1FAbEcd7bFBdEBF27CcdB67baADB38b6Df90fC", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "StaticMerkleRootMultisigIsm", + "address": "0x4725F7b8037513915aAf6D6CBDE2920E28540dDc", + "constructorArguments": "", + "isProxy": true + }, + { + "name": "StaticMessageIdMultisigIsmFactory", + "address": "0x8b83fefd896fAa52057798f6426E9f0B080FCCcE", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "StaticMessageIdMultisigIsm", + "address": "0xAF03386044373E2fe26C5b1dCedF5a7e854a7a3F", + "constructorArguments": "", + "isProxy": true + }, + { + "name": "StaticAggregationIsmFactory", + "address": "0x8F7454AC98228f3504Bb91eA3D8Adafe6406110A", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "StaticAggregationIsm", + "address": "0x882CD0C5D50b6dD74b36Da4BDb059507fddEDdf2", + "constructorArguments": "", + "isProxy": true + }, + { + "name": "StaticAggregationHookFactory", + "address": "0xEb9FcFDC9EfDC17c1EC5E1dc085B98485da213D6", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "StaticAggregationHook", + "address": "0x19930232E9aFC4f4F09d09fe2375680fAc2100D0", + "constructorArguments": "", + "isProxy": true + }, + { + "name": "DomainRoutingIsmFactory", + "address": "0x1052eF3419f26Bec74Ed7CEf4a4FA6812Bc09908", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "DomaingRoutingIsm", + "address": "0x12Ed1BbA182CbC63692F813651BD493B7445C874", + "constructorArguments": "", + "isProxy": true + }, + { + "name": "StaticMerkleRootWeightedMultisigIsmFactory", + "address": "0x0761b0827849abbf7b0cC09CE14e1C93D87f5004", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "StaticMerkleRootWeightedMultisigIsm", + "address": "0x3b9f24fD2ecfed0d3A88fa7f0E4e5747671981D7", + "constructorArguments": "", + "isProxy": true + }, + { + "name": "StaticMessageIdWeightedMultisigIsmFactory", + "address": "0x4Ed7d626f1E96cD1C0401607Bf70D95243E3dEd1", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "StaticMessageIdWeightedMultisigIsm", + "address": "0x71DCcD21B912F7d4f636af0C9eA5DC0C10617354", + "constructorArguments": "", + "isProxy": true + } + ], + "glue": [ + { + "name": "StaticMerkleRootMultisigIsmFactory", + "address": "0x2C1FAbEcd7bFBdEBF27CcdB67baADB38b6Df90fC", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "StaticMerkleRootMultisigIsm", + "address": "0x4725F7b8037513915aAf6D6CBDE2920E28540dDc", + "constructorArguments": "", + "isProxy": true + }, + { + "name": "StaticMessageIdMultisigIsmFactory", + "address": "0x8b83fefd896fAa52057798f6426E9f0B080FCCcE", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "StaticMessageIdMultisigIsm", + "address": "0xAF03386044373E2fe26C5b1dCedF5a7e854a7a3F", + "constructorArguments": "", + "isProxy": true + }, + { + "name": "StaticAggregationIsmFactory", + "address": "0x8F7454AC98228f3504Bb91eA3D8Adafe6406110A", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "StaticAggregationIsm", + "address": "0x882CD0C5D50b6dD74b36Da4BDb059507fddEDdf2", + "constructorArguments": "", + "isProxy": true + }, + { + "name": "StaticAggregationHookFactory", + "address": "0xEb9FcFDC9EfDC17c1EC5E1dc085B98485da213D6", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "StaticAggregationHook", + "address": "0x19930232E9aFC4f4F09d09fe2375680fAc2100D0", + "constructorArguments": "", + "isProxy": true + }, + { + "name": "DomainRoutingIsmFactory", + "address": "0x1052eF3419f26Bec74Ed7CEf4a4FA6812Bc09908", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "DomaingRoutingIsm", + "address": "0x12Ed1BbA182CbC63692F813651BD493B7445C874", + "constructorArguments": "", + "isProxy": true + }, + { + "name": "StaticMerkleRootWeightedMultisigIsmFactory", + "address": "0x0761b0827849abbf7b0cC09CE14e1C93D87f5004", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "StaticMerkleRootWeightedMultisigIsm", + "address": "0x3b9f24fD2ecfed0d3A88fa7f0E4e5747671981D7", + "constructorArguments": "", + "isProxy": true + }, + { + "name": "StaticMessageIdWeightedMultisigIsmFactory", + "address": "0x4Ed7d626f1E96cD1C0401607Bf70D95243E3dEd1", + "constructorArguments": "", + "isProxy": false + }, + { + "name": "StaticMessageIdWeightedMultisigIsm", + "address": "0x71DCcD21B912F7d4f636af0C9eA5DC0C10617354", + "constructorArguments": "", + "isProxy": true + } ] } diff --git a/typescript/infra/config/environments/mainnet3/middleware/accounts/verification.json b/typescript/infra/config/environments/mainnet3/middleware/accounts/verification.json index d6951a2ec2..dee46c3bfe 100644 --- a/typescript/infra/config/environments/mainnet3/middleware/accounts/verification.json +++ b/typescript/infra/config/environments/mainnet3/middleware/accounts/verification.json @@ -2247,5 +2247,89 @@ "isProxy": true, "expectedimplementation": "0x2351FBe24C1212F253b7a300ff0cBCFd97952a19" } + ], + "trumpchain": [ + { + "name": "InterchainAccountIsm", + "address": "0x30a539E2E2d09FB4e68661B1EDD70D266211602a", + "constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e", + "isProxy": false + }, + { + "name": "InterchainAccountRouter", + "address": "0xd386Bb418B61E296e1689C95AfE94A2E321a6eaD", + "constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e", + "isProxy": false + }, + { + "name": "TransparentUpgradeableProxy", + "address": "0xB2b0A80b2fa3fC9aB1564A4FaF013d4D6084B325", + "constructorArguments": "000000000000000000000000d386bb418b61e296e1689c95afe94a2e321a6ead0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064c0c53b8b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030a539e2e2d09fb4e68661b1edd70d266211602a000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000", + "isProxy": true, + "expectedimplementation": "0xd386Bb418B61E296e1689C95AfE94A2E321a6eaD" + } + ], + "matchain": [ + { + "name": "InterchainAccountIsm", + "address": "0xD84981Ecd4c411A86E1Ccda77F944c8f3D9737ab", + "constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e", + "isProxy": false + }, + { + "name": "InterchainAccountRouter", + "address": "0xE350143242a2F7962F23D71ee9Dd98f6e86D1772", + "constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e", + "isProxy": false + }, + { + "name": "TransparentUpgradeableProxy", + "address": "0xF16E63B42Df7f2676B373979120BBf7e6298F473", + "constructorArguments": "000000000000000000000000e350143242a2f7962f23d71ee9dd98f6e86d17720000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064c0c53b8b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d84981ecd4c411a86e1ccda77f944c8f3d9737ab000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000", + "isProxy": true, + "expectedimplementation": "0xE350143242a2F7962F23D71ee9Dd98f6e86D1772" + } + ], + "unitzero": [ + { + "name": "InterchainAccountIsm", + "address": "0xD84981Ecd4c411A86E1Ccda77F944c8f3D9737ab", + "constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e", + "isProxy": false + }, + { + "name": "InterchainAccountRouter", + "address": "0xE350143242a2F7962F23D71ee9Dd98f6e86D1772", + "constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e", + "isProxy": false + }, + { + "name": "TransparentUpgradeableProxy", + "address": "0xF16E63B42Df7f2676B373979120BBf7e6298F473", + "constructorArguments": "000000000000000000000000e350143242a2f7962f23d71ee9dd98f6e86d17720000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064c0c53b8b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d84981ecd4c411a86e1ccda77f944c8f3d9737ab000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000", + "isProxy": true, + "expectedimplementation": "0xE350143242a2F7962F23D71ee9Dd98f6e86D1772" + } + ], + "glue": [ + { + "name": "InterchainAccountIsm", + "address": "0xE350143242a2F7962F23D71ee9Dd98f6e86D1772", + "constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e", + "isProxy": false + }, + { + "name": "InterchainAccountRouter", + "address": "0xa8a750e0Ac90B3f6C05b11F3C0D7D5372cD1a90e", + "constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e", + "isProxy": false + }, + { + "name": "TransparentUpgradeableProxy", + "address": "0x5B24EE24049582fF74c1d311d72c70bA5B76a554", + "constructorArguments": "000000000000000000000000a8a750e0ac90b3f6c05b11f3c0d7d5372cd1a90e0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064c0c53b8b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e350143242a2f7962f23d71ee9dd98f6e86d1772000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000", + "isProxy": true, + "expectedimplementation": "0xa8a750e0Ac90B3f6C05b11F3C0D7D5372cD1a90e" + } ] } diff --git a/typescript/infra/config/environments/mainnet3/supportedChainNames.ts b/typescript/infra/config/environments/mainnet3/supportedChainNames.ts index 7ec2e4ec91..3f5289d479 100644 --- a/typescript/infra/config/environments/mainnet3/supportedChainNames.ts +++ b/typescript/infra/config/environments/mainnet3/supportedChainNames.ts @@ -1,6 +1,7 @@ // These chains may be any protocol type. // Placing them here instead of adjacent chains file to avoid circular dep export const mainnet3SupportedChainNames = [ + 'abstract', // 'acala', 'ancient8', 'alephzeroevmmainnet', @@ -46,6 +47,7 @@ export const mainnet3SupportedChainNames = [ // 'fractal', 'fraxtal', 'fusemainnet', + 'glue', 'gnosis', 'gravity', 'guru', @@ -64,6 +66,7 @@ export const mainnet3SupportedChainNames = [ 'lumiaprism', 'mantapacific', 'mantle', + 'matchain', 'merlin', 'metal', 'metis', @@ -109,6 +112,7 @@ export const mainnet3SupportedChainNames = [ 'treasure', 'trumpchain', 'unichain', + 'unitzero', 'vana', 'viction', 'worldchain', diff --git a/typescript/infra/config/environments/mainnet3/tokenPrices.json b/typescript/infra/config/environments/mainnet3/tokenPrices.json index 3f8a7fcbae..6e0bdedfec 100644 --- a/typescript/infra/config/environments/mainnet3/tokenPrices.json +++ b/typescript/infra/config/environments/mainnet3/tokenPrices.json @@ -1,4 +1,5 @@ { + "abstract": "3157.26", "ancient8": "3157.26", "alephzeroevmmainnet": "0.289682", "apechain": "1.033", @@ -42,6 +43,7 @@ "form": "3157.26", "fraxtal": "3168.75", "fusemainnet": "0.02671613", + "glue": "0.2469", "gnosis": "1.001", "gravity": "0.02856525", "guru": "0.01237776", @@ -60,6 +62,7 @@ "lumiaprism": "1.028", "mantapacific": "3157.26", "mantle": "1.075", + "matchain": "673.59", "merlin": "93829", "metal": "3157.26", "metis": "33.39", @@ -104,6 +107,7 @@ "treasure": "0.431467", "trumpchain": "54.54", "unichain": "3157.26", + "unitzero": "0.622792", "vana": "12.43", "viction": "0.342602", "worldchain": "3157.26", diff --git a/typescript/infra/config/environments/mainnet3/validators.ts b/typescript/infra/config/environments/mainnet3/validators.ts index aa30967536..71f87022b9 100644 --- a/typescript/infra/config/environments/mainnet3/validators.ts +++ b/typescript/infra/config/environments/mainnet3/validators.ts @@ -1503,5 +1503,46 @@ export const validatorChainConfig = ( 'trumpchain', ), }, + + abstract: { + interval: 5, + reorgPeriod: getReorgPeriod('abstract'), + validators: validatorsConfig( + { + [Contexts.Hyperlane]: ['0x2ef8ece5b51562e65970c7d36007baa43a1de685'], + }, + 'abstract', + ), + }, + glue: { + interval: 5, + reorgPeriod: getReorgPeriod('glue'), + validators: validatorsConfig( + { + [Contexts.Hyperlane]: ['0xbe2ded12f7b023916584836506677ea89a0b6924'], + }, + 'glue', + ), + }, + matchain: { + interval: 5, + reorgPeriod: getReorgPeriod('matchain'), + validators: validatorsConfig( + { + [Contexts.Hyperlane]: ['0x8a052f7934b0626105f34f980c875ec03aaf82e8'], + }, + 'matchain', + ), + }, + unitzero: { + interval: 5, + reorgPeriod: getReorgPeriod('unitzero'), + validators: validatorsConfig( + { + [Contexts.Hyperlane]: ['0x18818e3ad2012728465d394f2e3c0ea2357ae9c5'], + }, + 'unitzero', + ), + }, }; }; diff --git a/typescript/infra/scripts/announce-validators.ts b/typescript/infra/scripts/announce-validators.ts index 9bc3e664f7..c0fbcf6769 100644 --- a/typescript/infra/scripts/announce-validators.ts +++ b/typescript/infra/scripts/announce-validators.ts @@ -78,6 +78,11 @@ async function main() { return false; } + // temporarily skip abstract, as the RPC is done temporarily + if (validatorChain === 'abstract') { + return false; + } + // If a chain arg was specified, filter to only that chain if (!!chain && chain !== validatorChain) { return false; diff --git a/typescript/infra/src/config/chain.ts b/typescript/infra/src/config/chain.ts index 49156cb125..e59d27a286 100644 --- a/typescript/infra/src/config/chain.ts +++ b/typescript/infra/src/config/chain.ts @@ -26,6 +26,7 @@ export const chainsToSkip: ChainName[] = [ 'zeronetwork', 'zklink', 'treasure', + 'abstract', // testnets 'abstracttestnet', diff --git a/typescript/infra/src/config/gas-oracle.ts b/typescript/infra/src/config/gas-oracle.ts index 76d368f100..97a627e127 100644 --- a/typescript/infra/src/config/gas-oracle.ts +++ b/typescript/infra/src/config/gas-oracle.ts @@ -1,6 +1,5 @@ import { BigNumber as BigNumberJs } from 'bignumber.js'; -import chalk from 'chalk'; -import { BigNumber, ethers } from 'ethers'; +import { BigNumber } from 'ethers'; import { ChainGasOracleParams, @@ -18,16 +17,13 @@ import { ProtocolType, assert, convertDecimals, - convertDecimalsToIntegerString, fromWei, + rootLogger, toWei, } from '@hyperlane-xyz/utils'; import { getChain } from '../../config/registry.js'; -import { - isEthereumProtocolChain, - mustGetChainNativeToken, -} from '../utils/utils.js'; +import { mustGetChainNativeToken } from '../utils/utils.js'; // gas oracle configs for each chain, which includes // a map for each chain's remote chains @@ -257,6 +253,21 @@ export function getAllStorageGasOracleConfigs( getOverhead: (local: ChainName, remote: ChainName) => number, applyMinUsdCost: boolean = true, ): AllStorageGasOracleConfigs { + // Ensure all chains have token prices and gas prices by adding stub values + chainNames.forEach((chain) => { + if (!tokenPrices[chain]) { + rootLogger.warn(`Missing token price for ${chain}, using default value`); + tokenPrices[chain] = '1'; + } + if (!gasPrices[chain]) { + rootLogger.warn(`Missing gas price for ${chain}, using default value`); + gasPrices[chain] = { + amount: '1', + decimals: 9, + }; + } + }); + return chainNames .filter((chain) => { // For now, only support Ethereum and Sealevel chains. diff --git a/typescript/sdk/src/consts/multisigIsm.ts b/typescript/sdk/src/consts/multisigIsm.ts index a3479e8af1..1f8c714308 100644 --- a/typescript/sdk/src/consts/multisigIsm.ts +++ b/typescript/sdk/src/consts/multisigIsm.ts @@ -34,6 +34,16 @@ const DEFAULT_BWARE_LABS_VALIDATOR: ValidatorConfig = { // TODO: consider migrating these to the registry too export const defaultMultisigConfigs: ChainMap = { + abstract: { + threshold: 1, + validators: [ + { + address: '0x2ef8ece5b51562e65970c7d36007baa43a1de685', + alias: AW_VALIDATOR_ALIAS, + }, + ], + }, + abstracttestnet: { threshold: 1, validators: [ @@ -849,6 +859,16 @@ export const defaultMultisigConfigs: ChainMap = { ], }, + glue: { + threshold: 1, + validators: [ + { + address: '0xbe2ded12f7b023916584836506677ea89a0b6924', + alias: AW_VALIDATOR_ALIAS, + }, + ], + }, + gnosis: { threshold: 3, validators: [ @@ -1153,6 +1173,16 @@ export const defaultMultisigConfigs: ChainMap = { ], }, + matchain: { + threshold: 1, + validators: [ + { + address: '0x8a052f7934b0626105f34f980c875ec03aaf82e8', + alias: AW_VALIDATOR_ALIAS, + }, + ], + }, + merlin: { threshold: 2, validators: [ @@ -2007,6 +2037,16 @@ export const defaultMultisigConfigs: ChainMap = { ], }, + unitzero: { + threshold: 1, + validators: [ + { + address: '0x18818e3ad2012728465d394f2e3c0ea2357ae9c5', + alias: AW_VALIDATOR_ALIAS, + }, + ], + }, + vana: { threshold: 3, validators: [