feat: deploy ICAs to all AW mainnets (#4427)

- feat: deploy ICAs to all AW mainnets
- add 10% bump to gas limit when initializing ICAs
pull/4439/head
Paul Balaji 3 months ago committed by GitHub
parent 44e0ff0733
commit 2bd540e0fe
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 5
      .changeset/gorgeous-dragons-swim.md
  2. 462
      typescript/infra/config/environments/mainnet3/middleware/accounts/verification.json
  3. 12
      typescript/sdk/src/deploy/HyperlaneDeployer.ts
  4. 17
      typescript/sdk/src/router/HyperlaneRouterDeployer.ts

@ -0,0 +1,5 @@
---
'@hyperlane-xyz/sdk': patch
---
Estimate and add 10% gas bump for ICA initialization and enrollment

@ -676,5 +676,467 @@
"isProxy": true,
"name": "TransparentUpgradeableProxy"
}
],
"degenchain": [
{
"name": "InterchainAccountIsm",
"address": "0xD8aF449f8fEFbA2064863DCE5aC248F8B232635F",
"constructorArguments": "0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a7",
"isProxy": false
},
{
"name": "InterchainAccountRouter",
"address": "0x7B032cBB00AD7438E802A66D8b64761A06E5df22",
"constructorArguments": "0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a7",
"isProxy": false
},
{
"name": "TransparentUpgradeableProxy",
"address": "0x3881c3e945CBB89ae67c43E82f570baDF1c6EA94",
"constructorArguments": "0000000000000000000000007b032cbb00ad7438e802a66d8b64761a06e5df220000000000000000000000000761b0827849abbf7b0cc09ce14e1c93d87f500400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064c0c53b8b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d8af449f8fefba2064863dce5ac248f8b232635f000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000",
"isProxy": true,
"expectedimplementation": "0x7B032cBB00AD7438E802A66D8b64761A06E5df22"
}
],
"astarzkevm": [
{
"name": "InterchainAccountIsm",
"address": "0xa35cbc2d169284580d82AecED883d0800aa7fbfC",
"constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e",
"isProxy": false
},
{
"name": "InterchainAccountRouter",
"address": "0xd01A3E167d59FF98c983E83BAa5da0C3e0ADe726",
"constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e",
"isProxy": false
},
{
"name": "TransparentUpgradeableProxy",
"address": "0x7621e04860F0bDe63311db9D5D8b589AD3458A1f",
"constructorArguments": "000000000000000000000000d01a3e167d59ff98c983e83baa5da0c3e0ade7260000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064c0c53b8b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a35cbc2d169284580d82aeced883d0800aa7fbfc000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000",
"isProxy": true,
"expectedimplementation": "0xd01A3E167d59FF98c983E83BAa5da0C3e0ADe726"
}
],
"cyber": [
{
"name": "InterchainAccountIsm",
"address": "0x67F36550b73B731e5b2FC44E4F8f250d89c87bD6",
"constructorArguments": "0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a7",
"isProxy": false
},
{
"name": "InterchainAccountRouter",
"address": "0xb2674E213019972f937CCFc5e23BF963D915809e",
"constructorArguments": "0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a7",
"isProxy": false
},
{
"name": "TransparentUpgradeableProxy",
"address": "0x7B032cBB00AD7438E802A66D8b64761A06E5df22",
"constructorArguments": "000000000000000000000000b2674e213019972f937ccfc5e23bf963d915809e0000000000000000000000000761b0827849abbf7b0cc09ce14e1c93d87f500400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064c0c53b8b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000067f36550b73b731e5b2fc44e4f8f250d89c87bd6000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000",
"isProxy": true,
"expectedimplementation": "0xb2674E213019972f937CCFc5e23BF963D915809e"
}
],
"coredao": [
{
"name": "InterchainAccountIsm",
"address": "0x87bDFaBbCC36D8B1aEdA871Cd54b2e86C7a4d597",
"constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e",
"isProxy": false
},
{
"name": "InterchainAccountRouter",
"address": "0xa97ec3E58cBd60199dcFDd6396431BE85c2E363e",
"constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e",
"isProxy": false
},
{
"name": "TransparentUpgradeableProxy",
"address": "0xd01A3E167d59FF98c983E83BAa5da0C3e0ADe726",
"constructorArguments": "000000000000000000000000a97ec3e58cbd60199dcfdd6396431be85c2e363e0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064c0c53b8b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000087bdfabbcc36d8b1aeda871cd54b2e86c7a4d597000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000",
"isProxy": true,
"expectedimplementation": "0xa97ec3E58cBd60199dcFDd6396431BE85c2E363e"
}
],
"flare": [
{
"name": "InterchainAccountIsm",
"address": "0xc2Da384799488B4e1E773d70a83346529145085B",
"constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e",
"isProxy": false
},
{
"name": "InterchainAccountRouter",
"address": "0x47bf94790241B1764fC41A35a8329A15569E121C",
"constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e",
"isProxy": false
},
{
"name": "TransparentUpgradeableProxy",
"address": "0x87bDFaBbCC36D8B1aEdA871Cd54b2e86C7a4d597",
"constructorArguments": "00000000000000000000000047bf94790241b1764fc41a35a8329a15569e121c0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064c0c53b8b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c2da384799488b4e1e773d70a83346529145085b000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000",
"isProxy": true,
"expectedimplementation": "0x47bf94790241B1764fC41A35a8329A15569E121C"
}
],
"bitlayer": [
{
"name": "InterchainAccountIsm",
"address": "0xa97ec3E58cBd60199dcFDd6396431BE85c2E363e",
"constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e",
"isProxy": false
},
{
"name": "InterchainAccountRouter",
"address": "0xa35cbc2d169284580d82AecED883d0800aa7fbfC",
"constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e",
"isProxy": false
},
{
"name": "TransparentUpgradeableProxy",
"address": "0xA0a44cB8Bc0f7EDe788b0Cd29524A5b14fED7b45",
"constructorArguments": "000000000000000000000000a35cbc2d169284580d82aeced883d0800aa7fbfc0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064c0c53b8b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a97ec3e58cbd60199dcfdd6396431be85c2e363e000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000",
"isProxy": true,
"expectedimplementation": "0xa35cbc2d169284580d82AecED883d0800aa7fbfC"
}
],
"dogechain": [
{
"name": "InterchainAccountIsm",
"address": "0x87bDFaBbCC36D8B1aEdA871Cd54b2e86C7a4d597",
"constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e",
"isProxy": false
},
{
"name": "InterchainAccountRouter",
"address": "0xa97ec3E58cBd60199dcFDd6396431BE85c2E363e",
"constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e",
"isProxy": false
},
{
"name": "TransparentUpgradeableProxy",
"address": "0xd01A3E167d59FF98c983E83BAa5da0C3e0ADe726",
"constructorArguments": "000000000000000000000000a97ec3e58cbd60199dcfdd6396431be85c2e363e0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064c0c53b8b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000087bdfabbcc36d8b1aeda871cd54b2e86c7a4d597000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000",
"isProxy": true,
"expectedimplementation": "0xa97ec3E58cBd60199dcFDd6396431BE85c2E363e"
}
],
"molten": [
{
"name": "InterchainAccountIsm",
"address": "0x87bDFaBbCC36D8B1aEdA871Cd54b2e86C7a4d597",
"constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e",
"isProxy": false
},
{
"name": "InterchainAccountRouter",
"address": "0xa97ec3E58cBd60199dcFDd6396431BE85c2E363e",
"constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e",
"isProxy": false
},
{
"name": "TransparentUpgradeableProxy",
"address": "0xd01A3E167d59FF98c983E83BAa5da0C3e0ADe726",
"constructorArguments": "000000000000000000000000a97ec3e58cbd60199dcfdd6396431be85c2e363e0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064c0c53b8b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000087bdfabbcc36d8b1aeda871cd54b2e86c7a4d597000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000",
"isProxy": true,
"expectedimplementation": "0xa97ec3E58cBd60199dcFDd6396431BE85c2E363e"
}
],
"astar": [
{
"name": "InterchainAccountIsm",
"address": "0xd01A3E167d59FF98c983E83BAa5da0C3e0ADe726",
"constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e",
"isProxy": false
},
{
"name": "InterchainAccountRouter",
"address": "0x7621e04860F0bDe63311db9D5D8b589AD3458A1f",
"constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e",
"isProxy": false
},
{
"name": "TransparentUpgradeableProxy",
"address": "0x5090dF2FBDa7127c7aDa41f60B79F5c55D380Dd8",
"constructorArguments": "0000000000000000000000007621e04860f0bde63311db9d5d8b589ad3458a1f0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064c0c53b8b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d01a3e167d59ff98c983e83baa5da0c3e0ade726000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000",
"isProxy": true,
"expectedimplementation": "0x7621e04860F0bDe63311db9D5D8b589AD3458A1f"
}
],
"metis": [
{
"name": "InterchainAccountIsm",
"address": "0x1A4F09A615aA4a35E5a146DC2fa19975bebF21A5",
"constructorArguments": "0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a7",
"isProxy": false
},
{
"name": "InterchainAccountRouter",
"address": "0x7a4d31a686A36285d68e14EDD53631417eB19603",
"constructorArguments": "0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a7",
"isProxy": false
},
{
"name": "TransparentUpgradeableProxy",
"address": "0xb2674E213019972f937CCFc5e23BF963D915809e",
"constructorArguments": "0000000000000000000000007a4d31a686a36285d68e14edd53631417eb196030000000000000000000000000761b0827849abbf7b0cc09ce14e1c93d87f500400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064c0c53b8b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a4f09a615aa4a35e5a146dc2fa19975bebf21a5000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000",
"isProxy": true,
"expectedimplementation": "0x7a4d31a686A36285d68e14EDD53631417eB19603"
}
],
"proofofplay": [
{
"name": "InterchainAccountIsm",
"address": "0x1A4F09A615aA4a35E5a146DC2fa19975bebF21A5",
"constructorArguments": "0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a7",
"isProxy": false
},
{
"name": "InterchainAccountRouter",
"address": "0x7a4d31a686A36285d68e14EDD53631417eB19603",
"constructorArguments": "0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a7",
"isProxy": false
},
{
"name": "TransparentUpgradeableProxy",
"address": "0xb2674E213019972f937CCFc5e23BF963D915809e",
"constructorArguments": "0000000000000000000000007a4d31a686a36285d68e14edd53631417eb196030000000000000000000000000761b0827849abbf7b0cc09ce14e1c93d87f500400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064c0c53b8b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a4f09a615aa4a35e5a146dc2fa19975bebf21a5000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000",
"isProxy": true,
"expectedimplementation": "0x7a4d31a686A36285d68e14EDD53631417eB19603"
}
],
"sanko": [
{
"name": "InterchainAccountIsm",
"address": "0x5DA60220C5dDe35b7aE91c042ff5979047FA0785",
"constructorArguments": "0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a7",
"isProxy": false
},
{
"name": "InterchainAccountRouter",
"address": "0x45285463352c53a481e882cD5E2AF2E25BBdAd0D",
"constructorArguments": "0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a7",
"isProxy": false
},
{
"name": "TransparentUpgradeableProxy",
"address": "0x7a4d31a686A36285d68e14EDD53631417eB19603",
"constructorArguments": "00000000000000000000000045285463352c53a481e882cd5e2af2e25bbdad0d0000000000000000000000000761b0827849abbf7b0cc09ce14e1c93d87f500400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064c0c53b8b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005da60220c5dde35b7ae91c042ff5979047fa0785000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000",
"isProxy": true,
"expectedimplementation": "0x45285463352c53a481e882cD5E2AF2E25BBdAd0D"
}
],
"kroma": [
{
"name": "InterchainAccountIsm",
"address": "0xd64d126941EaC2Cf53e0E4E8146cC70449b60D73",
"constructorArguments": "0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a7",
"isProxy": false
},
{
"name": "InterchainAccountRouter",
"address": "0x5DA60220C5dDe35b7aE91c042ff5979047FA0785",
"constructorArguments": "0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a7",
"isProxy": false
},
{
"name": "TransparentUpgradeableProxy",
"address": "0x1A4F09A615aA4a35E5a146DC2fa19975bebF21A5",
"constructorArguments": "0000000000000000000000005da60220c5dde35b7ae91c042ff5979047fa07850000000000000000000000000761b0827849abbf7b0cc09ce14e1c93d87f500400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064c0c53b8b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d64d126941eac2cf53e0e4e8146cc70449b60d73000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000",
"isProxy": true,
"expectedimplementation": "0x5DA60220C5dDe35b7aE91c042ff5979047FA0785"
}
],
"mint": [
{
"name": "InterchainAccountIsm",
"address": "0x1A4F09A615aA4a35E5a146DC2fa19975bebF21A5",
"constructorArguments": "0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a7",
"isProxy": false
},
{
"name": "InterchainAccountRouter",
"address": "0x7a4d31a686A36285d68e14EDD53631417eB19603",
"constructorArguments": "0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a7",
"isProxy": false
},
{
"name": "TransparentUpgradeableProxy",
"address": "0xb2674E213019972f937CCFc5e23BF963D915809e",
"constructorArguments": "0000000000000000000000007a4d31a686a36285d68e14edd53631417eb196030000000000000000000000000761b0827849abbf7b0cc09ce14e1c93d87f500400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064c0c53b8b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a4f09a615aa4a35e5a146dc2fa19975bebf21a5000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000",
"isProxy": true,
"expectedimplementation": "0x7a4d31a686A36285d68e14EDD53631417eB19603"
}
],
"merlin": [
{
"name": "InterchainAccountIsm",
"address": "0xA8A311B69f688c1D9928259D872C31ca0d473642",
"constructorArguments": "0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a7",
"isProxy": false
},
{
"name": "InterchainAccountRouter",
"address": "0x1c6f404800bA49Ed581af734eA0d25c0c7d017B2",
"constructorArguments": "0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a7",
"isProxy": false
},
{
"name": "TransparentUpgradeableProxy",
"address": "0x9e8b689e83d929cb8c2d9166E55319a4e6aA83B7",
"constructorArguments": "0000000000000000000000001c6f404800ba49ed581af734ea0d25c0c7d017b20000000000000000000000000761b0827849abbf7b0cc09ce14e1c93d87f500400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064c0c53b8b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a8a311b69f688c1d9928259d872c31ca0d473642000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000",
"isProxy": true,
"expectedimplementation": "0x1c6f404800bA49Ed581af734eA0d25c0c7d017B2"
}
],
"lisk": [
{
"name": "InterchainAccountIsm",
"address": "0xD8aF449f8fEFbA2064863DCE5aC248F8B232635F",
"constructorArguments": "0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a7",
"isProxy": false
},
{
"name": "InterchainAccountRouter",
"address": "0x7B032cBB00AD7438E802A66D8b64761A06E5df22",
"constructorArguments": "0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a7",
"isProxy": false
},
{
"name": "TransparentUpgradeableProxy",
"address": "0x3881c3e945CBB89ae67c43E82f570baDF1c6EA94",
"constructorArguments": "0000000000000000000000007b032cbb00ad7438e802a66d8b64761a06e5df220000000000000000000000000761b0827849abbf7b0cc09ce14e1c93d87f500400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064c0c53b8b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d8af449f8fefba2064863dce5ac248f8b232635f000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000",
"isProxy": true,
"expectedimplementation": "0x7B032cBB00AD7438E802A66D8b64761A06E5df22"
}
],
"real": [
{
"name": "InterchainAccountIsm",
"address": "0x9e8b689e83d929cb8c2d9166E55319a4e6aA83B7",
"constructorArguments": "000000000000000000000000ea87ae93fa0019a82a727bfd3ebd1cfca8f64f1d",
"isProxy": false
},
{
"name": "InterchainAccountRouter",
"address": "0xDf178647caB5e0222F4B53C57274FD2A03BEaed6",
"constructorArguments": "000000000000000000000000ea87ae93fa0019a82a727bfd3ebd1cfca8f64f1d",
"isProxy": false
},
{
"name": "TransparentUpgradeableProxy",
"address": "0xc0C2dB448fC2c84213394Fcb93a3C467e50ECa9E",
"constructorArguments": "000000000000000000000000df178647cab5e0222f4b53c57274fd2a03beaed60000000000000000000000004ed7d626f1e96cd1c0401607bf70d95243e3ded100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064c0c53b8b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000009e8b689e83d929cb8c2d9166e55319a4e6aa83b7000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000",
"isProxy": true,
"expectedimplementation": "0xDf178647caB5e0222F4B53C57274FD2A03BEaed6"
}
],
"lukso": [
{
"name": "InterchainAccountIsm",
"address": "0xd64d126941EaC2Cf53e0E4E8146cC70449b60D73",
"constructorArguments": "0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a7",
"isProxy": false
},
{
"name": "InterchainAccountRouter",
"address": "0x5DA60220C5dDe35b7aE91c042ff5979047FA0785",
"constructorArguments": "0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a7",
"isProxy": false
},
{
"name": "TransparentUpgradeableProxy",
"address": "0x1A4F09A615aA4a35E5a146DC2fa19975bebF21A5",
"constructorArguments": "0000000000000000000000005da60220c5dde35b7ae91c042ff5979047fa07850000000000000000000000000761b0827849abbf7b0cc09ce14e1c93d87f500400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064c0c53b8b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d64d126941eac2cf53e0e4e8146cc70449b60d73000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000",
"isProxy": true,
"expectedimplementation": "0x5DA60220C5dDe35b7aE91c042ff5979047FA0785"
}
],
"xai": [
{
"name": "InterchainAccountIsm",
"address": "0xD8aF449f8fEFbA2064863DCE5aC248F8B232635F",
"constructorArguments": "0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a7",
"isProxy": false
},
{
"name": "InterchainAccountRouter",
"address": "0x7B032cBB00AD7438E802A66D8b64761A06E5df22",
"constructorArguments": "0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a7",
"isProxy": false
},
{
"name": "TransparentUpgradeableProxy",
"address": "0x3881c3e945CBB89ae67c43E82f570baDF1c6EA94",
"constructorArguments": "0000000000000000000000007b032cbb00ad7438e802a66d8b64761a06e5df220000000000000000000000000761b0827849abbf7b0cc09ce14e1c93d87f500400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064c0c53b8b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d8af449f8fefba2064863dce5ac248f8b232635f000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000",
"isProxy": true,
"expectedimplementation": "0x7B032cBB00AD7438E802A66D8b64761A06E5df22"
}
],
"zircuit": [
{
"name": "InterchainAccountIsm",
"address": "0xd386Bb418B61E296e1689C95AfE94A2E321a6eaD",
"constructorArguments": "000000000000000000000000c2fbb9411186ab3b1a6afcca702d1a80b48b197c",
"isProxy": false
},
{
"name": "InterchainAccountRouter",
"address": "0x25C87e735021F72d8728438C2130b02E3141f2cb",
"constructorArguments": "000000000000000000000000c2fbb9411186ab3b1a6afcca702d1a80b48b197c",
"isProxy": false
},
{
"name": "TransparentUpgradeableProxy",
"address": "0x51545389E04c2Ac07d98A40b85d29B480a2AF6ce",
"constructorArguments": "00000000000000000000000025c87e735021f72d8728438c2130b02e3141f2cb000000000000000000000000a5580d7af50f3fd869ebea51e352e2656f8dd5c200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064c0c53b8b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d386bb418b61e296e1689c95afe94a2e321a6ead000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000",
"isProxy": true,
"expectedimplementation": "0x25C87e735021F72d8728438C2130b02E3141f2cb"
}
],
"tangle": [
{
"name": "InterchainAccountIsm",
"address": "0x45285463352c53a481e882cD5E2AF2E25BBdAd0D",
"constructorArguments": "0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a7",
"isProxy": false
},
{
"name": "InterchainAccountRouter",
"address": "0x1A4F09A615aA4a35E5a146DC2fa19975bebF21A5",
"constructorArguments": "0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a7",
"isProxy": false
},
{
"name": "TransparentUpgradeableProxy",
"address": "0x67F36550b73B731e5b2FC44E4F8f250d89c87bD6",
"constructorArguments": "0000000000000000000000001a4f09a615aa4a35e5a146dc2fa19975bebf21a50000000000000000000000000761b0827849abbf7b0cc09ce14e1c93d87f500400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064c0c53b8b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045285463352c53a481e882cd5e2af2e25bbdad0d000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000",
"isProxy": true,
"expectedimplementation": "0x1A4F09A615aA4a35E5a146DC2fa19975bebF21A5"
}
],
"shibarium": [
{
"name": "InterchainAccountIsm",
"address": "0xA0a44cB8Bc0f7EDe788b0Cd29524A5b14fED7b45",
"constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e",
"isProxy": false
},
{
"name": "InterchainAccountRouter",
"address": "0xF1854214392864c628A16930E73B699f7a51b3EE",
"constructorArguments": "0000000000000000000000003a464f746d23ab22155710f44db16dca53e0775e",
"isProxy": false
},
{
"name": "TransparentUpgradeableProxy",
"address": "0xf3dFf6747E7FC74B431C943961054B7BF6309d8a",
"constructorArguments": "000000000000000000000000f1854214392864c628a16930e73b699f7a51b3ee0000000000000000000000002f2afae1139ce54fefc03593fee8ab2adf4a85a700000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000064c0c53b8b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0a44cb8bc0f7ede788b0cd29524a5b14fed7b45000000000000000000000000a7eccdb9be08178f896c26b7bbd8c3d4e844d9ba00000000000000000000000000000000000000000000000000000000",
"isProxy": true,
"expectedimplementation": "0xF1854214392864c628A16930E73B699f7a51b3EE"
}
]
}

