@hyperlane-xyz/sdk 1.4.3-beta0 → 1.4.3-beta1

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 (244) hide show
  1. package/dist/HyperlaneApp.d.ts.map +1 -1
  2. package/dist/HyperlaneApp.js +2 -2
  3. package/dist/HyperlaneApp.js.map +1 -1
  4. package/dist/consts/bytecode.js +1 -1
  5. package/dist/consts/bytecode.js.map +1 -1
  6. package/dist/consts/chainMetadata.d.ts +2 -1
  7. package/dist/consts/chainMetadata.d.ts.map +1 -1
  8. package/dist/consts/chainMetadata.js +26 -25
  9. package/dist/consts/chainMetadata.js.map +1 -1
  10. package/dist/consts/chains.d.ts +1 -1
  11. package/dist/consts/chains.d.ts.map +1 -1
  12. package/dist/consts/chains.js +2 -2
  13. package/dist/consts/chains.js.map +1 -1
  14. package/dist/consts/environments/index.d.ts +2 -2
  15. package/dist/consts/environments/index.d.ts.map +1 -1
  16. package/dist/consts/environments/index.js +2 -2
  17. package/dist/consts/environments/index.js.map +1 -1
  18. package/dist/contracts.d.ts +7 -7
  19. package/dist/contracts.d.ts.map +1 -1
  20. package/dist/contracts.js +33 -22
  21. package/dist/contracts.js.map +1 -1
  22. package/dist/core/CoreDeployer.hardhat-test.js +42 -33
  23. package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
  24. package/dist/core/HyperlaneCore.d.ts +3 -3
  25. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  26. package/dist/core/HyperlaneCore.js +28 -15
  27. package/dist/core/HyperlaneCore.js.map +1 -1
  28. package/dist/core/HyperlaneCore.test.js +13 -4
  29. package/dist/core/HyperlaneCore.test.js.map +1 -1
  30. package/dist/core/HyperlaneCoreChecker.js +99 -80
  31. package/dist/core/HyperlaneCoreChecker.js.map +1 -1
  32. package/dist/core/HyperlaneCoreDeployer.d.ts +3 -3
  33. package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  34. package/dist/core/HyperlaneCoreDeployer.js +62 -45
  35. package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
  36. package/dist/core/TestCoreApp.js +45 -35
  37. package/dist/core/TestCoreApp.js.map +1 -1
  38. package/dist/core/TestCoreDeployer.js +27 -14
  39. package/dist/core/TestCoreDeployer.js.map +1 -1
  40. package/dist/core/contracts.d.ts +1 -1
  41. package/dist/core/contracts.d.ts.map +1 -1
  42. package/dist/core/events.d.ts +1 -1
  43. package/dist/core/events.d.ts.map +1 -1
  44. package/dist/core/testHyperlaneDeploy.hardhat-test.js +33 -24
  45. package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
  46. package/dist/core/types.d.ts +5 -5
  47. package/dist/core/types.d.ts.map +1 -1
  48. package/dist/core/types.js +2 -2
  49. package/dist/core/types.js.map +1 -1
  50. package/dist/deploy/HyperlaneAppChecker.d.ts +2 -2
  51. package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
  52. package/dist/deploy/HyperlaneAppChecker.js +126 -103
  53. package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
  54. package/dist/deploy/HyperlaneDeployer.d.ts +3 -3
  55. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  56. package/dist/deploy/HyperlaneDeployer.js +216 -176
  57. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  58. package/dist/deploy/proxy.d.ts +7 -7
  59. package/dist/deploy/proxy.d.ts.map +1 -1
  60. package/dist/deploy/proxy.js +27 -12
  61. package/dist/deploy/proxy.js.map +1 -1
  62. package/dist/deploy/types.js +1 -1
  63. package/dist/deploy/types.js.map +1 -1
  64. package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
  65. package/dist/deploy/verify/ContractVerifier.js +131 -123
  66. package/dist/deploy/verify/ContractVerifier.js.map +1 -1
  67. package/dist/deploy/verify/types.d.ts +3 -3
  68. package/dist/deploy/verify/types.d.ts.map +1 -1
  69. package/dist/gas/HyperlaneIgp.d.ts +2 -2
  70. package/dist/gas/HyperlaneIgp.d.ts.map +1 -1
  71. package/dist/gas/HyperlaneIgp.js.map +1 -1
  72. package/dist/gas/HyperlaneIgpChecker.d.ts +2 -2
  73. package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
  74. package/dist/gas/HyperlaneIgpChecker.js +123 -101
  75. package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
  76. package/dist/gas/HyperlaneIgpDeployer.d.ts +2 -2
  77. package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
  78. package/dist/gas/HyperlaneIgpDeployer.js +89 -70
  79. package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
  80. package/dist/gas/contracts.d.ts +1 -1
  81. package/dist/gas/contracts.d.ts.map +1 -1
  82. package/dist/gas/contracts.js +1 -6
  83. package/dist/gas/contracts.js.map +1 -1
  84. package/dist/gas/token-prices.d.ts +6 -6
  85. package/dist/gas/token-prices.d.ts.map +1 -1
  86. package/dist/gas/token-prices.js +54 -37
  87. package/dist/gas/token-prices.js.map +1 -1
  88. package/dist/gas/token-prices.test.js +20 -11
  89. package/dist/gas/token-prices.test.js.map +1 -1
  90. package/dist/gas/types.d.ts +10 -10
  91. package/dist/gas/types.d.ts.map +1 -1
  92. package/dist/gas/types.js +2 -2
  93. package/dist/gas/types.js.map +1 -1
  94. package/dist/hook/HyperlaneHookDeployer.d.ts +4 -4
  95. package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
  96. package/dist/hook/HyperlaneHookDeployer.js +89 -70
  97. package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
  98. package/dist/hook/contracts.d.ts +4 -4
  99. package/dist/hook/contracts.d.ts.map +1 -1
  100. package/dist/hook/contracts.js +1 -5
  101. package/dist/hook/contracts.js.map +1 -1
  102. package/dist/hook/types.d.ts +7 -7
  103. package/dist/hook/types.d.ts.map +1 -1
  104. package/dist/hook/types.js +1 -1
  105. package/dist/hook/types.js.map +1 -1
  106. package/dist/index.d.ts +4 -8
  107. package/dist/index.d.ts.map +1 -1
  108. package/dist/index.js +4 -25
  109. package/dist/index.js.map +1 -1
  110. package/dist/ism/HyperlaneIsmFactory.d.ts +3 -3
  111. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  112. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +23 -14
  113. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
  114. package/dist/ism/HyperlaneIsmFactory.js +254 -232
  115. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  116. package/dist/ism/HyperlaneIsmFactoryDeployer.d.ts.map +1 -1
  117. package/dist/ism/HyperlaneIsmFactoryDeployer.js +35 -19
  118. package/dist/ism/HyperlaneIsmFactoryDeployer.js.map +1 -1
  119. package/dist/ism/contracts.d.ts +1 -1
  120. package/dist/ism/contracts.d.ts.map +1 -1
  121. package/dist/ism/types.d.ts +8 -8
  122. package/dist/ism/types.d.ts.map +1 -1
  123. package/dist/ism/types.js +1 -1
  124. package/dist/ism/types.js.map +1 -1
  125. package/dist/metadata/agentConfig.d.ts +5 -5
  126. package/dist/metadata/agentConfig.d.ts.map +1 -1
  127. package/dist/metadata/agentConfig.js +6 -15
  128. package/dist/metadata/agentConfig.js.map +1 -1
  129. package/dist/metadata/chainMetadata.test.js +11 -28
  130. package/dist/metadata/chainMetadata.test.js.map +1 -1
  131. package/dist/metadata/chainMetadataTypes.d.ts +3 -12
  132. package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
  133. package/dist/metadata/chainMetadataTypes.js +6 -14
  134. package/dist/metadata/chainMetadataTypes.js.map +1 -1
  135. package/dist/metadata/deploymentArtifacts.d.ts +5 -5
  136. package/dist/metadata/deploymentArtifacts.d.ts.map +1 -1
  137. package/dist/middleware/account/InterchainAccountChecker.d.ts.map +1 -1
  138. package/dist/middleware/account/InterchainAccountChecker.js +3 -6
  139. package/dist/middleware/account/InterchainAccountChecker.js.map +1 -1
  140. package/dist/middleware/account/InterchainAccountDeployer.d.ts +1 -1
  141. package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
  142. package/dist/middleware/account/InterchainAccountDeployer.js +41 -28
  143. package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
  144. package/dist/middleware/account/accounts.hardhat-test.js +30 -21
  145. package/dist/middleware/account/accounts.hardhat-test.js.map +1 -1
  146. package/dist/middleware/account/contracts.d.ts +1 -1
  147. package/dist/middleware/account/contracts.d.ts.map +1 -1
  148. package/dist/middleware/account/contracts.js +1 -5
  149. package/dist/middleware/account/contracts.js.map +1 -1
  150. package/dist/middleware/liquidity-layer/LiquidityLayerApp.d.ts.map +1 -1
  151. package/dist/middleware/liquidity-layer/LiquidityLayerApp.js +151 -129
  152. package/dist/middleware/liquidity-layer/LiquidityLayerApp.js.map +1 -1
  153. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts +4 -4
  154. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +1 -1
  155. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +110 -86
  156. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js.map +1 -1
  157. package/dist/middleware/liquidity-layer/contracts.d.ts +1 -1
  158. package/dist/middleware/liquidity-layer/contracts.d.ts.map +1 -1
  159. package/dist/middleware/liquidity-layer/contracts.js +1 -6
  160. package/dist/middleware/liquidity-layer/contracts.js.map +1 -1
  161. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js +47 -43
  162. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js.map +1 -1
  163. package/dist/middleware/query/InterchainQueryDeployer.d.ts +1 -1
  164. package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -1
  165. package/dist/middleware/query/InterchainQueryDeployer.js +27 -13
  166. package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -1
  167. package/dist/middleware/query/contracts.d.ts +1 -1
  168. package/dist/middleware/query/contracts.d.ts.map +1 -1
  169. package/dist/middleware/query/contracts.js +1 -4
  170. package/dist/middleware/query/contracts.js.map +1 -1
  171. package/dist/middleware/query/queries.hardhat-test.js +33 -24
  172. package/dist/middleware/query/queries.hardhat-test.js.map +1 -1
  173. package/dist/providers/MultiProvider.d.ts +4 -4
  174. package/dist/providers/MultiProvider.d.ts.map +1 -1
  175. package/dist/providers/MultiProvider.js +88 -68
  176. package/dist/providers/MultiProvider.js.map +1 -1
  177. package/dist/providers/RetryProvider.d.ts +1 -1
  178. package/dist/providers/RetryProvider.d.ts.map +1 -1
  179. package/dist/providers/RetryProvider.js +18 -4
  180. package/dist/providers/RetryProvider.js.map +1 -1
  181. package/dist/router/GasRouterDeployer.d.ts +2 -2
  182. package/dist/router/GasRouterDeployer.d.ts.map +1 -1
  183. package/dist/router/GasRouterDeployer.js +32 -18
  184. package/dist/router/GasRouterDeployer.js.map +1 -1
  185. package/dist/router/HyperlaneRouterChecker.js +55 -37
  186. package/dist/router/HyperlaneRouterChecker.js.map +1 -1
  187. package/dist/router/HyperlaneRouterDeployer.d.ts +2 -2
  188. package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
  189. package/dist/router/HyperlaneRouterDeployer.js +114 -87
  190. package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
  191. package/dist/router/ProxiedRouterChecker.js +34 -14
  192. package/dist/router/ProxiedRouterChecker.js.map +1 -1
  193. package/dist/router/ProxiedRouterDeployer.js +39 -25
  194. package/dist/router/ProxiedRouterDeployer.js.map +1 -1
  195. package/dist/router/RouterApps.d.ts +3 -3
  196. package/dist/router/RouterApps.d.ts.map +1 -1
  197. package/dist/router/RouterApps.js +16 -5
  198. package/dist/router/RouterApps.js.map +1 -1
  199. package/dist/router/types.d.ts +14 -14
  200. package/dist/router/types.d.ts.map +1 -1
  201. package/dist/router/types.js +1 -1
  202. package/dist/router/types.js.map +1 -1
  203. package/dist/test/testUtils.d.ts +4 -4
  204. package/dist/test/testUtils.d.ts.map +1 -1
  205. package/dist/test/testUtils.js +25 -14
  206. package/dist/test/testUtils.js.map +1 -1
  207. package/dist/types.d.ts +5 -5
  208. package/dist/types.d.ts.map +1 -1
  209. package/dist/utils/MultiGeneric.js +4 -2
  210. package/dist/utils/MultiGeneric.js.map +1 -1
  211. package/dist/utils/fetch.js +16 -8
  212. package/dist/utils/fetch.js.map +1 -1
  213. package/dist/utils/filter.d.ts +3 -0
  214. package/dist/utils/filter.d.ts.map +1 -0
  215. package/dist/utils/filter.js +13 -0
  216. package/dist/utils/filter.js.map +1 -0
  217. package/dist/utils/wagmi.d.ts.map +1 -1
  218. package/dist/utils/wagmi.js +4 -3
  219. package/dist/utils/wagmi.js.map +1 -1
  220. package/package.json +7 -7
  221. package/dist/consts/agentStartBlocks.d.ts +0 -3
  222. package/dist/consts/agentStartBlocks.d.ts.map +0 -1
  223. package/dist/consts/agentStartBlocks.js +0 -28
  224. package/dist/consts/agentStartBlocks.js.map +0 -1
  225. package/dist/utils/ids.d.ts +0 -20
  226. package/dist/utils/ids.d.ts.map +0 -1
  227. package/dist/utils/ids.js +0 -47
  228. package/dist/utils/ids.js.map +0 -1
  229. package/dist/utils/number.d.ts +0 -32
  230. package/dist/utils/number.d.ts.map +0 -1
  231. package/dist/utils/number.js +0 -59
  232. package/dist/utils/number.js.map +0 -1
  233. package/dist/utils/objects.d.ts +0 -17
  234. package/dist/utils/objects.d.ts.map +0 -1
  235. package/dist/utils/objects.js +0 -77
  236. package/dist/utils/objects.js.map +0 -1
  237. package/dist/utils/time.d.ts +0 -8
  238. package/dist/utils/time.d.ts.map +0 -1
  239. package/dist/utils/time.js +0 -15
  240. package/dist/utils/time.js.map +0 -1
  241. package/dist/utils/utils.test.d.ts +0 -2
  242. package/dist/utils/utils.test.d.ts.map +0 -1
  243. package/dist/utils/utils.test.js +0 -41
  244. package/dist/utils/utils.test.js.map +0 -1
