@hyperlane-xyz/sdk 41.3.1 → 43.0.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 (324) hide show
  1. package/dist/ccip/consts.d.ts.map +1 -1
  2. package/dist/ccip/consts.js +20 -0
  3. package/dist/ccip/consts.js.map +1 -1
  4. package/dist/consts/multisigIsm.d.ts.map +1 -1
  5. package/dist/consts/multisigIsm.js +32 -0
  6. package/dist/consts/multisigIsm.js.map +1 -1
  7. package/dist/contracts/contracts.d.ts.map +1 -1
  8. package/dist/contracts/contracts.js +15 -0
  9. package/dist/contracts/contracts.js.map +1 -1
  10. package/dist/contracts/contracts.test.d.ts +2 -0
  11. package/dist/contracts/contracts.test.d.ts.map +1 -0
  12. package/dist/contracts/contracts.test.js +88 -0
  13. package/dist/contracts/contracts.test.js.map +1 -0
  14. package/dist/core/types.d.ts +48 -4158
  15. package/dist/core/types.d.ts.map +1 -1
  16. package/dist/core/types.js +21 -3
  17. package/dist/core/types.js.map +1 -1
  18. package/dist/core/types.test.js +58 -0
  19. package/dist/core/types.test.js.map +1 -1
  20. package/dist/deploy/HyperlaneDeployer.js +1 -1
  21. package/dist/deploy/proxy.d.ts +8 -40
  22. package/dist/deploy/proxy.d.ts.map +1 -1
  23. package/dist/deploy/proxy.js +4 -4
  24. package/dist/deploy/proxy.js.map +1 -1
  25. package/dist/deploy/types.d.ts +1 -19
  26. package/dist/deploy/types.d.ts.map +1 -1
  27. package/dist/deploy/warp.d.ts +119 -3
  28. package/dist/deploy/warp.d.ts.map +1 -1
  29. package/dist/deploy/warp.js +696 -33
  30. package/dist/deploy/warp.js.map +1 -1
  31. package/dist/deploy/warp.test.d.ts +2 -0
  32. package/dist/deploy/warp.test.d.ts.map +1 -0
  33. package/dist/deploy/warp.test.js +358 -0
  34. package/dist/deploy/warp.test.js.map +1 -0
  35. package/dist/deploy/warpHybridPlan.d.ts +104 -0
  36. package/dist/deploy/warpHybridPlan.d.ts.map +1 -0
  37. package/dist/deploy/warpHybridPlan.js +178 -0
  38. package/dist/deploy/warpHybridPlan.js.map +1 -0
  39. package/dist/deploy/warpHybridPlan.test.d.ts +2 -0
  40. package/dist/deploy/warpHybridPlan.test.d.ts.map +1 -0
  41. package/dist/deploy/warpHybridPlan.test.js +141 -0
  42. package/dist/deploy/warpHybridPlan.test.js.map +1 -0
  43. package/dist/fee/EvmTokenFeeDeployer.d.ts.map +1 -1
  44. package/dist/fee/EvmTokenFeeDeployer.hardhat-test.js +68 -0
  45. package/dist/fee/EvmTokenFeeDeployer.hardhat-test.js.map +1 -1
  46. package/dist/fee/EvmTokenFeeDeployer.js +18 -10
  47. package/dist/fee/EvmTokenFeeDeployer.js.map +1 -1
  48. package/dist/fee/EvmTokenFeeModule.d.ts.map +1 -1
  49. package/dist/fee/EvmTokenFeeModule.hardhat-test.js +18 -8
  50. package/dist/fee/EvmTokenFeeModule.hardhat-test.js.map +1 -1
  51. package/dist/fee/EvmTokenFeeModule.js +8 -1
  52. package/dist/fee/EvmTokenFeeModule.js.map +1 -1
  53. package/dist/fee/EvmTokenFeeReader.d.ts +2 -2
  54. package/dist/fee/EvmTokenFeeReader.d.ts.map +1 -1
  55. package/dist/fee/EvmTokenFeeReader.js.map +1 -1
  56. package/dist/fee/feeConfigMapping.d.ts.map +1 -1
  57. package/dist/fee/feeConfigMapping.js +1 -0
  58. package/dist/fee/feeConfigMapping.js.map +1 -1
  59. package/dist/fee/types.d.ts +147 -646
  60. package/dist/fee/types.d.ts.map +1 -1
  61. package/dist/fee/types.js +26 -17
  62. package/dist/fee/types.js.map +1 -1
  63. package/dist/fork/types.d.ts +125 -1924
  64. package/dist/fork/types.d.ts.map +1 -1
  65. package/dist/fork/types.js +3 -3
  66. package/dist/fork/types.js.map +1 -1
  67. package/dist/gas/oracle/types.d.ts +5 -56
  68. package/dist/gas/oracle/types.d.ts.map +1 -1
  69. package/dist/hook/EvmHookModule.d.ts +1 -1
  70. package/dist/hook/EvmHookModule.d.ts.map +1 -1
  71. package/dist/hook/EvmHookModule.hardhat-test.js +12 -1
  72. package/dist/hook/EvmHookModule.hardhat-test.js.map +1 -1
  73. package/dist/hook/EvmHookModule.js +19 -3
  74. package/dist/hook/EvmHookModule.js.map +1 -1
  75. package/dist/hook/EvmHookReader.d.ts +10 -0
  76. package/dist/hook/EvmHookReader.d.ts.map +1 -1
  77. package/dist/hook/EvmHookReader.js +92 -11
  78. package/dist/hook/EvmHookReader.js.map +1 -1
  79. package/dist/hook/EvmHookReader.test.js +155 -1
  80. package/dist/hook/EvmHookReader.test.js.map +1 -1
  81. package/dist/hook/HyperlaneHookDeployer.d.ts +12 -0
  82. package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
  83. package/dist/hook/HyperlaneHookDeployer.hardhat-test.d.ts +2 -0
  84. package/dist/hook/HyperlaneHookDeployer.hardhat-test.d.ts.map +1 -0
  85. package/dist/hook/HyperlaneHookDeployer.hardhat-test.js +322 -0
  86. package/dist/hook/HyperlaneHookDeployer.hardhat-test.js.map +1 -0
  87. package/dist/hook/HyperlaneHookDeployer.js +262 -5
  88. package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
  89. package/dist/hook/types.d.ts +72 -2223
  90. package/dist/hook/types.d.ts.map +1 -1
  91. package/dist/hook/types.js +66 -10
  92. package/dist/hook/types.js.map +1 -1
  93. package/dist/hook/types.test.js +21 -1
  94. package/dist/hook/types.test.js.map +1 -1
  95. package/dist/hook/updates.d.ts +1 -0
  96. package/dist/hook/updates.d.ts.map +1 -1
  97. package/dist/hook/updates.js +2 -2
  98. package/dist/hook/updates.js.map +1 -1
  99. package/dist/hook/utils.d.ts +28 -1
  100. package/dist/hook/utils.d.ts.map +1 -1
  101. package/dist/hook/utils.js +89 -0
  102. package/dist/hook/utils.js.map +1 -1
  103. package/dist/ica/types.d.ts +35 -1570
  104. package/dist/ica/types.d.ts.map +1 -1
  105. package/dist/ica/types.js +1 -1
  106. package/dist/ica/types.js.map +1 -1
  107. package/dist/index.d.ts +7 -6
  108. package/dist/index.d.ts.map +1 -1
  109. package/dist/index.js +7 -6
  110. package/dist/index.js.map +1 -1
  111. package/dist/ism/EvmIsmModule.d.ts +29 -3
  112. package/dist/ism/EvmIsmModule.d.ts.map +1 -1
  113. package/dist/ism/EvmIsmModule.hardhat-test.js +512 -3
  114. package/dist/ism/EvmIsmModule.hardhat-test.js.map +1 -1
  115. package/dist/ism/EvmIsmModule.js +239 -21
  116. package/dist/ism/EvmIsmModule.js.map +1 -1
  117. package/dist/ism/EvmIsmReader.d.ts.map +1 -1
  118. package/dist/ism/EvmIsmReader.js +77 -1
  119. package/dist/ism/EvmIsmReader.js.map +1 -1
  120. package/dist/ism/EvmIsmReader.test.js +245 -4
  121. package/dist/ism/EvmIsmReader.test.js.map +1 -1
  122. package/dist/ism/HyperlaneIsmFactory.d.ts +17 -5
  123. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  124. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +431 -4
  125. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
  126. package/dist/ism/HyperlaneIsmFactory.js +121 -11
  127. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  128. package/dist/ism/delayedFlow.d.ts +31 -0
  129. package/dist/ism/delayedFlow.d.ts.map +1 -0
  130. package/dist/ism/delayedFlow.js +33 -0
  131. package/dist/ism/delayedFlow.js.map +1 -0
  132. package/dist/ism/types.d.ts +86 -237
  133. package/dist/ism/types.d.ts.map +1 -1
  134. package/dist/ism/types.js +270 -20
  135. package/dist/ism/types.js.map +1 -1
  136. package/dist/ism/types.test.js +433 -1
  137. package/dist/ism/types.test.js.map +1 -1
  138. package/dist/ism/utils.d.ts.map +1 -1
  139. package/dist/ism/utils.js +113 -3
  140. package/dist/ism/utils.js.map +1 -1
  141. package/dist/ism/utils.test.js +44 -0
  142. package/dist/ism/utils.test.js.map +1 -1
  143. package/dist/metadata/agentConfig.d.ts +537 -10384
  144. package/dist/metadata/agentConfig.d.ts.map +1 -1
  145. package/dist/metadata/agentConfig.js +14 -16
  146. package/dist/metadata/agentConfig.js.map +1 -1
  147. package/dist/metadata/chainMetadataTypes.d.ts +70 -4678
  148. package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
  149. package/dist/metadata/chainMetadataTypes.js +5 -5
  150. package/dist/metadata/chainMetadataTypes.js.map +1 -1
  151. package/dist/metadata/customZodTypes.d.ts +5 -5
  152. package/dist/metadata/customZodTypes.d.ts.map +1 -1
  153. package/dist/metadata/customZodTypes.js +4 -5
  154. package/dist/metadata/customZodTypes.js.map +1 -1
  155. package/dist/metadata/deploymentArtifacts.d.ts +1 -13
  156. package/dist/metadata/deploymentArtifacts.d.ts.map +1 -1
  157. package/dist/metadata/matchingList.d.ts +12 -40
  158. package/dist/metadata/matchingList.d.ts.map +1 -1
  159. package/dist/metadata/warpRouteConfig.d.ts +8 -114
  160. package/dist/metadata/warpRouteConfig.d.ts.map +1 -1
  161. package/dist/metadata/warpRouteConfig.js +3 -3
  162. package/dist/metadata/warpRouteConfig.js.map +1 -1
  163. package/dist/middleware/account/InterchainAccount.d.ts.map +1 -1
  164. package/dist/middleware/account/InterchainAccount.js +12 -8
  165. package/dist/middleware/account/InterchainAccount.js.map +1 -1
  166. package/dist/middleware/account/InterchainAccount.test.js +22 -3
  167. package/dist/middleware/account/InterchainAccount.test.js.map +1 -1
  168. package/dist/middleware/account/icaCalls.d.ts +13 -145
  169. package/dist/middleware/account/icaCalls.d.ts.map +1 -1
  170. package/dist/middleware/account/types.d.ts +11 -105
  171. package/dist/middleware/account/types.d.ts.map +1 -1
  172. package/dist/predicate/PredicateApiClient.d.ts +1 -11
  173. package/dist/predicate/PredicateApiClient.d.ts.map +1 -1
  174. package/dist/providers/MultiProvider.d.ts.map +1 -1
  175. package/dist/providers/MultiProvider.js +3 -2
  176. package/dist/providers/MultiProvider.js.map +1 -1
  177. package/dist/providers/MultiProviderAdapter.d.ts +3 -3
  178. package/dist/providers/MultiProviderAdapter.d.ts.map +1 -1
  179. package/dist/providers/MultiProviderAdapter.js +2 -1
  180. package/dist/providers/MultiProviderAdapter.js.map +1 -1
  181. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.d.ts.map +1 -1
  182. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js +4 -0
  183. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js.map +1 -1
  184. package/dist/providers/transactionFeeEstimators.d.ts +16 -9
  185. package/dist/providers/transactionFeeEstimators.d.ts.map +1 -1
  186. package/dist/providers/transactionFeeEstimators.js +66 -17
  187. package/dist/providers/transactionFeeEstimators.js.map +1 -1
  188. package/dist/providers/transactionFeeEstimators.test.js +153 -1
  189. package/dist/providers/transactionFeeEstimators.test.js.map +1 -1
  190. package/dist/providers/transactions/submitter/builder/types.d.ts +13 -280
  191. package/dist/providers/transactions/submitter/builder/types.d.ts.map +1 -1
  192. package/dist/providers/transactions/submitter/builder/types.js +2 -4
  193. package/dist/providers/transactions/submitter/builder/types.js.map +1 -1
  194. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts +2 -0
  195. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts.map +1 -1
  196. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.js +15 -7
  197. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.js.map +1 -1
  198. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.test.d.ts +2 -0
  199. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.test.d.ts.map +1 -0
  200. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.test.js +145 -0
  201. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.test.js.map +1 -0
  202. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.d.ts +14 -1
  203. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.d.ts.map +1 -1
  204. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.js +46 -5
  205. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.js.map +1 -1
  206. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.d.ts +2 -0
  207. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.d.ts.map +1 -0
  208. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.js +125 -0
  209. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.js.map +1 -0
  210. package/dist/providers/transactions/submitter/ethersV5/types.d.ts +30 -102
  211. package/dist/providers/transactions/submitter/ethersV5/types.d.ts.map +1 -1
  212. package/dist/providers/transactions/submitter/ethersV5/types.js +3 -21
  213. package/dist/providers/transactions/submitter/ethersV5/types.js.map +1 -1
  214. package/dist/providers/transactions/submitter/types.d.ts +5 -51
  215. package/dist/providers/transactions/submitter/types.d.ts.map +1 -1
  216. package/dist/providers/transactions/types.d.ts +1 -9
  217. package/dist/providers/transactions/types.d.ts.map +1 -1
  218. package/dist/router/HyperlaneRouterDeployer.d.ts +3 -1
  219. package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
  220. package/dist/router/HyperlaneRouterDeployer.js +4 -2
  221. package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
  222. package/dist/router/types.d.ts +33 -1824
  223. package/dist/router/types.d.ts.map +1 -1
  224. package/dist/router/types.js +4 -4
  225. package/dist/router/types.js.map +1 -1
  226. package/dist/rpc/evm/EvmEventLogsReader.d.ts +19 -27
  227. package/dist/rpc/evm/EvmEventLogsReader.d.ts.map +1 -1
  228. package/dist/rpc/evm/EvmEventLogsReader.js +23 -0
  229. package/dist/rpc/evm/EvmEventLogsReader.js.map +1 -1
  230. package/dist/rpc/evm/EvmEventLogsReader.test.js +53 -1
  231. package/dist/rpc/evm/EvmEventLogsReader.test.js.map +1 -1
  232. package/dist/signers/turnkeyClient.d.ts +1 -15
  233. package/dist/signers/turnkeyClient.d.ts.map +1 -1
  234. package/dist/test/testUtils.d.ts +1 -1
  235. package/dist/test/testUtils.d.ts.map +1 -1
  236. package/dist/test/testUtils.js +17 -0
  237. package/dist/test/testUtils.js.map +1 -1
  238. package/dist/test/testUtils.test.d.ts +2 -0
  239. package/dist/test/testUtils.test.d.ts.map +1 -0
  240. package/dist/test/testUtils.test.js +28 -0
  241. package/dist/test/testUtils.test.js.map +1 -0
  242. package/dist/timelock/types.d.ts +8 -32
  243. package/dist/timelock/types.d.ts.map +1 -1
  244. package/dist/token/EvmWarpModule.d.ts +44 -8
  245. package/dist/token/EvmWarpModule.d.ts.map +1 -1
  246. package/dist/token/EvmWarpModule.hardhat-test.js +574 -4
  247. package/dist/token/EvmWarpModule.hardhat-test.js.map +1 -1
  248. package/dist/token/EvmWarpModule.js +237 -25
  249. package/dist/token/EvmWarpModule.js.map +1 -1
  250. package/dist/token/EvmWarpRouteReader.d.ts.map +1 -1
  251. package/dist/token/EvmWarpRouteReader.js +36 -19
  252. package/dist/token/EvmWarpRouteReader.js.map +1 -1
  253. package/dist/token/EvmWarpRouteReader.test.js +219 -2
  254. package/dist/token/EvmWarpRouteReader.test.js.map +1 -1
  255. package/dist/token/EvmXERC20Reader.d.ts +9 -21
  256. package/dist/token/EvmXERC20Reader.d.ts.map +1 -1
  257. package/dist/token/EvmXERC20Reader.js +24 -48
  258. package/dist/token/EvmXERC20Reader.js.map +1 -1
  259. package/dist/token/EvmXERC20Reader.test.js +97 -0
  260. package/dist/token/EvmXERC20Reader.test.js.map +1 -1
  261. package/dist/token/ITokenMetadata.d.ts +12 -130
  262. package/dist/token/ITokenMetadata.d.ts.map +1 -1
  263. package/dist/token/ITokenMetadata.js +2 -2
  264. package/dist/token/ITokenMetadata.js.map +1 -1
  265. package/dist/token/TokenConnection.d.ts +3 -35
  266. package/dist/token/TokenConnection.d.ts.map +1 -1
  267. package/dist/token/configUtils.d.ts +17 -7
  268. package/dist/token/configUtils.d.ts.map +1 -1
  269. package/dist/token/configUtils.js +124 -0
  270. package/dist/token/configUtils.js.map +1 -1
  271. package/dist/token/configUtils.test.js +212 -11
  272. package/dist/token/configUtils.test.js.map +1 -1
  273. package/dist/token/deploy.d.ts +3 -1
  274. package/dist/token/deploy.d.ts.map +1 -1
  275. package/dist/token/deploy.hardhat-test.js +617 -6
  276. package/dist/token/deploy.hardhat-test.js.map +1 -1
  277. package/dist/token/deploy.js +25 -6
  278. package/dist/token/deploy.js.map +1 -1
  279. package/dist/token/types.d.ts +4373 -25929
  280. package/dist/token/types.d.ts.map +1 -1
  281. package/dist/token/types.js +10 -12
  282. package/dist/token/types.js.map +1 -1
  283. package/dist/token/types.test.js +48 -0
  284. package/dist/token/types.test.js.map +1 -1
  285. package/dist/token/warpCheck.d.ts.map +1 -1
  286. package/dist/token/warpCheck.js +36 -1
  287. package/dist/token/warpCheck.js.map +1 -1
  288. package/dist/token/xerc20-abi.d.ts +31 -0
  289. package/dist/token/xerc20-abi.d.ts.map +1 -1
  290. package/dist/token/xerc20-abi.js +40 -0
  291. package/dist/token/xerc20-abi.js.map +1 -1
  292. package/dist/token/xerc20-limits.d.ts +63 -0
  293. package/dist/token/xerc20-limits.d.ts.map +1 -0
  294. package/dist/token/xerc20-limits.js +80 -0
  295. package/dist/token/xerc20-limits.js.map +1 -0
  296. package/dist/token/xerc20.d.ts +30 -1
  297. package/dist/token/xerc20.d.ts.map +1 -1
  298. package/dist/token/xerc20.js +137 -54
  299. package/dist/token/xerc20.js.map +1 -1
  300. package/dist/token/xerc20.test.js +461 -169
  301. package/dist/token/xerc20.test.js.map +1 -1
  302. package/dist/types.d.ts +6 -36
  303. package/dist/types.d.ts.map +1 -1
  304. package/dist/types.js +1 -1
  305. package/dist/types.js.map +1 -1
  306. package/dist/utils/cosmos.d.ts +113 -844
  307. package/dist/utils/cosmos.d.ts.map +1 -1
  308. package/dist/utils/cosmos.js +50 -91
  309. package/dist/utils/cosmos.js.map +1 -1
  310. package/dist/utils/ism.d.ts +167 -1
  311. package/dist/utils/ism.d.ts.map +1 -1
  312. package/dist/utils/ism.js +412 -2
  313. package/dist/utils/ism.js.map +1 -1
  314. package/dist/utils/ism.test.d.ts +2 -0
  315. package/dist/utils/ism.test.d.ts.map +1 -0
  316. package/dist/utils/ism.test.js +372 -0
  317. package/dist/utils/ism.test.js.map +1 -0
  318. package/dist/utils/schemas.d.ts +3 -3
  319. package/dist/utils/schemas.d.ts.map +1 -1
  320. package/dist/utils/schemas.js +2 -1
  321. package/dist/utils/schemas.js.map +1 -1
  322. package/dist/warp/types.d.ts +25 -367
  323. package/dist/warp/types.d.ts.map +1 -1
  324. package/package.json +11 -11
