@hyperlane-xyz/sdk 1.2.2 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/dist/HyperlaneApp.d.ts +11 -7
  2. package/dist/HyperlaneApp.d.ts.map +1 -1
  3. package/dist/HyperlaneApp.js +14 -0
  4. package/dist/HyperlaneApp.js.map +1 -1
  5. package/dist/agents/types.d.ts +56 -0
  6. package/dist/agents/types.d.ts.map +1 -0
  7. package/dist/agents/types.js +43 -0
  8. package/dist/agents/types.js.map +1 -0
  9. package/dist/consts/bytecode.d.ts +11 -0
  10. package/dist/consts/bytecode.d.ts.map +1 -0
  11. package/dist/consts/bytecode.js +15 -0
  12. package/dist/consts/bytecode.js.map +1 -0
  13. package/dist/consts/chainMetadata.d.ts +2 -0
  14. package/dist/consts/chainMetadata.d.ts.map +1 -1
  15. package/dist/consts/chainMetadata.js +6 -3
  16. package/dist/consts/chainMetadata.js.map +1 -1
  17. package/dist/consts/environments/index.d.ts +64 -231
  18. package/dist/consts/environments/index.d.ts.map +1 -1
  19. package/dist/consts/environments/index.js +2 -12
  20. package/dist/consts/environments/index.js.map +1 -1
  21. package/dist/consts/environments/mainnet.json +28 -99
  22. package/dist/consts/environments/test.json +20 -44
  23. package/dist/consts/environments/testnet.json +27 -90
  24. package/dist/consts/multisigIsm.d.ts +4 -0
  25. package/dist/consts/multisigIsm.d.ts.map +1 -0
  26. package/dist/consts/multisigIsm.js +174 -0
  27. package/dist/consts/multisigIsm.js.map +1 -0
  28. package/dist/contracts.d.ts +16 -10
  29. package/dist/contracts.d.ts.map +1 -1
  30. package/dist/contracts.js +32 -43
  31. package/dist/contracts.js.map +1 -1
  32. package/dist/core/HyperlaneCore.d.ts +5 -16
  33. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  34. package/dist/core/HyperlaneCore.js +7 -35
  35. package/dist/core/HyperlaneCore.js.map +1 -1
  36. package/dist/core/HyperlaneCoreChecker.d.ts +0 -6
  37. package/dist/core/HyperlaneCoreChecker.d.ts.map +1 -1
  38. package/dist/core/HyperlaneCoreChecker.js +20 -155
  39. package/dist/core/HyperlaneCoreChecker.js.map +1 -1
  40. package/dist/core/HyperlaneCoreDeployer.d.ts +8 -22
  41. package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  42. package/dist/core/HyperlaneCoreDeployer.js +14 -141
  43. package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
  44. package/dist/core/TestCoreApp.d.ts +8 -12
  45. package/dist/core/TestCoreApp.d.ts.map +1 -1
  46. package/dist/core/TestCoreApp.js +6 -3
  47. package/dist/core/TestCoreApp.js.map +1 -1
  48. package/dist/core/TestCoreDeployer.d.ts +2 -2
  49. package/dist/core/TestCoreDeployer.d.ts.map +1 -1
  50. package/dist/core/TestCoreDeployer.js +4 -25
  51. package/dist/core/TestCoreDeployer.js.map +1 -1
  52. package/dist/core/contracts.d.ts +3 -22
  53. package/dist/core/contracts.d.ts.map +1 -1
  54. package/dist/core/contracts.js +1 -7
  55. package/dist/core/contracts.js.map +1 -1
  56. package/dist/core/testHyperlaneDeploy.hardhat-test.js +2 -2
  57. package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
  58. package/dist/core/types.d.ts +4 -47
  59. package/dist/core/types.d.ts.map +1 -1
  60. package/dist/core/types.js +1 -16
  61. package/dist/core/types.js.map +1 -1
  62. package/dist/deploy/HyperlaneAppChecker.d.ts +2 -4
  63. package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
  64. package/dist/deploy/HyperlaneAppChecker.js +47 -21
  65. package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
  66. package/dist/deploy/HyperlaneDeployer.d.ts +20 -18
  67. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  68. package/dist/deploy/HyperlaneDeployer.js +120 -94
  69. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  70. package/dist/deploy/proxy.d.ts +1 -13
  71. package/dist/deploy/proxy.d.ts.map +1 -1
  72. package/dist/deploy/proxy.js +8 -13
  73. package/dist/deploy/proxy.js.map +1 -1
  74. package/dist/deploy/types.d.ts +7 -1
  75. package/dist/deploy/types.d.ts.map +1 -1
  76. package/dist/deploy/types.js +1 -0
  77. package/dist/deploy/types.js.map +1 -1
  78. package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
  79. package/dist/deploy/verify/ContractVerifier.js +2 -1
  80. package/dist/deploy/verify/ContractVerifier.js.map +1 -1
  81. package/dist/deploy/verify/utils.d.ts +1 -0
  82. package/dist/deploy/verify/utils.d.ts.map +1 -1
  83. package/dist/deploy/verify/utils.js +9 -4
  84. package/dist/deploy/verify/utils.js.map +1 -1
  85. package/dist/gas/HyperlaneIgp.d.ts +53 -0
  86. package/dist/gas/HyperlaneIgp.d.ts.map +1 -0
  87. package/dist/gas/HyperlaneIgp.js +72 -0
  88. package/dist/gas/HyperlaneIgp.js.map +1 -0
  89. package/dist/gas/HyperlaneIgpChecker.d.ts +14 -0
  90. package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -0
  91. package/dist/gas/HyperlaneIgpChecker.js +148 -0
  92. package/dist/gas/HyperlaneIgpChecker.js.map +1 -0
  93. package/dist/gas/HyperlaneIgpDeployer.d.ts +22 -0
  94. package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -0
  95. package/dist/gas/HyperlaneIgpDeployer.js +113 -0
  96. package/dist/gas/HyperlaneIgpDeployer.js.map +1 -0
  97. package/dist/gas/contracts.d.ts +9 -0
  98. package/dist/gas/contracts.d.ts.map +1 -0
  99. package/dist/gas/contracts.js +11 -0
  100. package/dist/gas/contracts.js.map +1 -0
  101. package/dist/gas/types.d.ts +35 -50
  102. package/dist/gas/types.d.ts.map +1 -1
  103. package/dist/gas/types.js +11 -17
  104. package/dist/gas/types.js.map +1 -1
  105. package/dist/index.d.ts +34 -26
  106. package/dist/index.d.ts.map +1 -1
  107. package/dist/index.js +68 -43
  108. package/dist/index.js.map +1 -1
  109. package/dist/middleware/MiddlewareRouterChecker.d.ts +8 -0
  110. package/dist/middleware/MiddlewareRouterChecker.d.ts.map +1 -0
  111. package/dist/middleware/MiddlewareRouterChecker.js +26 -0
  112. package/dist/middleware/MiddlewareRouterChecker.js.map +1 -0
  113. package/dist/middleware/MiddlewareRouterDeployer.d.ts +17 -0
  114. package/dist/middleware/MiddlewareRouterDeployer.d.ts.map +1 -0
  115. package/dist/middleware/MiddlewareRouterDeployer.js +62 -0
  116. package/dist/middleware/MiddlewareRouterDeployer.js.map +1 -0
  117. package/dist/middleware/account/InterchainAccount.d.ts +11 -0
  118. package/dist/middleware/account/InterchainAccount.d.ts.map +1 -0
  119. package/dist/middleware/account/InterchainAccount.js +21 -0
  120. package/dist/middleware/account/InterchainAccount.js.map +1 -0
  121. package/dist/middleware/account/InterchainAccountChecker.d.ts +7 -0
  122. package/dist/middleware/account/InterchainAccountChecker.d.ts.map +1 -0
  123. package/dist/middleware/account/InterchainAccountChecker.js +8 -0
  124. package/dist/middleware/account/InterchainAccountChecker.js.map +1 -0
  125. package/dist/middleware/account/InterchainAccountDeployer.d.ts +14 -0
  126. package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -0
  127. package/dist/middleware/account/InterchainAccountDeployer.js +64 -0
  128. package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -0
  129. package/dist/middleware/account/accounts.hardhat-test.d.ts.map +1 -0
  130. package/dist/middleware/{accounts.hardhat-test.js → account/accounts.hardhat-test.js} +21 -24
  131. package/dist/middleware/account/accounts.hardhat-test.js.map +1 -0
  132. package/dist/middleware/account/contracts.d.ts +7 -0
  133. package/dist/middleware/account/contracts.d.ts.map +1 -0
  134. package/dist/middleware/account/contracts.js +9 -0
  135. package/dist/middleware/account/contracts.js.map +1 -0
  136. package/dist/middleware/liquidity-layer/LiquidityLayerApp.d.ts +5 -4
  137. package/dist/middleware/liquidity-layer/LiquidityLayerApp.d.ts.map +1 -1
  138. package/dist/middleware/liquidity-layer/LiquidityLayerApp.js +12 -2
  139. package/dist/middleware/liquidity-layer/LiquidityLayerApp.js.map +1 -1
  140. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts +8 -6
  141. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +1 -1
  142. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +13 -10
  143. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js.map +1 -1
  144. package/dist/middleware/liquidity-layer/contracts.d.ts +5 -8
  145. package/dist/middleware/liquidity-layer/contracts.d.ts.map +1 -1
  146. package/dist/middleware/liquidity-layer/contracts.js +2 -1
  147. package/dist/middleware/liquidity-layer/contracts.js.map +1 -1
  148. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js +33 -30
  149. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js.map +1 -1
  150. package/dist/middleware/query/InterchainQuery.d.ts +11 -0
  151. package/dist/middleware/query/InterchainQuery.d.ts.map +1 -0
  152. package/dist/middleware/query/InterchainQuery.js +21 -0
  153. package/dist/middleware/query/InterchainQuery.js.map +1 -0
  154. package/dist/middleware/query/InterchainQueryChecker.d.ts +7 -0
  155. package/dist/middleware/query/InterchainQueryChecker.d.ts.map +1 -0
  156. package/dist/middleware/query/InterchainQueryChecker.js +8 -0
  157. package/dist/middleware/query/InterchainQueryChecker.js.map +1 -0
  158. package/dist/middleware/query/InterchainQueryDeployer.d.ts +12 -0
  159. package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -0
  160. package/dist/middleware/query/InterchainQueryDeployer.js +13 -0
  161. package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -0
  162. package/dist/middleware/query/contracts.d.ts +7 -0
  163. package/dist/middleware/query/contracts.d.ts.map +1 -0
  164. package/dist/middleware/query/contracts.js +9 -0
  165. package/dist/middleware/query/contracts.js.map +1 -0
  166. package/dist/middleware/query/queries.hardhat-test.d.ts.map +1 -0
  167. package/dist/middleware/{queries.hardhat-test.js → query/queries.hardhat-test.js} +21 -12
  168. package/dist/middleware/query/queries.hardhat-test.js.map +1 -0
  169. package/dist/providers/MultiProvider.d.ts +13 -2
  170. package/dist/providers/MultiProvider.d.ts.map +1 -1
  171. package/dist/providers/MultiProvider.js +60 -33
  172. package/dist/providers/MultiProvider.js.map +1 -1
  173. package/dist/router/GasRouterDeployer.d.ts +4 -4
  174. package/dist/router/GasRouterDeployer.d.ts.map +1 -1
  175. package/dist/router/GasRouterDeployer.js +1 -1
  176. package/dist/router/GasRouterDeployer.js.map +1 -1
  177. package/dist/router/HyperlaneRouterChecker.d.ts +3 -5
  178. package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
  179. package/dist/router/HyperlaneRouterChecker.js +4 -8
  180. package/dist/router/HyperlaneRouterChecker.js.map +1 -1
  181. package/dist/router/HyperlaneRouterDeployer.d.ts +9 -6
  182. package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
  183. package/dist/router/HyperlaneRouterDeployer.js +13 -28
  184. package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
  185. package/dist/router/RouterApps.d.ts +6 -4
  186. package/dist/router/RouterApps.d.ts.map +1 -1
  187. package/dist/router/RouterApps.js +2 -2
  188. package/dist/router/RouterApps.js.map +1 -1
  189. package/dist/router/types.d.ts +4 -16
  190. package/dist/router/types.d.ts.map +1 -1
  191. package/dist/test/envSubsetDeployer/app.d.ts +18 -11
  192. package/dist/test/envSubsetDeployer/app.d.ts.map +1 -1
  193. package/dist/test/envSubsetDeployer/app.js +14 -15
  194. package/dist/test/envSubsetDeployer/app.js.map +1 -1
  195. package/dist/test/envSubsetDeployer/check-single-chain.js +6 -4
  196. package/dist/test/envSubsetDeployer/check-single-chain.js.map +1 -1
  197. package/dist/test/envSubsetDeployer/deploy-single-chain.js +7 -5
  198. package/dist/test/envSubsetDeployer/deploy-single-chain.js.map +1 -1
  199. package/dist/test/envSubsetDeployer/deploy.hardhat-test.js +12 -13
  200. package/dist/test/envSubsetDeployer/deploy.hardhat-test.js.map +1 -1
  201. package/dist/test/testUtils.d.ts +10 -23
  202. package/dist/test/testUtils.d.ts.map +1 -1
  203. package/dist/test/testUtils.js +45 -60
  204. package/dist/test/testUtils.js.map +1 -1
  205. package/dist/utils/ism.d.ts +2 -0
  206. package/dist/utils/ism.d.ts.map +1 -0
  207. package/dist/utils/ism.js +18 -0
  208. package/dist/utils/ism.js.map +1 -0
  209. package/dist/utils/objects.d.ts +3 -1
  210. package/dist/utils/objects.d.ts.map +1 -1
  211. package/dist/utils/objects.js +35 -2
  212. package/dist/utils/objects.js.map +1 -1
  213. package/package.json +4 -4
  214. package/dist/deploy/utils.d.ts +0 -6
  215. package/dist/deploy/utils.d.ts.map +0 -1
  216. package/dist/deploy/utils.js +0 -13
  217. package/dist/deploy/utils.js.map +0 -1
  218. package/dist/gas/calculator.d.ts +0 -186
  219. package/dist/gas/calculator.d.ts.map +0 -1
  220. package/dist/gas/calculator.hardhat-test.d.ts +0 -2
  221. package/dist/gas/calculator.hardhat-test.d.ts.map +0 -1
  222. package/dist/gas/calculator.hardhat-test.js +0 -59
  223. package/dist/gas/calculator.hardhat-test.js.map +0 -1
  224. package/dist/gas/calculator.js +0 -301
  225. package/dist/gas/calculator.js.map +0 -1
  226. package/dist/gas/calculator.test.d.ts +0 -2
  227. package/dist/gas/calculator.test.d.ts.map +0 -1
  228. package/dist/gas/calculator.test.js +0 -197
  229. package/dist/gas/calculator.test.js.map +0 -1
  230. package/dist/middleware/accounts.hardhat-test.d.ts.map +0 -1
  231. package/dist/middleware/accounts.hardhat-test.js.map +0 -1
  232. package/dist/middleware/deploy.d.ts +0 -28
  233. package/dist/middleware/deploy.d.ts.map +0 -1
  234. package/dist/middleware/deploy.js +0 -68
  235. package/dist/middleware/deploy.js.map +0 -1
  236. package/dist/middleware/queries.hardhat-test.d.ts.map +0 -1
  237. package/dist/middleware/queries.hardhat-test.js.map +0 -1
  238. package/dist/proxy.d.ts +0 -21
  239. package/dist/proxy.d.ts.map +0 -1
  240. package/dist/proxy.js +0 -32
  241. package/dist/proxy.js.map +0 -1
  242. /package/dist/middleware/{accounts.hardhat-test.d.ts → account/accounts.hardhat-test.d.ts} +0 -0
  243. /package/dist/middleware/{queries.hardhat-test.d.ts → query/queries.hardhat-test.d.ts} +0 -0