@@ -1,27 +1,41 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.GasRouterDeployer = void 0;
4
13
  const HyperlaneRouterDeployer_1 = require("./HyperlaneRouterDeployer");
5
14
  class GasRouterDeployer extends HyperlaneRouterDeployer_1.HyperlaneRouterDeployer {
6
- async enrollRemoteRouters(contractsMap, configMap, foreignRouters = {}) {
7
- await super.enrollRemoteRouters(contractsMap, configMap, foreignRouters);
8
- this.logger(`Setting enrolled router destination gas...`);
9
- for (const [chain, contracts] of Object.entries(contractsMap)) {
10
- const remoteDomains = await this.router(contracts).domains();
11
- const remoteChains = remoteDomains.map((domain) => this.multiProvider.getChainName(domain));
12
- const currentConfigs = await Promise.all(remoteDomains.map((domain) => this.router(contracts).destinationGas(domain)));
13
- const remoteConfigs = remoteDomains
14
- .map((domain, i) => ({
15
- domain,
16
- gas: configMap[remoteChains[i]].gas,
17
- }))
18
- .filter(({ gas }, index) => !currentConfigs[index].eq(gas));
19
- if (remoteConfigs.length == 0) {
20
- continue;
15
+ enrollRemoteRouters(contractsMap, configMap, foreignRouters = {}) {
16
+ const _super = Object.create(null, {
17
+ enrollRemoteRouters: { get: () => super.enrollRemoteRouters }
18
+ });
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ yield _super.enrollRemoteRouters.call(this, contractsMap, configMap, foreignRouters);
21
+ this.logger(`Setting enrolled router destination gas...`);
22
+ for (const [chain, contracts] of Object.entries(contractsMap)) {
23
+ const remoteDomains = yield this.router(contracts).domains();
24
+ const remoteChains = remoteDomains.map((domain) => this.multiProvider.getChainName(domain));
25
+ const currentConfigs = yield Promise.all(remoteDomains.map((domain) => this.router(contracts).destinationGas(domain)));
26
+ const remoteConfigs = remoteDomains
27
+ .map((domain, i) => ({
28
+ domain,
29
+ gas: configMap[remoteChains[i]].gas,
30
+ }))
31
+ .filter(({ gas }, index) => !currentConfigs[index].eq(gas));
32
+ if (remoteConfigs.length == 0) {
33
+ continue;
34
+ }
35
+ this.logger(`Set destination gas on ${chain} for ${remoteChains}`);
36
+ yield this.multiProvider.handleTx(chain, this.router(contracts).setDestinationGas(remoteConfigs));
21
37
  }
22
- this.logger(`Set destination gas on ${chain} for ${remoteChains}`);
23
- await this.multiProvider.handleTx(chain, this.router(contracts).setDestinationGas(remoteConfigs));
24
- }
38
+ });
25
39
  }
26
40
  }