package/dist/ism/types.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { isEmptyAddress, isNullish, isValidAddressSealevel, rootLogger, } from '@hyperlane-xyz/utils';
2
+ import { addressToBytes32, isEmptyAddress, isNullish, isValidAddressSealevel, rootLogger, } from '@hyperlane-xyz/utils';
3
3
  import { ZBigNumberish, ZBytes32String, ZHash, } from '../metadata/customZodTypes.js';
4
4
  import { OwnableSchema, PausableSchema, RATE_LIMIT_DEFAULT_DURATION_SECONDS, } from '../types.js';
5
5
  import { isCompliant } from '../utils/schemas.js';
@@ -51,6 +51,15 @@ export const IsmType = {
51
51
  RATE_LIMITED: 'rateLimitedIsm',
52
52
  COMPOSITE: 'compositeIsm',
53
53
  BLACKLIST: 'blacklistIsm',
54
+ // Ownerless routing ISM that always defers to the mailbox's default ISM.
55
+ // Distinct from provider-sdk/AltVM's "default ISM" notion (the zero-address
56
+ // mailbox field): this is a deployed contract with its own address.
57
+ MAILBOX_DEFAULT: 'defaultIsm',
58
+ // Hybrid hook/ISM: one contract instance is installed as BOTH the hook and
59
+ // the ISM of a single warp router (shared bucket state). Deployed via the
60
+ // ISM config surface; the hook side is referenced by address.
61
+ NET_FLOW_RATE_LIMITED: 'netFlowRateLimitedHookIsm',
62
+ DELAYED_FLOW_ROUTER: 'delayedFlowRouterHookIsm',
54
63
  UNKNOWN: 'unknownIsm',
55
64
  };
