@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,1280 @@
1
+ import { DelayedFlowRouterHookIsm__factory, MailboxClient__factory, Mailbox__factory, ProxyAdmin__factory, } from '@recoillink/core';
2
+ import { buildArtifact as coreBuildArtifact } from '@recoillink/core/buildArtifact.js';
3
+ import { createHookWriter, createWarpTokenWriter, validateIsmConfig, } from '@recoillink/deploy-sdk';
4
+ import { ProtocolType } from '@recoillink/provider-sdk';
5
+ import { ArtifactState } from '@recoillink/provider-sdk/artifact';
6
+ import { hookConfigToArtifact, } from '@recoillink/provider-sdk/hook';
7
+ import { DEFAULT_CROSS_COLLATERAL_FEE_ROUTER_KEY, TokenType as ProviderTokenType, warpConfigToArtifact, } from '@recoillink/provider-sdk/warp';
8
+ import { addressToBytes32, assert, eqAddress, isEVMLike, isNullish, isObjEmpty, isZeroishAddress, mapAllSettled, mustGet, objFilter, objKeys, objMap, promiseObjAll, rootLogger, } from '@recoillink/utils';
9
+ import { ExplorerLicenseType } from '../block-explorer/etherscan.js';
10
+ import { CCIPContractCache } from '../ccip/utils.js';
11
+ import { tokenFeeInputToFeeConfig } from '../fee/feeConfigMapping.js';
12
+ import { EvmHookModule } from '../hook/EvmHookModule.js';
13
+ import { hookTreeContainsRateLimited, mapHybridHookNodes, } from '../hook/utils.js';
14
+ import { EvmIsmModule } from '../ism/EvmIsmModule.js';
15
+ import { EvmIsmReader } from '../ism/EvmIsmReader.js';
16
+ import { HyperlaneIsmFactory } from '../ism/HyperlaneIsmFactory.js';
17
+ import { IsmType, } from '../ism/types.js';
18
+ import { altVmChainLookup } from '../metadata/ChainMetadataManager.js';
19
+ import { resolveRouterMapConfig, } from '../router/types.js';
20
+ import { EvmWarpModule } from '../token/EvmWarpModule.js';
21
+ import { deriveCctpDomains } from '../token/cctp.js';
22
+ import { MAX_GAS_OVERHEAD, TokenType, gasOverhead } from '../token/config.js';
23
+ import { hypERC20factories } from '../token/contracts.js';
24
+ import { HypERC20Deployer, HypERC721Deployer } from '../token/deploy.js';
25
+ import { assertTimelockConfigHasNoProxyAdminOwnerOverride, WarpRouteDeployConfigMailboxRequiredSchema, } from '../token/types.js';
26
+ import { throwIfNotMissingSelector } from '../utils/contract.js';
27
+ import { canonicalizeRemoteIsms, collectHybridIsmNodes, extractIsmAndHookFactoryAddresses, ismTreeContainsRateLimited, mapHybridIsmNodes, resolveDelayedFlowRemoteIsms, setRateLimitedIsmRecipient, } from '../utils/ism.js';
28
+ import { HyperlaneProxyFactoryDeployer } from './HyperlaneProxyFactoryDeployer.js';
29
+ import { hybridLeafDeployConfig, planWarpRouteHybrids, resolveHybridTrees, } from './warpHybridPlan.js';
30
+ import { ContractVerifier } from './verify/ContractVerifier.js';
31
+ const SUPPORTED_ALTVM_TOKEN_TYPES = new Set([
32
+ TokenType.synthetic,
33
+ TokenType.collateral,
34
+ TokenType.native,
35
+ TokenType.crossCollateral,
36
+ ]);
37
+ /**
38
+ * Builds a `FeeReadContext` directly from a warp deploy config, bypassing
39
+ * `validateWarpConfigForAltVM` + `warpConfigToArtifact` +
40
+ * `buildFeeReadContextFromWarpArtifactConfig`. The read flow only needs the
41
+ * per-domain router set, not the full `ProviderWarpConfig` conversion, so
42
+ * this works for any token type (including EVM-only `xerc20`,
43
+ * `fastCollateral`, etc.) that the AltVM validator would reject.
44
+ *
45
+ * Mirrors `buildFeeReadContextFromWarpArtifactConfig` (provider-sdk) — same
46
+ * `DEFAULT_CROSS_COLLATERAL_FEE_ROUTER_KEY` injection so CC default-router
47
+ * quotes remain visible to the reader.
48
+ */
49
+ export function buildFeeReadContextFromWarpDeployConfig(config, chainLookup) {
50
+ const knownRoutersPerDomain = {};
51
+ for (const [chainNameOrId, router] of Object.entries(config.remoteRouters ?? {})) {
52
+ const domain = chainLookup.getDomainId(chainNameOrId);
53
+ if (isNullish(domain))
54
+ continue;
55
+ const existing = knownRoutersPerDomain[domain] ?? new Set();
56
+ knownRoutersPerDomain[domain] = new Set([
57
+ ...existing,
58
+ addressToBytes32(router.address),
59
+ DEFAULT_CROSS_COLLATERAL_FEE_ROUTER_KEY,
60
+ ]);
61
+ }
62
+ if (config.type === TokenType.crossCollateral &&
63
+ config.crossCollateralRouters) {
64
+ for (const [chainNameOrId, routers] of Object.entries(config.crossCollateralRouters)) {
65
+ const domain = chainLookup.getDomainId(chainNameOrId);
66
+ if (isNullish(domain))
67
+ continue;
68
+ const existing = knownRoutersPerDomain[domain] ?? new Set();
69
+ knownRoutersPerDomain[domain] = new Set([
70
+ ...existing,
71
+ ...routers.map((r) => addressToBytes32(r)),
72
+ DEFAULT_CROSS_COLLATERAL_FEE_ROUTER_KEY,
73
+ ]);
74
+ }
75
+ }
76
+ return { knownRoutersPerDomain };
77
+ }
78
+ export function validateWarpConfigForAltVM(config, chain, protocol) {
79
+ if (!SUPPORTED_ALTVM_TOKEN_TYPES.has(config.type)) {
80
+ const supportedTypes = Array.from(SUPPORTED_ALTVM_TOKEN_TYPES).join(', ');
81
+ throw new Error(`Unsupported token type '${config.type}' for Alt-VM chain '${chain}'.\n` +
82
+ `Supported token types: ${supportedTypes}.`);
83
+ }
84
+ assert(!config.timelock, `Timelock config is not supported on Alt-VM chain '${chain}'.`);
85
+ if (config.interchainSecurityModule) {
86
+ validateIsmConfig(config.interchainSecurityModule, chain, 'warp config', protocol);
87
+ }
88
+ let scale;
89
+ if (typeof config.scale === 'number') {
90
+ scale = config.scale;
91
+ }
92
+ else if (!isNullish(config.scale)) {
93
+ assert(Number(config.scale.denominator) !== 0, 'scale denominator must be non-zero');
94
+ scale = Number(config.scale.numerator) / Number(config.scale.denominator);
95
+ }
96
+ const baseConfig = {
97
+ owner: config.owner,
98
+ mailbox: config.mailbox,
99
+ interchainSecurityModule: config.interchainSecurityModule,
100
+ hook: config.hook,
101
+ remoteRouters: config.remoteRouters,
102
+ destinationGas: config.destinationGas,
103
+ scale,
104
+ contractVersion: config.contractVersion,
105
+ fee: config.tokenFee
106
+ ? tokenFeeInputToFeeConfig(config.tokenFee)
107
+ : undefined,
108
+ };
109
+ switch (config.type) {
110
+ case TokenType.collateral: {
111
+ if (!config.token) {
112
+ throw new Error(`Collateral token config for chain '${chain}' must specify 'token' address`);
113
+ }
114
+ const result = {
115
+ ...baseConfig,
116
+ type: ProviderTokenType.collateral,
117
+ token: config.token,
118
+ };
119
+ return result;
120
+ }
121
+ case TokenType.synthetic: {
122
+ const result = {
123
+ ...baseConfig,
124
+ type: ProviderTokenType.synthetic,
125
+ name: config.name,
126
+ symbol: config.symbol,
127
+ decimals: config.decimals,
128
+ metadataUri: config.metadataUri,
129
+ token: config.token,
130
+ };
131
+ return result;
132
+ }
133
+ case TokenType.crossCollateral: {
134
+ if (!config.token) {
135
+ throw new Error(`Cross-collateral token config for chain '${chain}' must specify 'token' address`);
136
+ }
137
+ const result = {
138
+ ...baseConfig,
139
+ type: ProviderTokenType.crossCollateral,
140
+ token: config.token,
141
+ crossCollateralRouters: config.crossCollateralRouters,
142
+ };
143
+ return result;
144
+ }
145
+ case TokenType.native: {
146
+ const result = {
147
+ ...baseConfig,
148
+ type: ProviderTokenType.native,
149
+ };
150
+ return result;
151
+ }
152
+ default:
153
+ throw new Error(`Unhandled token type '${config.type}' for Alt-VM chain '${chain}'.`);
154
+ }
155
+ }
156
+ function assertWarpConfigTimelocksSupportedByProtocols({ multiProvider, warpDeployConfig, }) {
157
+ for (const [chain, config] of Object.entries(warpDeployConfig)) {
158
+ assertTimelockConfigHasNoProxyAdminOwnerOverride(config, chain);
159
+ const protocol = multiProvider.tryGetProtocol(chain);
160
+ assert(!config.timelock || (protocol && isEVMLike(protocol)), `Timelock config is not supported on Alt-VM chain '${chain}'.`);
161
+ }
162
+ }
163
+ // Subclass that injects rate-limited hook deployment between configureClients and
164
+ // transferOwnership so that setHook() is called while the deployer signer still owns the token.
165
+ class RateLimitedHookERC20Deployer extends HypERC20Deployer {
166
+ preTransferFn;
167
+ constructor(multiProvider, ismFactory, contractVerifier, preTransferFn) {
168
+ super(multiProvider, ismFactory, contractVerifier);
169
+ this.preTransferFn = preTransferFn;
170
+ }
171
+ async beforeTransferOwnership(contractsMap) {
172
+ await this.preTransferFn(objMap(contractsMap, (_, contracts) => getRouter(contracts).address));
173
+ }
174
+ }
175
+ /**
176
+ * Deploys a WHOLE warp route: its routers, plus the ISM and hook trees they
177
+ * install.
178
+ *
179
+ * Everything decidable from the config is decided before any gas is spent —
180
+ * the full `IsmConfigSchema`/`HookConfigSchema` refinement over both trees, the
181
+ * hybrid hook/ISM pairing (planWarpRouteHybrids), and the route-scoped
182
+ * delayed-flow invariants. The route-scoped ones read the config's chain set as
183
+ * "the route", so they belong to this entry point alone: shrinking the config
184
+ * does not narrow them, it enlarges what counts as outside the route. Use
185
+ * `executeWarpRouteExtensionDeploy` for the chains an extension adds.
186
+ */
187
+ export async function executeWarpDeploy(warpDeployConfig, multiProvider, altVmSigners, registryAddresses, apiKeys) {
188
+ assertWarpConfigTimelocksSupportedByProtocols({
189
+ multiProvider,
190
+ warpDeployConfig,
191
+ });
192
+ WarpRouteDeployConfigMailboxRequiredSchema.parse(warpDeployConfig);
193
+ const args = {
194
+ warpDeployConfig,
195
+ multiProvider,
196
+ altVmSigners,
197
+ registryAddresses,
198
+ apiKeys,
199
+ };
200
+ const hybridPlan = planWarpRouteHybrids({ multiProvider, warpDeployConfig });
201
+ assertDelayedFlowRouteCoverage({ multiProvider, warpDeployConfig });
202
+ await assertDelayedFlowMailboxNonces(multiProvider, warpDeployConfig);
203
+ return deployWarpRouteChains(args, hybridPlan);
204
+ }
205
+ /**
206
+ * Deploys the chains an extension adds to an EXISTING route.
207
+ *
208
+ * Same engine as `executeWarpDeploy`, minus the invariants that measure the
209
+ * route by the config's own chain set — the caller holds the full route config
210
+ * and has already checked those (runWarpRouteApply). Everything per chain still
211
+ * runs here, so an extension cannot deploy a chain whose composition can never
212
+ * work.
213
+ *
214
+ * A separate entry point rather than a flag: which validation applies is a
215
+ * property of what the caller is deploying, not something to infer from the
216
+ * shape of the config it happens to pass.
217
+ */
218
+ export async function executeWarpRouteExtensionDeploy(warpDeployConfig, multiProvider, altVmSigners, registryAddresses, apiKeys) {
219
+ assertWarpConfigTimelocksSupportedByProtocols({
220
+ multiProvider,
221
+ warpDeployConfig,
222
+ });
223
+ WarpRouteDeployConfigMailboxRequiredSchema.parse(warpDeployConfig);
224
+ const args = {
225
+ warpDeployConfig,
226
+ multiProvider,
227
+ altVmSigners,
228
+ registryAddresses,
229
+ apiKeys,
230
+ };
231
+ const hybridPlan = planWarpRouteHybrids({ multiProvider, warpDeployConfig });
232
+ assertDelayedFlowLegCoverage(warpDeployConfig);
233
+ await assertDelayedFlowMailboxNonces(multiProvider, warpDeployConfig);
234
+ return deployWarpRouteChains(args, hybridPlan);
235
+ }
236
+ /**
237
+ * The staged deploy engine shared by both entry points. Called only after the
238
+ * whole config has been parsed and validated, so nothing here re-decides
239
+ * whether the route is deployable — it just deploys it in an order that never
240
+ * leaves an unsafe route reachable:
241
+ *
242
+ * 1. routers are deployed BARE on every chain that installs a hybrid: the
243
+ * hybrid constructors read the live router's `token()` / `mailbox()`, so the
244
+ * router has to exist first, and it must not be usable in the meantime;
245
+ * 2. the hybrid leaf is deployed exactly once per chain and bound to that
246
+ * router;
247
+ * 3. DELAYED_FLOW_ROUTER counterparts are enrolled once every chain's instance
248
+ * address is known, while the deployer still owns the fresh instances;
249
+ * 4. the leaf address replaces the hybrid node in BOTH trees, and the remaining
250
+ * parents are deployed through the ordinary modules;
251
+ * 5. hooks are installed route-wide, then read back, and only then are the ISMs
252
+ * installed — a router whose hybrid ISM is live before its hook is one that
253
+ * rejects every delivery, because nothing sent the preverification.
254
+ *
255
+ * Router enrollment and ownership transfer happen after this returns
256
+ * (enrollCrossChainRouters), so no transfer can be dispatched through a
257
+ * half-wired router.
258
+ */
259
+ async function deployWarpRouteChains({ warpDeployConfig, multiProvider, altVmSigners, registryAddresses, apiKeys, }, hybridPlan) {
260
+ const contractVerifier = new ContractVerifier(multiProvider, apiKeys, coreBuildArtifact, ExplorerLicenseType.MIT);
261
+ const ismFactoryDeployer = new HyperlaneProxyFactoryDeployer(multiProvider, contractVerifier);
262
+ // RATE_LIMITED ISM trees are deployed after the router exists: the
263
+ // constructor takes the token as `recipient`. Unlike the hybrids they are
264
+ // only an ISM, so TokenDeployer wires them itself, before it hands ownership
265
+ // over.
266
+ const rateLimitedIsmSnapshot = {};
267
+ for (const [chain, config] of Object.entries(warpDeployConfig)) {
268
+ // Hybrid chains deploy the whole resolved parent tree in the staged pass;
269
+ // passing the same tree to TokenDeployer would deploy it a second time.
270
+ if (hybridPlan[chain])
271
+ continue;
272
+ if (typeof config.interchainSecurityModule !== 'object')
273
+ continue;
274
+ const ism = config.interchainSecurityModule;
275
+ if (!ismTreeContainsRateLimited(ism))
276
+ continue;
277
+ const protocol = multiProvider.getProtocol(chain);
278
+ assert(protocol === ProtocolType.Ethereum || protocol === ProtocolType.Tron, `${IsmType.RATE_LIMITED} is only supported on Ethereum and Tron chains, but chain ${chain} has protocol ${protocol}`);
279
+ rateLimitedIsmSnapshot[chain] = ism;
280
+ }
281
+ // Hooks containing RATE_LIMITED need the token router address as sender, so they are deferred
282
+ // until after token deployment. resolveWarpIsmAndHook populates this map (EVM/Tron only) and
283
+ // returns undefined for those hooks, causing them to be set later via setHook().
284
+ const rateLimitedHookSnapshots = {};
285
+ // For each chain in WarpRouteConfig, deploy each Ism Factory, if it's not in the registry
286
+ // Then return a modified config with the ism and/or hook address as a string.
287
+ // Chains that install a hybrid get NEITHER surface here: their router is
288
+ // deployed bare and wired in the staged pass below.
289
+ const modifiedConfig = await resolveWarpIsmAndHook(warpDeployConfig, multiProvider, altVmSigners, registryAddresses, ismFactoryDeployer, contractVerifier, rateLimitedHookSnapshots, hybridPlan);
290
+ // Initialize with unsupported chains so that they are enrolled
291
+ let deployedContracts = objMap(objFilter(warpDeployConfig, (_chain, config) => !!config.foreignDeployment), (chain, config) => {
292
+ assert(config.foreignDeployment, `Expected foreignDeployment field to be defined on ${chain} after filtering`);
293
+ return config.foreignDeployment;
294
+ });
295
+ // get unique list of protocols
296
+ const protocols = Array.from(new Set(Object.keys(modifiedConfig).map((chainName) => multiProvider.getProtocol(chainName))));
297
+ for (const protocol of protocols) {
298
+ const protocolSpecificConfig = objFilter(modifiedConfig, (chainName, config) => multiProvider.getProtocol(chainName) === protocol &&
299
+ !config.foreignDeployment);
300
+ if (isObjEmpty(protocolSpecificConfig)) {
301
+ continue;
302
+ }
303
+ switch (protocol) {
304
+ case ProtocolType.Tron:
305
+ case ProtocolType.Ethereum: {
306
+ const ismFactory = HyperlaneIsmFactory.fromAddressesMap(registryAddresses, multiProvider, undefined, contractVerifier);
307
+ assert(!warpDeployConfig.isNft || isObjEmpty(rateLimitedHookSnapshots), 'RATE_LIMITED hooks are not supported for NFT warp routes (HypERC721Deployer has no beforeTransferOwnership override)');
308
+ const deployer = warpDeployConfig.isNft
309
+ ? new HypERC721Deployer(multiProvider)
310
+ : isObjEmpty(rateLimitedHookSnapshots)
311
+ ? new HypERC20Deployer(multiProvider, ismFactory, contractVerifier) // TODO: replace with EvmERC20WarpModule
312
+ : new RateLimitedHookERC20Deployer(multiProvider, ismFactory, contractVerifier,
313
+ // Called BEFORE transferOwnership — deployer signer still owns the token here.
314
+ async (deployedTokens) => {
315
+ const chainSnapshots = objFilter(rateLimitedHookSnapshots, (chain, _v) => chain in deployedTokens);
316
+ if (isObjEmpty(chainSnapshots))
317
+ return;
318
+ // The deployed address is deliberately NOT written back into
319
+ // warpDeployConfig: the caller persists that object to the
320
+ // registry, which stores declarative config, not the runtime
321
+ // addresses of this run.
322
+ await deployAndWireRateLimitedHooks(chainSnapshots, deployedTokens, multiProvider, contractVerifier);
323
+ });
324
+ const chainSet = new Set(Object.keys(protocolSpecificConfig));
325
+ const deferredForBatch = objFilter(rateLimitedIsmSnapshot, (_chain, _ismConfig) => chainSet.has(_chain));
326
+ // Deploy as the deployer signer (intermediate owner), mirroring the
327
+ // AltVM branch below. Cross-chain router enrollment runs after deploy
328
+ // in enrollCrossChainRouters, submitted by the deployer key, and hands
329
+ // ownership to the configured owner. If deploy set the configured owner
330
+ // up front, the deployer could no longer sign those post-deploy
331
+ // enrollment txs. Only the top-level router owner is overridden; ISM and
332
+ // hook owners come from their own config sub-trees and are unaffected.
333
+ const intermediateOwnerConfig = await promiseObjAll(objMap(protocolSpecificConfig, async (chain, config) => ({
334
+ ...config,
335
+ // ALRBs have no post-deploy router enrollment. Preserve their
336
+ // configured owner here so TokenDeployer can deploy with the
337
+ // signer as the constructor owner and then perform the final
338
+ // ownership transfer before returning.
339
+ owner: config.type === TokenType.atomicLocalRebalancing
340
+ ? config.owner
341
+ : await multiProvider.getSigner(chain).getAddress(),
342
+ })));
343
+ const deferRouterEnrollment = Object.keys(protocolSpecificConfig).some((chain) => chain in hybridPlan);
344
+ const evmContracts = warpDeployConfig.isNft
345
+ ? await deployer.deploy(intermediateOwnerConfig)
346
+ : await deployer.deploy(intermediateOwnerConfig, deferredForBatch, {
347
+ deferRouterEnrollment,
348
+ });
349
+ deployedContracts = {
350
+ ...deployedContracts,
351
+ ...objMap(evmContracts, (_, contracts) => getRouter(contracts).address),
352
+ };
353
+ break;
354
+ }
355
+ default: {
356
+ const chainLookup = altVmChainLookup(multiProvider);
357
+ const deployResults = {};
358
+ for (const chain of objKeys(protocolSpecificConfig)) {
359
+ const config = mustGet(protocolSpecificConfig, chain);
360
+ const signer = mustGet(altVmSigners, chain);
361
+ const chainMetadata = chainLookup.getChainMetadata(chain);
362
+ const writer = createWarpTokenWriter(chainMetadata, chainLookup, signer);
363
+ // Deploy as the signer (intermediate owner), mirroring the EVM
364
+ // deployer (see TokenDeployer.deploy). Cross-chain router enrollment
365
+ // runs after deploy in enrollCrossChainRouters, submitted by the
366
+ // deployer key; it also hands ownership to the configured owner. If
367
+ // create() set the configured owner up front, the deployer could no
368
+ // longer sign those post-deploy enrollment txs.
369
+ const intermediateOwnerConfig = {
370
+ ...config,
371
+ owner: signer.getSignerAddress(),
372
+ };
373
+ const artifact = warpConfigToArtifact(validateWarpConfigForAltVM(intermediateOwnerConfig, chain, chainMetadata.protocol), chainLookup);
374
+ const [deployed] = await writer.create(artifact);
375
+ deployResults[chain] = deployed.deployed.address;
376
+ }
377
+ deployedContracts = {
378
+ ...deployedContracts,
379
+ ...deployResults,
380
+ };
381
+ break;
382
+ }
383
+ }
384
+ }
385
+ await wireHybridHookIsms({
386
+ hybridPlan,
387
+ multiProvider,
388
+ registryAddresses,
389
+ contractVerifier,
390
+ warpDeployConfig,
391
+ deployedContracts,
392
+ });
393
+ return deployedContracts;
394
+ }
395
+ /**
396
+ * Stages 2 to 5 of the deploy: turn bare routers into fully wired hybrid legs.
397
+ *
398
+ * Split out of the protocol loop above because every stage is a route-wide
399
+ * barrier — stage N must have completed on EVERY chain before stage N+1 starts
400
+ * on ANY of them. Enrollment needs all instance addresses; the hook install
401
+ * needs every counterpart enrolled; the ISM install needs every hook live.
402
+ */
403
+ async function wireHybridHookIsms({ hybridPlan, multiProvider, registryAddresses, contractVerifier, warpDeployConfig, deployedContracts, }) {
404
+ if (isObjEmpty(hybridPlan))
405
+ return;
406
+ const ismFactory = HyperlaneIsmFactory.fromAddressesMap(registryAddresses, multiProvider, undefined, contractVerifier);
407
+ // Stage 2 — one instance per chain, bound to the router deployed above.
408
+ // deployInternal rather than deploy: the leaf on its own is exactly the shape
409
+ // IsmConfigSchema rejects (a hybrid outside its mandatory aggregation), and
410
+ // the composition it would re-check was already validated over the whole tree
411
+ // by planWarpRouteHybrids.
412
+ const hybridAddresses = await promiseObjAll(objMap(hybridPlan, async (chain, entry) => {
413
+ const router = mustGet(deployedContracts, chain);
414
+ const chainAddresses = mustGet(registryAddresses, chain);
415
+ const leaf = hybridLeafDeployConfig({
416
+ entry,
417
+ warpRouter: router,
418
+ deployerAddress: await multiProvider.getSigner(chain).getAddress(),
419
+ });
420
+ rootLogger.info(`Deploying ${leaf.type} on ${chain} for router ${router}`);
421
+ const deployed = await ismFactory.deployInternal({
422
+ destination: chain,
423
+ config: leaf,
424
+ mailbox: chainAddresses.mailbox,
425
+ });
426
+ return deployed.address;
427
+ }));
428
+ // Stage 3 — pair the DELAYED_FLOW_ROUTER instances with each other while the
429
+ // deployer still owns them. Ownership moves to the configured owner in the
430
+ // route's final pass (enrollCrossChainRouters), which is also what re-runs
431
+ // this reconciliation for a route that was only partly enrolled.
432
+ await enrollDelayedFlowInstances({
433
+ hybridPlan,
434
+ multiProvider,
435
+ hybridAddresses,
436
+ });
437
+ // Stage 4 — substitute the shared address into both trees and deploy whatever
438
+ // parents remain through the ordinary modules.
439
+ const wiring = await promiseObjAll(objMap(hybridPlan, async (chain, entry) => {
440
+ const hybrid = mustGet(hybridAddresses, chain);
441
+ const router = mustGet(deployedContracts, chain);
442
+ const chainAddresses = mustGet(registryAddresses, chain);
443
+ const resolved = resolveHybridTrees(entry, hybrid);
444
+ const resolvedIsm = setRateLimitedIsmRecipient(resolved.ism, router, mustGet(warpDeployConfig, chain).owner);
445
+ const ccipContractCache = new CCIPContractCache(registryAddresses);
446
+ const proxyFactoryFactories = extractIsmAndHookFactoryAddresses(chainAddresses);
447
+ const ism = typeof resolvedIsm === 'string'
448
+ ? resolvedIsm
449
+ : await deployIsmTree({
450
+ chain,
451
+ multiProvider,
452
+ chainAddresses,
453
+ config: resolvedIsm,
454
+ ccipContractCache,
455
+ contractVerifier,
456
+ proxyFactoryFactories,
457
+ });
458
+ const hook = typeof resolved.hook === 'string'
459
+ ? resolved.hook
460
+ : await deployHookTree({
461
+ chain,
462
+ multiProvider,
463
+ chainAddresses,
464
+ config: resolved.hook,
465
+ ccipContractCache,
466
+ contractVerifier,
467
+ proxyFactoryFactories,
468
+ proxyAdminAddress: mustGet(warpDeployConfig, chain).proxyAdmin
469
+ ?.address,
470
+ });
471
+ return { router, hybrid, ism, hook };
472
+ }));
473
+ // Stage 5 — hooks route-wide, barrier, then ISMs route-wide.
474
+ await installHybridSurfaces({ multiProvider, wiring });
475
+ }
476
+ async function deployIsmTree({ chain, multiProvider, chainAddresses, config, ccipContractCache, contractVerifier, proxyFactoryFactories, }) {
477
+ const module = await EvmIsmModule.create({
478
+ chain,
479
+ mailbox: chainAddresses.mailbox,
480
+ multiProvider,
481
+ proxyFactoryFactories,
482
+ config,
483
+ ccipContractCache,
484
+ contractVerifier,
485
+ });
486
+ const { deployedIsm } = module.serialize();
487
+ assert(deployedIsm, `Failed to deploy the ISM tree on ${chain}`);
488
+ return deployedIsm;
489
+ }
490
+ async function deployHookTree({ chain, multiProvider, chainAddresses, config, ccipContractCache, contractVerifier, proxyFactoryFactories, proxyAdminAddress, }) {
491
+ const resolvedProxyAdmin = proxyAdminAddress ??
492
+ (await multiProvider.handleDeploy(chain, new ProxyAdmin__factory(), []))
493
+ .address;
494
+ const module = await EvmHookModule.create({
495
+ chain,
496
+ multiProvider,
497
+ coreAddresses: {
498
+ mailbox: chainAddresses.mailbox,
499
+ proxyAdmin: resolvedProxyAdmin,
500
+ },
501
+ config,
502
+ ccipContractCache,
503
+ contractVerifier,
504
+ proxyFactoryFactories,
505
+ });
506
+ const { deployedHook } = module.serialize();
507
+ assert(deployedHook, `Failed to deploy the hook tree on ${chain}`);
508
+ return deployedHook;
509
+ }
510
+ /**
511
+ * Enrolls every DELAYED_FLOW_ROUTER instance of the route with every other one.
512
+ *
513
+ * Runs once all instance addresses exist and while the deployer still owns them
514
+ * (`hybridLeafDeployConfig` keeps DFR ownership with the deployer for exactly
515
+ * this reason), so a fresh route needs no owner-gated batch. Route-derived
516
+ * peers override configured entries for the same chains; configured external
517
+ * peers remain available for unusual topologies.
518
+ */
519
+ async function enrollDelayedFlowInstances({ hybridPlan, multiProvider, hybridAddresses, }) {
520
+ const delayedChains = Object.keys(hybridPlan).filter((chain) => hybridPlan[chain].node.type === IsmType.DELAYED_FLOW_ROUTER);
521
+ if (delayedChains.length === 0)
522
+ return;
523
+ await Promise.all(delayedChains.map(async (chain) => {
524
+ const node = hybridPlan[chain].node;
525
+ assert(node.type === IsmType.DELAYED_FLOW_ROUTER, `Unreachable: ${chain} was filtered as a delayed-flow chain`);
526
+ const ismAddress = mustGet(hybridAddresses, chain);
527
+ const derived = Object.fromEntries(delayedChains
528
+ .filter((otherChain) => otherChain !== chain)
529
+ .map((otherChain) => [
530
+ otherChain,
531
+ addressToBytes32(mustGet(hybridAddresses, otherChain)),
532
+ ]));
533
+ const remoteIsms = resolveDelayedFlowRemoteIsms(node.remoteIsms, derived, `${IsmType.DELAYED_FLOW_ROUTER} ${ismAddress} on ${chain}`, multiProvider);
534
+ if (!remoteIsms || isObjEmpty(remoteIsms))
535
+ return;
536
+ const domains = [];
537
+ const routers = [];
538
+ for (const [remoteChain, router] of Object.entries(remoteIsms)) {
539
+ domains.push(multiProvider.getDomainId(remoteChain));
540
+ routers.push(router);
541
+ }
542
+ rootLogger.info(`Enrolling ${domains.length} counterpart(s) on ${IsmType.DELAYED_FLOW_ROUTER} ${ismAddress} (${chain})`);
543
+ const instance = DelayedFlowRouterHookIsm__factory.connect(ismAddress, multiProvider.getSigner(chain));
544
+ await multiProvider.handleTx(chain, instance.enrollRemoteRouters(domains, routers, multiProvider.getTransactionOverrides(chain)));
545
+ }));
546
+ }
547
+ /** Installs hooks route-wide before installing the corresponding ISMs. */
548
+ async function installHybridSurfaces({ multiProvider, wiring, }) {
549
+ await promiseObjAll(objMap(wiring, async (chain, { router, hook }) => {
550
+ rootLogger.info(`Installing hook ${hook} on router ${router} (${chain})`);
551
+ await multiProvider.sendTransaction(chain, {
552
+ to: router,
553
+ data: MailboxClient__factory.createInterface().encodeFunctionData('setHook', [hook]),
554
+ });
555
+ }));
556
+ await promiseObjAll(objMap(wiring, async (chain, { router, ism }) => {
557
+ rootLogger.info(`Installing ISM ${ism} on router ${router} (${chain})`);
558
+ await multiProvider.sendTransaction(chain, {
559
+ to: router,
560
+ data: MailboxClient__factory.createInterface().encodeFunctionData('setInterchainSecurityModule', [ism]),
561
+ });
562
+ }));
563
+ }
564
+ async function deployAndWireRateLimitedHooks(snapshots, deployedTokens, multiProvider, contractVerifier) {
565
+ return promiseObjAll(objMap(snapshots, async (chain, { hookConfig, chainAddresses, ccipContractCache, proxyAdminAddress }) => {
566
+ const tokenAddress = mustGet(deployedTokens, chain);
567
+ assert(chainAddresses, `No registry addresses for ${chain}`);
568
+ const resolvedProxyAdminAddress = proxyAdminAddress ??
569
+ (await multiProvider.handleDeploy(chain, new ProxyAdmin__factory(), [])).address;
570
+ const evmHookModule = await EvmHookModule.create({
571
+ chain,
572
+ multiProvider,
573
+ coreAddresses: {
574
+ mailbox: chainAddresses.mailbox,
575
+ proxyAdmin: resolvedProxyAdminAddress,
576
+ rateLimitedSender: tokenAddress,
577
+ },
578
+ config: hookConfig,
579
+ ccipContractCache,
580
+ proxyFactoryFactories: extractIsmAndHookFactoryAddresses(chainAddresses),
581
+ contractVerifier,
582
+ });
583
+ const { deployedHook } = evmHookModule.serialize();
584
+ assert(deployedHook, `Failed to get deployed hook address for ${chain}`);
585
+ rootLogger.info(`Wiring RateLimitedHook ${deployedHook} to token ${tokenAddress} on ${chain}`);
586
+ const txOverrides = multiProvider.getTransactionOverrides(chain);
587
+ const signer = multiProvider.getSigner(chain);
588
+ const token = MailboxClient__factory.connect(tokenAddress, signer);
589
+ await multiProvider.handleTx(chain, token.setHook(deployedHook, txOverrides));
590
+ return deployedHook;
591
+ }));
592
+ }
593
+ async function resolveWarpIsmAndHook(warpConfig, multiProvider, altVmSigners, registryAddresses, ismFactoryDeployer, contractVerifier, rateLimitedHookSnapshots, hybridPlan) {
594
+ return promiseObjAll(objMap(warpConfig, async (chain, config) => {
595
+ const ccipContractCache = new CCIPContractCache(registryAddresses);
596
+ const chainAddresses = registryAddresses[chain];
597
+ if (!chainAddresses) {
598
+ throw new Error(`Registry factory addresses not found for ${chain}.`);
599
+ }
600
+ // A chain whose composition includes a hybrid deploys its router BARE.
601
+ // Both surfaces reference one instance whose constructor reads the live
602
+ // router, so neither tree can be built yet — and leaving the router
603
+ // without an ISM or hook until both are ready is what keeps a
604
+ // half-wired route from being usable.
605
+ if (hybridPlan[chain]) {
606
+ rootLogger.info(`Deploying ${chain} router bare: its ${hybridPlan[chain].node.type} is wired after the router exists`);
607
+ return {
608
+ ...config,
609
+ interchainSecurityModule: undefined,
610
+ hook: undefined,
611
+ };
612
+ }
613
+ const protocol = multiProvider.getProtocol(chain);
614
+ const ism = protocol === ProtocolType.Ethereum || protocol === ProtocolType.Tron
615
+ ? await createWarpIsm({
616
+ ccipContractCache,
617
+ chain,
618
+ chainAddresses,
619
+ multiProvider,
620
+ contractVerifier,
621
+ warpConfig: config,
622
+ })
623
+ : config.interchainSecurityModule;
624
+ const hook = await createWarpHook({
625
+ ccipContractCache,
626
+ chain,
627
+ chainAddresses,
628
+ multiProvider,
629
+ altVmSigners,
630
+ contractVerifier,
631
+ ismFactoryDeployer,
632
+ warpConfig: config,
633
+ rateLimitedHookSnapshots,
634
+ });
635
+ // Spread instead of mutating config in place — the caller holds a reference
636
+ // to warpDeployConfig[chain] and uses it for registry persistence; mutating
637
+ // would wipe the RATE_LIMITED stanza from the persisted YAML.
638
+ return {
639
+ ...config,
640
+ interchainSecurityModule: ism,
641
+ hook,
642
+ };
643
+ }));
644
+ }
645
+ /**
646
+ * Deploys the Warp ISM for a given config
647
+ *
648
+ * @returns The deployed ism address
649
+ */
650
+ async function createWarpIsm({ ccipContractCache, chain, chainAddresses, multiProvider, contractVerifier, warpConfig, }) {
651
+ const { interchainSecurityModule } = warpConfig;
652
+ if (!interchainSecurityModule ||
653
+ typeof interchainSecurityModule === 'string') {
654
+ rootLogger.info(`Config Ism is ${!interchainSecurityModule ? 'empty' : interchainSecurityModule}, skipping deployment.`);
655
+ return interchainSecurityModule;
656
+ }
657
+ // A RATE_LIMITED ISM has a chicken-and-egg problem: its constructor requires
658
+ // the token address as `recipient`, but ISMs are deployed here — before the
659
+ // token exists. Skip any tree containing one; TokenDeployer.setRateLimitedIsms
660
+ // deploys it after the router and wires it with setInterchainSecurityModule()
661
+ // while the deployer still owns the router. (Hybrid hook/ISM trees never
662
+ // reach this function — resolveWarpIsmAndHook returns their chains bare.)
663
+ if (ismTreeContainsRateLimited(interchainSecurityModule)) {
664
+ rootLogger.info(`Skipping ISM deployment for ${chain} (contains a ${IsmType.RATE_LIMITED} ISM), will deploy after token.`);
665
+ return undefined;
666
+ }
667
+ rootLogger.info(`Loading registry factory addresses for ${chain}...`);
668
+ rootLogger.info(`Creating ${interchainSecurityModule.type} ISM for token on ${chain} chain...`);
669
+ rootLogger.info(`Finished creating ${interchainSecurityModule.type} ISM for token on ${chain} chain.`);
670
+ const protocol = multiProvider.getProtocol(chain);
671
+ assert(protocol === ProtocolType.Ethereum || protocol === ProtocolType.Tron, `Expected an Ethereum or Tron chain, got ${protocol} for ${chain}`);
672
+ const evmIsmModule = await EvmIsmModule.create({
673
+ chain,
674
+ mailbox: chainAddresses.mailbox,
675
+ multiProvider,
676
+ proxyFactoryFactories: extractIsmAndHookFactoryAddresses(chainAddresses),
677
+ config: interchainSecurityModule,
678
+ ccipContractCache,
679
+ contractVerifier,
680
+ });
681
+ const { deployedIsm } = evmIsmModule.serialize();
682
+ return deployedIsm;
683
+ }
684
+ async function createWarpHook({ ccipContractCache, chain, chainAddresses, multiProvider, altVmSigners, contractVerifier, warpConfig, rateLimitedHookSnapshots, }) {
685
+ const { hook } = warpConfig;
686
+ if (!hook || typeof hook === 'string') {
687
+ rootLogger.info(`Config Hook is ${!hook ? 'empty' : hook}, skipping deployment.`);
688
+ return hook;
689
+ }
690
+ // RATE_LIMITED hooks need the token router address as sender — defer until post-token deploy.
691
+ // Only EVM/Tron support EvmHookModule; foreignDeployment and non-EVM chains cannot wire the hook.
692
+ if (hookTreeContainsRateLimited(hook)) {
693
+ assert(!warpConfig.foreignDeployment, `RATE_LIMITED hook configured on ${chain} but it is a foreignDeployment — hook cannot be wired post-deploy`);
694
+ const protocol = multiProvider.getProtocol(chain);
695
+ assert(protocol === ProtocolType.Ethereum || protocol === ProtocolType.Tron, `RATE_LIMITED hook is only supported on EVM/Tron chains; ${chain} uses protocol ${protocol}`);
696
+ rootLogger.info(`RATE_LIMITED hook on ${chain} — deferring deployment until after token deployment`);
697
+ rateLimitedHookSnapshots[chain] = {
698
+ hookConfig: hook,
699
+ chainAddresses,
700
+ ccipContractCache,
701
+ proxyAdminAddress: warpConfig.proxyAdmin?.address,
702
+ };
703
+ return undefined;
704
+ }
705
+ rootLogger.info(`Loading registry factory addresses for ${chain}...`);
706
+ rootLogger.info(`Creating ${hook.type} Hook for token on ${chain} chain...`);
707
+ const protocolType = multiProvider.getProtocol(chain);
708
+ switch (protocolType) {
709
+ case ProtocolType.Tron:
710
+ case ProtocolType.Ethereum: {
711
+ rootLogger.info(`Loading registry factory addresses for ${chain}...`);
712
+ rootLogger.info(`Creating ${hook.type} Hook for token on ${chain} chain...`);
713
+ // If config.proxyadmin.address exists, then use that. otherwise deploy a new proxyAdmin
714
+ const proxyAdminAddress = warpConfig.proxyAdmin?.address ??
715
+ (await multiProvider.handleDeploy(chain, new ProxyAdmin__factory(), []))
716
+ .address;
717
+ const evmHookModule = await EvmHookModule.create({
718
+ chain,
719
+ multiProvider: multiProvider,
720
+ coreAddresses: {
721
+ mailbox: chainAddresses.mailbox,
722
+ proxyAdmin: proxyAdminAddress,
723
+ },
724
+ config: hook,
725
+ ccipContractCache,
726
+ contractVerifier,
727
+ proxyFactoryFactories: extractIsmAndHookFactoryAddresses(chainAddresses),
728
+ });
729
+ rootLogger.info(`Finished creating ${hook.type} Hook for token on ${chain} chain.`);
730
+ const { deployedHook } = evmHookModule.serialize();
731
+ return deployedHook;
732
+ }
733
+ default: {
734
+ const signer = mustGet(altVmSigners, chain);
735
+ const chainLookup = altVmChainLookup(multiProvider);
736
+ const metadata = multiProvider.getChainMetadata(chain);
737
+ // Deploy new hook using artifact writer with mailbox context
738
+ const writer = createHookWriter(metadata, chainLookup, signer, {
739
+ mailbox: chainAddresses.mailbox,
740
+ });
741
+ const artifact = hookConfigToArtifact(hook, chainLookup);
742
+ const [deployed] = await writer.create(artifact);
743
+ return deployed.deployed.address;
744
+ }
745
+ }
746
+ }
747
+ /**
748
+ * The DELAYED_FLOW_ROUTER nodes a chain's warp config installs.
749
+ *
750
+ * An ISM configured as a bare address cannot be inspected, so it reads as "no
751
+ * instance"; assertDelayedFlowLegCoverage turns that into an explicit error
752
+ * instead of a silent pass.
753
+ */
754
+ function delayedFlowIsmNodes(config) {
755
+ if (typeof config.interchainSecurityModule !== 'object')
756
+ return [];
757
+ return collectHybridIsmNodes(config.interchainSecurityModule).filter((node) => node.type === IsmType.DELAYED_FLOW_ROUTER);
758
+ }
759
+ /** True when a chain's warp config installs a DELAYED_FLOW_ROUTER instance. */
760
+ function configInstallsDelayedFlowIsm(config) {
761
+ return delayedFlowIsmNodes(config).length > 0;
762
+ }
763
+ /** The chains of a config whose ISM tree installs a DELAYED_FLOW_ROUTER. */
764
+ function delayedFlowChains(warpDeployConfig) {
765
+ return Object.keys(warpDeployConfig).filter((chain) => configInstallsDelayedFlowIsm(warpDeployConfig[chain]));
766
+ }
767
+ /** Domain id of every chain the route deploys, asserted resolvable. */
768
+ function resolveRouteDomains(multiProvider, warpDeployConfig) {
769
+ const routeDomains = new Map();
770
+ for (const chain of Object.keys(warpDeployConfig)) {
771
+ const domain = multiProvider.tryGetDomainId(chain);
772
+ assert(domain !== null, `No chain metadata for ${chain}, which this ${IsmType.DELAYED_FLOW_ROUTER} route deploys — add it to the registry`);
773
+ routeDomains.set(chain, domain);
774
+ }
775
+ return routeDomains;
776
+ }
777
+ /**
778
+ * The domains a chain's DELAYED_FLOW_ROUTER nodes enroll through `remoteIsms`.
779
+ *
780
+ * Resolved through the same canonicalization the deploy, update and check
781
+ * paths use (canonicalizeRemoteIsms), so this preflight accepts exactly the
782
+ * keys they accept: a key it cannot resolve, or two keys naming one chain,
783
+ * throw here — before any contract is deployed — instead of passing the
784
+ * preflight and failing mid-deploy.
785
+ */
786
+ function configuredRemoteIsmDomains(multiProvider, chain, config) {
787
+ const domains = new Set();
788
+ for (const node of delayedFlowIsmNodes(config)) {
789
+ const canonical = canonicalizeRemoteIsms(node.remoteIsms ?? {}, multiProvider, `${IsmType.DELAYED_FLOW_ROUTER} on ${chain}`);
790
+ for (const chainName of Object.keys(canonical)) {
791
+ domains.add(multiProvider.getDomainId(chainName));
792
+ }
793
+ }
794
+ return domains;
795
+ }
796
+ /**
797
+ * Rejects a `remoteRouters` entry naming a chain outside the deploy config
798
+ * unless the chain's DelayedFlowRouterHookIsm enrolls it through `remoteIsms`.
799
+ *
800
+ * `remoteRouters` legs are as connected as the deployed ones:
801
+ * `TimelockRouter.postDispatch` dispatches the preverification to the
802
+ * transfer's destination domain, and `Router._mustHaveRemoteRouter` reverts
803
+ * when the instance has no counterpart enrolled there. The automatic pairing
804
+ * only covers the chains of the deploy config (deriveDelayedFlowEnrollmentTargets),
805
+ * so an out-of-config leg strands transfers exactly like an uncovered one.
806
+ *
807
+ * `remoteIsms` is the escape hatch for pairings the route cannot derive. The
808
+ * route-derived peers are merged into it separately.
809
+ */
810
+ function assertDelayedFlowRemoteRouterCoverage(multiProvider, warpDeployConfig, routeDomains) {
811
+ const deployedDomains = new Set(routeDomains.values());
812
+ for (const [chain, config] of Object.entries(warpDeployConfig)) {
813
+ const enrolledDomains = configuredRemoteIsmDomains(multiProvider, chain, config);
814
+ for (const key of Object.keys(config.remoteRouters ?? {})) {
815
+ // Resolved through the registry for BOTH key forms (chain name and
816
+ // domain id): the only remedy this check can suggest for an unenrolled
817
+ // domain is listing it under 'remoteIsms', and canonicalizeRemoteIsms
818
+ // rejects a key it cannot resolve to a registered chain. Taking a
819
+ // numeric key at face value here would send the operator round in a
820
+ // circle between the two checks.
821
+ const domain = multiProvider.tryGetDomainId(key);
822
+ assert(domain !== null, `No chain metadata for ${key}, which ${chain} names in 'remoteRouters' — this route's ${IsmType.DELAYED_FLOW_ROUTER} legs are resolved through the registry, so add the chain to it or remove the entry`);
823
+ const remoteName = multiProvider.getChainName(domain);
824
+ assert(deployedDomains.has(domain) || enrolledDomains.has(domain), `${chain} names ${remoteName} (domain ${domain}) in 'remoteRouters', but that chain is not part of this route and ${chain}'s ${IsmType.DELAYED_FLOW_ROUTER} does not enroll it. Transfers to it dispatch a preverification through that instance, which reverts because no counterpart is enrolled for the domain. Add ${remoteName} to the route, drop it from 'remoteRouters', or list its ${IsmType.DELAYED_FLOW_ROUTER} instance under 'remoteIsms' on ${chain}.`);
825
+ }
826
+ }
827
+ }
828
+ /**
829
+ * Rejects a config that carries a DelayedFlowRouterHookIsm on only some of its
830
+ * legs, before any on-chain work happens.
831
+ *
832
+ * The instances are peers: `TimelockRouter.postDispatch` dispatches a
833
+ * preverification message to the transfer's destination domain, and
834
+ * `Router._mustHaveRemoteRouter` reverts when that domain has no counterpart
835
+ * enrolled. So a DFR origin paired with a plain destination reverts at
836
+ * quote/dispatch time, and a plain origin paired with a DFR destination never
837
+ * sends the preverification the destination waits for — the transfer is
838
+ * stranded either way. A foreignDeployment leg is rejected outright: its
839
+ * instance is outside this deployment's control, so it can never be enrolled.
840
+ *
841
+ * Safe on any subset of a route: dropping a chain drops it from both sides of
842
+ * every comparison here, so a topology accepted as a whole is still accepted
843
+ * chain by chain. The checks whose verdict depends on WHICH chains the config
844
+ * contains live in assertDelayedFlowRouteCoverage.
845
+ *
846
+ * Checked against the config rather than mid-apply on purpose: an extension
847
+ * applies chain by chain, so a mid-apply check would fire on a route that is
848
+ * merely part-deployed.
849
+ */
850
+ function assertDelayedFlowLegCoverage(warpDeployConfig) {
851
+ const chains = Object.keys(warpDeployConfig);
852
+ const covered = delayedFlowChains(warpDeployConfig);
853
+ if (covered.length === 0)
854
+ return;
855
+ const foreignDeployments = chains.filter((chain) => !!warpDeployConfig[chain].foreignDeployment);
856
+ assert(foreignDeployments.length === 0, `${IsmType.DELAYED_FLOW_ROUTER} is configured on ${covered.join(', ')}, but ${foreignDeployments.join(', ')} is a foreignDeployment whose instance cannot be deployed or enrolled by this route. Every leg of a delayed-flow route must be deployed by it.`);
857
+ const uncovered = chains.filter((chain) => !configInstallsDelayedFlowIsm(warpDeployConfig[chain]));
858
+ assert(uncovered.length === 0, `${IsmType.DELAYED_FLOW_ROUTER} is configured on ${covered.join(', ')} but not on ${uncovered.join(', ')}. Transfers between a delayed-flow leg and a plain leg revert on both sides, so every chain of the route must configure one (an ISM given as an address cannot be inspected — declare it inline).`);
859
+ }
860
+ /**
861
+ * Whole-route coverage: every leg carries an instance
862
+ * (assertDelayedFlowLegCoverage), and a `remoteRouters` entry naming a chain
863
+ * outside the route has to enroll that counterpart explicitly
864
+ * (assertDelayedFlowRemoteRouterCoverage).
865
+ *
866
+ * Correct only against the FULL route config. Shrinking the config enlarges
867
+ * what counts as outside the route, so running this on a subset — the single
868
+ * chain `warp apply` deploys per extension, say — rejects `remoteRouters`
869
+ * entries naming the very legs that chain is joining.
870
+ */
871
+ export function assertDelayedFlowRouteCoverage({ multiProvider, warpDeployConfig, }) {
872
+ assertDelayedFlowLegCoverage(warpDeployConfig);
873
+ if (delayedFlowChains(warpDeployConfig).length === 0)
874
+ return;
875
+ const routeDomains = resolveRouteDomains(multiProvider, warpDeployConfig);
876
+ assertDelayedFlowRemoteRouterCoverage(multiProvider, warpDeployConfig, routeDomains);
877
+ }
878
+ /**
879
+ * Rejects a delayed-flow leg whose mailbox has never dispatched a message.
880
+ *
881
+ * DelayedFlowRouterHookIsm initialises `lastCreditedNonce` to 0 and rejects
882
+ * `nonce <= lastCreditedNonce`, so a dispatch carrying mailbox nonce 0 can
883
+ * never be credited: the first transfer out of a brand-new mailbox reverts
884
+ * inside postDispatch and the route strands it. Deploying onto such a chain is
885
+ * rejected instead of producing a route whose first transfer is guaranteed to
886
+ * fail. Per chain, so it holds on any subset of a route.
887
+ */
888
+ async function assertDelayedFlowMailboxNonces(multiProvider, warpDeployConfig) {
889
+ const mailboxNonces = await Promise.all(delayedFlowChains(warpDeployConfig).map(async (chain) => {
890
+ const protocol = multiProvider.getProtocol(chain);
891
+ assert(protocol === ProtocolType.Ethereum || protocol === ProtocolType.Tron, `${IsmType.DELAYED_FLOW_ROUTER} is configured on ${chain}, whose protocol is ${protocol} — the contract only exists on Ethereum and Tron chains`);
892
+ const { mailbox } = warpDeployConfig[chain];
893
+ assert(mailbox, `Missing mailbox address for ${chain}`);
894
+ const nonce = await Mailbox__factory.connect(mailbox, multiProvider.getProvider(chain)).nonce();
895
+ return { chain, mailbox, nonce };
896
+ }));
897
+ for (const { chain, mailbox, nonce } of mailboxNonces) {
898
+ assert(nonce > 0, `Mailbox ${mailbox} on ${chain} has never dispatched a message, and ${IsmType.DELAYED_FLOW_ROUTER} cannot credit a dispatch carrying mailbox nonce 0 (its lastCreditedNonce starts at 0 and it rejects nonce <= lastCreditedNonce), so the route's first transfer out of ${chain} would revert. Dispatch any other message through that mailbox first.`);
899
+ }
900
+ }
901
+ /**
902
+ * The full delayed-flow preconditions for a whole route, checked before any
903
+ * on-chain work: assertDelayedFlowRouteCoverage — which adds the route-scoped
904
+ * external `remoteRouters` check to the leg coverage above — and the
905
+ * mailbox nonce guard.
906
+ *
907
+ * Call this with every chain of the route. The CLI entry points do
908
+ * (runWarpRouteDeploy, runWarpRouteApply); executeWarpDeploy cannot, because
909
+ * an extension reaches it one chain at a time.
910
+ */
911
+ export async function assertDelayedFlowRoutePreconditions({ multiProvider, warpDeployConfig, }) {
912
+ assertDelayedFlowRouteCoverage({ multiProvider, warpDeployConfig });
913
+ await assertDelayedFlowMailboxNonces(multiProvider, warpDeployConfig);
914
+ }
915
+ /**
916
+ * The hybrid hook/ISM instance nested inside an ISM tree deployed on chain, or
917
+ * undefined when the tree holds none.
918
+ *
919
+ * The ISM surface is where the instance is always reachable: the hook surface
920
+ * may install an aggregation the instance merely sits inside, whereas the ISM
921
+ * tree is what the schema constrains and what `EvmIsmReader` walks, and derived
922
+ * nodes carry their address.
923
+ */
924
+ async function readHybridIsmInTree(multiProvider, chain, ismTreeAddress) {
925
+ if (isZeroishAddress(ismTreeAddress))
926
+ return undefined;
927
+ const derived = await new EvmIsmReader(multiProvider, chain).deriveIsmConfig(ismTreeAddress);
928
+ const nodes = collectHybridIsmNodes(derived);
929
+ if (nodes.length === 0)
930
+ return undefined;
931
+ assert(nodes.length === 1, `Expected at most one hybrid hook/ISM instance in the ISM tree at ${ismTreeAddress} on ${chain}, found ${nodes.length}`);
932
+ const node = nodes[0];
933
+ assert('address' in node && typeof node.address === 'string', `Derived hybrid hook/ISM node on ${chain} is missing its address`);
934
+ return node.address;
935
+ }
936
+ /**
937
+ * Resolves the shared hybrid instance behind each chain's ISM tree.
938
+ *
939
+ * Callers pass whichever tree is authoritative for them: the address a run has
940
+ * just deployed but not yet installed, or the tree already on the router.
941
+ * Nothing here guesses between the two — a caller that knows both states knows
942
+ * which one it means.
943
+ */
944
+ export async function resolveHybridIsmAddresses(multiProvider, ismTreeAddresses) {
945
+ const resolved = {};
946
+ await Promise.all(Object.entries(ismTreeAddresses).map(async ([chain, treeAddress]) => {
947
+ const hybrid = await readHybridIsmInTree(multiProvider, chain, treeAddress);
948
+ if (hybrid)
949
+ resolved[chain] = hybrid;
950
+ }));
951
+ return resolved;
952
+ }
953
+ /**
954
+ * Resolves the hybrid instance installed on each router, by reading the ISM the
955
+ * router currently points at. Used by callers holding only routers, such as
956
+ * `warp apply` on chains it is not re-deploying.
957
+ */
958
+ export async function readInstalledHybridIsmAddresses(multiProvider, routers) {
959
+ const ismTrees = {};
960
+ await Promise.all(Object.entries(routers).map(async ([chain, router]) => {
961
+ const protocol = multiProvider.getProtocol(chain);
962
+ if (protocol !== ProtocolType.Ethereum &&
963
+ protocol !== ProtocolType.Tron) {
964
+ return;
965
+ }
966
+ ismTrees[chain] = await MailboxClient__factory.connect(router, multiProvider.getProvider(chain)).interchainSecurityModule();
967
+ }));
968
+ return resolveHybridIsmAddresses(multiProvider, ismTrees);
969
+ }
970
+ /**
971
+ * Pairs the route's DelayedFlowRouterHookIsm instances so each one's enrollment
972
+ * transactions can name every other one.
973
+ *
974
+ * `hybridIsmAddresses` is supplied by the caller (resolveHybridIsmAddresses /
975
+ * readInstalledHybridIsmAddresses) rather than re-derived here: which tree is
976
+ * authoritative differs per caller, and a chain whose instance the caller could
977
+ * not resolve is skipped rather than silently paired against a stale one. The
978
+ * config node is carried through as `userNode` so configured external
979
+ * `remoteIsms` are merged with the route-derived pairing.
980
+ */
981
+ export async function deriveDelayedFlowEnrollmentTargets(multiProvider,
982
+ // Mailbox-independent: the pairing is read from the instances themselves, so
983
+ // callers that only hold a registry deploy config can use it too.
984
+ warpDeployConfig, deployedContracts, hybridIsmAddresses) {
985
+ const resolvedHybridAddresses = hybridIsmAddresses ??
986
+ (await readInstalledHybridIsmAddresses(multiProvider, deployedContracts));
987
+ const targets = {};
988
+ for (const [chain, config] of Object.entries(warpDeployConfig)) {
989
+ if (config.foreignDeployment)
990
+ continue;
991
+ if (typeof config.interchainSecurityModule !== 'object')
992
+ continue;
993
+ const protocol = multiProvider.getProtocol(chain);
994
+ if (protocol !== ProtocolType.Ethereum && protocol !== ProtocolType.Tron) {
995
+ continue;
996
+ }
997
+ const delayedNodes = collectHybridIsmNodes(config.interchainSecurityModule).filter((node) => node.type === IsmType.DELAYED_FLOW_ROUTER);
998
+ if (delayedNodes.length === 0)
999
+ continue;
1000
+ assert(delayedNodes.length === 1, `Expected exactly one DELAYED_FLOW_ROUTER node in the ISM tree on ${chain}, found ${delayedNodes.length}`);
1001
+ const tokenAddress = deployedContracts[chain];
1002
+ assert(tokenAddress, `No deployed token found for ${chain}`);
1003
+ const provider = multiProvider.getProvider(chain);
1004
+ const ismAddress = resolvedHybridAddresses[chain];
1005
+ assert(ismAddress, `${chain} declares a ${IsmType.DELAYED_FLOW_ROUTER} but no instance was resolved for it — the instance must be deployed and reachable through the router's ISM tree before its remote counterparts can be enrolled`);
1006
+ const instance = DelayedFlowRouterHookIsm__factory.connect(ismAddress, provider);
1007
+ // maxDelay() is what identifies the contract: NetFlowRateLimitedHookIsm
1008
+ // exposes warpRouter() too, so probing that alone would return a NetFlow
1009
+ // instance as a DELAYED_FLOW_ROUTER enrollment target and pair the wrong
1010
+ // contract. Only DelayedFlowRouterHookIsm declares maxDelay (a uint48
1011
+ // immutable), the same discriminator EvmIsmReader and EvmHookReader use,
1012
+ // and it returns a value, so a contract missing the selector reverts
1013
+ // instead of decoding empty returndata as a match.
1014
+ //
1015
+ // The router's current hook is only a DelayedFlowRouterHookIsm once the
1016
+ // hybrid has been wired; on an older route it can be another hook or the
1017
+ // zero address, and these getters would then revert inside the provider
1018
+ // with a raw call exception instead of reaching the asserts below.
1019
+ let onChainMaxDelay;
1020
+ try {
1021
+ onChainMaxDelay = await instance.maxDelay();
1022
+ }
1023
+ catch (error) {
1024
+ throwIfNotMissingSelector(error);
1025
+ }
1026
+ assert(onChainMaxDelay !== undefined, `Contract ${ismAddress} on ${chain} does not expose maxDelay(), so it is not a DelayedFlowRouterHookIsm — resolve the instance from the ISM tree the router actually installs`);
1027
+ let onChainWarpRouter;
1028
+ try {
1029
+ onChainWarpRouter = await instance.warpRouter();
1030
+ }
1031
+ catch (error) {
1032
+ throwIfNotMissingSelector(error);
1033
+ }
1034
+ assert(onChainWarpRouter !== undefined, `Contract ${ismAddress} on ${chain} does not expose warpRouter(), so it is not the token's DelayedFlowRouterHookIsm — resolve the instance from the ISM tree the router actually installs`);
1035
+ assert(eqAddress(onChainWarpRouter, tokenAddress), `Contract ${ismAddress} on ${chain} is not the token's DelayedFlowRouterHookIsm (warpRouter mismatch)`);
1036
+ targets[chain] = { ismAddress, userNode: delayedNodes[0] };
1037
+ }
1038
+ return targets;
1039
+ }
1040
+ /**
1041
+ * Builds the enrollment transactions for one chain's
1042
+ * DelayedFlowRouterHookIsm: enrolls every other chain's instance as a remote
1043
+ * counterpart, plus configured peers outside the route, and
1044
+ * optionally transfers ownership to the configured owner LAST (the enrollment
1045
+ * calls are owner-gated). Converges to zero transactions once the on-chain
1046
+ * state already matches.
1047
+ *
1048
+ * Shared by the deploy flow (deployer-owned instances) and `warp apply`
1049
+ * (instances that may be owned by a Safe/ICA — the returned transactions carry
1050
+ * no signing assumptions and ride whichever submitter the caller uses).
1051
+ */
1052
+ export async function buildDelayedFlowEnrollmentTxs({ chain, multiProvider, registryAddresses, warpRouter, target, allTargets, reconcileOwnership = true, }) {
1053
+ const { ismAddress, userNode } = target;
1054
+ const derivedRemoteIsms = Object.fromEntries(Object.entries(allTargets)
1055
+ .filter(([otherChain]) => otherChain !== chain)
1056
+ .map(([otherChain, otherTarget]) => [
1057
+ otherChain,
1058
+ addressToBytes32(otherTarget.ismAddress).toLowerCase(),
1059
+ ]));
1060
+ // Same resolution expandWarpDeployConfig applies to the expected config, so
1061
+ // `warp check` compares exactly the enrollment installed here.
1062
+ const remoteIsms = resolveDelayedFlowRemoteIsms(userNode.remoteIsms, derivedRemoteIsms, `DelayedFlowRouterHookIsm ${ismAddress} on ${chain}`, multiProvider);
1063
+ const delayedFlowIsmModule = new EvmIsmModule(multiProvider, {
1064
+ chain,
1065
+ config: userNode,
1066
+ addresses: {
1067
+ ...extractIsmAndHookFactoryAddresses(registryAddresses[chain]),
1068
+ mailbox: registryAddresses[chain].mailbox,
1069
+ deployedIsm: ismAddress,
1070
+ },
1071
+ });
1072
+ const current = await delayedFlowIsmModule.read();
1073
+ assert(typeof current === 'object' && current.type === IsmType.DELAYED_FLOW_ROUTER, `Expected ${ismAddress} on ${chain} to be a ${IsmType.DELAYED_FLOW_ROUTER}`);
1074
+ // Single-instance reconciliation: the tree's composition was validated when
1075
+ // it was deployed. Warp apply preserves ownership here because its existing
1076
+ // ownership phase handles the shared instance alongside the router.
1077
+ return delayedFlowIsmModule.updateDeployedInstance({
1078
+ type: IsmType.DELAYED_FLOW_ROUTER,
1079
+ warpRouter,
1080
+ thresholdBps: userNode.thresholdBps,
1081
+ maxDelay: userNode.maxDelay,
1082
+ duration: userNode.duration,
1083
+ owner: reconcileOwnership ? userNode.owner : current.owner,
1084
+ remoteIsms,
1085
+ });
1086
+ }
1087
+ export async function enrollCrossChainRouters({ multiProvider, altVmSigners, registryAddresses, warpDeployConfig, }, deployedContracts) {
1088
+ rootLogger.info(`Start enrolling cross chain routers`);
1089
+ assertWarpConfigTimelocksSupportedByProtocols({
1090
+ multiProvider,
1091
+ warpDeployConfig,
1092
+ });
1093
+ // Resolve every delayed-flow counterpart before building per-chain batches.
1094
+ // Initial deployment already enrolled these pairs; this final pass repairs
1095
+ // any drift while the deployer still owns the instances.
1096
+ const hasDelayedFlow = Object.values(warpDeployConfig).some((config) => typeof config.interchainSecurityModule === 'object' &&
1097
+ config.interchainSecurityModule !== null &&
1098
+ collectHybridIsmNodes(config.interchainSecurityModule).some((node) => node.type === IsmType.DELAYED_FLOW_ROUTER));
1099
+ const delayedFlowTargets = hasDelayedFlow
1100
+ ? await deriveDelayedFlowEnrollmentTargets(multiProvider, warpDeployConfig, deployedContracts, await readInstalledHybridIsmAddresses(multiProvider, deployedContracts))
1101
+ : {};
1102
+ const resolvedConfigMap = objMap(warpDeployConfig, (_, config) => ({
1103
+ gas: gasOverhead(config.type),
1104
+ ...config,
1105
+ }));
1106
+ const cctpDomains = await deriveCctpDomains(multiProvider, resolvedConfigMap);
1107
+ const supportedChains = Object.keys(objFilter(resolvedConfigMap, (_, config) => !config.foreignDeployment &&
1108
+ config.type !== TokenType.collateralDepositAddress &&
1109
+ // Bare same-chain ITokenBridge adapter: not a cross-chain router, has no
1110
+ // on-chain warp config to derive, so it is never enrolled (like deposit-address).
1111
+ config.type !== TokenType.atomicLocalRebalancing));
1112
+ // Process all chains in parallel since they are independent
1113
+ const { fulfilled, rejected } = await mapAllSettled(supportedChains, async (currentChain) => {
1114
+ const protocol = multiProvider.getProtocol(currentChain);
1115
+ // Start with user-specified remote routers (for chains not in the deployment)
1116
+ const userRemoteRouters = objMap(resolveRouterMapConfig(multiProvider, resolvedConfigMap[currentChain].remoteRouters ?? {}), (_, value) => ({ address: addressToBytes32(value.address) }));
1117
+ // Merge: deployed routers take precedence over user-specified
1118
+ const remoteRouters = {
1119
+ ...userRemoteRouters,
1120
+ ...Object.fromEntries(Object.entries(deployedContracts)
1121
+ .filter(([chain]) => chain !== currentChain &&
1122
+ resolvedConfigMap[chain].type !==
1123
+ TokenType.atomicLocalRebalancing)
1124
+ .map(([chain, address]) => [
1125
+ multiProvider.getDomainId(chain).toString(),
1126
+ {
1127
+ address: addressToBytes32(address),
1128
+ },
1129
+ ])),
1130
+ };
1131
+ // Start with user-specified destination gas
1132
+ const userDestinationGas = resolveRouterMapConfig(multiProvider, resolvedConfigMap[currentChain].destinationGas ?? {});
1133
+ // Default to MAX_GAS_OVERHEAD for user-specified remote routers without explicit destinationGas
1134
+ const defaultGasForUserRouters = objMap(userRemoteRouters, (domainId) => userDestinationGas[domainId] ?? MAX_GAS_OVERHEAD.toString());
1135
+ // Merge: deployed chain gas takes precedence over defaults and user-specified
1136
+ const destinationGas = {
1137
+ ...defaultGasForUserRouters,
1138
+ ...Object.fromEntries(Object.entries(deployedContracts)
1139
+ .filter(([chain]) => chain !== currentChain &&
1140
+ resolvedConfigMap[chain].type !==
1141
+ TokenType.atomicLocalRebalancing)
1142
+ .map(([chain, _address]) => [
1143
+ multiProvider.getDomainId(chain).toString(),
1144
+ resolvedConfigMap[chain].gas.toString(),
1145
+ ])),
1146
+ };
1147
+ for (const domainId of Object.keys(remoteRouters)) {
1148
+ rootLogger.debug(`Creating enroll remote router transactions with remote domain id ${domainId} and address ${remoteRouters[domainId]} on chain ${currentChain}`);
1149
+ }
1150
+ let transactions = [];
1151
+ switch (protocol) {
1152
+ case ProtocolType.Tron:
1153
+ case ProtocolType.Ethereum: {
1154
+ const { domainRoutingIsmFactory, incrementalDomainRoutingIsmFactory, staticMerkleRootMultisigIsmFactory, staticMessageIdMultisigIsmFactory, staticAggregationIsmFactory, staticAggregationHookFactory, staticMerkleRootWeightedMultisigIsmFactory, staticMessageIdWeightedMultisigIsmFactory, } = registryAddresses[currentChain];
1155
+ const evmWarpModule = new EvmWarpModule(multiProvider, {
1156
+ chain: currentChain,
1157
+ config: resolvedConfigMap[currentChain],
1158
+ addresses: {
1159
+ deployedTokenRoute: deployedContracts[currentChain],
1160
+ domainRoutingIsmFactory,
1161
+ incrementalDomainRoutingIsmFactory,
1162
+ staticMerkleRootMultisigIsmFactory,
1163
+ staticMessageIdMultisigIsmFactory,
1164
+ staticAggregationIsmFactory,
1165
+ staticAggregationHookFactory,
1166
+ staticMerkleRootWeightedMultisigIsmFactory,
1167
+ staticMessageIdWeightedMultisigIsmFactory,
1168
+ },
1169
+ });
1170
+ const actualConfig = await evmWarpModule.read();
1171
+ const targetOwner = resolvedConfigMap[currentChain].owner;
1172
+ const expectedConfig = {
1173
+ ...actualConfig,
1174
+ owner: targetOwner,
1175
+ // Deployment leaves the router and its shared hybrid instance with
1176
+ // the deployer until this final pass. Describe their common target
1177
+ // owner on both config surfaces so EvmWarpModule can transfer them
1178
+ // together after enrollment.
1179
+ interchainSecurityModule: typeof actualConfig.interchainSecurityModule === 'object' &&
1180
+ actualConfig.interchainSecurityModule
1181
+ ? mapHybridIsmNodes(actualConfig.interchainSecurityModule, (node) => ({ ...node, owner: targetOwner }))
1182
+ : actualConfig.interchainSecurityModule,
1183
+ hook: typeof actualConfig.hook === 'object' && actualConfig.hook
1184
+ ? mapHybridHookNodes(actualConfig.hook, (node) => ({
1185
+ ...node,
1186
+ owner: targetOwner,
1187
+ }))
1188
+ : actualConfig.hook,
1189
+ // Deploy set the ProxyAdmin owner to the intermediate deployer owner
1190
+ // so post-deploy enrollment could be self-signed. actualConfig reads
1191
+ // that live (deployer) owner, so carry the configured owner through
1192
+ // here — otherwise the deferred update sees no change and the
1193
+ // deployer keeps upgrade authority over the proxy.
1194
+ proxyAdmin: actualConfig.proxyAdmin && {
1195
+ address: actualConfig.proxyAdmin.address,
1196
+ owner: resolvedConfigMap[currentChain].proxyAdmin?.owner ??
1197
+ resolvedConfigMap[currentChain].owner,
1198
+ },
1199
+ remoteRouters,
1200
+ destinationGas,
1201
+ // For cross-protocol routes (EVM+SVM/Cosmos), the EVM deployer
1202
+ // never enrolls non-EVM remote routers, so TokenRouter.domains()=[]
1203
+ // at this point. The reader derives RoutingFee.feeContracts from
1204
+ // enrolled domains, returning {} which fails
1205
+ // RoutingFeeInputConfigSchema validation. Use the deploy config's
1206
+ // tokenFee (non-empty feeContracts) so validation passes.
1207
+ // EvmTokenFeeModule.update() reads actual on-chain state via
1208
+ // routingDestinations and confirms no change is needed.
1209
+ ...(resolvedConfigMap[currentChain].tokenFee && {
1210
+ tokenFee: resolvedConfigMap[currentChain].tokenFee,
1211
+ }),
1212
+ };
1213
+ const { txs, feeTxs, ownershipTxs } = await evmWarpModule.updateSplit(expectedConfig, {
1214
+ routingDestinations: Object.keys(remoteRouters).map((domain) => parseInt(domain, 10)),
1215
+ }, cctpDomains);
1216
+ transactions = [...txs, ...feeTxs];
1217
+ const delayedFlowTarget = delayedFlowTargets[currentChain];
1218
+ if (delayedFlowTarget) {
1219
+ transactions.push(...(await buildDelayedFlowEnrollmentTxs({
1220
+ chain: currentChain,
1221
+ multiProvider,
1222
+ registryAddresses,
1223
+ warpRouter: deployedContracts[currentChain],
1224
+ target: delayedFlowTarget,
1225
+ allTargets: delayedFlowTargets,
1226
+ reconcileOwnership: false,
1227
+ })));
1228
+ }
1229
+ // The router, ProxyAdmin, and shared hybrid move together only after
1230
+ // router and delayed-flow enrollment have converged.
1231
+ transactions.push(...ownershipTxs);
1232
+ break;
1233
+ }
1234
+ default: {
1235
+ const signer = mustGet(altVmSigners, currentChain);
1236
+ const chainLookup = altVmChainLookup(multiProvider);
1237
+ const chainMetadata = chainLookup.getChainMetadata(currentChain);
1238
+ const writer = createWarpTokenWriter(chainMetadata, chainLookup, signer);
1239
+ const expectedConfig = {
1240
+ ...resolvedConfigMap[currentChain],
1241
+ remoteRouters,
1242
+ destinationGas,
1243
+ };
1244
+ const artifact = warpConfigToArtifact(validateWarpConfigForAltVM(expectedConfig, currentChain, chainMetadata.protocol), chainLookup);
1245
+ const deployedArtifact = {
1246
+ artifactState: ArtifactState.DEPLOYED,
1247
+ config: artifact.config,
1248
+ deployed: { address: deployedContracts[currentChain] },
1249
+ };
1250
+ transactions = await writer.update(deployedArtifact);
1251
+ }
1252
+ }
1253
+ rootLogger.debug(`Created enroll router update transactions for chain ${currentChain}`);
1254
+ return { chain: currentChain, transactions };
1255
+ }, (chain) => chain);
1256
+ // Process settled results and collect transactions
1257
+ const updateTransactions = {};
1258
+ const errors = [];
1259
+ for (const [, result] of fulfilled) {
1260
+ if (result.transactions.length) {
1261
+ updateTransactions[result.chain] = result.transactions;
1262
+ }
1263
+ }
1264
+ for (const [chain, error] of rejected) {
1265
+ rootLogger.error(`Failed to create enroll router transactions for chain ${chain}: ${error.message}`);
1266
+ errors.push(`${chain}: ${error.message}`);
1267
+ }
1268
+ if (errors.length > 0) {
1269
+ throw new Error(`Failed to create router enrollment transactions for ${errors.length} chain(s): ${errors.join('; ')}`);
1270
+ }
1271
+ return updateTransactions;
1272
+ }
1273
+ function getRouter(contracts) {
1274
+ for (const key of objKeys(hypERC20factories)) {
1275
+ if (contracts[key])
1276
+ return contracts[key];
1277
+ }
1278
+ throw new Error('No matching contract found.');
1279
+ }
1280
+ //# sourceMappingURL=warp.js.map