27
41
  exports.GasRouterDeployer = GasRouterDeployer;
@@ -1 +1 @@
1
- {"version":3,"file":"GasRouterDeployer.js","sourceRoot":"","sources":["../../src/router/GasRouterDeployer.ts"],"names":[],"mappings":";;;AAUA,uEAAoE;AAGpE,MAAsB,iBAGpB,SAAQ,iDAA0C;IAGlD,KAAK,CAAC,mBAAmB,CACvB,YAA8C,EAC9C,SAA2B,EAC3B,iBAA0C,EAAE;QAE5C,MAAM,KAAK,CAAC,mBAAmB,CAAC,YAAY,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;QAEzE,IAAI,CAAC,MAAM,CAAC,4CAA4C,CAAC,CAAC;QAC1D,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YAC7D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;YAC7D,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAChD,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,CACxC,CAAC;YACF,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAC9C,CACF,CAAC;YACF,MAAM,aAAa,GAAG,aAAa;iBAChC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACnB,MAAM;gBACN,GAAG,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;aACpC,CAAC,CAAC;iBACF,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC7B,SAAS;aACV;YAED,IAAI,CAAC,MAAM,CAAC,0BAA0B,KAAK,QAAQ,YAAY,EAAE,CAAC,CAAC;YACnE,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAC/B,KAAK,EACL,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,aAAa,CAAC,CACxD,CAAC;SACH;IACH,CAAC;CACF;AAzCD,8CAyCC"}
1
+ {"version":3,"file":"GasRouterDeployer.js","sourceRoot":"","sources":["../../src/router/GasRouterDeployer.ts"],"names":[],"mappings":";;;;;;;;;;;;AAUA,uEAAoE;AAGpE,MAAsB,iBAGpB,SAAQ,iDAA0C;IAG5C,mBAAmB,CACvB,YAA8C,EAC9C,SAA2B,EAC3B,iBAAoC,EAAE;;;;;YAEtC,MAAM,OAAM,mBAAmB,YAAC,YAAY,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;YAEzE,IAAI,CAAC,MAAM,CAAC,4CAA4C,CAAC,CAAC;YAC1D,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;gBAC7D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC7D,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAChD,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,CACxC,CAAC;gBACF,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAC9C,CACF,CAAC;gBACF,MAAM,aAAa,GAAG,aAAa;qBAChC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;oBACnB,MAAM;oBACN,GAAG,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;iBACpC,CAAC,CAAC;qBACF,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9D,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE;oBAC7B,SAAS;iBACV;gBAED,IAAI,CAAC,MAAM,CAAC,0BAA0B,KAAK,QAAQ,YAAY,EAAE,CAAC,CAAC;gBACnE,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAC/B,KAAK,EACL,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,aAAa,CAAC,CACxD,CAAC;aACH;QACH,CAAC;KAAA;CACF;AAzCD,8CAyCC"}
@@ -1,4 +1,13 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.HyperlaneRouterChecker = void 0;
4
13
  const ethers_1 = require("ethers");
