@hyperlane-xyz/sdk 13.2.1 → 13.4.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 (229) hide show
  1. package/dist/consts/multisigIsm.d.ts.map +1 -1
  2. package/dist/consts/multisigIsm.js +52 -90
  3. package/dist/consts/multisigIsm.js.map +1 -1
  4. package/dist/core/CoreDeployer.hardhat-test.js +5 -0
  5. package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
  6. package/dist/core/CosmosNativeCoreModule.d.ts.map +1 -1
  7. package/dist/core/CosmosNativeCoreModule.js +0 -1
  8. package/dist/core/CosmosNativeCoreModule.js.map +1 -1
  9. package/dist/core/CosmosNativeCoreReader.d.ts +3 -3
  10. package/dist/core/CosmosNativeCoreReader.d.ts.map +1 -1
  11. package/dist/core/CosmosNativeCoreReader.js +5 -5
  12. package/dist/core/CosmosNativeCoreReader.js.map +1 -1
  13. package/dist/core/EvmCoreModule.d.ts.map +1 -1
  14. package/dist/core/EvmCoreModule.hardhat-test.js +1 -2
  15. package/dist/core/EvmCoreModule.hardhat-test.js.map +1 -1
  16. package/dist/core/EvmCoreModule.js +7 -7
  17. package/dist/core/EvmCoreModule.js.map +1 -1
  18. package/dist/core/EvmCoreReader.d.ts.map +1 -1
  19. package/dist/core/EvmCoreReader.js +1 -1
  20. package/dist/core/EvmCoreReader.js.map +1 -1
  21. package/dist/core/EvmIcaModule.d.ts +3 -4
  22. package/dist/core/EvmIcaModule.d.ts.map +1 -1
  23. package/dist/core/EvmIcaModule.hardhat-test.js +25 -2
  24. package/dist/core/EvmIcaModule.hardhat-test.js.map +1 -1
  25. package/dist/core/EvmIcaModule.js +13 -11
  26. package/dist/core/EvmIcaModule.js.map +1 -1
  27. package/dist/core/HyperlaneRelayer.d.ts +40 -5
  28. package/dist/core/HyperlaneRelayer.d.ts.map +1 -1
  29. package/dist/core/types.d.ts +1794 -129
  30. package/dist/core/types.d.ts.map +1 -1
  31. package/dist/core/types.js +0 -1
  32. package/dist/core/types.js.map +1 -1
  33. package/dist/deploy/HyperlaneDeployer.d.ts +2 -1
  34. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  35. package/dist/deploy/HyperlaneDeployer.js +11 -8
  36. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  37. package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts.map +1 -1
  38. package/dist/deploy/HyperlaneProxyFactoryDeployer.js +10 -4
  39. package/dist/deploy/HyperlaneProxyFactoryDeployer.js.map +1 -1
  40. package/dist/deploy/contracts.js +1 -1
  41. package/dist/deploy/contracts.js.map +1 -1
  42. package/dist/deploy/proxy.d.ts +1 -1
  43. package/dist/deploy/proxy.d.ts.map +1 -1
  44. package/dist/deploy/proxy.js +4 -5
  45. package/dist/deploy/proxy.js.map +1 -1
  46. package/dist/deploy/verify/utils.d.ts +1 -0
  47. package/dist/deploy/verify/utils.d.ts.map +1 -1
  48. package/dist/deploy/verify/utils.js +8 -1
  49. package/dist/deploy/verify/utils.js.map +1 -1
  50. package/dist/fork/types.d.ts +2086 -0
  51. package/dist/fork/types.d.ts.map +1 -0
  52. package/dist/fork/types.js +142 -0
  53. package/dist/fork/types.js.map +1 -0
  54. package/dist/gas/token-prices.d.ts.map +1 -1
  55. package/dist/gas/token-prices.js +23 -4
  56. package/dist/gas/token-prices.js.map +1 -1
  57. package/dist/hook/CosmosNativeHookReader.d.ts +3 -3
  58. package/dist/hook/CosmosNativeHookReader.d.ts.map +1 -1
  59. package/dist/hook/CosmosNativeHookReader.js +4 -4
  60. package/dist/hook/CosmosNativeHookReader.js.map +1 -1
  61. package/dist/ica/EvmIcaReader.d.ts +2 -5
  62. package/dist/ica/EvmIcaReader.d.ts.map +1 -1
  63. package/dist/ica/EvmIcaReader.hardhat-test.js +2 -7
  64. package/dist/ica/EvmIcaReader.hardhat-test.js.map +1 -1
  65. package/dist/ica/EvmIcaReader.js +10 -44
  66. package/dist/ica/EvmIcaReader.js.map +1 -1
  67. package/dist/ica/types.d.ts +1005 -47
  68. package/dist/ica/types.d.ts.map +1 -1
  69. package/dist/ica/types.js +7 -22
  70. package/dist/ica/types.js.map +1 -1
  71. package/dist/index.d.ts +24 -18
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/index.js +21 -16
  74. package/dist/index.js.map +1 -1
  75. package/dist/ism/CosmosNativeIsmReader.d.ts +3 -3
  76. package/dist/ism/CosmosNativeIsmReader.d.ts.map +1 -1
  77. package/dist/ism/CosmosNativeIsmReader.js +4 -4
  78. package/dist/ism/CosmosNativeIsmReader.js.map +1 -1
  79. package/dist/ism/EvmIsmModule.hardhat-test.js +0 -5
  80. package/dist/ism/EvmIsmModule.hardhat-test.js.map +1 -1
  81. package/dist/ism/EvmIsmReader.d.ts +6 -3
  82. package/dist/ism/EvmIsmReader.d.ts.map +1 -1
  83. package/dist/ism/EvmIsmReader.js +87 -43
  84. package/dist/ism/EvmIsmReader.js.map +1 -1
  85. package/dist/ism/EvmIsmReader.test.js +36 -1
  86. package/dist/ism/EvmIsmReader.test.js.map +1 -1
  87. package/dist/ism/HyperlaneIsmFactory.d.ts +0 -1
  88. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  89. package/dist/ism/HyperlaneIsmFactory.js +6 -11
  90. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  91. package/dist/ism/metadata/arbL2ToL1.hardhat-test.js +0 -1
  92. package/dist/ism/metadata/arbL2ToL1.hardhat-test.js.map +1 -1
  93. package/dist/ism/metadata/builder.d.ts +4 -4
  94. package/dist/ism/metadata/builder.d.ts.map +1 -1
  95. package/dist/ism/metadata/builder.hardhat-test.js +0 -1
  96. package/dist/ism/metadata/builder.hardhat-test.js.map +1 -1
  97. package/dist/ism/metadata/builder.js +7 -7
  98. package/dist/ism/metadata/builder.js.map +1 -1
  99. package/dist/ism/metadata/ccipread.d.ts +5 -4
  100. package/dist/ism/metadata/ccipread.d.ts.map +1 -1
  101. package/dist/ism/metadata/ccipread.hardhat-test.js +7 -13
  102. package/dist/ism/metadata/ccipread.hardhat-test.js.map +1 -1
  103. package/dist/ism/metadata/ccipread.js +9 -8
  104. package/dist/ism/metadata/ccipread.js.map +1 -1
  105. package/dist/ism/metadata/decode.js +2 -2
  106. package/dist/ism/metadata/decode.js.map +1 -1
  107. package/dist/ism/metadata/routing.d.ts +4 -2
  108. package/dist/ism/metadata/routing.d.ts.map +1 -1
  109. package/dist/ism/metadata/routing.js +33 -39
  110. package/dist/ism/metadata/routing.js.map +1 -1
  111. package/dist/ism/types.d.ts +77 -19
  112. package/dist/ism/types.d.ts.map +1 -1
  113. package/dist/ism/types.js +26 -12
  114. package/dist/ism/types.js.map +1 -1
  115. package/dist/ism/utils.d.ts.map +1 -1
  116. package/dist/ism/utils.js +12 -10
  117. package/dist/ism/utils.js.map +1 -1
  118. package/dist/middleware/account/InterchainAccount.d.ts +52 -2
  119. package/dist/middleware/account/InterchainAccount.d.ts.map +1 -1
  120. package/dist/middleware/account/InterchainAccount.js +53 -10
  121. package/dist/middleware/account/InterchainAccount.js.map +1 -1
  122. package/dist/middleware/account/InterchainAccountChecker.d.ts +3 -6
  123. package/dist/middleware/account/InterchainAccountChecker.d.ts.map +1 -1
  124. package/dist/middleware/account/InterchainAccountChecker.js +2 -17
  125. package/dist/middleware/account/InterchainAccountChecker.js.map +1 -1
  126. package/dist/middleware/account/InterchainAccountDeployer.d.ts +3 -8
  127. package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
  128. package/dist/middleware/account/InterchainAccountDeployer.js +11 -31
  129. package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
  130. package/dist/middleware/account/accounts.hardhat-test.js +10 -1
  131. package/dist/middleware/account/accounts.hardhat-test.js.map +1 -1
  132. package/dist/middleware/account/contracts.d.ts +1 -4
  133. package/dist/middleware/account/contracts.d.ts.map +1 -1
  134. package/dist/middleware/account/contracts.js +1 -4
  135. package/dist/middleware/account/contracts.js.map +1 -1
  136. package/dist/middleware/account/types.d.ts +2 -2
  137. package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -1
  138. package/dist/providers/SmartProvider/SmartProvider.foundry-test.js +6 -0
  139. package/dist/providers/SmartProvider/SmartProvider.foundry-test.js.map +1 -1
  140. package/dist/providers/SmartProvider/SmartProvider.js +7 -3
  141. package/dist/providers/SmartProvider/SmartProvider.js.map +1 -1
  142. package/dist/providers/transactions/submitter/builder/types.d.ts +10 -10
  143. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts +2 -3
  144. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts.map +1 -1
  145. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.js +20 -16
  146. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.js.map +1 -1
  147. package/dist/providers/transactions/transformer/ethersV5/types.d.ts +3 -3
  148. package/dist/providers/transactions/transformer/types.d.ts +3 -3
  149. package/dist/rebalancer/types.d.ts +875 -0
  150. package/dist/rebalancer/types.d.ts.map +1 -0
  151. package/dist/rebalancer/types.js +119 -0
  152. package/dist/rebalancer/types.js.map +1 -0
  153. package/dist/router/EvmRouterReader.d.ts +18 -0
  154. package/dist/router/EvmRouterReader.d.ts.map +1 -0
  155. package/dist/router/EvmRouterReader.js +60 -0
  156. package/dist/router/EvmRouterReader.js.map +1 -0
  157. package/dist/router/HyperlaneRouterChecker.d.ts +3 -0
  158. package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
  159. package/dist/router/HyperlaneRouterChecker.js +14 -4
  160. package/dist/router/HyperlaneRouterChecker.js.map +1 -1
  161. package/dist/router/types.d.ts +139 -31
  162. package/dist/router/types.d.ts.map +1 -1
  163. package/dist/router/types.js +13 -4
  164. package/dist/router/types.js.map +1 -1
  165. package/dist/token/CosmosNativeWarpRouteReader.d.ts +51 -0
  166. package/dist/token/CosmosNativeWarpRouteReader.d.ts.map +1 -0
  167. package/dist/token/CosmosNativeWarpRouteReader.js +123 -0
  168. package/dist/token/CosmosNativeWarpRouteReader.js.map +1 -0
  169. package/dist/token/EvmERC20WarpModule.d.ts +13 -0
  170. package/dist/token/EvmERC20WarpModule.d.ts.map +1 -1
  171. package/dist/token/EvmERC20WarpModule.hardhat-test.js +354 -9
  172. package/dist/token/EvmERC20WarpModule.hardhat-test.js.map +1 -1
  173. package/dist/token/EvmERC20WarpModule.js +211 -9
  174. package/dist/token/EvmERC20WarpModule.js.map +1 -1
  175. package/dist/token/EvmERC20WarpRouteReader.d.ts +7 -11
  176. package/dist/token/EvmERC20WarpRouteReader.d.ts.map +1 -1
  177. package/dist/token/EvmERC20WarpRouteReader.js +97 -45
  178. package/dist/token/EvmERC20WarpRouteReader.js.map +1 -1
  179. package/dist/token/TokenMetadataMap.d.ts +1 -2
  180. package/dist/token/TokenMetadataMap.d.ts.map +1 -1
  181. package/dist/token/TokenMetadataMap.js +2 -20
  182. package/dist/token/TokenMetadataMap.js.map +1 -1
  183. package/dist/token/TokenStandard.d.ts +5 -1
  184. package/dist/token/TokenStandard.d.ts.map +1 -1
  185. package/dist/token/TokenStandard.js +29 -1
  186. package/dist/token/TokenStandard.js.map +1 -1
  187. package/dist/token/adapters/CosmosModuleTokenAdapter.d.ts +1 -1
  188. package/dist/token/adapters/CosmosModuleTokenAdapter.d.ts.map +1 -1
  189. package/dist/token/adapters/CosmosModuleTokenAdapter.js +7 -4
  190. package/dist/token/adapters/CosmosModuleTokenAdapter.js.map +1 -1
  191. package/dist/token/adapters/EvmTokenAdapter.d.ts +14 -2
  192. package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
  193. package/dist/token/adapters/EvmTokenAdapter.js +64 -3
  194. package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
  195. package/dist/token/adapters/ITokenAdapter.d.ts +9 -1
  196. package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -1
  197. package/dist/token/config.d.ts +25 -0
  198. package/dist/token/config.d.ts.map +1 -1
  199. package/dist/token/config.js +25 -0
  200. package/dist/token/config.js.map +1 -1
  201. package/dist/token/configUtils.d.ts.map +1 -1
  202. package/dist/token/configUtils.js +13 -3
  203. package/dist/token/configUtils.js.map +1 -1
  204. package/dist/token/configUtils.test.js +2 -2
  205. package/dist/token/configUtils.test.js.map +1 -1
  206. package/dist/token/contracts.d.ts +37 -31
  207. package/dist/token/contracts.d.ts.map +1 -1
  208. package/dist/token/contracts.js +8 -1
  209. package/dist/token/contracts.js.map +1 -1
  210. package/dist/token/deploy.d.ts +12 -5
  211. package/dist/token/deploy.d.ts.map +1 -1
  212. package/dist/token/deploy.js +140 -5
  213. package/dist/token/deploy.js.map +1 -1
  214. package/dist/token/types.d.ts +2812 -83
  215. package/dist/token/types.d.ts.map +1 -1
  216. package/dist/token/types.js +76 -5
  217. package/dist/token/types.js.map +1 -1
  218. package/dist/utils/decimals.d.ts +3 -0
  219. package/dist/utils/decimals.d.ts.map +1 -0
  220. package/dist/utils/decimals.js +34 -0
  221. package/dist/utils/decimals.js.map +1 -0
  222. package/dist/utils/decimals.test.d.ts +2 -0
  223. package/dist/utils/decimals.test.d.ts.map +1 -0
  224. package/dist/utils/decimals.test.js +173 -0
  225. package/dist/utils/decimals.test.js.map +1 -0
  226. package/dist/warp/WarpCore.d.ts.map +1 -1
  227. package/dist/warp/WarpCore.js +2 -1
  228. package/dist/warp/WarpCore.js.map +1 -1
  229. package/package.json +12 -8