56
65
  // ISM types that can be updated in-place on EVM chains (consumed by
@@ -65,6 +74,10 @@ export const MUTABLE_ISM_TYPE = [
65
74
  IsmType.INCREMENTAL_ROUTING,
66
75
  IsmType.RATE_LIMITED,
67
76
  IsmType.BLACKLIST,
77
+ // owner is the only mutable field; rate params force a redeploy
78
+ IsmType.NET_FLOW_RATE_LIMITED,
79
+ // owner + remote router enrollment are mutable; rate params force a redeploy
80
+ IsmType.DELAYED_FLOW_ROUTER,
68
81
  ];
69
82
  /**
70
83
  * @notice Statically deployed ISM types
@@ -80,6 +93,8 @@ export const STATIC_ISM_TYPES = [
80
93
  export const DYNAMICALLY_ROUTED_ISM_TYPES = [
81
94
  IsmType.AMOUNT_ROUTING,
82
95
  IsmType.INTERCHAIN_ACCOUNT_ROUTING,
96
+ // No static domains table: route() resolves to the mailbox's default ISM
97
+ IsmType.MAILBOX_DEFAULT,
83
98
  ];
84
99
  /** Type guard for dynamically routed ISM types */
85
100
  export function isDynamicallyRoutedIsmType(type) {
@@ -93,6 +108,7 @@ export function ismTypeToModuleType(ismType) {
93
108
  case IsmType.AMOUNT_ROUTING:
94
109
  case IsmType.INTERCHAIN_ACCOUNT_ROUTING:
95
110
  case IsmType.INCREMENTAL_ROUTING:
111
+ case IsmType.MAILBOX_DEFAULT:
96
112
  return ModuleType.ROUTING;
97
113
  case IsmType.AGGREGATION:
98
114
  case IsmType.STORAGE_AGGREGATION:
@@ -111,6 +127,8 @@ export function ismTypeToModuleType(ismType) {
111
127
  case IsmType.CCIP:
112
128
  case IsmType.RATE_LIMITED:
113
129
  case IsmType.BLACKLIST:
130
+ case IsmType.NET_FLOW_RATE_LIMITED:
131
+ case IsmType.DELAYED_FLOW_ROUTER:
114
132
  return ModuleType.NULL;
115
133
  case IsmType.ARB_L2_TO_L1:
116
134
  return ModuleType.ARB_L2_TO_L1;
@@ -128,7 +146,7 @@ export function ismTypeToModuleType(ismType) {
128
146
  }
129
147
  export const InterchainAccountRouterIsmSchema = OwnableSchema.extend({
130
148
  type: z.literal(IsmType.INTERCHAIN_ACCOUNT_ROUTING),
131
- isms: z.record(ZHash),
149
+ isms: z.record(z.string(), ZHash),
132
150
  });
133
151
  const ValidatorInfoSchema = z.object({
134
152
  signingAddress: ZHash,
@@ -186,13 +204,84 @@ export const RateLimitedIsmConfigSchema = z
186
204
  }
187
205
  return val;
188
206
  });
207
+ export const MailboxDefaultIsmConfigSchema = z.object({
208
+ type: z.literal(IsmType.MAILBOX_DEFAULT),
209
+ // No config fields: the mailbox is chain identity, supplied by the deploy
210
+ // context (like TRUSTED_RELAYER / RATE_LIMITED), not the declarative config.
211
+ });
212
+ /**
213
+ * Remote counterpart of a DelayedFlowRouterHookIsm, enrolled as a Router
214
+ * route. Accepts a 20-byte EVM address or a 32-byte hex value; normalized to
215
+ * lowercase bytes32 (the on-chain `routers(uint32)` representation) at parse
216
+ * time so config and derived on-chain state compare equal. Shared with the
217
+ * hook-side view of the same contract (../hook/types.ts).
218
+ */
219
+ export const ZRouterBytes32 = z
220
+ .string()
221
+ .regex(/^0x([0-9a-fA-F]{40}|[0-9a-fA-F]{64})$/, 'must be a 20-byte address or 32-byte hex value')
222
+ .refine((value) => !isEmptyAddress(value), {
223
+ message: 'must not be the zero address',
224
+ })
225
+ .transform((value) => addressToBytes32(value).toLowerCase());
226
+ export const NetFlowRateLimitedHookIsmConfigSchema = z
227
+ .object({
228
+ type: z.literal(IsmType.NET_FLOW_RATE_LIMITED),
229
+ /**
230
+ * Warp router this contract guards; must have it installed as hook AND
231
+ * ISM. Optional in warp-route deploy configs (defaults to the containing
232
+ * warp router, injected at deploy time like RATE_LIMITED's recipient);
233
+ * required for standalone ISM deploys (asserted in HyperlaneIsmFactory).
234
+ */
235
+ warpRouter: ZHash.optional(),
236
+ /** Net outflow allowed per `duration` window, in bps of live TVL (< 10000). */
237
+ thresholdBps: z.number().int().min(0).max(9999),
238
+ /** Refill window in seconds — must match the on-chain immutable `DURATION`. */
239
+ duration: ZBigNumberish,
240
+ owner: ZHash.optional(),
241
+ })
242
+ .refine((val) => val.duration > 0n, {
243
+ message: 'duration must be greater than 0',
244
+ path: ['duration'],
245
+ });
246
+ /**
247
+ * Operational bound for DelayedFlowRouterHookIsm waits. The contract adds the
248
+ * delay to a uint48 Unix timestamp; uint32 seconds (~136 years) exceeds any
249
+ * practical delay while leaving ample timestamp headroom.
250
+ */
251
+ export const MAX_SAFE_UINT48 = 2 ** 32 - 1;
252
+ export const DelayedFlowRouterHookIsmConfigSchema = OwnableSchema.extend({
253
+ type: z.literal(IsmType.DELAYED_FLOW_ROUTER),
254
+ /**
255
+ * Warp router this contract guards; must have it installed as hook AND
256
+ * ISM. Optional in warp-route deploy configs (defaults to the containing
257
+ * warp router, injected at deploy time like RATE_LIMITED's recipient);
258
+ * required for standalone ISM deploys (asserted in HyperlaneIsmFactory).
259
+ */
260
+ warpRouter: ZHash.optional(),
261
+ /** Bucket size per `duration` window, in bps of live TVL (delay mode permits 100%). */
262
+ thresholdBps: z.number().int().min(0).max(10000),
263
+ /** Cap on any single message's wait, in seconds. */
264
+ maxDelay: z.number().int().nonnegative().max(MAX_SAFE_UINT48),
265
+ /** Refill window in seconds — must match the on-chain immutable `DURATION`. */
266
+ duration: ZBigNumberish,
267
+ /**
268
+ * Enrolled remote counterparts, keyed by chain name; values are the remote
269
+ * DelayedFlowRouterHookIsm instances (the contract is itself a Router, so
270
+ * on-chain nomenclature keeps "router": enrollRemoteRouters/routers()).
271
+ * Omit to leave the current on-chain enrollment untouched.
272
+ */
273
+ remoteIsms: z.record(z.string(), ZRouterBytes32).optional(),
274
+ }).refine((val) => val.duration > 0n, {
275
+ message: 'duration must be greater than 0',
276
+ path: ['duration'],
277
+ });
189
278
  export const CCIPIsmConfigSchema = z.object({
190
279
  type: z.literal(IsmType.CCIP),
191
280
  originChain: z.string(),
192
281
  });
193
282
  export const OffchainLookupIsmConfigSchema = OwnableSchema.extend({
194
283
  type: z.literal(IsmType.OFFCHAIN_LOOKUP),
195
- urls: z.array(z.string().url()),
284
+ urls: z.array(z.url()),
196
285
  });
197
286
  export const isOffchainLookupIsmConfig = isCompliant(OffchainLookupIsmConfigSchema);
198
287
  export const OpStackIsmConfigSchema = z.object({
@@ -237,7 +326,7 @@ export const RoutingIsmConfigSchema = z.lazy(() => z.discriminatedUnion('type',
237
326
  IsmType.FALLBACK_ROUTING,
238
327
  IsmType.INCREMENTAL_ROUTING,
239
328
  ]),
240
- domains: z.record(BaseIsmConfigSchema),
329
+ domains: z.record(z.string(), BaseIsmConfigSchema),
241
330
  }),
242
331
  InterchainAccountRouterIsmSchema,
243
332
  ]));