@@ -6,45 +15,54 @@ const utils_1 = require("@hyperlane-xyz/utils");
6
15
  const HyperlaneAppChecker_1 = require("../deploy/HyperlaneAppChecker");
7
16
  const types_1 = require("./types");
8
17
  class HyperlaneRouterChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
9
- async checkChain(chain) {
10
- await this.checkHyperlaneConnectionClient(chain);
11
- await this.checkEnrolledRouters(chain);
12
- await super.checkOwnership(chain, this.configMap[chain].owner);
18
+ checkChain(chain) {
19
+ const _super = Object.create(null, {
20
+ checkOwnership: { get: () => super.checkOwnership }
21
+ });
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ yield this.checkHyperlaneConnectionClient(chain);
24
+ yield this.checkEnrolledRouters(chain);
25
+ yield _super.checkOwnership.call(this, chain, this.configMap[chain].owner);
26
+ });
13
27
  }
14
- async checkHyperlaneConnectionClient(chain) {
15
- const router = this.app.router(this.app.getContracts(chain));
16
- const checkConnectionClientProperty = async (property, violationType) => {
17
- const actual = await router[property]();
18
- // TODO: check for IsmConfig
19
- const value = this.configMap[chain][property];
20
- if (value && typeof value === 'object')
21
- throw new Error('ISM as object unimplemented');
22
- const expected = value && typeof value === 'string'
23
- ? value
24
- : ethers_1.ethers.constants.AddressZero;
25
- if (!utils_1.utils.eqAddress(actual, expected)) {
26
- const violation = {
27
- chain,
28
- type: violationType,
29
- contract: router,
30
- actual,
31
- expected,
32
- };
33
- this.addViolation(violation);
34
- }
35
- };
36
- await checkConnectionClientProperty('mailbox', types_1.ConnectionClientViolationType.Mailbox);
37
- await checkConnectionClientProperty('interchainGasPaymaster', types_1.ConnectionClientViolationType.InterchainGasPaymaster);
38
- await checkConnectionClientProperty('interchainSecurityModule', types_1.ConnectionClientViolationType.InterchainSecurityModule);
28
+ checkHyperlaneConnectionClient(chain) {
29
+ return __awaiter(this, void 0, void 0, function* () {
30
+ const router = this.app.router(this.app.getContracts(chain));
31
+ const checkConnectionClientProperty = (property, violationType) => __awaiter(this, void 0, void 0, function* () {
32
+ const actual = yield router[property]();
33
+ // TODO: check for IsmConfig
34
+ const value = this.configMap[chain][property];
35
+ if (value && typeof value === 'object')
36
+ throw new Error('ISM as object unimplemented');
37
+ const expected = value && typeof value === 'string'
38
+ ? value
39
+ : ethers_1.ethers.constants.AddressZero;
40
+ if (!(0, utils_1.eqAddress)(actual, expected)) {
41
+ const violation = {
42
+ chain,
43
+ type: violationType,
44
+ contract: router,
45
+ actual,
46
+ expected,
47
+ };
48
+ this.addViolation(violation);
49
+ }
50
+ });
51
+ yield checkConnectionClientProperty('mailbox', types_1.ConnectionClientViolationType.Mailbox);
52
+ yield checkConnectionClientProperty('interchainGasPaymaster', types_1.ConnectionClientViolationType.InterchainGasPaymaster);
53
+ yield checkConnectionClientProperty('interchainSecurityModule', types_1.ConnectionClientViolationType.InterchainSecurityModule);
54
+ });
39
55
  }
40
- async checkEnrolledRouters(chain) {
41
- const router = this.app.router(this.app.getContracts(chain));
42
- await Promise.all(this.app.remoteChains(chain).map(async (remoteChain) => {
43
- const remoteRouter = this.app.router(this.app.getContracts(remoteChain));
44
- const remoteDomainId = this.multiProvider.getDomainId(remoteChain);
45
- const address = await router.routers(remoteDomainId);
46
- utils_1.utils.assert(address === utils_1.utils.addressToBytes32(remoteRouter.address));
47
- }));
56
+ checkEnrolledRouters(chain) {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ const router = this.app.router(this.app.getContracts(chain));
59
+ yield Promise.all(this.app.remoteChains(chain).map((remoteChain) => __awaiter(this, void 0, void 0, function* () {
60
+ const remoteRouter = this.app.router(this.app.getContracts(remoteChain));
61
+ const remoteDomainId = this.multiProvider.getDomainId(remoteChain);
62
+ const address = yield router.routers(remoteDomainId);
63
+ (0, utils_1.assert)(address === (0, utils_1.addressToBytes32)(remoteRouter.address));
64
+ })));
65
+ });
48
66
  }
49
67
  }
