@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/utils.js CHANGED
@@ -1,12 +1,15 @@
1
1
  import { ethers, utils } from 'ethers';
2
- import { AbstractStorageMultisigIsm__factory, AmountRoutingIsm__factory, BlacklistIsm__factory, CCIPIsm__factory, DomainRoutingIsm__factory, IAggregationIsm__factory, IInterchainSecurityModule__factory, IMultisigIsm__factory, IRoutingIsm__factory, MailboxClient__factory, OPStackIsm__factory, PausableIsm__factory, RateLimitedIsm__factory, StaticAggregationIsm__factory, TrustedRelayerIsm__factory, } from '@hyperlane-xyz/core';
2
+ import { AbstractStorageMultisigIsm__factory, AmountRoutingIsm__factory, BlacklistIsm__factory, CCIPIsm__factory, DefaultIsm__factory, DelayedFlowRouterHookIsm__factory, DomainRoutingIsm__factory, IAggregationIsm__factory, IInterchainSecurityModule__factory, IMultisigIsm__factory, IRoutingIsm__factory, MailboxClient__factory, NetFlowRateLimitedHookIsm__factory, OPStackIsm__factory, PausableIsm__factory, RateLimitedIsm__factory, StaticAggregationIsm__factory, TrustedRelayerIsm__factory, } from '@hyperlane-xyz/core';
3
3
  import { deepEquals, eqAddress, formatMessage, messageId, normalizeAddress, objMap, rootLogger, } from '@hyperlane-xyz/utils';
4
4
  import { getChainNameFromCCIPSelector } from '../ccip/utils.js';
5
+ import { DEFAULT_CONTRACT_READ_CONCURRENCY } from '../consts/concurrency.js';
6
+ import { OnchainHookType } from '../hook/types.js';
5
7
  import { ChainTechnicalStack } from '../metadata/chainMetadataTypes.js';
6
8
  import { throwIfNotMissingSelector } from '../utils/contract.js';
7
- import { normalizeConfig } from '../utils/ism.js';
9
+ import { canonicalizeRemoteIsms, normalizeConfig } from '../utils/ism.js';
8
10
  import { EvmIsmReader } from './EvmIsmReader.js';
9
11
  import { normalizeBlacklistedIds, readBlacklistedIds } from './blacklist.js';
12
+ import { readDelayedFlowEnrollments } from './delayedFlow.js';
10
13
  import { IsmType, ModuleType, STATIC_ISM_TYPES, ismTypeToModuleType, } from './types.js';
11
14
  const logger = rootLogger.child({ module: 'IsmUtils' });
12
15
  // Determines the domains to enroll and unenroll to update the current ISM config
@@ -128,6 +131,20 @@ export async function moduleCanCertainlyVerify(destModule, multiProvider, origin
128
131
  const sampleId = messageId(message).toLowerCase();
129
132
  return !destModule.blacklistedIds.some((id) => id.toLowerCase() === sampleId);
130
133
  }
134
+ case IsmType.NET_FLOW_RATE_LIMITED:
135
+ case IsmType.DELAYED_FLOW_ROUTER:
136
+ // Verification depends on state this helper cannot read: the flow
137
+ // bucket's remaining capacity, and for DELAYED_FLOW_ROUTER also
138
+ // whether `readyAt` has elapsed. This function must never return a
139
+ // false positive, so both report "cannot verify". Consequence: an
140
+ // aggregation containing a hybrid also reports false, because an
141
+ // aggregation counts sub-results against its threshold. That follows
142
+ // from the no-false-positive contract and is not a regression.
143
+ return false;
144
+ case IsmType.MAILBOX_DEFAULT:
145
+ // The routed-to mailbox default ISM cannot be resolved from the config
146
+ // alone (no address), so err toward a false negative
147
+ return false;
131
148
  default:
132
149
  throw new Error(`Unsupported module type: ${destModule.type}`);
133
150
  }
