@hyperlane-xyz/sdk 41.1.0 → 41.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/dist/block-explorer/etherscan.d.ts +16 -0
  2. package/dist/block-explorer/etherscan.d.ts.map +1 -1
  3. package/dist/block-explorer/etherscan.js +42 -30
  4. package/dist/block-explorer/etherscan.js.map +1 -1
  5. package/dist/ccip/consts.d.ts.map +1 -1
  6. package/dist/ccip/consts.js +0 -80
  7. package/dist/ccip/consts.js.map +1 -1
  8. package/dist/consts/multisigIsm.d.ts.map +1 -1
  9. package/dist/consts/multisigIsm.js +0 -118
  10. package/dist/consts/multisigIsm.js.map +1 -1
  11. package/dist/core/types.d.ts +136 -0
  12. package/dist/core/types.d.ts.map +1 -1
  13. package/dist/deploy/proxy.d.ts +41 -4
  14. package/dist/deploy/proxy.d.ts.map +1 -1
  15. package/dist/deploy/proxy.js +38 -8
  16. package/dist/deploy/proxy.js.map +1 -1
  17. package/dist/deploy/warp.d.ts.map +1 -1
  18. package/dist/deploy/warp.js +29 -3
  19. package/dist/deploy/warp.js.map +1 -1
  20. package/dist/ica/types.d.ts +80 -0
  21. package/dist/ica/types.d.ts.map +1 -1
  22. package/dist/ism/EvmIsmModule.d.ts +2 -0
  23. package/dist/ism/EvmIsmModule.d.ts.map +1 -1
  24. package/dist/ism/EvmIsmModule.hardhat-test.js +162 -9
  25. package/dist/ism/EvmIsmModule.hardhat-test.js.map +1 -1
  26. package/dist/ism/EvmIsmModule.js +35 -8
  27. package/dist/ism/EvmIsmModule.js.map +1 -1
  28. package/dist/ism/EvmIsmModule.test.d.ts +2 -0
  29. package/dist/ism/EvmIsmModule.test.d.ts.map +1 -0
  30. package/dist/ism/EvmIsmModule.test.js +200 -0
  31. package/dist/ism/EvmIsmModule.test.js.map +1 -0
  32. package/dist/ism/EvmIsmReader.d.ts +12 -0
  33. package/dist/ism/EvmIsmReader.d.ts.map +1 -1
  34. package/dist/ism/EvmIsmReader.js +29 -12
  35. package/dist/ism/EvmIsmReader.js.map +1 -1
  36. package/dist/ism/EvmIsmReader.test.js +227 -8
  37. package/dist/ism/EvmIsmReader.test.js.map +1 -1
  38. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  39. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +166 -2
  40. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
  41. package/dist/ism/HyperlaneIsmFactory.js +3 -2
  42. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  43. package/dist/ism/blacklist.d.ts +62 -0
  44. package/dist/ism/blacklist.d.ts.map +1 -0
  45. package/dist/ism/blacklist.js +98 -0
  46. package/dist/ism/blacklist.js.map +1 -0
  47. package/dist/ism/types.test.js +20 -1
  48. package/dist/ism/types.test.js.map +1 -1
  49. package/dist/ism/utils.d.ts.map +1 -1
  50. package/dist/ism/utils.js +26 -8
  51. package/dist/ism/utils.js.map +1 -1
  52. package/dist/metadata/ChainMetadataManager.d.ts +6 -0
  53. package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
  54. package/dist/metadata/ChainMetadataManager.js +21 -16
  55. package/dist/metadata/ChainMetadataManager.js.map +1 -1
  56. package/dist/metadata/ChainMetadataManager.test.js +30 -0
  57. package/dist/metadata/ChainMetadataManager.test.js.map +1 -1
  58. package/dist/metadata/warpRouteConfig.d.ts +10 -8
  59. package/dist/metadata/warpRouteConfig.d.ts.map +1 -1
  60. package/dist/middleware/account/InterchainAccount.d.ts.map +1 -1
  61. package/dist/middleware/account/InterchainAccount.js +38 -10
  62. package/dist/middleware/account/InterchainAccount.js.map +1 -1
  63. package/dist/middleware/account/InterchainAccount.test.js +182 -2
  64. package/dist/middleware/account/InterchainAccount.test.js.map +1 -1
  65. package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.d.ts.map +1 -1
  66. package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.js +21 -6
  67. package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.js.map +1 -1
  68. package/dist/providers/SmartProvider/SmartProvider.d.ts +4 -0
  69. package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -1
  70. package/dist/providers/SmartProvider/SmartProvider.js +1 -1
  71. package/dist/providers/SmartProvider/SmartProvider.js.map +1 -1
  72. package/dist/providers/SmartProvider/SmartProvider.test.js +82 -0
  73. package/dist/providers/SmartProvider/SmartProvider.test.js.map +1 -1
  74. package/dist/providers/transactionFeeEstimators.d.ts.map +1 -1
  75. package/dist/providers/transactionFeeEstimators.js +16 -10
  76. package/dist/providers/transactionFeeEstimators.js.map +1 -1
  77. package/dist/providers/transactionFeeEstimators.test.js +66 -1
  78. package/dist/providers/transactionFeeEstimators.test.js.map +1 -1
  79. package/dist/router/ProxiedRouterDeployer.d.ts.map +1 -1
  80. package/dist/router/ProxiedRouterDeployer.js +9 -0
  81. package/dist/router/ProxiedRouterDeployer.js.map +1 -1
  82. package/dist/router/types.d.ts +80 -0
  83. package/dist/router/types.d.ts.map +1 -1
  84. package/dist/router/types.js +4 -1
  85. package/dist/router/types.js.map +1 -1
  86. package/dist/router/types.test.js +76 -0
  87. package/dist/router/types.test.js.map +1 -1
  88. package/dist/rpc/evm/EvmEventLogsReader.d.ts +14 -0
  89. package/dist/rpc/evm/EvmEventLogsReader.d.ts.map +1 -1
  90. package/dist/rpc/evm/EvmEventLogsReader.hardhat-test.js +209 -3
  91. package/dist/rpc/evm/EvmEventLogsReader.hardhat-test.js.map +1 -1
  92. package/dist/rpc/evm/EvmEventLogsReader.js +96 -11
  93. package/dist/rpc/evm/EvmEventLogsReader.js.map +1 -1
  94. package/dist/rpc/evm/utils.d.ts +7 -11
  95. package/dist/rpc/evm/utils.d.ts.map +1 -1
  96. package/dist/rpc/evm/utils.hardhat-test.js +34 -9
  97. package/dist/rpc/evm/utils.hardhat-test.js.map +1 -1
  98. package/dist/rpc/evm/utils.js +10 -20
  99. package/dist/rpc/evm/utils.js.map +1 -1
  100. package/dist/test/contractDouble.d.ts +8 -0
  101. package/dist/test/contractDouble.d.ts.map +1 -0
  102. package/dist/test/contractDouble.js +12 -0
  103. package/dist/test/contractDouble.js.map +1 -0
  104. package/dist/timelock/evm/constants.d.ts +1 -0
  105. package/dist/timelock/evm/constants.d.ts.map +1 -1
  106. package/dist/timelock/evm/constants.js +1 -0
  107. package/dist/timelock/evm/constants.js.map +1 -1
  108. package/dist/timelock/evm/errors.d.ts +2 -0
  109. package/dist/timelock/evm/errors.d.ts.map +1 -0
  110. package/dist/timelock/evm/errors.js +19 -0
  111. package/dist/timelock/evm/errors.js.map +1 -0
  112. package/dist/timelock/evm/errors.test.d.ts +2 -0
  113. package/dist/timelock/evm/errors.test.d.ts.map +1 -0
  114. package/dist/timelock/evm/errors.test.js +33 -0
  115. package/dist/timelock/evm/errors.test.js.map +1 -0
  116. package/dist/token/EvmWarpModule.d.ts +17 -0
  117. package/dist/token/EvmWarpModule.d.ts.map +1 -1
  118. package/dist/token/EvmWarpModule.hardhat-test.js +144 -0
  119. package/dist/token/EvmWarpModule.hardhat-test.js.map +1 -1
  120. package/dist/token/EvmWarpModule.js +191 -6
  121. package/dist/token/EvmWarpModule.js.map +1 -1
  122. package/dist/token/EvmWarpModule.test.js +232 -8
  123. package/dist/token/EvmWarpModule.test.js.map +1 -1
  124. package/dist/token/EvmWarpRouteReader.d.ts +1 -0
  125. package/dist/token/EvmWarpRouteReader.d.ts.map +1 -1
  126. package/dist/token/EvmWarpRouteReader.hardhat-test.js +68 -3
  127. package/dist/token/EvmWarpRouteReader.hardhat-test.js.map +1 -1
  128. package/dist/token/EvmWarpRouteReader.js +83 -6
  129. package/dist/token/EvmWarpRouteReader.js.map +1 -1
  130. package/dist/token/ITokenMetadata.d.ts +3 -2
  131. package/dist/token/ITokenMetadata.d.ts.map +1 -1
  132. package/dist/token/Token.d.ts.map +1 -1
  133. package/dist/token/Token.js +4 -0
  134. package/dist/token/Token.js.map +1 -1
  135. package/dist/token/Token.test.js +16 -0
  136. package/dist/token/Token.test.js.map +1 -1
  137. package/dist/token/TokenStandard.d.ts +3 -1
  138. package/dist/token/TokenStandard.d.ts.map +1 -1
  139. package/dist/token/TokenStandard.js +6 -0
  140. package/dist/token/TokenStandard.js.map +1 -1
  141. package/dist/token/config.d.ts +2 -0
  142. package/dist/token/config.d.ts.map +1 -1
  143. package/dist/token/config.js +4 -0
  144. package/dist/token/config.js.map +1 -1
  145. package/dist/token/configUtils.d.ts +5 -0
  146. package/dist/token/configUtils.d.ts.map +1 -1
  147. package/dist/token/configUtils.js +30 -6
  148. package/dist/token/configUtils.js.map +1 -1
  149. package/dist/token/configUtils.test.js +21 -1
  150. package/dist/token/configUtils.test.js.map +1 -1
  151. package/dist/token/contracts.d.ts +3 -1
  152. package/dist/token/contracts.d.ts.map +1 -1
  153. package/dist/token/contracts.js +3 -1
  154. package/dist/token/contracts.js.map +1 -1
  155. package/dist/token/deploy.d.ts +3 -1
  156. package/dist/token/deploy.d.ts.map +1 -1
  157. package/dist/token/deploy.hardhat-test.js +111 -3
  158. package/dist/token/deploy.hardhat-test.js.map +1 -1
  159. package/dist/token/deploy.js +52 -3
  160. package/dist/token/deploy.js.map +1 -1
  161. package/dist/token/tokenMetadataUtils.d.ts.map +1 -1
  162. package/dist/token/tokenMetadataUtils.js +20 -2
  163. package/dist/token/tokenMetadataUtils.js.map +1 -1
  164. package/dist/token/types.d.ts +9807 -5533
  165. package/dist/token/types.d.ts.map +1 -1
  166. package/dist/token/types.js +49 -3
  167. package/dist/token/types.js.map +1 -1
  168. package/dist/token/types.test.js +21 -0
  169. package/dist/token/types.test.js.map +1 -1
  170. package/dist/token/warpCheck.d.ts.map +1 -1
  171. package/dist/token/warpCheck.js +100 -2
  172. package/dist/token/warpCheck.js.map +1 -1
  173. package/dist/token/warpCheck.test.js +101 -1
  174. package/dist/token/warpCheck.test.js.map +1 -1
  175. package/dist/warp/types.d.ts +5 -4
  176. package/dist/warp/types.d.ts.map +1 -1
  177. package/package.json +11 -11