@@ -342,12 +431,12 @@ export const CompositeIsmNodeConfigSchema = z.lazy(() => z.discriminatedUnion('t
342
431
  }),
343
432
  z.object({
344
433
  type: z.literal(CompositeIsmNodeType.ROUTING),
345
- domains: z.record(CompositeIsmNodeConfigSchema).optional(),
434
+ domains: z.record(z.string(), CompositeIsmNodeConfigSchema).optional(),
346
435
  }),
347
436
  z.object({
348
437
  type: z.literal(CompositeIsmNodeType.FALLBACK_ROUTING),
349
438
  fallbackIsm: ZSealevelPubkey,
350
- domains: z.record(CompositeIsmNodeConfigSchema).optional(),
439
+ domains: z.record(z.string(), CompositeIsmNodeConfigSchema).optional(),
351
440
  }),
352
441
  ]));
353
442
  /** True if a `fallbackRouting` node exists anywhere in this subtree. */
@@ -477,11 +566,9 @@ export const CompositeIsmConfigSchema = OwnableSchema.extend({
477
566
  }).superRefine((data, ctx) => {
478
567
  validateCompositeIsmTree(data.root, ['root'], { routingFound: false }, false, ctx);
479
568
  });
480
- export const UnknownIsmConfigSchema = z
481
- .object({
569
+ export const UnknownIsmConfigSchema = z.looseObject({
482
570
  type: z.literal(IsmType.UNKNOWN),
483
- })
484
- .passthrough();
571
+ });
485
572
  const KnownIsmTypes = Object.values(IsmType).filter((t) => t !== IsmType.UNKNOWN);