@@ -268,7 +285,14 @@ export async function moduleMatchesConfig(chain, moduleAddress, config, multiPro
268
285
  const trustedRelayerIsm = TrustedRelayerIsm__factory.connect(moduleAddress, provider);
269
286
  const type = await trustedRelayerIsm.moduleType();
270
287
  matches &&= type === ModuleType.NULL;
271
- const relayer = await trustedRelayerIsm.trustedRelayer();
288
+ let relayer;
289
+ try {
290
+ relayer = await trustedRelayerIsm.trustedRelayer();
291
+ }
292
+ catch (error) {
293
+ throwIfNotMissingSelector(error);
294
+ return false;
295
+ }
272
296
  matches &&= eqAddress(relayer, config.relayer);
273
297
  break;
274
298
  }
@@ -343,6 +367,92 @@ export async function moduleMatchesConfig(chain, moduleAddress, config, multiPro
343
367
  matches &&= deepEquals(onChainIds, normalizeBlacklistedIds(config.blacklistedIds));
344
368
  break;
345
369
  }
370
+ case IsmType.MAILBOX_DEFAULT: {
371
+ // A DefaultIsm matches if it defers to the expected mailbox
372
+ const defaultIsm = DefaultIsm__factory.connect(moduleAddress, provider);
373
+ const onChainMailbox = await defaultIsm.mailbox();
374
+ matches = mailbox !== undefined && eqAddress(onChainMailbox, mailbox);
375
+ break;
376
+ }
377
+ case IsmType.NET_FLOW_RATE_LIMITED: {
378
+ const netFlowIsm = NetFlowRateLimitedHookIsm__factory.connect(moduleAddress, provider);
379
+ let onChainHookType;
380
+ try {
381
+ onChainHookType = await netFlowIsm.hookType();
382
+ }
383
+ catch (error) {
384
+ throwIfNotMissingSelector(error);
385
+ return false;
386
+ }
387
+ if (onChainHookType !== OnchainHookType.RATE_LIMITED)
388
+ return false;
389
+ const [onChainWarpRouter, onChainThresholdBps, onChainDuration] = await Promise.all([
390
+ netFlowIsm.warpRouter(),
391
+ netFlowIsm.thresholdBps(),
392
+ netFlowIsm.DURATION(),
393
+ ]);
394
+ if (config.warpRouter) {
395
+ matches &&= eqAddress(onChainWarpRouter, config.warpRouter);
396
+ }
397
+ matches &&= onChainThresholdBps.eq(config.thresholdBps);
398
+ matches &&= onChainDuration.toBigInt() === BigInt(config.duration);
399
+ if (config.owner) {
400
+ const onChainOwner = await netFlowIsm.owner();
401
+ matches &&= eqAddress(onChainOwner, config.owner);
402
+ }
403
+ break;
404
+ }
405
+ case IsmType.DELAYED_FLOW_ROUTER: {
406
+ const delayedIsm = DelayedFlowRouterHookIsm__factory.connect(moduleAddress, provider);
407
+ let onChainConfig;
408
+ try {
409
+ onChainConfig = await Promise.all([
410
+ delayedIsm.warpRouter(),
411
+ delayedIsm.thresholdBps(),
412
+ delayedIsm.maxDelay(),
413
+ delayedIsm.DURATION(),
414
+ delayedIsm.owner(),
415
+ ]);
416
+ }
417
+ catch (error) {
418
+ throwIfNotMissingSelector(error);
419
+ return false;
420
+ }
421
+ const [onChainWarpRouter, onChainThresholdBps, onChainMaxDelay, onChainDuration, onChainOwner,] = onChainConfig;
422
+ if (config.warpRouter) {
423
+ matches &&= eqAddress(onChainWarpRouter, config.warpRouter);
424
+ }
425
+ matches &&= onChainThresholdBps.eq(config.thresholdBps);
426
+ matches &&= onChainMaxDelay === config.maxDelay;
427
+ matches &&= onChainDuration.toBigInt() === BigInt(config.duration);
428
+ matches &&= eqAddress(onChainOwner, config.owner);
429
+ if (matches && config.remoteIsms !== undefined) {
430
+ // Strict set equality between configured and enrolled counterparts,
431
+ // scoped by the same chain<->domain resolution the reader uses so that
432
+ // a derived config always matches the instance it was derived from.
433
+ const { named, unnamedDomains } = await readDelayedFlowEnrollments(delayedIsm, multiProvider, multiProvider.tryGetRpcConcurrency(chain) ??
434
+ DEFAULT_CONTRACT_READ_CONCURRENCY, logger);
435
+ if (unnamedDomains.length > 0) {
436
+ // No config can name these, so they can never be an expected
437
+ // enrollment — and an enrolled counterpart may preverify arbitrary
438
+ // message ids, so they must not be invisible to `warp check`.
439
+ logger.warn(`DelayedFlowRouterHookIsm at ${moduleAddress} on ${chain} has enrollments on unnameable domain(s) ${unnamedDomains.join(', ')}, which no config can express`);
440
+ }
441
+ matches &&= unnamedDomains.length === 0;
442
+ const enrolledByChain = new Map(named.map(({ chainName, router }) => [chainName, router]));
443
+ // Same canonical representation the deploy and update paths use, so a
444
+ // config keyed by domain id compares against the enrollment it
445
+ // actually describes instead of always reading as drift.
446
+ const configEntries = Object.entries(canonicalizeRemoteIsms(config.remoteIsms, multiProvider, `DelayedFlowRouterHookIsm at ${moduleAddress} on ${chain}`));
447
+ matches &&= named.length === configEntries.length;
448
+ for (const [chainName, router] of configEntries) {
449
+ if (!matches)
450
+ break;
451
+ matches &&= enrolledByChain.get(chainName) === router;
452
+ }
453
+ }
454
+ break;
455
+ }
346
456
  default: {
347
457
  throw new Error('Unsupported ModuleType');
348
458
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/ism/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/ism/utils.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,50 @@ describe('ism utils', () => {
44
44
  const result = await moduleCanCertainlyVerify(config, multiProvider, origin, destination);
45
45
  expect(result).to.be.true;
46
46
  });
47
+ it('returns false for the state-dependent hybrid hook/ISMs', async () => {
48
+ const hybrids = [
49
+ {
50
+ type: IsmType.NET_FLOW_RATE_LIMITED,
51
+ thresholdBps: 500,
52
+ duration: 86400n,
53
+ owner: randomAddress(),
54
+ },
55
+ {
56
+ type: IsmType.DELAYED_FLOW_ROUTER,
57
+ thresholdBps: 500,
58
+ maxDelay: 3600,
59
+ duration: 86400n,
60
+ owner: randomAddress(),
61
+ },
62
+ ];
63
+ for (const config of hybrids) {
64
+ // Verification depends on bucket capacity (and elapsed delay for the
65
+ // delayed-flow one), neither of which this helper reads, so the
66
+ // no-false-positive contract requires false.
67
+ expect(await moduleCanCertainlyVerify(config, multiProvider, origin, destination)).to.be.false;
68
+ }
69
+ });
70
+ it('returns false for an aggregation containing a hybrid hook/ISM', async () => {
71
+ // Accepted consequence of the no-false-positive contract: an aggregation
72
+ // counts sub-results against its threshold, so a compliant aggregation
73
+ // whose members include a hybrid still reports "cannot verify".
74
+ const config = {
75
+ type: IsmType.AGGREGATION,
76
+ threshold: 2,
77
+ modules: [
78
+ { type: IsmType.TEST_ISM },
79
+ {
80
+ type: IsmType.DELAYED_FLOW_ROUTER,
81
+ thresholdBps: 500,
82
+ maxDelay: 3600,
83
+ duration: 86400n,
84
+ owner: randomAddress(),
85
+ },
86
+ ],
87
+ };
88
+ const result = await moduleCanCertainlyVerify(config, multiProvider, origin, destination);
89
+ expect(result).to.be.false;
90
+ });
47
91
  it('returns true for an empty blacklist', async () => {
48
92
  const config = {
49
93
  type: IsmType.BLACKLIST,
@@ -1 +1 @@
1
- {"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../src/ism/utils.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../src/ism/utils.test.ts"],"names":[],"mappings":"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"}