@recoillink/sdk 0.0.0-stage → 45.0.1

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 (1823) hide show
  1. package/LICENSE.md +193 -0
  2. package/README.md +30 -2
  3. package/dist/app/HyperlaneApp.d.ts +13 -0
  4. package/dist/app/HyperlaneApp.d.ts.map +1 -0
  5. package/dist/app/HyperlaneApp.js +22 -0
  6. package/dist/app/HyperlaneApp.js.map +1 -0
  7. package/dist/app/MultiProtocolApp.d.ts +93 -0
  8. package/dist/app/MultiProtocolApp.d.ts.map +1 -0
  9. package/dist/app/MultiProtocolApp.js +144 -0
  10. package/dist/app/MultiProtocolApp.js.map +1 -0
  11. package/dist/app/MultiProtocolApp.test.d.ts +2 -0
  12. package/dist/app/MultiProtocolApp.test.d.ts.map +1 -0
  13. package/dist/app/MultiProtocolApp.test.js +28 -0
  14. package/dist/app/MultiProtocolApp.test.js.map +1 -0
  15. package/dist/aws/s3.d.ts +22 -0
  16. package/dist/aws/s3.d.ts.map +1 -0
  17. package/dist/aws/s3.js +69 -0
  18. package/dist/aws/s3.js.map +1 -0
  19. package/dist/aws/validator.d.ts +22 -0
  20. package/dist/aws/validator.d.ts.map +1 -0
  21. package/dist/aws/validator.js +99 -0
  22. package/dist/aws/validator.js.map +1 -0
  23. package/dist/block-explorer/etherscan.d.ts +142 -0
  24. package/dist/block-explorer/etherscan.d.ts.map +1 -0
  25. package/dist/block-explorer/etherscan.js +307 -0
  26. package/dist/block-explorer/etherscan.js.map +1 -0
  27. package/dist/block-explorer/etherscan.test.d.ts +2 -0
  28. package/dist/block-explorer/etherscan.test.d.ts.map +1 -0
  29. package/dist/block-explorer/etherscan.test.js +359 -0
  30. package/dist/block-explorer/etherscan.test.js.map +1 -0
  31. package/dist/block-explorer/testFixtures.d.ts +8 -0
  32. package/dist/block-explorer/testFixtures.d.ts.map +1 -0
  33. package/dist/block-explorer/testFixtures.js +18 -0
  34. package/dist/block-explorer/testFixtures.js.map +1 -0
  35. package/dist/block-explorer/utils.d.ts +11 -0
  36. package/dist/block-explorer/utils.d.ts.map +1 -0
  37. package/dist/block-explorer/utils.js +32 -0
  38. package/dist/block-explorer/utils.js.map +1 -0
  39. package/dist/ccip/HyperlaneCCIPDeployer.d.ts +18 -0
  40. package/dist/ccip/HyperlaneCCIPDeployer.d.ts.map +1 -0
  41. package/dist/ccip/HyperlaneCCIPDeployer.js +122 -0
  42. package/dist/ccip/HyperlaneCCIPDeployer.js.map +1 -0
  43. package/dist/ccip/consts.d.ts +24 -0
  44. package/dist/ccip/consts.d.ts.map +1 -0
  45. package/dist/ccip/consts.js +491 -0
  46. package/dist/ccip/consts.js.map +1 -0
  47. package/dist/ccip/utils.d.ts +46 -0
  48. package/dist/ccip/utils.d.ts.map +1 -0
  49. package/dist/ccip/utils.js +95 -0
  50. package/dist/ccip/utils.js.map +1 -0
  51. package/dist/consts/bytecode.d.ts +14 -0
  52. package/dist/consts/bytecode.d.ts.map +1 -0
  53. package/dist/consts/bytecode.js +15 -0
  54. package/dist/consts/bytecode.js.map +1 -0
  55. package/dist/consts/concurrency.d.ts +2 -0
  56. package/dist/consts/concurrency.d.ts.map +1 -0
  57. package/dist/consts/concurrency.js +2 -0
  58. package/dist/consts/concurrency.js.map +1 -0
  59. package/dist/consts/igp.d.ts +12 -0
  60. package/dist/consts/igp.d.ts.map +1 -0
  61. package/dist/consts/igp.js +40 -0
  62. package/dist/consts/igp.js.map +1 -0
  63. package/dist/consts/mailbox.d.ts +2 -0
  64. package/dist/consts/mailbox.d.ts.map +1 -0
  65. package/dist/consts/mailbox.js +3 -0
  66. package/dist/consts/mailbox.js.map +1 -0
  67. package/dist/consts/multisigIsm.d.ts +5 -0
  68. package/dist/consts/multisigIsm.d.ts.map +1 -0
  69. package/dist/consts/multisigIsm.js +847 -0
  70. package/dist/consts/multisigIsm.js.map +1 -0
  71. package/dist/consts/multisigIsm.test.d.ts +2 -0
  72. package/dist/consts/multisigIsm.test.d.ts.map +1 -0
  73. package/dist/consts/multisigIsm.test.js +40 -0
  74. package/dist/consts/multisigIsm.test.js.map +1 -0
  75. package/dist/consts/multisigIsmVerifyCosts.d.ts +210 -0
  76. package/dist/consts/multisigIsmVerifyCosts.d.ts.map +1 -0
  77. package/dist/consts/multisigIsmVerifyCosts.js +210 -0
  78. package/dist/consts/multisigIsmVerifyCosts.js.map +1 -0
  79. package/dist/consts/numbers.d.ts +2 -0
  80. package/dist/consts/numbers.d.ts.map +1 -0
  81. package/dist/consts/numbers.js +3 -0
  82. package/dist/consts/numbers.js.map +1 -0
  83. package/dist/consts/recoilLinkFees.d.ts +6 -0
  84. package/dist/consts/recoilLinkFees.d.ts.map +1 -0
  85. package/dist/consts/recoilLinkFees.js +17 -0
  86. package/dist/consts/recoilLinkFees.js.map +1 -0
  87. package/dist/consts/registry.d.ts +2 -0
  88. package/dist/consts/registry.d.ts.map +1 -0
  89. package/dist/consts/registry.js +5 -0
  90. package/dist/consts/registry.js.map +1 -0
  91. package/dist/consts/sealevel.d.ts +7 -0
  92. package/dist/consts/sealevel.d.ts.map +1 -0
  93. package/dist/consts/sealevel.js +8 -0
  94. package/dist/consts/sealevel.js.map +1 -0
  95. package/dist/consts/testChains.d.ts +30 -0
  96. package/dist/consts/testChains.d.ts.map +1 -0
  97. package/dist/consts/testChains.js +244 -0
  98. package/dist/consts/testChains.js.map +1 -0
  99. package/dist/contracts/contracts.d.ts +40 -0
  100. package/dist/contracts/contracts.d.ts.map +1 -0
  101. package/dist/contracts/contracts.hardhat-test.d.ts +2 -0
  102. package/dist/contracts/contracts.hardhat-test.d.ts.map +1 -0
  103. package/dist/contracts/contracts.hardhat-test.js +34 -0
  104. package/dist/contracts/contracts.hardhat-test.js.map +1 -0
  105. package/dist/contracts/contracts.js +201 -0
  106. package/dist/contracts/contracts.js.map +1 -0
  107. package/dist/contracts/contracts.test.d.ts +2 -0
  108. package/dist/contracts/contracts.test.d.ts.map +1 -0
  109. package/dist/contracts/contracts.test.js +88 -0
  110. package/dist/contracts/contracts.test.js.map +1 -0
  111. package/dist/contracts/types.d.ts +18 -0
  112. package/dist/contracts/types.d.ts.map +1 -0
  113. package/dist/contracts/types.js +2 -0
  114. package/dist/contracts/types.js.map +1 -0
  115. package/dist/core/AbstractHyperlaneModule.d.ts +18 -0
  116. package/dist/core/AbstractHyperlaneModule.d.ts.map +1 -0
  117. package/dist/core/AbstractHyperlaneModule.js +10 -0
  118. package/dist/core/AbstractHyperlaneModule.js.map +1 -0
  119. package/dist/core/CoreDeployer.hardhat-test.d.ts +2 -0
  120. package/dist/core/CoreDeployer.hardhat-test.d.ts.map +1 -0
  121. package/dist/core/CoreDeployer.hardhat-test.js +234 -0
  122. package/dist/core/CoreDeployer.hardhat-test.js.map +1 -0
  123. package/dist/core/EvmCoreModule.d.ts +119 -0
  124. package/dist/core/EvmCoreModule.d.ts.map +1 -0
  125. package/dist/core/EvmCoreModule.hardhat-test.d.ts +2 -0
  126. package/dist/core/EvmCoreModule.hardhat-test.d.ts.map +1 -0
  127. package/dist/core/EvmCoreModule.hardhat-test.js +364 -0
  128. package/dist/core/EvmCoreModule.hardhat-test.js.map +1 -0
  129. package/dist/core/EvmCoreModule.js +339 -0
  130. package/dist/core/EvmCoreModule.js.map +1 -0
  131. package/dist/core/EvmCoreReader.d.ts +38 -0
  132. package/dist/core/EvmCoreReader.d.ts.map +1 -0
  133. package/dist/core/EvmCoreReader.js +92 -0
  134. package/dist/core/EvmCoreReader.js.map +1 -0
  135. package/dist/core/EvmIcaModule.d.ts +43 -0
  136. package/dist/core/EvmIcaModule.d.ts.map +1 -0
  137. package/dist/core/EvmIcaModule.hardhat-test.d.ts +2 -0
  138. package/dist/core/EvmIcaModule.hardhat-test.d.ts.map +1 -0
  139. package/dist/core/EvmIcaModule.hardhat-test.js +211 -0
  140. package/dist/core/EvmIcaModule.hardhat-test.js.map +1 -0
  141. package/dist/core/EvmIcaModule.js +143 -0
  142. package/dist/core/EvmIcaModule.js.map +1 -0
  143. package/dist/core/HyperlaneCore.d.ts +78 -0
  144. package/dist/core/HyperlaneCore.d.ts.map +1 -0
  145. package/dist/core/HyperlaneCore.js +296 -0
  146. package/dist/core/HyperlaneCore.js.map +1 -0
  147. package/dist/core/HyperlaneCore.test.d.ts +2 -0
  148. package/dist/core/HyperlaneCore.test.d.ts.map +1 -0
  149. package/dist/core/HyperlaneCore.test.js +12 -0
  150. package/dist/core/HyperlaneCore.test.js.map +1 -0
  151. package/dist/core/HyperlaneCoreChecker.d.ts +18 -0
  152. package/dist/core/HyperlaneCoreChecker.d.ts.map +1 -0
  153. package/dist/core/HyperlaneCoreChecker.js +171 -0
  154. package/dist/core/HyperlaneCoreChecker.js.map +1 -0
  155. package/dist/core/HyperlaneCoreDeployer.d.ts +36 -0
  156. package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -0
  157. package/dist/core/HyperlaneCoreDeployer.js +162 -0
  158. package/dist/core/HyperlaneCoreDeployer.js.map +1 -0
  159. package/dist/core/MultiProtocolCore.d.ts +21 -0
  160. package/dist/core/MultiProtocolCore.d.ts.map +1 -0
  161. package/dist/core/MultiProtocolCore.js +49 -0
  162. package/dist/core/MultiProtocolCore.js.map +1 -0
  163. package/dist/core/MultiProtocolCore.test.d.ts +2 -0
  164. package/dist/core/MultiProtocolCore.test.d.ts.map +1 -0
  165. package/dist/core/MultiProtocolCore.test.js +27 -0
  166. package/dist/core/MultiProtocolCore.test.js.map +1 -0
  167. package/dist/core/TestCoreApp.d.ts +17 -0
  168. package/dist/core/TestCoreApp.d.ts.map +1 -0
  169. package/dist/core/TestCoreApp.js +49 -0
  170. package/dist/core/TestCoreApp.js.map +1 -0
  171. package/dist/core/TestCoreDeployer.d.ts +10 -0
  172. package/dist/core/TestCoreDeployer.d.ts.map +1 -0
  173. package/dist/core/TestCoreDeployer.js +13 -0
  174. package/dist/core/TestCoreDeployer.js.map +1 -0
  175. package/dist/core/TestRecipientDeployer.d.ts +22 -0
  176. package/dist/core/TestRecipientDeployer.d.ts.map +1 -0
  177. package/dist/core/TestRecipientDeployer.js +30 -0
  178. package/dist/core/TestRecipientDeployer.js.map +1 -0
  179. package/dist/core/adapters/AleoCoreAdapter.d.ts +23 -0
  180. package/dist/core/adapters/AleoCoreAdapter.d.ts.map +1 -0
  181. package/dist/core/adapters/AleoCoreAdapter.js +72 -0
  182. package/dist/core/adapters/AleoCoreAdapter.js.map +1 -0
  183. package/dist/core/adapters/CosmNativeCoreAdapter.d.ts +23 -0
  184. package/dist/core/adapters/CosmNativeCoreAdapter.d.ts.map +1 -0
  185. package/dist/core/adapters/CosmNativeCoreAdapter.js +65 -0
  186. package/dist/core/adapters/CosmNativeCoreAdapter.js.map +1 -0
  187. package/dist/core/adapters/CosmWasmCoreAdapter.d.ts +40 -0
  188. package/dist/core/adapters/CosmWasmCoreAdapter.d.ts.map +1 -0
  189. package/dist/core/adapters/CosmWasmCoreAdapter.js +145 -0
  190. package/dist/core/adapters/CosmWasmCoreAdapter.js.map +1 -0
  191. package/dist/core/adapters/CosmWasmCoreAdapter.test.d.ts +2 -0
  192. package/dist/core/adapters/CosmWasmCoreAdapter.test.d.ts.map +1 -0
  193. package/dist/core/adapters/CosmWasmCoreAdapter.test.js +31 -0
  194. package/dist/core/adapters/CosmWasmCoreAdapter.test.js.map +1 -0
  195. package/dist/core/adapters/CosmWasmIgpAdapter.d.ts +27 -0
  196. package/dist/core/adapters/CosmWasmIgpAdapter.d.ts.map +1 -0
  197. package/dist/core/adapters/CosmWasmIgpAdapter.js +92 -0
  198. package/dist/core/adapters/CosmWasmIgpAdapter.js.map +1 -0
  199. package/dist/core/adapters/EvmCoreAdapter.d.ts +25 -0
  200. package/dist/core/adapters/EvmCoreAdapter.d.ts.map +1 -0
  201. package/dist/core/adapters/EvmCoreAdapter.js +44 -0
  202. package/dist/core/adapters/EvmCoreAdapter.js.map +1 -0
  203. package/dist/core/adapters/RadixCoreAdapter.d.ts +23 -0
  204. package/dist/core/adapters/RadixCoreAdapter.d.ts.map +1 -0
  205. package/dist/core/adapters/RadixCoreAdapter.js +58 -0
  206. package/dist/core/adapters/RadixCoreAdapter.js.map +1 -0
  207. package/dist/core/adapters/SealevelCoreAdapter.d.ts +56 -0
  208. package/dist/core/adapters/SealevelCoreAdapter.d.ts.map +1 -0
  209. package/dist/core/adapters/SealevelCoreAdapter.js +191 -0
  210. package/dist/core/adapters/SealevelCoreAdapter.js.map +1 -0
  211. package/dist/core/adapters/SealevelCoreAdapter.test.d.ts +2 -0
  212. package/dist/core/adapters/SealevelCoreAdapter.test.d.ts.map +1 -0
  213. package/dist/core/adapters/SealevelCoreAdapter.test.js +33 -0
  214. package/dist/core/adapters/SealevelCoreAdapter.test.js.map +1 -0
  215. package/dist/core/adapters/StarknetCoreAdapter.d.ts +23 -0
  216. package/dist/core/adapters/StarknetCoreAdapter.d.ts.map +1 -0
  217. package/dist/core/adapters/StarknetCoreAdapter.js +70 -0
  218. package/dist/core/adapters/StarknetCoreAdapter.js.map +1 -0
  219. package/dist/core/adapters/types.d.ts +19 -0
  220. package/dist/core/adapters/types.d.ts.map +1 -0
  221. package/dist/core/adapters/types.js +2 -0
  222. package/dist/core/adapters/types.js.map +1 -0
  223. package/dist/core/contracts.d.ts +15 -0
  224. package/dist/core/contracts.d.ts.map +1 -0
  225. package/dist/core/contracts.js +13 -0
  226. package/dist/core/contracts.js.map +1 -0
  227. package/dist/core/events.d.ts +4 -0
  228. package/dist/core/events.d.ts.map +1 -0
  229. package/dist/core/events.js +2 -0
  230. package/dist/core/events.js.map +1 -0
  231. package/dist/core/testHyperlaneDeploy.hardhat-test.d.ts +3 -0
  232. package/dist/core/testHyperlaneDeploy.hardhat-test.d.ts.map +1 -0
  233. package/dist/core/testHyperlaneDeploy.hardhat-test.js +56 -0
  234. package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -0
  235. package/dist/core/types.d.ts +173 -0
  236. package/dist/core/types.d.ts.map +1 -0
  237. package/dist/core/types.js +118 -0
  238. package/dist/core/types.js.map +1 -0
  239. package/dist/core/types.test.d.ts +2 -0
  240. package/dist/core/types.test.d.ts.map +1 -0
  241. package/dist/core/types.test.js +205 -0
  242. package/dist/core/types.test.js.map +1 -0
  243. package/dist/cw-types/Cw20Base.types.d.ts +198 -0
  244. package/dist/cw-types/Cw20Base.types.d.ts.map +1 -0
  245. package/dist/cw-types/Cw20Base.types.js +7 -0
  246. package/dist/cw-types/Cw20Base.types.js.map +1 -0
  247. package/dist/cw-types/HookAggregate.types.d.ts +79 -0
  248. package/dist/cw-types/HookAggregate.types.d.ts.map +1 -0
  249. package/dist/cw-types/HookAggregate.types.js +7 -0
  250. package/dist/cw-types/HookAggregate.types.js.map +1 -0
  251. package/dist/cw-types/HookMerkle.types.d.ts +163 -0
  252. package/dist/cw-types/HookMerkle.types.d.ts.map +1 -0
  253. package/dist/cw-types/HookMerkle.types.js +7 -0
  254. package/dist/cw-types/HookMerkle.types.js.map +1 -0
  255. package/dist/cw-types/HookPausable.types.d.ts +82 -0
  256. package/dist/cw-types/HookPausable.types.d.ts.map +1 -0
  257. package/dist/cw-types/HookPausable.types.js +7 -0
  258. package/dist/cw-types/HookPausable.types.js.map +1 -0
  259. package/dist/cw-types/HookRouting.types.d.ts +109 -0
  260. package/dist/cw-types/HookRouting.types.d.ts.map +1 -0
  261. package/dist/cw-types/HookRouting.types.js +7 -0
  262. package/dist/cw-types/HookRouting.types.js.map +1 -0
  263. package/dist/cw-types/HookRoutingCustom.types.d.ts +149 -0
  264. package/dist/cw-types/HookRoutingCustom.types.d.ts.map +1 -0
  265. package/dist/cw-types/HookRoutingCustom.types.js +7 -0
  266. package/dist/cw-types/HookRoutingCustom.types.js.map +1 -0
  267. package/dist/cw-types/HookRoutingFallback.types.d.ts +113 -0
  268. package/dist/cw-types/HookRoutingFallback.types.d.ts.map +1 -0
  269. package/dist/cw-types/HookRoutingFallback.types.js +7 -0
  270. package/dist/cw-types/HookRoutingFallback.types.js.map +1 -0
  271. package/dist/cw-types/Igp.types.d.ts +184 -0
  272. package/dist/cw-types/Igp.types.d.ts.map +1 -0
  273. package/dist/cw-types/Igp.types.js +7 -0
  274. package/dist/cw-types/Igp.types.js.map +1 -0
  275. package/dist/cw-types/IgpOracle.types.d.ts +61 -0
  276. package/dist/cw-types/IgpOracle.types.d.ts.map +1 -0
  277. package/dist/cw-types/IgpOracle.types.js +7 -0
  278. package/dist/cw-types/IgpOracle.types.js.map +1 -0
  279. package/dist/cw-types/IsmAggregate.types.d.ts +76 -0
  280. package/dist/cw-types/IsmAggregate.types.d.ts.map +1 -0
  281. package/dist/cw-types/IsmAggregate.types.js +7 -0
  282. package/dist/cw-types/IsmAggregate.types.js.map +1 -0
  283. package/dist/cw-types/IsmMultisig.types.d.ts +102 -0
  284. package/dist/cw-types/IsmMultisig.types.d.ts.map +1 -0
  285. package/dist/cw-types/IsmMultisig.types.js +7 -0
  286. package/dist/cw-types/IsmMultisig.types.js.map +1 -0
  287. package/dist/cw-types/IsmRouting.types.d.ts +81 -0
  288. package/dist/cw-types/IsmRouting.types.d.ts.map +1 -0
  289. package/dist/cw-types/IsmRouting.types.js +7 -0
  290. package/dist/cw-types/IsmRouting.types.js.map +1 -0
  291. package/dist/cw-types/Mailbox.types.d.ts +131 -0
  292. package/dist/cw-types/Mailbox.types.d.ts.map +1 -0
  293. package/dist/cw-types/Mailbox.types.js +7 -0
  294. package/dist/cw-types/Mailbox.types.js.map +1 -0
  295. package/dist/cw-types/ValidatorAnnounce.types.d.ts +31 -0
  296. package/dist/cw-types/ValidatorAnnounce.types.d.ts.map +1 -0
  297. package/dist/cw-types/ValidatorAnnounce.types.js +7 -0
  298. package/dist/cw-types/ValidatorAnnounce.types.js.map +1 -0
  299. package/dist/cw-types/WarpCw20.types.d.ts +217 -0
  300. package/dist/cw-types/WarpCw20.types.d.ts.map +1 -0
  301. package/dist/cw-types/WarpCw20.types.js +7 -0
  302. package/dist/cw-types/WarpCw20.types.js.map +1 -0
  303. package/dist/cw-types/WarpNative.types.d.ts +197 -0
  304. package/dist/cw-types/WarpNative.types.d.ts.map +1 -0
  305. package/dist/cw-types/WarpNative.types.js +7 -0
  306. package/dist/cw-types/WarpNative.types.js.map +1 -0
  307. package/dist/deploy/HyperlaneAppChecker.d.ts +32 -0
  308. package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -0
  309. package/dist/deploy/HyperlaneAppChecker.js +220 -0
  310. package/dist/deploy/HyperlaneAppChecker.js.map +1 -0
  311. package/dist/deploy/HyperlaneDeployer.d.ts +83 -0
  312. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -0
  313. package/dist/deploy/HyperlaneDeployer.js +434 -0
  314. package/dist/deploy/HyperlaneDeployer.js.map +1 -0
  315. package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts +11 -0
  316. package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts.map +1 -0
  317. package/dist/deploy/HyperlaneProxyFactoryDeployer.js +48 -0
  318. package/dist/deploy/HyperlaneProxyFactoryDeployer.js.map +1 -0
  319. package/dist/deploy/contracts.d.ts +16 -0
  320. package/dist/deploy/contracts.d.ts.map +1 -0
  321. package/dist/deploy/contracts.js +25 -0
  322. package/dist/deploy/contracts.js.map +1 -0
  323. package/dist/deploy/proxy.d.ts +52 -0
  324. package/dist/deploy/proxy.d.ts.map +1 -0
  325. package/dist/deploy/proxy.js +153 -0
  326. package/dist/deploy/proxy.js.map +1 -0
  327. package/dist/deploy/proxy.test.d.ts +2 -0
  328. package/dist/deploy/proxy.test.d.ts.map +1 -0
  329. package/dist/deploy/proxy.test.js +168 -0
  330. package/dist/deploy/proxy.test.js.map +1 -0
  331. package/dist/deploy/proxyFactoryUtils.d.ts +7 -0
  332. package/dist/deploy/proxyFactoryUtils.d.ts.map +1 -0
  333. package/dist/deploy/proxyFactoryUtils.js +12 -0
  334. package/dist/deploy/proxyFactoryUtils.js.map +1 -0
  335. package/dist/deploy/types.d.ts +69 -0
  336. package/dist/deploy/types.d.ts.map +1 -0
  337. package/dist/deploy/types.js +22 -0
  338. package/dist/deploy/types.js.map +1 -0
  339. package/dist/deploy/utils.d.ts +15 -0
  340. package/dist/deploy/utils.d.ts.map +1 -0
  341. package/dist/deploy/utils.js +28 -0
  342. package/dist/deploy/utils.js.map +1 -0
  343. package/dist/deploy/verify/BaseContractVerifier.d.ts +23 -0
  344. package/dist/deploy/verify/BaseContractVerifier.d.ts.map +1 -0
  345. package/dist/deploy/verify/BaseContractVerifier.js +128 -0
  346. package/dist/deploy/verify/BaseContractVerifier.js.map +1 -0
  347. package/dist/deploy/verify/ContractVerifier.d.ts +30 -0
  348. package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -0
  349. package/dist/deploy/verify/ContractVerifier.js +125 -0
  350. package/dist/deploy/verify/ContractVerifier.js.map +1 -0
  351. package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts +15 -0
  352. package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts.map +1 -0
  353. package/dist/deploy/verify/PostDeploymentContractVerifier.js +45 -0
  354. package/dist/deploy/verify/PostDeploymentContractVerifier.js.map +1 -0
  355. package/dist/deploy/verify/ZKSyncContractVerifier.d.ts +50 -0
  356. package/dist/deploy/verify/ZKSyncContractVerifier.d.ts.map +1 -0
  357. package/dist/deploy/verify/ZKSyncContractVerifier.js +99 -0
  358. package/dist/deploy/verify/ZKSyncContractVerifier.js.map +1 -0
  359. package/dist/deploy/verify/types.d.ts +47 -0
  360. package/dist/deploy/verify/types.d.ts.map +1 -0
  361. package/dist/deploy/verify/types.js +7 -0
  362. package/dist/deploy/verify/types.js.map +1 -0
  363. package/dist/deploy/verify/utils.d.ts +81 -0
  364. package/dist/deploy/verify/utils.d.ts.map +1 -0
  365. package/dist/deploy/verify/utils.js +208 -0
  366. package/dist/deploy/verify/utils.js.map +1 -0
  367. package/dist/deploy/verify/utils.test.d.ts +2 -0
  368. package/dist/deploy/verify/utils.test.d.ts.map +1 -0
  369. package/dist/deploy/verify/utils.test.js +49 -0
  370. package/dist/deploy/verify/utils.test.js.map +1 -0
  371. package/dist/deploy/warp.d.ts +150 -0
  372. package/dist/deploy/warp.d.ts.map +1 -0
  373. package/dist/deploy/warp.js +1280 -0
  374. package/dist/deploy/warp.js.map +1 -0
  375. package/dist/deploy/warp.test.d.ts +2 -0
  376. package/dist/deploy/warp.test.d.ts.map +1 -0
  377. package/dist/deploy/warp.test.js +419 -0
  378. package/dist/deploy/warp.test.js.map +1 -0
  379. package/dist/deploy/warpHybridPlan.d.ts +104 -0
  380. package/dist/deploy/warpHybridPlan.d.ts.map +1 -0
  381. package/dist/deploy/warpHybridPlan.js +178 -0
  382. package/dist/deploy/warpHybridPlan.js.map +1 -0
  383. package/dist/deploy/warpHybridPlan.test.d.ts +2 -0
  384. package/dist/deploy/warpHybridPlan.test.d.ts.map +1 -0
  385. package/dist/deploy/warpHybridPlan.test.js +141 -0
  386. package/dist/deploy/warpHybridPlan.test.js.map +1 -0
  387. package/dist/fee/EvmTokenFeeDeployer.d.ts +20 -0
  388. package/dist/fee/EvmTokenFeeDeployer.d.ts.map +1 -0
  389. package/dist/fee/EvmTokenFeeDeployer.hardhat-test.d.ts +2 -0
  390. package/dist/fee/EvmTokenFeeDeployer.hardhat-test.d.ts.map +1 -0
  391. package/dist/fee/EvmTokenFeeDeployer.hardhat-test.js +353 -0
  392. package/dist/fee/EvmTokenFeeDeployer.hardhat-test.js.map +1 -0
  393. package/dist/fee/EvmTokenFeeDeployer.js +143 -0
  394. package/dist/fee/EvmTokenFeeDeployer.js.map +1 -0
  395. package/dist/fee/EvmTokenFeeModule.d.ts +63 -0
  396. package/dist/fee/EvmTokenFeeModule.d.ts.map +1 -0
  397. package/dist/fee/EvmTokenFeeModule.hardhat-test.d.ts +2 -0
  398. package/dist/fee/EvmTokenFeeModule.hardhat-test.d.ts.map +1 -0
  399. package/dist/fee/EvmTokenFeeModule.hardhat-test.js +942 -0
  400. package/dist/fee/EvmTokenFeeModule.hardhat-test.js.map +1 -0
  401. package/dist/fee/EvmTokenFeeModule.js +583 -0
  402. package/dist/fee/EvmTokenFeeModule.js.map +1 -0
  403. package/dist/fee/EvmTokenFeeReader.d.ts +38 -0
  404. package/dist/fee/EvmTokenFeeReader.d.ts.map +1 -0
  405. package/dist/fee/EvmTokenFeeReader.hardhat-test.d.ts +4 -0
  406. package/dist/fee/EvmTokenFeeReader.hardhat-test.d.ts.map +1 -0
  407. package/dist/fee/EvmTokenFeeReader.hardhat-test.js +371 -0
  408. package/dist/fee/EvmTokenFeeReader.hardhat-test.js.map +1 -0
  409. package/dist/fee/EvmTokenFeeReader.js +200 -0
  410. package/dist/fee/EvmTokenFeeReader.js.map +1 -0
  411. package/dist/fee/contracts.d.ts +11 -0
  412. package/dist/fee/contracts.d.ts.map +1 -0
  413. package/dist/fee/contracts.js +11 -0
  414. package/dist/fee/contracts.js.map +1 -0
  415. package/dist/fee/crossCollateralUtils.d.ts +8 -0
  416. package/dist/fee/crossCollateralUtils.d.ts.map +1 -0
  417. package/dist/fee/crossCollateralUtils.js +49 -0
  418. package/dist/fee/crossCollateralUtils.js.map +1 -0
  419. package/dist/fee/feeConfigMapping.d.ts +9 -0
  420. package/dist/fee/feeConfigMapping.d.ts.map +1 -0
  421. package/dist/fee/feeConfigMapping.js +87 -0
  422. package/dist/fee/feeConfigMapping.js.map +1 -0
  423. package/dist/fee/feeConfigMapping.test.d.ts +2 -0
  424. package/dist/fee/feeConfigMapping.test.d.ts.map +1 -0
  425. package/dist/fee/feeConfigMapping.test.js +204 -0
  426. package/dist/fee/feeConfigMapping.test.js.map +1 -0
  427. package/dist/fee/types.d.ts +295 -0
  428. package/dist/fee/types.d.ts.map +1 -0
  429. package/dist/fee/types.js +238 -0
  430. package/dist/fee/types.js.map +1 -0
  431. package/dist/fee/types.test.d.ts +2 -0
  432. package/dist/fee/types.test.d.ts.map +1 -0
  433. package/dist/fee/types.test.js +204 -0
  434. package/dist/fee/types.test.js.map +1 -0
  435. package/dist/fee/utils.d.ts +9 -0
  436. package/dist/fee/utils.d.ts.map +1 -0
  437. package/dist/fee/utils.js +9 -0
  438. package/dist/fee/utils.js.map +1 -0
  439. package/dist/fee/utils.test.d.ts +2 -0
  440. package/dist/fee/utils.test.d.ts.map +1 -0
  441. package/dist/fee/utils.test.js +54 -0
  442. package/dist/fee/utils.test.js.map +1 -0
  443. package/dist/fork/types.d.ts +354 -0
  444. package/dist/fork/types.d.ts.map +1 -0
  445. package/dist/fork/types.js +142 -0
  446. package/dist/fork/types.js.map +1 -0
  447. package/dist/gas/HyperlaneIgp.d.ts +53 -0
  448. package/dist/gas/HyperlaneIgp.d.ts.map +1 -0
  449. package/dist/gas/HyperlaneIgp.js +64 -0
  450. package/dist/gas/HyperlaneIgp.js.map +1 -0
  451. package/dist/gas/HyperlaneIgpChecker.d.ts +13 -0
  452. package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -0
  453. package/dist/gas/HyperlaneIgpChecker.js +162 -0
  454. package/dist/gas/HyperlaneIgpChecker.js.map +1 -0
  455. package/dist/gas/HyperlaneIgpDeployer.d.ts +32 -0
  456. package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -0
  457. package/dist/gas/HyperlaneIgpDeployer.js +248 -0
  458. package/dist/gas/HyperlaneIgpDeployer.js.map +1 -0
  459. package/dist/gas/adapters/SealevelIgpAdapter.d.ts +93 -0
  460. package/dist/gas/adapters/SealevelIgpAdapter.d.ts.map +1 -0
  461. package/dist/gas/adapters/SealevelIgpAdapter.js +294 -0
  462. package/dist/gas/adapters/SealevelIgpAdapter.js.map +1 -0
  463. package/dist/gas/adapters/SealevelIgpAdapter.test.d.ts +2 -0
  464. package/dist/gas/adapters/SealevelIgpAdapter.test.d.ts.map +1 -0
  465. package/dist/gas/adapters/SealevelIgpAdapter.test.js +189 -0
  466. package/dist/gas/adapters/SealevelIgpAdapter.test.js.map +1 -0
  467. package/dist/gas/adapters/serialization.d.ts +180 -0
  468. package/dist/gas/adapters/serialization.d.ts.map +1 -0
  469. package/dist/gas/adapters/serialization.js +409 -0
  470. package/dist/gas/adapters/serialization.js.map +1 -0
  471. package/dist/gas/adapters/serialization.test.d.ts +2 -0
  472. package/dist/gas/adapters/serialization.test.d.ts.map +1 -0
  473. package/dist/gas/adapters/serialization.test.js +87 -0
  474. package/dist/gas/adapters/serialization.test.js.map +1 -0
  475. package/dist/gas/contracts.d.ts +8 -0
  476. package/dist/gas/contracts.d.ts.map +1 -0
  477. package/dist/gas/contracts.js +7 -0
  478. package/dist/gas/contracts.js.map +1 -0
  479. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.d.ts +2 -0
  480. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.d.ts.map +1 -0
  481. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js +82 -0
  482. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js.map +1 -0
  483. package/dist/gas/oracle/types.d.ts +42 -0
  484. package/dist/gas/oracle/types.d.ts.map +1 -0
  485. package/dist/gas/oracle/types.js +45 -0
  486. package/dist/gas/oracle/types.js.map +1 -0
  487. package/dist/gas/token-prices.d.ts +58 -0
  488. package/dist/gas/token-prices.d.ts.map +1 -0
  489. package/dist/gas/token-prices.js +199 -0
  490. package/dist/gas/token-prices.js.map +1 -0
  491. package/dist/gas/token-prices.test.d.ts +2 -0
  492. package/dist/gas/token-prices.test.d.ts.map +1 -0
  493. package/dist/gas/token-prices.test.js +96 -0
  494. package/dist/gas/token-prices.test.js.map +1 -0
  495. package/dist/gas/types.d.ts +50 -0
  496. package/dist/gas/types.d.ts.map +1 -0
  497. package/dist/gas/types.js +26 -0
  498. package/dist/gas/types.js.map +1 -0
  499. package/dist/gas/utils.d.ts +34 -0
  500. package/dist/gas/utils.d.ts.map +1 -0
  501. package/dist/gas/utils.js +246 -0
  502. package/dist/gas/utils.js.map +1 -0
  503. package/dist/gas/utils.test.d.ts +2 -0
  504. package/dist/gas/utils.test.d.ts.map +1 -0
  505. package/dist/gas/utils.test.js +132 -0
  506. package/dist/gas/utils.test.js.map +1 -0
  507. package/dist/gcp/storage.d.ts +28 -0
  508. package/dist/gcp/storage.d.ts.map +1 -0
  509. package/dist/gcp/storage.js +88 -0
  510. package/dist/gcp/storage.js.map +1 -0
  511. package/dist/gcp/validator.d.ts +22 -0
  512. package/dist/gcp/validator.d.ts.map +1 -0
  513. package/dist/gcp/validator.js +107 -0
  514. package/dist/gcp/validator.js.map +1 -0
  515. package/dist/hook/EvmHookModule.d.ts +161 -0
  516. package/dist/hook/EvmHookModule.d.ts.map +1 -0
  517. package/dist/hook/EvmHookModule.hardhat-test.d.ts +2 -0
  518. package/dist/hook/EvmHookModule.hardhat-test.d.ts.map +1 -0
  519. package/dist/hook/EvmHookModule.hardhat-test.js +1004 -0
  520. package/dist/hook/EvmHookModule.hardhat-test.js.map +1 -0
  521. package/dist/hook/EvmHookModule.js +932 -0
  522. package/dist/hook/EvmHookModule.js.map +1 -0
  523. package/dist/hook/EvmHookReader.d.ts +81 -0
  524. package/dist/hook/EvmHookReader.d.ts.map +1 -0
  525. package/dist/hook/EvmHookReader.js +630 -0
  526. package/dist/hook/EvmHookReader.js.map +1 -0
  527. package/dist/hook/EvmHookReader.test.d.ts +2 -0
  528. package/dist/hook/EvmHookReader.test.d.ts.map +1 -0
  529. package/dist/hook/EvmHookReader.test.js +647 -0
  530. package/dist/hook/EvmHookReader.test.js.map +1 -0
  531. package/dist/hook/HyperlaneHookDeployer.d.ts +70 -0
  532. package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -0
  533. package/dist/hook/HyperlaneHookDeployer.hardhat-test.d.ts +2 -0
  534. package/dist/hook/HyperlaneHookDeployer.hardhat-test.d.ts.map +1 -0
  535. package/dist/hook/HyperlaneHookDeployer.hardhat-test.js +322 -0
  536. package/dist/hook/HyperlaneHookDeployer.hardhat-test.js.map +1 -0
  537. package/dist/hook/HyperlaneHookDeployer.js +538 -0
  538. package/dist/hook/HyperlaneHookDeployer.js.map +1 -0
  539. package/dist/hook/contracts.d.ts +20 -0
  540. package/dist/hook/contracts.d.ts.map +1 -0
  541. package/dist/hook/contracts.js +18 -0
  542. package/dist/hook/contracts.js.map +1 -0
  543. package/dist/hook/types.d.ts +262 -0
  544. package/dist/hook/types.d.ts.map +1 -0
  545. package/dist/hook/types.js +341 -0
  546. package/dist/hook/types.js.map +1 -0
  547. package/dist/hook/types.test.d.ts +2 -0
  548. package/dist/hook/types.test.d.ts.map +1 -0
  549. package/dist/hook/types.test.js +227 -0
  550. package/dist/hook/types.test.js.map +1 -0
  551. package/dist/hook/updates.d.ts +33 -0
  552. package/dist/hook/updates.d.ts.map +1 -0
  553. package/dist/hook/updates.js +35 -0
  554. package/dist/hook/updates.js.map +1 -0
  555. package/dist/hook/utils.d.ts +58 -0
  556. package/dist/hook/utils.d.ts.map +1 -0
  557. package/dist/hook/utils.hardhat-test.d.ts +2 -0
  558. package/dist/hook/utils.hardhat-test.d.ts.map +1 -0
  559. package/dist/hook/utils.hardhat-test.js +119 -0
  560. package/dist/hook/utils.hardhat-test.js.map +1 -0
  561. package/dist/hook/utils.js +157 -0
  562. package/dist/hook/utils.js.map +1 -0
  563. package/dist/ica/EvmIcaReader.d.ts +7 -0
  564. package/dist/ica/EvmIcaReader.d.ts.map +1 -0
  565. package/dist/ica/EvmIcaReader.hardhat-test.d.ts +2 -0
  566. package/dist/ica/EvmIcaReader.hardhat-test.d.ts.map +1 -0
  567. package/dist/ica/EvmIcaReader.hardhat-test.js +39 -0
  568. package/dist/ica/EvmIcaReader.hardhat-test.js.map +1 -0
  569. package/dist/ica/EvmIcaReader.js +32 -0
  570. package/dist/ica/EvmIcaReader.js.map +1 -0
  571. package/dist/ica/types.d.ts +88 -0
  572. package/dist/ica/types.d.ts.map +1 -0
  573. package/dist/ica/types.js +36 -0
  574. package/dist/ica/types.js.map +1 -0
  575. package/dist/index.d.ts +215 -0
  576. package/dist/index.d.ts.map +1 -0
  577. package/dist/index.js +199 -0
  578. package/dist/index.js.map +1 -0
  579. package/dist/ism/EvmIsmModule.d.ts +106 -0
  580. package/dist/ism/EvmIsmModule.d.ts.map +1 -0
  581. package/dist/ism/EvmIsmModule.hardhat-test.d.ts +2 -0
  582. package/dist/ism/EvmIsmModule.hardhat-test.d.ts.map +1 -0
  583. package/dist/ism/EvmIsmModule.hardhat-test.js +1279 -0
  584. package/dist/ism/EvmIsmModule.hardhat-test.js.map +1 -0
  585. package/dist/ism/EvmIsmModule.js +709 -0
  586. package/dist/ism/EvmIsmModule.js.map +1 -0
  587. package/dist/ism/EvmIsmModule.test.d.ts +2 -0
  588. package/dist/ism/EvmIsmModule.test.d.ts.map +1 -0
  589. package/dist/ism/EvmIsmModule.test.js +309 -0
  590. package/dist/ism/EvmIsmModule.test.js.map +1 -0
  591. package/dist/ism/EvmIsmReader.d.ts +55 -0
  592. package/dist/ism/EvmIsmReader.d.ts.map +1 -0
  593. package/dist/ism/EvmIsmReader.js +555 -0
  594. package/dist/ism/EvmIsmReader.js.map +1 -0
  595. package/dist/ism/EvmIsmReader.test.d.ts +2 -0
  596. package/dist/ism/EvmIsmReader.test.d.ts.map +1 -0
  597. package/dist/ism/EvmIsmReader.test.js +931 -0
  598. package/dist/ism/EvmIsmReader.test.js.map +1 -0
  599. package/dist/ism/HyperlaneIsmFactory.d.ts +129 -0
  600. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -0
  601. package/dist/ism/HyperlaneIsmFactory.hardhat-test.d.ts +2 -0
  602. package/dist/ism/HyperlaneIsmFactory.hardhat-test.d.ts.map +1 -0
  603. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +1228 -0
  604. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -0
  605. package/dist/ism/HyperlaneIsmFactory.js +867 -0
  606. package/dist/ism/HyperlaneIsmFactory.js.map +1 -0
  607. package/dist/ism/HyperlaneIsmFactory.test.d.ts +2 -0
  608. package/dist/ism/HyperlaneIsmFactory.test.d.ts.map +1 -0
  609. package/dist/ism/HyperlaneIsmFactory.test.js +98 -0
  610. package/dist/ism/HyperlaneIsmFactory.test.js.map +1 -0
  611. package/dist/ism/adapters/CosmWasmMultisigAdapter.d.ts +24 -0
  612. package/dist/ism/adapters/CosmWasmMultisigAdapter.d.ts.map +1 -0
  613. package/dist/ism/adapters/CosmWasmMultisigAdapter.js +74 -0
  614. package/dist/ism/adapters/CosmWasmMultisigAdapter.js.map +1 -0
  615. package/dist/ism/adapters/SealevelMultisigAdapter.d.ts +59 -0
  616. package/dist/ism/adapters/SealevelMultisigAdapter.d.ts.map +1 -0
  617. package/dist/ism/adapters/SealevelMultisigAdapter.js +133 -0
  618. package/dist/ism/adapters/SealevelMultisigAdapter.js.map +1 -0
  619. package/dist/ism/blacklist.d.ts +62 -0
  620. package/dist/ism/blacklist.d.ts.map +1 -0
  621. package/dist/ism/blacklist.js +98 -0
  622. package/dist/ism/blacklist.js.map +1 -0
  623. package/dist/ism/delayedFlow.d.ts +31 -0
  624. package/dist/ism/delayedFlow.d.ts.map +1 -0
  625. package/dist/ism/delayedFlow.js +33 -0
  626. package/dist/ism/delayedFlow.js.map +1 -0
  627. package/dist/ism/multisig.d.ts +6 -0
  628. package/dist/ism/multisig.d.ts.map +1 -0
  629. package/dist/ism/multisig.js +25 -0
  630. package/dist/ism/multisig.js.map +1 -0
  631. package/dist/ism/serialization.d.ts +74 -0
  632. package/dist/ism/serialization.d.ts.map +1 -0
  633. package/dist/ism/serialization.js +177 -0
  634. package/dist/ism/serialization.js.map +1 -0
  635. package/dist/ism/types.d.ts +384 -0
  636. package/dist/ism/types.d.ts.map +1 -0
  637. package/dist/ism/types.js +876 -0
  638. package/dist/ism/types.js.map +1 -0
  639. package/dist/ism/types.test.d.ts +2 -0
  640. package/dist/ism/types.test.d.ts.map +1 -0
  641. package/dist/ism/types.test.js +1269 -0
  642. package/dist/ism/types.test.js.map +1 -0
  643. package/dist/ism/utils.d.ts +44 -0
  644. package/dist/ism/utils.d.ts.map +1 -0
  645. package/dist/ism/utils.js +603 -0
  646. package/dist/ism/utils.js.map +1 -0
  647. package/dist/ism/utils.test.d.ts +2 -0
  648. package/dist/ism/utils.test.d.ts.map +1 -0
  649. package/dist/ism/utils.test.js +144 -0
  650. package/dist/ism/utils.test.js.map +1 -0
  651. package/dist/mailbox/serialization.d.ts +41 -0
  652. package/dist/mailbox/serialization.d.ts.map +1 -0
  653. package/dist/mailbox/serialization.js +104 -0
  654. package/dist/mailbox/serialization.js.map +1 -0
  655. package/dist/metadata/ChainMetadataManager.d.ts +233 -0
  656. package/dist/metadata/ChainMetadataManager.d.ts.map +1 -0
  657. package/dist/metadata/ChainMetadataManager.js +424 -0
  658. package/dist/metadata/ChainMetadataManager.js.map +1 -0
  659. package/dist/metadata/ChainMetadataManager.test.d.ts +2 -0
  660. package/dist/metadata/ChainMetadataManager.test.d.ts.map +1 -0
  661. package/dist/metadata/ChainMetadataManager.test.js +233 -0
  662. package/dist/metadata/ChainMetadataManager.test.js.map +1 -0
  663. package/dist/metadata/ChainMetadataResolver.d.ts +14 -0
  664. package/dist/metadata/ChainMetadataResolver.d.ts.map +1 -0
  665. package/dist/metadata/ChainMetadataResolver.js +57 -0
  666. package/dist/metadata/ChainMetadataResolver.js.map +1 -0
  667. package/dist/metadata/ChainMetadataResolver.test.d.ts +2 -0
  668. package/dist/metadata/ChainMetadataResolver.test.d.ts.map +1 -0
  669. package/dist/metadata/ChainMetadataResolver.test.js +87 -0
  670. package/dist/metadata/ChainMetadataResolver.test.js.map +1 -0
  671. package/dist/metadata/agentConfig.d.ts +1529 -0
  672. package/dist/metadata/agentConfig.d.ts.map +1 -0
  673. package/dist/metadata/agentConfig.js +750 -0
  674. package/dist/metadata/agentConfig.js.map +1 -0
  675. package/dist/metadata/agentConfig.test.d.ts +2 -0
  676. package/dist/metadata/agentConfig.test.d.ts.map +1 -0
  677. package/dist/metadata/agentConfig.test.js +457 -0
  678. package/dist/metadata/agentConfig.test.js.map +1 -0
  679. package/dist/metadata/blockExplorer.d.ts +11 -0
  680. package/dist/metadata/blockExplorer.d.ts.map +1 -0
  681. package/dist/metadata/blockExplorer.js +123 -0
  682. package/dist/metadata/blockExplorer.js.map +1 -0
  683. package/dist/metadata/blockExplorer.test.d.ts +2 -0
  684. package/dist/metadata/blockExplorer.test.d.ts.map +1 -0
  685. package/dist/metadata/blockExplorer.test.js +326 -0
  686. package/dist/metadata/blockExplorer.test.js.map +1 -0
  687. package/dist/metadata/chainIdUtils.d.ts +8 -0
  688. package/dist/metadata/chainIdUtils.d.ts.map +1 -0
  689. package/dist/metadata/chainIdUtils.js +33 -0
  690. package/dist/metadata/chainIdUtils.js.map +1 -0
  691. package/dist/metadata/chainIdUtils.test.d.ts +2 -0
  692. package/dist/metadata/chainIdUtils.test.d.ts.map +1 -0
  693. package/dist/metadata/chainIdUtils.test.js +45 -0
  694. package/dist/metadata/chainIdUtils.test.js.map +1 -0
  695. package/dist/metadata/chainMetadata.test.d.ts +2 -0
  696. package/dist/metadata/chainMetadata.test.d.ts.map +1 -0
  697. package/dist/metadata/chainMetadata.test.js +130 -0
  698. package/dist/metadata/chainMetadata.test.js.map +1 -0
  699. package/dist/metadata/chainMetadataConversion.d.ts +11 -0
  700. package/dist/metadata/chainMetadataConversion.d.ts.map +1 -0
  701. package/dist/metadata/chainMetadataConversion.js +119 -0
  702. package/dist/metadata/chainMetadataConversion.js.map +1 -0
  703. package/dist/metadata/chainMetadataTypes.d.ts +338 -0
  704. package/dist/metadata/chainMetadataTypes.d.ts.map +1 -0
  705. package/dist/metadata/chainMetadataTypes.js +373 -0
  706. package/dist/metadata/chainMetadataTypes.js.map +1 -0
  707. package/dist/metadata/customZodTypes.d.ts +44 -0
  708. package/dist/metadata/customZodTypes.d.ts.map +1 -0
  709. package/dist/metadata/customZodTypes.js +65 -0
  710. package/dist/metadata/customZodTypes.js.map +1 -0
  711. package/dist/metadata/deploymentArtifacts.d.ts +10 -0
  712. package/dist/metadata/deploymentArtifacts.d.ts.map +1 -0
  713. package/dist/metadata/deploymentArtifacts.js +10 -0
  714. package/dist/metadata/deploymentArtifacts.js.map +1 -0
  715. package/dist/metadata/forwardCompatibleEnum.test.d.ts +2 -0
  716. package/dist/metadata/forwardCompatibleEnum.test.d.ts.map +1 -0
  717. package/dist/metadata/forwardCompatibleEnum.test.js +299 -0
  718. package/dist/metadata/forwardCompatibleEnum.test.js.map +1 -0
  719. package/dist/metadata/matchingList.d.ts +25 -0
  720. package/dist/metadata/matchingList.d.ts.map +1 -0
  721. package/dist/metadata/matchingList.js +22 -0
  722. package/dist/metadata/matchingList.js.map +1 -0
  723. package/dist/metadata/warpRouteConfig.d.ts +83 -0
  724. package/dist/metadata/warpRouteConfig.d.ts.map +1 -0
  725. package/dist/metadata/warpRouteConfig.js +22 -0
  726. package/dist/metadata/warpRouteConfig.js.map +1 -0
  727. package/dist/middleware/account/InterchainAccount.d.ts +47 -0
  728. package/dist/middleware/account/InterchainAccount.d.ts.map +1 -0
  729. package/dist/middleware/account/InterchainAccount.js +324 -0
  730. package/dist/middleware/account/InterchainAccount.js.map +1 -0
  731. package/dist/middleware/account/InterchainAccount.test.d.ts +2 -0
  732. package/dist/middleware/account/InterchainAccount.test.d.ts.map +1 -0
  733. package/dist/middleware/account/InterchainAccount.test.js +733 -0
  734. package/dist/middleware/account/InterchainAccount.test.js.map +1 -0
  735. package/dist/middleware/account/InterchainAccountChecker.d.ts +7 -0
  736. package/dist/middleware/account/InterchainAccountChecker.d.ts.map +1 -0
  737. package/dist/middleware/account/InterchainAccountChecker.js +4 -0
  738. package/dist/middleware/account/InterchainAccountChecker.js.map +1 -0
  739. package/dist/middleware/account/InterchainAccountDeployer.d.ts +14 -0
  740. package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -0
  741. package/dist/middleware/account/InterchainAccountDeployer.js +68 -0
  742. package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -0
  743. package/dist/middleware/account/accounts.hardhat-test.d.ts +2 -0
  744. package/dist/middleware/account/accounts.hardhat-test.d.ts.map +1 -0
  745. package/dist/middleware/account/accounts.hardhat-test.js +240 -0
  746. package/dist/middleware/account/accounts.hardhat-test.js.map +1 -0
  747. package/dist/middleware/account/contracts.d.ts +6 -0
  748. package/dist/middleware/account/contracts.d.ts.map +1 -0
  749. package/dist/middleware/account/contracts.js +5 -0
  750. package/dist/middleware/account/contracts.js.map +1 -0
  751. package/dist/middleware/account/icaCalls.d.ts +78 -0
  752. package/dist/middleware/account/icaCalls.d.ts.map +1 -0
  753. package/dist/middleware/account/icaCalls.js +75 -0
  754. package/dist/middleware/account/icaCalls.js.map +1 -0
  755. package/dist/middleware/account/types.d.ts +40 -0
  756. package/dist/middleware/account/types.d.ts.map +1 -0
  757. package/dist/middleware/account/types.js +25 -0
  758. package/dist/middleware/account/types.js.map +1 -0
  759. package/dist/middleware/query/InterchainQuery.d.ts +10 -0
  760. package/dist/middleware/query/InterchainQuery.d.ts.map +1 -0
  761. package/dist/middleware/query/InterchainQuery.js +13 -0
  762. package/dist/middleware/query/InterchainQuery.js.map +1 -0
  763. package/dist/middleware/query/InterchainQueryChecker.d.ts +7 -0
  764. package/dist/middleware/query/InterchainQueryChecker.d.ts.map +1 -0
  765. package/dist/middleware/query/InterchainQueryChecker.js +4 -0
  766. package/dist/middleware/query/InterchainQueryChecker.js.map +1 -0
  767. package/dist/middleware/query/InterchainQueryDeployer.d.ts +17 -0
  768. package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -0
  769. package/dist/middleware/query/InterchainQueryDeployer.js +35 -0
  770. package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -0
  771. package/dist/middleware/query/contracts.d.ts +8 -0
  772. package/dist/middleware/query/contracts.d.ts.map +1 -0
  773. package/dist/middleware/query/contracts.js +7 -0
  774. package/dist/middleware/query/contracts.js.map +1 -0
  775. package/dist/middleware/query/queries.hardhat-test.d.ts +2 -0
  776. package/dist/middleware/query/queries.hardhat-test.d.ts.map +1 -0
  777. package/dist/middleware/query/queries.hardhat-test.js +70 -0
  778. package/dist/middleware/query/queries.hardhat-test.js.map +1 -0
  779. package/dist/predicate/PredicateApiClient.d.ts +35 -0
  780. package/dist/predicate/PredicateApiClient.d.ts.map +1 -0
  781. package/dist/predicate/PredicateApiClient.js +66 -0
  782. package/dist/predicate/PredicateApiClient.js.map +1 -0
  783. package/dist/predicate/PredicateApiClient.test.d.ts +2 -0
  784. package/dist/predicate/PredicateApiClient.test.d.ts.map +1 -0
  785. package/dist/predicate/PredicateApiClient.test.js +108 -0
  786. package/dist/predicate/PredicateApiClient.test.js.map +1 -0
  787. package/dist/predicate/PredicateDeployer.d.ts +56 -0
  788. package/dist/predicate/PredicateDeployer.d.ts.map +1 -0
  789. package/dist/predicate/PredicateDeployer.hardhat-test.d.ts +2 -0
  790. package/dist/predicate/PredicateDeployer.hardhat-test.d.ts.map +1 -0
  791. package/dist/predicate/PredicateDeployer.hardhat-test.js +209 -0
  792. package/dist/predicate/PredicateDeployer.hardhat-test.js.map +1 -0
  793. package/dist/predicate/PredicateDeployer.js +218 -0
  794. package/dist/predicate/PredicateDeployer.js.map +1 -0
  795. package/dist/providers/MinimalProviderRegistry.d.ts +41 -0
  796. package/dist/providers/MinimalProviderRegistry.d.ts.map +1 -0
  797. package/dist/providers/MinimalProviderRegistry.js +122 -0
  798. package/dist/providers/MinimalProviderRegistry.js.map +1 -0
  799. package/dist/providers/MultiProtocolProvider.d.ts +23 -0
  800. package/dist/providers/MultiProtocolProvider.d.ts.map +1 -0
  801. package/dist/providers/MultiProtocolProvider.js +64 -0
  802. package/dist/providers/MultiProtocolProvider.js.map +1 -0
  803. package/dist/providers/MultiProtocolProvider.test.d.ts +2 -0
  804. package/dist/providers/MultiProtocolProvider.test.d.ts.map +1 -0
  805. package/dist/providers/MultiProtocolProvider.test.js +126 -0
  806. package/dist/providers/MultiProtocolProvider.test.js.map +1 -0
  807. package/dist/providers/MultiProvider.d.ts +196 -0
  808. package/dist/providers/MultiProvider.d.ts.map +1 -0
  809. package/dist/providers/MultiProvider.js +553 -0
  810. package/dist/providers/MultiProvider.js.map +1 -0
  811. package/dist/providers/MultiProvider.test.d.ts +2 -0
  812. package/dist/providers/MultiProvider.test.d.ts.map +1 -0
  813. package/dist/providers/MultiProvider.test.js +357 -0
  814. package/dist/providers/MultiProvider.test.js.map +1 -0
  815. package/dist/providers/MultiProviderAdapter.d.ts +61 -0
  816. package/dist/providers/MultiProviderAdapter.d.ts.map +1 -0
  817. package/dist/providers/MultiProviderAdapter.js +164 -0
  818. package/dist/providers/MultiProviderAdapter.js.map +1 -0
  819. package/dist/providers/ProviderType.d.ts +319 -0
  820. package/dist/providers/ProviderType.d.ts.map +1 -0
  821. package/dist/providers/ProviderType.js +27 -0
  822. package/dist/providers/ProviderType.js.map +1 -0
  823. package/dist/providers/SeismicSigner.d.ts +78 -0
  824. package/dist/providers/SeismicSigner.d.ts.map +1 -0
  825. package/dist/providers/SeismicSigner.js +265 -0
  826. package/dist/providers/SeismicSigner.js.map +1 -0
  827. package/dist/providers/SeismicSigner.test.d.ts +2 -0
  828. package/dist/providers/SeismicSigner.test.d.ts.map +1 -0
  829. package/dist/providers/SeismicSigner.test.js +561 -0
  830. package/dist/providers/SeismicSigner.test.js.map +1 -0
  831. package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.d.ts +25 -0
  832. package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.d.ts.map +1 -0
  833. package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.js +139 -0
  834. package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.js.map +1 -0
  835. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.d.ts +61 -0
  836. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.d.ts.map +1 -0
  837. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js +248 -0
  838. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js.map +1 -0
  839. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.test.d.ts +2 -0
  840. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.test.d.ts.map +1 -0
  841. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.test.js +516 -0
  842. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.test.js.map +1 -0
  843. package/dist/providers/SmartProvider/ProviderMethods.d.ts +24 -0
  844. package/dist/providers/SmartProvider/ProviderMethods.d.ts.map +1 -0
  845. package/dist/providers/SmartProvider/ProviderMethods.js +32 -0
  846. package/dist/providers/SmartProvider/ProviderMethods.js.map +1 -0
  847. package/dist/providers/SmartProvider/SmartProvider.d.ts +58 -0
  848. package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -0
  849. package/dist/providers/SmartProvider/SmartProvider.emptyResponse.test.d.ts +2 -0
  850. package/dist/providers/SmartProvider/SmartProvider.emptyResponse.test.d.ts.map +1 -0
  851. package/dist/providers/SmartProvider/SmartProvider.emptyResponse.test.js +164 -0
  852. package/dist/providers/SmartProvider/SmartProvider.emptyResponse.test.js.map +1 -0
  853. package/dist/providers/SmartProvider/SmartProvider.foundry-test.d.ts +2 -0
  854. package/dist/providers/SmartProvider/SmartProvider.foundry-test.d.ts.map +1 -0
  855. package/dist/providers/SmartProvider/SmartProvider.foundry-test.js +173 -0
  856. package/dist/providers/SmartProvider/SmartProvider.foundry-test.js.map +1 -0
  857. package/dist/providers/SmartProvider/SmartProvider.js +560 -0
  858. package/dist/providers/SmartProvider/SmartProvider.js.map +1 -0
  859. package/dist/providers/SmartProvider/SmartProvider.rawRead.test.d.ts +2 -0
  860. package/dist/providers/SmartProvider/SmartProvider.rawRead.test.d.ts.map +1 -0
  861. package/dist/providers/SmartProvider/SmartProvider.rawRead.test.js +90 -0
  862. package/dist/providers/SmartProvider/SmartProvider.rawRead.test.js.map +1 -0
  863. package/dist/providers/SmartProvider/SmartProvider.test.d.ts +2 -0
  864. package/dist/providers/SmartProvider/SmartProvider.test.d.ts.map +1 -0
  865. package/dist/providers/SmartProvider/SmartProvider.test.js +1119 -0
  866. package/dist/providers/SmartProvider/SmartProvider.test.js.map +1 -0
  867. package/dist/providers/SmartProvider/jsonRpcError.d.ts +13 -0
  868. package/dist/providers/SmartProvider/jsonRpcError.d.ts.map +1 -0
  869. package/dist/providers/SmartProvider/jsonRpcError.js +86 -0
  870. package/dist/providers/SmartProvider/jsonRpcError.js.map +1 -0
  871. package/dist/providers/SmartProvider/jsonRpcError.test.d.ts +2 -0
  872. package/dist/providers/SmartProvider/jsonRpcError.test.d.ts.map +1 -0
  873. package/dist/providers/SmartProvider/jsonRpcError.test.js +46 -0
  874. package/dist/providers/SmartProvider/jsonRpcError.test.js.map +1 -0
  875. package/dist/providers/SmartProvider/logFilters.d.ts +10 -0
  876. package/dist/providers/SmartProvider/logFilters.d.ts.map +1 -0
  877. package/dist/providers/SmartProvider/logFilters.js +31 -0
  878. package/dist/providers/SmartProvider/logFilters.js.map +1 -0
  879. package/dist/providers/SmartProvider/types.d.ts +50 -0
  880. package/dist/providers/SmartProvider/types.d.ts.map +1 -0
  881. package/dist/providers/SmartProvider/types.js +7 -0
  882. package/dist/providers/SmartProvider/types.js.map +1 -0
  883. package/dist/providers/builders/aleo.browser.d.ts +13 -0
  884. package/dist/providers/builders/aleo.browser.d.ts.map +1 -0
  885. package/dist/providers/builders/aleo.browser.js +54 -0
  886. package/dist/providers/builders/aleo.browser.js.map +1 -0
  887. package/dist/providers/builders/aleo.d.ts +4 -0
  888. package/dist/providers/builders/aleo.d.ts.map +1 -0
  889. package/dist/providers/builders/aleo.js +7 -0
  890. package/dist/providers/builders/aleo.js.map +1 -0
  891. package/dist/providers/builders/aleo.test.d.ts +2 -0
  892. package/dist/providers/builders/aleo.test.d.ts.map +1 -0
  893. package/dist/providers/builders/aleo.test.js +99 -0
  894. package/dist/providers/builders/aleo.test.js.map +1 -0
  895. package/dist/providers/builders/cosmos.d.ts +6 -0
  896. package/dist/providers/builders/cosmos.d.ts.map +1 -0
  897. package/dist/providers/builders/cosmos.js +30 -0
  898. package/dist/providers/builders/cosmos.js.map +1 -0
  899. package/dist/providers/builders/ethersV5.d.ts +7 -0
  900. package/dist/providers/builders/ethersV5.d.ts.map +1 -0
  901. package/dist/providers/builders/ethersV5.js +38 -0
  902. package/dist/providers/builders/ethersV5.js.map +1 -0
  903. package/dist/providers/builders/ethersV5.test.d.ts +2 -0
  904. package/dist/providers/builders/ethersV5.test.d.ts.map +1 -0
  905. package/dist/providers/builders/ethersV5.test.js +77 -0
  906. package/dist/providers/builders/ethersV5.test.js.map +1 -0
  907. package/dist/providers/builders/radix.browser.d.ts +19 -0
  908. package/dist/providers/builders/radix.browser.d.ts.map +1 -0
  909. package/dist/providers/builders/radix.browser.js +47 -0
  910. package/dist/providers/builders/radix.browser.js.map +1 -0
  911. package/dist/providers/builders/radix.d.ts +4 -0
  912. package/dist/providers/builders/radix.d.ts.map +1 -0
  913. package/dist/providers/builders/radix.gateway.test.d.ts +2 -0
  914. package/dist/providers/builders/radix.gateway.test.d.ts.map +1 -0
  915. package/dist/providers/builders/radix.gateway.test.js +39 -0
  916. package/dist/providers/builders/radix.gateway.test.js.map +1 -0
  917. package/dist/providers/builders/radix.js +17 -0
  918. package/dist/providers/builders/radix.js.map +1 -0
  919. package/dist/providers/builders/radix.test.d.ts +2 -0
  920. package/dist/providers/builders/radix.test.d.ts.map +1 -0
  921. package/dist/providers/builders/radix.test.js +82 -0
  922. package/dist/providers/builders/radix.test.js.map +1 -0
  923. package/dist/providers/builders/solana.d.ts +4 -0
  924. package/dist/providers/builders/solana.d.ts.map +1 -0
  925. package/dist/providers/builders/solana.js +12 -0
  926. package/dist/providers/builders/solana.js.map +1 -0
  927. package/dist/providers/builders/starknet.d.ts +4 -0
  928. package/dist/providers/builders/starknet.d.ts.map +1 -0
  929. package/dist/providers/builders/starknet.js +20 -0
  930. package/dist/providers/builders/starknet.js.map +1 -0
  931. package/dist/providers/builders/tron.d.ts +10 -0
  932. package/dist/providers/builders/tron.d.ts.map +1 -0
  933. package/dist/providers/builders/tron.js +21 -0
  934. package/dist/providers/builders/tron.js.map +1 -0
  935. package/dist/providers/builders/types.d.ts +6 -0
  936. package/dist/providers/builders/types.d.ts.map +1 -0
  937. package/dist/providers/builders/types.js +2 -0
  938. package/dist/providers/builders/types.js.map +1 -0
  939. package/dist/providers/builders/viem.d.ts +4 -0
  940. package/dist/providers/builders/viem.d.ts.map +1 -0
  941. package/dist/providers/builders/viem.js +25 -0
  942. package/dist/providers/builders/viem.js.map +1 -0
  943. package/dist/providers/builders/zksync.d.ts +7 -0
  944. package/dist/providers/builders/zksync.d.ts.map +1 -0
  945. package/dist/providers/builders/zksync.js +14 -0
  946. package/dist/providers/builders/zksync.js.map +1 -0
  947. package/dist/providers/defaultProviderBuilderMaps.d.ts +7 -0
  948. package/dist/providers/defaultProviderBuilderMaps.d.ts.map +1 -0
  949. package/dist/providers/defaultProviderBuilderMaps.js +36 -0
  950. package/dist/providers/defaultProviderBuilderMaps.js.map +1 -0
  951. package/dist/providers/explorerHealthTest.d.ts +4 -0
  952. package/dist/providers/explorerHealthTest.d.ts.map +1 -0
  953. package/dist/providers/explorerHealthTest.js +53 -0
  954. package/dist/providers/explorerHealthTest.js.map +1 -0
  955. package/dist/providers/providerBuilders.d.ts +12 -0
  956. package/dist/providers/providerBuilders.d.ts.map +1 -0
  957. package/dist/providers/providerBuilders.js +11 -0
  958. package/dist/providers/providerBuilders.js.map +1 -0
  959. package/dist/providers/rpcHealthTest.d.ts +11 -0
  960. package/dist/providers/rpcHealthTest.d.ts.map +1 -0
  961. package/dist/providers/rpcHealthTest.js +104 -0
  962. package/dist/providers/rpcHealthTest.js.map +1 -0
  963. package/dist/providers/runtime/evm.d.ts +3 -0
  964. package/dist/providers/runtime/evm.d.ts.map +1 -0
  965. package/dist/providers/runtime/evm.js +11 -0
  966. package/dist/providers/runtime/evm.js.map +1 -0
  967. package/dist/providers/runtime/evmLike.d.ts +3 -0
  968. package/dist/providers/runtime/evmLike.d.ts.map +1 -0
  969. package/dist/providers/runtime/evmLike.js +7 -0
  970. package/dist/providers/runtime/evmLike.js.map +1 -0
  971. package/dist/providers/runtime/evmLike.test.d.ts +2 -0
  972. package/dist/providers/runtime/evmLike.test.d.ts.map +1 -0
  973. package/dist/providers/runtime/evmLike.test.js +22 -0
  974. package/dist/providers/runtime/evmLike.test.js.map +1 -0
  975. package/dist/providers/runtime/tron.d.ts +3 -0
  976. package/dist/providers/runtime/tron.d.ts.map +1 -0
  977. package/dist/providers/runtime/tron.js +6 -0
  978. package/dist/providers/runtime/tron.js.map +1 -0
  979. package/dist/providers/transactionFeeEstimators.d.ts +79 -0
  980. package/dist/providers/transactionFeeEstimators.d.ts.map +1 -0
  981. package/dist/providers/transactionFeeEstimators.js +317 -0
  982. package/dist/providers/transactionFeeEstimators.js.map +1 -0
  983. package/dist/providers/transactionFeeEstimators.test.d.ts +2 -0
  984. package/dist/providers/transactionFeeEstimators.test.d.ts.map +1 -0
  985. package/dist/providers/transactionFeeEstimators.test.js +394 -0
  986. package/dist/providers/transactionFeeEstimators.test.js.map +1 -0
  987. package/dist/providers/transactions/submitter/IcaTxSubmitter.d.ts +25 -0
  988. package/dist/providers/transactions/submitter/IcaTxSubmitter.d.ts.map +1 -0
  989. package/dist/providers/transactions/submitter/IcaTxSubmitter.js +113 -0
  990. package/dist/providers/transactions/submitter/IcaTxSubmitter.js.map +1 -0
  991. package/dist/providers/transactions/submitter/IcaTxSubmitter.test.d.ts +2 -0
  992. package/dist/providers/transactions/submitter/IcaTxSubmitter.test.d.ts.map +1 -0
  993. package/dist/providers/transactions/submitter/IcaTxSubmitter.test.js +122 -0
  994. package/dist/providers/transactions/submitter/IcaTxSubmitter.test.js.map +1 -0
  995. package/dist/providers/transactions/submitter/TxSubmitterInterface.d.ts +19 -0
  996. package/dist/providers/transactions/submitter/TxSubmitterInterface.d.ts.map +1 -0
  997. package/dist/providers/transactions/submitter/TxSubmitterInterface.js +2 -0
  998. package/dist/providers/transactions/submitter/TxSubmitterInterface.js.map +1 -0
  999. package/dist/providers/transactions/submitter/TxSubmitterTypes.d.ts +9 -0
  1000. package/dist/providers/transactions/submitter/TxSubmitterTypes.d.ts.map +1 -0
  1001. package/dist/providers/transactions/submitter/TxSubmitterTypes.js +10 -0
  1002. package/dist/providers/transactions/submitter/TxSubmitterTypes.js.map +1 -0
  1003. package/dist/providers/transactions/submitter/builder/TxSubmitterBuilder.d.ts +39 -0
  1004. package/dist/providers/transactions/submitter/builder/TxSubmitterBuilder.d.ts.map +1 -0
  1005. package/dist/providers/transactions/submitter/builder/TxSubmitterBuilder.js +48 -0
  1006. package/dist/providers/transactions/submitter/builder/TxSubmitterBuilder.js.map +1 -0
  1007. package/dist/providers/transactions/submitter/builder/types.d.ts +69 -0
  1008. package/dist/providers/transactions/submitter/builder/types.d.ts.map +1 -0
  1009. package/dist/providers/transactions/submitter/builder/types.js +94 -0
  1010. package/dist/providers/transactions/submitter/builder/types.js.map +1 -0
  1011. package/dist/providers/transactions/submitter/builder/types.test.d.ts +2 -0
  1012. package/dist/providers/transactions/submitter/builder/types.test.d.ts.map +1 -0
  1013. package/dist/providers/transactions/submitter/builder/types.test.js +314 -0
  1014. package/dist/providers/transactions/submitter/builder/types.test.js.map +1 -0
  1015. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxBuilder.d.ts +33 -0
  1016. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxBuilder.d.ts.map +1 -0
  1017. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxBuilder.js +43 -0
  1018. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxBuilder.js.map +1 -0
  1019. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts +31 -0
  1020. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts.map +1 -0
  1021. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.js +90 -0
  1022. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.js.map +1 -0
  1023. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.test.d.ts +2 -0
  1024. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.test.d.ts.map +1 -0
  1025. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.test.js +145 -0
  1026. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.test.js.map +1 -0
  1027. package/dist/providers/transactions/submitter/ethersV5/EV5ImpersonatedAccountTxSubmitter.d.ts +15 -0
  1028. package/dist/providers/transactions/submitter/ethersV5/EV5ImpersonatedAccountTxSubmitter.d.ts.map +1 -0
  1029. package/dist/providers/transactions/submitter/ethersV5/EV5ImpersonatedAccountTxSubmitter.js +26 -0
  1030. package/dist/providers/transactions/submitter/ethersV5/EV5ImpersonatedAccountTxSubmitter.js.map +1 -0
  1031. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.d.ts +29 -0
  1032. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.d.ts.map +1 -0
  1033. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.js +68 -0
  1034. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.js.map +1 -0
  1035. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.d.ts +2 -0
  1036. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.d.ts.map +1 -0
  1037. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.js +125 -0
  1038. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.js.map +1 -0
  1039. package/dist/providers/transactions/submitter/ethersV5/EV5TimelockSubmitter.d.ts +22 -0
  1040. package/dist/providers/transactions/submitter/ethersV5/EV5TimelockSubmitter.d.ts.map +1 -0
  1041. package/dist/providers/transactions/submitter/ethersV5/EV5TimelockSubmitter.js +85 -0
  1042. package/dist/providers/transactions/submitter/ethersV5/EV5TimelockSubmitter.js.map +1 -0
  1043. package/dist/providers/transactions/submitter/ethersV5/EV5TxSubmitterInterface.d.ts +10 -0
  1044. package/dist/providers/transactions/submitter/ethersV5/EV5TxSubmitterInterface.d.ts.map +1 -0
  1045. package/dist/providers/transactions/submitter/ethersV5/EV5TxSubmitterInterface.js +2 -0
  1046. package/dist/providers/transactions/submitter/ethersV5/EV5TxSubmitterInterface.js.map +1 -0
  1047. package/dist/providers/transactions/submitter/ethersV5/types.d.ts +104 -0
  1048. package/dist/providers/transactions/submitter/ethersV5/types.d.ts.map +1 -0
  1049. package/dist/providers/transactions/submitter/ethersV5/types.js +72 -0
  1050. package/dist/providers/transactions/submitter/ethersV5/types.js.map +1 -0
  1051. package/dist/providers/transactions/submitter/ethersV5/types.test.d.ts +2 -0
  1052. package/dist/providers/transactions/submitter/ethersV5/types.test.d.ts.map +1 -0
  1053. package/dist/providers/transactions/submitter/ethersV5/types.test.js +57 -0
  1054. package/dist/providers/transactions/submitter/ethersV5/types.test.js.map +1 -0
  1055. package/dist/providers/transactions/submitter/submitterBuilderGetter.d.ts +31 -0
  1056. package/dist/providers/transactions/submitter/submitterBuilderGetter.d.ts.map +1 -0
  1057. package/dist/providers/transactions/submitter/submitterBuilderGetter.js +97 -0
  1058. package/dist/providers/transactions/submitter/submitterBuilderGetter.js.map +1 -0
  1059. package/dist/providers/transactions/submitter/submitterBuilderGetter.test.d.ts +2 -0
  1060. package/dist/providers/transactions/submitter/submitterBuilderGetter.test.d.ts.map +1 -0
  1061. package/dist/providers/transactions/submitter/submitterBuilderGetter.test.js +38 -0
  1062. package/dist/providers/transactions/submitter/submitterBuilderGetter.test.js.map +1 -0
  1063. package/dist/providers/transactions/submitter/types.d.ts +37 -0
  1064. package/dist/providers/transactions/submitter/types.d.ts.map +1 -0
  1065. package/dist/providers/transactions/submitter/types.js +3 -0
  1066. package/dist/providers/transactions/submitter/types.js.map +1 -0
  1067. package/dist/providers/transactions/types.d.ts +9 -0
  1068. package/dist/providers/transactions/types.d.ts.map +1 -0
  1069. package/dist/providers/transactions/types.js +9 -0
  1070. package/dist/providers/transactions/types.js.map +1 -0
  1071. package/dist/providers/transactions/types.test.d.ts +2 -0
  1072. package/dist/providers/transactions/types.test.d.ts.map +1 -0
  1073. package/dist/providers/transactions/types.test.js +37 -0
  1074. package/dist/providers/transactions/types.test.js.map +1 -0
  1075. package/dist/quote/Eip712Signable.d.ts +25 -0
  1076. package/dist/quote/Eip712Signable.d.ts.map +1 -0
  1077. package/dist/quote/Eip712Signable.js +27 -0
  1078. package/dist/quote/Eip712Signable.js.map +1 -0
  1079. package/dist/quote/EvmPrivateKeyQuoteSigner.d.ts +15 -0
  1080. package/dist/quote/EvmPrivateKeyQuoteSigner.d.ts.map +1 -0
  1081. package/dist/quote/EvmPrivateKeyQuoteSigner.js +24 -0
  1082. package/dist/quote/EvmPrivateKeyQuoteSigner.js.map +1 -0
  1083. package/dist/quote/EvmPrivateKeyQuoteSigner.test.d.ts +2 -0
  1084. package/dist/quote/EvmPrivateKeyQuoteSigner.test.d.ts.map +1 -0
  1085. package/dist/quote/EvmPrivateKeyQuoteSigner.test.js +23 -0
  1086. package/dist/quote/EvmPrivateKeyQuoteSigner.test.js.map +1 -0
  1087. package/dist/quote/EvmQuoteArtifactManager.d.ts +20 -0
  1088. package/dist/quote/EvmQuoteArtifactManager.d.ts.map +1 -0
  1089. package/dist/quote/EvmQuoteArtifactManager.js +32 -0
  1090. package/dist/quote/EvmQuoteArtifactManager.js.map +1 -0
  1091. package/dist/quote/EvmQuoteReader.d.ts +24 -0
  1092. package/dist/quote/EvmQuoteReader.d.ts.map +1 -0
  1093. package/dist/quote/EvmQuoteReader.hardhat-test.d.ts +2 -0
  1094. package/dist/quote/EvmQuoteReader.hardhat-test.d.ts.map +1 -0
  1095. package/dist/quote/EvmQuoteReader.hardhat-test.js +157 -0
  1096. package/dist/quote/EvmQuoteReader.hardhat-test.js.map +1 -0
  1097. package/dist/quote/EvmQuoteReader.js +91 -0
  1098. package/dist/quote/EvmQuoteReader.js.map +1 -0
  1099. package/dist/quote/EvmQuoteWriter.d.ts +16 -0
  1100. package/dist/quote/EvmQuoteWriter.d.ts.map +1 -0
  1101. package/dist/quote/EvmQuoteWriter.hardhat-test.d.ts +2 -0
  1102. package/dist/quote/EvmQuoteWriter.hardhat-test.d.ts.map +1 -0
  1103. package/dist/quote/EvmQuoteWriter.hardhat-test.js +238 -0
  1104. package/dist/quote/EvmQuoteWriter.hardhat-test.js.map +1 -0
  1105. package/dist/quote/EvmQuoteWriter.js +55 -0
  1106. package/dist/quote/EvmQuoteWriter.js.map +1 -0
  1107. package/dist/quote/WarpSignedQuoteEip712.d.ts +22 -0
  1108. package/dist/quote/WarpSignedQuoteEip712.d.ts.map +1 -0
  1109. package/dist/quote/WarpSignedQuoteEip712.js +48 -0
  1110. package/dist/quote/WarpSignedQuoteEip712.js.map +1 -0
  1111. package/dist/quoted-calls/EvmQuotedTransferProvider.d.ts +63 -0
  1112. package/dist/quoted-calls/EvmQuotedTransferProvider.d.ts.map +1 -0
  1113. package/dist/quoted-calls/EvmQuotedTransferProvider.js +207 -0
  1114. package/dist/quoted-calls/EvmQuotedTransferProvider.js.map +1 -0
  1115. package/dist/quoted-calls/QuotedTransferProvider.d.ts +50 -0
  1116. package/dist/quoted-calls/QuotedTransferProvider.d.ts.map +1 -0
  1117. package/dist/quoted-calls/QuotedTransferProvider.js +2 -0
  1118. package/dist/quoted-calls/QuotedTransferProvider.js.map +1 -0
  1119. package/dist/quoted-calls/SealevelQuotedTransferProvider.d.ts +89 -0
  1120. package/dist/quoted-calls/SealevelQuotedTransferProvider.d.ts.map +1 -0
  1121. package/dist/quoted-calls/SealevelQuotedTransferProvider.js +472 -0
  1122. package/dist/quoted-calls/SealevelQuotedTransferProvider.js.map +1 -0
  1123. package/dist/quoted-calls/SealevelQuotedTransferProvider.test.d.ts +2 -0
  1124. package/dist/quoted-calls/SealevelQuotedTransferProvider.test.d.ts.map +1 -0
  1125. package/dist/quoted-calls/SealevelQuotedTransferProvider.test.js +502 -0
  1126. package/dist/quoted-calls/SealevelQuotedTransferProvider.test.js.map +1 -0
  1127. package/dist/quoted-calls/assertHex.d.ts +6 -0
  1128. package/dist/quoted-calls/assertHex.d.ts.map +1 -0
  1129. package/dist/quoted-calls/assertHex.js +13 -0
  1130. package/dist/quoted-calls/assertHex.js.map +1 -0
  1131. package/dist/quoted-calls/builder.d.ts +52 -0
  1132. package/dist/quoted-calls/builder.d.ts.map +1 -0
  1133. package/dist/quoted-calls/builder.js +161 -0
  1134. package/dist/quoted-calls/builder.js.map +1 -0
  1135. package/dist/quoted-calls/builder.test.d.ts +2 -0
  1136. package/dist/quoted-calls/builder.test.d.ts.map +1 -0
  1137. package/dist/quoted-calls/builder.test.js +193 -0
  1138. package/dist/quoted-calls/builder.test.js.map +1 -0
  1139. package/dist/quoted-calls/client.d.ts +69 -0
  1140. package/dist/quoted-calls/client.d.ts.map +1 -0
  1141. package/dist/quoted-calls/client.js +205 -0
  1142. package/dist/quoted-calls/client.js.map +1 -0
  1143. package/dist/quoted-calls/client.v2.test.d.ts +2 -0
  1144. package/dist/quoted-calls/client.v2.test.d.ts.map +1 -0
  1145. package/dist/quoted-calls/client.v2.test.js +346 -0
  1146. package/dist/quoted-calls/client.v2.test.js.map +1 -0
  1147. package/dist/quoted-calls/codec.d.ts +94 -0
  1148. package/dist/quoted-calls/codec.d.ts.map +1 -0
  1149. package/dist/quoted-calls/codec.js +223 -0
  1150. package/dist/quoted-calls/codec.js.map +1 -0
  1151. package/dist/quoted-calls/codec.test.d.ts +2 -0
  1152. package/dist/quoted-calls/codec.test.d.ts.map +1 -0
  1153. package/dist/quoted-calls/codec.test.js +307 -0
  1154. package/dist/quoted-calls/codec.test.js.map +1 -0
  1155. package/dist/quoted-calls/composeSealevelTx.d.ts +26 -0
  1156. package/dist/quoted-calls/composeSealevelTx.d.ts.map +1 -0
  1157. package/dist/quoted-calls/composeSealevelTx.js +45 -0
  1158. package/dist/quoted-calls/composeSealevelTx.js.map +1 -0
  1159. package/dist/quoted-calls/svmDecoder.d.ts +51 -0
  1160. package/dist/quoted-calls/svmDecoder.d.ts.map +1 -0
  1161. package/dist/quoted-calls/svmDecoder.js +26 -0
  1162. package/dist/quoted-calls/svmDecoder.js.map +1 -0
  1163. package/dist/quoted-calls/svmDecoder.test.d.ts +2 -0
  1164. package/dist/quoted-calls/svmDecoder.test.d.ts.map +1 -0
  1165. package/dist/quoted-calls/svmDecoder.test.js +56 -0
  1166. package/dist/quoted-calls/svmDecoder.test.js.map +1 -0
  1167. package/dist/quoted-calls/types.d.ts +176 -0
  1168. package/dist/quoted-calls/types.d.ts.map +1 -0
  1169. package/dist/quoted-calls/types.js +56 -0
  1170. package/dist/quoted-calls/types.js.map +1 -0
  1171. package/dist/router/EvmRouterReader.d.ts +18 -0
  1172. package/dist/router/EvmRouterReader.d.ts.map +1 -0
  1173. package/dist/router/EvmRouterReader.js +60 -0
  1174. package/dist/router/EvmRouterReader.js.map +1 -0
  1175. package/dist/router/GasRouterDeployer.d.ts +11 -0
  1176. package/dist/router/GasRouterDeployer.d.ts.map +1 -0
  1177. package/dist/router/GasRouterDeployer.js +25 -0
  1178. package/dist/router/GasRouterDeployer.js.map +1 -0
  1179. package/dist/router/HyperlaneRouterChecker.d.ts +19 -0
  1180. package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -0
  1181. package/dist/router/HyperlaneRouterChecker.js +157 -0
  1182. package/dist/router/HyperlaneRouterChecker.js.map +1 -0
  1183. package/dist/router/HyperlaneRouterDeployer.d.ts +18 -0
  1184. package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -0
  1185. package/dist/router/HyperlaneRouterDeployer.js +88 -0
  1186. package/dist/router/HyperlaneRouterDeployer.js.map +1 -0
  1187. package/dist/router/MultiProtocolRouterApps.d.ts +20 -0
  1188. package/dist/router/MultiProtocolRouterApps.d.ts.map +1 -0
  1189. package/dist/router/MultiProtocolRouterApps.js +43 -0
  1190. package/dist/router/MultiProtocolRouterApps.js.map +1 -0
  1191. package/dist/router/MultiProtocolRouterApps.test.d.ts +2 -0
  1192. package/dist/router/MultiProtocolRouterApps.test.d.ts.map +1 -0
  1193. package/dist/router/MultiProtocolRouterApps.test.js +22 -0
  1194. package/dist/router/MultiProtocolRouterApps.test.js.map +1 -0
  1195. package/dist/router/ProxiedRouterChecker.d.ts +12 -0
  1196. package/dist/router/ProxiedRouterChecker.d.ts.map +1 -0
  1197. package/dist/router/ProxiedRouterChecker.js +34 -0
  1198. package/dist/router/ProxiedRouterChecker.js.map +1 -0
  1199. package/dist/router/ProxiedRouterDeployer.d.ts +35 -0
  1200. package/dist/router/ProxiedRouterDeployer.d.ts.map +1 -0
  1201. package/dist/router/ProxiedRouterDeployer.js +58 -0
  1202. package/dist/router/ProxiedRouterDeployer.js.map +1 -0
  1203. package/dist/router/RouterApps.d.ts +22 -0
  1204. package/dist/router/RouterApps.d.ts.map +1 -0
  1205. package/dist/router/RouterApps.js +39 -0
  1206. package/dist/router/RouterApps.js.map +1 -0
  1207. package/dist/router/adapters/EvmRouterAdapter.d.ts +30 -0
  1208. package/dist/router/adapters/EvmRouterAdapter.d.ts.map +1 -0
  1209. package/dist/router/adapters/EvmRouterAdapter.js +46 -0
  1210. package/dist/router/adapters/EvmRouterAdapter.js.map +1 -0
  1211. package/dist/router/adapters/SealevelRouterAdapter.d.ts +35 -0
  1212. package/dist/router/adapters/SealevelRouterAdapter.d.ts.map +1 -0
  1213. package/dist/router/adapters/SealevelRouterAdapter.js +56 -0
  1214. package/dist/router/adapters/SealevelRouterAdapter.js.map +1 -0
  1215. package/dist/router/adapters/types.d.ts +17 -0
  1216. package/dist/router/adapters/types.d.ts.map +1 -0
  1217. package/dist/router/adapters/types.js +2 -0
  1218. package/dist/router/adapters/types.js.map +1 -0
  1219. package/dist/router/types.d.ts +139 -0
  1220. package/dist/router/types.d.ts.map +1 -0
  1221. package/dist/router/types.js +62 -0
  1222. package/dist/router/types.js.map +1 -0
  1223. package/dist/router/types.test.d.ts +2 -0
  1224. package/dist/router/types.test.d.ts.map +1 -0
  1225. package/dist/router/types.test.js +108 -0
  1226. package/dist/router/types.test.js.map +1 -0
  1227. package/dist/rpc/evm/EvmEventLogsReader.d.ts +91 -0
  1228. package/dist/rpc/evm/EvmEventLogsReader.d.ts.map +1 -0
  1229. package/dist/rpc/evm/EvmEventLogsReader.hardhat-test.d.ts +2 -0
  1230. package/dist/rpc/evm/EvmEventLogsReader.hardhat-test.d.ts.map +1 -0
  1231. package/dist/rpc/evm/EvmEventLogsReader.hardhat-test.js +640 -0
  1232. package/dist/rpc/evm/EvmEventLogsReader.hardhat-test.js.map +1 -0
  1233. package/dist/rpc/evm/EvmEventLogsReader.js +246 -0
  1234. package/dist/rpc/evm/EvmEventLogsReader.js.map +1 -0
  1235. package/dist/rpc/evm/EvmEventLogsReader.test.d.ts +2 -0
  1236. package/dist/rpc/evm/EvmEventLogsReader.test.d.ts.map +1 -0
  1237. package/dist/rpc/evm/EvmEventLogsReader.test.js +139 -0
  1238. package/dist/rpc/evm/EvmEventLogsReader.test.js.map +1 -0
  1239. package/dist/rpc/evm/types.d.ts +11 -0
  1240. package/dist/rpc/evm/types.d.ts.map +1 -0
  1241. package/dist/rpc/evm/types.js +2 -0
  1242. package/dist/rpc/evm/types.js.map +1 -0
  1243. package/dist/rpc/evm/utils.d.ts +75 -0
  1244. package/dist/rpc/evm/utils.d.ts.map +1 -0
  1245. package/dist/rpc/evm/utils.hardhat-test.d.ts +2 -0
  1246. package/dist/rpc/evm/utils.hardhat-test.d.ts.map +1 -0
  1247. package/dist/rpc/evm/utils.hardhat-test.js +457 -0
  1248. package/dist/rpc/evm/utils.hardhat-test.js.map +1 -0
  1249. package/dist/rpc/evm/utils.js +338 -0
  1250. package/dist/rpc/evm/utils.js.map +1 -0
  1251. package/dist/rpc/evm/utils.test.d.ts +2 -0
  1252. package/dist/rpc/evm/utils.test.d.ts.map +1 -0
  1253. package/dist/rpc/evm/utils.test.js +636 -0
  1254. package/dist/rpc/evm/utils.test.js.map +1 -0
  1255. package/dist/signers/cosmos/cosmjs.d.ts +17 -0
  1256. package/dist/signers/cosmos/cosmjs.d.ts.map +1 -0
  1257. package/dist/signers/cosmos/cosmjs.js +39 -0
  1258. package/dist/signers/cosmos/cosmjs.js.map +1 -0
  1259. package/dist/signers/evm/ethersv5.d.ts +14 -0
  1260. package/dist/signers/evm/ethersv5.d.ts.map +1 -0
  1261. package/dist/signers/evm/ethersv5.js +36 -0
  1262. package/dist/signers/evm/ethersv5.js.map +1 -0
  1263. package/dist/signers/evm/turnkey.d.ts +91 -0
  1264. package/dist/signers/evm/turnkey.d.ts.map +1 -0
  1265. package/dist/signers/evm/turnkey.js +269 -0
  1266. package/dist/signers/evm/turnkey.js.map +1 -0
  1267. package/dist/signers/evm/turnkey.test.d.ts +2 -0
  1268. package/dist/signers/evm/turnkey.test.d.ts.map +1 -0
  1269. package/dist/signers/evm/turnkey.test.js +240 -0
  1270. package/dist/signers/evm/turnkey.test.js.map +1 -0
  1271. package/dist/signers/radix/radix-toolkit.d.ts +16 -0
  1272. package/dist/signers/radix/radix-toolkit.d.ts.map +1 -0
  1273. package/dist/signers/radix/radix-toolkit.js +34 -0
  1274. package/dist/signers/radix/radix-toolkit.js.map +1 -0
  1275. package/dist/signers/signers.d.ts +17 -0
  1276. package/dist/signers/signers.d.ts.map +1 -0
  1277. package/dist/signers/signers.js +26 -0
  1278. package/dist/signers/signers.js.map +1 -0
  1279. package/dist/signers/starknet/starknetjs.d.ts +14 -0
  1280. package/dist/signers/starknet/starknetjs.d.ts.map +1 -0
  1281. package/dist/signers/starknet/starknetjs.js +38 -0
  1282. package/dist/signers/starknet/starknetjs.js.map +1 -0
  1283. package/dist/signers/svm/solana-web3js.d.ts +89 -0
  1284. package/dist/signers/svm/solana-web3js.d.ts.map +1 -0
  1285. package/dist/signers/svm/solana-web3js.js +247 -0
  1286. package/dist/signers/svm/solana-web3js.js.map +1 -0
  1287. package/dist/signers/svm/solana-web3js.test.d.ts +2 -0
  1288. package/dist/signers/svm/solana-web3js.test.d.ts.map +1 -0
  1289. package/dist/signers/svm/solana-web3js.test.js +61 -0
  1290. package/dist/signers/svm/solana-web3js.test.js.map +1 -0
  1291. package/dist/signers/svm/turnkey.d.ts +49 -0
  1292. package/dist/signers/svm/turnkey.d.ts.map +1 -0
  1293. package/dist/signers/svm/turnkey.js +80 -0
  1294. package/dist/signers/svm/turnkey.js.map +1 -0
  1295. package/dist/signers/turnkeyClient.d.ts +72 -0
  1296. package/dist/signers/turnkeyClient.d.ts.map +1 -0
  1297. package/dist/signers/turnkeyClient.js +121 -0
  1298. package/dist/signers/turnkeyClient.js.map +1 -0
  1299. package/dist/signers/types.d.ts +8 -0
  1300. package/dist/signers/types.d.ts.map +1 -0
  1301. package/dist/signers/types.js +2 -0
  1302. package/dist/signers/types.js.map +1 -0
  1303. package/dist/test/contractDouble.d.ts +8 -0
  1304. package/dist/test/contractDouble.d.ts.map +1 -0
  1305. package/dist/test/contractDouble.js +12 -0
  1306. package/dist/test/contractDouble.js.map +1 -0
  1307. package/dist/test/contractStubs.d.ts +8 -0
  1308. package/dist/test/contractStubs.d.ts.map +1 -0
  1309. package/dist/test/contractStubs.js +15 -0
  1310. package/dist/test/contractStubs.js.map +1 -0
  1311. package/dist/test/errors.d.ts +34 -0
  1312. package/dist/test/errors.d.ts.map +1 -0
  1313. package/dist/test/errors.js +46 -0
  1314. package/dist/test/errors.js.map +1 -0
  1315. package/dist/test/fixtures/warp-route-replay/record.d.ts +2 -0
  1316. package/dist/test/fixtures/warp-route-replay/record.d.ts.map +1 -0
  1317. package/dist/test/fixtures/warp-route-replay/record.js +32 -0
  1318. package/dist/test/fixtures/warp-route-replay/record.js.map +1 -0
  1319. package/dist/test/multiProviderStubs.d.ts +9 -0
  1320. package/dist/test/multiProviderStubs.d.ts.map +1 -0
  1321. package/dist/test/multiProviderStubs.js +31 -0
  1322. package/dist/test/multiProviderStubs.js.map +1 -0
  1323. package/dist/test/replayRpc.d.ts +82 -0
  1324. package/dist/test/replayRpc.d.ts.map +1 -0
  1325. package/dist/test/replayRpc.js +331 -0
  1326. package/dist/test/replayRpc.js.map +1 -0
  1327. package/dist/test/replayScenarios.d.ts +19 -0
  1328. package/dist/test/replayScenarios.d.ts.map +1 -0
  1329. package/dist/test/replayScenarios.js +89 -0
  1330. package/dist/test/replayScenarios.js.map +1 -0
  1331. package/dist/test/testUtils.d.ts +32 -0
  1332. package/dist/test/testUtils.d.ts.map +1 -0
  1333. package/dist/test/testUtils.js +408 -0
  1334. package/dist/test/testUtils.js.map +1 -0
  1335. package/dist/test/testUtils.test.d.ts +2 -0
  1336. package/dist/test/testUtils.test.d.ts.map +1 -0
  1337. package/dist/test/testUtils.test.js +28 -0
  1338. package/dist/test/testUtils.test.js.map +1 -0
  1339. package/dist/timelock/evm/EvmTimelockDeployer.d.ts +12 -0
  1340. package/dist/timelock/evm/EvmTimelockDeployer.d.ts.map +1 -0
  1341. package/dist/timelock/evm/EvmTimelockDeployer.hardhat-test.d.ts +2 -0
  1342. package/dist/timelock/evm/EvmTimelockDeployer.hardhat-test.d.ts.map +1 -0
  1343. package/dist/timelock/evm/EvmTimelockDeployer.hardhat-test.js +210 -0
  1344. package/dist/timelock/evm/EvmTimelockDeployer.hardhat-test.js.map +1 -0
  1345. package/dist/timelock/evm/EvmTimelockDeployer.js +68 -0
  1346. package/dist/timelock/evm/EvmTimelockDeployer.js.map +1 -0
  1347. package/dist/timelock/evm/EvmTimelockReader.d.ts +32 -0
  1348. package/dist/timelock/evm/EvmTimelockReader.d.ts.map +1 -0
  1349. package/dist/timelock/evm/EvmTimelockReader.hardhat-test.d.ts +2 -0
  1350. package/dist/timelock/evm/EvmTimelockReader.hardhat-test.d.ts.map +1 -0
  1351. package/dist/timelock/evm/EvmTimelockReader.hardhat-test.js +889 -0
  1352. package/dist/timelock/evm/EvmTimelockReader.hardhat-test.js.map +1 -0
  1353. package/dist/timelock/evm/EvmTimelockReader.js +171 -0
  1354. package/dist/timelock/evm/EvmTimelockReader.js.map +1 -0
  1355. package/dist/timelock/evm/constants.d.ts +6 -0
  1356. package/dist/timelock/evm/constants.d.ts.map +1 -0
  1357. package/dist/timelock/evm/constants.js +7 -0
  1358. package/dist/timelock/evm/constants.js.map +1 -0
  1359. package/dist/timelock/evm/contracts.d.ts +6 -0
  1360. package/dist/timelock/evm/contracts.d.ts.map +1 -0
  1361. package/dist/timelock/evm/contracts.js +5 -0
  1362. package/dist/timelock/evm/contracts.js.map +1 -0
  1363. package/dist/timelock/evm/errors.d.ts +2 -0
  1364. package/dist/timelock/evm/errors.d.ts.map +1 -0
  1365. package/dist/timelock/evm/errors.js +19 -0
  1366. package/dist/timelock/evm/errors.js.map +1 -0
  1367. package/dist/timelock/evm/errors.test.d.ts +2 -0
  1368. package/dist/timelock/evm/errors.test.d.ts.map +1 -0
  1369. package/dist/timelock/evm/errors.test.js +33 -0
  1370. package/dist/timelock/evm/errors.test.js.map +1 -0
  1371. package/dist/timelock/evm/utils.d.ts +4 -0
  1372. package/dist/timelock/evm/utils.d.ts.map +1 -0
  1373. package/dist/timelock/evm/utils.js +11 -0
  1374. package/dist/timelock/evm/utils.js.map +1 -0
  1375. package/dist/timelock/types.d.ts +29 -0
  1376. package/dist/timelock/types.d.ts.map +1 -0
  1377. package/dist/timelock/types.js +11 -0
  1378. package/dist/timelock/types.js.map +1 -0
  1379. package/dist/token/EvmWarpModule.d.ts +301 -0
  1380. package/dist/token/EvmWarpModule.d.ts.map +1 -0
  1381. package/dist/token/EvmWarpModule.hardhat-test.d.ts +2 -0
  1382. package/dist/token/EvmWarpModule.hardhat-test.d.ts.map +1 -0
  1383. package/dist/token/EvmWarpModule.hardhat-test.js +3143 -0
  1384. package/dist/token/EvmWarpModule.hardhat-test.js.map +1 -0
  1385. package/dist/token/EvmWarpModule.js +1800 -0
  1386. package/dist/token/EvmWarpModule.js.map +1 -0
  1387. package/dist/token/EvmWarpModule.test.d.ts +2 -0
  1388. package/dist/token/EvmWarpModule.test.d.ts.map +1 -0
  1389. package/dist/token/EvmWarpModule.test.js +471 -0
  1390. package/dist/token/EvmWarpModule.test.js.map +1 -0
  1391. package/dist/token/EvmWarpRouteReader.d.ts +135 -0
  1392. package/dist/token/EvmWarpRouteReader.d.ts.map +1 -0
  1393. package/dist/token/EvmWarpRouteReader.hardhat-test.d.ts +2 -0
  1394. package/dist/token/EvmWarpRouteReader.hardhat-test.d.ts.map +1 -0
  1395. package/dist/token/EvmWarpRouteReader.hardhat-test.js +1357 -0
  1396. package/dist/token/EvmWarpRouteReader.hardhat-test.js.map +1 -0
  1397. package/dist/token/EvmWarpRouteReader.js +1292 -0
  1398. package/dist/token/EvmWarpRouteReader.js.map +1 -0
  1399. package/dist/token/EvmWarpRouteReader.replay.test.d.ts +2 -0
  1400. package/dist/token/EvmWarpRouteReader.replay.test.d.ts.map +1 -0
  1401. package/dist/token/EvmWarpRouteReader.replay.test.js +392 -0
  1402. package/dist/token/EvmWarpRouteReader.replay.test.js.map +1 -0
  1403. package/dist/token/EvmWarpRouteReader.test.d.ts +2 -0
  1404. package/dist/token/EvmWarpRouteReader.test.d.ts.map +1 -0
  1405. package/dist/token/EvmWarpRouteReader.test.js +783 -0
  1406. package/dist/token/EvmWarpRouteReader.test.js.map +1 -0
  1407. package/dist/token/EvmXERC20Module.d.ts +105 -0
  1408. package/dist/token/EvmXERC20Module.d.ts.map +1 -0
  1409. package/dist/token/EvmXERC20Module.js +277 -0
  1410. package/dist/token/EvmXERC20Module.js.map +1 -0
  1411. package/dist/token/EvmXERC20Module.test.d.ts +2 -0
  1412. package/dist/token/EvmXERC20Module.test.d.ts.map +1 -0
  1413. package/dist/token/EvmXERC20Module.test.js +464 -0
  1414. package/dist/token/EvmXERC20Module.test.js.map +1 -0
  1415. package/dist/token/EvmXERC20Reader.d.ts +58 -0
  1416. package/dist/token/EvmXERC20Reader.d.ts.map +1 -0
  1417. package/dist/token/EvmXERC20Reader.js +122 -0
  1418. package/dist/token/EvmXERC20Reader.js.map +1 -0
  1419. package/dist/token/EvmXERC20Reader.test.d.ts +2 -0
  1420. package/dist/token/EvmXERC20Reader.test.d.ts.map +1 -0
  1421. package/dist/token/EvmXERC20Reader.test.js +333 -0
  1422. package/dist/token/EvmXERC20Reader.test.js.map +1 -0
  1423. package/dist/token/IToken.d.ts +21 -0
  1424. package/dist/token/IToken.d.ts.map +1 -0
  1425. package/dist/token/IToken.js +2 -0
  1426. package/dist/token/IToken.js.map +1 -0
  1427. package/dist/token/ITokenMetadata.d.ts +90 -0
  1428. package/dist/token/ITokenMetadata.d.ts.map +1 -0
  1429. package/dist/token/ITokenMetadata.js +53 -0
  1430. package/dist/token/ITokenMetadata.js.map +1 -0
  1431. package/dist/token/Token.d.ts +47 -0
  1432. package/dist/token/Token.d.ts.map +1 -0
  1433. package/dist/token/Token.js +231 -0
  1434. package/dist/token/Token.js.map +1 -0
  1435. package/dist/token/Token.test.d.ts +2 -0
  1436. package/dist/token/Token.test.d.ts.map +1 -0
  1437. package/dist/token/Token.test.js +579 -0
  1438. package/dist/token/Token.test.js.map +1 -0
  1439. package/dist/token/TokenAmount.d.ts +12 -0
  1440. package/dist/token/TokenAmount.d.ts.map +1 -0
  1441. package/dist/token/TokenAmount.js +22 -0
  1442. package/dist/token/TokenAmount.js.map +1 -0
  1443. package/dist/token/TokenAmount.test.d.ts +2 -0
  1444. package/dist/token/TokenAmount.test.d.ts.map +1 -0
  1445. package/dist/token/TokenAmount.test.js +38 -0
  1446. package/dist/token/TokenAmount.test.js.map +1 -0
  1447. package/dist/token/TokenConnection.d.ts +55 -0
  1448. package/dist/token/TokenConnection.d.ts.map +1 -0
  1449. package/dist/token/TokenConnection.js +44 -0
  1450. package/dist/token/TokenConnection.js.map +1 -0
  1451. package/dist/token/TokenConnection.test.d.ts +2 -0
  1452. package/dist/token/TokenConnection.test.d.ts.map +1 -0
  1453. package/dist/token/TokenConnection.test.js +17 -0
  1454. package/dist/token/TokenConnection.test.js.map +1 -0
  1455. package/dist/token/TokenMetadata.d.ts +43 -0
  1456. package/dist/token/TokenMetadata.d.ts.map +1 -0
  1457. package/dist/token/TokenMetadata.js +121 -0
  1458. package/dist/token/TokenMetadata.js.map +1 -0
  1459. package/dist/token/TokenMetadataMap.d.ts +15 -0
  1460. package/dist/token/TokenMetadataMap.d.ts.map +1 -0
  1461. package/dist/token/TokenMetadataMap.js +56 -0
  1462. package/dist/token/TokenMetadataMap.js.map +1 -0
  1463. package/dist/token/TokenStandard.d.ts +108 -0
  1464. package/dist/token/TokenStandard.d.ts.map +1 -0
  1465. package/dist/token/TokenStandard.js +470 -0
  1466. package/dist/token/TokenStandard.js.map +1 -0
  1467. package/dist/token/adapters/AleoTokenAdapter.d.ts +60 -0
  1468. package/dist/token/adapters/AleoTokenAdapter.d.ts.map +1 -0
  1469. package/dist/token/adapters/AleoTokenAdapter.js +190 -0
  1470. package/dist/token/adapters/AleoTokenAdapter.js.map +1 -0
  1471. package/dist/token/adapters/CosmWasmTokenAdapter.d.ts +114 -0
  1472. package/dist/token/adapters/CosmWasmTokenAdapter.d.ts.map +1 -0
  1473. package/dist/token/adapters/CosmWasmTokenAdapter.js +332 -0
  1474. package/dist/token/adapters/CosmWasmTokenAdapter.js.map +1 -0
  1475. package/dist/token/adapters/CosmWasmTokenAdapter.test.d.ts +14 -0
  1476. package/dist/token/adapters/CosmWasmTokenAdapter.test.d.ts.map +1 -0
  1477. package/dist/token/adapters/CosmWasmTokenAdapter.test.js +283 -0
  1478. package/dist/token/adapters/CosmWasmTokenAdapter.test.js.map +1 -0
  1479. package/dist/token/adapters/CosmosModuleTokenAdapter.d.ts +54 -0
  1480. package/dist/token/adapters/CosmosModuleTokenAdapter.d.ts.map +1 -0
  1481. package/dist/token/adapters/CosmosModuleTokenAdapter.js +189 -0
  1482. package/dist/token/adapters/CosmosModuleTokenAdapter.js.map +1 -0
  1483. package/dist/token/adapters/CosmosTokenAdapter.d.ts +74 -0
  1484. package/dist/token/adapters/CosmosTokenAdapter.d.ts.map +1 -0
  1485. package/dist/token/adapters/CosmosTokenAdapter.js +192 -0
  1486. package/dist/token/adapters/CosmosTokenAdapter.js.map +1 -0
  1487. package/dist/token/adapters/EvmCrossCollateralAdapter.d.ts +39 -0
  1488. package/dist/token/adapters/EvmCrossCollateralAdapter.d.ts.map +1 -0
  1489. package/dist/token/adapters/EvmCrossCollateralAdapter.js +85 -0
  1490. package/dist/token/adapters/EvmCrossCollateralAdapter.js.map +1 -0
  1491. package/dist/token/adapters/EvmCrossCollateralAdapter.test.d.ts +2 -0
  1492. package/dist/token/adapters/EvmCrossCollateralAdapter.test.d.ts.map +1 -0
  1493. package/dist/token/adapters/EvmCrossCollateralAdapter.test.js +155 -0
  1494. package/dist/token/adapters/EvmCrossCollateralAdapter.test.js.map +1 -0
  1495. package/dist/token/adapters/EvmHypSyntheticAdapter.test.d.ts +2 -0
  1496. package/dist/token/adapters/EvmHypSyntheticAdapter.test.d.ts.map +1 -0
  1497. package/dist/token/adapters/EvmHypSyntheticAdapter.test.js +96 -0
  1498. package/dist/token/adapters/EvmHypSyntheticAdapter.test.js.map +1 -0
  1499. package/dist/token/adapters/EvmTokenAdapter.d.ts +303 -0
  1500. package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -0
  1501. package/dist/token/adapters/EvmTokenAdapter.js +899 -0
  1502. package/dist/token/adapters/EvmTokenAdapter.js.map +1 -0
  1503. package/dist/token/adapters/EvmTokenAdapter.seismic.test.d.ts +2 -0
  1504. package/dist/token/adapters/EvmTokenAdapter.seismic.test.d.ts.map +1 -0
  1505. package/dist/token/adapters/EvmTokenAdapter.seismic.test.js +125 -0
  1506. package/dist/token/adapters/EvmTokenAdapter.seismic.test.js.map +1 -0
  1507. package/dist/token/adapters/EvmTokenAdapter.test.d.ts +2 -0
  1508. package/dist/token/adapters/EvmTokenAdapter.test.d.ts.map +1 -0
  1509. package/dist/token/adapters/EvmTokenAdapter.test.js +73 -0
  1510. package/dist/token/adapters/EvmTokenAdapter.test.js.map +1 -0
  1511. package/dist/token/adapters/ITokenAdapter.d.ts +129 -0
  1512. package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -0
  1513. package/dist/token/adapters/ITokenAdapter.js +15 -0
  1514. package/dist/token/adapters/ITokenAdapter.js.map +1 -0
  1515. package/dist/token/adapters/M0PortalLiteTokenAdapter.d.ts +22 -0
  1516. package/dist/token/adapters/M0PortalLiteTokenAdapter.d.ts.map +1 -0
  1517. package/dist/token/adapters/M0PortalLiteTokenAdapter.js +90 -0
  1518. package/dist/token/adapters/M0PortalLiteTokenAdapter.js.map +1 -0
  1519. package/dist/token/adapters/M0PortalTokenAdapter.d.ts +22 -0
  1520. package/dist/token/adapters/M0PortalTokenAdapter.d.ts.map +1 -0
  1521. package/dist/token/adapters/M0PortalTokenAdapter.js +95 -0
  1522. package/dist/token/adapters/M0PortalTokenAdapter.js.map +1 -0
  1523. package/dist/token/adapters/M0PortalTokenAdapter.test.d.ts +2 -0
  1524. package/dist/token/adapters/M0PortalTokenAdapter.test.d.ts.map +1 -0
  1525. package/dist/token/adapters/M0PortalTokenAdapter.test.js +94 -0
  1526. package/dist/token/adapters/M0PortalTokenAdapter.test.js.map +1 -0
  1527. package/dist/token/adapters/RadixTokenAdapter.d.ts +55 -0
  1528. package/dist/token/adapters/RadixTokenAdapter.d.ts.map +1 -0
  1529. package/dist/token/adapters/RadixTokenAdapter.js +190 -0
  1530. package/dist/token/adapters/RadixTokenAdapter.js.map +1 -0
  1531. package/dist/token/adapters/SealevelCrossCollateralAdapter.d.ts +64 -0
  1532. package/dist/token/adapters/SealevelCrossCollateralAdapter.d.ts.map +1 -0
  1533. package/dist/token/adapters/SealevelCrossCollateralAdapter.js +474 -0
  1534. package/dist/token/adapters/SealevelCrossCollateralAdapter.js.map +1 -0
  1535. package/dist/token/adapters/SealevelCrossCollateralAdapter.test.d.ts +2 -0
  1536. package/dist/token/adapters/SealevelCrossCollateralAdapter.test.d.ts.map +1 -0
  1537. package/dist/token/adapters/SealevelCrossCollateralAdapter.test.js +138 -0
  1538. package/dist/token/adapters/SealevelCrossCollateralAdapter.test.js.map +1 -0
  1539. package/dist/token/adapters/SealevelHypTokenAdapter.test.d.ts +2 -0
  1540. package/dist/token/adapters/SealevelHypTokenAdapter.test.d.ts.map +1 -0
  1541. package/dist/token/adapters/SealevelHypTokenAdapter.test.js +136 -0
  1542. package/dist/token/adapters/SealevelHypTokenAdapter.test.js.map +1 -0
  1543. package/dist/token/adapters/SealevelTokenAdapter.d.ts +288 -0
  1544. package/dist/token/adapters/SealevelTokenAdapter.d.ts.map +1 -0
  1545. package/dist/token/adapters/SealevelTokenAdapter.js +1019 -0
  1546. package/dist/token/adapters/SealevelTokenAdapter.js.map +1 -0
  1547. package/dist/token/adapters/StarknetTokenAdapter.d.ts +107 -0
  1548. package/dist/token/adapters/StarknetTokenAdapter.d.ts.map +1 -0
  1549. package/dist/token/adapters/StarknetTokenAdapter.js +273 -0
  1550. package/dist/token/adapters/StarknetTokenAdapter.js.map +1 -0
  1551. package/dist/token/adapters/aleoHyp.d.ts +7 -0
  1552. package/dist/token/adapters/aleoHyp.d.ts.map +1 -0
  1553. package/dist/token/adapters/aleoHyp.js +26 -0
  1554. package/dist/token/adapters/aleoHyp.js.map +1 -0
  1555. package/dist/token/adapters/cosmosHyp.d.ts +7 -0
  1556. package/dist/token/adapters/cosmosHyp.d.ts.map +1 -0
  1557. package/dist/token/adapters/cosmosHyp.js +40 -0
  1558. package/dist/token/adapters/cosmosHyp.js.map +1 -0
  1559. package/dist/token/adapters/evmHyp.d.ts +7 -0
  1560. package/dist/token/adapters/evmHyp.d.ts.map +1 -0
  1561. package/dist/token/adapters/evmHyp.js +21 -0
  1562. package/dist/token/adapters/evmHyp.js.map +1 -0
  1563. package/dist/token/adapters/evmLikeHyp.d.ts +20 -0
  1564. package/dist/token/adapters/evmLikeHyp.d.ts.map +1 -0
  1565. package/dist/token/adapters/evmLikeHyp.js +67 -0
  1566. package/dist/token/adapters/evmLikeHyp.js.map +1 -0
  1567. package/dist/token/adapters/hypTokenAdapterUtils.d.ts +15 -0
  1568. package/dist/token/adapters/hypTokenAdapterUtils.d.ts.map +1 -0
  1569. package/dist/token/adapters/hypTokenAdapterUtils.js +9 -0
  1570. package/dist/token/adapters/hypTokenAdapterUtils.js.map +1 -0
  1571. package/dist/token/adapters/radixHyp.d.ts +7 -0
  1572. package/dist/token/adapters/radixHyp.d.ts.map +1 -0
  1573. package/dist/token/adapters/radixHyp.js +22 -0
  1574. package/dist/token/adapters/radixHyp.js.map +1 -0
  1575. package/dist/token/adapters/sealevelFee.d.ts +206 -0
  1576. package/dist/token/adapters/sealevelFee.d.ts.map +1 -0
  1577. package/dist/token/adapters/sealevelFee.js +515 -0
  1578. package/dist/token/adapters/sealevelFee.js.map +1 -0
  1579. package/dist/token/adapters/sealevelFee.test.d.ts +2 -0
  1580. package/dist/token/adapters/sealevelFee.test.d.ts.map +1 -0
  1581. package/dist/token/adapters/sealevelFee.test.js +246 -0
  1582. package/dist/token/adapters/sealevelFee.test.js.map +1 -0
  1583. package/dist/token/adapters/sealevelHyp.d.ts +8 -0
  1584. package/dist/token/adapters/sealevelHyp.d.ts.map +1 -0
  1585. package/dist/token/adapters/sealevelHyp.js +52 -0
  1586. package/dist/token/adapters/sealevelHyp.js.map +1 -0
  1587. package/dist/token/adapters/serialization.d.ts +234 -0
  1588. package/dist/token/adapters/serialization.d.ts.map +1 -0
  1589. package/dist/token/adapters/serialization.js +580 -0
  1590. package/dist/token/adapters/serialization.js.map +1 -0
  1591. package/dist/token/adapters/serialization.test.d.ts +2 -0
  1592. package/dist/token/adapters/serialization.test.d.ts.map +1 -0
  1593. package/dist/token/adapters/serialization.test.js +55 -0
  1594. package/dist/token/adapters/serialization.test.js.map +1 -0
  1595. package/dist/token/adapters/starknetHyp.d.ts +7 -0
  1596. package/dist/token/adapters/starknetHyp.d.ts.map +1 -0
  1597. package/dist/token/adapters/starknetHyp.js +35 -0
  1598. package/dist/token/adapters/starknetHyp.js.map +1 -0
  1599. package/dist/token/adapters/tronHyp.d.ts +7 -0
  1600. package/dist/token/adapters/tronHyp.d.ts.map +1 -0
  1601. package/dist/token/adapters/tronHyp.js +21 -0
  1602. package/dist/token/adapters/tronHyp.js.map +1 -0
  1603. package/dist/token/adapters/utils.d.ts +7 -0
  1604. package/dist/token/adapters/utils.d.ts.map +1 -0
  1605. package/dist/token/adapters/utils.js +4 -0
  1606. package/dist/token/adapters/utils.js.map +1 -0
  1607. package/dist/token/cctp.d.ts +10 -0
  1608. package/dist/token/cctp.d.ts.map +1 -0
  1609. package/dist/token/cctp.js +13 -0
  1610. package/dist/token/cctp.js.map +1 -0
  1611. package/dist/token/cctp.test.d.ts +2 -0
  1612. package/dist/token/cctp.test.d.ts.map +1 -0
  1613. package/dist/token/cctp.test.js +48 -0
  1614. package/dist/token/cctp.test.js.map +1 -0
  1615. package/dist/token/config.d.ts +61 -0
  1616. package/dist/token/config.d.ts.map +1 -0
  1617. package/dist/token/config.js +79 -0
  1618. package/dist/token/config.js.map +1 -0
  1619. package/dist/token/configUtils.d.ts +106 -0
  1620. package/dist/token/configUtils.d.ts.map +1 -0
  1621. package/dist/token/configUtils.js +735 -0
  1622. package/dist/token/configUtils.js.map +1 -0
  1623. package/dist/token/configUtils.test.d.ts +2 -0
  1624. package/dist/token/configUtils.test.d.ts.map +1 -0
  1625. package/dist/token/configUtils.test.js +1313 -0
  1626. package/dist/token/configUtils.test.js.map +1 -0
  1627. package/dist/token/contracts.d.ts +64 -0
  1628. package/dist/token/contracts.d.ts.map +1 -0
  1629. package/dist/token/contracts.js +68 -0
  1630. package/dist/token/contracts.js.map +1 -0
  1631. package/dist/token/deploy.d.ts +56 -0
  1632. package/dist/token/deploy.d.ts.map +1 -0
  1633. package/dist/token/deploy.hardhat-test.d.ts +2 -0
  1634. package/dist/token/deploy.hardhat-test.d.ts.map +1 -0
  1635. package/dist/token/deploy.hardhat-test.js +1397 -0
  1636. package/dist/token/deploy.hardhat-test.js.map +1 -0
  1637. package/dist/token/deploy.js +698 -0
  1638. package/dist/token/deploy.js.map +1 -0
  1639. package/dist/token/nativeTokenMetadata.d.ts +4 -0
  1640. package/dist/token/nativeTokenMetadata.d.ts.map +1 -0
  1641. package/dist/token/nativeTokenMetadata.js +50 -0
  1642. package/dist/token/nativeTokenMetadata.js.map +1 -0
  1643. package/dist/token/sealevel/metadata.d.ts +33 -0
  1644. package/dist/token/sealevel/metadata.d.ts.map +1 -0
  1645. package/dist/token/sealevel/metadata.js +90 -0
  1646. package/dist/token/sealevel/metadata.js.map +1 -0
  1647. package/dist/token/tokenMetadataUtils.d.ts +7 -0
  1648. package/dist/token/tokenMetadataUtils.d.ts.map +1 -0
  1649. package/dist/token/tokenMetadataUtils.js +109 -0
  1650. package/dist/token/tokenMetadataUtils.js.map +1 -0
  1651. package/dist/token/types.d.ts +9384 -0
  1652. package/dist/token/types.d.ts.map +1 -0
  1653. package/dist/token/types.js +613 -0
  1654. package/dist/token/types.js.map +1 -0
  1655. package/dist/token/types.test.d.ts +2 -0
  1656. package/dist/token/types.test.d.ts.map +1 -0
  1657. package/dist/token/types.test.js +529 -0
  1658. package/dist/token/types.test.js.map +1 -0
  1659. package/dist/token/warpCheck.d.ts +75 -0
  1660. package/dist/token/warpCheck.d.ts.map +1 -0
  1661. package/dist/token/warpCheck.js +1003 -0
  1662. package/dist/token/warpCheck.js.map +1 -0
  1663. package/dist/token/warpCheck.test.d.ts +2 -0
  1664. package/dist/token/warpCheck.test.d.ts.map +1 -0
  1665. package/dist/token/warpCheck.test.js +947 -0
  1666. package/dist/token/warpCheck.test.js.map +1 -0
  1667. package/dist/token/xerc20-abi.d.ts +58 -0
  1668. package/dist/token/xerc20-abi.d.ts.map +1 -0
  1669. package/dist/token/xerc20-abi.js +77 -0
  1670. package/dist/token/xerc20-abi.js.map +1 -0
  1671. package/dist/token/xerc20-limits.d.ts +63 -0
  1672. package/dist/token/xerc20-limits.d.ts.map +1 -0
  1673. package/dist/token/xerc20-limits.js +80 -0
  1674. package/dist/token/xerc20-limits.js.map +1 -0
  1675. package/dist/token/xerc20.d.ts +93 -0
  1676. package/dist/token/xerc20.d.ts.map +1 -0
  1677. package/dist/token/xerc20.js +355 -0
  1678. package/dist/token/xerc20.js.map +1 -0
  1679. package/dist/token/xerc20.test.d.ts +2 -0
  1680. package/dist/token/xerc20.test.d.ts.map +1 -0
  1681. package/dist/token/xerc20.test.js +728 -0
  1682. package/dist/token/xerc20.test.js.map +1 -0
  1683. package/dist/types.d.ts +47 -0
  1684. package/dist/types.d.ts.map +1 -0
  1685. package/dist/types.js +18 -0
  1686. package/dist/types.js.map +1 -0
  1687. package/dist/utils/HyperlaneReader.d.ts +17 -0
  1688. package/dist/utils/HyperlaneReader.d.ts.map +1 -0
  1689. package/dist/utils/HyperlaneReader.js +22 -0
  1690. package/dist/utils/HyperlaneReader.js.map +1 -0
  1691. package/dist/utils/MultiGeneric.d.ts +26 -0
  1692. package/dist/utils/MultiGeneric.d.ts.map +1 -0
  1693. package/dist/utils/MultiGeneric.js +55 -0
  1694. package/dist/utils/MultiGeneric.js.map +1 -0
  1695. package/dist/utils/contract.d.ts +60 -0
  1696. package/dist/utils/contract.d.ts.map +1 -0
  1697. package/dist/utils/contract.js +231 -0
  1698. package/dist/utils/contract.js.map +1 -0
  1699. package/dist/utils/contract.test.d.ts +2 -0
  1700. package/dist/utils/contract.test.d.ts.map +1 -0
  1701. package/dist/utils/contract.test.js +551 -0
  1702. package/dist/utils/contract.test.js.map +1 -0
  1703. package/dist/utils/contract.transport.test.d.ts +2 -0
  1704. package/dist/utils/contract.transport.test.d.ts.map +1 -0
  1705. package/dist/utils/contract.transport.test.js +145 -0
  1706. package/dist/utils/contract.transport.test.js.map +1 -0
  1707. package/dist/utils/cosmos.d.ts +391 -0
  1708. package/dist/utils/cosmos.d.ts.map +1 -0
  1709. package/dist/utils/cosmos.js +424 -0
  1710. package/dist/utils/cosmos.js.map +1 -0
  1711. package/dist/utils/decimals.d.ts +53 -0
  1712. package/dist/utils/decimals.d.ts.map +1 -0
  1713. package/dist/utils/decimals.js +131 -0
  1714. package/dist/utils/decimals.js.map +1 -0
  1715. package/dist/utils/decimals.test.d.ts +2 -0
  1716. package/dist/utils/decimals.test.d.ts.map +1 -0
  1717. package/dist/utils/decimals.test.js +526 -0
  1718. package/dist/utils/decimals.test.js.map +1 -0
  1719. package/dist/utils/filter.d.ts +3 -0
  1720. package/dist/utils/filter.d.ts.map +1 -0
  1721. package/dist/utils/filter.js +9 -0
  1722. package/dist/utils/filter.js.map +1 -0
  1723. package/dist/utils/fork.d.ts +55 -0
  1724. package/dist/utils/fork.d.ts.map +1 -0
  1725. package/dist/utils/fork.js +119 -0
  1726. package/dist/utils/fork.js.map +1 -0
  1727. package/dist/utils/gas.d.ts +30 -0
  1728. package/dist/utils/gas.d.ts.map +1 -0
  1729. package/dist/utils/gas.js +35 -0
  1730. package/dist/utils/gas.js.map +1 -0
  1731. package/dist/utils/gnosisSafe.d.ts +21 -0
  1732. package/dist/utils/gnosisSafe.d.ts.map +1 -0
  1733. package/dist/utils/gnosisSafe.js +193 -0
  1734. package/dist/utils/gnosisSafe.js.map +1 -0
  1735. package/dist/utils/gnosisSafe.test.d.ts +2 -0
  1736. package/dist/utils/gnosisSafe.test.d.ts.map +1 -0
  1737. package/dist/utils/gnosisSafe.test.js +78 -0
  1738. package/dist/utils/gnosisSafe.test.js.map +1 -0
  1739. package/dist/utils/ism.d.ts +193 -0
  1740. package/dist/utils/ism.d.ts.map +1 -0
  1741. package/dist/utils/ism.js +611 -0
  1742. package/dist/utils/ism.js.map +1 -0
  1743. package/dist/utils/ism.test.d.ts +2 -0
  1744. package/dist/utils/ism.test.d.ts.map +1 -0
  1745. package/dist/utils/ism.test.js +445 -0
  1746. package/dist/utils/ism.test.js.map +1 -0
  1747. package/dist/utils/logUtils.d.ts +4 -0
  1748. package/dist/utils/logUtils.d.ts.map +1 -0
  1749. package/dist/utils/logUtils.js +13 -0
  1750. package/dist/utils/logUtils.js.map +1 -0
  1751. package/dist/utils/numbers.d.ts +11 -0
  1752. package/dist/utils/numbers.d.ts.map +1 -0
  1753. package/dist/utils/numbers.js +36 -0
  1754. package/dist/utils/numbers.js.map +1 -0
  1755. package/dist/utils/numbers.test.d.ts +2 -0
  1756. package/dist/utils/numbers.test.d.ts.map +1 -0
  1757. package/dist/utils/numbers.test.js +80 -0
  1758. package/dist/utils/numbers.test.js.map +1 -0
  1759. package/dist/utils/provider.d.ts +6 -0
  1760. package/dist/utils/provider.d.ts.map +1 -0
  1761. package/dist/utils/provider.js +36 -0
  1762. package/dist/utils/provider.js.map +1 -0
  1763. package/dist/utils/schemas.d.ts +4 -0
  1764. package/dist/utils/schemas.d.ts.map +1 -0
  1765. package/dist/utils/schemas.js +15 -0
  1766. package/dist/utils/schemas.js.map +1 -0
  1767. package/dist/utils/schemas.test.d.ts +2 -0
  1768. package/dist/utils/schemas.test.d.ts.map +1 -0
  1769. package/dist/utils/schemas.test.js +33 -0
  1770. package/dist/utils/schemas.test.js.map +1 -0
  1771. package/dist/utils/sealevelSerialization.d.ts +50 -0
  1772. package/dist/utils/sealevelSerialization.d.ts.map +1 -0
  1773. package/dist/utils/sealevelSerialization.js +85 -0
  1774. package/dist/utils/sealevelSerialization.js.map +1 -0
  1775. package/dist/utils/starknet.d.ts +35 -0
  1776. package/dist/utils/starknet.d.ts.map +1 -0
  1777. package/dist/utils/starknet.js +89 -0
  1778. package/dist/utils/starknet.js.map +1 -0
  1779. package/dist/utils/transactions.d.ts +12 -0
  1780. package/dist/utils/transactions.d.ts.map +1 -0
  1781. package/dist/utils/transactions.js +17 -0
  1782. package/dist/utils/transactions.js.map +1 -0
  1783. package/dist/utils/validator.d.ts +5 -0
  1784. package/dist/utils/validator.d.ts.map +1 -0
  1785. package/dist/utils/validator.js +18 -0
  1786. package/dist/utils/validator.js.map +1 -0
  1787. package/dist/utils/zksync.d.ts +8 -0
  1788. package/dist/utils/zksync.d.ts.map +1 -0
  1789. package/dist/utils/zksync.js +24 -0
  1790. package/dist/utils/zksync.js.map +1 -0
  1791. package/dist/warp/WarpCore.d.ts +286 -0
  1792. package/dist/warp/WarpCore.d.ts.map +1 -0
  1793. package/dist/warp/WarpCore.js +1144 -0
  1794. package/dist/warp/WarpCore.js.map +1 -0
  1795. package/dist/warp/WarpCore.test.d.ts +2 -0
  1796. package/dist/warp/WarpCore.test.d.ts.map +1 -0
  1797. package/dist/warp/WarpCore.test.js +1823 -0
  1798. package/dist/warp/WarpCore.test.js.map +1 -0
  1799. package/dist/warp/read.d.ts +19 -0
  1800. package/dist/warp/read.d.ts.map +1 -0
  1801. package/dist/warp/read.js +34 -0
  1802. package/dist/warp/read.js.map +1 -0
  1803. package/dist/warp/read.test.d.ts +2 -0
  1804. package/dist/warp/read.test.d.ts.map +1 -0
  1805. package/dist/warp/read.test.js +56 -0
  1806. package/dist/warp/read.test.js.map +1 -0
  1807. package/dist/warp/resolveDestinationToken.d.ts +23 -0
  1808. package/dist/warp/resolveDestinationToken.d.ts.map +1 -0
  1809. package/dist/warp/resolveDestinationToken.js +31 -0
  1810. package/dist/warp/resolveDestinationToken.js.map +1 -0
  1811. package/dist/warp/types.d.ts +122 -0
  1812. package/dist/warp/types.d.ts.map +1 -0
  1813. package/dist/warp/types.js +52 -0
  1814. package/dist/warp/types.js.map +1 -0
  1815. package/dist/warp/types.test.d.ts +2 -0
  1816. package/dist/warp/types.test.d.ts.map +1 -0
  1817. package/dist/warp/types.test.js +81 -0
  1818. package/dist/warp/types.test.js.map +1 -0
  1819. package/dist/zksync/ZKSyncDeployer.d.ts +59 -0
  1820. package/dist/zksync/ZKSyncDeployer.d.ts.map +1 -0
  1821. package/dist/zksync/ZKSyncDeployer.js +132 -0
  1822. package/dist/zksync/ZKSyncDeployer.js.map +1 -0
  1823. package/package.json +259 -3