486
573
  /**
487
574
  * Recursively normalizes unknown ISM type values to IsmType.UNKNOWN.
@@ -525,6 +612,9 @@ export const BaseIsmConfigSchema = z.union([
525
612
  CCIPIsmConfigSchema,
526
613
  RateLimitedIsmConfigSchema,
527
614
  BlacklistIsmConfigSchema,
615
+ NetFlowRateLimitedHookIsmConfigSchema,
616
+ DelayedFlowRouterHookIsmConfigSchema,
617
+ MailboxDefaultIsmConfigSchema,
528
618
  MultisigIsmConfigSchema,
529
619
  WeightedMultisigIsmConfigSchema,
530
620
  RoutingIsmConfigSchema,
@@ -536,12 +626,121 @@ export const BaseIsmConfigSchema = z.union([
536
626
  UnknownIsmConfigSchema,
537
627
  ]);
538
628
  /**
539
- * Validates that every blacklist ISM in the tree sits in a mandatory position:
540
- * a member of an aggregation whose threshold equals its module count, so the
541
- * blacklist verdict can never be outvoted. A blacklist ISM cannot be used
542
- * standalone, as a routing target, or under a non-exhaustive aggregation.
629
+ * ISM types that authenticate a message's origin/authorship, as opposed to
630
+ * gating on local state. Used to satisfy the composition requirement of the
631
+ * warp-route hybrid hook/ISMs, whose `moduleType()` is NULL and which
632
+ * therefore verify flow, not authenticity.
633
+ *
634
+ * MEMBERSHIP CRITERION — add a type here only if the SDK deploy path
635
+ * (HyperlaneIsmFactory) yields an instance that provably authenticates the
636
+ * message in its POST-DEPLOY state, with no window in which a third party can
637
+ * bind the authority it checks. Being named like a verifier does not qualify a
638
+ * type, and neither does canonical bytecode: what matters is whether the
639
+ * authority the contract compares against is fixed by this deploy path itself.
640
+ * A contract whose authority is installed by a public initializer or setter
641
+ * that the deploy path neither calls nor verifies is bindable by whoever
642
+ * reaches it first, and an attacker-bound instance verifies attacker messages.
643
+ *
644
+ * Evidence for each member:
645
+ * - MERKLE_ROOT_MULTISIG / MESSAGE_ID_MULTISIG: validators and threshold are
646
+ * MetaProxy metadata (StaticMultisigIsm.sol:21-25) fixed at the deterministic
647
+ * address the factory derives from them, so even a front-run deployment is
648
+ * the identical contract; verify() requires `threshold` validator signatures
649
+ * over the checkpoint digest (AbstractMultisigIsm.sol:97-115). No owner, no
650
+ * initializer.
651
+ * - STORAGE_MERKLE_ROOT_MULTISIG / STORAGE_MESSAGE_ID_MULTISIG: deployed by
652
+ * constructor (deployMultisigIsm -> handleDeploy), which sets validators and
653
+ * threshold and calls `_disableInitializers()` (StorageMultisigIsm.sol:25-32),
654
+ * so `initialize` reverts for everyone and the Ownable2Step owner stays unset
655
+ * — `setValidatorsAndThreshold` is onlyOwner and therefore uncallable. This
656
+ * membership rests on THAT deploy path, not on the contract alone: the
657
+ * on-chain `StorageMultisigIsmFactory.deploy` instead creates a MinimalProxy
658
+ * and calls `initialize(msg.sender, ...)` (StorageMultisigIsm.sol:101-112),
659
+ * and a proxy runs no constructor, so `_disableInitializers` never applies,
660
+ * the owner becomes the caller and `setValidatorsAndThreshold` is callable.
661
+ * Moving these two types onto that factory (see the TODO in
662
+ * `deployMultisigIsm`) removes the property this membership rests on, so they
663
+ * must leave this set in the same change.
664
+ * - WEIGHTED_MERKLE_ROOT_MULTISIG / WEIGHTED_MESSAGE_ID_MULTISIG: same
665
+ * MetaProxy argument, with the validator set and threshold weight in the
666
+ * metadata (WeightedMultisigIsm.sol:23-34); verify() accumulates weight from
667
+ * recovered signatures (AbstractWeightedMultisigIsm.sol:47-90).
668
+ * - TRUSTED_RELAYER: mailbox and trustedRelayer are constructor immutables
669
+ * passed by this deploy path (TrustedRelayerIsm.sol:14-29); verify() returns
670
+ * `mailbox.processor(id) == trustedRelayer`, so only the operator-chosen
671
+ * relayer can make a message pass. No initializer, nothing to bind.
672
+ *
673
+ * Deliberately absent:
674
+ * - ARB_L2_TO_L1 and CCIP: both are `AbstractMessageIdAuthorizedIsm`s whose
675
+ * `authorizedHook` is set by `setAuthorizedHook`, a PUBLIC one-shot
676
+ * `initializer` (AbstractMessageIdAuthorizedIsm.sol:60-66). This deploy path
677
+ * neither calls it (ARB is deployed with `[bridge]` alone) nor verifies it
678
+ * (CCIP resolves an address out of the CCIP cache), so between deployment
679
+ * and the operator's own binding any account can bind the ISM to a sender it
680
+ * controls and preverify arbitrary message ids. Canonical bytecode does not
681
+ * establish that missing hook identity.
682
+ * - MAILBOX_DEFAULT: delegates to whatever the mailbox's default ISM happens to
683
+ * be at verification time, which cannot be verified statically here.
684
+ * - OFFCHAIN_LOOKUP: `CCIP_READ` is an extensibility interface, not an
685
+ * authentication guarantee — the contract is deployed out of band and its
686
+ * `verify` may return true unconditionally (`TestCcipReadIsm`). Such an ISM
687
+ * may still be composed beside a hybrid; it just does not stand in as the
688
+ * authenticator.
689
+ * - A bare address string: its type is unknowable at config-parse time, so
690
+ * treating it as authenticating would let a NULL-type ISM referenced by
691
+ * address satisfy the requirement.
692
+ */
693
+ const AUTHENTICATING_ISM_TYPES = new Set([
694
+ IsmType.MERKLE_ROOT_MULTISIG,
695
+ IsmType.MESSAGE_ID_MULTISIG,
696
+ IsmType.STORAGE_MERKLE_ROOT_MULTISIG,
697
+ IsmType.STORAGE_MESSAGE_ID_MULTISIG,
698
+ IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG,
699
+ IsmType.WEIGHTED_MESSAGE_ID_MULTISIG,
700
+ IsmType.TRUSTED_RELAYER,
701
+ ]);
702
+ /**
703
+ * True if `node` authenticates on its own, or is an aggregation that cannot be
704
+ * satisfied without one of its authenticating members.
705
+ *
706
+ * The threshold is load-bearing. AbstractAggregationIsm.verify runs only the
707
+ * submodules the relayer-supplied metadata carries an entry for, and requires
708
+ * exactly `threshold` of them to pass (AbstractAggregationIsm.sol:44-67), so
709
+ * the relayer picks which `threshold` members are consulted. An aggregation
710
+ * therefore authenticates only when its non-authenticating members are too few
711
+ * to reach the threshold by themselves — otherwise the relayer satisfies it
712
+ * with, say, an unpaused PausableIsm (PausableIsm.sol:28-33, returns true
713
+ * unconditionally) and the authenticating member never executes.
714
+ */
715
+ function providesAuthentication(node) {
716
+ if (typeof node !== 'object' || node === null) {
717
+ return false;
718
+ }
719
+ if (AUTHENTICATING_ISM_TYPES.has(node.type)) {
720
+ return true;
721
+ }
722
+ if (node.type === IsmType.AGGREGATION ||
723
+ node.type === IsmType.STORAGE_AGGREGATION) {
724
+ const nonAuthenticatingCount = node.modules.filter((module) => !providesAuthentication(module)).length;
725
+ return nonAuthenticatingCount < node.threshold;
726
+ }
727
+ return false;
728
+ }
729
+ /**
730
+ * Validates the composition invariants of ISM types that are only safe in a
731
+ * mandatory position:
732
+ *
733
+ * - BLACKLIST must be a member of an aggregation whose threshold equals its
734
+ * module count, so its verdict can never be outvoted.
735
+ * - The warp-route hybrid hook/ISMs (NET_FLOW_RATE_LIMITED,
736
+ * DELAYED_FLOW_ROUTER) have the same requirement AND must be accompanied by
737
+ * an authenticating ISM. Their `moduleType()` is NULL: they meter flow, not
738
+ * message authenticity, so using one as a route's sole ISM lets any caller
739
+ * process a forged message subject only to bucket capacity (on a synthetic
740
+ * leg, minting arbitrary tokens).
543
741
  */