@@ -8,24 +8,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
11
  Object.defineProperty(exports, "__esModule", { value: true });
15
12
  exports.HyperlaneCoreChecker = void 0;
16
13
  const ethers_1 = require("ethers");
17
14
  const utils_1 = require("@hyperlane-xyz/utils");
18
- const multisigIsmVerifyCosts_json_1 = __importDefault(require("../consts/multisigIsmVerifyCosts.json"));
15
+ const bytecode_1 = require("../consts/bytecode");
19
16
  const HyperlaneAppChecker_1 = require("../deploy/HyperlaneAppChecker");
17
+ const proxy_1 = require("../deploy/proxy");
20
18
  const types_1 = require("./types");
21
- const MAILBOX_WITHOUT_LOCAL_DOMAIN_BYTE_CODE_HASH = '0x29b7294ab3ad2e8587e5cce0e2289ce65e12a2ea2f1e7ab34a05e7737616f457';
22
- const MAILBOX_WITHOUT_LOCAL_DOMAIN_NONZERO_PAUSE_BYTE_CODE_HASH = '0x4e73e34c0982b93eebb4ac4889e9e4e1611f7c24feacf016c3a13e389f146d9c';
23
- const TRANSPARENT_PROXY_BYTECODE_HASH = '0x4dde3d0906b6492bf1d4947f667afe8d53c8899f1d8788cabafd082938dceb2d';
24
- const MULTISIG_ISM_BYTECODE_HASH = '0x5565704ffa5b10fdf37d57abfddcf137101d5fb418ded21fa6c5f90262c57dc2';
25
- const PROXY_ADMIN_BYTECODE_HASH = '0x7c378e9d49408861ca754fe684b9f7d1ea525bddf095ee0463902df701453ba0';
26
- const INTERCHAIN_GAS_PAYMASTER_BYTECODE_HASH = '0xe995bcd732f4861606036357edb2a4d4c3e9b8d7e599fe548790ac1cf26888f8';
27
- const OWNER_INITIALIZABLE_INTERCHAIN_GAS_PAYMASTER_BYTECODE_HASH = '0xd2c5b00ac2d058117491d581d63c3c4fcf6aeb2667c6cc0c7caed359c9eebea1';
28
- const OVERHEAD_IGP_BYTECODE_HASH = '0x3cfed1f24f1e9b28a76d5a8c61696a04f7bc474404b823a2fcc210ea52346252';
29
19
  class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