50
68
  exports.HyperlaneRouterChecker = HyperlaneRouterChecker;
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneRouterChecker.js","sourceRoot":"","sources":["../../src/router/HyperlaneRouterChecker.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,gDAA6C;AAG7C,uEAAoE;AAIpE,mCAMiB;AAEjB,MAAa,sBAIX,SAAQ,yCAAgC;IACxC,KAAK,CAAC,UAAU,CAAC,KAAgB;QAC/B,MAAM,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,8BAA8B,CAAC,KAAgB;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QAE7D,MAAM,6BAA6B,GAAG,KAAK,EACzC,QAAwD,EACxD,aAA4C,EAC5C,EAAE;YACF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,4BAA4B;YAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC9C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;gBACpC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACjD,MAAM,QAAQ,GACZ,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAChC,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,eAAM,CAAC,SAAS,CAAC,WAAW,CAAC;YACnC,IAAI,CAAC,aAAK,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;gBACtC,MAAM,SAAS,GAA8B;oBAC3C,KAAK;oBACL,IAAI,EAAE,aAAa;oBACnB,QAAQ,EAAE,MAAM;oBAChB,MAAM;oBACN,QAAQ;iBACT,CAAC;gBACF,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;aAC9B;QACH,CAAC,CAAC;QAEF,MAAM,6BAA6B,CACjC,SAAS,EACT,qCAA6B,CAAC,OAAO,CACtC,CAAC;QACF,MAAM,6BAA6B,CACjC,wBAAwB,EACxB,qCAA6B,CAAC,sBAAsB,CACrD,CAAC;QACF,MAAM,6BAA6B,CACjC,0BAA0B,EAC1B,qCAA6B,CAAC,wBAAwB,CACvD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,KAAgB;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;QAE7D,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;YACrD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAClC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,CAAC,CACnC,CAAC;YACF,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACrD,aAAK,CAAC,MAAM,CAAC,OAAO,KAAK,aAAK,CAAC,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QACzE,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF;AAnED,wDAmEC"}
1
+ {"version":3,"file":"HyperlaneRouterChecker.js","sourceRoot":"","sources":["../../src/router/HyperlaneRouterChecker.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAgC;AAEhC,gDAA2E;AAG3E,uEAAoE;AAIpE,mCAMiB;AAEjB,MAAa,sBAIX,SAAQ,yCAAgC;IAClC,UAAU,CAAC,KAAgB;;;;;YAC/B,MAAM,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;YACjD,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YACvC,MAAM,OAAM,cAAc,YAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;QACjE,CAAC;KAAA;IAEK,8BAA8B,CAAC,KAAgB;;YACnD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YAE7D,MAAM,6BAA6B,GAAG,CACpC,QAAwD,EACxD,aAA4C,EAC5C,EAAE;gBACF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxC,4BAA4B;gBAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC9C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;oBACpC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;gBACjD,MAAM,QAAQ,GACZ,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;oBAChC,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,eAAM,CAAC,SAAS,CAAC,WAAW,CAAC;gBACnC,IAAI,CAAC,IAAA,iBAAS,EAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;oBAChC,MAAM,SAAS,GAA8B;wBAC3C,KAAK;wBACL,IAAI,EAAE,aAAa;wBACnB,QAAQ,EAAE,MAAM;wBAChB,MAAM;wBACN,QAAQ;qBACT,CAAC;oBACF,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;iBAC9B;YACH,CAAC,CAAA,CAAC;YAEF,MAAM,6BAA6B,CACjC,SAAS,EACT,qCAA6B,CAAC,OAAO,CACtC,CAAC;YACF,MAAM,6BAA6B,CACjC,wBAAwB,EACxB,qCAA6B,CAAC,sBAAsB,CACrD,CAAC;YACF,MAAM,6BAA6B,CACjC,0BAA0B,EAC1B,qCAA6B,CAAC,wBAAwB,CACvD,CAAC;QACJ,CAAC;KAAA;IAEK,oBAAoB,CAAC,KAAgB;;YACzC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YAE7D,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAO,WAAW,EAAE,EAAE;gBACrD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAClC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,WAAW,CAAC,CACnC,CAAC;gBACF,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;gBACnE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBACrD,IAAA,cAAM,EAAC,OAAO,KAAK,IAAA,wBAAgB,EAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAA,CAAC,CACH,CAAC;QACJ,CAAC;KAAA;CACF;AAnED,wDAmEC"}
@@ -1,5 +1,5 @@
1
1
  import { Router } from '@hyperlane-xyz/core';
2
- import { types } from '@hyperlane-xyz/utils';
2
+ import { Address } from '@hyperlane-xyz/utils';
3
3
  import { HyperlaneContracts, HyperlaneContractsMap, HyperlaneFactories } from '../contracts';
4
4
  import { HyperlaneDeployer } from '../deploy/HyperlaneDeployer';
5
5
  import { RouterConfig } from '../router/types';
@@ -8,7 +8,7 @@ export declare abstract class HyperlaneRouterDeployer<Config extends RouterConfi
8
8
  abstract router(contracts: HyperlaneContracts<Factories>): Router;
9
9
  checkConfig(configMap: ChainMap<Config>): Promise<void>;
10
10
  initConnectionClients(contractsMap: HyperlaneContractsMap<Factories>, configMap: ChainMap<Config>): Promise<void>;
11
- enrollRemoteRouters(deployedContractsMap: HyperlaneContractsMap<Factories>, _: ChainMap<Config>, foreignRouters?: ChainMap<types.Address>): Promise<void>;
11
+ enrollRemoteRouters(deployedContractsMap: HyperlaneContractsMap<Factories>, _: ChainMap<Config>, foreignRouters?: ChainMap<Address>): Promise<void>;
12
12
  transferOwnership(contractsMap: HyperlaneContractsMap<Factories>, configMap: ChainMap<Config>): Promise<void>;
13
13
  deploy(configMap: ChainMap<Config>): Promise<HyperlaneContractsMap<Factories>>;
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneRouterDeployer.d.ts","sourceRoot":"","sources":["../../src/router/HyperlaneRouterDeployer.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,MAAM,EACP,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAS,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAEnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGpC,8BAAsB,uBAAuB,CAC3C,MAAM,SAAS,YAAY,EAC3B,SAAS,SAAS,kBAAkB,CACpC,SAAQ,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC;IAC5C,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,MAAM;IAK3D,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAyDvD,qBAAqB,CACzB,YAAY,EAAE,qBAAqB,CAAC,SAAS,CAAC,EAC9C,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC1B,OAAO,CAAC,IAAI,CAAC;IAQV,mBAAmB,CACvB,oBAAoB,EAAE,qBAAqB,CAAC,SAAS,CAAC,EACtD,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,EACnB,cAAc,GAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAM,GAC3C,OAAO,CAAC,IAAI,CAAC;IAyDV,iBAAiB,CACrB,YAAY,EAAE,qBAAqB,CAAC,SAAS,CAAC,EAC9C,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC1B,OAAO,CAAC,IAAI,CAAC;IAUV,MAAM,CACV,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC1B,OAAO,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;CA2B7C"}
1
+ {"version":3,"file":"HyperlaneRouterDeployer.d.ts","sourceRoot":"","sources":["../../src/router/HyperlaneRouterDeployer.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,MAAM,EACP,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,OAAO,EAKR,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAEnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,8BAAsB,uBAAuB,CAC3C,MAAM,SAAS,YAAY,EAC3B,SAAS,SAAS,kBAAkB,CACpC,SAAQ,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC;IAC5C,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,MAAM;IAK3D,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAyDvD,qBAAqB,CACzB,YAAY,EAAE,qBAAqB,CAAC,SAAS,CAAC,EAC9C,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC1B,OAAO,CAAC,IAAI,CAAC;IAQV,mBAAmB,CACvB,oBAAoB,EAAE,qBAAqB,CAAC,SAAS,CAAC,EACtD,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,EACnB,cAAc,GAAE,QAAQ,CAAC,OAAO,CAAM,GACrC,OAAO,CAAC,IAAI,CAAC;IAyDV,iBAAiB,CACrB,YAAY,EAAE,qBAAqB,CAAC,SAAS,CAAC,EAC9C,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC1B,OAAO,CAAC,IAAI,CAAC;IAUV,MAAM,CACV,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC1B,OAAO,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;CA2B7C"}
@@ -1,4 +1,13 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.HyperlaneRouterDeployer = void 0;
4
13
  const ethers_1 = require("ethers");
@@ -7,106 +16,124 @@ const utils_1 = require("@hyperlane-xyz/utils");
7
16
  const contracts_1 = require("../contracts");
8
17
  const HyperlaneDeployer_1 = require("../deploy/HyperlaneDeployer");
9
18
  const HyperlaneIsmFactory_1 = require("../ism/HyperlaneIsmFactory");
10
- const objects_1 = require("../utils/objects");
11
19
  class HyperlaneRouterDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
12
20
  // The ISM check does not appropriately handle ISMs that have sender,
13
21
  // recipient, or body-specific logic. Folks that wish to deploy using
14
22
  // such ISMs *may* need to override checkConfig to disable this check.
15
- async checkConfig(configMap) {
16
- for (const [local, config] of Object.entries(configMap)) {
17
- this.logger(`Checking config for ${local}...`);
18
- const signerOrProvider = this.multiProvider.getSignerOrProvider(local);
19
- const localIgp = core_1.IInterchainGasPaymaster__factory.connect(config.interchainGasPaymaster, signerOrProvider);
20
- const localMailbox = core_1.Mailbox__factory.connect(config.mailbox, signerOrProvider);
21
- let localIsm;
22
- if (!config.interchainSecurityModule ||
23
- config.interchainSecurityModule === ethers_1.ethers.constants.AddressZero) {
24
- localIsm = await localMailbox.defaultIsm();
25
- }
26
- else {
27
- localIsm = config.interchainSecurityModule;
28
- }
29
- const remotes = Object.keys(configMap).filter((c) => c !== local);
30
- for (const remote of remotes) {
31
- this.logger(`Checking origin ${remote}...`);
32
- // Try to confirm that the IGP supports delivery to all remotes
33
- try {
34
- await localIgp.quoteGasPayment(this.multiProvider.getDomainId(remote), 1);
23
+ checkConfig(configMap) {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ for (const [local, config] of Object.entries(configMap)) {
26
+ this.logger(`Checking config for ${local}...`);
27
+ const signerOrProvider = this.multiProvider.getSignerOrProvider(local);
28
+ const localIgp = core_1.IInterchainGasPaymaster__factory.connect(config.interchainGasPaymaster, signerOrProvider);
29
+ const localMailbox = core_1.Mailbox__factory.connect(config.mailbox, signerOrProvider);
30
+ let localIsm;
31
+ if (!config.interchainSecurityModule ||
32
+ config.interchainSecurityModule === ethers_1.ethers.constants.AddressZero) {
33
+ localIsm = yield localMailbox.defaultIsm();
35
34
  }
36
- catch (e) {
37
- throw new Error(`The specified or default IGP with address ${localIgp.address} on ` +
38
- `${local} is not configured to deliver messages to ${remote}, ` +
39
- `did you mean to specify a different one?`);
35
+ else {
36
+ localIsm = config.interchainSecurityModule;
40
37
  }
41
- // Try to confirm that the specified or default ISM can verify messages to all remotes
42
- const canVerify = await (0, HyperlaneIsmFactory_1.moduleCanCertainlyVerify)(localIsm, this.multiProvider, remote, local);
43
- if (!canVerify) {
44
- throw new Error(`The specified or default ISM with address ${localIsm} on ${local} ` +
45
- `cannot verify messages from ${remote}, did you forget to ` +
46
- `specify an ISM, or mean to specify a different one?`);
38
+ const remotes = Object.keys(configMap).filter((c) => c !== local);
39
+ for (const remote of remotes) {
40
+ this.logger(`Checking origin ${remote}...`);
41
+ // Try to confirm that the IGP supports delivery to all remotes
42
+ try {
43
+ yield localIgp.quoteGasPayment(this.multiProvider.getDomainId(remote), 1);
44
+ }
45
+ catch (e) {
46
+ throw new Error(`The specified or default IGP with address ${localIgp.address} on ` +
47
+ `${local} is not configured to deliver messages to ${remote}, ` +
48
+ `did you mean to specify a different one?`);
49
+ }
50
+ // Try to confirm that the specified or default ISM can verify messages to all remotes
51
+ const canVerify = yield (0, HyperlaneIsmFactory_1.moduleCanCertainlyVerify)(localIsm, this.multiProvider, remote, local);
52
+ if (!canVerify) {
53
+ throw new Error(`The specified or default ISM with address ${localIsm} on ${local} ` +
54
+ `cannot verify messages from ${remote}, did you forget to ` +
55
+ `specify an ISM, or mean to specify a different one?`);
56
+ }
47
57
  }
48
58
  }
49
- }
59
+ });
50
60
  }
51
- async initConnectionClients(contractsMap, configMap) {
52
- for (const chain of Object.keys(contractsMap)) {
53
- const contracts = contractsMap[chain];
54
- const config = configMap[chain];
55
- await super.initConnectionClient(chain, this.router(contracts), config);
56
- }
61
+ initConnectionClients(contractsMap, configMap) {
62
+ const _super = Object.create(null, {
63
+ initConnectionClient: { get: () => super.initConnectionClient }
64
+ });
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ for (const chain of Object.keys(contractsMap)) {
67
+ const contracts = contractsMap[chain];
68
+ const config = configMap[chain];
69
+ yield _super.initConnectionClient.call(this, chain, this.router(contracts), config);
70
+ }
71
+ });
57
72
  }
58
- async enrollRemoteRouters(deployedContractsMap, _, foreignRouters = {}) {
59
- this.logger(`Enrolling deployed routers with each other (if not already)...`);
60
- // Make all routers aware of each other.
61
- // Routers that were deployed.
62
- const deployedRouters = (0, objects_1.objMap)(deployedContractsMap, (_, contracts) => this.router(contracts).address);
63
- // All routers, including those that were deployed and those with existing deployments.
64
- const allRouters = (0, objects_1.objMerge)(deployedRouters, foreignRouters);
65
- const allChains = Object.keys(allRouters);
66
- for (const [chain, contracts] of Object.entries(deployedContractsMap)) {
67
- const allRemoteChains = this.multiProvider
68
- .getRemoteChains(chain)
69
- .filter((c) => allChains.includes(c));
70
- const enrollEntries = await Promise.all(allRemoteChains.map(async (remote) => {
71
- const remoteDomain = this.multiProvider.getDomainId(remote);
72
- const current = await this.router(contracts).routers(remoteDomain);
73
- const expected = utils_1.utils.addressToBytes32(allRouters[remote]);
74
- return current !== expected ? [remoteDomain, expected] : undefined;
75
- }));
76
- const entries = enrollEntries.filter((entry) => entry !== undefined);
77
- const domains = entries.map(([id]) => id);
78
- const addresses = entries.map(([, address]) => address);
79
- // skip if no enrollments are needed
80
- if (domains.length === 0) {
81
- continue;
73
+ enrollRemoteRouters(deployedContractsMap, _, foreignRouters = {}) {
74
+ const _super = Object.create(null, {
75
+ runIfOwner: { get: () => super.runIfOwner }
76
+ });
77
+ return __awaiter(this, void 0, void 0, function* () {
78
+ this.logger(`Enrolling deployed routers with each other (if not already)...`);
79
+ // Make all routers aware of each other.
80
+ // Routers that were deployed.
81
+ const deployedRouters = (0, utils_1.objMap)(deployedContractsMap, (_, contracts) => this.router(contracts).address);
82
+ // All routers, including those that were deployed and those with existing deployments.
83
+ const allRouters = (0, utils_1.objMerge)(deployedRouters, foreignRouters);
84
+ const allChains = Object.keys(allRouters);
85
+ for (const [chain, contracts] of Object.entries(deployedContractsMap)) {
86
+ const allRemoteChains = this.multiProvider
87
+ .getRemoteChains(chain)
88
+ .filter((c) => allChains.includes(c));
89
+ const enrollEntries = yield Promise.all(allRemoteChains.map((remote) => __awaiter(this, void 0, void 0, function* () {
90
+ const remoteDomain = this.multiProvider.getDomainId(remote);
91
+ const current = yield this.router(contracts).routers(remoteDomain);
92
+ const expected = (0, utils_1.addressToBytes32)(allRouters[remote]);
93
+ return current !== expected ? [remoteDomain, expected] : undefined;
94
+ })));
95
+ const entries = enrollEntries.filter((entry) => entry !== undefined);
96
+ const domains = entries.map(([id]) => id);
97
+ const addresses = entries.map(([, address]) => address);
98
+ // skip if no enrollments are needed
99
+ if (domains.length === 0) {
100
+ continue;
101
+ }
102
+ yield _super.runIfOwner.call(this, chain, this.router(contracts), () => __awaiter(this, void 0, void 0, function* () {
103
+ const chains = domains.map((id) => this.multiProvider.getChainName(id));
104
+ this.logger(`Enrolling remote routers (${chains.join(', ')}) on ${chain}`);
105
+ yield this.multiProvider.handleTx(chain, this.router(contracts).enrollRemoteRouters(domains, addresses, this.multiProvider.getTransactionOverrides(chain)));
106
+ }));
82
107
  }
83
- await super.runIfOwner(chain, this.router(contracts), async () => {
84
- const chains = domains.map((id) => this.multiProvider.getChainName(id));
85
- this.logger(`Enrolling remote routers (${chains.join(', ')}) on ${chain}`);
86
- await this.multiProvider.handleTx(chain, this.router(contracts).enrollRemoteRouters(domains, addresses, this.multiProvider.getTransactionOverrides(chain)));
87
- });
88
- }
108
+ });
89
109
  }
90
- async transferOwnership(contractsMap, configMap) {
91
- this.logger(`Transferring ownership of ownables...`);
92
- for (const chain of Object.keys(contractsMap)) {
93
- const contracts = contractsMap[chain];
94
- const owner = configMap[chain].owner;
95
- const ownables = await (0, contracts_1.filterOwnableContracts)(contracts);
96
- await this.transferOwnershipOfContracts(chain, owner, ownables);
97
- }
110
+ transferOwnership(contractsMap, configMap) {
111
+ return __awaiter(this, void 0, void 0, function* () {
112
+ this.logger(`Transferring ownership of ownables...`);
113
+ for (const chain of Object.keys(contractsMap)) {
114
+ const contracts = contractsMap[chain];
115
+ const owner = configMap[chain].owner;
116
+ const ownables = yield (0, contracts_1.filterOwnableContracts)(contracts);
117
+ yield this.transferOwnershipOfContracts(chain, owner, ownables);
118
+ }
119
+ });
98
120
  }
99
- async deploy(configMap) {
100
- // Only deploy on chains that don't have foreign deployments.
101
- const configMapToDeploy = (0, objects_1.objFilter)(configMap, (_chainName, config) => !config.foreignDeployment);
102
- // Create a map of chains that have foreign deployments.
103
- const foreignDeployments = (0, objects_1.objFilter)((0, objects_1.objMap)(configMap, (_, config) => config.foreignDeployment), (_chainName, foreignDeployment) => foreignDeployment !== undefined);
104
- const deployedContractsMap = await super.deploy(configMapToDeploy);
105
- await this.enrollRemoteRouters(deployedContractsMap, configMap, foreignDeployments);
106
- await this.initConnectionClients(deployedContractsMap, configMap);
107
- await this.transferOwnership(deployedContractsMap, configMap);
108
- this.logger(`Finished deploying router contracts for all chains.`);
109
- return deployedContractsMap;
121
+ deploy(configMap) {
122
+ const _super = Object.create(null, {
123
+ deploy: { get: () => super.deploy }
124
+ });
125
+ return __awaiter(this, void 0, void 0, function* () {
126
+ // Only deploy on chains that don't have foreign deployments.
127
+ const configMapToDeploy = (0, utils_1.objFilter)(configMap, (_chainName, config) => !config.foreignDeployment);
128
+ // Create a map of chains that have foreign deployments.
129
+ const foreignDeployments = (0, utils_1.objFilter)((0, utils_1.objMap)(configMap, (_, config) => config.foreignDeployment), (_chainName, foreignDeployment) => foreignDeployment !== undefined);
130
+ const deployedContractsMap = yield _super.deploy.call(this, configMapToDeploy);
131
+ yield this.enrollRemoteRouters(deployedContractsMap, configMap, foreignDeployments);
132
+ yield this.initConnectionClients(deployedContractsMap, configMap);
133
+ yield this.transferOwnership(deployedContractsMap, configMap);
134
+ this.logger(`Finished deploying router contracts for all chains.`);
135
+ return deployedContractsMap;
136
+ });
110
137
  }
111
138
  }
112
139
  exports.HyperlaneRouterDeployer = HyperlaneRouterDeployer;
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneRouterDeployer.js","sourceRoot":"","sources":["../../src/router/HyperlaneRouterDeployer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HyperlaneRouterDeployer.js","sourceRoot":"","sources":["../../src/router/HyperlaneRouterDeployer.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,43 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.ProxiedRouterChecker = void 0;
4
13
  const HyperlaneRouterChecker_1 = require("./HyperlaneRouterChecker");
5
14
  class ProxiedRouterChecker extends HyperlaneRouterChecker_1.HyperlaneRouterChecker {
6
- async checkOwnership(chain) {
7
- const config = this.configMap[chain];
8
- let ownableOverrides = {};
9
- if (config.timelock) {
10
- ownableOverrides = {
11
- proxyAdmin: this.app.getAddresses(chain).timelockController,
12
- };
13
- }
14
- return super.checkOwnership(chain, config.owner, ownableOverrides);
15
+ checkOwnership(chain) {
16
+ const _super = Object.create(null, {
17
+ checkOwnership: { get: () => super.checkOwnership }
18
+ });
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ const config = this.configMap[chain];
21
+ let ownableOverrides = {};
22
+ if (config.timelock) {
23
+ ownableOverrides = {
24
+ proxyAdmin: this.app.getAddresses(chain).timelockController,
25
+ };
26
+ }
27
+ return _super.checkOwnership.call(this, chain, config.owner, ownableOverrides);
28
+ });
15
29
  }
16
- async checkChain(chain) {
17
- await super.checkHyperlaneConnectionClient(chain);
18
- await super.checkEnrolledRouters(chain);
19
- await this.checkProxiedContracts(chain);
20
- await this.checkOwnership(chain);
30
+ checkChain(chain) {
31
+ const _super = Object.create(null, {
32
+ checkHyperlaneConnectionClient: { get: () => super.checkHyperlaneConnectionClient },
33
+ checkEnrolledRouters: { get: () => super.checkEnrolledRouters }
34
+ });
35
+ return __awaiter(this, void 0, void 0, function* () {
36
+ yield _super.checkHyperlaneConnectionClient.call(this, chain);
37
+ yield _super.checkEnrolledRouters.call(this, chain);
38
+ yield this.checkProxiedContracts(chain);
39
+ yield this.checkOwnership(chain);
40
+ });
21
41
  }
22
42
  }
23
43
  exports.ProxiedRouterChecker = ProxiedRouterChecker;
@@ -1 +1 @@
1
- {"version":3,"file":"ProxiedRouterChecker.js","sourceRoot":"","sources":["../../src/router/ProxiedRouterChecker.ts"],"names":[],"mappings":";;;AAEA,qEAAkE;AAIlE,MAAsB,oBAIpB,SAAQ,+CAA8C;IACtD,KAAK,CAAC,cAAc,CAAC,KAAgB;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAC1B,IAAI,MAAM,CAAC,QAAQ,EAAE;YACnB,gBAAgB,GAAG;gBACjB,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,kBAAkB;aAC5D,CAAC;SACH;QAED,OAAO,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAgB;QAC/B,MAAM,KAAK,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;CACF;AAvBD,oDAuBC"}
1
+ {"version":3,"file":"ProxiedRouterChecker.js","sourceRoot":"","sources":["../../src/router/ProxiedRouterChecker.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,qEAAkE;AAIlE,MAAsB,oBAIpB,SAAQ,+CAA8C;IAChD,cAAc,CAAC,KAAgB;;;;;YACnC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,gBAAgB,GAAG,EAAE,CAAC;YAC1B,IAAI,MAAM,CAAC,QAAQ,EAAE;gBACnB,gBAAgB,GAAG;oBACjB,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,kBAAkB;iBAC5D,CAAC;aACH;YAED,OAAO,OAAM,cAAc,YAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,gBAAgB,EAAE;QACrE,CAAC;KAAA;IAEK,UAAU,CAAC,KAAgB;;;;;;YAC/B,MAAM,OAAM,8BAA8B,YAAC,KAAK,CAAC,CAAC;YAClD,MAAM,OAAM,oBAAoB,YAAC,KAAK,CAAC,CAAC;YACxC,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YACxC,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;KAAA;CACF;AAvBD,oDAuBC"}