@@ -0,0 +1,1279 @@
1
+ import assert from 'assert';
2
+ import chai, { expect } from 'chai';
3
+ import chaiAsPromised from 'chai-as-promised';
4
+ import hre from 'hardhat';
5
+ import sinon from 'sinon';
6
+ import { BlacklistIsm__factory, DefaultIsm__factory, DelayedFlowRouterHookIsm__factory, HypERC20__factory, NetFlowRateLimitedHookIsm__factory, PausableIsm__factory, RateLimitedIsm__factory, StaticAggregationIsm__factory, TestLegacyBlacklistIsm__factory, } from '@recoillink/core';
7
+ import { addressToBytes32, eqAddress, rootLogger, } from '@recoillink/utils';
8
+ import { TestChainName, testChains } from '../consts/testChains.js';
9
+ import { TestCoreDeployer } from '../core/TestCoreDeployer.js';
10
+ import { HyperlaneProxyFactoryDeployer } from '../deploy/HyperlaneProxyFactoryDeployer.js';
11
+ import { buildDelayedFlowEnrollmentTxs, } from '../deploy/warp.js';
12
+ import { MultiProvider } from '../providers/MultiProvider.js';
13
+ import { EvmEventLogsReader } from '../rpc/evm/EvmEventLogsReader.js';
14
+ import { randomAddress, randomIsmConfig, randomMultisigIsmConfig, } from '../test/testUtils.js';
15
+ import { collectHybridIsmNodes, normalizeConfig } from '../utils/ism.js';
16
+ import { EvmIsmModule } from './EvmIsmModule.js';
17
+ import { EvmIsmReader } from './EvmIsmReader.js';
18
+ import { HyperlaneIsmFactory } from './HyperlaneIsmFactory.js';
19
+ import { IsmType, ModuleType, } from './types.js';
20
+ chai.use(chaiAsPromised);
21
+ const randomBytes32 = () => hre.ethers.utils.hexlify(hre.ethers.utils.randomBytes(32));
22
+ // Blacklist ISMs are only valid in a mandatory (exhaustive-aggregation)
23
+ // position, so build a standalone one to prove the composition walk rejects it.
24
+ const BLACKLIST_COMPOSITION_ERROR = 'must be a member of an aggregation';
25
+ describe('EvmIsmModule', async () => {
26
+ let multiProvider;
27
+ let exampleRoutingConfig;
28
+ let mailboxAddress;
29
+ let fundingAccount;
30
+ const chain = TestChainName.test4;
31
+ let factoryAddresses;
32
+ let factoryContracts;
33
+ const legacyDeploymentBlocks = new Map();
34
+ let legacyExplorerMetadataStub;
35
+ let legacyDeploymentBlockStub;
36
+ // paired TokenRouter required by the warp-route hybrid hook/ISM constructors
37
+ let warpRouterAddress;
38
+ before(async () => {
39
+ const [signer, funder] = await hre.ethers.getSigners();
40
+ fundingAccount = funder;
41
+ multiProvider = MultiProvider.createTestMultiProvider({ signer });
42
+ const contractsMap = await new HyperlaneProxyFactoryDeployer(multiProvider).deploy(multiProvider.mapKnownChains(() => ({})));
43
+ // get addresses of factories for the chain
44
+ factoryContracts = contractsMap[chain];
45
+ factoryAddresses = Object.keys(factoryContracts).reduce((acc, key) => {
46
+ acc[key] =
47
+ contractsMap[chain][key].address;
48
+ return acc;
49
+ }, {});
50
+ // legacy HyperlaneIsmFactory is required to do a core deploy
51
+ const legacyIsmFactory = new HyperlaneIsmFactory(contractsMap, multiProvider);
52
+ // mailbox
53
+ mailboxAddress = (await new TestCoreDeployer(multiProvider, legacyIsmFactory).deployApp()).getContracts(chain).mailbox.address;
54
+ warpRouterAddress = (await new HypERC20__factory(signer).deploy(18, 1, 1, mailboxAddress)).address;
55
+ });
56
+ beforeEach(async () => {
57
+ // Reset the MultiProvider for each test
58
+ const [signer] = await hre.ethers.getSigners();
59
+ multiProvider = MultiProvider.createTestMultiProvider({ signer });
60
+ // example routing config
61
+ exampleRoutingConfig = {
62
+ type: IsmType.ROUTING,
63
+ owner: (await multiProvider.getSignerAddress(chain)).toLowerCase(),
64
+ domains: Object.fromEntries(testChains
65
+ .filter((c) => c !== TestChainName.test4)
66
+ .map((c) => [c, randomMultisigIsmConfig(3, 5)])),
67
+ };
68
+ });
69
+ // Helper method for create a new multiprovider with an impersonated account
70
+ async function impersonateAccount(account) {
71
+ await hre.ethers.provider.send('hardhat_impersonateAccount', [account]);
72
+ await fundingAccount.sendTransaction({
73
+ to: account,
74
+ value: hre.ethers.utils.parseEther('1.0'),
75
+ });
76
+ return MultiProvider.createTestMultiProvider({
77
+ signer: hre.ethers.provider.getSigner(account),
78
+ });
79
+ }
80
+ // Helper method to expect exactly N updates to be applied
81
+ async function expectTxsAndUpdate(ism, config, n) {
82
+ const txs = await ism.update(config);
83
+ expect(txs.length).to.equal(n);
84
+ for (const tx of txs) {
85
+ await multiProvider.sendTransaction(chain, tx);
86
+ }
87
+ }
88
+ // ism module and config for testing
89
+ let testIsm;
90
+ let testConfig;
91
+ // expect that the ISM matches the config after all tests
92
+ afterEach(async () => {
93
+ try {
94
+ const derivedConfiig = await testIsm.read();
95
+ const normalizedDerivedConfig = normalizeConfig(derivedConfiig);
96
+ const normalizedConfig = normalizeConfig(testConfig);
97
+ // recipient is a deploy-time constructor arg not returned by read()
98
+ if (normalizedConfig.type === IsmType.RATE_LIMITED) {
99
+ delete normalizedConfig.recipient;
100
+ }
101
+ assert.deepStrictEqual(normalizedDerivedConfig, normalizedConfig);
102
+ }
103
+ finally {
104
+ legacyExplorerMetadataStub?.restore();
105
+ legacyDeploymentBlockStub?.restore();
106
+ legacyExplorerMetadataStub = undefined;
107
+ legacyDeploymentBlockStub = undefined;
108
+ }
109
+ });
110
+ // create a new ISM and verify that it matches the config
111
+ async function createIsm(config) {
112
+ const ism = await EvmIsmModule.create({
113
+ chain,
114
+ config,
115
+ proxyFactoryFactories: factoryAddresses,
116
+ mailbox: mailboxAddress,
117
+ multiProvider,
118
+ });
119
+ testIsm = ism;
120
+ testConfig = config;
121
+ return { ism, initialIsmAddress: ism.serialize().deployedIsm };
122
+ }
123
+ // Registers an externally built ISM with the afterEach state check.
124
+ function adoptIsm(ism, config) {
125
+ testIsm = ism;
126
+ testConfig = config;
127
+ return ism;
128
+ }
129
+ // Builds a StaticAggregationIsm whose blacklist submodule is the pre-audit
130
+ // contract that is still deployed on mainnet: no `values()`, and an event per
131
+ // entry even when the entry is already blacklisted.
132
+ async function deployLegacyBlacklistAggregation(owner, blacklistedIds) {
133
+ const ismFactory = HyperlaneIsmFactory.fromAddressesMap({ [chain]: factoryAddresses }, multiProvider);
134
+ const multisigConfig = randomMultisigIsmConfig(3, 5);
135
+ const multisigIsm = await ismFactory.deploy({
136
+ destination: chain,
137
+ config: multisigConfig,
138
+ });
139
+ const legacyIsm = await new TestLegacyBlacklistIsm__factory(multiProvider.getSigner(chain)).deploy(owner);
140
+ const deploymentReceipt = await legacyIsm.deployTransaction.wait();
141
+ legacyDeploymentBlocks.set(legacyIsm.address.toLowerCase(), deploymentReceipt.blockNumber);
142
+ for (const blacklistedId of blacklistedIds) {
143
+ await multiProvider.handleTx(chain, legacyIsm.blacklist([blacklistedId]));
144
+ }
145
+ // re-add everything so the log replay has to de-duplicate
146
+ await multiProvider.handleTx(chain, legacyIsm.blacklist(blacklistedIds));
147
+ const aggregationAddress = await ismFactory.deployStaticAddressSet(chain, factoryContracts.staticAggregationIsmFactory, [multisigIsm.address, legacyIsm.address], rootLogger, 2);
148
+ return { aggregationAddress, multisigConfig };
149
+ }
150
+ function moduleForAggregation(deployedIsm, config) {
151
+ return new EvmIsmModule(multiProvider, {
152
+ chain,
153
+ config,
154
+ addresses: {
155
+ ...factoryAddresses,
156
+ mailbox: mailboxAddress,
157
+ deployedIsm,
158
+ },
159
+ });
160
+ }
161
+ /**
162
+ * Hybrid hook/ISMs are only valid inside a mandatory aggregation beside an
163
+ * authenticating ISM, which is also how a warp route always installs them.
164
+ * The wrapper holds `hybrid` by reference, so tests can keep mutating the
165
+ * node in place between create and update.
166
+ */
167
+ function hybridAgg(hybrid) {
168
+ return {
169
+ type: IsmType.AGGREGATION,
170
+ threshold: 2,
171
+ modules: [
172
+ { type: IsmType.TRUSTED_RELAYER, relayer: mailboxAddress },
173
+ hybrid,
174
+ ],
175
+ };
176
+ }
177
+ /** Address of the hybrid leaf inside the module's installed tree. */
178
+ async function hybridLeaf(ism) {
179
+ const derived = await new EvmIsmReader(multiProvider, chain).deriveIsmConfig(ism.serialize().deployedIsm);
180
+ const [leaf] = collectHybridIsmNodes(derived);
181
+ assert(leaf && 'address' in leaf && typeof leaf.address === 'string', 'expected a deployed hybrid leaf');
182
+ return leaf.address;
183
+ }
184
+ describe('create', async () => {
185
+ it('deploys a simple ism', async () => {
186
+ const config = randomMultisigIsmConfig(3, 5);
187
+ await createIsm(config);
188
+ });
189
+ it('deploys a trusted relayer ism', async () => {
190
+ const relayer = randomAddress();
191
+ const config = {
192
+ type: IsmType.TRUSTED_RELAYER,
193
+ relayer,
194
+ };
195
+ await createIsm(config);
196
+ });
197
+ for (const type of [IsmType.ROUTING, IsmType.FALLBACK_ROUTING]) {
198
+ it(`deploys ${type} routingIsm with correct routes`, async () => {
199
+ exampleRoutingConfig.type = type;
200
+ await createIsm(exampleRoutingConfig);
201
+ });
202
+ }
203
+ it(`deploys ${IsmType.AMOUNT_ROUTING}`, async () => {
204
+ await createIsm({
205
+ type: IsmType.AMOUNT_ROUTING,
206
+ lowerIsm: randomMultisigIsmConfig(3, 5),
207
+ upperIsm: randomMultisigIsmConfig(3, 5),
208
+ threshold: 2,
209
+ });
210
+ });
211
+ it('deploys a rate limited ism and transfers ownership to non-deployer', async () => {
212
+ const recipient = randomAddress();
213
+ const owner = randomAddress();
214
+ const config = {
215
+ type: IsmType.RATE_LIMITED,
216
+ maxCapacity: '86400',
217
+ duration: 86400n,
218
+ recipient,
219
+ owner,
220
+ };
221
+ const { ism } = await createIsm(config);
222
+ const rateLimitedIsm = RateLimitedIsm__factory.connect(ism.serialize().deployedIsm, multiProvider.getProvider(chain));
223
+ expect((await rateLimitedIsm.owner()).toLowerCase()).to.equal(owner.toLowerCase());
224
+ });
225
+ it('deploys a blacklist submodule under an exhaustive aggregation and transfers ownership to non-deployer', async () => {
226
+ const owner = randomAddress();
227
+ const blacklistedIds = [randomBytes32(), randomBytes32()];
228
+ const blacklistSubmodule = {
229
+ type: IsmType.BLACKLIST,
230
+ owner,
231
+ blacklistedIds,
232
+ };
233
+ // threshold === modules.length: the blacklist sits in a mandatory
234
+ // (exhaustive-aggregation) position, so the composition invariant holds
235
+ const config = {
236
+ type: IsmType.AGGREGATION,
237
+ modules: [randomMultisigIsmConfig(3, 5), blacklistSubmodule],
238
+ threshold: 2,
239
+ };
240
+ const { ism } = await createIsm(config);
241
+ const provider = multiProvider.getProvider(chain);
242
+ const [moduleAddresses] = await StaticAggregationIsm__factory.connect(ism.serialize().deployedIsm, provider).modulesAndThreshold(hre.ethers.constants.AddressZero);
243
+ let blacklistFound = false;
244
+ for (const moduleAddress of moduleAddresses) {
245
+ const blacklistIsm = BlacklistIsm__factory.connect(moduleAddress, provider);
246
+ if ((await blacklistIsm.moduleType()) === ModuleType.NULL) {
247
+ expect((await blacklistIsm.owner()).toLowerCase()).to.equal(owner.toLowerCase());
248
+ for (const id of blacklistedIds) {
249
+ expect(await blacklistIsm.blacklistedIds(id)).to.be.true;
250
+ }
251
+ blacklistFound = true;
252
+ }
253
+ }
254
+ expect(blacklistFound).to.be.true;
255
+ });
256
+ it('rejects create of a standalone blacklist ism', async () => {
257
+ // seed a valid deployed ISM so the afterEach invariant reads a real config
258
+ await createIsm(randomMultisigIsmConfig(3, 5));
259
+ const config = {
260
+ type: IsmType.BLACKLIST,
261
+ owner: randomAddress(),
262
+ blacklistedIds: [randomBytes32()],
263
+ };
264
+ await expect(EvmIsmModule.create({
265
+ chain,
266
+ config,
267
+ proxyFactoryFactories: factoryAddresses,
268
+ mailbox: mailboxAddress,
269
+ multiProvider,
270
+ })).to.be.rejectedWith(BLACKLIST_COMPOSITION_ERROR);
271
+ });
272
+ it('deploys a mailbox default ism', async () => {
273
+ const config = {
274
+ type: IsmType.MAILBOX_DEFAULT,
275
+ };
276
+ await createIsm(config);
277
+ });
278
+ it('deploys a net flow rate limited hook ism and transfers ownership to non-deployer', async () => {
279
+ const owner = randomAddress();
280
+ const config = {
281
+ type: IsmType.NET_FLOW_RATE_LIMITED,
282
+ warpRouter: warpRouterAddress,
283
+ thresholdBps: 500,
284
+ duration: 86400n,
285
+ owner,
286
+ };
287
+ const { ism } = await createIsm(hybridAgg(config));
288
+ const netFlowIsm = NetFlowRateLimitedHookIsm__factory.connect(await hybridLeaf(ism), multiProvider.getProvider(chain));
289
+ expect((await netFlowIsm.owner()).toLowerCase()).to.equal(owner.toLowerCase());
290
+ expect((await netFlowIsm.warpRouter()).toLowerCase()).to.equal(warpRouterAddress.toLowerCase());
291
+ });
292
+ it('deploys a delayed flow router hook ism, enrolling routers before transferring ownership', async () => {
293
+ // owner is a non-deployer EOA: the deploy only succeeds if the
294
+ // owner-gated enrollment happens BEFORE the ownership transfer
295
+ const owner = randomAddress();
296
+ const remoteRouter = addressToBytes32(randomAddress()).toLowerCase();
297
+ const config = {
298
+ type: IsmType.DELAYED_FLOW_ROUTER,
299
+ warpRouter: warpRouterAddress,
300
+ thresholdBps: 10000,
301
+ maxDelay: 3600,
302
+ duration: 86400n,
303
+ owner,
304
+ remoteIsms: { [TestChainName.test2]: remoteRouter },
305
+ };
306
+ const { ism } = await createIsm(hybridAgg(config));
307
+ const delayedIsm = DelayedFlowRouterHookIsm__factory.connect(await hybridLeaf(ism), multiProvider.getProvider(chain));
308
+ expect(await delayedIsm.routers(multiProvider.getDomainId(TestChainName.test2))).to.equal(remoteRouter);
309
+ expect((await delayedIsm.owner()).toLowerCase()).to.equal(owner.toLowerCase());
310
+ });
311
+ for (let i = 0; i < 16; i++) {
312
+ it(`deploys a random ism config #${i}`, async () => {
313
+ const config = randomIsmConfig();
314
+ await createIsm(config);
315
+ });
316
+ }
317
+ it('deploys a rate limited ism via randomIsmConfig', async () => {
318
+ const config = randomIsmConfig(undefined, undefined, IsmType.RATE_LIMITED);
319
+ await createIsm(config);
320
+ });
321
+ });
322
+ describe('update', async () => {
323
+ it('applies a pausable state change when the signer is the owner', async () => {
324
+ const config = {
325
+ type: IsmType.PAUSABLE,
326
+ owner: await multiProvider.getSignerAddress(chain),
327
+ paused: false,
328
+ };
329
+ const { ism, initialIsmAddress } = await createIsm(config);
330
+ const pausable = PausableIsm__factory.connect(initialIsmAddress, multiProvider.getProvider(chain));
331
+ const target = { ...config, paused: true };
332
+ const txs = await ism.update(target);
333
+ testConfig = target;
334
+ expect(txs).to.be.empty;
335
+ expect(await pausable.paused()).to.be.true;
336
+ });
337
+ it('returns a pausable state change when the signer is not the owner', async () => {
338
+ const owner = randomAddress();
339
+ const config = {
340
+ type: IsmType.PAUSABLE,
341
+ owner,
342
+ paused: false,
343
+ };
344
+ const { ism, initialIsmAddress } = await createIsm(config);
345
+ const pausable = PausableIsm__factory.connect(initialIsmAddress, multiProvider.getProvider(chain));
346
+ const target = { ...config, paused: true };
347
+ const txs = await ism.update(target);
348
+ expect(txs).to.have.length(1);
349
+ expect(txs[0].to).to.equal(initialIsmAddress);
350
+ expect(txs[0].data).to.equal(PausableIsm__factory.createInterface().encodeFunctionData('pause'));
351
+ expect(await pausable.paused()).to.be.false;
352
+ const ownerMultiProvider = await impersonateAccount(owner);
353
+ await ownerMultiProvider.sendTransaction(chain, txs[0]);
354
+ testConfig = target;
355
+ expect(await pausable.paused()).to.be.true;
356
+ });
357
+ for (const type of [IsmType.ROUTING, IsmType.FALLBACK_ROUTING]) {
358
+ beforeEach(() => {
359
+ exampleRoutingConfig.type = type;
360
+ });
361
+ it(`should skip deployment with warning if no chain metadata configured ${type}`, async () => {
362
+ // create a new ISM
363
+ const { ism } = await createIsm(exampleRoutingConfig);
364
+ // create an updated config with a domain the multiprovider doesn't have
365
+ const updatedRoutingConfig = {
366
+ ...exampleRoutingConfig,
367
+ domains: {
368
+ ...exampleRoutingConfig.domains,
369
+ test5: randomMultisigIsmConfig(3, 5),
370
+ },
371
+ };
372
+ // expect 0 txs, as adding test5 domain is no-op
373
+ await expectTxsAndUpdate(ism, updatedRoutingConfig, 0);
374
+ });
375
+ it(`update route in an existing ${type}`, async () => {
376
+ // create a new ISM
377
+ const { ism, initialIsmAddress } = await createIsm(exampleRoutingConfig);
378
+ // changing the type of a domain should enroll the domain
379
+ exampleRoutingConfig.domains[TestChainName.test2].type = IsmType.MESSAGE_ID_MULTISIG;
380
+ // expect 1 tx to enroll test2 domain
381
+ await expectTxsAndUpdate(ism, exampleRoutingConfig, 1);
382
+ // check that the ISM address is the same
383
+ expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
384
+ .true;
385
+ });
386
+ it(`deletes route in an existing ${type}`, async () => {
387
+ // create a new ISM
388
+ const { ism, initialIsmAddress } = await createIsm(exampleRoutingConfig);
389
+ // deleting the domain should unenroll the domain
390
+ delete exampleRoutingConfig.domains[TestChainName.test3];
391
+ // expect 1 tx to unenroll test3 domain
392
+ await expectTxsAndUpdate(ism, exampleRoutingConfig, 1);
393
+ // expect the ISM address to be the same
394
+ expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
395
+ .true;
396
+ });
397
+ it(`deletes route in an existing ${type} even if not in multiprovider`, async () => {
398
+ // create a new ISM
399
+ const { ism } = await createIsm(exampleRoutingConfig);
400
+ // keep track of the domains before deleting
401
+ const numDomainsBefore = Object.keys((await ism.read()).domains).length;
402
+ // deleting the domain and removing from multiprovider should unenroll the domain
403
+ delete exampleRoutingConfig.domains[TestChainName.test3];
404
+ multiProvider = multiProvider.intersect(
405
+ // remove test3 from multiprovider
406
+ testChains.filter((c) => c !== TestChainName.test3)).result;
407
+ // expect 1 tx to unenroll test3 domain
408
+ await expectTxsAndUpdate(ism, exampleRoutingConfig, 1);
409
+ // domains should have decreased by 1
410
+ const numDomainsAfter = Object.keys((await ism.read()).domains).length;
411
+ expect(numDomainsBefore - 1).to.equal(numDomainsAfter);
412
+ });
413
+ it(`updates owner in an existing ${type}`, async () => {
414
+ // create a new ISM
415
+ const { ism, initialIsmAddress } = await createIsm(exampleRoutingConfig);
416
+ // change the config owner
417
+ exampleRoutingConfig.owner = randomAddress();
418
+ // expect 1 tx to transfer ownership
419
+ await expectTxsAndUpdate(ism, exampleRoutingConfig, 1);
420
+ // expect the ISM address to be the same
421
+ expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
422
+ .true;
423
+ });
424
+ it(`no changes to an existing ${type} means no redeployment or updates`, async () => {
425
+ // create a new ISM
426
+ const { ism, initialIsmAddress } = await createIsm(exampleRoutingConfig);
427
+ // expect 0 updates
428
+ await expectTxsAndUpdate(ism, exampleRoutingConfig, 0);
429
+ // expect the ISM address to be the same
430
+ expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
431
+ .true;
432
+ });
433
+ it(`reordering validators in an existing ${type} should not trigger a redeployment`, async () => {
434
+ // create a new ISM
435
+ const routerConfig = {
436
+ type: IsmType.ROUTING,
437
+ owner: (await multiProvider.getSignerAddress(chain)).toLowerCase(),
438
+ domains: {
439
+ test1: {
440
+ type: IsmType.MERKLE_ROOT_MULTISIG,
441
+ validators: [
442
+ '0x5FbDB2315678afecb367f032d93F642f64180aa3',
443
+ '0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2',
444
+ '0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db',
445
+ ],
446
+ threshold: 2,
447
+ },
448
+ test2: {
449
+ type: IsmType.MERKLE_ROOT_MULTISIG,
450
+ validators: [
451
+ '0x5FbDB2315678afecb367f032d93F642f64180aa3',
452
+ '0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db',
453
+ '0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2',
454
+ ],
455
+ threshold: 2,
456
+ },
457
+ },
458
+ };
459
+ const { ism, initialIsmAddress } = await createIsm(routerConfig);
460
+ const updatedRouterConfig = {
461
+ type: IsmType.ROUTING,
462
+ owner: (await multiProvider.getSignerAddress(chain)).toLowerCase(),
463
+ domains: {
464
+ test1: {
465
+ type: IsmType.MERKLE_ROOT_MULTISIG,
466
+ validators: [
467
+ '0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2',
468
+ '0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db',
469
+ '0x5FbDB2315678afecb367f032d93F642f64180aa3',
470
+ ],
471
+ threshold: 2,
472
+ },
473
+ test2: {
474
+ type: IsmType.MERKLE_ROOT_MULTISIG,
475
+ validators: [
476
+ '0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db',
477
+ '0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2',
478
+ '0x5FbDB2315678afecb367f032d93F642f64180aa3',
479
+ ],
480
+ threshold: 2,
481
+ },
482
+ },
483
+ };
484
+ // expect 0 updates
485
+ await expectTxsAndUpdate(ism, updatedRouterConfig, 0);
486
+ // expect the ISM address to be the same
487
+ expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
488
+ .true;
489
+ });
490
+ it(`update owner in an existing ${type} not owned by deployer`, async () => {
491
+ // ISM owner is not the deployer
492
+ exampleRoutingConfig.owner = randomAddress();
493
+ const originalOwner = exampleRoutingConfig.owner;
494
+ // create a new ISM
495
+ const { ism, initialIsmAddress } = await createIsm(exampleRoutingConfig);
496
+ // update the config owner and impersonate the original owner
497
+ exampleRoutingConfig.owner = randomAddress();
498
+ multiProvider = await impersonateAccount(originalOwner);
499
+ // expect 1 tx to transfer ownership
500
+ await expectTxsAndUpdate(ism, exampleRoutingConfig, 1);
501
+ // expect the ISM address to be unchanged
502
+ expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
503
+ .true;
504
+ });
505
+ it(`update validators in an existing ${type}`, async () => {
506
+ // create a new ISM
507
+ const { ism, initialIsmAddress } = await createIsm(exampleRoutingConfig);
508
+ // update the validators for a domain
509
+ exampleRoutingConfig.domains[TestChainName.test2] = {
510
+ type: IsmType.MERKLE_ROOT_MULTISIG,
511
+ validators: [randomAddress(), randomAddress()],
512
+ threshold: 2,
513
+ };
514
+ // expect 1 tx to update validator set for test2 domain
515
+ await expectTxsAndUpdate(ism, exampleRoutingConfig, 1);
516
+ // expect the ISM address to be the same
517
+ expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
518
+ .true;
519
+ });
520
+ it(`update threshold in an existing ${type}`, async () => {
521
+ // create a new ISM
522
+ const { ism, initialIsmAddress } = await createIsm(exampleRoutingConfig);
523
+ // update the threshold for a domain
524
+ exampleRoutingConfig.domains[TestChainName.test2].threshold = 2;
525
+ // expect 1 tx to update threshold for test2 domain
526
+ await expectTxsAndUpdate(ism, exampleRoutingConfig, 1);
527
+ // expect the ISM address to be the same
528
+ expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
529
+ .true;
530
+ });
531
+ it(`update threshold in an existing ${type} with Module creating using constructor`, async () => {
532
+ // create an initial ISM
533
+ const { initialIsmAddress } = await createIsm(exampleRoutingConfig);
534
+ // update the threshold for a domain
535
+ exampleRoutingConfig.domains[TestChainName.test2].threshold = 2;
536
+ // create a new IsmModule using it's constructor. Set it's deployedIsm address to the initialIsmAddr
537
+ const ism = new EvmIsmModule(multiProvider, {
538
+ chain,
539
+ config: exampleRoutingConfig,
540
+ addresses: {
541
+ ...factoryAddresses,
542
+ mailbox: mailboxAddress,
543
+ deployedIsm: initialIsmAddress,
544
+ },
545
+ });
546
+ // expect 1 tx to update threshold for test2 domain
547
+ await expectTxsAndUpdate(ism, exampleRoutingConfig, 1);
548
+ // expect the ISM address to be the same
549
+ expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
550
+ .true;
551
+ });
552
+ }
553
+ it(`reordering modules in an existing staticAggregationIsm should not trigger a redeployment`, async () => {
554
+ // create a new ISM
555
+ const config = {
556
+ type: IsmType.AGGREGATION,
557
+ modules: [
558
+ {
559
+ type: IsmType.MERKLE_ROOT_MULTISIG,
560
+ validators: [
561
+ '0x5FbDB2315678afecb367f032d93F642f64180aa3',
562
+ '0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2',
563
+ '0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db',
564
+ ],
565
+ threshold: 2,
566
+ },
567
+ {
568
+ type: IsmType.ROUTING,
569
+ owner: (await multiProvider.getSignerAddress(chain)).toLowerCase(),
570
+ domains: {
571
+ test1: {
572
+ type: IsmType.MERKLE_ROOT_MULTISIG,
573
+ validators: [
574
+ '0x5FbDB2315678afecb367f032d93F642f64180aa3',
575
+ '0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2',
576
+ '0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db',
577
+ ],
578
+ threshold: 2,
579
+ },
580
+ test2: {
581
+ type: IsmType.MERKLE_ROOT_MULTISIG,
582
+ validators: [
583
+ '0x5FbDB2315678afecb367f032d93F642f64180aa3',
584
+ '0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db',
585
+ '0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2',
586
+ ],
587
+ threshold: 2,
588
+ },
589
+ },
590
+ },
591
+ ],
592
+ threshold: 2,
593
+ };
594
+ const { ism, initialIsmAddress } = await createIsm(config);
595
+ const updatedConfig = {
596
+ type: IsmType.AGGREGATION,
597
+ modules: [
598
+ {
599
+ type: IsmType.ROUTING,
600
+ owner: (await multiProvider.getSignerAddress(chain)).toLowerCase(),
601
+ domains: {
602
+ test2: {
603
+ type: IsmType.MERKLE_ROOT_MULTISIG,
604
+ validators: [
605
+ '0x5FbDB2315678afecb367f032d93F642f64180aa3',
606
+ '0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db',
607
+ '0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2',
608
+ ],
609
+ threshold: 2,
610
+ },
611
+ test1: {
612
+ type: IsmType.MERKLE_ROOT_MULTISIG,
613
+ validators: [
614
+ '0x5FbDB2315678afecb367f032d93F642f64180aa3',
615
+ '0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2',
616
+ '0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db',
617
+ ],
618
+ threshold: 2,
619
+ },
620
+ },
621
+ },
622
+ {
623
+ type: IsmType.MERKLE_ROOT_MULTISIG,
624
+ validators: [
625
+ '0x5FbDB2315678afecb367f032d93F642f64180aa3',
626
+ '0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2',
627
+ '0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db',
628
+ ],
629
+ threshold: 2,
630
+ },
631
+ ],
632
+ threshold: 2,
633
+ };
634
+ // expect 0 updates
635
+ await expectTxsAndUpdate(ism, updatedConfig, 0);
636
+ // expect the ISM address to be the same
637
+ expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
638
+ .true;
639
+ });
640
+ it('transfers ownership in-place on ownership change', async () => {
641
+ const recipient = randomAddress();
642
+ const signerAddress = await multiProvider.getSignerAddress(chain);
643
+ const rateLimitedConfig = {
644
+ type: IsmType.RATE_LIMITED,
645
+ maxCapacity: '86400',
646
+ duration: 86400n,
647
+ recipient,
648
+ owner: signerAddress,
649
+ };
650
+ const { ism, initialIsmAddress } = await createIsm(rateLimitedConfig);
651
+ const newOwner = randomAddress();
652
+ // mutate in-place so testConfig (same reference) stays in sync for afterEach
653
+ rateLimitedConfig.owner = newOwner;
654
+ // RATE_LIMITED is mutable — update() transfers ownership in-place (1 tx)
655
+ await expectTxsAndUpdate(ism, rateLimitedConfig, 1);
656
+ // same contract address — no redeploy
657
+ expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
658
+ .true;
659
+ const rateLimitedIsm = RateLimitedIsm__factory.connect(ism.serialize().deployedIsm, multiProvider.getProvider(chain));
660
+ expect((await rateLimitedIsm.owner()).toLowerCase()).to.equal(newOwner.toLowerCase());
661
+ });
662
+ it('redeploys a new ISM on duration change (immutable)', async () => {
663
+ const recipient = randomAddress();
664
+ const signerAddress = await multiProvider.getSignerAddress(chain);
665
+ const rateLimitedConfig = {
666
+ type: IsmType.RATE_LIMITED,
667
+ maxCapacity: '86400',
668
+ duration: 86400n,
669
+ recipient,
670
+ owner: signerAddress,
671
+ };
672
+ const { ism, initialIsmAddress } = await createIsm(rateLimitedConfig);
673
+ // duration is immutable on-chain; changing it must redeploy a fresh ISM.
674
+ // keep maxCapacity a multiple of the new duration (schema constraint).
675
+ rateLimitedConfig.duration = 3600n;
676
+ rateLimitedConfig.maxCapacity = '3600';
677
+ // update() redeploys internally and emits no txs
678
+ await expectTxsAndUpdate(ism, rateLimitedConfig, 0);
679
+ // different contract address — redeployed
680
+ expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
681
+ .false;
682
+ const rateLimitedIsm = RateLimitedIsm__factory.connect(ism.serialize().deployedIsm, multiProvider.getProvider(chain));
683
+ expect((await rateLimitedIsm.DURATION()).toString()).to.equal('3600');
684
+ });
685
+ it('redeploys the aggregation when a blacklisted ID is dropped under an exhaustive aggregation (append-only)', async () => {
686
+ const signerAddress = await multiProvider.getSignerAddress(chain);
687
+ const idToKeep = randomBytes32();
688
+ const idToDrop = randomBytes32();
689
+ const blacklistSubmodule = {
690
+ type: IsmType.BLACKLIST,
691
+ owner: signerAddress,
692
+ blacklistedIds: [idToKeep, idToDrop],
693
+ };
694
+ // threshold === modules.length: mandatory (exhaustive-aggregation) position
695
+ const config = {
696
+ type: IsmType.AGGREGATION,
697
+ modules: [randomMultisigIsmConfig(3, 5), blacklistSubmodule],
698
+ threshold: 2,
699
+ };
700
+ const { ism, initialIsmAddress } = await createIsm(config);
701
+ // entries are append-only on-chain; dropping one must redeploy a fresh ISM,
702
+ // which changes the submodule address and forces the container to redeploy
703
+ blacklistSubmodule.blacklistedIds = [idToKeep];
704
+ // update() redeploys internally and emits no txs
705
+ await expectTxsAndUpdate(ism, config, 0);
706
+ // different aggregation address — redeployed
707
+ expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
708
+ .false;
709
+ const provider = multiProvider.getProvider(chain);
710
+ const [moduleAddresses] = await StaticAggregationIsm__factory.connect(ism.serialize().deployedIsm, provider).modulesAndThreshold(hre.ethers.constants.AddressZero);
711
+ let blacklistFound = false;
712
+ for (const moduleAddress of moduleAddresses) {
713
+ const blacklistIsm = BlacklistIsm__factory.connect(moduleAddress, provider);
714
+ if ((await blacklistIsm.moduleType()) === ModuleType.NULL) {
715
+ expect(await blacklistIsm.blacklistedIds(idToKeep)).to.be.true;
716
+ expect(await blacklistIsm.blacklistedIds(idToDrop)).to.be.false;
717
+ blacklistFound = true;
718
+ }
719
+ }
720
+ expect(blacklistFound).to.be.true;
721
+ });
722
+ it('rejects update to a standalone blacklist ism', async () => {
723
+ const { ism } = await createIsm(randomMultisigIsmConfig(3, 5));
724
+ const standaloneBlacklist = {
725
+ type: IsmType.BLACKLIST,
726
+ owner: await multiProvider.getSignerAddress(chain),
727
+ blacklistedIds: [randomBytes32()],
728
+ };
729
+ await expect(ism.update(standaloneBlacklist)).to.be.rejectedWith(BLACKLIST_COMPOSITION_ERROR);
730
+ });
731
+ it('updates a blacklist submodule in-place under an exhaustive aggregation', async () => {
732
+ const signerAddress = await multiProvider.getSignerAddress(chain);
733
+ const existingIds = [randomBytes32()];
734
+ const blacklistSubmodule = {
735
+ type: IsmType.BLACKLIST,
736
+ owner: signerAddress,
737
+ blacklistedIds: [...existingIds],
738
+ };
739
+ // threshold === modules.length: the blacklist sits in a mandatory
740
+ // (exhaustive-aggregation) position, so the composition invariant holds
741
+ const config = {
742
+ type: IsmType.AGGREGATION,
743
+ modules: [randomMultisigIsmConfig(3, 5), blacklistSubmodule],
744
+ threshold: 2,
745
+ };
746
+ const { ism, initialIsmAddress } = await createIsm(config);
747
+ const newId = randomBytes32();
748
+ // mutate in-place so testConfig (same reference) stays in sync for afterEach
749
+ blacklistSubmodule.blacklistedIds = [...existingIds, newId];
750
+ // 1 tx blacklisting only the new ID on the submodule; aggregation stays put
751
+ await expectTxsAndUpdate(ism, config, 1);
752
+ // same aggregation address — container updated in place, no redeploy
753
+ expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
754
+ .true;
755
+ const provider = multiProvider.getProvider(chain);
756
+ const [moduleAddresses] = await StaticAggregationIsm__factory.connect(ism.serialize().deployedIsm, provider).modulesAndThreshold(hre.ethers.constants.AddressZero);
757
+ let blacklistFound = false;
758
+ for (const moduleAddress of moduleAddresses) {
759
+ const blacklistIsm = BlacklistIsm__factory.connect(moduleAddress, provider);
760
+ if ((await blacklistIsm.moduleType()) === ModuleType.NULL) {
761
+ expect(await blacklistIsm.blacklistedIds(newId)).to.be.true;
762
+ blacklistFound = true;
763
+ }
764
+ }
765
+ expect(blacklistFound).to.be.true;
766
+ });
767
+ describe('blacklist submodule that predates on-chain enumeration', () => {
768
+ beforeEach(() => {
769
+ legacyDeploymentBlocks.clear();
770
+ legacyDeploymentBlockStub = sinon
771
+ .stub(EvmEventLogsReader.prototype, 'getContractDeploymentBlockFromExplorer')
772
+ .callsFake(async (address) => {
773
+ const block = legacyDeploymentBlocks.get(address.toLowerCase());
774
+ assert(block !== undefined, `Missing deployment block for ${address}`);
775
+ return block;
776
+ });
777
+ // The test chain metadata declares an Etherscan explorer with a
778
+ // placeholder API key, which would send the log reader to the live
779
+ // Etherscan API before falling back to the RPC.
780
+ legacyExplorerMetadataStub = sinon
781
+ .stub(multiProvider, 'tryGetEvmExplorerMetadata')
782
+ .returns(null);
783
+ });
784
+ it('derives the submodule as a blacklist ISM with the ids replayed from logs', async () => {
785
+ const owner = await multiProvider.getSignerAddress(chain);
786
+ const firstId = randomBytes32();
787
+ const secondId = randomBytes32();
788
+ const { aggregationAddress, multisigConfig } = await deployLegacyBlacklistAggregation(owner, [firstId, secondId]);
789
+ const config = {
790
+ type: IsmType.AGGREGATION,
791
+ modules: [
792
+ multisigConfig,
793
+ {
794
+ type: IsmType.BLACKLIST,
795
+ owner,
796
+ blacklistedIds: [firstId, secondId],
797
+ },
798
+ ],
799
+ threshold: 2,
800
+ };
801
+ const ism = adoptIsm(moduleForAggregation(aggregationAddress, config), config);
802
+ const derived = await ism.read();
803
+ assert(typeof derived !== 'string' && derived.type === IsmType.AGGREGATION, 'expected the derived config to be an aggregation');
804
+ const blacklistModule = derived.modules.find((module) => typeof module !== 'string' && module.type === IsmType.BLACKLIST);
805
+ assert(blacklistModule !== undefined &&
806
+ typeof blacklistModule !== 'string' &&
807
+ blacklistModule.type === IsmType.BLACKLIST, 'expected a blacklist submodule in the derived config');
808
+ expect(blacklistModule.blacklistedIds).to.have.members([
809
+ firstId.toLowerCase(),
810
+ secondId.toLowerCase(),
811
+ ]);
812
+ });
813
+ it('applies no transactions when the submodule already matches', async () => {
814
+ const owner = await multiProvider.getSignerAddress(chain);
815
+ const blacklistedId = randomBytes32();
816
+ const { aggregationAddress, multisigConfig } = await deployLegacyBlacklistAggregation(owner, [blacklistedId]);
817
+ const config = {
818
+ type: IsmType.AGGREGATION,
819
+ modules: [
820
+ multisigConfig,
821
+ { type: IsmType.BLACKLIST, owner, blacklistedIds: [blacklistedId] },
822
+ ],
823
+ threshold: 2,
824
+ };
825
+ const ism = adoptIsm(moduleForAggregation(aggregationAddress, config), config);
826
+ await expectTxsAndUpdate(ism, config, 0);
827
+ expect(eqAddress(aggregationAddress, ism.serialize().deployedIsm)).to.be
828
+ .true;
829
+ });
830
+ it('redeploys instead of blacklisting in place when an id is added', async () => {
831
+ const owner = await multiProvider.getSignerAddress(chain);
832
+ const existingId = randomBytes32();
833
+ const newId = randomBytes32();
834
+ const { aggregationAddress, multisigConfig } = await deployLegacyBlacklistAggregation(owner, [existingId]);
835
+ const config = {
836
+ type: IsmType.AGGREGATION,
837
+ modules: [
838
+ multisigConfig,
839
+ {
840
+ type: IsmType.BLACKLIST,
841
+ owner,
842
+ blacklistedIds: [existingId, newId],
843
+ },
844
+ ],
845
+ threshold: 2,
846
+ };
847
+ const ism = adoptIsm(moduleForAggregation(aggregationAddress, config), config);
848
+ // update() redeploys internally and emits no txs
849
+ await expectTxsAndUpdate(ism, config, 0);
850
+ expect(eqAddress(aggregationAddress, ism.serialize().deployedIsm)).to.be
851
+ .false;
852
+ const provider = multiProvider.getProvider(chain);
853
+ const [moduleAddresses] = await StaticAggregationIsm__factory.connect(ism.serialize().deployedIsm, provider).modulesAndThreshold(hre.ethers.constants.AddressZero);
854
+ let blacklistFound = false;
855
+ for (const moduleAddress of moduleAddresses) {
856
+ const blacklistIsm = BlacklistIsm__factory.connect(moduleAddress, provider);
857
+ if ((await blacklistIsm.moduleType()) === ModuleType.NULL) {
858
+ // the replacement exposes on-chain enumeration and carries both ids
859
+ expect(await blacklistIsm.values()).to.have.members([
860
+ existingId,
861
+ newId,
862
+ ]);
863
+ blacklistFound = true;
864
+ }
865
+ }
866
+ expect(blacklistFound).to.be.true;
867
+ });
868
+ });
869
+ it('no changes to an existing mailbox default ism means no redeployment or updates', async () => {
870
+ const config = {
871
+ type: IsmType.MAILBOX_DEFAULT,
872
+ };
873
+ const { ism, initialIsmAddress } = await createIsm(config);
874
+ await expectTxsAndUpdate(ism, config, 0);
875
+ expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
876
+ .true;
877
+ });
878
+ it('redeploys a mailbox default ism that defers to a different mailbox', async () => {
879
+ const config = {
880
+ type: IsmType.MAILBOX_DEFAULT,
881
+ };
882
+ const { initialIsmAddress } = await createIsm(config);
883
+ // A DefaultIsm's mailbox is an immutable constructor arg the reader
884
+ // omits, so this module — pointed at the same instance but at a
885
+ // different mailbox — sees an identical `{ type }` config while the
886
+ // instance routes through the wrong mailbox's default ISM.
887
+ const otherMailbox = warpRouterAddress;
888
+ const reboundModule = new EvmIsmModule(multiProvider, {
889
+ chain,
890
+ config,
891
+ addresses: {
892
+ ...factoryAddresses,
893
+ mailbox: otherMailbox,
894
+ deployedIsm: initialIsmAddress,
895
+ },
896
+ });
897
+ // redeploys internally (MAILBOX_DEFAULT is immutable), emitting no txs
898
+ expect(await reboundModule.update(config)).to.deep.equal([]);
899
+ const redeployedIsm = reboundModule.serialize().deployedIsm;
900
+ expect(eqAddress(redeployedIsm, initialIsmAddress)).to.be.false;
901
+ expect(eqAddress(await DefaultIsm__factory.connect(redeployedIsm, multiProvider.getProvider(chain)).mailbox(), otherMailbox)).to.be.true;
902
+ });
903
+ it('redeploys when changing a mailbox default ism to another type', async () => {
904
+ const { ism, initialIsmAddress } = await createIsm({
905
+ type: IsmType.MAILBOX_DEFAULT,
906
+ });
907
+ const trustedRelayerConfig = {
908
+ type: IsmType.TRUSTED_RELAYER,
909
+ relayer: randomAddress(),
910
+ };
911
+ // keep testConfig in sync for the afterEach read-back assertion
912
+ testConfig = trustedRelayerConfig;
913
+ // update() redeploys internally and emits no txs
914
+ await expectTxsAndUpdate(ism, trustedRelayerConfig, 0);
915
+ expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
916
+ .false;
917
+ });
918
+ it('transfers netFlowRateLimitedHookIsm ownership in-place on owner change', async () => {
919
+ const signerAddress = await multiProvider.getSignerAddress(chain);
920
+ const netFlowConfig = {
921
+ type: IsmType.NET_FLOW_RATE_LIMITED,
922
+ warpRouter: warpRouterAddress,
923
+ thresholdBps: 500,
924
+ duration: 86400n,
925
+ owner: signerAddress,
926
+ };
927
+ const { ism, initialIsmAddress } = await createIsm(hybridAgg(netFlowConfig));
928
+ const newOwner = randomAddress();
929
+ // mutate in-place so testConfig (same reference) stays in sync for afterEach
930
+ netFlowConfig.owner = newOwner;
931
+ // NET_FLOW_RATE_LIMITED is mutable — update() transfers ownership in-place (1 tx)
932
+ await expectTxsAndUpdate(ism, hybridAgg(netFlowConfig), 1);
933
+ // same contract address — no redeploy
934
+ expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
935
+ .true;
936
+ const netFlowIsm = NetFlowRateLimitedHookIsm__factory.connect(await hybridLeaf(ism), multiProvider.getProvider(chain));
937
+ expect((await netFlowIsm.owner()).toLowerCase()).to.equal(newOwner.toLowerCase());
938
+ });
939
+ it('redeploys a new netFlowRateLimitedHookIsm on thresholdBps change (immutable)', async () => {
940
+ const signerAddress = await multiProvider.getSignerAddress(chain);
941
+ const netFlowConfig = {
942
+ type: IsmType.NET_FLOW_RATE_LIMITED,
943
+ warpRouter: warpRouterAddress,
944
+ thresholdBps: 500,
945
+ duration: 86400n,
946
+ owner: signerAddress,
947
+ };
948
+ const { ism, initialIsmAddress } = await createIsm(hybridAgg(netFlowConfig));
949
+ // thresholdBps is immutable on-chain; changing it must redeploy
950
+ netFlowConfig.thresholdBps = 750;
951
+ // update() redeploys internally and emits no txs
952
+ await expectTxsAndUpdate(ism, hybridAgg(netFlowConfig), 0);
953
+ // different contract address — redeployed
954
+ expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
955
+ .false;
956
+ const netFlowIsm = NetFlowRateLimitedHookIsm__factory.connect(await hybridLeaf(ism), multiProvider.getProvider(chain));
957
+ expect((await netFlowIsm.thresholdBps()).toString()).to.equal('750');
958
+ });
959
+ it('updates netFlowRateLimitedHookIsm owner in-place inside an aggregation ism without redeploying the container', async () => {
960
+ // the contract mandates composing NetFlowRateLimitedHookIsm under an
961
+ // authenticating ISM, so aggregation-wrapped is the primary shape
962
+ const signerAddress = await multiProvider.getSignerAddress(chain);
963
+ const netFlowConfig = {
964
+ type: IsmType.NET_FLOW_RATE_LIMITED,
965
+ warpRouter: warpRouterAddress,
966
+ thresholdBps: 500,
967
+ duration: 86400n,
968
+ owner: signerAddress,
969
+ };
970
+ const aggregationConfig = {
971
+ type: IsmType.AGGREGATION,
972
+ modules: [netFlowConfig, randomMultisigIsmConfig(3, 5)],
973
+ threshold: 2,
974
+ };
975
+ const { ism, initialIsmAddress } = await createIsm(aggregationConfig);
976
+ // mutate in-place so testConfig (same reference) stays in sync for afterEach
977
+ const newOwner = randomAddress();
978
+ netFlowConfig.owner = newOwner;
979
+ // owner is the netFlow's only mutable field: expect a single in-place
980
+ // transferOwnership tx, with the aggregation container untouched
981
+ await expectTxsAndUpdate(ism, aggregationConfig, 1);
982
+ expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
983
+ .true;
984
+ });
985
+ it('no changes to an existing delayedFlowRouterHookIsm means no redeployment or updates', async () => {
986
+ const signerAddress = await multiProvider.getSignerAddress(chain);
987
+ const delayedConfig = {
988
+ type: IsmType.DELAYED_FLOW_ROUTER,
989
+ warpRouter: warpRouterAddress,
990
+ thresholdBps: 10000,
991
+ maxDelay: 3600,
992
+ duration: 86400n,
993
+ owner: signerAddress,
994
+ remoteIsms: {
995
+ [TestChainName.test2]: addressToBytes32(randomAddress()).toLowerCase(),
996
+ },
997
+ };
998
+ const { ism, initialIsmAddress } = await createIsm(hybridAgg(delayedConfig));
999
+ await expectTxsAndUpdate(ism, hybridAgg(delayedConfig), 0);
1000
+ expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
1001
+ .true;
1002
+ });
1003
+ it('does not redeploy a delayedFlowRouterHookIsm when the target omits warpRouter', async () => {
1004
+ const signerAddress = await multiProvider.getSignerAddress(chain);
1005
+ const delayedConfig = {
1006
+ type: IsmType.DELAYED_FLOW_ROUTER,
1007
+ warpRouter: warpRouterAddress,
1008
+ thresholdBps: 10000,
1009
+ maxDelay: 3600,
1010
+ duration: 86400n,
1011
+ owner: signerAddress,
1012
+ remoteIsms: {},
1013
+ };
1014
+ const { ism, initialIsmAddress } = await createIsm(hybridAgg(delayedConfig));
1015
+ // warp-route-context configs omit warpRouter (implicitly the token);
1016
+ // the update must treat it as unchanged, not as an immutable-field change
1017
+ const targetWithoutWarpRouter = {
1018
+ type: IsmType.DELAYED_FLOW_ROUTER,
1019
+ thresholdBps: 10000,
1020
+ maxDelay: 3600,
1021
+ duration: 86400n,
1022
+ owner: signerAddress,
1023
+ remoteIsms: {},
1024
+ };
1025
+ await expectTxsAndUpdate(ism, hybridAgg(targetWithoutWarpRouter), 0);
1026
+ expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
1027
+ .true;
1028
+ });
1029
+ it('enrolls and unenrolls remote routers on an existing delayedFlowRouterHookIsm', async () => {
1030
+ const signerAddress = await multiProvider.getSignerAddress(chain);
1031
+ const test2Router = addressToBytes32(randomAddress()).toLowerCase();
1032
+ const test3Router = addressToBytes32(randomAddress()).toLowerCase();
1033
+ const delayedConfig = {
1034
+ type: IsmType.DELAYED_FLOW_ROUTER,
1035
+ warpRouter: warpRouterAddress,
1036
+ thresholdBps: 10000,
1037
+ maxDelay: 3600,
1038
+ duration: 86400n,
1039
+ owner: signerAddress,
1040
+ remoteIsms: { [TestChainName.test2]: test2Router },
1041
+ };
1042
+ const { ism, initialIsmAddress } = await createIsm(hybridAgg(delayedConfig));
1043
+ // replace test2 with test3: 1 enroll tx + 1 unenroll tx
1044
+ delayedConfig.remoteIsms = { [TestChainName.test3]: test3Router };
1045
+ await expectTxsAndUpdate(ism, hybridAgg(delayedConfig), 2);
1046
+ expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
1047
+ .true;
1048
+ const delayedIsm = DelayedFlowRouterHookIsm__factory.connect(await hybridLeaf(ism), multiProvider.getProvider(chain));
1049
+ const test3Domain = multiProvider.getDomainId(TestChainName.test3);
1050
+ expect(await delayedIsm.routers(test3Domain)).to.equal(test3Router);
1051
+ const enrolledDomains = await delayedIsm.domains();
1052
+ expect(enrolledDomains.map((domain) => Number(domain))).to.deep.equal([
1053
+ test3Domain,
1054
+ ]);
1055
+ });
1056
+ it('unenrolls a delayed flow domain missing from provider metadata', async () => {
1057
+ const signerAddress = await multiProvider.getSignerAddress(chain);
1058
+ const delayedConfig = {
1059
+ type: IsmType.DELAYED_FLOW_ROUTER,
1060
+ warpRouter: warpRouterAddress,
1061
+ thresholdBps: 10000,
1062
+ maxDelay: 3600,
1063
+ duration: 86400n,
1064
+ owner: signerAddress,
1065
+ remoteIsms: {},
1066
+ };
1067
+ const { ism } = await createIsm(hybridAgg(delayedConfig));
1068
+ const leafAddress = await hybridLeaf(ism);
1069
+ const delayedIsm = DelayedFlowRouterHookIsm__factory.connect(leafAddress, multiProvider.getSigner(chain));
1070
+ const unknownDomain = 987654;
1071
+ expect(multiProvider.tryGetChainName(unknownDomain)).to.be.null;
1072
+ await delayedIsm.enrollRemoteRouters([unknownDomain], [addressToBytes32(randomAddress())]);
1073
+ const leafModule = new EvmIsmModule(multiProvider, {
1074
+ chain,
1075
+ config: delayedConfig,
1076
+ addresses: {
1077
+ ...factoryAddresses,
1078
+ mailbox: mailboxAddress,
1079
+ deployedIsm: leafAddress,
1080
+ },
1081
+ });
1082
+ const txs = await leafModule.updateDeployedInstance(delayedConfig);
1083
+ expect(txs).to.have.length(1);
1084
+ for (const tx of txs) {
1085
+ await multiProvider.sendTransaction(chain, tx);
1086
+ }
1087
+ expect(await delayedIsm.domains()).to.deep.equal([]);
1088
+ });
1089
+ it('updateDeployedInstance reconciles the hybrid leaf but rejects a composed tree', async () => {
1090
+ const signerAddress = await multiProvider.getSignerAddress(chain);
1091
+ const delayedConfig = {
1092
+ type: IsmType.DELAYED_FLOW_ROUTER,
1093
+ warpRouter: warpRouterAddress,
1094
+ thresholdBps: 10000,
1095
+ maxDelay: 3600,
1096
+ duration: 86400n,
1097
+ owner: signerAddress,
1098
+ remoteIsms: {},
1099
+ };
1100
+ const { ism } = await createIsm(hybridAgg(delayedConfig));
1101
+ // Same module shape buildDelayedFlowEnrollmentTxs builds: pointed at the
1102
+ // deployed hybrid leaf, not at the aggregation above it.
1103
+ const leafModule = new EvmIsmModule(multiProvider, {
1104
+ chain,
1105
+ config: delayedConfig,
1106
+ addresses: {
1107
+ ...factoryAddresses,
1108
+ mailbox: mailboxAddress,
1109
+ deployedIsm: await hybridLeaf(ism),
1110
+ },
1111
+ });
1112
+ // The escape hatch skips the composition rules, so it must not accept a
1113
+ // config that composes anything.
1114
+ await expect(leafModule.updateDeployedInstance(hybridAgg(delayedConfig))).to.be.rejectedWith('composed');
1115
+ // ...while the leaf node it exists for still reconciles.
1116
+ delayedConfig.remoteIsms = {
1117
+ [TestChainName.test2]: addressToBytes32(randomAddress()).toLowerCase(),
1118
+ };
1119
+ const txs = await leafModule.updateDeployedInstance(delayedConfig);
1120
+ expect(txs.length).to.equal(1);
1121
+ for (const tx of txs) {
1122
+ await multiProvider.sendTransaction(chain, tx);
1123
+ }
1124
+ });
1125
+ it('transfers delayedFlowRouterHookIsm ownership after enrollment updates', async () => {
1126
+ const signerAddress = await multiProvider.getSignerAddress(chain);
1127
+ const delayedConfig = {
1128
+ type: IsmType.DELAYED_FLOW_ROUTER,
1129
+ warpRouter: warpRouterAddress,
1130
+ thresholdBps: 10000,
1131
+ maxDelay: 3600,
1132
+ duration: 86400n,
1133
+ owner: signerAddress,
1134
+ remoteIsms: {},
1135
+ };
1136
+ const { ism, initialIsmAddress } = await createIsm(hybridAgg(delayedConfig));
1137
+ // enroll a router AND hand over ownership in the same update: the txs
1138
+ // only execute successfully if enrollment (owner-gated) precedes the
1139
+ // ownership transfer
1140
+ const newOwner = randomAddress();
1141
+ delayedConfig.remoteIsms = {
1142
+ [TestChainName.test2]: addressToBytes32(randomAddress()).toLowerCase(),
1143
+ };
1144
+ delayedConfig.owner = newOwner;
1145
+ await expectTxsAndUpdate(ism, hybridAgg(delayedConfig), 2);
1146
+ expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
1147
+ .true;
1148
+ const delayedIsm = DelayedFlowRouterHookIsm__factory.connect(await hybridLeaf(ism), multiProvider.getProvider(chain));
1149
+ expect((await delayedIsm.owner()).toLowerCase()).to.equal(newOwner.toLowerCase());
1150
+ });
1151
+ it('redeploys a new delayedFlowRouterHookIsm on maxDelay change (immutable)', async () => {
1152
+ const signerAddress = await multiProvider.getSignerAddress(chain);
1153
+ const delayedConfig = {
1154
+ type: IsmType.DELAYED_FLOW_ROUTER,
1155
+ warpRouter: warpRouterAddress,
1156
+ thresholdBps: 10000,
1157
+ maxDelay: 3600,
1158
+ duration: 86400n,
1159
+ owner: signerAddress,
1160
+ remoteIsms: {},
1161
+ };
1162
+ const { ism, initialIsmAddress } = await createIsm(hybridAgg(delayedConfig));
1163
+ // maxDelay is immutable on-chain; changing it must redeploy
1164
+ delayedConfig.maxDelay = 7200;
1165
+ // update() redeploys internally and emits no txs
1166
+ await expectTxsAndUpdate(ism, hybridAgg(delayedConfig), 0);
1167
+ // different contract address — redeployed
1168
+ expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
1169
+ .false;
1170
+ const delayedIsm = DelayedFlowRouterHookIsm__factory.connect(await hybridLeaf(ism), multiProvider.getProvider(chain));
1171
+ expect(await delayedIsm.maxDelay()).to.equal(7200);
1172
+ });
1173
+ });
1174
+ describe('delayed flow router cross-chain enrollment', async () => {
1175
+ const remoteChain = TestChainName.test2;
1176
+ const manualChain = TestChainName.test3;
1177
+ function registryAddresses() {
1178
+ return { [chain]: { ...factoryAddresses, mailbox: mailboxAddress } };
1179
+ }
1180
+ async function enrollmentTxs(allTargets) {
1181
+ return buildDelayedFlowEnrollmentTxs({
1182
+ chain,
1183
+ multiProvider,
1184
+ registryAddresses: registryAddresses(),
1185
+ warpRouter: warpRouterAddress,
1186
+ target: allTargets[chain],
1187
+ allTargets,
1188
+ });
1189
+ }
1190
+ async function applyTxs(txs) {
1191
+ for (const tx of txs) {
1192
+ await multiProvider.sendTransaction(chain, tx);
1193
+ }
1194
+ }
1195
+ it('enrolls the pairing derived from the route and converges on re-run', async () => {
1196
+ const signerAddress = await multiProvider.getSignerAddress(chain);
1197
+ const delayedConfig = {
1198
+ type: IsmType.DELAYED_FLOW_ROUTER,
1199
+ warpRouter: warpRouterAddress,
1200
+ thresholdBps: 10000,
1201
+ maxDelay: 3600,
1202
+ duration: 86400n,
1203
+ owner: signerAddress,
1204
+ };
1205
+ const { ism } = await createIsm(hybridAgg(delayedConfig));
1206
+ const remoteIsmAddress = randomAddress();
1207
+ const allTargets = {
1208
+ [chain]: {
1209
+ ismAddress: await hybridLeaf(ism),
1210
+ userNode: delayedConfig,
1211
+ },
1212
+ [remoteChain]: {
1213
+ ismAddress: remoteIsmAddress,
1214
+ userNode: delayedConfig,
1215
+ },
1216
+ };
1217
+ const txs = await enrollmentTxs(allTargets);
1218
+ expect(txs.length).to.equal(1);
1219
+ await applyTxs(txs);
1220
+ expect((await enrollmentTxs(allTargets)).length).to.equal(0);
1221
+ const delayedIsm = DelayedFlowRouterHookIsm__factory.connect(await hybridLeaf(ism), multiProvider.getProvider(chain));
1222
+ expect(await delayedIsm.domains()).to.deep.equal([
1223
+ multiProvider.getDomainId(remoteChain),
1224
+ ]);
1225
+ // keep testConfig (same reference) in sync for the afterEach read-back
1226
+ delayedConfig.remoteIsms = {
1227
+ [remoteChain]: addressToBytes32(remoteIsmAddress).toLowerCase(),
1228
+ };
1229
+ });
1230
+ it('enrolls a configured external remoteIsms alongside the derived pairing and converges on re-run', async () => {
1231
+ const signerAddress = await multiProvider.getSignerAddress(chain);
1232
+ const delayedConfig = {
1233
+ type: IsmType.DELAYED_FLOW_ROUTER,
1234
+ warpRouter: warpRouterAddress,
1235
+ thresholdBps: 10000,
1236
+ maxDelay: 3600,
1237
+ duration: 86400n,
1238
+ owner: signerAddress,
1239
+ remoteIsms: {},
1240
+ };
1241
+ const { ism } = await createIsm(hybridAgg(delayedConfig));
1242
+ // An operator-authored pairing names a chain the route never derives.
1243
+ // It is retained alongside the route-managed counterpart.
1244
+ const manualRouter = addressToBytes32(randomAddress()).toLowerCase();
1245
+ delayedConfig.remoteIsms = { [manualChain]: manualRouter };
1246
+ const derivedRouterAddress = randomAddress();
1247
+ const derivedRouter = addressToBytes32(derivedRouterAddress).toLowerCase();
1248
+ const allTargets = {
1249
+ [chain]: {
1250
+ ismAddress: await hybridLeaf(ism),
1251
+ userNode: delayedConfig,
1252
+ },
1253
+ [remoteChain]: {
1254
+ ismAddress: derivedRouterAddress,
1255
+ userNode: delayedConfig,
1256
+ },
1257
+ };
1258
+ const txs = await enrollmentTxs(allTargets);
1259
+ expect(txs.length).to.equal(1);
1260
+ await applyTxs(txs);
1261
+ expect((await enrollmentTxs(allTargets)).length).to.equal(0);
1262
+ const delayedIsm = DelayedFlowRouterHookIsm__factory.connect(await hybridLeaf(ism), multiProvider.getProvider(chain));
1263
+ const manualDomain = multiProvider.getDomainId(manualChain);
1264
+ const derivedDomain = multiProvider.getDomainId(remoteChain);
1265
+ expect(await delayedIsm.domains()).to.have.members([
1266
+ manualDomain,
1267
+ derivedDomain,
1268
+ ]);
1269
+ expect(await delayedIsm.routers(manualDomain)).to.equal(manualRouter);
1270
+ expect(await delayedIsm.routers(derivedDomain)).to.equal(derivedRouter);
1271
+ // keep testConfig (same reference) in sync for the afterEach read-back
1272
+ delayedConfig.remoteIsms = {
1273
+ [manualChain]: manualRouter,
1274
+ [remoteChain]: derivedRouter,
1275
+ };
1276
+ });
1277
+ });
1278
+ });
1279
+ //# sourceMappingURL=EvmIsmModule.hardhat-test.js.map