30
20
  checkChain(chain) {
31
21
  return __awaiter(this, void 0, void 0, function* () {
@@ -40,30 +30,20 @@ class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
40
30
  yield this.checkMultisigIsm(chain);
41
31
  yield this.checkBytecodes(chain);
42
32
  yield this.checkValidatorAnnounce(chain);
43
- yield this.checkDefaultIsmInterchainGasPaymaster(chain);
44
- yield this.checkInterchainGasPaymaster(chain);
45
33
  });
46
34
  }
47
35
  checkDomainOwnership(chain) {
48
36
  return __awaiter(this, void 0, void 0, function* () {
49
37
  const config = this.configMap[chain];
50
38
  if (config.owner) {
51
- const contracts = this.app.getContracts(chain);
52
- const ownables = [
53
- contracts.proxyAdmin,
54
- contracts.mailbox.contract,
55
- contracts.multisigIsm,
56
- contracts.interchainGasPaymaster.contract,
57
- contracts.defaultIsmInterchainGasPaymaster,
58
- ];
59
- return this.checkOwnership(chain, config.owner, ownables);
39
+ return this.checkOwnership(chain, config.owner);
60
40
  }
61
41
  });
62
42
  }
63
43
  checkMailbox(chain) {
64
44
  return __awaiter(this, void 0, void 0, function* () {
65
45
  const contracts = this.app.getContracts(chain);
66
- const mailbox = contracts.mailbox.contract;
46
+ const mailbox = contracts.mailbox;
67
47
  const localDomain = yield mailbox.localDomain();
68
48
  utils_1.utils.assert(localDomain === this.multiProvider.getDomainId(chain));
69
49
  const actualIsm = yield mailbox.defaultIsm();
@@ -84,48 +64,34 @@ class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
84
64
  checkBytecodes(chain) {
85
65
  return __awaiter(this, void 0, void 0, function* () {
86
66
  const contracts = this.app.getContracts(chain);
87
- const mailbox = contracts.mailbox.contract;
67
+ const mailbox = contracts.mailbox;
88
68
  const localDomain = yield mailbox.localDomain();
89
- yield this.checkBytecode(chain, 'Mailbox implementation', contracts.mailbox.addresses.implementation, [
90
- MAILBOX_WITHOUT_LOCAL_DOMAIN_BYTE_CODE_HASH,
91
- MAILBOX_WITHOUT_LOCAL_DOMAIN_NONZERO_PAUSE_BYTE_CODE_HASH,
92
- ], (_) =>
69
+ const implementation = yield (0, proxy_1.proxyImplementation)(this.multiProvider.getProvider(chain), mailbox.address);
70
+ yield this.checkBytecode(chain, 'Mailbox implementation', implementation, [
71
+ bytecode_1.BytecodeHash.MAILBOX_WITHOUT_LOCAL_DOMAIN_BYTE_CODE_HASH,
72
+ bytecode_1.BytecodeHash.MAILBOX_WITHOUT_LOCAL_DOMAIN_NONZERO_PAUSE_BYTE_CODE_HASH,
73
+ ], (bytecode) =>
93
74
  // This is obviously super janky but basically we are searching
94
75
  // for the ocurrences of localDomain in the bytecode and remove
95
76
  // that to compare, but some coincidental ocurrences of
96
77
  // localDomain in the bytecode should be not be removed which
97
78
  // are just done via an offset guard
98
- _.replaceAll(ethers_1.utils.defaultAbiCoder
79
+ bytecode.replaceAll(ethers_1.utils.defaultAbiCoder
99
80
  .encode(['uint32'], [localDomain])
100
81
  .slice(2), (match, offset) => (offset > 8000 ? match : '')));
101
- yield this.checkBytecode(chain, 'Mailbox proxy', contracts.mailbox.address, [TRANSPARENT_PROXY_BYTECODE_HASH]);
102
- yield this.checkBytecode(chain, 'InterchainGasPaymaster proxy', contracts.interchainGasPaymaster.address, [TRANSPARENT_PROXY_BYTECODE_HASH]);
103
- yield this.checkBytecode(chain, 'ProxyAdmin', contracts.proxyAdmin.address, [PROXY_ADMIN_BYTECODE_HASH]);
104
- yield this.checkBytecode(chain, 'MultisigIsm implementation', contracts.multisigIsm.address, [MULTISIG_ISM_BYTECODE_HASH]);
105
- yield this.checkBytecode(chain, 'InterchainGasPaymaster implementation', contracts.interchainGasPaymaster.addresses.implementation, [
106
- INTERCHAIN_GAS_PAYMASTER_BYTECODE_HASH,
107
- OWNER_INITIALIZABLE_INTERCHAIN_GAS_PAYMASTER_BYTECODE_HASH,
108
- ]);
109
- yield this.checkBytecode(chain, 'OverheadIGP', contracts.defaultIsmInterchainGasPaymaster.address, [OVERHEAD_IGP_BYTECODE_HASH], (_) =>
110
- // Remove the address of the wrapped ISM from the bytecode
111
- _.replaceAll(ethers_1.utils.defaultAbiCoder
112
- .encode(['address'], [contracts.interchainGasPaymaster.addresses.proxy])
113
- .slice(2), ''));
114
- });
115
- }
116
- checkProxiedContracts(chain) {
117
- return __awaiter(this, void 0, void 0, function* () {
118
- const contracts = this.app.getContracts(chain);
119
- yield this.checkProxiedContract(chain, 'Mailbox', contracts.mailbox.addresses, contracts.proxyAdmin.address);
120
- yield this.checkProxiedContract(chain, 'InterchainGasPaymaster', contracts.interchainGasPaymaster.addresses, contracts.proxyAdmin.address);
82
+ yield this.checkBytecode(chain, 'Mailbox proxy', contracts.mailbox.address, [bytecode_1.BytecodeHash.TRANSPARENT_PROXY_BYTECODE_HASH]);
83
+ yield this.checkBytecode(chain, 'ProxyAdmin', contracts.proxyAdmin.address, [bytecode_1.BytecodeHash.PROXY_ADMIN_BYTECODE_HASH]);
84
+ yield this.checkBytecode(chain, 'MultisigIsm implementation', contracts.multisigIsm.address, [bytecode_1.BytecodeHash.MULTISIG_ISM_BYTECODE_HASH]);
121
85
  });
122
86
  }
123
87
  checkValidatorAnnounce(chain) {
124
88
  return __awaiter(this, void 0, void 0, function* () {
125
- const expectedValidators = this.configMap[chain].multisigIsm.validators;
89
+ const expectedValidators = new Set();
90
+ const remotes = Object.keys(this.configMap).filter((c) => c !== chain);
91
+ remotes.forEach((remote) => this.configMap[remote].multisigIsm[chain].validators.forEach(expectedValidators.add, expectedValidators));
126
92
  const validatorAnnounce = this.app.getContracts(chain).validatorAnnounce;
127
93
  const announcedValidators = yield validatorAnnounce.getAnnouncedValidators();
128
- expectedValidators.map((validator) => {
94
+ [...expectedValidators].forEach((validator) => {
129
95
  const matches = announcedValidators.filter((x) => utils_1.utils.eqAddress(x, validator));
130
96
  if (matches.length == 0) {
131
97
  const violation = {
@@ -151,9 +117,9 @@ class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
151
117
  return __awaiter(this, void 0, void 0, function* () {
152
118
  const coreContracts = this.app.getContracts(local);
153
119
  const multisigIsm = coreContracts.multisigIsm;
154
- const config = this.configMap[remote];
120
+ const config = this.configMap[local];
155
121
  const remoteDomain = this.multiProvider.getDomainId(remote);
156
- const multisigIsmConfig = config.multisigIsm;
122
+ const multisigIsmConfig = config.multisigIsm[remote];
157
123
  const expectedValidators = multisigIsmConfig.validators;
158
124
  const actualValidators = yield multisigIsm.validators(remoteDomain);
159
125
  const expectedSet = new Set(expectedValidators.map((_) => _.toLowerCase()));
@@ -187,107 +153,6 @@ class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
187
153
  }
188
154
  });
189
155
  }
190
- checkDefaultIsmInterchainGasPaymaster(local) {
191
- return __awaiter(this, void 0, void 0, function* () {
192
- const coreContracts = this.app.getContracts(local);
193
- const defaultIsmIgp = coreContracts.defaultIsmInterchainGasPaymaster;
194
- // Construct the violation, updating the actual & expected
195
- // objects as violations are found.
196
- // A single violation is used so that only a single `setDestinationGasOverheads`
197
- // call is generated to set multiple gas overheads.
198
- const gasOverheadViolation = {
199
- type: types_1.CoreViolationType.DefaultIsmInterchainGasPaymaster,
200
- subType: types_1.DefaultIsmIgpViolationType.DestinationGasOverheads,
201
- contract: defaultIsmIgp,
202
- chain: local,
203
- actual: {},
204
- expected: {},
205
- };
206
- const remotes = this.app.remoteChains(local);
207
- for (const remote of remotes) {
208
- const { validators, threshold } = this.configMap[remote].multisigIsm;
209
- const expectedOverhead = this.getExpectedOverheadGas(threshold, validators.length);
210
- const remoteId = this.multiProvider.getDomainId(remote);
211
- const existingOverhead = yield defaultIsmIgp.destinationGasOverhead(remoteId);
212
- if (!expectedOverhead.eq(existingOverhead)) {
213
- const remoteChain = remote;
214
- gasOverheadViolation.actual[remoteChain] = existingOverhead;
215
- gasOverheadViolation.expected[remoteChain] = expectedOverhead;
216
- }
217
- }
218
- if (Object.keys(gasOverheadViolation.actual).length > 0) {
219
- this.addViolation(gasOverheadViolation);
220
- }
221
- });
222
- }
223
- checkInterchainGasPaymaster(local) {
224
- return __awaiter(this, void 0, void 0, function* () {
225
- const coreContracts = this.app.getContracts(local);
226
- const igp = coreContracts.interchainGasPaymaster.contract;
227
- // Construct the violation, updating the actual & expected
228
- // objects as violations are found.
229
- // A single violation is used so that only a single `setGasOracles`
230
- // call is generated to set multiple gas oracles.
231
- const gasOraclesViolation = {
232
- type: types_1.CoreViolationType.InterchainGasPaymaster,
233
- subType: types_1.IgpViolationType.GasOracles,
234
- contract: igp,
235
- chain: local,
236
- actual: {},
237
- expected: {},
238
- };
239
- const remotes = this.app.remoteChains(local);
240
- for (const remote of remotes) {
241
- const remoteId = this.multiProvider.getDomainId(remote);
242
- const actualGasOracle = yield igp.gasOracles(remoteId);
243
- const expectedGasOracle = this.getGasOracleAddress(local, remote);
244
- if (!utils_1.utils.eqAddress(actualGasOracle, expectedGasOracle)) {
245
- const remoteChain = remote;
246
- gasOraclesViolation.actual[remoteChain] = actualGasOracle;
247
- gasOraclesViolation.expected[remoteChain] = expectedGasOracle;
248
- }
249
- }
250
- // Add the violation only if it's been populated with gas oracle inconsistencies
251
- if (Object.keys(gasOraclesViolation.actual).length > 0) {
252
- this.addViolation(gasOraclesViolation);
253
- }
254
- const actualBeneficiary = yield igp.beneficiary();
255
- const expectedBeneficiary = this.configMap[local].igp.beneficiary;
256
- if (!utils_1.utils.eqAddress(actualBeneficiary, expectedBeneficiary)) {
257
- const violation = {
258
- type: types_1.CoreViolationType.InterchainGasPaymaster,
259
- subType: types_1.IgpViolationType.Beneficiary,
260
- contract: igp,
261
- chain: local,
262
- actual: actualBeneficiary,
263
- expected: expectedBeneficiary,
264
- };
265
- this.addViolation(violation);
266
- }
267
- });
268
- }
269
- getGasOracleAddress(local, remote) {
270
- const config = this.configMap[local];
271
- const gasOracleType = config.igp.gasOracles[remote];
272
- if (!gasOracleType) {
273
- throw Error(`Expected gas oracle type for local ${local} and remote ${remote}`);
274
- }
275
- const coreContracts = this.app.getContracts(local);
276
- switch (gasOracleType) {
277
- case types_1.GasOracleContractType.StorageGasOracle:
278
- return coreContracts.storageGasOracle.address;
279
- default:
280
- throw Error(`Unsupported gas oracle type ${gasOracleType}`);
281
- }
282
- }
283
- getExpectedOverheadGas(threshold, validatorSetCount) {
284
- const expectedOverhead =
285
- // @ts-ignore
286
- multisigIsmVerifyCosts_json_1.default[`${validatorSetCount}`][`${threshold}`];
287
- if (!expectedOverhead)
288
- throw new Error(`Unknown verification cost for ${threshold} of ${validatorSetCount}`);
289
- return ethers_1.BigNumber.from(expectedOverhead);
290
- }
291
156
  }
292
157
  exports.HyperlaneCoreChecker = HyperlaneCoreChecker;
293
158
  //# sourceMappingURL=HyperlaneCoreChecker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneCoreChecker.js","sourceRoot":"","sources":["../../src/core/HyperlaneCoreChecker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HyperlaneCoreChecker.js","sourceRoot":"","sources":["../../src/core/HyperlaneCoreChecker.ts"],"names":[],"mappings":"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"}
@@ -1,36 +1,22 @@
1
- import { ethers } from 'ethers';
2
- import { InterchainGasPaymaster, Mailbox, MultisigIsm, OverheadIgp, Ownable, ProxyAdmin, StorageGasOracle, ValidatorAnnounce } from '@hyperlane-xyz/core';
1
+ import { LegacyMultisigIsm, Mailbox, ValidatorAnnounce } from '@hyperlane-xyz/core';
3
2
  import { types } from '@hyperlane-xyz/utils';
3
+ import { HyperlaneContracts } from '../contracts';
4
4
  import { DeployOptions, HyperlaneDeployer } from '../deploy/HyperlaneDeployer';
5
5
  import { MultiProvider } from '../providers/MultiProvider';
6
- import { ProxiedContract, TransparentProxyAddresses } from '../proxy';
7
6
  import { ChainMap, ChainName } from '../types';
8
- import { CoreContracts, GasOracleContracts, coreFactories } from './contracts';
7
+ import { CoreFactories } from './contracts';
9
8
  import { CoreConfig } from './types';
10
- export declare class HyperlaneCoreDeployer extends HyperlaneDeployer<CoreConfig, CoreContracts, typeof coreFactories> {
9
+ export declare class HyperlaneCoreDeployer extends HyperlaneDeployer<CoreConfig, CoreFactories> {
11
10
  startingBlockNumbers: ChainMap<number | undefined>;
12
- gasOverhead: ChainMap<OverheadIgp.DomainConfigStruct>;
13
11
  constructor(multiProvider: MultiProvider, configMap: ChainMap<CoreConfig>, factoriesOverride?: {
14
- interchainAccountRouter: import("@hyperlane-xyz/core").InterchainAccountRouter__factory;
15
- interchainQueryRouter: import("@hyperlane-xyz/core").InterchainQueryRouter__factory;
16
12
  validatorAnnounce: import("@hyperlane-xyz/core").ValidatorAnnounce__factory;
17
- create2Factory: import("@hyperlane-xyz/core").Create2Factory__factory;
18
13
  proxyAdmin: import("@hyperlane-xyz/core").ProxyAdmin__factory;
19
- interchainGasPaymaster: import("@hyperlane-xyz/core").InterchainGasPaymaster__factory;
20
- defaultIsmInterchainGasPaymaster: import("@hyperlane-xyz/core").OverheadIgp__factory;
21
- storageGasOracle: import("@hyperlane-xyz/core").StorageGasOracle__factory;
22
- multisigIsm: import("@hyperlane-xyz/core").MultisigIsm__factory;
14
+ multisigIsm: import("@hyperlane-xyz/core").LegacyMultisigIsm__factory;
23
15
  mailbox: import("@hyperlane-xyz/core").Mailbox__factory;
24
16
  });
25
- deployInterchainGasPaymaster(chain: ChainName, proxyAdmin: ProxyAdmin, gasOracleContracts: GasOracleContracts, deployOpts?: DeployOptions): Promise<ProxiedContract<InterchainGasPaymaster, TransparentProxyAddresses>>;
26
- deployDefaultIsmInterchainGasPaymaster(chain: ChainName, interchainGasPaymasterAddress: types.Address, deployOpts?: DeployOptions): Promise<OverheadIgp>;
27
- deployGasOracleContracts(chain: ChainName, deployOpts?: DeployOptions): Promise<GasOracleContracts>;
28
- deployStorageGasOracle(chain: ChainName, deployOpts?: DeployOptions): Promise<StorageGasOracle>;
29
- deployMailbox(chain: ChainName, defaultIsmAddress: types.Address, proxyAdmin: ProxyAdmin, deployOpts?: DeployOptions): Promise<ProxiedContract<Mailbox, TransparentProxyAddresses>>;
17
+ deployMailbox(chain: ChainName, defaultIsmAddress: types.Address, proxyAdmin: types.Address, deployOpts?: DeployOptions): Promise<Mailbox>;
30
18
  deployValidatorAnnounce(chain: ChainName, mailboxAddress: string, deployOpts?: DeployOptions): Promise<ValidatorAnnounce>;
31
- deployMultisigIsm(chain: ChainName): Promise<MultisigIsm>;
32
- deployContracts(chain: ChainName, config: CoreConfig): Promise<CoreContracts>;
33
- transferOwnershipOfContracts(chain: ChainName, ownables: Ownable[]): Promise<ethers.ContractReceipt[]>;
34
- private getGasOracleAddress;
19
+ deployLegacyMultisigIsm(chain: ChainName): Promise<LegacyMultisigIsm>;
20
+ deployContracts(chain: ChainName, config: CoreConfig): Promise<HyperlaneContracts<CoreFactories>>;
35
21
  }
36
22
  //# sourceMappingURL=HyperlaneCoreDeployer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneCoreDeployer.d.ts","sourceRoot":"","sources":["../../src/core/HyperlaneCoreDeployer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EACL,sBAAsB,EACtB,OAAO,EACP,WAAW,EACX,WAAW,EACX,OAAO,EAEP,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAS,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG/C,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAyB,MAAM,SAAS,CAAC;AAE5D,qBAAa,qBAAsB,SAAQ,iBAAiB,CAC1D,UAAU,EACV,aAAa,EACb,OAAO,aAAa,CACrB;IACC,oBAAoB,EAAE,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACnD,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;gBAGpD,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC/B,iBAAiB;;;;;;;;;;;KAAgB;IAsB7B,4BAA4B,CAChC,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,UAAU,EACtB,kBAAkB,EAAE,kBAAkB,EACtC,UAAU,CAAC,EAAE,aAAa,GACzB,OAAO,CACR,eAAe,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,CACnE;IAkDK,sCAAsC,CAC1C,KAAK,EAAE,SAAS,EAChB,6BAA6B,EAAE,KAAK,CAAC,OAAO,EAC5C,UAAU,CAAC,EAAE,aAAa,GACzB,OAAO,CAAC,WAAW,CAAC;IAkDjB,wBAAwB,CAC5B,KAAK,EAAE,SAAS,EAChB,UAAU,CAAC,EAAE,aAAa,GACzB,OAAO,CAAC,kBAAkB,CAAC;IAUxB,sBAAsB,CAC1B,KAAK,EAAE,SAAS,EAChB,UAAU,CAAC,EAAE,aAAa,GACzB,OAAO,CAAC,gBAAgB,CAAC;IAItB,aAAa,CACjB,KAAK,EAAE,SAAS,EAChB,iBAAiB,EAAE,KAAK,CAAC,OAAO,EAChC,UAAU,EAAE,UAAU,EACtB,UAAU,CAAC,EAAE,aAAa,GACzB,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;IAezD,uBAAuB,CAC3B,KAAK,EAAE,SAAS,EAChB,cAAc,EAAE,MAAM,EACtB,UAAU,CAAC,EAAE,aAAa,GACzB,OAAO,CAAC,iBAAiB,CAAC;IAUvB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;IAyEzD,eAAe,CACnB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,aAAa,CAAC;IAoDnB,4BAA4B,CAChC,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,OAAO,EAAE,GAClB,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;IAsBpC,OAAO,CAAC,mBAAmB;CAqB5B"}
1
+ {"version":3,"file":"HyperlaneCoreDeployer.d.ts","sourceRoot":"","sources":["../../src/core/HyperlaneCoreDeployer.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,iBAAiB,EACjB,OAAO,EAEP,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG/C,OAAO,EAAE,aAAa,EAAiB,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,qBAAa,qBAAsB,SAAQ,iBAAiB,CAC1D,UAAU,EACV,aAAa,CACd;IACC,oBAAoB,EAAE,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;gBAGjD,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC/B,iBAAiB;;;;;KAAgB;IAQ7B,aAAa,CACjB,KAAK,EAAE,SAAS,EAChB,iBAAiB,EAAE,KAAK,CAAC,OAAO,EAChC,UAAU,EAAE,KAAK,CAAC,OAAO,EACzB,UAAU,CAAC,EAAE,aAAa,GACzB,OAAO,CAAC,OAAO,CAAC;IAeb,uBAAuB,CAC3B,KAAK,EAAE,SAAS,EAChB,cAAc,EAAE,MAAM,EACtB,UAAU,CAAC,EAAE,aAAa,GACzB,OAAO,CAAC,iBAAiB,CAAC;IAUvB,uBAAuB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAkErE,eAAe,CACnB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;CAiC9C"}
@@ -15,105 +15,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.HyperlaneCoreDeployer = void 0;
16
16
  const debug_1 = __importDefault(require("debug"));
17
17
  const ethers_1 = require("ethers");
18
- const core_1 = require("@hyperlane-xyz/core");
19
- const utils_1 = require("@hyperlane-xyz/utils");
20
- const multisigIsmVerifyCosts_json_1 = __importDefault(require("../consts/multisigIsmVerifyCosts.json"));
21
18
  const HyperlaneDeployer_1 = require("../deploy/HyperlaneDeployer");
22
19
  const objects_1 = require("../utils/objects");
23
20
  const contracts_1 = require("./contracts");
24
- const types_1 = require("./types");
25
21
  class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
26
22
  constructor(multiProvider, configMap, factoriesOverride = contracts_1.coreFactories) {
27
23
  super(multiProvider, configMap, factoriesOverride, {
28
24
  logger: (0, debug_1.default)('hyperlane:CoreDeployer'),
29
25
  });
30
- this.gasOverhead = (0, objects_1.objMap)(configMap, (chain, config) => {
31
- const { validators, threshold } = config.multisigIsm;
32
- const verifyCost =
33
- // @ts-ignore
34
- multisigIsmVerifyCosts_json_1.default[`${validators.length}`][`${threshold}`];
35
- if (!verifyCost)
36
- throw new Error(`Unknown verification cost for ${threshold} of ${validators.length}`);
37
- return {
38
- domain: multiProvider.getDomainId(chain),
39
- gasOverhead: verifyCost,
40
- };
41
- });
42
26
  this.startingBlockNumbers = (0, objects_1.objMap)(configMap, () => undefined);
43
27
  }
44
- deployInterchainGasPaymaster(chain, proxyAdmin, gasOracleContracts, deployOpts) {
45
- return __awaiter(this, void 0, void 0, function* () {
46
- const owner = this.configMap[chain].owner;
47
- const beneficiary = this.configMap[chain].igp.beneficiary;
48
- const igp = yield this.deployProxiedContract(chain, 'interchainGasPaymaster', [beneficiary], proxyAdmin, [owner, beneficiary], deployOpts);
49
- // Set the gas oracles
50
- const configChains = Object.keys(this.configMap);
51
- const remotes = this.multiProvider
52
- .intersect(configChains, false)
53
- .multiProvider.getRemoteChains(chain);
54
- const gasOracleConfigsToSet = [];
55
- for (const remote of remotes) {
56
- const remoteId = this.multiProvider.getDomainId(remote);
57
- const currentGasOracle = yield igp.contract.gasOracles(remoteId);
58
- const desiredGasOracle = this.getGasOracleAddress(chain, remote, gasOracleContracts);
59
- if (!utils_1.utils.eqAddress(currentGasOracle, desiredGasOracle)) {
60
- gasOracleConfigsToSet.push({
61
- remoteDomain: remoteId,
62
- gasOracle: desiredGasOracle,
63
- });
64
- }
65
- }
66
- if (gasOracleConfigsToSet.length > 0) {
67
- yield this.runIfOwner(chain, igp.contract, () => __awaiter(this, void 0, void 0, function* () {
68
- return this.multiProvider.handleTx(chain, igp.contract.setGasOracles(gasOracleConfigsToSet));
69
- }));
70
- }
71
- return igp;
72
- });
73
- }
74
- deployDefaultIsmInterchainGasPaymaster(chain, interchainGasPaymasterAddress, deployOpts) {
75
- return __awaiter(this, void 0, void 0, function* () {
76
- const deployer = yield this.multiProvider.getSignerAddress(chain);
77
- // Transfer ownership to the deployer so the destination gas overheads can be set
78
- const initCalldata = core_1.Ownable__factory.createInterface().encodeFunctionData('transferOwnership', [deployer]);
79
- const defaultIsmInterchainGasPaymaster = yield this.deployContract(chain, 'defaultIsmInterchainGasPaymaster', [interchainGasPaymasterAddress], Object.assign(Object.assign({}, deployOpts), { initCalldata }));
80
- const configChains = Object.keys(this.configMap);
81
- const remotes = this.multiProvider
82
- .intersect(configChains, false)
83
- .multiProvider.getRemoteChains(chain);
84
- // Only set gas overhead configs if they differ from what's on chain
85
- const configs = [];
86
- for (const remote of remotes) {
87
- const gasOverhead = this.gasOverhead[remote];
88
- const existingOverhead = yield defaultIsmInterchainGasPaymaster.destinationGasOverhead(gasOverhead.domain);
89
- if (!existingOverhead.eq(gasOverhead.gasOverhead)) {
90
- configs.push(gasOverhead);
91
- }
92
- }
93
- if (configs.length > 0) {
94
- yield this.runIfOwner(chain, defaultIsmInterchainGasPaymaster, () => this.multiProvider.handleTx(chain, defaultIsmInterchainGasPaymaster.setDestinationGasOverheads(configs, this.multiProvider.getTransactionOverrides(chain))));
95
- }
96
- return defaultIsmInterchainGasPaymaster;
97
- });
98
- }
99
- deployGasOracleContracts(chain, deployOpts) {
100
- return __awaiter(this, void 0, void 0, function* () {
101
- const storageGasOracle = yield this.deployStorageGasOracle(chain, deployOpts);
102
- return {
103
- storageGasOracle,
104
- };
105
- });
106
- }
107
- deployStorageGasOracle(chain, deployOpts) {
108
- return __awaiter(this, void 0, void 0, function* () {
109
- return this.deployContract(chain, 'storageGasOracle', [], deployOpts);
110
- });
111
- }
112
28
  deployMailbox(chain, defaultIsmAddress, proxyAdmin, deployOpts) {
113
29
  return __awaiter(this, void 0, void 0, function* () {
114
30
  const domain = this.multiProvider.getDomainId(chain);
115
31
  const owner = this.configMap[chain].owner;
116
- const mailbox = yield this.deployProxiedContract(chain, 'mailbox', [domain], proxyAdmin, [owner, defaultIsmAddress], deployOpts);
32
+ const mailbox = yield this.deployProxiedContract(chain, 'mailbox', [domain], [owner, defaultIsmAddress], proxyAdmin, deployOpts);
117
33
  return mailbox;
118
34
  });
119
35
  }
@@ -123,22 +39,19 @@ class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
123
39
  return validatorAnnounce;
124
40
  });
125
41
  }
126
- deployMultisigIsm(chain) {
42
+ deployLegacyMultisigIsm(chain) {
127
43
  const _super = Object.create(null, {
128
44
  runIfOwner: { get: () => super.runIfOwner }
129
45
  });
130
46
  return __awaiter(this, void 0, void 0, function* () {
131
47
  const multisigIsm = yield this.deployContract(chain, 'multisigIsm', []);
132
- const configChains = Object.keys(this.configMap);
133
- const remotes = this.multiProvider
134
- .intersect(configChains, false)
135
- .multiProvider.getRemoteChains(chain);
48
+ const remotes = Object.keys(this.configMap[chain].multisigIsm);
136
49
  const overrides = this.multiProvider.getTransactionOverrides(chain);
137
50
  yield _super.runIfOwner.call(this, chain, multisigIsm, () => __awaiter(this, void 0, void 0, function* () {
138
51
  // TODO: Remove extraneous validators
139
52
  const remoteDomains = this.multiProvider.getDomainIds(remotes);
140
53
  const actualValidators = yield Promise.all(remoteDomains.map((id) => multisigIsm.validators(id)));
141
- const expectedValidators = remotes.map((chain) => this.configMap[chain].multisigIsm.validators);
54
+ const expectedValidators = remotes.map((remote) => this.configMap[chain].multisigIsm[remote].validators);
142
55
  const validatorsToEnroll = expectedValidators.map((validators, i) => validators.filter((validator) => !actualValidators[i].includes(ethers_1.ethers.utils.getAddress(validator))));
143
56
  const chainsToEnrollValidators = remotes.filter((_, i) => validatorsToEnroll[i].length > 0);
144
57
  if (chainsToEnrollValidators.length > 0) {
@@ -146,11 +59,11 @@ class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
146
59
  yield this.multiProvider.handleTx(chain, multisigIsm.enrollValidators(chainsToEnrollValidators.map((c) => this.multiProvider.getDomainId(c)), validatorsToEnroll.filter((validators) => validators.length > 0), overrides));
147
60
  }
148
61
  const actualThresholds = yield Promise.all(remoteDomains.map((id) => multisigIsm.threshold(id)));
149
- const expectedThresholds = remotes.map((chain) => this.configMap[chain].multisigIsm.threshold);
62
+ const expectedThresholds = remotes.map((remote) => this.configMap[chain].multisigIsm[remote].threshold);
150
63
  const chainsToSetThreshold = remotes.filter((_, i) => actualThresholds[i] !== expectedThresholds[i]);
151
64
  if (chainsToSetThreshold.length > 0) {
152
65
  this.logger(`Set remote (${chainsToSetThreshold}) thresholds on ${chain}`);
153
- yield this.multiProvider.handleTx(chain, multisigIsm.setThresholds(chainsToSetThreshold.map((c) => this.multiProvider.getDomainId(c)), chainsToSetThreshold.map((c) => this.configMap[c].multisigIsm.threshold), overrides));
66
+ yield this.multiProvider.handleTx(chain, multisigIsm.setThresholds(chainsToSetThreshold.map((c) => this.multiProvider.getDomainId(c)), chainsToSetThreshold.map((remote) => this.configMap[chain].multisigIsm[remote].threshold), overrides));
154
67
  }
155
68
  }));
156
69
  return multisigIsm;
@@ -165,61 +78,21 @@ class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
165
78
  const provider = this.multiProvider.getProvider(chain);
166
79
  const startingBlockNumber = yield provider.getBlockNumber();
167
80
  this.startingBlockNumbers[chain] = startingBlockNumber;
168
- const multisigIsm = yield this.deployMultisigIsm(chain);
81
+ const multisigIsm = yield this.deployLegacyMultisigIsm(chain);
169
82
  const proxyAdmin = yield this.deployContract(chain, 'proxyAdmin', []);
170
- const gasOracleContracts = yield this.deployGasOracleContracts(chain);
171
- const interchainGasPaymaster = yield this.deployInterchainGasPaymaster(chain, proxyAdmin, gasOracleContracts);
172
- const defaultIsmInterchainGasPaymaster = yield this.deployDefaultIsmInterchainGasPaymaster(chain, interchainGasPaymaster.address);
173
- const mailbox = yield this.deployMailbox(chain, multisigIsm.address, proxyAdmin);
83
+ const mailbox = yield this.deployMailbox(chain, multisigIsm.address, proxyAdmin.address);
174
84
  const validatorAnnounce = yield this.deployValidatorAnnounce(chain, mailbox.address);
175
85
  // Ownership of the Mailbox and the interchainGasPaymaster is transferred upon initialization.
176
- const ownables = [
177
- multisigIsm,
178
- proxyAdmin,
179
- defaultIsmInterchainGasPaymaster,
180
- ];
181
- yield this.transferOwnershipOfContracts(chain, ownables);
182
- return Object.assign(Object.assign({}, gasOracleContracts), { validatorAnnounce,
86
+ const ownables = [multisigIsm, proxyAdmin];
87
+ yield this.transferOwnershipOfContracts(chain, config.owner, ownables);
88
+ return {
89
+ validatorAnnounce,
183
90
  proxyAdmin,
184
91
  mailbox,
185
- interchainGasPaymaster,
186
- defaultIsmInterchainGasPaymaster,
187
- multisigIsm });
188
- });
189
- }
190
- transferOwnershipOfContracts(chain, ownables) {
191
- const _super = Object.create(null, {
192
- runIfOwner: { get: () => super.runIfOwner }
193
- });
194
- return __awaiter(this, void 0, void 0, function* () {
195
- const owner = this.configMap[chain].owner;
196
- const receipts = [];
197
- for (const ownable of ownables) {
198
- const currentOwner = yield ownable.owner();
199
- if (currentOwner.toLowerCase() !== owner.toLowerCase()) {
200
- const receipt = yield _super.runIfOwner.call(this, chain, ownable, () => this.multiProvider.handleTx(chain, ownable.transferOwnership(owner, this.multiProvider.getTransactionOverrides(chain))));
201
- if (receipt)
202
- receipts.push(receipt);
203
- }
204
- }
205
- return receipts.filter((x) => x !== undefined);
92
+ multisigIsm,
93
+ };
206
94
  });
207
95
  }
208
- getGasOracleAddress(local, remote, gasOracleContracts) {
209
- const localConfig = this.configMap[local];
210
- const gasOracleType = localConfig.igp.gasOracles[remote];
211
- if (!gasOracleType) {
212
- throw Error(`Expected gas oracle type for local ${local} and remote ${remote}`);
213
- }
214
- switch (gasOracleType) {
215
- case types_1.GasOracleContractType.StorageGasOracle: {
216
- return gasOracleContracts.storageGasOracle.address;
217
- }
218
- default: {
219
- throw Error(`Unsupported gas oracle type ${gasOracleType}`);
220
- }
221
- }
222
- }
223
96
  }
224
97
  exports.HyperlaneCoreDeployer = HyperlaneCoreDeployer;
225
98
  //# sourceMappingURL=HyperlaneCoreDeployer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneCoreDeployer.js","sourceRoot":"","sources":["../../src/core/HyperlaneCoreDeployer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HyperlaneCoreDeployer.js","sourceRoot":"","sources":["../../src/core/HyperlaneCoreDeployer.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,17 @@
1
1
  import { ethers } from 'ethers';
2
- import { TestMailbox } from '@hyperlane-xyz/core';
3
- import { ProxiedContract } from '../proxy';
2
+ import { TestMailbox__factory } from '@hyperlane-xyz/core';
3
+ import { HyperlaneContracts } from '../contracts';
4
4
  import { ChainName } from '../types';
5
5
  import { HyperlaneCore } from './HyperlaneCore';
6
- import { CoreContracts } from './contracts';
7
- declare type MockProxyAddresses = {
8
- kind: 'MOCK';
9
- proxy: string;
10
- implementation: string;
11
- };
12
- export declare type TestCoreContracts = CoreContracts & {
13
- mailbox: ProxiedContract<TestMailbox, MockProxyAddresses>;
6
+ export declare const testCoreFactories: {
7
+ mailbox: TestMailbox__factory;
8
+ validatorAnnounce: import("@hyperlane-xyz/core").ValidatorAnnounce__factory;
9
+ proxyAdmin: import("@hyperlane-xyz/core").ProxyAdmin__factory;
10
+ multisigIsm: import("@hyperlane-xyz/core").LegacyMultisigIsm__factory;
14
11
  };
15
12
  export declare class TestCoreApp extends HyperlaneCore {
16
- getContracts(chain: ChainName): TestCoreContracts;
13
+ getContracts(chain: ChainName): HyperlaneContracts<typeof testCoreFactories>;
17
14
  processMessages(): Promise<Map<ChainName, Map<ChainName, ethers.providers.TransactionResponse[]>>>;
18
15
  processOutboundMessages(origin: ChainName): Promise<Map<ChainName, ethers.providers.TransactionResponse[]>>;
19
16
  }
20
- export {};
21
17
  //# sourceMappingURL=TestCoreApp.d.ts.map