@@ -1 +1 @@
1
- {"version":3,"file":"builder.hardhat-test.js","sourceRoot":"","sources":["../../../src/ism/metadata/builder.hardhat-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.hardhat-test.js","sourceRoot":"","sources":["../../../src/ism/metadata/builder.hardhat-test.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,11 @@ import { HookType, } from '../../hook/types.js';
3
3
  import { IsmType } from '../types.js';
4
4
  import { AggregationMetadataBuilder } from './aggregation.js';
5
5
  import { ArbL2ToL1MetadataBuilder } from './arbL2ToL1.js';
6
- import { CcipReadMetadataBuilder } from './ccipread.js';
6
+ import { OffchainLookupMetadataBuilder } from './ccipread.js';
7
7
  import { decodeIsmMetadata } from './decode.js';
8
8
  import { MultisigMetadataBuilder } from './multisig.js';
9
9
  import { NullMetadataBuilder } from './null.js';
10
- import { DefaultFallbackRoutingMetadataBuilder } from './routing.js';
10
+ import { DynamicRoutingMetadataBuilder } from './routing.js';
11
11
  export class BaseMetadataBuilder {
12
12
  nullMetadataBuilder;
13
13
  multisigMetadataBuilder;
@@ -20,10 +20,10 @@ export class BaseMetadataBuilder {
20
20
  constructor(core) {
21
21
  this.multisigMetadataBuilder = new MultisigMetadataBuilder(core);
22
22
  this.aggregationMetadataBuilder = new AggregationMetadataBuilder(this);
23
- this.routingMetadataBuilder = new DefaultFallbackRoutingMetadataBuilder(this);
23
+ this.routingMetadataBuilder = new DynamicRoutingMetadataBuilder(this);
24
24
  this.nullMetadataBuilder = new NullMetadataBuilder(core.multiProvider);
25
25
  this.arbL2ToL1MetadataBuilder = new ArbL2ToL1MetadataBuilder(core);
26
- this.ccipReadMetadataBuilder = new CcipReadMetadataBuilder(core);
26
+ this.ccipReadMetadataBuilder = new OffchainLookupMetadataBuilder(core);
27
27
  this.multiProvider = core.multiProvider;
28
28
  }
29
29
  // assumes that all post dispatch hooks are included in dispatchTx logs
@@ -52,8 +52,8 @@ export class BaseMetadataBuilder {
52
52
  });
53
53
  case IsmType.ROUTING:
54
54
  case IsmType.FALLBACK_ROUTING:
55
- case IsmType.ICA_ROUTING:
56
55
  case IsmType.AMOUNT_ROUTING:
56
+ case IsmType.INTERCHAIN_ACCOUNT_ROUTING:
57
57
  return this.routingMetadataBuilder.build({
58
58
  ...context,
59
59
  ism,
@@ -68,13 +68,13 @@ export class BaseMetadataBuilder {
68
68
  hook: hookConfig,
69
69
  });
70
70
  }
71
- case IsmType.CCIP_READ:
71
+ case IsmType.OFFCHAIN_LOOKUP:
72
72
  return this.ccipReadMetadataBuilder.build({
73
73
  ...context,
74
74
  ism,
75
75
  });
76
76
  default:
77
- throw new Error(`Unsupported ISM: ${ism}`);
77
+ throw new Error(`Unsupported ISM: ${JSON.stringify(ism)}`);
78
78
  }
79
79
  }
80
80
  static decode(metadata, context) {
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/ism/metadata/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,MAAM,EACN,QAAQ,EACR,UAAU,GACX,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAEL,QAAQ,GAET,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,qCAAqC,EAAE,MAAM,cAAc,CAAC;AAOrE,MAAM,OAAO,mBAAmB;IACvB,mBAAmB,CAAsB;IACzC,uBAAuB,CAA0B;IACjD,0BAA0B,CAA6B;IACvD,sBAAsB,CAAwC;IAC9D,wBAAwB,CAA2B;IACnD,uBAAuB,CAA0B;IAEjD,aAAa,CAAgB;IAC1B,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAEvE,YAAY,IAAmB;QAC7B,IAAI,CAAC,uBAAuB,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,0BAA0B,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC;QACvE,IAAI,CAAC,sBAAsB,GAAG,IAAI,qCAAqC,CACrE,IAAI,CACL,CAAC;QACF,IAAI,CAAC,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACvE,IAAI,CAAC,wBAAwB,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,uBAAuB,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;IAC1C,CAAC;IAED,uEAAuE;IACvE,KAAK,CAAC,KAAK,CAAC,OAAwB,EAAE,QAAQ,GAAG,EAAE;QACjD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,EAAE,OAAO,EAAE,QAAQ,EAAE,EACrB,YAAY,OAAO,CAAC,GAAG,CAAC,IAAI,WAAW,CACxC,CAAC;QACF,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,mBAAmB,CAAC,CAAC;QAE1C,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QAC9B,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,OAAO,CAAC,eAAe,CAAC;YAC7B,KAAK,OAAO,CAAC,QAAQ,CAAC;YACtB,KAAK,OAAO,CAAC,QAAQ,CAAC;YACtB,KAAK,OAAO,CAAC,QAAQ;gBACnB,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAE7D,KAAK,OAAO,CAAC,oBAAoB,CAAC;YAClC,KAAK,OAAO,CAAC,mBAAmB;gBAC9B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;gBACvE,CAAC;gBACD,gDAAgD;gBAChD,MAAM,cAAc,GAAG,QAAQ,CAC7B,IAAI,EACJ,CAAC,CAAC,EAA0C,EAAE,CAC5C,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CACjD,CAAC;gBACF,MAAM,CAAC,cAAc,EAAE,oCAAoC,CAAC,CAAC;gBAC7D,OAAO,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;oBACxC,GAAG,OAAO;oBACV,GAAG;oBACH,IAAI,EAAE,cAAc;iBACrB,CAAC,CAAC;YAEL,KAAK,OAAO,CAAC,OAAO,CAAC;YACrB,KAAK,OAAO,CAAC,gBAAgB,CAAC;YAC9B,KAAK,OAAO,CAAC,WAAW,CAAC;YACzB,KAAK,OAAO,CAAC,cAAc;gBACzB,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,CACtC;oBACE,GAAG,OAAO;oBACV,GAAG;iBACJ,EACD,QAAQ,CACT,CAAC;YAEJ,KAAK,OAAO,CAAC,WAAW;gBACtB,OAAO,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAC1C,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,EACnB,QAAQ,CACT,CAAC;YAEJ,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC1B,MAAM,UAAU,GAAG,IAAwC,CAAC;gBAC5D,OAAO,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC;oBACzC,GAAG,OAAO;oBACV,GAAG;oBACH,IAAI,EAAE,UAAU;iBACjB,CAAC,CAAC;YACL,CAAC;YAED,KAAK,OAAO,CAAC,SAAS;gBACpB,OAAO,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;oBACxC,GAAG,OAAO;oBACV,GAAG;iBACJ,CAAC,CAAC;YAEL;gBACE,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CACX,QAAgB,EAChB,OAAwB;QAExB,OAAO,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;CACF"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/ism/metadata/builder.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  import { WithAddress } from '@hyperlane-xyz/utils';
2
2
  import { HyperlaneCore } from '../../core/HyperlaneCore.js';
3
- import { CCIPReadIsmConfig, IsmType } from '../types.js';
3
+ import { IsmType, OffchainLookupIsmConfig } from '../types.js';
4
4
  import type { MetadataBuilder, MetadataContext } from './types.js';
5
- export declare class CcipReadMetadataBuilder implements MetadataBuilder {
6
- readonly type = IsmType.CCIP;
5
+ export declare class OffchainLookupMetadataBuilder implements MetadataBuilder {
6
+ readonly type = IsmType.OFFCHAIN_LOOKUP;
7
7
  private core;
8
8
  constructor(core: HyperlaneCore);
9
- build(context: MetadataContext<WithAddress<CCIPReadIsmConfig>>): Promise<string>;
9
+ build(context: MetadataContext<WithAddress<OffchainLookupIsmConfig>>): Promise<string>;
10
10
  }
11
+ export declare function offchainLookupRequestMessageHash(sender: string, callData: string, urlTemplate: string): string;
11
12
  //# sourceMappingURL=ccipread.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ccipread.d.ts","sourceRoot":"","sources":["../../../src/ism/metadata/ccipread.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEnE,qBAAa,uBAAwB,YAAW,eAAe;IAC7D,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,OAAO,CAAC,IAAI,CAAgB;gBAEhB,IAAI,EAAE,aAAa;IAIzB,KAAK,CACT,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,GACvD,OAAO,CAAC,MAAM,CAAC;CAoEnB"}
1
+ {"version":3,"file":"ccipread.d.ts","sourceRoot":"","sources":["../../../src/ism/metadata/ccipread.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEnE,qBAAa,6BAA8B,YAAW,eAAe;IACnE,QAAQ,CAAC,IAAI,2BAA2B;IACxC,OAAO,CAAC,IAAI,CAAgB;gBAEhB,IAAI,EAAE,aAAa;IAIzB,KAAK,CACT,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC,GAC7D,OAAO,CAAC,MAAM,CAAC;CA0EnB;AAED,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,MAAM,CAKR"}
@@ -10,7 +10,9 @@ import { MultiProvider } from '../../providers/MultiProvider.js';
10
10
  import { EvmIsmReader } from '../EvmIsmReader.js';
11
11
  import { HyperlaneIsmFactory } from '../HyperlaneIsmFactory.js';
12
12
  import { BaseMetadataBuilder } from './builder.js';
13
- describe('CCIP-Read ISM Integration', () => {
13
+ import { offchainLookupRequestMessageHash } from './ccipread.js';
14
+ const OFFCHAIN_LOOKUP_SERVER_URL = 'http://example.com/namespace';
15
+ describe('Offchain Lookup ISM Integration', () => {
14
16
  let core;
15
17
  let multiProvider;
16
18
  let testRecipient;
@@ -18,7 +20,6 @@ describe('CCIP-Read ISM Integration', () => {
18
20
  let metadataBuilder;
19
21
  let ismFactory;
20
22
  let fetchStub;
21
- const CCIP_READ_SERVER_URL = 'http://example.com/namespace';
22
23
  beforeEach(async () => {
23
24
  // Set up a local test multi-provider and Hyperlane core
24
25
  const signers = await hre.ethers.getSigners();
@@ -38,7 +39,7 @@ describe('CCIP-Read ISM Integration', () => {
38
39
  const domain = multiProvider.getDomainId('test1');
39
40
  ccipReadIsm = await multiProvider.handleDeploy(domain, new TestCcipReadIsm__factory(),
40
41
  // Pass in desired offchain URLs for the ISM constructor:
41
- [[CCIP_READ_SERVER_URL]]);
42
+ [[OFFCHAIN_LOOKUP_SERVER_URL]]);
42
43
  // Configure the TestRecipient to use the CCIP-Read ISM
43
44
  await testRecipient.setInterchainSecurityModule(ccipReadIsm.address);
44
45
  // Prepare the metadata builder
@@ -54,7 +55,7 @@ describe('CCIP-Read ISM Integration', () => {
54
55
  // Send a message from test1 to test2
55
56
  const { dispatchTx, message } = await core.sendMessage('test1', 'test2', testRecipient.address, '0x1234');
56
57
  // Derive the on-chain ISM config for CCIP-Read
57
- const derivedIsm = (await new EvmIsmReader(multiProvider, 'test2').deriveIsmConfig(ccipReadIsm.address));
58
+ const derivedIsm = await new EvmIsmReader(multiProvider, 'test2').deriveOffchainLookupConfig(ccipReadIsm.address);
58
59
  // Build the metadata using the CCIP-Read builder
59
60
  const context = {
60
61
  ism: derivedIsm,
@@ -83,18 +84,11 @@ describe('CCIP-Read ISM Integration', () => {
83
84
  expect(fetchStub.calledOnce).to.be.true;
84
85
  const [url, options] = fetchStub.getCall(0).args;
85
86
  const payload = JSON.parse(options.body);
86
- expect(url).to.equal(CCIP_READ_SERVER_URL.replace('{data}', payload.data));
87
+ expect(url).to.equal(OFFCHAIN_LOOKUP_SERVER_URL.replace('{data}', payload.data));
87
88
  // Should include sender, data, and signature
88
89
  expect(payload).to.include.keys('sender', 'data', 'signature');
89
90
  expect(payload.sender).to.equal(ccipReadIsm.address);
90
- // Verify that signature is valid over (data, sender)
91
- const messageHash = ethers.utils.solidityKeccak256(['string', 'address', 'bytes', 'string'], [
92
- 'HYPERLANE_OFFCHAINLOOKUP',
93
- payload.sender,
94
- payload.data,
95
- CCIP_READ_SERVER_URL,
96
- ]);
97
- const recovered = ethers.utils.verifyMessage(ethers.utils.arrayify(messageHash), payload.signature);
91
+ const recovered = ethers.utils.verifyMessage(ethers.utils.arrayify(offchainLookupRequestMessageHash(payload.sender, payload.data, OFFCHAIN_LOOKUP_SERVER_URL)), payload.signature);
98
92
  expect(recovered).to.equal((await hre.ethers.getSigners())[0].address);
99
93
  });
100
94
  afterEach(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"ccipread.hardhat-test.js","sourceRoot":"","sources":["../../../src/ism/metadata/ccipread.hardhat-test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,GAAG,MAAM,SAAS,CAAC;AAC1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAI/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,6BAA6B,EAAE,MAAM,+CAA+C,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGnD,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,IAAI,IAAmB,CAAC;IACxB,IAAI,aAA4B,CAAC;IACjC,IAAI,aAAkB,CAAC;IACvB,IAAI,WAAgB,CAAC;IACrB,IAAI,eAAoC,CAAC;IACzC,IAAI,UAA+B,CAAC;IACpC,IAAI,SAA0B,CAAC;IAC/B,MAAM,oBAAoB,GAAG,8BAA8B,CAAC;IAE5D,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,wDAAwD;QACxD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAC9C,aAAa,GAAG,aAAa,CAAC,uBAAuB,CAAC;YACpD,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;SACnB,CAAC,CAAC;QACH,MAAM,kBAAkB,GAAG,IAAI,6BAA6B,CAAC,aAAa,CAAC,CAAC;QAC5E,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAClD,aAAa,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CACzC,CAAC;QACF,UAAU,GAAG,IAAI,mBAAmB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAClE,IAAI,GAAG,MAAM,IAAI,gBAAgB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,SAAS,EAAE,CAAC;QAEzE,kCAAkC;QAClC,MAAM,WAAW,GAAG,MAAM,IAAI,qBAAqB,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC;YACxE,KAAK,EAAE,EAAE;SACV,CAAC,CAAC;QACH,aAAa,GAAI,WAAW,CAAC,KAAa,CAAC,aAAa,CAAC;QAEzD,6CAA6C;QAC7C,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAClD,WAAW,GAAG,MAAM,aAAa,CAAC,YAAY,CAC5C,MAAM,EACN,IAAI,wBAAwB,EAAE;QAC9B,yDAAyD;QACzD,CAAC,CAAC,oBAAoB,CAAC,CAAC,CACzB,CAAC;QAEF,uDAAuD;QACvD,MAAM,aAAa,CAAC,2BAA2B,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAErE,+BAA+B;QAC/B,eAAe,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAEhD,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC;YAC/C,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;gBACjB,IAAI,EAAE,oEAAoE;aAC3E,CAAC;SACS,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,qCAAqC;QACrC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CACpD,OAAO,EACP,OAAO,EACP,aAAa,CAAC,OAAO,EACrB,QAAQ,CACT,CAAC;QAEF,+CAA+C;QAC/C,MAAM,UAAU,GAAG,CAAC,MAAM,IAAI,YAAY,CACxC,aAAa,EACb,OAAO,CACR,CAAC,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,CAAmC,CAAC;QAE1E,iDAAiD;QACjD,MAAM,OAAO,GAAoD;YAC/D,GAAG,EAAE,UAAU;YACf,OAAO;YACP,UAAU;YACV,IAAI,EAAE,EAAS;SAChB,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEtD,uEAAuE;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;QACnD,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CACpD,OAAO,EACP,OAAO,EACP,aAAa,CAAC,OAAO,EACrB,QAAQ,CACT,CAAC;QAEF,+CAA+C;QAC/C,MAAM,UAAU,GAAG,CAAC,MAAM,IAAI,YAAY,CACxC,aAAa,EACb,OAAO,CACR,CAAC,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,CAAmC,CAAC;QAE1E,iDAAiD;QACjD,MAAM,OAAO,GAAoD;YAC/D,GAAG,EAAE,UAAU;YACf,OAAO;YACP,UAAU;YACV,IAAI,EAAE,EAAS;SAChB,CAAC;QACF,MAAM,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAErC,4CAA4C;QAC5C,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACxC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAc,CAAC,CAAC;QACnD,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3E,6CAA6C;QAC7C,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAC/D,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAErD,qDAAqD;QACrD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAChD,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,EACxC;YACE,0BAA0B;YAC1B,OAAO,CAAC,MAAM;YACd,OAAO,CAAC,IAAI;YACZ,oBAAoB;SACrB,CACF,CAAC;QACF,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAC1C,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAClC,OAAO,CAAC,SAAS,CAClB,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"ccipread.hardhat-test.js","sourceRoot":"","sources":["../../../src/ism/metadata/ccipread.hardhat-test.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,16 @@
1
1
  import { utils } from 'ethers';
2
- import { ICcipReadIsm__factory } from '@hyperlane-xyz/core';
2
+ import { AbstractCcipReadIsm__factory } from '@hyperlane-xyz/core';
3
3
  import { IsmType } from '../types.js';
4
- export class CcipReadMetadataBuilder {
5
- type = IsmType.CCIP;
4
+ export class OffchainLookupMetadataBuilder {
5
+ type = IsmType.OFFCHAIN_LOOKUP;
6
6
  core;
7
7
  constructor(core) {
8
8
  this.core = core;
9
9
  }
10
10
  async build(context) {
11
11
  const { ism, message } = context;
12
- const provider = this.core.multiProvider.getProvider(message.parsed.origin);
13
- const contract = ICcipReadIsm__factory.connect(ism.address, provider);
12
+ const provider = this.core.multiProvider.getProvider(message.parsed.destination);
13
+ const contract = AbstractCcipReadIsm__factory.connect(ism.address, provider);
14
14
  let revertData;
15
15
  try {
16
16
  // Should revert with OffchainLookup
@@ -40,9 +40,7 @@ export class CcipReadMetadataBuilder {
40
40
  responseJson = await res.json();
41
41
  }
42
42
  else {
43
- // Compute and sign authentication signature
44
- const messageHash = utils.solidityKeccak256(['string', 'address', 'bytes', 'string'], ['HYPERLANE_OFFCHAINLOOKUP', sender, callDataHex, urlTemplate]);
45
- const signature = await signer.signMessage(utils.arrayify(messageHash));
43
+ const signature = await signer.signMessage(utils.arrayify(offchainLookupRequestMessageHash(sender, callDataHex, urlTemplate)));
46
44
  const res = await fetch(url, {
47
45
  method: 'POST',
48
46
  headers: { 'Content-Type': 'application/json' },
@@ -61,4 +59,7 @@ export class CcipReadMetadataBuilder {
61
59
  throw new Error('Could not fetch CCIP-read metadata');
62
60
  }
63
61
  }
62
+ export function offchainLookupRequestMessageHash(sender, callData, urlTemplate) {
63
+ return utils.solidityKeccak256(['string', 'address', 'bytes', 'string'], ['HYPERLANE_OFFCHAINLOOKUP', sender, callData, urlTemplate]);
64
+ }
64
65
  //# sourceMappingURL=ccipread.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ccipread.js","sourceRoot":"","sources":["../../../src/ism/metadata/ccipread.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ccipread.js","sourceRoot":"","sources":["../../../src/ism/metadata/ccipread.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { AggregationMetadataBuilder } from './aggregation.js';
3
3
  import { ArbL2ToL1MetadataBuilder } from './arbL2ToL1.js';
4
4
  import { MultisigMetadataBuilder } from './multisig.js';
5
5
  import { NullMetadataBuilder } from './null.js';
6
- import { DefaultFallbackRoutingMetadataBuilder } from './routing.js';
6
+ import { DynamicRoutingMetadataBuilder } from './routing.js';
7
7
  export function decodeIsmMetadata(metadata, context) {
8
8
  const { ism } = context;
9
9
  switch (ism.type) {
@@ -15,7 +15,7 @@ export function decodeIsmMetadata(metadata, context) {
15
15
  case IsmType.AGGREGATION:
16
16
  return AggregationMetadataBuilder.decode(metadata, { ...context, ism });
17
17
  case IsmType.ROUTING:
18
- return DefaultFallbackRoutingMetadataBuilder.decode(metadata, {
18
+ return DynamicRoutingMetadataBuilder.decode(metadata, {
19
19
  ...context,
20
20
  ism,
21
21
  });
@@ -1 +1 @@
1
- {"version":3,"file":"decode.js","sourceRoot":"","sources":["../../../src/ism/metadata/decode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,qCAAqC,EAAE,MAAM,cAAc,CAAC;AAGrE,MAAM,UAAU,iBAAiB,CAC/B,QAAgB,EAChB,OAAwB;IAExB,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IACxB,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,OAAO,CAAC,eAAe;YAC1B,OAAO,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEzC,KAAK,OAAO,CAAC,oBAAoB,CAAC;QAClC,KAAK,OAAO,CAAC,mBAAmB;YAC9B,OAAO,uBAAuB,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAE5D,KAAK,OAAO,CAAC,WAAW;YACtB,OAAO,0BAA0B,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAE1E,KAAK,OAAO,CAAC,OAAO;YAClB,OAAO,qCAAqC,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAC5D,GAAG,OAAO;gBACV,GAAG;aACJ,CAAC,CAAC;QAEL,KAAK,OAAO,CAAC,YAAY;YACvB,OAAO,wBAAwB,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAC/C,GAAG,OAAO;gBACV,GAAG;aACJ,CAAC,CAAC;QAEL;YACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"decode.js","sourceRoot":"","sources":["../../../src/ism/metadata/decode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAG7D,MAAM,UAAU,iBAAiB,CAC/B,QAAgB,EAChB,OAAwB;IAExB,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IACxB,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,OAAO,CAAC,eAAe;YAC1B,OAAO,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEzC,KAAK,OAAO,CAAC,oBAAoB,CAAC;QAClC,KAAK,OAAO,CAAC,mBAAmB;YAC9B,OAAO,uBAAuB,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAE5D,KAAK,OAAO,CAAC,WAAW;YACtB,OAAO,0BAA0B,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAE1E,KAAK,OAAO,CAAC,OAAO;YAClB,OAAO,6BAA6B,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACpD,GAAG,OAAO;gBACV,GAAG;aACJ,CAAC,CAAC;QAEL,KAAK,OAAO,CAAC,YAAY;YACvB,OAAO,wBAAwB,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAC/C,GAAG,OAAO;gBACV,GAAG;aACJ,CAAC,CAAC;QAEL;YACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;AACH,CAAC"}
@@ -8,13 +8,15 @@ export type RoutingMetadata<T> = {
8
8
  origin: ChainName;
9
9
  metadata: T;
10
10
  };
11
- export declare class RoutingMetadataBuilder implements MetadataBuilder {
11
+ export declare class StaticRoutingMetadataBuilder implements MetadataBuilder {
12
12
  protected baseMetadataBuilder: BaseMetadataBuilder;
13
13
  constructor(baseMetadataBuilder: BaseMetadataBuilder);
14
14
  build(context: MetadataContext<WithAddress<DomainRoutingIsmConfig>>, maxDepth?: number): Promise<string>;
15
15
  static decode(metadata: string, context: MetadataContext<WithAddress<DomainRoutingIsmConfig>>): RoutingMetadata<StructuredMetadata | string>;
16
16
  }
17
- export declare class DefaultFallbackRoutingMetadataBuilder extends RoutingMetadataBuilder {
17
+ export declare class DynamicRoutingMetadataBuilder extends StaticRoutingMetadataBuilder {
18
+ protected baseMetadataBuilder: BaseMetadataBuilder;
19
+ constructor(baseMetadataBuilder: BaseMetadataBuilder);
18
20
  build(context: MetadataContext<WithAddress<RoutingIsmConfig>>, maxDepth?: number): Promise<string>;
19
21
  }
20
22
  //# sourceMappingURL=routing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../../src/ism/metadata/routing.ts"],"names":[],"mappings":"AAIA,OAAO,EAAW,WAAW,EAAU,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAEL,sBAAsB,EACtB,OAAO,EACP,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAC/B,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC;IACtB,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,CAAC,CAAC;CACb,CAAC;AAEF,qBAAa,sBAAuB,YAAW,eAAe;IAChD,SAAS,CAAC,mBAAmB,EAAE,mBAAmB;gBAAxC,mBAAmB,EAAE,mBAAmB;IAEjD,KAAK,CAChB,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,EAC7D,QAAQ,SAAK,GACZ,OAAO,CAAC,MAAM,CAAC;IAYlB,MAAM,CAAC,MAAM,CACX,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,GAC5D,eAAe,CAAC,kBAAkB,GAAG,MAAM,CAAC;CAmBhD;AAED,qBAAa,qCAAsC,SAAQ,sBAAsB;IAClE,KAAK,CAChB,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,EACvD,QAAQ,SAAK,GACZ,OAAO,CAAC,MAAM,CAAC;CAwEnB"}
1
+ {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../../src/ism/metadata/routing.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAU,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAEL,sBAAsB,EACtB,OAAO,EACP,gBAAgB,EAEjB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAC/B,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC;IACtB,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,CAAC,CAAC;CACb,CAAC;AAEF,qBAAa,4BAA6B,YAAW,eAAe;IACtD,SAAS,CAAC,mBAAmB,EAAE,mBAAmB;gBAAxC,mBAAmB,EAAE,mBAAmB;IAEjD,KAAK,CAChB,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,EAC7D,QAAQ,SAAK,GACZ,OAAO,CAAC,MAAM,CAAC;IAYlB,MAAM,CAAC,MAAM,CACX,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC,GAC5D,eAAe,CAAC,kBAAkB,GAAG,MAAM,CAAC;CAmBhD;AAED,qBAAa,6BAA8B,SAAQ,4BAA4B;IACjE,SAAS,CAAC,mBAAmB,EAAE,mBAAmB;gBAAxC,mBAAmB,EAAE,mBAAmB;IAIjD,KAAK,CAChB,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,EACvD,QAAQ,SAAK,GACZ,OAAO,CAAC,MAAM,CAAC;CAmDnB"}
@@ -1,9 +1,9 @@
1
- import { DefaultFallbackRoutingIsm__factory, InterchainAccountIsm__factory, } from '@hyperlane-xyz/core';
1
+ import { DefaultFallbackRoutingIsm__factory, IRoutingIsm__factory, } from '@hyperlane-xyz/core';
2
2
  import { assert } from '@hyperlane-xyz/utils';
3
3
  import { EvmIsmReader } from '../EvmIsmReader.js';
4
- import { IsmType, } from '../types.js';
4
+ import { IsmType, isDynamicallyRoutedIsmType, } from '../types.js';
5
5
  import { decodeIsmMetadata } from './decode.js';
6
- export class RoutingMetadataBuilder {
6
+ export class StaticRoutingMetadataBuilder {
7
7
  baseMetadataBuilder;
8
8
  constructor(baseMetadataBuilder) {
9
9
  this.baseMetadataBuilder = baseMetadataBuilder;
@@ -33,46 +33,40 @@ export class RoutingMetadataBuilder {
33
33
  };
34
34
  }
35
35
  }
36
- export class DefaultFallbackRoutingMetadataBuilder extends RoutingMetadataBuilder {
36
+ export class DynamicRoutingMetadataBuilder extends StaticRoutingMetadataBuilder {
37
+ baseMetadataBuilder;
38
+ constructor(baseMetadataBuilder) {
39
+ super(baseMetadataBuilder);
40
+ this.baseMetadataBuilder = baseMetadataBuilder;
41
+ }
37
42
  async build(context, maxDepth = 10) {
38
- const originChain = this.baseMetadataBuilder.multiProvider.getChainName(context.message.parsed.origin);
39
- const isRouted = context.ism.type === IsmType.ICA_ROUTING ||
40
- context.ism.type === IsmType.AMOUNT_ROUTING
41
- ? false
42
- : !!context.ism.domains[originChain];
43
- // If the chain is routed then we are 100% sure that the ism is not an ICA ISM
44
- if (isRouted && context.ism.type !== IsmType.ICA_ROUTING) {
45
- return super.build(
46
- // Typescript is not clever enough to understand that after the conditional check
47
- // the ism type will be of the same expected type
48
- context, maxDepth);
49
- }
50
- if (context.ism.type !== IsmType.FALLBACK_ROUTING &&
51
- context.ism.type !== IsmType.ICA_ROUTING &&
52
- context.ism.type !== IsmType.AMOUNT_ROUTING) {
53
- throw new Error(`Origin domain ${originChain} is not enrolled in DomainRoutingIsm`);
54
- }
55
- const destinationProvider = this.baseMetadataBuilder.multiProvider.getProvider(context.message.parsed.destination);
56
- let ismAddress;
57
- if (context.ism.type === IsmType.ICA_ROUTING) {
58
- const icaFallbackRoutingIsm = InterchainAccountIsm__factory.connect(context.ism.address, destinationProvider);
59
- ismAddress = await icaFallbackRoutingIsm.route(context.message.message);
43
+ const { message, ism } = context;
44
+ const originChain = this.baseMetadataBuilder.multiProvider.getChainName(message.parsed.origin);
45
+ const destination = message.parsed.destination;
46
+ const provider = this.baseMetadataBuilder.multiProvider.getProvider(destination);
47
+ // Helper to derive new ISM config and recurse
48
+ const deriveAndRecurse = async (moduleAddress) => {
49
+ const ismReader = new EvmIsmReader(this.baseMetadataBuilder.multiProvider, destination);
50
+ const nextConfig = await ismReader.deriveIsmConfig(moduleAddress);
51
+ return this.baseMetadataBuilder.build({ ...context, ism: nextConfig }, maxDepth - 1);
52
+ };
53
+ // 1) Dynamic routing (AmountRouting or ICA): always route via .route(message)
54
+ if (isDynamicallyRoutedIsmType(ism.type)) {
55
+ const router = IRoutingIsm__factory.connect(ism.address, provider);
56
+ const moduleAddr = await router.route(message.message);
57
+ return deriveAndRecurse(moduleAddr);
60
58
  }
61
- else if (context.ism.type === IsmType.AMOUNT_ROUTING) {
62
- const amountFallbackRoutingIsm = DefaultFallbackRoutingIsm__factory.connect(context.ism.address, destinationProvider);
63
- ismAddress = await amountFallbackRoutingIsm.route(context.message.message);
59
+ // 2) Static domain routing: if origin is enrolled, delegate to super
60
+ if (ism.domains?.[originChain]) {
61
+ return super.build(context, maxDepth);
64
62
  }
65
- else {
66
- const fallbackIsm = DefaultFallbackRoutingIsm__factory.connect(context.ism.address, destinationProvider);
67
- ismAddress = await fallbackIsm.module(context.message.parsed.origin);
63
+ // 3) Fallback routing: use .module(origin)
64
+ if (ism.type === IsmType.FALLBACK_ROUTING) {
65
+ const fallback = DefaultFallbackRoutingIsm__factory.connect(ism.address, provider);
66
+ const moduleAddr = await fallback.module(message.parsed.origin);
67
+ return deriveAndRecurse(moduleAddr);
68
68
  }
69
- const ismReader = new EvmIsmReader(this.baseMetadataBuilder.multiProvider, context.message.parsed.destination);
70
- const defaultIsmConfig = await ismReader.deriveIsmConfig(ismAddress);
71
- const originContext = {
72
- ...context,
73
- ism: defaultIsmConfig,
74
- };
75
- return this.baseMetadataBuilder.build(originContext, maxDepth - 1);
69
+ throw new Error(`DefaultFallbackRoutingMetadataBuilder: unexpected ISM type ${ism.type}`);
76
70
  }
77
71
  }
78
72
  //# sourceMappingURL=routing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../../src/ism/metadata/routing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../../src/ism/metadata/routing.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { ArbL2ToL1Ism, CCIPIsm, IAggregationIsm, ICcipReadIsm, IInterchainSecurityModule, IMultisigIsm, IRoutingIsm, IStaticWeightedMultisigIsm, OPStackIsm, PausableIsm, TestIsm, TrustedRelayerIsm } from '@hyperlane-xyz/core';
2
+ import { AbstractCcipReadIsm, ArbL2ToL1Ism, CCIPIsm, IAggregationIsm, IInterchainSecurityModule, IMultisigIsm, IRoutingIsm, IStaticWeightedMultisigIsm, InterchainAccountRouter, OPStackIsm, PausableIsm, TestIsm, TrustedRelayerIsm } from '@hyperlane-xyz/core';
3
3
  import type { Address, Domain, ValueOf, WithAddress } from '@hyperlane-xyz/utils';
4
4
  import { ChainMap, OwnableConfig } from '../types.js';
5
5
  export declare enum ModuleType {
@@ -20,8 +20,8 @@ export declare enum IsmType {
20
20
  OP_STACK = "opStackIsm",
21
21
  ROUTING = "domainRoutingIsm",
22
22
  FALLBACK_ROUTING = "defaultFallbackRoutingIsm",
23
- ICA_ROUTING = "icaRoutingIsm",
24
23
  AMOUNT_ROUTING = "amountRoutingIsm",
24
+ INTERCHAIN_ACCOUNT_ROUTING = "interchainAccountRouting",
25
25
  AGGREGATION = "staticAggregationIsm",
26
26
  STORAGE_AGGREGATION = "storageAggregationIsm",
27
27
  MERKLE_ROOT_MULTISIG = "merkleRootMultisigIsm",
@@ -35,7 +35,7 @@ export declare enum IsmType {
35
35
  WEIGHTED_MERKLE_ROOT_MULTISIG = "weightedMerkleRootMultisigIsm",
36
36
  WEIGHTED_MESSAGE_ID_MULTISIG = "weightedMessageIdMultisigIsm",
37
37
  CCIP = "ccipIsm",
38
- CCIP_READ = "ccipReadIsm"
38
+ OFFCHAIN_LOOKUP = "offchainLookupIsm"
39
39
  }
40
40
  export declare const MUTABLE_ISM_TYPE: IsmType[];
41
41
  /**
@@ -43,6 +43,9 @@ export declare const MUTABLE_ISM_TYPE: IsmType[];
43
43
  * @dev ISM types with immutable config embedded in contract bytecode via MetaProxy
44
44
  */
45
45
  export declare const STATIC_ISM_TYPES: IsmType[];
46
+ export declare const DYNAMICALLY_ROUTED_ISM_TYPES: readonly [IsmType.AMOUNT_ROUTING, IsmType.INTERCHAIN_ACCOUNT_ROUTING];
47
+ /** Type guard for dynamically routed ISM types */
48
+ export declare function isDynamicallyRoutedIsmType(type: IsmType): type is (typeof DYNAMICALLY_ROUTED_ISM_TYPES)[number];
46
49
  export declare function ismTypeToModuleType(ismType: IsmType): ModuleType;
47
50
  export type ValidatorConfig = {
48
51
  address: Address;
@@ -60,21 +63,37 @@ export type OpStackIsmConfig = z.infer<typeof OpStackIsmConfigSchema>;
60
63
  export type TrustedRelayerIsmConfig = z.infer<typeof TrustedRelayerIsmConfigSchema>;
61
64
  export type CCIPIsmConfig = z.infer<typeof CCIPIsmConfigSchema>;
62
65
  export type ArbL2ToL1IsmConfig = z.infer<typeof ArbL2ToL1IsmConfigSchema>;
63
- export type CCIPReadIsmConfig = z.infer<typeof CCIPReadIsmConfigSchema>;
66
+ export type OffchainLookupIsmConfig = z.infer<typeof OffchainLookupIsmConfigSchema>;
64
67
  export type NullIsmConfig = TestIsmConfig | PausableIsmConfig | OpStackIsmConfig | TrustedRelayerIsmConfig | CCIPIsmConfig;
65
- type BaseRoutingIsmConfig<T extends IsmType.ROUTING | IsmType.FALLBACK_ROUTING | IsmType.ICA_ROUTING | IsmType.AMOUNT_ROUTING> = {
68
+ type BaseRoutingIsmConfig<T extends IsmType.ROUTING | IsmType.FALLBACK_ROUTING | IsmType.AMOUNT_ROUTING | IsmType.INTERCHAIN_ACCOUNT_ROUTING> = {
66
69
  type: T;
67
70
  };
68
71
  export type DomainRoutingIsmConfig = BaseRoutingIsmConfig<IsmType.ROUTING | IsmType.FALLBACK_ROUTING> & OwnableConfig & {
69
72
  domains: ChainMap<IsmConfig>;
70
73
  };
71
- export type IcaRoutingIsmConfig = BaseRoutingIsmConfig<IsmType.ICA_ROUTING>;
74
+ export declare const InterchainAccountRouterIsmSchema: z.ZodObject<{
75
+ owner: z.ZodString;
76
+ ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
77
+ type: z.ZodLiteral<IsmType.INTERCHAIN_ACCOUNT_ROUTING>;
78
+ isms: z.ZodRecord<z.ZodString, z.ZodString>;
79
+ }, "strip", z.ZodTypeAny, {
80
+ type: IsmType.INTERCHAIN_ACCOUNT_ROUTING;
81
+ owner: string;
82
+ isms: Record<string, string>;
83
+ ownerOverrides?: Record<string, string> | undefined;
84
+ }, {
85
+ type: IsmType.INTERCHAIN_ACCOUNT_ROUTING;
86
+ owner: string;
87
+ isms: Record<string, string>;
88
+ ownerOverrides?: Record<string, string> | undefined;
89
+ }>;
90
+ export type InterchainAccountRouterIsm = z.infer<typeof InterchainAccountRouterIsmSchema>;
72
91
  export type AmountRoutingIsmConfig = BaseRoutingIsmConfig<IsmType.AMOUNT_ROUTING> & {
73
92
  lowerIsm: IsmConfig;
74
93
  upperIsm: IsmConfig;
75
94
  threshold: number;
76
95
  };
77
- export type RoutingIsmConfig = IcaRoutingIsmConfig | DomainRoutingIsmConfig | AmountRoutingIsmConfig;
96
+ export type RoutingIsmConfig = DomainRoutingIsmConfig | AmountRoutingIsmConfig | InterchainAccountRouterIsm;
78
97
  export type AggregationIsmConfig = {
79
98
  type: IsmType.AGGREGATION | IsmType.STORAGE_AGGREGATION;
80
99
  modules: Array<IsmConfig>;
@@ -86,7 +105,6 @@ export type DeployedIsmType = {
86
105
  [IsmType.CUSTOM]: IInterchainSecurityModule;
87
106
  [IsmType.ROUTING]: IRoutingIsm;
88
107
  [IsmType.FALLBACK_ROUTING]: IRoutingIsm;
89
- [IsmType.ICA_ROUTING]: IRoutingIsm;
90
108
  [IsmType.AMOUNT_ROUTING]: IRoutingIsm;
91
109
  [IsmType.AGGREGATION]: IAggregationIsm;
92
110
  [IsmType.STORAGE_AGGREGATION]: IAggregationIsm;
@@ -102,7 +120,8 @@ export type DeployedIsmType = {
102
120
  [IsmType.ARB_L2_TO_L1]: ArbL2ToL1Ism;
103
121
  [IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG]: IStaticWeightedMultisigIsm;
104
122
  [IsmType.WEIGHTED_MESSAGE_ID_MULTISIG]: IStaticWeightedMultisigIsm;
105
- [IsmType.CCIP_READ]: ICcipReadIsm;
123
+ [IsmType.OFFCHAIN_LOOKUP]: AbstractCcipReadIsm;
124
+ [IsmType.INTERCHAIN_ACCOUNT_ROUTING]: InterchainAccountRouter;
106
125
  };
107
126
  export type DeployedIsm = ValueOf<DeployedIsmType>;
108
127
  export type RoutingIsmDelta = {
@@ -173,6 +192,28 @@ export declare const CCIPIsmConfigSchema: z.ZodObject<{
173
192
  type: IsmType.CCIP;
174
193
  originChain: string;
175
194
  }>;
195
+ export declare const OffchainLookupIsmConfigSchema: z.ZodObject<{
196
+ owner: z.ZodString;
197
+ ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
198
+ type: z.ZodLiteral<IsmType.OFFCHAIN_LOOKUP>;
199
+ urls: z.ZodArray<z.ZodString, "many">;
200
+ }, "strip", z.ZodTypeAny, {
201
+ type: IsmType.OFFCHAIN_LOOKUP;
202
+ owner: string;
203
+ urls: string[];
204
+ ownerOverrides?: Record<string, string> | undefined;
205
+ }, {
206
+ type: IsmType.OFFCHAIN_LOOKUP;
207
+ owner: string;
208
+ urls: string[];
209
+ ownerOverrides?: Record<string, string> | undefined;
210
+ }>;
211
+ export declare const isOffchainLookupIsmConfig: (config: unknown) => config is {
212
+ type: IsmType.OFFCHAIN_LOOKUP;
213
+ owner: string;
214
+ urls: string[];
215
+ ownerOverrides?: Record<string, string> | undefined;
216
+ };
176
217
  export declare const OpStackIsmConfigSchema: z.ZodObject<{
177
218
  type: z.ZodLiteral<IsmType.OP_STACK>;
178
219
  origin: z.ZodString;
@@ -196,13 +237,6 @@ export declare const ArbL2ToL1IsmConfigSchema: z.ZodObject<{
196
237
  type: IsmType.ARB_L2_TO_L1;
197
238
  bridge: string;
198
239
  }>;
199
- export declare const CCIPReadIsmConfigSchema: z.ZodObject<{
200
- type: z.ZodLiteral<IsmType.CCIP_READ>;
201
- }, "strip", z.ZodTypeAny, {
202
- type: IsmType.CCIP_READ;
203
- }, {
204
- type: IsmType.CCIP_READ;
205
- }>;
206
240
  export declare const PausableIsmConfigSchema: z.ZodIntersection<z.ZodObject<{
207
241
  owner: z.ZodString;
208
242
  ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
@@ -380,11 +414,35 @@ export declare const IsmConfigSchema: z.ZodUnion<[z.ZodString, z.ZodObject<{
380
414
  type: IsmType.ARB_L2_TO_L1;
381
415
  bridge: string;
382
416
  }>, z.ZodObject<{
383
- type: z.ZodLiteral<IsmType.CCIP_READ>;
417
+ owner: z.ZodString;
418
+ ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
419
+ type: z.ZodLiteral<IsmType.OFFCHAIN_LOOKUP>;
420
+ urls: z.ZodArray<z.ZodString, "many">;
384
421
  }, "strip", z.ZodTypeAny, {
385
- type: IsmType.CCIP_READ;
422
+ type: IsmType.OFFCHAIN_LOOKUP;
423
+ owner: string;
424
+ urls: string[];
425
+ ownerOverrides?: Record<string, string> | undefined;
386
426
  }, {
387
- type: IsmType.CCIP_READ;
427
+ type: IsmType.OFFCHAIN_LOOKUP;
428
+ owner: string;
429
+ urls: string[];
430
+ ownerOverrides?: Record<string, string> | undefined;
431
+ }>, z.ZodObject<{
432
+ owner: z.ZodString;
433
+ ownerOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
434
+ type: z.ZodLiteral<IsmType.INTERCHAIN_ACCOUNT_ROUTING>;
435
+ isms: z.ZodRecord<z.ZodString, z.ZodString>;
436
+ }, "strip", z.ZodTypeAny, {
437
+ type: IsmType.INTERCHAIN_ACCOUNT_ROUTING;
438
+ owner: string;
439
+ isms: Record<string, string>;
440
+ ownerOverrides?: Record<string, string> | undefined;
441
+ }, {
442
+ type: IsmType.INTERCHAIN_ACCOUNT_ROUTING;
443
+ owner: string;
444
+ isms: Record<string, string>;
445
+ ownerOverrides?: Record<string, string> | undefined;
388
446
  }>]>;
389
447
  export {};
390
448
  //# sourceMappingURL=types.d.ts.map