544
- function validateBlacklistComposition(node, path, mandatoryPosition, underAggregation, ctx) {
742
+ function validateIsmComposition(node, path, context, ctx) {
743
+ const { mandatoryPosition, underAggregation, authenticated, addressModuleSibling, } = context;
545
744
  if (typeof node === 'string') {
546
745
  return;
547
746
  }
@@ -555,28 +754,79 @@ function validateBlacklistComposition(node, path, mandatoryPosition, underAggreg
555
754
  });
556
755
  }
557
756
  break;
757
+ case IsmType.NET_FLOW_RATE_LIMITED:
758
+ case IsmType.DELAYED_FLOW_ROUTER:
759
+ if (!(mandatoryPosition && underAggregation)) {
760
+ ctx.addIssue({
761
+ code: z.ZodIssueCode.custom,
762
+ message: `A ${node.type} verifies flow, not message authenticity (moduleType is NULL), so it must be a member of an aggregation whose threshold equals its module count; it cannot be used standalone, as a routing target, or under a non-exhaustive aggregation.`,
763
+ path,
764
+ });
765
+ }
766
+ else if (!authenticated) {
767
+ ctx.addIssue({
768
+ code: z.ZodIssueCode.custom,
769
+ message: `A ${node.type} must be composed with an authenticating ISM (e.g. a multisig) in the same mandatory aggregation; on its own it lets any caller process a forged message subject only to bucket capacity.` +
770
+ (addressModuleSibling
771
+ ? ` A module given as a bare address does not count — an already-deployed ISM has to be declared by type: re-declaring a static multisig with the same validators and threshold resolves to its existing address.`
772
+ : ''),
773
+ path,
774
+ });
775
+ }
776
+ break;
558
777
  case IsmType.AGGREGATION:
559
778
  case IsmType.STORAGE_AGGREGATION: {
560
779
  const childMandatory = mandatoryPosition && node.threshold === node.modules.length;
561
- node.modules.forEach((subIsm, i) => validateBlacklistComposition(subIsm, [...path, 'modules', i], childMandatory, true, ctx));
780
+ // An authenticating member only guarantees authentication when it cannot
781
+ // be outvoted, i.e. when this aggregation is itself in a mandatory
782
+ // position and its own threshold cannot be met without that member.
783
+ const childAuthenticated = authenticated || (childMandatory && providesAuthentication(node));
784
+ const childAddressModuleSibling = addressModuleSibling ||
785
+ node.modules.some((module) => typeof module === 'string');
786
+ node.modules.forEach((subIsm, i) => validateIsmComposition(subIsm, [...path, 'modules', i], {
787
+ mandatoryPosition: childMandatory,
788
+ underAggregation: true,
789
+ authenticated: childAuthenticated,
790
+ addressModuleSibling: childAddressModuleSibling,
791
+ }, ctx));
562
792
  break;
563
793
  }
564
794
  case IsmType.ROUTING:
565
795
  case IsmType.FALLBACK_ROUTING:
566
796
  case IsmType.INCREMENTAL_ROUTING:
567
797
  for (const [chain, domainIsm] of Object.entries(node.domains)) {
568
- validateBlacklistComposition(domainIsm, [...path, 'domains', chain], mandatoryPosition, false, ctx);
798
+ validateIsmComposition(domainIsm, [...path, 'domains', chain], {
799
+ mandatoryPosition,
800
+ underAggregation: false,
801
+ authenticated,
802
+ addressModuleSibling,
803
+ }, ctx);
569
804
  }