@ -415,8 +415,18 @@ export abstract class HyperlaneDeployer<
this.logger.debug(
`Initializing ${contractName} (${contract.address}) on ${chain}...`,
);
// Estimate gas for the initialize transaction
const estimatedGas = await contract.estimateGas.initialize(
...initializeArgs,
);
// deploy with 10% buffer on gas limit
const overrides = this.multiProvider.getTransactionOverrides(chain);
const initTx = await contract.initialize(...initializeArgs, overrides);
const initTx = await contract.initialize(...initializeArgs, {
gasLimit: estimatedGas.add(estimatedGas.div(10)),
...overrides,
});
const receipt = await this.multiProvider.handleTx(chain, initTx);
this.logger.debug(
`Successfully initialized ${contractName} (${contract.address}) on ${chain}: ${receipt.transactionHash}`,

@ -83,14 +83,17 @@ export abstract class HyperlaneRouterDeployer<
this.logger.debug(
`Enrolling remote routers (${chains.join(', ')}) on ${chain}`,
);
await this.multiProvider.handleTx(
chain,
this.router(contracts).enrollRemoteRouters(
domains,
addresses,
this.multiProvider.getTransactionOverrides(chain),
),
const router = this.router(contracts);
const estimatedGas = await router.estimateGas.enrollRemoteRouters(
domains,
addresses,
);
// deploy with 10% buffer on gas limit
const enrollTx = await router.enrollRemoteRouters(domains, addresses, {
gasLimit: estimatedGas.add(estimatedGas.div(10)),
...this.multiProvider.getTransactionOverrides(chain),
});
await this.multiProvider.handleTx(chain, enrollTx);
});
}
}

Loading…
Cancel
Save