@hyperlane-xyz/sdk 1.4.1 → 1.4.3-beta0

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 (217) hide show
  1. package/dist/consts/agentStartBlocks.d.ts +3 -0
  2. package/dist/consts/agentStartBlocks.d.ts.map +1 -0
  3. package/dist/consts/agentStartBlocks.js +28 -0
  4. package/dist/consts/agentStartBlocks.js.map +1 -0
  5. package/dist/consts/bytecode.js +1 -1
  6. package/dist/consts/bytecode.js.map +1 -1
  7. package/dist/consts/chainMetadata.js +3 -3
  8. package/dist/consts/chains.d.ts +1 -1
  9. package/dist/consts/chains.d.ts.map +1 -1
  10. package/dist/consts/chains.js +2 -2
  11. package/dist/consts/chains.js.map +1 -1
  12. package/dist/consts/environments/index.d.ts +40 -2
  13. package/dist/consts/environments/index.d.ts.map +1 -1
  14. package/dist/consts/environments/index.js.map +1 -1
  15. package/dist/consts/environments/mainnet.json +27 -9
  16. package/dist/consts/environments/testnet.json +36 -18
  17. package/dist/contracts.d.ts +5 -5
  18. package/dist/contracts.d.ts.map +1 -1
  19. package/dist/contracts.js +12 -23
  20. package/dist/contracts.js.map +1 -1
  21. package/dist/core/CoreDeployer.hardhat-test.js +33 -42
  22. package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
  23. package/dist/core/HyperlaneCore.d.ts +1 -1
  24. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  25. package/dist/core/HyperlaneCore.js +12 -25
  26. package/dist/core/HyperlaneCore.js.map +1 -1
  27. package/dist/core/HyperlaneCore.test.js +4 -13
  28. package/dist/core/HyperlaneCore.test.js.map +1 -1
  29. package/dist/core/HyperlaneCoreChecker.d.ts +0 -1
  30. package/dist/core/HyperlaneCoreChecker.d.ts.map +1 -1
  31. package/dist/core/HyperlaneCoreChecker.js +79 -137
  32. package/dist/core/HyperlaneCoreChecker.js.map +1 -1
  33. package/dist/core/HyperlaneCoreDeployer.d.ts +1 -2
  34. package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  35. package/dist/core/HyperlaneCoreDeployer.js +45 -71
  36. package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
  37. package/dist/core/TestCoreApp.js +35 -45
  38. package/dist/core/TestCoreApp.js.map +1 -1
  39. package/dist/core/TestCoreDeployer.js +14 -27
  40. package/dist/core/TestCoreDeployer.js.map +1 -1
  41. package/dist/core/contracts.d.ts +1 -1
  42. package/dist/core/contracts.d.ts.map +1 -1
  43. package/dist/core/events.d.ts +1 -1
  44. package/dist/core/events.d.ts.map +1 -1
  45. package/dist/core/testHyperlaneDeploy.hardhat-test.js +23 -32
  46. package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
  47. package/dist/core/types.d.ts +4 -4
  48. package/dist/core/types.d.ts.map +1 -1
  49. package/dist/core/types.js +2 -3
  50. package/dist/core/types.js.map +1 -1
  51. package/dist/deploy/HyperlaneAppChecker.d.ts +3 -1
  52. package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
  53. package/dist/deploy/HyperlaneAppChecker.js +105 -83
  54. package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
  55. package/dist/deploy/HyperlaneDeployer.d.ts +5 -1
  56. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  57. package/dist/deploy/HyperlaneDeployer.js +179 -183
  58. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  59. package/dist/deploy/proxy.d.ts +9 -0
  60. package/dist/deploy/proxy.d.ts.map +1 -1
  61. package/dist/deploy/proxy.js +11 -26
  62. package/dist/deploy/proxy.js.map +1 -1
  63. package/dist/deploy/types.d.ts +18 -2
  64. package/dist/deploy/types.d.ts.map +1 -1
  65. package/dist/deploy/types.js +3 -1
  66. package/dist/deploy/types.js.map +1 -1
  67. package/dist/deploy/verify/ContractVerifier.js +122 -131
  68. package/dist/deploy/verify/ContractVerifier.js.map +1 -1
  69. package/dist/deploy/verify/types.d.ts +3 -3
  70. package/dist/deploy/verify/types.d.ts.map +1 -1
  71. package/dist/gas/HyperlaneIgpChecker.d.ts +0 -4
  72. package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
  73. package/dist/gas/HyperlaneIgpChecker.js +101 -121
  74. package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
  75. package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
  76. package/dist/gas/HyperlaneIgpDeployer.js +74 -77
  77. package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
  78. package/dist/gas/contracts.d.ts +4 -3
  79. package/dist/gas/contracts.d.ts.map +1 -1
  80. package/dist/gas/contracts.js +2 -1
  81. package/dist/gas/contracts.js.map +1 -1
  82. package/dist/gas/token-prices.d.ts +5 -5
  83. package/dist/gas/token-prices.d.ts.map +1 -1
  84. package/dist/gas/token-prices.js +37 -54
  85. package/dist/gas/token-prices.js.map +1 -1
  86. package/dist/gas/token-prices.test.js +11 -20
  87. package/dist/gas/token-prices.test.js.map +1 -1
  88. package/dist/gas/types.d.ts +5 -2
  89. package/dist/gas/types.d.ts.map +1 -1
  90. package/dist/gas/types.js +2 -2
  91. package/dist/gas/types.js.map +1 -1
  92. package/dist/hook/HyperlaneHookDeployer.js +69 -88
  93. package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
  94. package/dist/hook/contracts.d.ts +4 -4
  95. package/dist/hook/contracts.d.ts.map +1 -1
  96. package/dist/hook/contracts.js +5 -1
  97. package/dist/hook/contracts.js.map +1 -1
  98. package/dist/hook/types.d.ts +3 -3
  99. package/dist/hook/types.d.ts.map +1 -1
  100. package/dist/hook/types.js +1 -1
  101. package/dist/hook/types.js.map +1 -1
  102. package/dist/index.d.ts +3 -2
  103. package/dist/index.d.ts.map +1 -1
  104. package/dist/index.js +6 -2
  105. package/dist/index.js.map +1 -1
  106. package/dist/ism/HyperlaneIsmFactory.d.ts +1 -1
  107. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  108. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +14 -23
  109. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
  110. package/dist/ism/HyperlaneIsmFactory.js +215 -198
  111. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  112. package/dist/ism/HyperlaneIsmFactoryDeployer.js +18 -34
  113. package/dist/ism/HyperlaneIsmFactoryDeployer.js.map +1 -1
  114. package/dist/ism/contracts.d.ts +1 -1
  115. package/dist/ism/contracts.d.ts.map +1 -1
  116. package/dist/ism/types.d.ts +5 -5
  117. package/dist/ism/types.d.ts.map +1 -1
  118. package/dist/ism/types.js +1 -1
  119. package/dist/ism/types.js.map +1 -1
  120. package/dist/metadata/agentConfig.d.ts +9 -4
  121. package/dist/metadata/agentConfig.d.ts.map +1 -1
  122. package/dist/metadata/agentConfig.js +26 -8
  123. package/dist/metadata/agentConfig.js.map +1 -1
  124. package/dist/metadata/agentConfig.test.d.ts +2 -0
  125. package/dist/metadata/agentConfig.test.d.ts.map +1 -0
  126. package/dist/metadata/agentConfig.test.js +33 -0
  127. package/dist/metadata/agentConfig.test.js.map +1 -0
  128. package/dist/metadata/chainMetadata.test.js +27 -9
  129. package/dist/metadata/chainMetadata.test.js.map +1 -1
  130. package/dist/metadata/chainMetadataTypes.d.ts +3 -3
  131. package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
  132. package/dist/metadata/chainMetadataTypes.js +3 -4
  133. package/dist/metadata/chainMetadataTypes.js.map +1 -1
  134. package/dist/metadata/deploymentArtifacts.d.ts +2 -2
  135. package/dist/metadata/deploymentArtifacts.d.ts.map +1 -1
  136. package/dist/middleware/account/InterchainAccountChecker.js +4 -1
  137. package/dist/middleware/account/InterchainAccountChecker.js.map +1 -1
  138. package/dist/middleware/account/InterchainAccountDeployer.d.ts +12 -6
  139. package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
  140. package/dist/middleware/account/InterchainAccountDeployer.js +34 -63
  141. package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
  142. package/dist/middleware/account/accounts.hardhat-test.js +21 -30
  143. package/dist/middleware/account/accounts.hardhat-test.js.map +1 -1
  144. package/dist/middleware/account/contracts.d.ts +4 -3
  145. package/dist/middleware/account/contracts.d.ts.map +1 -1
  146. package/dist/middleware/account/contracts.js +2 -1
  147. package/dist/middleware/account/contracts.js.map +1 -1
  148. package/dist/middleware/liquidity-layer/LiquidityLayerApp.js +129 -151
  149. package/dist/middleware/liquidity-layer/LiquidityLayerApp.js.map +1 -1
  150. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts +2 -2
  151. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +1 -1
  152. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +85 -107
  153. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js.map +1 -1
  154. package/dist/middleware/liquidity-layer/contracts.d.ts +4 -3
  155. package/dist/middleware/liquidity-layer/contracts.d.ts.map +1 -1
  156. package/dist/middleware/liquidity-layer/contracts.js +2 -1
  157. package/dist/middleware/liquidity-layer/contracts.js.map +1 -1
  158. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js +41 -46
  159. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js.map +1 -1
  160. package/dist/middleware/query/InterchainQueryDeployer.d.ts +1 -1
  161. package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -1
  162. package/dist/middleware/query/InterchainQueryDeployer.js +13 -24
  163. package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -1
  164. package/dist/middleware/query/contracts.d.ts +4 -3
  165. package/dist/middleware/query/contracts.d.ts.map +1 -1
  166. package/dist/middleware/query/contracts.js +2 -1
  167. package/dist/middleware/query/contracts.js.map +1 -1
  168. package/dist/middleware/query/queries.hardhat-test.js +23 -32
  169. package/dist/middleware/query/queries.hardhat-test.js.map +1 -1
  170. package/dist/providers/MultiProvider.d.ts +2 -2
  171. package/dist/providers/MultiProvider.d.ts.map +1 -1
  172. package/dist/providers/MultiProvider.js +63 -84
  173. package/dist/providers/MultiProvider.js.map +1 -1
  174. package/dist/providers/RetryProvider.d.ts +1 -1
  175. package/dist/providers/RetryProvider.d.ts.map +1 -1
  176. package/dist/providers/RetryProvider.js +2 -16
  177. package/dist/providers/RetryProvider.js.map +1 -1
  178. package/dist/router/GasRouterDeployer.js +18 -32
  179. package/dist/router/GasRouterDeployer.js.map +1 -1
  180. package/dist/router/HyperlaneRouterChecker.d.ts +0 -1
  181. package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
  182. package/dist/router/HyperlaneRouterChecker.js +37 -51
  183. package/dist/router/HyperlaneRouterChecker.js.map +1 -1
  184. package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
  185. package/dist/router/HyperlaneRouterDeployer.js +89 -107
  186. package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
  187. package/dist/router/ProxiedRouterChecker.d.ts +3 -2
  188. package/dist/router/ProxiedRouterChecker.d.ts.map +1 -1
  189. package/dist/router/ProxiedRouterChecker.js +15 -17
  190. package/dist/router/ProxiedRouterChecker.js.map +1 -1
  191. package/dist/router/ProxiedRouterDeployer.d.ts +2 -2
  192. package/dist/router/ProxiedRouterDeployer.d.ts.map +1 -1
  193. package/dist/router/ProxiedRouterDeployer.js +27 -28
  194. package/dist/router/ProxiedRouterDeployer.js.map +1 -1
  195. package/dist/router/RouterApps.d.ts.map +1 -1
  196. package/dist/router/RouterApps.js +4 -15
  197. package/dist/router/RouterApps.js.map +1 -1
  198. package/dist/router/types.d.ts +14 -9
  199. package/dist/router/types.d.ts.map +1 -1
  200. package/dist/router/types.js +7 -2
  201. package/dist/router/types.js.map +1 -1
  202. package/dist/test/testUtils.d.ts.map +1 -1
  203. package/dist/test/testUtils.js +21 -24
  204. package/dist/test/testUtils.js.map +1 -1
  205. package/dist/types.d.ts +5 -5
  206. package/dist/types.d.ts.map +1 -1
  207. package/dist/utils/MultiGeneric.js +2 -4
  208. package/dist/utils/MultiGeneric.js.map +1 -1
  209. package/dist/utils/fetch.js +8 -16
  210. package/dist/utils/fetch.js.map +1 -1
  211. package/dist/utils/number.js +2 -2
  212. package/dist/utils/number.js.map +1 -1
  213. package/dist/utils/objects.d.ts +2 -2
  214. package/dist/utils/objects.d.ts.map +1 -1
  215. package/dist/utils/wagmi.js +1 -2
  216. package/dist/utils/wagmi.js.map +1 -1
  217. package/package.json +9 -8