570
805
  break;
571
806
  case IsmType.AMOUNT_ROUTING:
572
- validateBlacklistComposition(node.lowerIsm, [...path, 'lowerIsm'], mandatoryPosition, false, ctx);
573
- validateBlacklistComposition(node.upperIsm, [...path, 'upperIsm'], mandatoryPosition, false, ctx);
807
+ validateIsmComposition(node.lowerIsm, [...path, 'lowerIsm'], {
808
+ mandatoryPosition,
809
+ underAggregation: false,
810
+ authenticated,
811
+ addressModuleSibling,
812
+ }, ctx);
813
+ validateIsmComposition(node.upperIsm, [...path, 'upperIsm'], {
814
+ mandatoryPosition,
815
+ underAggregation: false,
816
+ authenticated,
817
+ addressModuleSibling,
818
+ }, ctx);
574
819
  break;
575
820
  default:
576
821
  break;
577
822
  }
578
823
  }
579
- export const IsmConfigSchema = BaseIsmConfigSchema.superRefine((data, ctx) => validateBlacklistComposition(data, [], true, false, ctx));
824
+ export const IsmConfigSchema = BaseIsmConfigSchema.superRefine((data, ctx) => validateIsmComposition(data, [], {
825
+ mandatoryPosition: true,
826
+ underAggregation: false,
827
+ authenticated: false,
828
+ addressModuleSibling: false,
829
+ }, ctx));
580
830
  /**
581
831
  * Forward-compatible ISM config schema that normalizes unknown ISM types.
582
832
  * Use this instead of IsmConfigSchema when parsing configs that may contain
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ism/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ism/types.ts"],"names":[],"mappings":"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"}