package/dist/ism/utils.js CHANGED
@@ -3,7 +3,10 @@ import { AbstractStorageMultisigIsm__factory, AmountRoutingIsm__factory, Blackli
3
3
  import { deepEquals, eqAddress, formatMessage, messageId, normalizeAddress, objMap, rootLogger, } from '@hyperlane-xyz/utils';
4
4
  import { getChainNameFromCCIPSelector } from '../ccip/utils.js';
5
5
  import { ChainTechnicalStack } from '../metadata/chainMetadataTypes.js';
6
+ import { throwIfNotMissingSelector } from '../utils/contract.js';
6
7
  import { normalizeConfig } from '../utils/ism.js';
8
+ import { EvmIsmReader } from './EvmIsmReader.js';
9
+ import { normalizeBlacklistedIds, readBlacklistedIds } from './blacklist.js';
7
10
  import { IsmType, ModuleType, STATIC_ISM_TYPES, ismTypeToModuleType, } from './types.js';
8
11
  const logger = rootLogger.child({ module: 'IsmUtils' });
9
12
  // Determines the domains to enroll and unenroll to update the current ISM config
@@ -253,8 +256,12 @@ export async function moduleMatchesConfig(chain, moduleAddress, config, multiPro
253
256
  break;
254
257
  }
255
258
  case IsmType.TEST_ISM: {
256
- // This is just a TestISM
257
- matches = true;
259
+ // A NULL module type alone does not make this a Test ISM; every other
260
+ // NULL ISM shares it. Defer to the reader, which reaches TEST_ISM only
261
+ // after every distinguishing selector has missed, so the checker and the
262
+ // reader classify a given address the same way.
263
+ const derived = await new EvmIsmReader(multiProvider, chain).deriveNullConfig(moduleAddress);
264
+ matches &&= derived.type === IsmType.TEST_ISM;
258
265
  break;
259
266
  }
260
267
  case IsmType.TRUSTED_RELAYER: {
@@ -314,15 +321,26 @@ export async function moduleMatchesConfig(chain, moduleAddress, config, multiPro
314
321
  }
315
322
  case IsmType.BLACKLIST: {
316
323
  const blacklistIsm = BlacklistIsm__factory.connect(moduleAddress, provider);
317
- const [owner, onChainIds] = await Promise.all([
318
- blacklistIsm.owner(),
319
- blacklistIsm.values(),
320
- ]);
324
+ // Detection before enumeration, the same order the reader uses. Without
325
+ // it any Ownable NULL-type ISM whose owner happens to match would report
326
+ // as an empty blacklist, since a missing `values()` selector falls
327
+ // through to a log replay that finds nothing.
328
+ let owner;
329
+ try {
330
+ await blacklistIsm.blacklistedIds(ethers.constants.HashZero);
331
+ owner = await blacklistIsm.owner();
332
+ }
333
+ catch (error) {
334
+ throwIfNotMissingSelector(error);
335
+ return false;
336
+ }
321
337
  matches &&= eqAddress(owner, config.owner);
338
+ // Same enumeration the reader uses, so a deployment that reads back as
339
+ // matching here also converges to zero transactions in EvmIsmModule.
340
+ const onChainIds = await readBlacklistedIds(chain, moduleAddress, multiProvider);
322
341
  // Entries are append-only on-chain, so any on-chain ID missing from the
323
342
  // config makes the config unreachable: require exact set equality.
324
- const normalizeIds = (ids) => [...new Set(ids.map((id) => id.toLowerCase()))].sort();
325
- matches &&= deepEquals(normalizeIds(onChainIds), normalizeIds(config.blacklistedIds));
343
+ matches &&= deepEquals(onChainIds, normalizeBlacklistedIds(config.blacklistedIds));
326
344
  break;
327
345
  }
328
346
  default: {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/ism/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/ism/utils.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { Logger } from 'pino';
2
2
  import { EvmChainId, ProtocolType } from '@hyperlane-xyz/utils';
3
3
  import { ChainMap, ChainName, ChainNameOrId } from '../types.js';
4
+ import { getExplorerApi } from './blockExplorer.js';
4
5
  import { ChainMetadata, ExplorerFamily } from './chainMetadataTypes.js';
5
6
  export interface ChainMetadataManagerOptions {
6
7
  logger?: Logger;
@@ -184,6 +185,11 @@ export declare class ChainMetadataManager<MetaExt = {}> {
184
185
  * @returns null if there isn't an explorer configured correctly for using the API (missing api key...)
185
186
  */
186
187
  tryGetEvmExplorerMetadata(chainNameOrId: ChainNameOrId): ReturnType<ChainMetadataManager['getExplorerApi']> | null;
188
+ /**
189
+ * Get every configured Etherscan-compatible explorer API in registry order.
190
+ * Etherscan APIs require a key; compatible alternatives do not necessarily.
191
+ */
192
+ tryGetEvmExplorerMetadataList(chainNameOrId: ChainNameOrId): NonNullable<ReturnType<typeof getExplorerApi>>[];
187
193
  /**
188
194
  * Get a block explorer metadata for given chain
189
195
  * @throws if there isn't an explorer configured correctly for using the API (missing api key...)
@@ -1 +1 @@
1
- {"version":3,"file":"ChainMetadataManager.d.ts","sourceRoot":"","sources":["../../src/metadata/ChainMetadataManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChainMetadataManager.d.ts","sourceRoot":"","sources":["../../src/metadata/ChainMetadataManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EACL,UAAU,EACV,YAAY,EAMb,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EAEL,cAAc,EAIf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,aAAa,EAEb,cAAc,EAEf,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,2BAA2B;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,qBAAa,oBAAoB,CAAC,OAAO,GAAG,EAAE;IAC5C,SAAgB,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAM;IAChE,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,MAAM,CAAC,QAAQ,CAAC,uBAAuB,QAAQ;IAE/C;;;OAGG;IACH,YACE,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EAC/C,OAAO,GAAE,2BAAgC,EAc1C;IAED;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,CAa/C;IAED;;;OAGG;IACH,mBAAmB,CACjB,aAAa,EAAE,aAAa,GAC3B,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,CAQ/B;IAED;;;OAGG;IACH,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,CAMrE;IAED,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CASrD;IAED;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAE9C;IAED;;OAEG;IACH,eAAe,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAE3D;IAED;;;OAGG;IACH,YAAY,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CAEjD;IAED;;OAEG;IACH,kBAAkB,IAAI,MAAM,EAAE,CAE7B;IAED;;OAEG;IACH,aAAa,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAElE;IAED;;;OAGG;IACH,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,GAAG,MAAM,CAExD;IAED;;;OAGG;IACH,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAM5D;IAED;;;OAGG;IACH,aAAa,CAAC,aAAa,EAAE,aAAa,GAAG,UAAU,CAStD;IAED;;OAEG;IACH,cAAc,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAI1D;IAED;;;OAGG;IACH,WAAW,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CAIhD;IAED;;OAEG;IACH,cAAc,CAAC,aAAa,EAAE,aAAa,GAAG,YAAY,GAAG,IAAI,CAEhE;IAED;;;OAGG;IACH,WAAW,CAAC,aAAa,EAAE,aAAa,GAAG,YAAY,CAEtD;IAED;;;OAGG;IACH,YAAY,CAAC,eAAe,EAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,MAAM,EAAE,CAEjE;IAED;;OAEG;IACH,iBAAiB,IAAI,MAAM,EAAE,CAI5B;IAED;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,CAE5C;IAED;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAMrE;IAED;;;;OAIG;IACH,MAAM,CACJ,aAAa,EAAE,aAAa,EAC5B,KAAK,SAAI,GACR,aAAa,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAOlC;IAED;;;OAGG;IACH,SAAS,CAAC,aAAa,EAAE,aAAa,EAAE,KAAK,SAAI,GAAG,MAAM,CAIzD;IAED;;OAEG;IACH,oBAAoB,CAAC,aAAa,EAAE,aAAa,EAAE,KAAK,SAAI,GAAG,MAAM,GAAG,IAAI,CAG3E;IAED;;OAEG;IACH,iBAAiB,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAI7D;IAED;;;OAGG;IACH,cAAc,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CAInD;IAED;;OAEG;IACH,iBAAiB,CAAC,aAAa,EAAE,SAAS,GAAG,MAAM,GAAG;QACpD,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,cAAc,CAAC;KACzB,GAAG,IAAI,CAIP;IAED;;;OAGG;IACH,cAAc,CAAC,aAAa,EAAE,SAAS,GAAG,MAAM,GAAG;QACjD,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,cAAc,CAAC;KACzB,CAKA;IAED;;OAEG;IACH,oBAAoB,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAIhE;IAED;;;OAGG;IACH,iBAAiB,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CAItD;IAED;;OAEG;IACH,mBAAmB,CACjB,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GACzB,MAAM,GAAG,IAAI,CAIf;IAED;;;OAGG;IACH,gBAAgB,CACd,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GACzB,MAAM,CAER;IAED;;OAEG;IACG,wBAAwB,CAC5B,aAAa,EAAE,aAAa,EAC5B,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAIxB;IAED;;;OAGG;IACG,qBAAqB,CACzB,aAAa,EAAE,aAAa,EAC5B,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAKjB;IAED;;;OAGG;IACH,yBAAyB,CACvB,aAAa,EAAE,aAAa,GAC3B,UAAU,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,GAAG,IAAI,CAE3D;IAED;;;OAGG;IACH,6BAA6B,CAC3B,aAAa,EAAE,aAAa,GAC3B,WAAW,CAAC,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,EAAE,CAelD;IAED;;;OAGG;IACH,sBAAsB,CACpB,aAAa,EAAE,aAAa,GAC3B,UAAU,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,CAQpD;IACD;;;OAGG;IACG,cAAc,CAClB,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAMpD;IAED;;;;OAIG;IACH,mBAAmB,CAAC,MAAM,GAAG,EAAE,EAC7B,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,GACnC,oBAAoB,CAAC,OAAO,GAAG,MAAM,CAAC,CAMxC;IAED;;;OAGG;IACH,SAAS,CACP,MAAM,EAAE,SAAS,EAAE,EACnB,gBAAgB,UAAQ,GACvB;QACD,YAAY,EAAE,SAAS,EAAE,CAAC;QAC1B,MAAM,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;KACvC,CAoBA;IAED,UAAU,CAAC,KAAK,EAAE,SAAS,uBAI1B;CACF;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAG,EAAE,EAC3C,oBAAoB,EAAE,oBAAoB,CAAC,OAAO,CAAC;IAGjD,gBAAgB,UAAU,aAAa;IAEvC,YAAY,aAAa,MAAM;IAE/B,WAAW,UAAU,aAAa;IAElC,kBAAkB;EAErB"}
@@ -1,5 +1,5 @@
1
1
  import { assert, exclude, isEVMLike, pick, rootLogger, } from '@hyperlane-xyz/utils';
2
- import { isEtherscanApiCompatibleFamily, isEvmBlockExplorerAndNotEtherscan, } from '../block-explorer/utils.js';
2
+ import { isEtherscanApiCompatibleFamily } from '../block-explorer/utils.js';
3
3
  import { getExplorerAddressUrl, getExplorerApi, getExplorerApiUrl, getExplorerBaseUrl, getExplorerTxUrl, } from './blockExplorer.js';
4
4
  import { ChainMetadataSchema, ExplorerFamily, getDomainId, } from './chainMetadataTypes.js';
5
5
  /**
@@ -326,21 +326,26 @@ export class ChainMetadataManager {
326
326
  * @returns null if there isn't an explorer configured correctly for using the API (missing api key...)
327
327
  */
328
328
  tryGetEvmExplorerMetadata(chainNameOrId) {
329
- const defaultExplorer = this.tryGetExplorerApi(chainNameOrId);
330
- if (!defaultExplorer) {
331
- return null;
332
- }
333
- const chainMetadata = this.getChainMetadata(chainNameOrId);
334
- const [fallBackExplorer] = chainMetadata.blockExplorers?.filter((blockExplorer) => isEvmBlockExplorerAndNotEtherscan(blockExplorer)) ?? [];
335
- // Fallback to use other block explorers if the default block explorer
336
- // is etherscan and an API key is not configured
337
- const isExplorerConfiguredCorrectly = defaultExplorer.family === ExplorerFamily.Etherscan
338
- ? !!defaultExplorer.apiKey
339
- : true;
340
- const canUseExplorerApi = isEtherscanApiCompatibleFamily(defaultExplorer.family) &&
341
- isExplorerConfiguredCorrectly;
342
- const explorer = canUseExplorerApi ? defaultExplorer : fallBackExplorer;
343
- return explorer ?? null;
329
+ return this.tryGetEvmExplorerMetadataList(chainNameOrId)[0] ?? null;
330
+ }
331
+ /**
332
+ * Get every configured Etherscan-compatible explorer API in registry order.
333
+ * Etherscan APIs require a key; compatible alternatives do not necessarily.
334
+ */
335
+ tryGetEvmExplorerMetadataList(chainNameOrId) {
336
+ const chainMetadata = this.tryGetChainMetadata(chainNameOrId);
337
+ if (!chainMetadata)
338
+ return [];
339
+ return (chainMetadata.blockExplorers ?? []).flatMap((_, index) => {
340
+ const explorer = getExplorerApi(chainMetadata, index);
341
+ if (!explorer)
342
+ return [];
343
+ const hasRequiredApiKey = explorer.family !== ExplorerFamily.Etherscan || !!explorer.apiKey;
344
+ return isEtherscanApiCompatibleFamily(explorer.family) &&
345
+ hasRequiredApiKey
346
+ ? [explorer]
347
+ : [];
348
+ });
344
349
  }
345
350
  /**
346
351
  * Get a block explorer metadata for given chain
@@ -1 +1 @@
1
- {"version":3,"file":"ChainMetadataManager.js","sourceRoot":"","sources":["../../src/metadata/ChainMetadataManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,MAAM,EACN,OAAO,EACP,SAAS,EACT,IAAI,EACJ,UAAU,GACX,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,8BAA8B,EAC9B,iCAAiC,GAClC,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,mBAAmB,EACnB,cAAc,EACd,WAAW,GACZ,MAAM,yBAAyB,CAAC;AAMjC;;;;GAIG;AACH,MAAM,OAAO,oBAAoB;IACf,QAAQ,GAAqC,EAAE,CAAC;IAChD,MAAM,CAAS;IAC/B,MAAM,CAAU,uBAAuB,GAAG,IAAI,CAAC;IAE/C;;;OAGG;IACH,YACE,aAA+C,EAC/C,OAAO,GAAgC,EAAE;QAEzC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;YAClD,IAAI,GAAG,KAAK,EAAE,CAAC,IAAI;gBACjB,MAAM,IAAI,KAAK,CACb,gCAAgC,GAAG,iBAAiB,EAAE,CAAC,IAAI,EAAE,CAC9D,CAAC;YACJ,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM;YACT,OAAO,EAAE,MAAM;gBACf,UAAU,CAAC,KAAK,CAAC;oBACf,MAAM,EAAE,iBAAiB;iBAC1B,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,QAAgC;QACvC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpC,wDAAwD;QACxD,KAAK,MAAM,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzD,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC;YACzC,IAAI,IAAI,IAAI,QAAQ,CAAC,IAAI;gBACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;YACnD,uCAAuC;YACvC,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC;YACvE,IAAI,WAAW;gBACb,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,mBAAmB,CACjB,aAA4B;QAE5B,mCAAmC;QACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACtE,gCAAgC;QAChC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CACrD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,aAAa,CACnC,CAAC;QACF,OAAO,aAAa,IAAI,IAAI,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,aAA4B;QAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QAC9D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,6BAA6B,aAAa,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,gBAAgB,CAAC,aAA4B;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,GAAG,CACb,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CACrB,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CACjB,UAAU,EAAE,aAAa;YACzB,oBAAoB,CAAC,uBAAuB,CAC/C,CACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,aAA4B;QACnC,OAAO,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,aAA4B;QAC1C,OAAO,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,aAA4B;QACvC,OAAO,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,aAA4B;QACxC,OAAO,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC;IAClE,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,aAA4B;QACrC,OAAO,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC;IACtD,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,aAA4B;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/C,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACtD,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,aAA4B;QACxC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QACnE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,8BAA8B,aAAa,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,aAA4B;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,OAAO,WAAW,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,aAA4B;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,aAAa,EAAE,CAAC,CAAC;QACxE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,aAA4B;QACzC,OAAO,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,QAAQ,IAAI,IAAI,CAAC;IACnE,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,aAA4B;QACtC,OAAO,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC;IACvD,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,eAA0C;QACrD,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CACjD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAC5B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,IAAe;QAC7B,OAAO,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,cAAc,CAAS,EAA4B;QACjD,MAAM,MAAM,GAAqB,EAAE,CAAC;QACpC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC9C,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,MAAM,CACJ,aAA4B,EAC5B,KAAK,GAAG,CAAC;QAET,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YACrC,MAAM,IAAI,KAAK,CACb,8BAA8B,KAAK,QAAQ,aAAa,EAAE,CAC3D,CAAC;QACJ,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,aAA4B,EAAE,KAAK,GAAG,CAAC;QAC/C,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,aAAa,EAAE,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,aAA4B,EAAE,KAAK,GAAG,CAAC;QAC1D,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAC1D,OAAO,WAAW,IAAI,IAAI,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,aAA4B;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,aAA4B;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,aAAa,EAAE,CAAC,CAAC;QACtE,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,aAAiC;QAKjD,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,aAAiC;QAK9C,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAC1D,IAAI,CAAC,WAAW;YACd,MAAM,IAAI,KAAK,CAAC,qCAAqC,aAAa,EAAE,CAAC,CAAC;QACxE,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,aAA4B;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,aAA4B;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,aAAa,EAAE,CAAC,CAAC;QAC1E,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACH,mBAAmB,CACjB,aAA4B,EAC5B,QAA0B;QAE1B,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,OAAO,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED;;;OAGG;IACH,gBAAgB,CACd,aAA4B,EAC5B,QAA0B;QAE1B,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACrE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,wBAAwB,CAC5B,aAA4B,EAC5B,OAAgB;QAEhB,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QACvC,OAAO,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,qBAAqB,CACzB,aAA4B,EAC5B,OAAgB;QAEhB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACxE,IAAI,CAAC,GAAG;YACN,MAAM,IAAI,KAAK,CAAC,oCAAoC,aAAa,EAAE,CAAC,CAAC;QACvE,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;OAGG;IACH,yBAAyB,CACvB,aAA4B;QAE5B,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAE9D,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAC3D,MAAM,CAAC,gBAAgB,CAAC,GACtB,aAAa,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,aAAa,EAAE,EAAE,CACrD,iCAAiC,CAAC,aAAa,CAAC,CACjD,IAAI,EAAE,CAAC;QAEV,sEAAsE;QACtE,gDAAgD;QAChD,MAAM,6BAA6B,GACjC,eAAe,CAAC,MAAM,KAAK,cAAc,CAAC,SAAS;YACjD,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM;YAC1B,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,iBAAiB,GACrB,8BAA8B,CAAC,eAAe,CAAC,MAAM,CAAC;YACtD,6BAA6B,CAAC;QAEhC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAExE,OAAO,QAAQ,IAAI,IAAI,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,sBAAsB,CACpB,aAA4B;QAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC;QAC/D,MAAM,CACJ,QAAQ,EACR,+EAA+E,aAAa,0EAA0E,CACvK,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD;;;OAGG;IACH,KAAK,CAAC,cAAc,CAClB,aAA4B;QAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,qCAAqC,aAAa,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,QAAQ,CAAC,WAAW,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CACjB,kBAAoC;QAEpC,MAAM,WAAW,GAA8C,EAAE,CAAC;QAClE,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzD,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/D,CAAC;QACD,OAAO,IAAI,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACH,SAAS,CACP,MAAmB,EACnB,gBAAgB,GAAG,KAAK;QAKxB,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC9C,MAAM,YAAY,GAAgB,EAAE,CAAC;QAErC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACrD,IAAI,gBAAgB;gBACvB,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,mDAAmD,WAAW,QAAQ,MAAM,GAAG,CAChF,CAAC;QACJ,CAAC;QAED,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,IAAI,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;QAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;IAClC,CAAC;IAED,UAAU,CAAC,KAAgB;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;QAC1C,OAAO,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,IAAI,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IACxE,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,oBAAmD;IAEnD,OAAO;QACL,gBAAgB,EAAE,CAAC,KAAoB,EAAE,EAAE,CACzC,oBAAoB,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAC9C,YAAY,EAAE,CAAC,QAAgB,EAAE,EAAE,CACjC,oBAAoB,CAAC,eAAe,CAAC,QAAQ,CAAC;QAChD,WAAW,EAAE,CAAC,KAAoB,EAAE,EAAE,CACpC,oBAAoB,CAAC,cAAc,CAAC,KAAK,CAAC;QAC5C,kBAAkB,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,EAAE;KACpE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ChainMetadataManager.js","sourceRoot":"","sources":["../../src/metadata/ChainMetadataManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,MAAM,EACN,OAAO,EACP,SAAS,EACT,IAAI,EACJ,UAAU,GACX,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAG5E,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,mBAAmB,EACnB,cAAc,EACd,WAAW,GACZ,MAAM,yBAAyB,CAAC;AAMjC;;;;GAIG;AACH,MAAM,OAAO,oBAAoB;IACf,QAAQ,GAAqC,EAAE,CAAC;IAChD,MAAM,CAAS;IAC/B,MAAM,CAAU,uBAAuB,GAAG,IAAI,CAAC;IAE/C;;;OAGG;IACH,YACE,aAA+C,EAC/C,OAAO,GAAgC,EAAE;QAEzC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;YAClD,IAAI,GAAG,KAAK,EAAE,CAAC,IAAI;gBACjB,MAAM,IAAI,KAAK,CACb,gCAAgC,GAAG,iBAAiB,EAAE,CAAC,IAAI,EAAE,CAC9D,CAAC;YACJ,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM;YACT,OAAO,EAAE,MAAM;gBACf,UAAU,CAAC,KAAK,CAAC;oBACf,MAAM,EAAE,iBAAiB;iBAC1B,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,QAAgC;QACvC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpC,wDAAwD;QACxD,KAAK,MAAM,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzD,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC;YACzC,IAAI,IAAI,IAAI,QAAQ,CAAC,IAAI;gBACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;YACnD,uCAAuC;YACvC,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC;YACvE,IAAI,WAAW;gBACb,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,mBAAmB,CACjB,aAA4B;QAE5B,mCAAmC;QACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACtE,gCAAgC;QAChC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CACrD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,aAAa,CACnC,CAAC;QACF,OAAO,aAAa,IAAI,IAAI,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,aAA4B;QAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QAC9D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,6BAA6B,aAAa,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,gBAAgB,CAAC,aAA4B;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,GAAG,CACb,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CACrB,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CACjB,UAAU,EAAE,aAAa;YACzB,oBAAoB,CAAC,uBAAuB,CAC/C,CACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,aAA4B;QACnC,OAAO,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,aAA4B;QAC1C,OAAO,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,aAA4B;QACvC,OAAO,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,aAA4B;QACxC,OAAO,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC;IAClE,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,aAA4B;QACrC,OAAO,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC;IACtD,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,aAA4B;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/C,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACtD,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,aAA4B;QACxC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QACnE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,8BAA8B,aAAa,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,aAA4B;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,OAAO,WAAW,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,aAA4B;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,aAAa,EAAE,CAAC,CAAC;QACxE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,aAA4B;QACzC,OAAO,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,QAAQ,IAAI,IAAI,CAAC;IACnE,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,aAA4B;QACtC,OAAO,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC;IACvD,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,eAA0C;QACrD,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CACjD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAC5B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,IAAe;QAC7B,OAAO,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,cAAc,CAAS,EAA4B;QACjD,MAAM,MAAM,GAAqB,EAAE,CAAC;QACpC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC9C,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,MAAM,CACJ,aAA4B,EAC5B,KAAK,GAAG,CAAC;QAET,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YACrC,MAAM,IAAI,KAAK,CACb,8BAA8B,KAAK,QAAQ,aAAa,EAAE,CAC3D,CAAC;QACJ,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,aAA4B,EAAE,KAAK,GAAG,CAAC;QAC/C,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,aAAa,EAAE,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,aAA4B,EAAE,KAAK,GAAG,CAAC;QAC1D,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAC1D,OAAO,WAAW,IAAI,IAAI,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,aAA4B;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,aAA4B;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,aAAa,EAAE,CAAC,CAAC;QACtE,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,aAAiC;QAKjD,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,aAAiC;QAK9C,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAC1D,IAAI,CAAC,WAAW;YACd,MAAM,IAAI,KAAK,CAAC,qCAAqC,aAAa,EAAE,CAAC,CAAC;QACxE,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,aAA4B;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,aAA4B;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,aAAa,EAAE,CAAC,CAAC;QAC1E,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACH,mBAAmB,CACjB,aAA4B,EAC5B,QAA0B;QAE1B,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,OAAO,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED;;;OAGG;IACH,gBAAgB,CACd,aAA4B,EAC5B,QAA0B;QAE1B,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACrE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,wBAAwB,CAC5B,aAA4B,EAC5B,OAAgB;QAEhB,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QACvC,OAAO,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,qBAAqB,CACzB,aAA4B,EAC5B,OAAgB;QAEhB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACxE,IAAI,CAAC,GAAG;YACN,MAAM,IAAI,KAAK,CAAC,oCAAoC,aAAa,EAAE,CAAC,CAAC;QACvE,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;OAGG;IACH,yBAAyB,CACvB,aAA4B;QAE5B,OAAO,IAAI,CAAC,6BAA6B,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACtE,CAAC;IAED;;;OAGG;IACH,6BAA6B,CAC3B,aAA4B;QAE5B,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QAC9D,IAAI,CAAC,aAAa;YAAE,OAAO,EAAE,CAAC;QAE9B,OAAO,CAAC,aAAa,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YAC/D,MAAM,QAAQ,GAAG,cAAc,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YACtD,IAAI,CAAC,QAAQ;gBAAE,OAAO,EAAE,CAAC;YAEzB,MAAM,iBAAiB,GACrB,QAAQ,CAAC,MAAM,KAAK,cAAc,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YACpE,OAAO,8BAA8B,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACpD,iBAAiB;gBACjB,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACZ,CAAC,CAAC,EAAE,CAAC;QACT,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,sBAAsB,CACpB,aAA4B;QAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC;QAC/D,MAAM,CACJ,QAAQ,EACR,+EAA+E,aAAa,0EAA0E,CACvK,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD;;;OAGG;IACH,KAAK,CAAC,cAAc,CAClB,aAA4B;QAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,qCAAqC,aAAa,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,QAAQ,CAAC,WAAW,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CACjB,kBAAoC;QAEpC,MAAM,WAAW,GAA8C,EAAE,CAAC;QAClE,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzD,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/D,CAAC;QACD,OAAO,IAAI,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACH,SAAS,CACP,MAAmB,EACnB,gBAAgB,GAAG,KAAK;QAKxB,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC9C,MAAM,YAAY,GAAgB,EAAE,CAAC;QAErC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACrD,IAAI,gBAAgB;gBACvB,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,mDAAmD,WAAW,QAAQ,MAAM,GAAG,CAChF,CAAC;QACJ,CAAC;QAED,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,IAAI,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;QAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;IAClC,CAAC;IAED,UAAU,CAAC,KAAgB;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;QAC1C,OAAO,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,IAAI,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IACxE,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,oBAAmD;IAEnD,OAAO;QACL,gBAAgB,EAAE,CAAC,KAAoB,EAAE,EAAE,CACzC,oBAAoB,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAC9C,YAAY,EAAE,CAAC,QAAgB,EAAE,EAAE,CACjC,oBAAoB,CAAC,eAAe,CAAC,QAAQ,CAAC;QAChD,WAAW,EAAE,CAAC,KAAoB,EAAE,EAAE,CACpC,oBAAoB,CAAC,cAAc,CAAC,KAAK,CAAC;QAC5C,kBAAkB,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,kBAAkB,EAAE;KACpE,CAAC;AACJ,CAAC"}
@@ -142,6 +142,12 @@ describe(ChainMetadataManager.name, () => {
142
142
  apiUrl: 'https://tronscan.example.com/#/api',
143
143
  family: ExplorerFamily.TronScan,
144
144
  };
145
+ const routescanExplorer = {
146
+ name: 'Routescan',
147
+ url: 'https://routescan.example.com',
148
+ apiUrl: 'https://routescan.example.com/api',
149
+ family: ExplorerFamily.Routescan,
150
+ };
145
151
  const cases = [
146
152
  {
147
153
  description: 'TronScan default with no compatible fallback returns null',
@@ -185,6 +191,30 @@ describe(ChainMetadataManager.name, () => {
185
191
  }
186
192
  });
187
193
  }
194
+ it('returns all compatible explorers in registry order', () => {
195
+ const chainManager = new ChainMetadataManager({
196
+ testchain: {
197
+ chainId: 12345,
198
+ domainId: 12345,
199
+ name: 'testchain',
200
+ protocol: ProtocolType.Ethereum,
201
+ rpcUrls: [{ http: 'https://testchain.example.com' }],
202
+ blockExplorers: [
203
+ tronScanExplorer,
204
+ etherscanNoKeyExplorer,
205
+ routescanExplorer,
206
+ etherscanExplorer,
207
+ blockscoutExplorer,
208
+ ],
209
+ },
210
+ });
211
+ const result = chainManager.tryGetEvmExplorerMetadataList('testchain');
212
+ expect(result.map(({ family }) => family)).to.deep.equal([
213
+ ExplorerFamily.Routescan,
214
+ ExplorerFamily.Etherscan,
215
+ ExplorerFamily.Blockscout,
216
+ ]);
217
+ });
188
218
  });
189
219
  });
190
220
  //# sourceMappingURL=ChainMetadataManager.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChainMetadataManager.test.js","sourceRoot":"","sources":["../../src/metadata/ChainMetadataManager.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAGL,cAAc,GACf,MAAM,yBAAyB,CAAC;AAEjC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE;IACvC,IAAI,OAA6B,CAAC;IAElC,MAAM,gBAAgB,GAAkB;QACtC,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,CAAC;QACX,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC;KACpD,CAAC;IAEF,MAAM,eAAe,GAAkB;QACrC,OAAO,EAAE,GAAG;QACZ,QAAQ,EAAE,GAAG;QACb,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC;KACnD,CAAC;IAEF,MAAM,cAAc,GAAkB;QACpC,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,GAAG;QACb,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,YAAY,CAAC,MAAM;QAC7B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC;QACjD,YAAY,EAAE,QAAQ;QACtB,MAAM,EAAE,GAAG;QACX,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;KACb,CAAC;IAEF,MAAM,cAAc,GAAkB;QACpC,OAAO,EAAE,GAAG;QACZ,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC;KAClD,CAAC;IAEF,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,GAAG,IAAI,oBAAoB,CAAC;YACjC,QAAQ,EAAE,gBAAgB;YAC1B,OAAO,EAAE,eAAe;YACxB,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,cAAc;SACvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE;QACrE,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;YACnC,MAAM,SAAS,GAIV;gBACH;oBACE,WAAW,EAAE,kBAAkB;oBAC/B,KAAK,EAAE,UAAU;oBACjB,QAAQ,EAAE,gBAAgB;iBAC3B;gBACD;oBACE,WAAW,EAAE,0BAA0B;oBACvC,KAAK,EAAE,SAAS;oBAChB,QAAQ,EAAE,eAAe;iBAC1B;gBACD;oBACE,WAAW,EAAE,yBAAyB;oBACtC,KAAK,EAAE,aAAa;oBACpB,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,WAAW,EAAE,iBAAiB;oBAC9B,KAAK,EAAE,CAAC;oBACR,QAAQ,EAAE,gBAAgB;iBAC3B;gBACD;oBACE,WAAW,EAAE,yBAAyB;oBACtC,KAAK,EAAE,GAAG;oBACV,QAAQ,EAAE,eAAe;iBAC1B;gBACD;oBACE,WAAW,EAAE,wBAAwB;oBACrC,KAAK,EAAE,KAAK;oBACZ,QAAQ,EAAE,IAAI;iBACf;aACF,CAAC;YAEF,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;gBACrD,EAAE,CAAC,oCAAoC,WAAW,EAAE,EAAE,GAAG,EAAE;oBACzD,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;oBAElD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACzC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;YACxC,MAAM,SAAS,GAIV;gBACH;oBACE,WAAW,EAAE,sBAAsB;oBACnC,KAAK,EAAE,QAAQ;oBACf,QAAQ,EAAE,cAAc;iBACzB;gBACD;oBACE,WAAW,EAAE,2BAA2B;oBACxC,KAAK,EAAE,GAAG;oBACV,QAAQ,EAAE,cAAc;iBACzB;gBACD;oBACE,WAAW,EAAE,wBAAwB;oBACrC,KAAK,EAAE,QAAQ;oBACf,QAAQ,EAAE,cAAc;iBACzB;gBACD;oBACE,WAAW,EAAE,6BAA6B;oBAC1C,KAAK,EAAE,UAAU;oBACjB,QAAQ,EAAE,cAAc;iBACzB;aACF,CAAC;YAEF,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;gBACrD,EAAE,CAAC,iBAAiB,WAAW,EAAE,EAAE,GAAG,EAAE;oBACtC,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;oBAElD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACzC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CACN,oBAAoB,CAAC,SAAS,CAAC,yBAAyB,CAAC,IAAI,EAC7D,GAAG,EAAE;QACH,MAAM,iBAAiB,GAAkB;YACvC,IAAI,EAAE,WAAW;YACjB,GAAG,EAAE,+BAA+B;YACpC,MAAM,EAAE,uCAAuC;YAC/C,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,cAAc,CAAC,SAAS;SACjC,CAAC;QACF,MAAM,sBAAsB,GAAkB;YAC5C,IAAI,EAAE,WAAW;YACjB,GAAG,EAAE,+BAA+B;YACpC,MAAM,EAAE,uCAAuC;YAC/C,MAAM,EAAE,cAAc,CAAC,SAAS;SACjC,CAAC;QACF,MAAM,kBAAkB,GAAkB;YACxC,IAAI,EAAE,YAAY;YAClB,GAAG,EAAE,gCAAgC;YACrC,MAAM,EAAE,oCAAoC;YAC5C,MAAM,EAAE,cAAc,CAAC,UAAU;SAClC,CAAC;QACF,MAAM,gBAAgB,GAAkB;YACtC,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,8BAA8B;YACnC,MAAM,EAAE,oCAAoC;YAC5C,MAAM,EAAE,cAAc,CAAC,QAAQ;SAChC,CAAC;QAQF,MAAM,KAAK,GAAW;YACpB;gBACE,WAAW,EACT,2DAA2D;gBAC7D,cAAc,EAAE,CAAC,gBAAgB,CAAC;gBAClC,cAAc,EAAE,IAAI;aACrB;YACD;gBACE,WAAW,EAAE,gDAAgD;gBAC7D,cAAc,EAAE,CAAC,iBAAiB,CAAC;gBACnC,cAAc,EAAE,cAAc,CAAC,SAAS;aACzC;YACD;gBACE,WAAW,EAAE,iCAAiC;gBAC9C,cAAc,EAAE,CAAC,kBAAkB,CAAC;gBACpC,cAAc,EAAE,cAAc,CAAC,UAAU;aAC1C;YACD;gBACE,WAAW,EACT,oEAAoE;gBACtE,cAAc,EAAE,CAAC,sBAAsB,EAAE,kBAAkB,CAAC;gBAC5D,cAAc,EAAE,cAAc,CAAC,UAAU;aAC1C;SACF,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE;gBACrB,MAAM,YAAY,GAAG,IAAI,oBAAoB,CAAC;oBAC5C,SAAS,EAAE;wBACT,OAAO,EAAE,KAAK;wBACd,QAAQ,EAAE,KAAK;wBACf,IAAI,EAAE,WAAW;wBACjB,QAAQ,EAAE,YAAY,CAAC,QAAQ;wBAC/B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,+BAA+B,EAAE,CAAC;wBACpD,cAAc,EAAE,CAAC,CAAC,cAAc;qBACjC;iBACF,CAAC,CAAC;gBAEH,MAAM,MAAM,GAAG,YAAY,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;gBAEnE,IAAI,CAAC,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;oBAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"ChainMetadataManager.test.js","sourceRoot":"","sources":["../../src/metadata/ChainMetadataManager.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAGL,cAAc,GACf,MAAM,yBAAyB,CAAC;AAEjC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE;IACvC,IAAI,OAA6B,CAAC;IAElC,MAAM,gBAAgB,GAAkB;QACtC,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,CAAC;QACX,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC;KACpD,CAAC;IAEF,MAAM,eAAe,GAAkB;QACrC,OAAO,EAAE,GAAG;QACZ,QAAQ,EAAE,GAAG;QACb,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC;KACnD,CAAC;IAEF,MAAM,cAAc,GAAkB;QACpC,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,GAAG;QACb,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,YAAY,CAAC,MAAM;QAC7B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC;QACjD,YAAY,EAAE,QAAQ;QACtB,MAAM,EAAE,GAAG;QACX,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;KACb,CAAC;IAEF,MAAM,cAAc,GAAkB;QACpC,OAAO,EAAE,GAAG;QACZ,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC;KAClD,CAAC;IAEF,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,GAAG,IAAI,oBAAoB,CAAC;YACjC,QAAQ,EAAE,gBAAgB;YAC1B,OAAO,EAAE,eAAe;YACxB,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,cAAc;SACvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE;QACrE,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;YACnC,MAAM,SAAS,GAIV;gBACH;oBACE,WAAW,EAAE,kBAAkB;oBAC/B,KAAK,EAAE,UAAU;oBACjB,QAAQ,EAAE,gBAAgB;iBAC3B;gBACD;oBACE,WAAW,EAAE,0BAA0B;oBACvC,KAAK,EAAE,SAAS;oBAChB,QAAQ,EAAE,eAAe;iBAC1B;gBACD;oBACE,WAAW,EAAE,yBAAyB;oBACtC,KAAK,EAAE,aAAa;oBACpB,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,WAAW,EAAE,iBAAiB;oBAC9B,KAAK,EAAE,CAAC;oBACR,QAAQ,EAAE,gBAAgB;iBAC3B;gBACD;oBACE,WAAW,EAAE,yBAAyB;oBACtC,KAAK,EAAE,GAAG;oBACV,QAAQ,EAAE,eAAe;iBAC1B;gBACD;oBACE,WAAW,EAAE,wBAAwB;oBACrC,KAAK,EAAE,KAAK;oBACZ,QAAQ,EAAE,IAAI;iBACf;aACF,CAAC;YAEF,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;gBACrD,EAAE,CAAC,oCAAoC,WAAW,EAAE,EAAE,GAAG,EAAE;oBACzD,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;oBAElD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACzC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;YACxC,MAAM,SAAS,GAIV;gBACH;oBACE,WAAW,EAAE,sBAAsB;oBACnC,KAAK,EAAE,QAAQ;oBACf,QAAQ,EAAE,cAAc;iBACzB;gBACD;oBACE,WAAW,EAAE,2BAA2B;oBACxC,KAAK,EAAE,GAAG;oBACV,QAAQ,EAAE,cAAc;iBACzB;gBACD;oBACE,WAAW,EAAE,wBAAwB;oBACrC,KAAK,EAAE,QAAQ;oBACf,QAAQ,EAAE,cAAc;iBACzB;gBACD;oBACE,WAAW,EAAE,6BAA6B;oBAC1C,KAAK,EAAE,UAAU;oBACjB,QAAQ,EAAE,cAAc;iBACzB;aACF,CAAC;YAEF,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;gBACrD,EAAE,CAAC,iBAAiB,WAAW,EAAE,EAAE,GAAG,EAAE;oBACtC,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;oBAElD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACzC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CACN,oBAAoB,CAAC,SAAS,CAAC,yBAAyB,CAAC,IAAI,EAC7D,GAAG,EAAE;QACH,MAAM,iBAAiB,GAAkB;YACvC,IAAI,EAAE,WAAW;YACjB,GAAG,EAAE,+BAA+B;YACpC,MAAM,EAAE,uCAAuC;YAC/C,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,cAAc,CAAC,SAAS;SACjC,CAAC;QACF,MAAM,sBAAsB,GAAkB;YAC5C,IAAI,EAAE,WAAW;YACjB,GAAG,EAAE,+BAA+B;YACpC,MAAM,EAAE,uCAAuC;YAC/C,MAAM,EAAE,cAAc,CAAC,SAAS;SACjC,CAAC;QACF,MAAM,kBAAkB,GAAkB;YACxC,IAAI,EAAE,YAAY;YAClB,GAAG,EAAE,gCAAgC;YACrC,MAAM,EAAE,oCAAoC;YAC5C,MAAM,EAAE,cAAc,CAAC,UAAU;SAClC,CAAC;QACF,MAAM,gBAAgB,GAAkB;YACtC,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,8BAA8B;YACnC,MAAM,EAAE,oCAAoC;YAC5C,MAAM,EAAE,cAAc,CAAC,QAAQ;SAChC,CAAC;QACF,MAAM,iBAAiB,GAAkB;YACvC,IAAI,EAAE,WAAW;YACjB,GAAG,EAAE,+BAA+B;YACpC,MAAM,EAAE,mCAAmC;YAC3C,MAAM,EAAE,cAAc,CAAC,SAAS;SACjC,CAAC;QAQF,MAAM,KAAK,GAAW;YACpB;gBACE,WAAW,EACT,2DAA2D;gBAC7D,cAAc,EAAE,CAAC,gBAAgB,CAAC;gBAClC,cAAc,EAAE,IAAI;aACrB;YACD;gBACE,WAAW,EAAE,gDAAgD;gBAC7D,cAAc,EAAE,CAAC,iBAAiB,CAAC;gBACnC,cAAc,EAAE,cAAc,CAAC,SAAS;aACzC;YACD;gBACE,WAAW,EAAE,iCAAiC;gBAC9C,cAAc,EAAE,CAAC,kBAAkB,CAAC;gBACpC,cAAc,EAAE,cAAc,CAAC,UAAU;aAC1C;YACD;gBACE,WAAW,EACT,oEAAoE;gBACtE,cAAc,EAAE,CAAC,sBAAsB,EAAE,kBAAkB,CAAC;gBAC5D,cAAc,EAAE,cAAc,CAAC,UAAU;aAC1C;SACF,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE;gBACrB,MAAM,YAAY,GAAG,IAAI,oBAAoB,CAAC;oBAC5C,SAAS,EAAE;wBACT,OAAO,EAAE,KAAK;wBACd,QAAQ,EAAE,KAAK;wBACf,IAAI,EAAE,WAAW;wBACjB,QAAQ,EAAE,YAAY,CAAC,QAAQ;wBAC/B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,+BAA+B,EAAE,CAAC;wBACpD,cAAc,EAAE,CAAC,CAAC,cAAc;qBACjC;iBACF,CAAC,CAAC;gBAEH,MAAM,MAAM,GAAG,YAAY,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;gBAEnE,IAAI,CAAC,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;oBAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,YAAY,GAAG,IAAI,oBAAoB,CAAC;gBAC5C,SAAS,EAAE;oBACT,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE,KAAK;oBACf,IAAI,EAAE,WAAW;oBACjB,QAAQ,EAAE,YAAY,CAAC,QAAQ;oBAC/B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,+BAA+B,EAAE,CAAC;oBACpD,cAAc,EAAE;wBACd,gBAAgB;wBAChB,sBAAsB;wBACtB,iBAAiB;wBACjB,iBAAiB;wBACjB,kBAAkB;qBACnB;iBACF;aACF,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,YAAY,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC;YAEvE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;gBACvD,cAAc,CAAC,SAAS;gBACxB,cAAc,CAAC,SAAS;gBACxB,cAAc,CAAC,UAAU;aAC1B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -18,6 +18,7 @@ declare const TokenConfigSchema: z.ZodObject<{
18
18
  readonly collateralEverclear: 'collateralEverclear';
19
19
  readonly collateralDepositAddress: 'collateralDepositAddress';
20
20
  readonly collateralOft: 'collateralOft';
21
+ readonly atomicLocalRebalancing: 'atomicLocalRebalancing';
21
22
  readonly native: 'native';
22
23
  readonly nativeOpL2: 'nativeOpL2';
23
24
  readonly nativeOpL1: 'nativeOpL1';
@@ -36,7 +37,7 @@ declare const TokenConfigSchema: z.ZodObject<{
36
37
  ibcDenom: z.ZodOptional<z.ZodString>;
37
38
  }, "strip", z.ZodTypeAny, {
38
39
  protocolType: ProtocolType;
39
- type: "collateral" | "collateralCctp" | "collateralDepositAddress" | "collateralEverclear" | "collateralFiat" | "collateralOft" | "collateralUri" | "collateralVault" | "collateralVaultRebase" | "crossCollateral" | "ethEverclear" | "native" | "nativeOpL1" | "nativeOpL2" | "nativeScaled" | "synthetic" | "syntheticRebase" | "syntheticUri" | "unknown" | "xERC20" | "xERC20Lockbox";
40
+ type: "atomicLocalRebalancing" | "collateral" | "collateralCctp" | "collateralDepositAddress" | "collateralEverclear" | "collateralFiat" | "collateralOft" | "collateralUri" | "collateralVault" | "collateralVaultRebase" | "crossCollateral" | "ethEverclear" | "native" | "nativeOpL1" | "nativeOpL2" | "nativeScaled" | "synthetic" | "syntheticRebase" | "syntheticUri" | "unknown" | "xERC20" | "xERC20Lockbox";
40
41
  hypAddress: string;
41
42
  tokenAddress?: string | undefined;
42
43
  tokenCoinGeckoId?: string | undefined;
@@ -47,7 +48,7 @@ declare const TokenConfigSchema: z.ZodObject<{
47
48
  ibcDenom?: string | undefined;
48
49
  }, {
49
50
  protocolType: ProtocolType;
50
- type: "collateral" | "collateralCctp" | "collateralDepositAddress" | "collateralEverclear" | "collateralFiat" | "collateralOft" | "collateralUri" | "collateralVault" | "collateralVaultRebase" | "crossCollateral" | "ethEverclear" | "native" | "nativeOpL1" | "nativeOpL2" | "nativeScaled" | "synthetic" | "syntheticRebase" | "syntheticUri" | "unknown" | "xERC20" | "xERC20Lockbox";
51
+ type: "atomicLocalRebalancing" | "collateral" | "collateralCctp" | "collateralDepositAddress" | "collateralEverclear" | "collateralFiat" | "collateralOft" | "collateralUri" | "collateralVault" | "collateralVaultRebase" | "crossCollateral" | "ethEverclear" | "native" | "nativeOpL1" | "nativeOpL2" | "nativeScaled" | "synthetic" | "syntheticRebase" | "syntheticUri" | "unknown" | "xERC20" | "xERC20Lockbox";
51
52
  hypAddress: string;
52
53
  tokenAddress?: string | undefined;
53
54
  tokenCoinGeckoId?: string | undefined;
@@ -79,6 +80,7 @@ export declare const WarpRouteConfigSchema: z.ZodObject<{
79
80
  readonly collateralEverclear: 'collateralEverclear';
80
81
  readonly collateralDepositAddress: 'collateralDepositAddress';
81
82
  readonly collateralOft: 'collateralOft';
83
+ readonly atomicLocalRebalancing: 'atomicLocalRebalancing';
82
84
  readonly native: 'native';
83
85
  readonly nativeOpL2: 'nativeOpL2';
84
86
  readonly nativeOpL1: 'nativeOpL1';
@@ -97,7 +99,7 @@ export declare const WarpRouteConfigSchema: z.ZodObject<{
97
99
  ibcDenom: z.ZodOptional<z.ZodString>;
98
100
  }, "strip", z.ZodTypeAny, {
99
101
  protocolType: ProtocolType;
100
- type: "collateral" | "collateralCctp" | "collateralDepositAddress" | "collateralEverclear" | "collateralFiat" | "collateralOft" | "collateralUri" | "collateralVault" | "collateralVaultRebase" | "crossCollateral" | "ethEverclear" | "native" | "nativeOpL1" | "nativeOpL2" | "nativeScaled" | "synthetic" | "syntheticRebase" | "syntheticUri" | "unknown" | "xERC20" | "xERC20Lockbox";
102
+ type: "atomicLocalRebalancing" | "collateral" | "collateralCctp" | "collateralDepositAddress" | "collateralEverclear" | "collateralFiat" | "collateralOft" | "collateralUri" | "collateralVault" | "collateralVaultRebase" | "crossCollateral" | "ethEverclear" | "native" | "nativeOpL1" | "nativeOpL2" | "nativeScaled" | "synthetic" | "syntheticRebase" | "syntheticUri" | "unknown" | "xERC20" | "xERC20Lockbox";
101
103
  hypAddress: string;
102
104
  tokenAddress?: string | undefined;
103
105
  tokenCoinGeckoId?: string | undefined;
@@ -108,7 +110,7 @@ export declare const WarpRouteConfigSchema: z.ZodObject<{
108
110
  ibcDenom?: string | undefined;
109
111
  }, {
110
112
  protocolType: ProtocolType;
111
- type: "collateral" | "collateralCctp" | "collateralDepositAddress" | "collateralEverclear" | "collateralFiat" | "collateralOft" | "collateralUri" | "collateralVault" | "collateralVaultRebase" | "crossCollateral" | "ethEverclear" | "native" | "nativeOpL1" | "nativeOpL2" | "nativeScaled" | "synthetic" | "syntheticRebase" | "syntheticUri" | "unknown" | "xERC20" | "xERC20Lockbox";
113
+ type: "atomicLocalRebalancing" | "collateral" | "collateralCctp" | "collateralDepositAddress" | "collateralEverclear" | "collateralFiat" | "collateralOft" | "collateralUri" | "collateralVault" | "collateralVaultRebase" | "crossCollateral" | "ethEverclear" | "native" | "nativeOpL1" | "nativeOpL2" | "nativeScaled" | "synthetic" | "syntheticRebase" | "syntheticUri" | "unknown" | "xERC20" | "xERC20Lockbox";
112
114
  hypAddress: string;
113
115
  tokenAddress?: string | undefined;
114
116
  tokenCoinGeckoId?: string | undefined;
@@ -121,7 +123,7 @@ export declare const WarpRouteConfigSchema: z.ZodObject<{
121
123
  }, "strip", z.ZodTypeAny, {
122
124
  config: Record<string, {
123
125
  protocolType: ProtocolType;
124
- type: "collateral" | "collateralCctp" | "collateralDepositAddress" | "collateralEverclear" | "collateralFiat" | "collateralOft" | "collateralUri" | "collateralVault" | "collateralVaultRebase" | "crossCollateral" | "ethEverclear" | "native" | "nativeOpL1" | "nativeOpL2" | "nativeScaled" | "synthetic" | "syntheticRebase" | "syntheticUri" | "unknown" | "xERC20" | "xERC20Lockbox";
126
+ type: "atomicLocalRebalancing" | "collateral" | "collateralCctp" | "collateralDepositAddress" | "collateralEverclear" | "collateralFiat" | "collateralOft" | "collateralUri" | "collateralVault" | "collateralVaultRebase" | "crossCollateral" | "ethEverclear" | "native" | "nativeOpL1" | "nativeOpL2" | "nativeScaled" | "synthetic" | "syntheticRebase" | "syntheticUri" | "unknown" | "xERC20" | "xERC20Lockbox";
125
127
  hypAddress: string;
126
128
  tokenAddress?: string | undefined;
127
129
  tokenCoinGeckoId?: string | undefined;
@@ -134,7 +136,7 @@ export declare const WarpRouteConfigSchema: z.ZodObject<{
134
136
  }, {
135
137
  config: Record<string, {
136
138
  protocolType: ProtocolType;
137
- type: "collateral" | "collateralCctp" | "collateralDepositAddress" | "collateralEverclear" | "collateralFiat" | "collateralOft" | "collateralUri" | "collateralVault" | "collateralVaultRebase" | "crossCollateral" | "ethEverclear" | "native" | "nativeOpL1" | "nativeOpL2" | "nativeScaled" | "synthetic" | "syntheticRebase" | "syntheticUri" | "unknown" | "xERC20" | "xERC20Lockbox";
139
+ type: "atomicLocalRebalancing" | "collateral" | "collateralCctp" | "collateralDepositAddress" | "collateralEverclear" | "collateralFiat" | "collateralOft" | "collateralUri" | "collateralVault" | "collateralVaultRebase" | "crossCollateral" | "ethEverclear" | "native" | "nativeOpL1" | "nativeOpL2" | "nativeScaled" | "synthetic" | "syntheticRebase" | "syntheticUri" | "unknown" | "xERC20" | "xERC20Lockbox";
138
140
  hypAddress: string;
139
141
  tokenAddress?: string | undefined;
140
142
  tokenCoinGeckoId?: string | undefined;
@@ -152,7 +154,7 @@ export declare const WarpRouteConfigSchema: z.ZodObject<{
152
154
  data: {
153
155
  config: Record<string, {
154
156
  protocolType: ProtocolType;
155
- type: "collateral" | "collateralCctp" | "collateralDepositAddress" | "collateralEverclear" | "collateralFiat" | "collateralOft" | "collateralUri" | "collateralVault" | "collateralVaultRebase" | "crossCollateral" | "ethEverclear" | "native" | "nativeOpL1" | "nativeOpL2" | "nativeScaled" | "synthetic" | "syntheticRebase" | "syntheticUri" | "unknown" | "xERC20" | "xERC20Lockbox";
157
+ type: "atomicLocalRebalancing" | "collateral" | "collateralCctp" | "collateralDepositAddress" | "collateralEverclear" | "collateralFiat" | "collateralOft" | "collateralUri" | "collateralVault" | "collateralVaultRebase" | "crossCollateral" | "ethEverclear" | "native" | "nativeOpL1" | "nativeOpL2" | "nativeScaled" | "synthetic" | "syntheticRebase" | "syntheticUri" | "unknown" | "xERC20" | "xERC20Lockbox";
156
158
  hypAddress: string;
157
159
  tokenAddress?: string | undefined;
158
160
  tokenCoinGeckoId?: string | undefined;
@@ -170,7 +172,7 @@ export declare const WarpRouteConfigSchema: z.ZodObject<{
170
172
  data: {
171
173
  config: Record<string, {
172
174
  protocolType: ProtocolType;
173
- type: "collateral" | "collateralCctp" | "collateralDepositAddress" | "collateralEverclear" | "collateralFiat" | "collateralOft" | "collateralUri" | "collateralVault" | "collateralVaultRebase" | "crossCollateral" | "ethEverclear" | "native" | "nativeOpL1" | "nativeOpL2" | "nativeScaled" | "synthetic" | "syntheticRebase" | "syntheticUri" | "unknown" | "xERC20" | "xERC20Lockbox";
175
+ type: "atomicLocalRebalancing" | "collateral" | "collateralCctp" | "collateralDepositAddress" | "collateralEverclear" | "collateralFiat" | "collateralOft" | "collateralUri" | "collateralVault" | "collateralVaultRebase" | "crossCollateral" | "ethEverclear" | "native" | "nativeOpL1" | "nativeOpL2" | "nativeScaled" | "synthetic" | "syntheticRebase" | "syntheticUri" | "unknown" | "xERC20" | "xERC20Lockbox";
174
176
  hypAddress: string;
175
177
  tokenAddress?: string | undefined;
176
178
  tokenCoinGeckoId?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"warpRouteConfig.d.ts","sourceRoot":"","sources":["../../src/metadata/warpRouteConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWrB,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"warpRouteConfig.d.ts","sourceRoot":"","sources":["../../src/metadata/warpRouteConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWrB,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"InterchainAccount.d.ts","sourceRoot":"","sources":["../../../src/middleware/account/InterchainAccount.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InterchainAccount.d.ts","sourceRoot":"","sources":["../../../src/middleware/account/InterchainAccount.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import { BigNumber, ethers } from 'ethers';
2
2
  import { InterchainAccountRouter__factory, } from '@hyperlane-xyz/core';
3
- import { addBufferToGasLimit, addressToBytes32, arrayToObject, bytes32ToAddress, eqAddress, formatStandardHookMetadata, isZeroishAddress, objFilter, objMap, parseStandardHookMetadata, promiseObjAll, } from '@hyperlane-xyz/utils';
3
+ import { addBufferToGasLimit, addressToBytes32, arrayToObject, assert, bytes32ToAddress, eqAddress, formatStandardHookMetadata, isNullish, isZeroishAddress, objFilter, objMap, parseStandardHookMetadata, promiseObjAll, } from '@hyperlane-xyz/utils';
4
4
  import { appFromAddressesMapHelper } from '../../contracts/contracts.js';
5
5
  import { RouterApp } from '../../router/RouterApps.js';
6
+ import { isMissingSelectorCallException } from '../../utils/contract.js';
6
7
  import { estimateCallGas, estimateHandleGasForRecipient, } from '../../utils/gas.js';
7
8
  import { interchainAccountFactories, } from './contracts.js';
8
9
  const IGP_DEFAULT_GAS = BigNumber.from(50_000);
@@ -35,18 +36,45 @@ export class InterchainAccount extends RouterApp {
35
36
  async getOrDeployAccount(deployIfNotExists, destinationChain, config) {
36
37
  const userSalt = config.userSalt ?? InterchainAccount.EMPTY_SALT;
37
38
  const originDomain = this.multiProvider.tryGetDomainId(config.origin);
38
- if (!originDomain) {
39
+ if (isNullish(originDomain)) {
39
40
  throw new Error(`Origin chain (${config.origin}) metadata needed for deploying ICAs ...`);
40
41
  }
41
- const destinationRouter = this.router(this.contractsMap[destinationChain]);
42
- const originRouterAddress = config.localRouter
43
- ? bytes32ToAddress(config.localRouter)
44
- : bytes32ToAddress(await destinationRouter.routers(originDomain));
42
+ const destinationContracts = this.contractsMap[destinationChain];
43
+ assert(destinationContracts?.interchainAccountRouter, `No interchain account router configured for ${destinationChain}`);
44
+ const destinationRouter = this.router(destinationContracts);
45
+ const bytecodeHashPromise = destinationRouter
46
+ .bytecodeHash()
47
+ .catch((error) => {
48
+ if (isMissingSelectorCallException(error))
49
+ return null;
50
+ throw error;
51
+ });
52
+ const [rawOriginRouter, rawIsm, bytecodeHash] = await Promise.all([
53
+ config.localRouter ?? destinationRouter.routers(originDomain),
54
+ config.ismOverride ?? destinationRouter.isms(originDomain),
55
+ bytecodeHashPromise,
56
+ ]);
57
+ const originRouterAddress = bytes32ToAddress(rawOriginRouter);
45
58
  if (isZeroishAddress(originRouterAddress)) {
46
59
  throw new Error(`Origin router address is zero for ${config.origin} on ${destinationChain}`);
47
60
  }
48
- const destinationIsmAddress = bytes32ToAddress(addressToBytes32(config.ismOverride ?? (await destinationRouter.isms(originDomain))));
49
- const destinationAccount = await destinationRouter['getLocalInterchainAccount(uint32,bytes32,bytes32,address,bytes32)'](originDomain, addressToBytes32(config.owner), addressToBytes32(originRouterAddress), destinationIsmAddress, userSalt);
61
+ const destinationIsmAddress = bytes32ToAddress(addressToBytes32(rawIsm));
62
+ const owner = addressToBytes32(config.owner);
63
+ const originRouter = addressToBytes32(originRouterAddress);
64
+ let destinationAccount;
65
+ if (isNullish(bytecodeHash)) {
66
+ destinationAccount = await destinationRouter['getLocalInterchainAccount(uint32,bytes32,bytes32,address,bytes32)'](originDomain, owner, originRouter, destinationIsmAddress, userSalt);
67
+ }
68
+ else {
69
+ const deploySalt = ethers.utils.solidityKeccak256(['uint32', 'bytes32', 'bytes32', 'bytes32', 'bytes32'], [
70
+ originDomain,
71
+ owner,
72
+ originRouter,
73
+ ethers.utils.hexZeroPad(destinationIsmAddress, 32),
74
+ userSalt,
75
+ ]);
76
+ destinationAccount = ethers.utils.getCreate2Address(destinationRouter.address, deploySalt, bytecodeHash);
77
+ }
50
78
  // If not deploying anything, return the account address.
51
79
  if (!deployIfNotExists) {
52
80
  return destinationAccount;
@@ -57,11 +85,11 @@ export class InterchainAccount extends RouterApp {
57
85
  .getCode(destinationAccount)) === '0x') {
58
86
  const txOverrides = this.multiProvider.getTransactionOverrides(destinationChain);
59
87
  // Estimate gas for deployment
60
- const gasEstimate = await destinationRouter.estimateGas['getDeployedInterchainAccount(uint32,bytes32,bytes32,address,bytes32)'](originDomain, addressToBytes32(config.owner), addressToBytes32(originRouterAddress), destinationIsmAddress, userSalt);
88
+ const gasEstimate = await destinationRouter.estimateGas['getDeployedInterchainAccount(uint32,bytes32,bytes32,address,bytes32)'](originDomain, owner, originRouter, destinationIsmAddress, userSalt);
61
89
  // Add buffer to gas estimate
62
90
  const gasWithBuffer = addBufferToGasLimit(gasEstimate);
63
91
  // Execute deployment with buffered gas estimate
64
- await this.multiProvider.handleTx(destinationChain, destinationRouter['getDeployedInterchainAccount(uint32,bytes32,bytes32,address,bytes32)'](originDomain, addressToBytes32(config.owner), addressToBytes32(originRouterAddress), destinationIsmAddress, userSalt, {
92
+ await this.multiProvider.handleTx(destinationChain, destinationRouter['getDeployedInterchainAccount(uint32,bytes32,bytes32,address,bytes32)'](originDomain, owner, originRouter, destinationIsmAddress, userSalt, {
65
93
  gasLimit: gasWithBuffer,
66
94
  ...txOverrides,
67
95
  }));