@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,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.collectValidators = exports.moduleMatchesConfig = exports.moduleCanCertainlyVerify = exports.HyperlaneIsmFactory = void 0;
4
13
  const debug_1 = require("debug");
@@ -10,7 +19,6 @@ const environments_1 = require("../consts/environments");
10
19
  const contracts_1 = require("../contracts");
11
20
  const contracts_2 = require("./contracts");
12
21
  const types_1 = require("./types");
13
- // TODO this should handle cached addresses like the other deployers
14
22
  class HyperlaneIsmFactory extends HyperlaneApp_1.HyperlaneApp {
15
23
  static fromEnvironment(env, multiProvider) {
16
24
  const envAddresses = environments_1.hyperlaneEnvironments[env];
@@ -23,113 +31,123 @@ class HyperlaneIsmFactory extends HyperlaneApp_1.HyperlaneApp {
23
31
  const helper = (0, contracts_1.appFromAddressesMapHelper)(addressesMap, contracts_2.ismFactoryFactories, multiProvider);
24
32
  return new HyperlaneIsmFactory(helper.contractsMap, helper.multiProvider, (0, debug_1.debug)('hyperlane:IsmFactoryApp'));
25
33
  }
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;
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
+ switch (config.type) {
40
+ case types_1.ModuleType.LEGACY_MULTISIG:
41
+ this.logger(`Deploying Legacy Multisig ISM to ${chain} for verifying ${origin}`);
42
+ break;
43
+ case types_1.ModuleType.MERKLE_ROOT_MULTISIG:
44
+ this.logger(`Deploying Merkle Root Multisig ISM to ${chain} for verifying ${origin}`);
45
+ break;
46
+ case types_1.ModuleType.MESSAGE_ID_MULTISIG:
47
+ this.logger(`Deploying Message ID Multisig ISM to ${chain} for verifying ${origin}`);
48
+ break;
49
+ }
50
+ return this.deployMultisigIsm(chain, config, origin);
40
51
  }
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
- }
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);
76
- }
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);
52
+ else if (config.type === types_1.ModuleType.ROUTING) {
53
+ this.logger(`Deploying Routing ISM to ${chain} for verifying ${Object.keys(config.domains)}`);
54
+ return this.deployRoutingIsm(chain, config);
95
55
  }