@@ -1,13 +1,4 @@
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
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.collectValidators = exports.moduleMatchesConfig = exports.moduleCanCertainlyVerify = exports.HyperlaneIsmFactory = void 0;
13
4
  const debug_1 = require("debug");
@@ -19,6 +10,7 @@ const environments_1 = require("../consts/environments");
19
10
  const contracts_1 = require("../contracts");
20
11
  const contracts_2 = require("./contracts");
21
12
  const types_1 = require("./types");
13
+ // TODO this should handle cached addresses like the other deployers
22
14
  class HyperlaneIsmFactory extends HyperlaneApp_1.HyperlaneApp {
23
15
  static fromEnvironment(env, multiProvider) {
24
16
  const envAddresses = environments_1.hyperlaneEnvironments[env];
@@ -31,112 +23,113 @@ class HyperlaneIsmFactory extends HyperlaneApp_1.HyperlaneApp {
31
23
  const helper = (0, contracts_1.appFromAddressesMapHelper)(addressesMap, contracts_2.ismFactoryFactories, multiProvider);
32
24
  return new HyperlaneIsmFactory(helper.contractsMap, helper.multiProvider, (0, debug_1.debug)('hyperlane:IsmFactoryApp'));
33
25
  }
34
- deploy(chain, config, origin) {
35
- return __awaiter(this, void 0, void 0, function* () {
36
- if (config.type === types_1.ModuleType.MERKLE_ROOT_MULTISIG ||
37
- config.type === types_1.ModuleType.MESSAGE_ID_MULTISIG ||
38
- config.type === types_1.ModuleType.LEGACY_MULTISIG) {
39
- this.logger(`Deploying Multisig ISM to ${chain} for verifying ${origin}`);
40
- return this.deployMultisigIsm(chain, config, origin);
26
+ async deploy(chain, config, origin) {
27
+ if (config.type === types_1.ModuleType.MERKLE_ROOT_MULTISIG ||
28
+ config.type === types_1.ModuleType.MESSAGE_ID_MULTISIG ||
29
+ config.type === types_1.ModuleType.LEGACY_MULTISIG) {
30
+ switch (config.type) {
31
+ case types_1.ModuleType.LEGACY_MULTISIG:
32
+ this.logger(`Deploying Legacy Multisig ISM to ${chain} for verifying ${origin}`);
33
+ break;
34
+ case types_1.ModuleType.MERKLE_ROOT_MULTISIG:
35
+ this.logger(`Deploying Merkle Root Multisig ISM to ${chain} for verifying ${origin}`);
36
+ break;
37
+ case types_1.ModuleType.MESSAGE_ID_MULTISIG:
38
+ this.logger(`Deploying Message ID Multisig ISM to ${chain} for verifying ${origin}`);
39
+ break;
41
40
  }
42
- else if (config.type === types_1.ModuleType.ROUTING) {
43
- this.logger(`Deploying Routing ISM to ${chain} for verifying ${Object.keys(config.domains)}`);
44
- return this.deployRoutingIsm(chain, config);
45
- }
46
- else if (config.type === types_1.ModuleType.AGGREGATION) {
47
- this.logger(`Deploying Aggregation ISM to ${chain}`);
48
- return this.deployAggregationIsm(chain, config);
49
- }
50
- else {
51
- throw new Error(`Unsupported ISM type`);
52
- }
53
- });
41
+ return this.deployMultisigIsm(chain, config, origin);
42
+ }
43
+ else if (config.type === types_1.ModuleType.ROUTING) {
44
+ this.logger(`Deploying Routing ISM to ${chain} for verifying ${Object.keys(config.domains)}`);
45
+ return this.deployRoutingIsm(chain, config);
46
+ }
47
+ else if (config.type === types_1.ModuleType.AGGREGATION) {
48
+ this.logger(`Deploying Aggregation ISM to ${chain}`);
49
+ return this.deployAggregationIsm(chain, config);
50
+ }
51
+ else {
52
+ throw new Error(`Unsupported ISM type`);
53
+ }
54
54
  }
55
- deployMultisigIsm(chain, config, origin) {
56
- return __awaiter(this, void 0, void 0, function* () {
57
- const signer = this.multiProvider.getSigner(chain);
58
- let address;
59
- if (config.type === types_1.ModuleType.LEGACY_MULTISIG) {
60
- if (process.env.CI !== 'true' &&
61
- process.env.ALLOW_LEGACY_MULTISIG_ISM !== 'true') {
62
- throw new Error('Legacy multisig ISM is being deprecated, do not deploy');
63
- }
64
- const multisig = yield new core_1.LegacyMultisigIsm__factory()
65
- .connect(signer)
66
- .deploy();
67
- yield this.multiProvider.handleTx(chain, multisig.deployTransaction);
68
- const originDomain = this.multiProvider.getDomainId(origin);
69
- yield this.multiProvider.handleTx(chain, multisig.enrollValidators([originDomain], [config.validators]));
70
- yield this.multiProvider.handleTx(chain, multisig.setThreshold(originDomain, config.threshold));
71
- address = multisig.address;
72
- }
73
- else {
74
- const multisigIsmFactory = config.type === types_1.ModuleType.MERKLE_ROOT_MULTISIG
75
- ? this.getContracts(chain).merkleRootMultisigIsmFactory
76
- : this.getContracts(chain).messageIdMultisigIsmFactory;
77
- address = yield this.deployMOfNFactory(chain, multisigIsmFactory, config.validators, config.threshold);
78
- }
79
- return core_1.IMultisigIsm__factory.connect(address, signer);
80
- });
55
+ async deployMultisigIsm(chain, config, origin) {
56
+ const signer = this.multiProvider.getSigner(chain);
57
+ let address;
58
+ if (config.type === types_1.ModuleType.LEGACY_MULTISIG) {
59
+ const multisig = await new core_1.LegacyMultisigIsm__factory()
60
+ .connect(signer)
61
+ .deploy();
62
+ await this.multiProvider.handleTx(chain, multisig.deployTransaction);
63
+ const originDomain = this.multiProvider.getDomainId(origin);
64
+ this.logger(`Enrolling validators for ${originDomain}`);
65
+ await this.multiProvider.handleTx(chain, multisig.enrollValidators([originDomain], [config.validators]));
66
+ await this.multiProvider.handleTx(chain, multisig.setThreshold(originDomain, config.threshold));
67
+ address = multisig.address;
68
+ }
69
+ else {
70
+ const multisigIsmFactory = config.type === types_1.ModuleType.MERKLE_ROOT_MULTISIG
71
+ ? this.getContracts(chain).merkleRootMultisigIsmFactory
72
+ : this.getContracts(chain).messageIdMultisigIsmFactory;
73
+ address = await this.deployMOfNFactory(chain, multisigIsmFactory, config.validators, config.threshold);
74
+ }
75
+ return core_1.IMultisigIsm__factory.connect(address, signer);
81
76
  }
82
- deployRoutingIsm(chain, config) {
83
- return __awaiter(this, void 0, void 0, function* () {
84
- const signer = this.multiProvider.getSigner(chain);
85
- const routingIsmFactory = this.getContracts(chain).routingIsmFactory;
86
- const isms = {};
87
- for (const origin of Object.keys(config.domains)) {
88
- const ism = yield this.deploy(chain, config.domains[origin], origin);
89
- isms[origin] = ism.address;
77
+ async deployRoutingIsm(chain, config) {
78
+ const signer = this.multiProvider.getSigner(chain);
79
+ const routingIsmFactory = this.getContracts(chain).routingIsmFactory;
80
+ const isms = {};
81
+ for (const origin of Object.keys(config.domains)) {
82
+ const ism = await this.deploy(chain, config.domains[origin], origin);
83
+ isms[origin] = ism.address;
84
+ }
85
+ const domains = Object.keys(isms).map((chain) => this.multiProvider.getDomainId(chain));
86
+ const submoduleAddresses = Object.values(isms);
87
+ const overrides = this.multiProvider.getTransactionOverrides(chain);
88
+ const tx = await routingIsmFactory.deploy(domains, submoduleAddresses, overrides);
89
+ const receipt = await this.multiProvider.handleTx(chain, tx);
90
+ // TODO: Break this out into a generalized function
91
+ const dispatchLogs = receipt.logs
92
+ .map((log) => {
93
+ try {
94
+ return routingIsmFactory.interface.parseLog(log);
90
95
  }
91
- const domains = Object.keys(isms).map((chain) => this.multiProvider.getDomainId(chain));
92
- const submoduleAddresses = Object.values(isms);
93
- const tx = yield routingIsmFactory.deploy(domains, submoduleAddresses);
94
- const receipt = yield this.multiProvider.handleTx(chain, tx);
95
- // TODO: Break this out into a generalized function
96
- const dispatchLogs = receipt.logs
97
- .map((log) => {
98
- try {
99
- return routingIsmFactory.interface.parseLog(log);
100
- }
101
- catch (e) {
102
- return undefined;
103
- }
104
- })
105
- .filter((log) => !!log && log.name === 'ModuleDeployed');
106
- const moduleAddress = dispatchLogs[0].args['module'];
107
- const routingIsm = core_1.DomainRoutingIsm__factory.connect(moduleAddress, this.multiProvider.getSigner(chain));
108
- yield this.multiProvider.handleTx(chain, yield routingIsm.transferOwnership(config.owner));
109
- const address = dispatchLogs[0].args['module'];
110
- return core_1.IRoutingIsm__factory.connect(address, signer);
111
- });
112
- }
113
- deployAggregationIsm(chain, config) {
114
- return __awaiter(this, void 0, void 0, function* () {
115
- const signer = this.multiProvider.getSigner(chain);
116
- const aggregationIsmFactory = this.getContracts(chain).aggregationIsmFactory;
117
- const addresses = [];
118
- for (const module of config.modules) {
119
- addresses.push((yield this.deploy(chain, module)).address);
96
+ catch (e) {
97
+ return undefined;
120
98
  }
121
- const address = yield this.deployMOfNFactory(chain, aggregationIsmFactory, addresses, config.threshold);
122
- return core_1.IAggregationIsm__factory.connect(address, signer);
123
- });
99
+ })
100
+ .filter((log) => !!log && log.name === 'ModuleDeployed');
101
+ const moduleAddress = dispatchLogs[0].args['module'];
102
+ const routingIsm = core_1.DomainRoutingIsm__factory.connect(moduleAddress, this.multiProvider.getSigner(chain));
103
+ this.logger(`Transferring ownership of routing ISM to ${config.owner}`);
104
+ await this.multiProvider.handleTx(chain, await routingIsm.transferOwnership(config.owner, overrides));
105
+ const address = dispatchLogs[0].args['module'];
106
+ return core_1.IRoutingIsm__factory.connect(address, signer);
124
107
  }
125
- deployMOfNFactory(chain, factory, values, threshold) {
126
- return __awaiter(this, void 0, void 0, function* () {
127
- const sorted = [...values].sort();
128
- const address = yield factory.getAddress(sorted, threshold);
129
- const provider = this.multiProvider.getProvider(chain);
130
- const code = yield provider.getCode(address);
131
- if (code === '0x') {
132
- this.logger(`Deploying new ${threshold} of ${values.length} address set to ${chain}`);
133
- yield factory.deploy(sorted, threshold);
134
- }
135
- else {
136
- this.logger(`Recovered ${threshold} of ${values.length} address set on ${chain}`);
137
- }
138
- return address;
139
- });
108
+ async deployAggregationIsm(chain, config) {
109
+ const signer = this.multiProvider.getSigner(chain);
110
+ const aggregationIsmFactory = this.getContracts(chain).aggregationIsmFactory;
111
+ const addresses = [];
112
+ for (const module of config.modules) {
113
+ addresses.push((await this.deploy(chain, module)).address);
114
+ }
115
+ const address = await this.deployMOfNFactory(chain, aggregationIsmFactory, addresses, config.threshold);
116
+ return core_1.IAggregationIsm__factory.connect(address, signer);
117
+ }
118
+ async deployMOfNFactory(chain, factory, values, threshold) {
119
+ const sorted = [...values].sort();
120
+ const address = await factory.getAddress(sorted, threshold);
121
+ const provider = this.multiProvider.getProvider(chain);
122
+ const code = await provider.getCode(address);
123
+ if (code === '0x') {
124
+ this.logger(`Deploying new ${threshold} of ${values.length} address set to ${chain}`);
125
+ const overrides = this.multiProvider.getTransactionOverrides(chain);
126
+ const hash = await factory.deploy(sorted, threshold, overrides);
127
+ await this.multiProvider.handleTx(chain, hash);
128
+ }
129
+ else {
130
+ this.logger(`Recovered ${threshold} of ${values.length} address set on ${chain}`);
131
+ }
132
+ return address;
140
133
  }
141
134
  }
142
135
  exports.HyperlaneIsmFactory = HyperlaneIsmFactory;
@@ -145,31 +138,31 @@ exports.HyperlaneIsmFactory = HyperlaneIsmFactory;
145
138
  // This can happen if, for example, the module has sender, recipient, or
146
139
  // body specific logic, as the sample message used when querying the ISM
147
140
  // sets all of these to zero.
148
- function moduleCanCertainlyVerify(destModuleAddress, multiProvider, origin, destination) {
149
- return __awaiter(this, void 0, void 0, function* () {
150
- const message = utils_1.utils.formatMessage(0, 0, multiProvider.getDomainId(origin), ethers_1.ethers.constants.AddressZero, multiProvider.getDomainId(destination), ethers_1.ethers.constants.AddressZero, '0x');
151
- const provider = multiProvider.getSignerOrProvider(destination);
152
- const module = core_1.IInterchainSecurityModule__factory.connect(destModuleAddress, provider);
141
+ async function moduleCanCertainlyVerify(destModule, multiProvider, origin, destination) {
142
+ const message = utils_1.utils.formatMessage(0, 0, multiProvider.getDomainId(origin), ethers_1.ethers.constants.AddressZero, multiProvider.getDomainId(destination), ethers_1.ethers.constants.AddressZero, '0x');
143
+ const provider = multiProvider.getSignerOrProvider(destination);
144
+ if (typeof destModule === 'string') {
145
+ const module = core_1.IInterchainSecurityModule__factory.connect(destModule, provider);
153
146
  try {
154
- const moduleType = yield module.moduleType();
147
+ const moduleType = await module.moduleType();
155
148
  if (moduleType === types_1.ModuleType.MERKLE_ROOT_MULTISIG ||
156
149
  moduleType === types_1.ModuleType.LEGACY_MULTISIG ||
157
150
  moduleType === types_1.ModuleType.MESSAGE_ID_MULTISIG) {
158
- const multisigModule = core_1.IMultisigIsm__factory.connect(destModuleAddress, provider);
159
- const [, threshold] = yield multisigModule.validatorsAndThreshold(message);
151
+ const multisigModule = core_1.IMultisigIsm__factory.connect(destModule, provider);
152
+ const [, threshold] = await multisigModule.validatorsAndThreshold(message);
160
153
  return threshold > 0;
161
154
  }
162
155
  else if (moduleType === types_1.ModuleType.ROUTING) {
163
- const routingIsm = core_1.IRoutingIsm__factory.connect(destModuleAddress, provider);
164
- const subModule = yield routingIsm.route(message);
156
+ const routingIsm = core_1.IRoutingIsm__factory.connect(destModule, provider);
157
+ const subModule = await routingIsm.route(message);
165
158
  return moduleCanCertainlyVerify(subModule, multiProvider, origin, destination);
166
159
  }
167
160
  else if (moduleType === types_1.ModuleType.AGGREGATION) {
168
- const aggregationIsm = core_1.IAggregationIsm__factory.connect(destModuleAddress, provider);
169
- const [subModules, threshold] = yield aggregationIsm.modulesAndThreshold(message);
161
+ const aggregationIsm = core_1.IAggregationIsm__factory.connect(destModule, provider);
162
+ const [subModules, threshold] = await aggregationIsm.modulesAndThreshold(message);
170
163
  let verified = 0;
171
164
  for (const subModule of subModules) {
172
- const canVerify = yield moduleCanCertainlyVerify(subModule, multiProvider, origin, destination);
165
+ const canVerify = await moduleCanCertainlyVerify(subModule, multiProvider, origin, destination);
173
166
  if (canVerify) {
174
167
  verified += 1;
175
168
  }
@@ -181,91 +174,115 @@ function moduleCanCertainlyVerify(destModuleAddress, multiProvider, origin, dest
181
174
  }
182
175
  }
183
176
  catch (e) {
184
- utils_1.logging.warn(`Error checking module ${destModuleAddress}: ${e}`);
177
+ utils_1.logging.warn(`Error checking module ${destModule}: ${e}`);
185
178
  return false;
186
179
  }
187
- });
188
- }
189
- exports.moduleCanCertainlyVerify = moduleCanCertainlyVerify;
190
- function moduleMatchesConfig(chain, moduleAddress, config, multiProvider, contracts, origin) {
191
- return __awaiter(this, void 0, void 0, function* () {
192
- const provider = multiProvider.getProvider(chain);
193
- const module = core_1.IInterchainSecurityModule__factory.connect(moduleAddress, provider);
194
- const actualType = yield module.moduleType();
195
- if (actualType !== config.type)
196
- return false;
197
- let matches = true;
198
- switch (config.type) {
180
+ }
181
+ else {
182
+ // destModule is an IsmConfig
183
+ switch (destModule.type) {
199
184
  case types_1.ModuleType.MERKLE_ROOT_MULTISIG:
200
- case types_1.ModuleType.MESSAGE_ID_MULTISIG: {
201
- // A MultisigIsm matches if validators and threshold match the config
202
- const expectedAddress = yield contracts.merkleRootMultisigIsmFactory.getAddress(config.validators.sort(), config.threshold);
203
- matches = utils_1.utils.eqAddress(expectedAddress, module.address);
204
- break;
205
- }
206
- case types_1.ModuleType.LEGACY_MULTISIG: {
207
- const multisigIsm = core_1.LegacyMultisigIsm__factory.connect(moduleAddress, provider);
208
- if (!origin) {
209
- throw new Error("Can't check legacy multisig without origin");
185
+ case types_1.ModuleType.MESSAGE_ID_MULTISIG:
186
+ case types_1.ModuleType.LEGACY_MULTISIG:
187
+ return destModule.threshold > 0;
188
+ case types_1.ModuleType.ROUTING:
189
+ return moduleCanCertainlyVerify(destModule.domains[destination], multiProvider, origin, destination);
190
+ case types_1.ModuleType.AGGREGATION: {
191
+ let verified = 0;
192
+ for (const subModule of destModule.modules) {
193
+ const canVerify = await moduleCanCertainlyVerify(subModule, multiProvider, origin, destination);
194
+ if (canVerify) {
195
+ verified += 1;
196
+ }
210
197
  }
211
- const originDomain = multiProvider.getDomainId(origin);
212
- const validators = yield multisigIsm.validators(originDomain);
213
- const threshold = yield multisigIsm.threshold(originDomain);
214
- matches =
215
- JSON.stringify(config.validators.map((s) => s.toLowerCase()).sort()) ===
216
- JSON.stringify(validators.map((s) => s.toLowerCase()).sort()) &&
217
- config.threshold === threshold;
218
- break;
198
+ return verified >= destModule.threshold;
219
199
  }
220
- case types_1.ModuleType.ROUTING: {
221
- // A RoutingIsm matches if:
222
- // 1. The set of domains in the config equals those on-chain
223
- // 2. The modules for each domain match the config
224
- // TODO: Check (1)
225
- const routingIsm = core_1.DomainRoutingIsm__factory.connect(moduleAddress, provider);
226
- // Check that the RoutingISM owner matches the config
227
- const owner = yield routingIsm.owner();
228
- matches = matches && utils_1.utils.eqAddress(owner, config.owner);
229
- // Recursively check that the submodule for each configured
230
- // domain matches the submodule config.
231
- for (const [origin, subConfig] of Object.entries(config.domains)) {
232
- const subModule = yield routingIsm.modules(multiProvider.getDomainId(origin));
233
- const subModuleMatches = yield moduleMatchesConfig(chain, subModule, subConfig, multiProvider, contracts, origin);
234
- matches = matches && subModuleMatches;
235
- }
236
- break;
200
+ }
201
+ }
202
+ }
203
+ exports.moduleCanCertainlyVerify = moduleCanCertainlyVerify;
204
+ async function moduleMatchesConfig(chain, moduleAddress, config, multiProvider, contracts, origin) {
205
+ const provider = multiProvider.getProvider(chain);
206
+ const module = core_1.IInterchainSecurityModule__factory.connect(moduleAddress, provider);
207
+ const actualType = await module.moduleType();
208
+ if (actualType !== config.type)
209
+ return false;
210
+ let matches = true;
211
+ switch (config.type) {
212
+ case types_1.ModuleType.MERKLE_ROOT_MULTISIG: {
213
+ // A MerkleRootMultisigIsm matches if validators and threshold match the config
214
+ const expectedAddress = await contracts.merkleRootMultisigIsmFactory.getAddress(config.validators.sort(), config.threshold);
215
+ matches = utils_1.utils.eqAddress(expectedAddress, module.address);
216
+ break;
217
+ }
218
+ case types_1.ModuleType.MESSAGE_ID_MULTISIG: {
219
+ // A MessageIdMultisigIsm matches if validators and threshold match the config
220
+ const expectedAddress = await contracts.messageIdMultisigIsmFactory.getAddress(config.validators.sort(), config.threshold);
221
+ matches = utils_1.utils.eqAddress(expectedAddress, module.address);
222
+ break;
223
+ }
224
+ case types_1.ModuleType.LEGACY_MULTISIG: {
225
+ const multisigIsm = core_1.LegacyMultisigIsm__factory.connect(moduleAddress, provider);
226
+ if (!origin) {
227
+ throw new Error("Can't check legacy multisig without origin");
237
228
  }
238
- case types_1.ModuleType.AGGREGATION: {
239
- // An AggregationIsm matches if:
240
- // 1. The threshold matches the config
241
- // 2. There is a bijection between on and off-chain configured modules
242
- const aggregationIsm = core_1.StaticAggregationIsm__factory.connect(moduleAddress, provider);
243
- const [subModules, threshold] = yield aggregationIsm.modulesAndThreshold('0x');
244
- matches = matches && threshold === config.threshold;
245
- matches = matches && subModules.length === config.modules.length;
246
- const configIndexMatched = new Map();
247
- for (const subModule of subModules) {
248
- const subModuleMatchesConfig = yield Promise.all(config.modules.map((c) => moduleMatchesConfig(chain, subModule, c, multiProvider, contracts)));
249
- // The submodule returned by the ISM must match exactly one
250
- // entry in the config.
251
- const count = subModuleMatchesConfig.filter(Boolean).length;
252
- matches = matches && count === 1;
253
- // That entry in the config should not have been matched already.
254
- subModuleMatchesConfig.forEach((matched, index) => {
255
- if (matched) {
256
- matches = matches && !configIndexMatched.has(index);
257
- configIndexMatched.set(index, true);
258
- }
259
- });
260
- }
261
- break;
229
+ const originDomain = multiProvider.getDomainId(origin);
230
+ const validators = await multisigIsm.validators(originDomain);
231
+ const threshold = await multisigIsm.threshold(originDomain);
232
+ matches =
233
+ JSON.stringify(config.validators.map((s) => s.toLowerCase()).sort()) ===
234
+ JSON.stringify(validators.map((s) => s.toLowerCase()).sort()) &&
235
+ config.threshold === threshold;
236
+ break;
237
+ }
238
+ case types_1.ModuleType.ROUTING: {
239
+ // A RoutingIsm matches if:
240
+ // 1. The set of domains in the config equals those on-chain
241
+ // 2. The modules for each domain match the config
242
+ // TODO: Check (1)
243
+ const routingIsm = core_1.DomainRoutingIsm__factory.connect(moduleAddress, provider);
244
+ // Check that the RoutingISM owner matches the config
245
+ const owner = await routingIsm.owner();
246
+ matches = matches && utils_1.utils.eqAddress(owner, config.owner);
247
+ // Recursively check that the submodule for each configured
248
+ // domain matches the submodule config.
249
+ for (const [origin, subConfig] of Object.entries(config.domains)) {
250
+ const subModule = await routingIsm.modules(multiProvider.getDomainId(origin));
251
+ const subModuleMatches = await moduleMatchesConfig(chain, subModule, subConfig, multiProvider, contracts, origin);
252
+ matches = matches && subModuleMatches;
262
253
  }
263
- default: {
264
- throw new Error('Unsupported ModuleType');
254
+ break;
255
+ }
256
+ case types_1.ModuleType.AGGREGATION: {
257
+ // An AggregationIsm matches if:
258
+ // 1. The threshold matches the config
259
+ // 2. There is a bijection between on and off-chain configured modules
260
+ const aggregationIsm = core_1.StaticAggregationIsm__factory.connect(moduleAddress, provider);
261
+ const [subModules, threshold] = await aggregationIsm.modulesAndThreshold('0x');
262
+ matches = matches && threshold === config.threshold;
263
+ matches = matches && subModules.length === config.modules.length;
264
+ const configIndexMatched = new Map();
265
+ for (const subModule of subModules) {
266
+ const subModuleMatchesConfig = await Promise.all(config.modules.map((c) => moduleMatchesConfig(chain, subModule, c, multiProvider, contracts)));
267
+ // The submodule returned by the ISM must match exactly one
268
+ // entry in the config.
269
+ const count = subModuleMatchesConfig.filter(Boolean).length;
270
+ matches = matches && count === 1;
271
+ // That entry in the config should not have been matched already.
272
+ subModuleMatchesConfig.forEach((matched, index) => {
273
+ if (matched) {
274
+ matches = matches && !configIndexMatched.has(index);
275
+ configIndexMatched.set(index, true);
276
+ }
277
+ });
265
278
  }
279
+ break;
280
+ }
281
+ default: {
282
+ throw new Error('Unsupported ModuleType');
266
283
  }
267
- return matches;
268
- });
284
+ }
285
+ return matches;
269
286
  }
270
287
  exports.moduleMatchesConfig = moduleMatchesConfig;
271
288
  function collectValidators(origin, config) {
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneIsmFactory.js","sourceRoot":"","sources":["../../src/ism/HyperlaneIsmFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HyperlaneIsmFactory.js","sourceRoot":"","sources":["../../src/ism/HyperlaneIsmFactory.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,4 @@
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
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
@@ -23,32 +14,25 @@ class HyperlaneIsmFactoryDeployer extends HyperlaneDeployer_1.HyperlaneDeployer
23
14
  logger: (0, debug_1.default)('hyperlane:IsmFactoryDeployer'),
24
15
  });
25
16
  }
26
- deploy(config) {
27
- const _super = Object.create(null, {
28
- deploy: { get: () => super.deploy }
29
- });
30
- return __awaiter(this, void 0, void 0, function* () {
31
- if ((0, objects_1.isObject)(config)) {
32
- return _super.deploy.call(this, config);
33
- }
34
- else {
35
- return _super.deploy.call(this, Object.fromEntries(config.map((c) => [c, true])));
36
- }
37
- });
17
+ async deploy(config) {
18
+ if ((0, objects_1.isObject)(config)) {
19
+ return super.deploy(config);
20
+ }
21
+ else {
22
+ return super.deploy(Object.fromEntries(config.map((c) => [c, true])));
23
+ }
38
24
  }
39
- deployContracts(chain) {
40
- return __awaiter(this, void 0, void 0, function* () {
41
- const merkleRootMultisigIsmFactory = yield this.deployContract(chain, 'merkleRootMultisigIsmFactory', []);
42
- const messageIdMultisigIsmFactory = yield this.deployContract(chain, 'messageIdMultisigIsmFactory', []);
43
- const aggregationIsmFactory = yield this.deployContract(chain, 'aggregationIsmFactory', []);
44
- const routingIsmFactory = yield this.deployContract(chain, 'routingIsmFactory', []);
45
- return {
46
- merkleRootMultisigIsmFactory,
47
- messageIdMultisigIsmFactory,
48
- aggregationIsmFactory,
49
- routingIsmFactory,
50
- };
51
- });
25
+ async deployContracts(chain) {
26
+ const merkleRootMultisigIsmFactory = await this.deployContract(chain, 'merkleRootMultisigIsmFactory', []);
27
+ const messageIdMultisigIsmFactory = await this.deployContract(chain, 'messageIdMultisigIsmFactory', []);
28
+ const aggregationIsmFactory = await this.deployContract(chain, 'aggregationIsmFactory', []);
29
+ const routingIsmFactory = await this.deployContract(chain, 'routingIsmFactory', []);
30
+ return {
31
+ merkleRootMultisigIsmFactory,
32
+ messageIdMultisigIsmFactory,
33
+ aggregationIsmFactory,
34
+ routingIsmFactory,
35
+ };
52
36
  }
53
37
  }
54
38
  exports.HyperlaneIsmFactoryDeployer = HyperlaneIsmFactoryDeployer;
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneIsmFactoryDeployer.js","sourceRoot":"","sources":["../../src/ism/HyperlaneIsmFactoryDeployer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA0B;AAG1B,mEAAgE;AAGhE,8CAA4C;AAE5C,2CAAuE;AAEvE,MAAa,2BAA4B,SAAQ,qCAGhD;IACC,YAAY,aAA4B;QACtC,KAAK,CAAC,aAAa,EAAE,+BAAmB,EAAE;YACxC,MAAM,EAAE,IAAA,eAAK,EAAC,8BAA8B,CAAC;SAC9C,CAAC,CAAC;IACL,CAAC;IAEK,MAAM,CACV,MAAuC;;;;;YAEvC,IAAI,IAAA,kBAAQ,EAAC,MAAM,CAAC,EAAE;gBACpB,OAAO,OAAM,MAAM,YAAC,MAA2B,EAAE;aAClD;iBAAM;gBACL,OAAO,OAAM,MAAM,YACjB,MAAM,CAAC,WAAW,CAAE,MAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EACjE;aACH;QACH,CAAC;KAAA;IAEK,eAAe,CACnB,KAAgB;;YAEhB,MAAM,4BAA4B,GAAG,MAAM,IAAI,CAAC,cAAc,CAC5D,KAAK,EACL,8BAA8B,EAC9B,EAAE,CACH,CAAC;YACF,MAAM,2BAA2B,GAAG,MAAM,IAAI,CAAC,cAAc,CAC3D,KAAK,EACL,6BAA6B,EAC7B,EAAE,CACH,CAAC;YACF,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,cAAc,CACrD,KAAK,EACL,uBAAuB,EACvB,EAAE,CACH,CAAC;YACF,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,cAAc,CACjD,KAAK,EACL,mBAAmB,EACnB,EAAE,CACH,CAAC;YACF,OAAO;gBACL,4BAA4B;gBAC5B,2BAA2B;gBAC3B,qBAAqB;gBACrB,iBAAiB;aAClB,CAAC;QACJ,CAAC;KAAA;CACF;AApDD,kEAoDC"}
1
+ {"version":3,"file":"HyperlaneIsmFactoryDeployer.js","sourceRoot":"","sources":["../../src/ism/HyperlaneIsmFactoryDeployer.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAG1B,mEAAgE;AAGhE,8CAA4C;AAE5C,2CAAuE;AAEvE,MAAa,2BAA4B,SAAQ,qCAGhD;IACC,YAAY,aAA4B;QACtC,KAAK,CAAC,aAAa,EAAE,+BAAmB,EAAE;YACxC,MAAM,EAAE,IAAA,eAAK,EAAC,8BAA8B,CAAC;SAC9C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CACV,MAAuC;QAEvC,IAAI,IAAA,kBAAQ,EAAC,MAAM,CAAC,EAAE;YACpB,OAAO,KAAK,CAAC,MAAM,CAAC,MAA2B,CAAC,CAAC;SAClD;aAAM;YACL,OAAO,KAAK,CAAC,MAAM,CACjB,MAAM,CAAC,WAAW,CAAE,MAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAClE,CAAC;SACH;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,KAAgB;QAEhB,MAAM,4BAA4B,GAAG,MAAM,IAAI,CAAC,cAAc,CAC5D,KAAK,EACL,8BAA8B,EAC9B,EAAE,CACH,CAAC;QACF,MAAM,2BAA2B,GAAG,MAAM,IAAI,CAAC,cAAc,CAC3D,KAAK,EACL,6BAA6B,EAC7B,EAAE,CACH,CAAC;QACF,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,cAAc,CACrD,KAAK,EACL,uBAAuB,EACvB,EAAE,CACH,CAAC;QACF,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,cAAc,CACjD,KAAK,EACL,mBAAmB,EACnB,EAAE,CACH,CAAC;QACF,OAAO;YACL,4BAA4B;YAC5B,2BAA2B;YAC3B,qBAAqB;YACrB,iBAAiB;SAClB,CAAC;IACJ,CAAC;CACF;AApDD,kEAoDC"}
@@ -5,5 +5,5 @@ export declare const ismFactoryFactories: {
5
5
  aggregationIsmFactory: StaticAggregationIsmFactory__factory;
6
6
  routingIsmFactory: DomainRoutingIsmFactory__factory;
7
7
  };
8
- export declare type IsmFactoryFactories = typeof ismFactoryFactories;
8
+ export type IsmFactoryFactories = typeof ismFactoryFactories;
9
9
  //# sourceMappingURL=contracts.d.ts.map