96
- catch (e) {
97
- return undefined;
56
+ else if (config.type === types_1.ModuleType.AGGREGATION) {
57
+ this.logger(`Deploying Aggregation ISM to ${chain}`);
58
+ return this.deployAggregationIsm(chain, config);
59
+ }
60
+ else {
61
+ throw new Error(`Unsupported ISM type`);
98
62
  }
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);
63
+ });
107
64
  }
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);
65
+ deployMultisigIsm(chain, config, origin) {
66
+ return __awaiter(this, void 0, void 0, function* () {
67
+ const signer = this.multiProvider.getSigner(chain);
68
+ let address;
69
+ if (config.type === types_1.ModuleType.LEGACY_MULTISIG) {
70
+ const multisig = yield new core_1.LegacyMultisigIsm__factory()
71
+ .connect(signer)
72
+ .deploy();
73
+ yield this.multiProvider.handleTx(chain, multisig.deployTransaction);
74
+ const originDomain = this.multiProvider.getDomainId(origin);
75
+ this.logger(`Enrolling validators for ${originDomain}`);
76
+ yield this.multiProvider.handleTx(chain, multisig.enrollValidators([originDomain], [config.validators]));
77
+ yield this.multiProvider.handleTx(chain, multisig.setThreshold(originDomain, config.threshold));
78
+ address = multisig.address;
79
+ }
80
+ else {
81
+ const multisigIsmFactory = config.type === types_1.ModuleType.MERKLE_ROOT_MULTISIG
82
+ ? this.getContracts(chain).merkleRootMultisigIsmFactory
83
+ : this.getContracts(chain).messageIdMultisigIsmFactory;
84
+ address = yield this.deployMOfNFactory(chain, multisigIsmFactory, config.validators, config.threshold);
85
+ }
86
+ return core_1.IMultisigIsm__factory.connect(address, signer);
87
+ });
117
88
  }
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}`);
89
+ deployRoutingIsm(chain, config) {
90
+ return __awaiter(this, void 0, void 0, function* () {
91
+ const signer = this.multiProvider.getSigner(chain);
92
+ const routingIsmFactory = this.getContracts(chain).routingIsmFactory;
93
+ const isms = {};
94
+ for (const origin of Object.keys(config.domains)) {
95
+ const ism = yield this.deploy(chain, config.domains[origin], origin);
96
+ isms[origin] = ism.address;
97
+ }
98
+ const domains = Object.keys(isms).map((chain) => this.multiProvider.getDomainId(chain));
99
+ const submoduleAddresses = Object.values(isms);
125
100
  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;
101
+ const tx = yield routingIsmFactory.deploy(domains, submoduleAddresses, overrides);
102
+ const receipt = yield this.multiProvider.handleTx(chain, tx);
103
+ // TODO: Break this out into a generalized function
104
+ const dispatchLogs = receipt.logs
105
+ .map((log) => {
106
+ try {
107
+ return routingIsmFactory.interface.parseLog(log);
108
+ }
109
+ catch (e) {
110
+ return undefined;
111
+ }
112
+ })
113
+ .filter((log) => !!log && log.name === 'ModuleDeployed');
114
+ const moduleAddress = dispatchLogs[0].args['module'];
115
+ const routingIsm = core_1.DomainRoutingIsm__factory.connect(moduleAddress, this.multiProvider.getSigner(chain));
116
+ this.logger(`Transferring ownership of routing ISM to ${config.owner}`);
117
+ yield this.multiProvider.handleTx(chain, yield routingIsm.transferOwnership(config.owner, overrides));
118
+ const address = dispatchLogs[0].args['module'];
119
+ return core_1.IRoutingIsm__factory.connect(address, signer);
120
+ });
121
+ }
122
+ deployAggregationIsm(chain, config) {
123
+ return __awaiter(this, void 0, void 0, function* () {
124
+ const signer = this.multiProvider.getSigner(chain);
125
+ const aggregationIsmFactory = this.getContracts(chain).aggregationIsmFactory;
126
+ const addresses = [];
127
+ for (const module of config.modules) {
128
+ addresses.push((yield this.deploy(chain, module)).address);
129
+ }
130
+ const address = yield this.deployMOfNFactory(chain, aggregationIsmFactory, addresses, config.threshold);
131
+ return core_1.IAggregationIsm__factory.connect(address, signer);
132
+ });
133
+ }
134
+ deployMOfNFactory(chain, factory, values, threshold) {
135
+ return __awaiter(this, void 0, void 0, function* () {
136
+ const sorted = [...values].sort();
137
+ const address = yield factory.getAddress(sorted, threshold);
138
+ const provider = this.multiProvider.getProvider(chain);
139
+ const code = yield provider.getCode(address);
140
+ if (code === '0x') {
141
+ this.logger(`Deploying new ${threshold} of ${values.length} address set to ${chain}`);
142
+ const overrides = this.multiProvider.getTransactionOverrides(chain);
143
+ const hash = yield factory.deploy(sorted, threshold, overrides);
144
+ yield this.multiProvider.handleTx(chain, hash);
145
+ }
146
+ else {
147
+ this.logger(`Recovered ${threshold} of ${values.length} address set on ${chain}`);
148
+ }
149
+ return address;
150
+ });
133
151
  }
134
152
  }
135
153
  exports.HyperlaneIsmFactory = HyperlaneIsmFactory;
@@ -138,151 +156,155 @@ exports.HyperlaneIsmFactory = HyperlaneIsmFactory;
138
156
  // This can happen if, for example, the module has sender, recipient, or
139
157
  // body specific logic, as the sample message used when querying the ISM
140
158
  // sets all of these to zero.
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);
146
- try {
147
- const moduleType = await module.moduleType();
148
- if (moduleType === types_1.ModuleType.MERKLE_ROOT_MULTISIG ||
149
- moduleType === types_1.ModuleType.LEGACY_MULTISIG ||
150
- moduleType === types_1.ModuleType.MESSAGE_ID_MULTISIG) {
151
- const multisigModule = core_1.IMultisigIsm__factory.connect(destModule, provider);
152
- const [, threshold] = await multisigModule.validatorsAndThreshold(message);
153
- return threshold > 0;
154
- }
155
- else if (moduleType === types_1.ModuleType.ROUTING) {
156
- const routingIsm = core_1.IRoutingIsm__factory.connect(destModule, provider);
157
- const subModule = await routingIsm.route(message);
158
- return moduleCanCertainlyVerify(subModule, multiProvider, origin, destination);
159
- }
160
- else if (moduleType === types_1.ModuleType.AGGREGATION) {
161
- const aggregationIsm = core_1.IAggregationIsm__factory.connect(destModule, provider);
162
- const [subModules, threshold] = await aggregationIsm.modulesAndThreshold(message);
163
- let verified = 0;
164
- for (const subModule of subModules) {
165
- const canVerify = await moduleCanCertainlyVerify(subModule, multiProvider, origin, destination);
166
- if (canVerify) {
167
- verified += 1;
159
+ function moduleCanCertainlyVerify(destModule, multiProvider, origin, destination) {
160
+ return __awaiter(this, void 0, void 0, function* () {
161
+ const message = (0, utils_1.formatMessage)(0, 0, multiProvider.getDomainId(origin), ethers_1.ethers.constants.AddressZero, multiProvider.getDomainId(destination), ethers_1.ethers.constants.AddressZero, '0x');
162
+ const provider = multiProvider.getSignerOrProvider(destination);
163
+ if (typeof destModule === 'string') {
164
+ const module = core_1.IInterchainSecurityModule__factory.connect(destModule, provider);
165
+ try {
166
+ const moduleType = yield module.moduleType();
167
+ if (moduleType === types_1.ModuleType.MERKLE_ROOT_MULTISIG ||
168
+ moduleType === types_1.ModuleType.LEGACY_MULTISIG ||
169
+ moduleType === types_1.ModuleType.MESSAGE_ID_MULTISIG) {
170
+ const multisigModule = core_1.IMultisigIsm__factory.connect(destModule, provider);
171
+ const [, threshold] = yield multisigModule.validatorsAndThreshold(message);
172
+ return threshold > 0;
173
+ }
174
+ else if (moduleType === types_1.ModuleType.ROUTING) {
175
+ const routingIsm = core_1.IRoutingIsm__factory.connect(destModule, provider);
176
+ const subModule = yield routingIsm.route(message);
177
+ return moduleCanCertainlyVerify(subModule, multiProvider, origin, destination);
178
+ }
179
+ else if (moduleType === types_1.ModuleType.AGGREGATION) {
180
+ const aggregationIsm = core_1.IAggregationIsm__factory.connect(destModule, provider);
181
+ const [subModules, threshold] = yield aggregationIsm.modulesAndThreshold(message);
182
+ let verified = 0;
183
+ for (const subModule of subModules) {
184
+ const canVerify = yield moduleCanCertainlyVerify(subModule, multiProvider, origin, destination);
185
+ if (canVerify) {
186
+ verified += 1;
187
+ }
168
188
  }
189
+ return verified >= threshold;
190
+ }
191
+ else {
192
+ throw new Error(`Unsupported module type: ${moduleType}`);
169
193
  }
170
- return verified >= threshold;
171
194
  }
172
- else {
173
- throw new Error(`Unsupported module type: ${moduleType}`);
195
+ catch (e) {
196
+ (0, utils_1.warn)(`Error checking module ${destModule}: ${e}`);
197
+ return false;
174
198
  }
175
199
  }
176
- catch (e) {
177
- utils_1.logging.warn(`Error checking module ${destModule}: ${e}`);
178
- return false;
179
- }
180
- }
181
- else {
182
- // destModule is an IsmConfig
183
- switch (destModule.type) {
184
- case types_1.ModuleType.MERKLE_ROOT_MULTISIG:
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;
200
+ else {
201
+ // destModule is an IsmConfig
202
+ switch (destModule.type) {
203
+ case types_1.ModuleType.MERKLE_ROOT_MULTISIG:
204
+ case types_1.ModuleType.MESSAGE_ID_MULTISIG:
205
+ case types_1.ModuleType.LEGACY_MULTISIG:
206
+ return destModule.threshold > 0;
207
+ case types_1.ModuleType.ROUTING:
208
+ return moduleCanCertainlyVerify(destModule.domains[destination], multiProvider, origin, destination);
209
+ case types_1.ModuleType.AGGREGATION: {
210
+ let verified = 0;
211
+ for (const subModule of destModule.modules) {
212
+ const canVerify = yield moduleCanCertainlyVerify(subModule, multiProvider, origin, destination);
213
+ if (canVerify) {
214
+ verified += 1;
215
+ }
196
216
  }
217
+ return verified >= destModule.threshold;
197
218
  }
198
- return verified >= destModule.threshold;
199
219
  }
200
220
  }
201
- }
221
+ });
202
222
  }
203
223
  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");
224
+ function moduleMatchesConfig(chain, moduleAddress, config, multiProvider, contracts, origin) {
225
+ return __awaiter(this, void 0, void 0, function* () {
226
+ const provider = multiProvider.getProvider(chain);
227
+ const module = core_1.IInterchainSecurityModule__factory.connect(moduleAddress, provider);
228
+ const actualType = yield module.moduleType();
229
+ if (actualType !== config.type)
230
+ return false;
231
+ let matches = true;
232
+ switch (config.type) {
233
+ case types_1.ModuleType.MERKLE_ROOT_MULTISIG: {
234
+ // A MerkleRootMultisigIsm matches if validators and threshold match the config
235
+ const expectedAddress = yield contracts.merkleRootMultisigIsmFactory.getAddress(config.validators.sort(), config.threshold);
236
+ matches = (0, utils_1.eqAddress)(expectedAddress, module.address);
237
+ break;
228
238
  }
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;
239
+ case types_1.ModuleType.MESSAGE_ID_MULTISIG: {
240
+ // A MessageIdMultisigIsm matches if validators and threshold match the config
241
+ const expectedAddress = yield contracts.messageIdMultisigIsmFactory.getAddress(config.validators.sort(), config.threshold);
242
+ matches = (0, utils_1.eqAddress)(expectedAddress, module.address);
243
+ break;
253
244
  }
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
- });
245
+ case types_1.ModuleType.LEGACY_MULTISIG: {
246
+ const multisigIsm = core_1.LegacyMultisigIsm__factory.connect(moduleAddress, provider);
247
+ if (!origin) {
248
+ throw new Error("Can't check legacy multisig without origin");
249
+ }
250
+ const originDomain = multiProvider.getDomainId(origin);
251
+ const validators = yield multisigIsm.validators(originDomain);
252
+ const threshold = yield multisigIsm.threshold(originDomain);
253
+ matches =
254
+ JSON.stringify(config.validators.map((s) => s.toLowerCase()).sort()) ===
255
+ JSON.stringify(validators.map((s) => s.toLowerCase()).sort()) &&
256
+ config.threshold === threshold;
257
+ break;
258
+ }
259
+ case types_1.ModuleType.ROUTING: {
260
+ // A RoutingIsm matches if:
261
+ // 1. The set of domains in the config equals those on-chain
262
+ // 2. The modules for each domain match the config
263
+ // TODO: Check (1)
264
+ const routingIsm = core_1.DomainRoutingIsm__factory.connect(moduleAddress, provider);
265
+ // Check that the RoutingISM owner matches the config
266
+ const owner = yield routingIsm.owner();
267
+ matches = matches && (0, utils_1.eqAddress)(owner, config.owner);
268
+ // Recursively check that the submodule for each configured
269
+ // domain matches the submodule config.
270
+ for (const [origin, subConfig] of Object.entries(config.domains)) {
271
+ const subModule = yield routingIsm.modules(multiProvider.getDomainId(origin));
272
+ const subModuleMatches = yield moduleMatchesConfig(chain, subModule, subConfig, multiProvider, contracts, origin);
273
+ matches = matches && subModuleMatches;
274
+ }
275
+ break;
276
+ }
277
+ case types_1.ModuleType.AGGREGATION: {
278
+ // An AggregationIsm matches if:
279
+ // 1. The threshold matches the config
280
+ // 2. There is a bijection between on and off-chain configured modules
281
+ const aggregationIsm = core_1.StaticAggregationIsm__factory.connect(moduleAddress, provider);
282
+ const [subModules, threshold] = yield aggregationIsm.modulesAndThreshold('0x');
283
+ matches = matches && threshold === config.threshold;
284
+ matches = matches && subModules.length === config.modules.length;
285
+ const configIndexMatched = new Map();
286
+ for (const subModule of subModules) {
287
+ const subModuleMatchesConfig = yield Promise.all(config.modules.map((c) => moduleMatchesConfig(chain, subModule, c, multiProvider, contracts)));
288
+ // The submodule returned by the ISM must match exactly one
289
+ // entry in the config.
290
+ const count = subModuleMatchesConfig.filter(Boolean).length;
291
+ matches = matches && count === 1;
292
+ // That entry in the config should not have been matched already.
293
+ subModuleMatchesConfig.forEach((matched, index) => {
294
+ if (matched) {
295
+ matches = matches && !configIndexMatched.has(index);
296
+ configIndexMatched.set(index, true);
297
+ }
298
+ });
299
+ }
300
+ break;
301
+ }
302
+ default: {
303
+ throw new Error('Unsupported ModuleType');
278
304
  }
279
- break;
280
- }
281
- default: {
282
- throw new Error('Unsupported ModuleType');
283
305
  }
284
- }
285
- return matches;
306
+ return matches;
307
+ });
286
308
  }
287
309
  exports.moduleMatchesConfig = moduleMatchesConfig;
288
310
  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 +1 @@
1
- {"version":3,"file":"HyperlaneIsmFactoryDeployer.d.ts","sourceRoot":"","sources":["../../src/ism/HyperlaneIsmFactoryDeployer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG/C,OAAO,EAAE,mBAAmB,EAAuB,MAAM,aAAa,CAAC;AAEvE,qBAAa,2BAA4B,SAAQ,iBAAiB,CAChE,OAAO,EACP,mBAAmB,CACpB;gBACa,aAAa,EAAE,aAAa;IAMlC,MAAM,CACV,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,GACtC,OAAO,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;IAUhD,eAAe,CACnB,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;CA4BpD"}
1
+ {"version":3,"file":"HyperlaneIsmFactoryDeployer.d.ts","sourceRoot":"","sources":["../../src/ism/HyperlaneIsmFactoryDeployer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,mBAAmB,EAAuB,MAAM,aAAa,CAAC;AAEvE,qBAAa,2BAA4B,SAAQ,iBAAiB,CAChE,OAAO,EACP,mBAAmB,CACpB;gBACa,aAAa,EAAE,aAAa;IAMlC,MAAM,CACV,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,GACtC,OAAO,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;IAUhD,eAAe,CACnB,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;CA4BpD"}