@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,1397 @@
1
+ import { expect } from 'chai';
2
+ import { ethers } from 'ethers';
3
+ import hre from 'hardhat';
4
+ import sinon from 'sinon';
5
+ import { AtomicLocalRebalancingBridge__factory, CrossCollateralRouter__factory, DelayedFlowRouterHookIsm__factory, ERC20Test__factory, GasRouter__factory, HypXERC20Lockbox__factory, LinearFee__factory, MailboxClient__factory, NetFlowRateLimitedHookIsm__factory, ProxyAdmin__factory, RateLimitedIsm__factory, RoutingFee__factory, StaticAggregationIsm__factory, TokenRouter__factory, TransparentUpgradeableProxy__factory, XERC20LockboxTest__factory, XERC20Test__factory, XERC20VSTest__factory, } from '@recoillink/core';
6
+ import { ProtocolType, addressToBytes32, assert, deepCopy, eqAddress, isNullish, isZeroishAddress, objMap, } from '@recoillink/utils';
7
+ import { TestChainName } from '../consts/testChains.js';
8
+ import { TestCoreDeployer } from '../core/TestCoreDeployer.js';
9
+ import { HyperlaneProxyFactoryDeployer } from '../deploy/HyperlaneProxyFactoryDeployer.js';
10
+ import { enrollCrossChainRouters, executeWarpDeploy } from '../deploy/warp.js';
11
+ import { TokenFeeType } from '../fee/types.js';
12
+ import { HookType } from '../hook/types.js';
13
+ import { HyperlaneIsmFactory } from '../ism/HyperlaneIsmFactory.js';
14
+ import { IsmType, } from '../ism/types.js';
15
+ import { MultiProvider } from '../providers/MultiProvider.js';
16
+ import { randomAddress } from '../test/testUtils.js';
17
+ import { collectHybridIsmNodes } from '../utils/ism.js';
18
+ import { EvmWarpRouteReader } from './EvmWarpRouteReader.js';
19
+ import { TokenStandard } from './TokenStandard.js';
20
+ import { TokenType } from './config.js';
21
+ import { checkWarpRouteDeployConfig } from './warpCheck.js';
22
+ import { HypERC20Deployer } from './deploy.js';
23
+ import { XERC20Type, isAtomicLocalRebalancingBridgeTokenConfig, isDepositAddressTokenConfig, } from './types.js';
24
+ const chain = TestChainName.test1;
25
+ function addOverridesToConfig(config, ownerOverrides) {
26
+ return Object.fromEntries(Object.entries(config).map(([chain, config]) => {
27
+ return [
28
+ chain,
29
+ {
30
+ ...config,
31
+ ownerOverrides,
32
+ },
33
+ ];
34
+ }));
35
+ }
36
+ function assertEvmTransaction(transaction, chain) {
37
+ assert('to' in transaction &&
38
+ typeof transaction.to === 'string' &&
39
+ 'data' in transaction &&
40
+ typeof transaction.data === 'string', `Expected an EVM transaction for ${chain}`);
41
+ }
42
+ describe('TokenDeployer', async () => {
43
+ let signer;
44
+ let deployer;
45
+ let multiProvider;
46
+ let coreApp;
47
+ let config;
48
+ let token;
49
+ let xerc20;
50
+ let erc20;
51
+ let admin;
52
+ const totalSupply = '100000';
53
+ before(async () => {
54
+ [signer] = await hre.ethers.getSigners();
55
+ multiProvider = MultiProvider.createTestMultiProvider({ signer });
56
+ for (const chainName of multiProvider.getKnownChainNames()) {
57
+ multiProvider.metadata[chainName] = {
58
+ ...multiProvider.metadata[chainName],
59
+ blockExplorers: [],
60
+ };
61
+ }
62
+ const ismFactoryDeployer = new HyperlaneProxyFactoryDeployer(multiProvider);
63
+ const factories = await ismFactoryDeployer.deploy(multiProvider.mapKnownChains(() => ({})));
64
+ const ismFactory = new HyperlaneIsmFactory(factories, multiProvider);
65
+ coreApp = await new TestCoreDeployer(multiProvider, ismFactory).deployApp();
66
+ const routerConfigMap = coreApp.getRouterConfig(signer.address);
67
+ const token = {
68
+ type: TokenType.synthetic,
69
+ name: chain,
70
+ symbol: `u${chain}`,
71
+ decimals: 18,
72
+ };
73
+ config = objMap(routerConfigMap, (chain, c) => ({
74
+ ...token,
75
+ ...c,
76
+ }));
77
+ });
78
+ beforeEach(async () => {
79
+ const { name, decimals, symbol } = config[chain];
80
+ const implementation = await new XERC20Test__factory(signer).deploy(name, symbol, totalSupply, decimals);
81
+ admin = await new ProxyAdmin__factory(signer).deploy();
82
+ const proxy = await new TransparentUpgradeableProxy__factory(signer).deploy(implementation.address, admin.address, XERC20Test__factory.createInterface().encodeFunctionData('initialize'));
83
+ token = proxy.address;
84
+ xerc20 = XERC20Test__factory.connect(token, signer);
85
+ erc20 = await new ERC20Test__factory(signer).deploy(name, symbol, totalSupply, decimals);
86
+ deployer = new HypERC20Deployer(multiProvider);
87
+ });
88
+ it('deploys', async () => {
89
+ await deployer.deploy(config);
90
+ });
91
+ it('deploys a deposit-address bridge and derives its config', async () => {
92
+ const depositAddress = ethers.Wallet.createRandom().address;
93
+ const recipient = ethers.utils.hexZeroPad(ethers.Wallet.createRandom().address, 32);
94
+ const depositConfig = {
95
+ [chain]: {
96
+ ...config[chain],
97
+ type: TokenType.collateralDepositAddress,
98
+ token: erc20.address,
99
+ destinationConfigs: {
100
+ [TestChainName.test2]: {
101
+ [recipient]: {
102
+ depositAddress,
103
+ feeBps: '1000',
104
+ },
105
+ },
106
+ },
107
+ },
108
+ };
109
+ const contracts = await deployer.deploy(depositConfig);
110
+ const routerAddress = contracts[chain][TokenType.collateralDepositAddress].address;
111
+ const reader = new EvmWarpRouteReader(multiProvider, chain);
112
+ const derivedConfig = await reader.deriveWarpRouteConfig(routerAddress);
113
+ expect(derivedConfig.type).to.equal(TokenType.collateralDepositAddress);
114
+ if (!isDepositAddressTokenConfig(derivedConfig)) {
115
+ throw new Error('Expected deposit-address token config');
116
+ }
117
+ expect(derivedConfig.token).to.equal(erc20.address);
118
+ expect(derivedConfig.mailbox).to.equal(ethers.constants.AddressZero);
119
+ expect(derivedConfig.hook).to.equal(ethers.constants.AddressZero);
120
+ expect(derivedConfig.interchainSecurityModule).to.equal(ethers.constants.AddressZero);
121
+ expect(derivedConfig.remoteRouters).to.deep.equal({});
122
+ expect(derivedConfig.destinationConfigs).to.deep.equal({
123
+ [multiProvider.getDomainId(TestChainName.test2).toString()]: {
124
+ [recipient.toLowerCase()]: {
125
+ depositAddress,
126
+ feeBps: '1000',
127
+ },
128
+ },
129
+ });
130
+ });
131
+ it('deploys an atomic local rebalancing bridge with its immutable source and configured owner', async () => {
132
+ const bridgeOwner = ethers.Wallet.createRandom().address;
133
+ const sourceRouter = await new CrossCollateralRouter__factory(signer).deploy(erc20.address, 1, 1, config[chain].mailbox);
134
+ await sourceRouter.initialize(ethers.constants.AddressZero, ethers.constants.AddressZero, signer.address);
135
+ const atomicConfig = {
136
+ [chain]: {
137
+ mailbox: config[chain].mailbox,
138
+ type: TokenType.atomicLocalRebalancing,
139
+ sourceRouter: sourceRouter.address,
140
+ owner: bridgeOwner,
141
+ },
142
+ };
143
+ const contracts = await deployer.deploy(atomicConfig);
144
+ const bridgeAddress = contracts[chain][TokenType.atomicLocalRebalancing].address;
145
+ const bridge = AtomicLocalRebalancingBridge__factory.connect(bridgeAddress, signer);
146
+ expect(await bridge.localDomain()).to.equal(multiProvider.getDomainId(chain));
147
+ expect(await bridge.allowedSourceRouter()).to.equal(sourceRouter.address);
148
+ expect(await bridge.owner()).to.equal(bridgeOwner);
149
+ const reader = new EvmWarpRouteReader(multiProvider, chain);
150
+ const derivedConfig = await reader.deriveWarpRouteConfig(bridgeAddress);
151
+ expect(derivedConfig.type).to.equal(TokenType.atomicLocalRebalancing);
152
+ if (!isAtomicLocalRebalancingBridgeTokenConfig(derivedConfig)) {
153
+ throw new Error('Expected atomic local rebalancing bridge config');
154
+ }
155
+ expect(derivedConfig.sourceRouter).to.equal(sourceRouter.address);
156
+ expect(derivedConfig.name).to.equal(await erc20.name());
157
+ expect(derivedConfig.symbol).to.equal(await erc20.symbol());
158
+ expect(derivedConfig.decimals).to.equal(await erc20.decimals());
159
+ expect(derivedConfig.owner).to.equal(bridgeOwner);
160
+ expect(derivedConfig.mailbox).to.equal(ethers.constants.AddressZero);
161
+ expect(derivedConfig.remoteRouters).to.deep.equal({});
162
+ const warpCoreConfig = {
163
+ tokens: [
164
+ {
165
+ chainName: chain,
166
+ addressOrDenom: bridgeAddress,
167
+ decimals: await erc20.decimals(),
168
+ name: await erc20.name(),
169
+ standard: TokenStandard.EvmAtomicLocalRebalancingBridge,
170
+ symbol: await erc20.symbol(),
171
+ tokenType: TokenType.atomicLocalRebalancing,
172
+ },
173
+ ],
174
+ };
175
+ const checkResult = await checkWarpRouteDeployConfig({
176
+ multiProvider,
177
+ warpCoreConfig,
178
+ warpDeployConfig: atomicConfig,
179
+ });
180
+ expect(checkResult.isValid, JSON.stringify(checkResult, null, 2)).to.equal(true);
181
+ expect(checkResult.violations).to.deep.equal([]);
182
+ });
183
+ it('rejects an atomic bridge deployed for the wrong local domain', async () => {
184
+ const sourceRouter = await new CrossCollateralRouter__factory(signer).deploy(erc20.address, 1, 1, config[chain].mailbox);
185
+ const wrongDomain = multiProvider.getDomainId(chain) + 1;
186
+ const bridge = await new AtomicLocalRebalancingBridge__factory(signer).deploy(wrongDomain, sourceRouter.address, signer.address);
187
+ const reader = new EvmWarpRouteReader(multiProvider, chain);
188
+ let error;
189
+ try {
190
+ await reader.deriveWarpRouteConfig(bridge.address);
191
+ }
192
+ catch (caught) {
193
+ error = caught;
194
+ }
195
+ expect(error).to.be.instanceOf(Error);
196
+ if (!(error instanceof Error)) {
197
+ throw new Error('Expected local domain mismatch error');
198
+ }
199
+ expect(error.message).to.include(`localDomain ${wrongDomain} does not match`);
200
+ });
201
+ it('transfers an atomic local rebalancing bridge to its configured owner through executeWarpDeploy', async () => {
202
+ const bridgeOwner = ethers.Wallet.createRandom().address;
203
+ const sourceRouter = await new CrossCollateralRouter__factory(signer).deploy(erc20.address, 1, 1, config[chain].mailbox);
204
+ await sourceRouter.initialize(ethers.constants.AddressZero, ethers.constants.AddressZero, signer.address);
205
+ const atomicConfig = {
206
+ [chain]: {
207
+ ...config[chain],
208
+ type: TokenType.atomicLocalRebalancing,
209
+ sourceRouter: sourceRouter.address,
210
+ owner: bridgeOwner,
211
+ },
212
+ };
213
+ const deployedContracts = await executeWarpDeploy(atomicConfig, multiProvider, {}, { [chain]: coreApp.getAddresses(chain) }, {});
214
+ const bridge = AtomicLocalRebalancingBridge__factory.connect(deployedContracts[chain], signer);
215
+ expect(await bridge.owner()).to.equal(bridgeOwner);
216
+ });
217
+ it('applies rebalance targets and recipients during fresh deployment', async () => {
218
+ const localDomain = multiProvider.getDomainId(chain);
219
+ const localRouter = addressToBytes32('0x1111111111111111111111111111111111111111');
220
+ const target = addressToBytes32('0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');
221
+ const recipient = addressToBytes32('0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb');
222
+ const crossCollateralConfig = {
223
+ [chain]: {
224
+ ...config[chain],
225
+ type: TokenType.crossCollateral,
226
+ token: erc20.address,
227
+ crossCollateralRouters: { [localDomain]: [localRouter] },
228
+ rebalanceTargets: { [localDomain]: [target] },
229
+ rebalanceRecipients: { [localDomain]: recipient },
230
+ },
231
+ };
232
+ const contracts = await deployer.deploy(crossCollateralConfig);
233
+ const router = CrossCollateralRouter__factory.connect(contracts[chain][TokenType.crossCollateral].address, signer);
234
+ expect((await router.rebalanceTargets(localDomain)).map((value) => value.toLowerCase())).to.deep.equal([target]);
235
+ expect((await router.allowedRecipient(localDomain)).toLowerCase()).to.equal(recipient);
236
+ });
237
+ it('deploys mixed deposit-address and router configs', async () => {
238
+ const depositAddress = ethers.Wallet.createRandom().address;
239
+ const recipient = ethers.utils.hexZeroPad(ethers.Wallet.createRandom().address, 32);
240
+ const mixedConfig = {
241
+ [TestChainName.test1]: {
242
+ ...config[TestChainName.test1],
243
+ type: TokenType.collateralDepositAddress,
244
+ token: erc20.address,
245
+ destinationConfigs: {
246
+ [TestChainName.test2]: {
247
+ [recipient]: {
248
+ depositAddress,
249
+ feeBps: '1000',
250
+ },
251
+ },
252
+ },
253
+ },
254
+ [TestChainName.test2]: {
255
+ ...config[TestChainName.test2],
256
+ type: TokenType.synthetic,
257
+ },
258
+ };
259
+ const contracts = await deployer.deploy(mixedConfig);
260
+ expect(contracts[TestChainName.test1][TokenType.collateralDepositAddress]
261
+ .address).to.not.equal(ethers.constants.AddressZero);
262
+ expect(contracts[TestChainName.test2][TokenType.synthetic].address).to.not.equal(ethers.constants.AddressZero);
263
+ const reader = new EvmWarpRouteReader(multiProvider, TestChainName.test1);
264
+ const derivedConfig = await reader.deriveWarpRouteConfig(contracts[TestChainName.test1][TokenType.collateralDepositAddress]
265
+ .address);
266
+ if (!isDepositAddressTokenConfig(derivedConfig)) {
267
+ throw new Error('Expected deposit-address token config');
268
+ }
269
+ expect(derivedConfig.destinationConfigs).to.deep.equal({
270
+ [multiProvider.getDomainId(TestChainName.test2).toString()]: {
271
+ [recipient.toLowerCase()]: {
272
+ depositAddress,
273
+ feeBps: '1000',
274
+ },
275
+ },
276
+ });
277
+ });
278
+ for (const type of [
279
+ TokenType.collateral,
280
+ TokenType.synthetic,
281
+ TokenType.XERC20,
282
+ ]) {
283
+ const token = () => {
284
+ switch (type) {
285
+ case TokenType.XERC20:
286
+ return xerc20.address;
287
+ case TokenType.collateral:
288
+ return erc20.address;
289
+ default:
290
+ return undefined;
291
+ }
292
+ };
293
+ describe('checkWarpRouteDeployConfig', async () => {
294
+ let contractsMap;
295
+ const getRouterAddress = (currentChain) => contractsMap[currentChain][config[currentChain].type].address;
296
+ const getWarpCoreConfig = () => ({
297
+ tokens: Object.keys(config).map((currentChain) => ({
298
+ addressOrDenom: getRouterAddress(currentChain),
299
+ chainName: currentChain,
300
+ })),
301
+ });
302
+ // XERC20Test answers mintingMaxLimitOf/burningMaxLimitOf with the uint256
303
+ // max for every bridge, so a deploy config declaring no limits reads as
304
+ // drift against what the token holds.
305
+ const MAX_UINT256 = '115792089237316195423570985008687907853269984665640564039457584007913129639935';
306
+ beforeEach(async () => {
307
+ config[chain] = {
308
+ ...config[chain],
309
+ type,
310
+ // CAST: synthetic test configs deliberately omit the token address. An
311
+ // expect-error directive is unusable here: where TS reports this union
312
+ // mismatch depends on type ordering and moved after the package rename.
313
+ token: token(),
314
+ xERC20: type === TokenType.XERC20
315
+ ? {
316
+ warpRouteLimits: {
317
+ type: XERC20Type.Standard,
318
+ mint: MAX_UINT256,
319
+ burn: MAX_UINT256,
320
+ },
321
+ }
322
+ : undefined,
323
+ };
324
+ contractsMap = await deployer.deploy(config);
325
+ });
326
+ it(`should have no violations on clean deploy of ${type}`, async () => {
327
+ const result = await checkWarpRouteDeployConfig({
328
+ multiProvider,
329
+ warpCoreConfig: getWarpCoreConfig(),
330
+ warpDeployConfig: config,
331
+ });
332
+ expect(result.isValid).to.equal(true);
333
+ expect(result.violations).to.deep.equal([]);
334
+ });
335
+ it('should ignore warp core config chains unknown to the multiprovider', async () => {
336
+ const unknownChain = 'deprecated-chain';
337
+ const unknownWarpCoreConfig = {
338
+ tokens: [
339
+ ...getWarpCoreConfig().tokens,
340
+ {
341
+ addressOrDenom: ethers.Wallet.createRandom().address,
342
+ chainName: unknownChain,
343
+ },
344
+ ],
345
+ };
346
+ const result = await checkWarpRouteDeployConfig({
347
+ multiProvider,
348
+ warpCoreConfig: unknownWarpCoreConfig,
349
+ warpDeployConfig: config,
350
+ });
351
+ expect(result.isValid).to.equal(true);
352
+ expect(result.violations).to.deep.equal([]);
353
+ });
354
+ it('should ignore non-EVM route members when expanding EVM configs', async () => {
355
+ const cosmosChain = 'testcosmos';
356
+ if (!multiProvider.tryGetChainMetadata(cosmosChain)) {
357
+ multiProvider.addChain({
358
+ chainId: 'testcosmos-1',
359
+ domainId: 919191,
360
+ name: cosmosChain,
361
+ protocol: ProtocolType.Cosmos,
362
+ rpcUrls: [{ http: 'https://cosmos.example.com' }],
363
+ bech32Prefix: 'cosmos',
364
+ slip44: 118,
365
+ restUrls: [],
366
+ grpcUrls: [],
367
+ });
368
+ }
369
+ const mixedWarpDeployConfig = deepCopy(config);
370
+ mixedWarpDeployConfig[cosmosChain] = {
371
+ type: TokenType.synthetic,
372
+ mailbox: '0x0000000000000000000000000000000000000000000000000000000000000001',
373
+ owner: signer.address,
374
+ gas: 12345,
375
+ name: 'Test Cosmos',
376
+ symbol: 'TCOSM',
377
+ decimals: 18,
378
+ };
379
+ const cosmosRouterAddress = '0x0000000000000000000000000000000000000000000000000000000000000002';
380
+ const cosmosGas = 12345;
381
+ const mixedWarpCoreConfig = {
382
+ tokens: [
383
+ ...getWarpCoreConfig().tokens,
384
+ {
385
+ addressOrDenom: cosmosRouterAddress,
386
+ chainName: cosmosChain,
387
+ },
388
+ ],
389
+ };
390
+ const cosmosDomain = multiProvider.getDomainId(cosmosChain);
391
+ for (const currentChain of Object.keys(config)) {
392
+ const tokenRouter = TokenRouter__factory.connect(getRouterAddress(currentChain), signer);
393
+ await tokenRouter.enrollRemoteRouter(cosmosDomain, cosmosRouterAddress);
394
+ const gasRouter = GasRouter__factory.connect(getRouterAddress(currentChain), signer);
395
+ await gasRouter['setDestinationGas(uint32,uint256)'](cosmosDomain, cosmosGas);
396
+ }
397
+ const result = await checkWarpRouteDeployConfig({
398
+ multiProvider,
399
+ warpCoreConfig: mixedWarpCoreConfig,
400
+ warpDeployConfig: mixedWarpDeployConfig,
401
+ });
402
+ expect(result.isValid).to.equal(true);
403
+ expect(result.violations).to.deep.equal([]);
404
+ });
405
+ it('should include non-EVM route members in scale validation', async () => {
406
+ const cosmosChain = 'testcosmos';
407
+ if (!multiProvider.tryGetChainMetadata(cosmosChain)) {
408
+ multiProvider.addChain({
409
+ chainId: 'testcosmos-1',
410
+ domainId: 919191,
411
+ name: cosmosChain,
412
+ protocol: ProtocolType.Cosmos,
413
+ rpcUrls: [{ http: 'https://cosmos.example.com' }],
414
+ bech32Prefix: 'cosmos',
415
+ slip44: 118,
416
+ restUrls: [],
417
+ grpcUrls: [],
418
+ });
419
+ }
420
+ const mixedWarpDeployConfig = deepCopy(config);
421
+ mixedWarpDeployConfig[cosmosChain] = {
422
+ type: TokenType.synthetic,
423
+ mailbox: '0x0000000000000000000000000000000000000000000000000000000000000001',
424
+ owner: signer.address,
425
+ gas: 12345,
426
+ name: 'Test Cosmos',
427
+ symbol: 'TCOSM',
428
+ decimals: 6,
429
+ };
430
+ const mixedWarpCoreConfig = {
431
+ tokens: [
432
+ ...getWarpCoreConfig().tokens,
433
+ {
434
+ addressOrDenom: '0x0000000000000000000000000000000000000000000000000000000000000002',
435
+ chainName: cosmosChain,
436
+ },
437
+ ],
438
+ };
439
+ const result = await checkWarpRouteDeployConfig({
440
+ multiProvider,
441
+ warpCoreConfig: mixedWarpCoreConfig,
442
+ warpDeployConfig: mixedWarpDeployConfig,
443
+ });
444
+ expect(result.isValid).to.equal(false);
445
+ expect(result.scaleViolations).to.deep.equal([
446
+ {
447
+ actual: 'invalid-or-missing',
448
+ chain: 'route',
449
+ expected: 'consistent-with-decimals',
450
+ name: 'scale',
451
+ type: 'ScaleMismatch',
452
+ },
453
+ ]);
454
+ });
455
+ it('should fail fast for pure non-EVM route subsets', async () => {
456
+ const cosmosChain = 'testcosmos';
457
+ if (!multiProvider.tryGetChainMetadata(cosmosChain)) {
458
+ multiProvider.addChain({
459
+ chainId: 'testcosmos-1',
460
+ domainId: 919191,
461
+ name: cosmosChain,
462
+ protocol: ProtocolType.Cosmos,
463
+ rpcUrls: [{ http: 'https://cosmos.example.com' }],
464
+ bech32Prefix: 'cosmos',
465
+ slip44: 118,
466
+ restUrls: [],
467
+ grpcUrls: [],
468
+ });
469
+ }
470
+ const cosmosOnlyWarpDeployConfig = {
471
+ [cosmosChain]: {
472
+ type: TokenType.synthetic,
473
+ mailbox: '0x0000000000000000000000000000000000000000000000000000000000000001',
474
+ owner: signer.address,
475
+ gas: 12345,
476
+ name: 'Test Cosmos',
477
+ symbol: 'TCOSM',
478
+ decimals: 18,
479
+ },
480
+ };
481
+ const cosmosOnlyWarpCoreConfig = {
482
+ tokens: [
483
+ {
484
+ addressOrDenom: '0x0000000000000000000000000000000000000000000000000000000000000002',
485
+ chainName: cosmosChain,
486
+ },
487
+ ],
488
+ };
489
+ try {
490
+ await checkWarpRouteDeployConfig({
491
+ multiProvider,
492
+ warpCoreConfig: cosmosOnlyWarpCoreConfig,
493
+ warpDeployConfig: cosmosOnlyWarpDeployConfig,
494
+ });
495
+ expect.fail('Expected pure non-EVM route subset to reject');
496
+ }
497
+ catch (error) {
498
+ expect(error.message).to.contain('Warp route check requires at least one EVM or supported altVM chain in the selected route config');
499
+ }
500
+ });
501
+ it('should ignore collateral owner changes when ownerOverrides is unset', async () => {
502
+ if (type !== TokenType.XERC20) {
503
+ return;
504
+ }
505
+ await xerc20.transferOwnership(ethers.Wallet.createRandom().address);
506
+ await admin.transferOwnership(ethers.Wallet.createRandom().address);
507
+ const result = await checkWarpRouteDeployConfig({
508
+ multiProvider,
509
+ warpCoreConfig: getWarpCoreConfig(),
510
+ warpDeployConfig: config,
511
+ });
512
+ expect(result.isValid).to.equal(true);
513
+ expect(result.violations.some((violation) => [
514
+ 'ownerOverrides.collateralToken',
515
+ 'ownerOverrides.collateralProxyAdmin',
516
+ ].includes(violation.name))).to.equal(false);
517
+ });
518
+ it('should skip collateralToken override checks for non-Ownable collateral tokens', async () => {
519
+ if (type !== TokenType.collateral) {
520
+ return;
521
+ }
522
+ const overrideConfig = addOverridesToConfig(config, {
523
+ collateralToken: ethers.Wallet.createRandom().address,
524
+ });
525
+ const result = await checkWarpRouteDeployConfig({
526
+ multiProvider,
527
+ warpCoreConfig: getWarpCoreConfig(),
528
+ warpDeployConfig: overrideConfig,
529
+ });
530
+ expect(result.violations.some((violation) => violation.chain === chain &&
531
+ violation.name === 'ownerOverrides.collateralToken')).to.equal(false);
532
+ });
533
+ it('should flag explicit proxyAdmin address mismatches', async () => {
534
+ const explicitProxyAdminConfig = deepCopy(config);
535
+ explicitProxyAdminConfig[chain].proxyAdmin = {
536
+ address: ethers.Wallet.createRandom().address,
537
+ owner: explicitProxyAdminConfig[chain].owner,
538
+ };
539
+ const result = await checkWarpRouteDeployConfig({
540
+ multiProvider,
541
+ warpCoreConfig: getWarpCoreConfig(),
542
+ warpDeployConfig: explicitProxyAdminConfig,
543
+ });
544
+ expect(result.isValid).to.equal(false);
545
+ expect(result.violations.some((violation) => violation.chain === chain &&
546
+ violation.name === 'proxyAdmin.address')).to.equal(true);
547
+ });
548
+ it('should flag collateral ownership override mismatches', async () => {
549
+ if (type !== TokenType.XERC20) {
550
+ return;
551
+ }
552
+ const overrideConfig = addOverridesToConfig(config, {
553
+ collateralProxyAdmin: await admin.owner(),
554
+ collateralToken: await xerc20.owner(),
555
+ });
556
+ await xerc20.transferOwnership(ethers.Wallet.createRandom().address);
557
+ await admin.transferOwnership(ethers.Wallet.createRandom().address);
558
+ const result = await checkWarpRouteDeployConfig({
559
+ multiProvider,
560
+ warpCoreConfig: getWarpCoreConfig(),
561
+ warpDeployConfig: overrideConfig,
562
+ });
563
+ expect(result.isValid).to.equal(false);
564
+ expect(result.violations.some((violation) => violation.chain === chain &&
565
+ violation.name === 'ownerOverrides.collateralToken')).to.equal(true);
566
+ expect(result.violations.some((violation) => violation.chain === chain &&
567
+ violation.name === 'ownerOverrides.collateralProxyAdmin')).to.equal(true);
568
+ });
569
+ it('should respect ownerOverrides.proxyAdmin over proxyAdmin.owner', async () => {
570
+ const overrideConfig = addOverridesToConfig(config, {
571
+ proxyAdmin: await contractsMap[chain].proxyAdmin.owner(),
572
+ });
573
+ await contractsMap[chain].proxyAdmin.transferOwnership(ethers.Wallet.createRandom().address);
574
+ const result = await checkWarpRouteDeployConfig({
575
+ multiProvider,
576
+ warpCoreConfig: getWarpCoreConfig(),
577
+ warpDeployConfig: overrideConfig,
578
+ });
579
+ expect(result.isValid).to.equal(false);
580
+ expect(result.violations.some((violation) => violation.chain === chain &&
581
+ violation.name === 'proxyAdmin.owner')).to.equal(true);
582
+ });
583
+ });
584
+ describe('ERC20WarpRouterReader', async () => {
585
+ let reader;
586
+ let routerAddress;
587
+ before(() => {
588
+ reader = new EvmWarpRouteReader(multiProvider, TestChainName.test1);
589
+ });
590
+ beforeEach(async () => {
591
+ config[chain] = {
592
+ ...config[chain],
593
+ type,
594
+ // CAST: synthetic test configs deliberately omit the token address. An
595
+ // expect-error directive is unusable here: where TS reports this union
596
+ // mismatch depends on type ordering and moved after the package rename.
597
+ token: token(),
598
+ };
599
+ const warpRoute = await deployer.deploy(config);
600
+ routerAddress = warpRoute[chain][type].address;
601
+ });
602
+ it(`should derive HypTokenRouterConfig correctly`, async () => {
603
+ const derivedConfig = await reader.deriveWarpRouteConfig(routerAddress);
604
+ expect(derivedConfig.type).to.equal(config[chain].type);
605
+ });
606
+ });
607
+ }
608
+ describe('checkWarpRouteDeployConfig for a Velodrome xERC20', () => {
609
+ // The values the CLI e2e uses, which XERC20VSTest accepts for addBridge.
610
+ const BUFFER_CAP = '1000000000000000000000';
611
+ const RATE_LIMIT_PER_SECOND = '1000000000000000000';
612
+ const VELO_LIMITS = {
613
+ type: XERC20Type.Velo,
614
+ bufferCap: BUFFER_CAP,
615
+ rateLimitPerSecond: RATE_LIMIT_PER_SECOND,
616
+ };
617
+ let sandbox;
618
+ let veloToken;
619
+ let extraBridge;
620
+ let contractsMap;
621
+ const veloConfig = (extraBridges) => ({
622
+ ...config,
623
+ [chain]: {
624
+ ...config[chain],
625
+ type: TokenType.XERC20,
626
+ token: veloToken.address,
627
+ xERC20: { warpRouteLimits: VELO_LIMITS, extraBridges },
628
+ },
629
+ });
630
+ // CAST: the check only reads chainName and addressOrDenom off each token,
631
+ // and filling in the rest of WarpCoreConfig's token metadata would state
632
+ // things about the deployment this test does not know.
633
+ const getWarpCoreConfig = () => ({
634
+ tokens: Object.keys(config).map((currentChain) => ({
635
+ addressOrDenom: contractsMap[currentChain][currentChain === chain
636
+ ? TokenType.XERC20
637
+ : config[currentChain].type].address,
638
+ chainName: currentChain,
639
+ })),
640
+ });
641
+ beforeEach(async () => {
642
+ sandbox = sinon.createSandbox();
643
+ // The test chains declare a placeholder Etherscan explorer, and the bridge
644
+ // scan would spend a network round trip on it before falling through. The
645
+ // RPC is the path this exercises.
646
+ sandbox.stub(multiProvider, 'tryGetEvmExplorerMetadataList').returns([]);
647
+ const { name, decimals, symbol } = config[chain];
648
+ assert(name && symbol && !isNullish(decimals), `Missing token metadata for ${chain}`);
649
+ veloToken = await new XERC20VSTest__factory(signer).deploy(name, symbol, totalSupply, decimals);
650
+ contractsMap = await deployer.deploy(veloConfig());
651
+ // The route's own router is a bridge of the token like any other, and the
652
+ // extra bridge is an address nothing but the token's events knows about.
653
+ extraBridge = randomAddress();
654
+ for (const bridge of [
655
+ contractsMap[chain][TokenType.XERC20].address,
656
+ extraBridge,
657
+ ]) {
658
+ await veloToken
659
+ .addBridge({
660
+ bridge,
661
+ bufferCap: BUFFER_CAP,
662
+ rateLimitPerSecond: RATE_LIMIT_PER_SECOND,
663
+ })
664
+ .then((tx) => tx.wait());
665
+ }
666
+ });
667
+ afterEach(() => {
668
+ sandbox.restore();
669
+ });
670
+ it('reports no violations for a bridge discovered from the token', async () => {
671
+ const result = await checkWarpRouteDeployConfig({
672
+ multiProvider,
673
+ warpCoreConfig: getWarpCoreConfig(),
674
+ warpDeployConfig: veloConfig([
675
+ { lockbox: extraBridge, limits: VELO_LIMITS },
676
+ ]),
677
+ });
678
+ expect(result.diff).to.deep.equal({});
679
+ expect(result.violations).to.deep.equal([]);
680
+ expect(result.isValid).to.equal(true);
681
+ });
682
+ // Discovery follows the order the token announced its bridges in and the
683
+ // deploy config follows whoever wrote it. Comparing the two index by index
684
+ // reports the same set of bridges in two orders as drift.
685
+ it('reports no violations when the deploy config names the bridges in another order', async () => {
686
+ const laterBridge = randomAddress();
687
+ await veloToken
688
+ .addBridge({
689
+ bridge: laterBridge,
690
+ bufferCap: BUFFER_CAP,
691
+ rateLimitPerSecond: RATE_LIMIT_PER_SECOND,
692
+ })
693
+ .then((tx) => tx.wait());
694
+ const result = await checkWarpRouteDeployConfig({
695
+ multiProvider,
696
+ warpCoreConfig: getWarpCoreConfig(),
697
+ // Announced extraBridge first, so name it last.
698
+ warpDeployConfig: veloConfig([
699
+ { lockbox: laterBridge, limits: VELO_LIMITS },
700
+ { lockbox: extraBridge, limits: VELO_LIMITS },
701
+ ]),
702
+ });
703
+ expect(result.diff).to.deep.equal({});
704
+ expect(result.violations).to.deep.equal([]);
705
+ expect(result.isValid).to.equal(true);
706
+ });
707
+ // Guards the assertion above against passing because the declared limits
708
+ // were echoed back rather than read: declare the same bridge with limits
709
+ // the token does not hold and the check has to report it.
710
+ it('reports drift when the declared limits are not the ones the token holds', async () => {
711
+ const result = await checkWarpRouteDeployConfig({
712
+ multiProvider,
713
+ warpCoreConfig: getWarpCoreConfig(),
714
+ warpDeployConfig: veloConfig([
715
+ {
716
+ lockbox: extraBridge,
717
+ limits: {
718
+ type: XERC20Type.Velo,
719
+ bufferCap: '1',
720
+ rateLimitPerSecond: '1',
721
+ },
722
+ },
723
+ ]),
724
+ });
725
+ expect(result.isValid).to.equal(false);
726
+ expect(result.violations.map(({ chain: violationChain, name }) => ({
727
+ chain: violationChain,
728
+ name,
729
+ }))).to.deep.equal([
730
+ { chain, name: 'xERC20.extraBridges.0.limits.bufferCap' },
731
+ { chain, name: 'xERC20.extraBridges.0.limits.rateLimitPerSecond' },
732
+ ]);
733
+ });
734
+ // A bridge on chain that the deploy config does not name is drift the check
735
+ // exists to surface, and it is only visible because the bridge set is read
736
+ // from the token rather than from the config.
737
+ it('reports a bridge the deploy config does not name', async () => {
738
+ const result = await checkWarpRouteDeployConfig({
739
+ multiProvider,
740
+ warpCoreConfig: getWarpCoreConfig(),
741
+ warpDeployConfig: veloConfig(),
742
+ });
743
+ expect(result.isValid).to.equal(false);
744
+ // isValid alone is true of any drift on any field, so the violation has
745
+ // to name the bridge for this to be about the bridge.
746
+ expect(result.violations.map(({ chain: violationChain, name, actual }) => ({
747
+ chain: violationChain,
748
+ name,
749
+ namesTheBridge: actual.includes(extraBridge.toLowerCase()),
750
+ }))).to.deep.equal([
751
+ { chain, name: 'xERC20.extraBridges', namesTheBridge: true },
752
+ ]);
753
+ });
754
+ });
755
+ describe('RateLimitedIsm with non-deployer warp owner', () => {
756
+ let ismDeployer;
757
+ let ismFactory;
758
+ before(async () => {
759
+ const pfd = new HyperlaneProxyFactoryDeployer(multiProvider);
760
+ const factories = await pfd.deploy(multiProvider.mapKnownChains(() => ({})));
761
+ ismFactory = new HyperlaneIsmFactory(factories, multiProvider);
762
+ });
763
+ beforeEach(() => {
764
+ ismDeployer = new HypERC20Deployer(multiProvider, ismFactory);
765
+ });
766
+ it('wires RateLimitedIsm and transfers all ownership when warp owner differs from deployer', async () => {
767
+ const warpOwner = ethers.Wallet.createRandom().address;
768
+ const warpConfig = {
769
+ [chain]: {
770
+ ...config[chain],
771
+ type: TokenType.synthetic,
772
+ owner: warpOwner,
773
+ },
774
+ };
775
+ const rateLimitedIsms = {
776
+ [chain]: {
777
+ type: IsmType.RATE_LIMITED,
778
+ maxCapacity: '86400',
779
+ duration: 86400n,
780
+ owner: warpOwner,
781
+ },
782
+ };
783
+ const contracts = await ismDeployer.deploy(warpConfig, rateLimitedIsms);
784
+ const routerAddress = contracts[chain].synthetic.address;
785
+ // Token ISM should be the deployed RateLimitedIsm
786
+ const tokenClient = MailboxClient__factory.connect(routerAddress, multiProvider.getProvider(chain));
787
+ const ismAddress = await tokenClient.interchainSecurityModule();
788
+ expect(isZeroishAddress(ismAddress)).to.be.false;
789
+ // RateLimitedIsm owner should be warpOwner, not the deployer
790
+ const rateLimitedIsm = RateLimitedIsm__factory.connect(ismAddress, multiProvider.getProvider(chain));
791
+ expect((await rateLimitedIsm.owner()).toLowerCase()).to.equal(warpOwner.toLowerCase());
792
+ // Token ownership also transferred to warpOwner
793
+ const router = GasRouter__factory.connect(routerAddress, multiProvider.getProvider(chain));
794
+ expect((await router.owner()).toLowerCase()).to.equal(warpOwner.toLowerCase());
795
+ });
796
+ it('deploys RateLimitedIsm nested inside staticAggregationIsm and wires it correctly', async () => {
797
+ const warpOwner = ethers.Wallet.createRandom().address;
798
+ const warpConfig = {
799
+ [chain]: {
800
+ ...config[chain],
801
+ type: TokenType.synthetic,
802
+ owner: warpOwner,
803
+ // interchainSecurityModule not set — passed via rateLimitedIsms
804
+ },
805
+ };
806
+ const nestedIsmConfig = {
807
+ type: IsmType.AGGREGATION,
808
+ threshold: 2,
809
+ modules: [
810
+ {
811
+ type: IsmType.PAUSABLE,
812
+ owner: warpOwner,
813
+ paused: false,
814
+ },
815
+ {
816
+ type: IsmType.RATE_LIMITED,
817
+ maxCapacity: '1000000000000000000',
818
+ duration: 86400n,
819
+ owner: warpOwner,
820
+ },
821
+ ],
822
+ };
823
+ const contracts = await ismDeployer.deploy(warpConfig, {
824
+ [chain]: nestedIsmConfig,
825
+ });
826
+ const routerAddress = contracts[chain].synthetic.address;
827
+ // Token ISM must be set (not zero)
828
+ const tokenClient = MailboxClient__factory.connect(routerAddress, multiProvider.getProvider(chain));
829
+ const ismAddress = await tokenClient.interchainSecurityModule();
830
+ expect(isZeroishAddress(ismAddress)).to.be.false;
831
+ // ISM must be a staticAggregationIsm with threshold 2
832
+ const aggregationIsm = StaticAggregationIsm__factory.connect(ismAddress, multiProvider.getProvider(chain));
833
+ const [modules, threshold] = await aggregationIsm.modulesAndThreshold(ethers.constants.AddressZero);
834
+ expect(threshold).to.equal(2);
835
+ expect(modules).to.have.length(2);
836
+ // Find the RateLimitedIsm module by calling recipient() on each
837
+ let rateLimitedIsmAddress;
838
+ for (const moduleAddress of modules) {
839
+ const candidate = RateLimitedIsm__factory.connect(moduleAddress, multiProvider.getProvider(chain));
840
+ try {
841
+ const recipient = await candidate.recipient();
842
+ // recipient() succeeds only on RateLimitedIsm
843
+ expect(recipient.toLowerCase()).to.equal(routerAddress.toLowerCase());
844
+ rateLimitedIsmAddress = moduleAddress;
845
+ break;
846
+ }
847
+ catch {
848
+ // Not a RateLimitedIsm — continue
849
+ }
850
+ }
851
+ expect(rateLimitedIsmAddress).to.not.be.undefined;
852
+ // RateLimitedIsm owner must be warpOwner
853
+ const rateLimitedIsm = RateLimitedIsm__factory.connect(rateLimitedIsmAddress, multiProvider.getProvider(chain));
854
+ expect((await rateLimitedIsm.owner()).toLowerCase()).to.equal(warpOwner.toLowerCase());
855
+ // Token ownership transferred to warpOwner
856
+ const router = GasRouter__factory.connect(routerAddress, multiProvider.getProvider(chain));
857
+ expect((await router.owner()).toLowerCase()).to.equal(warpOwner.toLowerCase());
858
+ });
859
+ });
860
+ describe('Hybrid hook/ISM deferred deploy', () => {
861
+ let registryAddresses;
862
+ const remoteChain = TestChainName.test2;
863
+ before(async () => {
864
+ const pfd = new HyperlaneProxyFactoryDeployer(multiProvider);
865
+ const factories = await pfd.deploy(multiProvider.mapKnownChains(() => ({})));
866
+ registryAddresses = {};
867
+ for (const chainName of [chain, remoteChain]) {
868
+ registryAddresses[chainName] = {
869
+ ...objMap(factories[chainName], (_, contract) => contract.address),
870
+ mailbox: coreApp.getContracts(chainName).mailbox.address,
871
+ };
872
+ }
873
+ // DELAYED_FLOW_ROUTER refuses nonce-0 mailboxes. Seed both test
874
+ // mailboxes before any staged deploy spends gas.
875
+ for (const [origin, destination] of [
876
+ [chain, remoteChain],
877
+ [remoteChain, chain],
878
+ ]) {
879
+ const mailbox = coreApp.getContracts(origin).mailbox;
880
+ if ((await mailbox.nonce()) !== 0)
881
+ continue;
882
+ const recipient = addressToBytes32(signer.address);
883
+ const quote = await mailbox['quoteDispatch(uint32,bytes32,bytes)'](multiProvider.getDomainId(destination), recipient, '0x');
884
+ await multiProvider.handleTx(origin, mailbox['dispatch(uint32,bytes32,bytes)'](multiProvider.getDomainId(destination), recipient, '0x', { value: quote }));
885
+ }
886
+ });
887
+ function delayedFlowTree(owner) {
888
+ return {
889
+ type: IsmType.AGGREGATION,
890
+ threshold: 2,
891
+ modules: [
892
+ {
893
+ type: IsmType.TRUSTED_RELAYER,
894
+ relayer: signer.address,
895
+ },
896
+ {
897
+ type: IsmType.DELAYED_FLOW_ROUTER,
898
+ thresholdBps: 10000,
899
+ maxDelay: 3600,
900
+ duration: 86400n,
901
+ owner,
902
+ },
903
+ ],
904
+ };
905
+ }
906
+ const hookView = (ism) => {
907
+ const nodes = collectHybridIsmNodes(ism);
908
+ assert(nodes.length === 1, `Expected one hybrid node, found ${nodes.length}`);
909
+ const node = nodes[0];
910
+ return node.type === IsmType.DELAYED_FLOW_ROUTER
911
+ ? { ...node, type: HookType.DELAYED_FLOW_ROUTER }
912
+ : { ...node, type: HookType.NET_FLOW_RATE_LIMITED };
913
+ };
914
+ async function deployHybridRoute(warpConfig, isms) {
915
+ const planned = objMap(warpConfig, (chainName, chainConfig) => {
916
+ const ism = isms[chainName];
917
+ assert(ism, `Missing hybrid ISM tree for ${chainName}`);
918
+ return {
919
+ ...chainConfig,
920
+ interchainSecurityModule: ism,
921
+ hook: hookView(ism),
922
+ };
923
+ });
924
+ const routers = await executeWarpDeploy(planned, multiProvider, {}, registryAddresses, {});
925
+ return objMap(routers, (_, address) => ({
926
+ synthetic: { address },
927
+ }));
928
+ }
929
+ async function expectDeployRejection(promise, message) {
930
+ const error = await promise.then(() => undefined, (thrown) => thrown instanceof Error ? thrown : new Error(String(thrown)));
931
+ assert(error, 'Expected staged deploy to reject');
932
+ expect(error.message).to.include(message);
933
+ }
934
+ it('wires a nested delayedFlowRouterHookIsm as ISM member AND hook, keeping deployer ownership for enrollment', async () => {
935
+ const warpOwner = ethers.Wallet.createRandom().address;
936
+ const warpConfig = {
937
+ [chain]: {
938
+ ...config[chain],
939
+ type: TokenType.synthetic,
940
+ owner: warpOwner,
941
+ },
942
+ };
943
+ const contracts = await deployHybridRoute(warpConfig, {
944
+ [chain]: delayedFlowTree(warpOwner),
945
+ });
946
+ const routerAddress = contracts[chain].synthetic.address;
947
+ const provider = multiProvider.getProvider(chain);
948
+ const tokenClient = MailboxClient__factory.connect(routerAddress, provider);
949
+ const ismAddress = await tokenClient.interchainSecurityModule();
950
+ expect(isZeroishAddress(ismAddress)).to.be.false;
951
+ // hook must be wired to the hybrid instance
952
+ const hookAddress = await tokenClient.hook();
953
+ expect(isZeroishAddress(hookAddress)).to.be.false;
954
+ // the hook is the DelayedFlowRouterHookIsm paired with this router
955
+ const delayedIsm = DelayedFlowRouterHookIsm__factory.connect(hookAddress, provider);
956
+ expect(eqAddress(await delayedIsm.warpRouter(), routerAddress)).to.be
957
+ .true;
958
+ expect(await delayedIsm.maxDelay()).to.equal(3600);
959
+ // the same instance must be a member of the aggregation ISM
960
+ const aggregationIsm = StaticAggregationIsm__factory.connect(ismAddress, provider);
961
+ const [modules] = await aggregationIsm.modulesAndThreshold(ethers.constants.AddressZero);
962
+ expect(modules.map((m) => m.toLowerCase())).to.include(hookAddress.toLowerCase());
963
+ // Both stay with the deployer until the final router-enrollment pass.
964
+ expect(eqAddress(await delayedIsm.owner(), signer.address)).to.be.true;
965
+ const router = GasRouter__factory.connect(routerAddress, provider);
966
+ expect((await router.owner()).toLowerCase()).to.equal(signer.address.toLowerCase());
967
+ });
968
+ it('does not proceed to the ISM phase when installing the hook fails', async () => {
969
+ const setHookSighash = MailboxClient__factory.createInterface().getSighash('setHook');
970
+ const setIsmSighash = MailboxClient__factory.createInterface().getSighash('setInterchainSecurityModule');
971
+ let sawIsmInstall = false;
972
+ const sendTransaction = multiProvider.sendTransaction.bind(multiProvider);
973
+ const sandbox = sinon.createSandbox();
974
+ sandbox
975
+ .stub(multiProvider, 'sendTransaction')
976
+ .callsFake(async (txChain, txProm, options) => {
977
+ const tx = await txProm;
978
+ if (typeof tx.data === 'string' &&
979
+ tx.data.startsWith(setIsmSighash)) {
980
+ sawIsmInstall = true;
981
+ }
982
+ if (typeof tx.data === 'string' &&
983
+ tx.data.startsWith(setHookSighash)) {
984
+ throw new Error('execution reverted: setHook');
985
+ }
986
+ return sendTransaction(txChain, tx, options);
987
+ });
988
+ try {
989
+ const warpConfig = {
990
+ [chain]: {
991
+ ...config[chain],
992
+ type: TokenType.synthetic,
993
+ owner: signer.address,
994
+ },
995
+ };
996
+ const error = await deployHybridRoute(warpConfig, {
997
+ [chain]: delayedFlowTree(signer.address),
998
+ }).then(() => undefined, (thrown) => thrown instanceof Error ? thrown : new Error(String(thrown)));
999
+ assert(error, 'expected the deploy to fail');
1000
+ expect(error.message).to.include('execution reverted: setHook');
1001
+ expect(sawIsmInstall).to.be.false;
1002
+ }
1003
+ finally {
1004
+ sandbox.restore();
1005
+ }
1006
+ });
1007
+ it('rejects a hybrid on an unmeterable router type before staged deploy', async () => {
1008
+ const warpConfig = {
1009
+ [chain]: {
1010
+ ...config[chain],
1011
+ type: TokenType.collateralVault,
1012
+ token: erc20.address,
1013
+ owner: signer.address,
1014
+ },
1015
+ };
1016
+ await expectDeployRejection(deployHybridRoute(warpConfig, {
1017
+ [chain]: delayedFlowTree(signer.address),
1018
+ }), 'cannot meter');
1019
+ });
1020
+ it('rejects a hybrid combined with a predicateWrapper before staged deploy', async () => {
1021
+ const warpConfig = {
1022
+ [chain]: {
1023
+ ...config[chain],
1024
+ type: TokenType.synthetic,
1025
+ owner: signer.address,
1026
+ predicateWrapper: {
1027
+ predicateRegistry: randomAddress(),
1028
+ policyId: 'test-policy',
1029
+ owner: signer.address,
1030
+ },
1031
+ },
1032
+ };
1033
+ await expectDeployRejection(deployHybridRoute(warpConfig, {
1034
+ [chain]: delayedFlowTree(signer.address),
1035
+ }), 'both must own');
1036
+ });
1037
+ it('rejects a top-level netFlowRateLimitedHookIsm (no authenticating ISM)', async () => {
1038
+ const warpOwner = ethers.Wallet.createRandom().address;
1039
+ const warpConfig = {
1040
+ [chain]: {
1041
+ ...config[chain],
1042
+ type: TokenType.synthetic,
1043
+ owner: warpOwner,
1044
+ },
1045
+ };
1046
+ // moduleType() is NULL: alone it authenticates nothing, so a forged
1047
+ // message would mint on this synthetic leg subject only to bucket
1048
+ // capacity. The composition rule must reject it.
1049
+ const netFlowConfig = {
1050
+ type: IsmType.NET_FLOW_RATE_LIMITED,
1051
+ thresholdBps: 500,
1052
+ duration: 86400n,
1053
+ owner: warpOwner,
1054
+ };
1055
+ await expectDeployRejection(deployHybridRoute(warpConfig, { [chain]: netFlowConfig }), 'verifies flow, not message authenticity');
1056
+ });
1057
+ it('wires a netFlowRateLimitedHookIsm composed under an authenticating aggregation as both hook and ISM', async () => {
1058
+ const warpOwner = ethers.Wallet.createRandom().address;
1059
+ const warpConfig = {
1060
+ [chain]: {
1061
+ ...config[chain],
1062
+ type: TokenType.synthetic,
1063
+ owner: warpOwner,
1064
+ },
1065
+ };
1066
+ const netFlowConfig = {
1067
+ type: IsmType.AGGREGATION,
1068
+ threshold: 2,
1069
+ modules: [
1070
+ { type: IsmType.TRUSTED_RELAYER, relayer: signer.address },
1071
+ {
1072
+ type: IsmType.NET_FLOW_RATE_LIMITED,
1073
+ thresholdBps: 500,
1074
+ duration: 86400n,
1075
+ owner: warpOwner,
1076
+ },
1077
+ ],
1078
+ };
1079
+ const contracts = await deployHybridRoute(warpConfig, {
1080
+ [chain]: netFlowConfig,
1081
+ });
1082
+ const routerAddress = contracts[chain].synthetic.address;
1083
+ const provider = multiProvider.getProvider(chain);
1084
+ // Mirror the CLI's post-deploy pass. It enrolls route peers and hands
1085
+ // the router, ProxyAdmin, and shared hybrid to their final owner.
1086
+ const enrollmentTxs = await enrollCrossChainRouters({
1087
+ multiProvider,
1088
+ altVmSigners: {},
1089
+ registryAddresses,
1090
+ warpDeployConfig: warpConfig,
1091
+ }, { [chain]: routerAddress });
1092
+ for (const rawTx of enrollmentTxs[chain] ?? []) {
1093
+ assertEvmTransaction(rawTx, chain);
1094
+ await multiProvider.sendTransaction(chain, {
1095
+ to: rawTx.to,
1096
+ data: rawTx.data,
1097
+ value: rawTx.value,
1098
+ });
1099
+ }
1100
+ const tokenClient = MailboxClient__factory.connect(routerAddress, provider);
1101
+ const ismAddress = await tokenClient.interchainSecurityModule();
1102
+ const hookAddress = await tokenClient.hook();
1103
+ expect(isZeroishAddress(hookAddress)).to.be.false;
1104
+ // The hook is the hybrid leaf inside the installed aggregation, not the
1105
+ // aggregation itself.
1106
+ const [modules] = await StaticAggregationIsm__factory.connect(ismAddress, provider).modulesAndThreshold(ethers.constants.AddressZero);
1107
+ expect(modules.map((m) => m.toLowerCase())).to.include(hookAddress.toLowerCase());
1108
+ const netFlowIsm = NetFlowRateLimitedHookIsm__factory.connect(hookAddress, provider);
1109
+ expect(eqAddress(await netFlowIsm.warpRouter(), routerAddress)).to.be
1110
+ .true;
1111
+ // Ownership transfers only after all route wiring is complete.
1112
+ expect((await netFlowIsm.owner()).toLowerCase()).to.equal(warpOwner.toLowerCase());
1113
+ expect((await TokenRouter__factory.connect(routerAddress, provider).owner()).toLowerCase()).to.equal(warpOwner.toLowerCase());
1114
+ const secondEnrollmentTxs = await enrollCrossChainRouters({
1115
+ multiProvider,
1116
+ altVmSigners: {},
1117
+ registryAddresses,
1118
+ warpDeployConfig: warpConfig,
1119
+ }, { [chain]: routerAddress });
1120
+ expect(Object.keys(secondEnrollmentTxs)).to.have.length(0);
1121
+ });
1122
+ it('defaults an omitted netFlowRateLimitedHookIsm owner to the chain config owner', async () => {
1123
+ const warpOwner = ethers.Wallet.createRandom().address;
1124
+ const warpConfig = {
1125
+ [chain]: {
1126
+ ...config[chain],
1127
+ type: TokenType.synthetic,
1128
+ owner: warpOwner,
1129
+ },
1130
+ };
1131
+ const ownerlessNetFlow = {
1132
+ type: IsmType.AGGREGATION,
1133
+ threshold: 2,
1134
+ modules: [
1135
+ { type: IsmType.TRUSTED_RELAYER, relayer: signer.address },
1136
+ {
1137
+ type: IsmType.NET_FLOW_RATE_LIMITED,
1138
+ thresholdBps: 500,
1139
+ duration: 86400n,
1140
+ },
1141
+ ],
1142
+ };
1143
+ const contracts = await deployHybridRoute(warpConfig, {
1144
+ [chain]: ownerlessNetFlow,
1145
+ });
1146
+ const routerAddress = contracts[chain].synthetic.address;
1147
+ const provider = multiProvider.getProvider(chain);
1148
+ const enrollmentTxs = await enrollCrossChainRouters({
1149
+ multiProvider,
1150
+ altVmSigners: {},
1151
+ registryAddresses,
1152
+ warpDeployConfig: warpConfig,
1153
+ }, { [chain]: routerAddress });
1154
+ for (const rawTx of enrollmentTxs[chain] ?? []) {
1155
+ assertEvmTransaction(rawTx, chain);
1156
+ await multiProvider.sendTransaction(chain, {
1157
+ to: rawTx.to,
1158
+ data: rawTx.data,
1159
+ value: rawTx.value,
1160
+ });
1161
+ }
1162
+ // the hybrid leaf is the router's hook; the ISM is the aggregation
1163
+ const hookAddress = await MailboxClient__factory.connect(routerAddress, provider).hook();
1164
+ const netFlowIsm = NetFlowRateLimitedHookIsm__factory.connect(hookAddress, provider);
1165
+ // The final pass defaults an omitted hybrid owner to the chain owner.
1166
+ expect((await netFlowIsm.owner()).toLowerCase()).to.equal(warpOwner.toLowerCase());
1167
+ });
1168
+ it('enrolls delayedFlowRouterHookIsm counterparts cross-chain and transfers ownership last', async () => {
1169
+ const warpOwner = ethers.Wallet.createRandom().address;
1170
+ const warpDeployConfig = {
1171
+ [chain]: {
1172
+ ...config[chain],
1173
+ type: TokenType.synthetic,
1174
+ owner: warpOwner,
1175
+ interchainSecurityModule: delayedFlowTree(warpOwner),
1176
+ },
1177
+ [remoteChain]: {
1178
+ ...config[remoteChain],
1179
+ type: TokenType.synthetic,
1180
+ owner: warpOwner,
1181
+ interchainSecurityModule: delayedFlowTree(warpOwner),
1182
+ },
1183
+ };
1184
+ const contracts = await deployHybridRoute(warpDeployConfig, {
1185
+ [chain]: delayedFlowTree(warpOwner),
1186
+ [remoteChain]: delayedFlowTree(warpOwner),
1187
+ });
1188
+ const deployedContracts = objMap(contracts, (_, c) => c.synthetic.address);
1189
+ const enrollTxs = await enrollCrossChainRouters({
1190
+ multiProvider,
1191
+ altVmSigners: {},
1192
+ registryAddresses,
1193
+ warpDeployConfig,
1194
+ }, deployedContracts);
1195
+ for (const [txChain, txs] of Object.entries(enrollTxs)) {
1196
+ for (const rawTx of txs) {
1197
+ assertEvmTransaction(rawTx, txChain);
1198
+ // drop the annotated chainId: every hardhat test chain shares one
1199
+ // node (chainId 31337) while test-chain metadata carries fake ids
1200
+ await multiProvider.sendTransaction(txChain, {
1201
+ to: rawTx.to,
1202
+ data: rawTx.data,
1203
+ value: rawTx.value,
1204
+ });
1205
+ }
1206
+ }
1207
+ const localProvider = multiProvider.getProvider(chain);
1208
+ const remoteProvider = multiProvider.getProvider(remoteChain);
1209
+ const localDfr = DelayedFlowRouterHookIsm__factory.connect(await MailboxClient__factory.connect(deployedContracts[chain], localProvider).hook(), localProvider);
1210
+ const remoteDfr = DelayedFlowRouterHookIsm__factory.connect(await MailboxClient__factory.connect(deployedContracts[remoteChain], remoteProvider).hook(), remoteProvider);
1211
+ // mutual DFR enrollment
1212
+ const localDomain = multiProvider.getDomainId(chain);
1213
+ const remoteDomain = multiProvider.getDomainId(remoteChain);
1214
+ expect(await localDfr.routers(remoteDomain)).to.equal(addressToBytes32(remoteDfr.address).toLowerCase());
1215
+ expect(await remoteDfr.routers(localDomain)).to.equal(addressToBytes32(localDfr.address).toLowerCase());
1216
+ // ownership handed to the configured owner after enrollment
1217
+ expect((await localDfr.owner()).toLowerCase()).to.equal(warpOwner.toLowerCase());
1218
+ expect((await remoteDfr.owner()).toLowerCase()).to.equal(warpOwner.toLowerCase());
1219
+ // a second pass converges to zero transactions
1220
+ const secondEnrollTxs = await enrollCrossChainRouters({
1221
+ multiProvider,
1222
+ altVmSigners: {},
1223
+ registryAddresses,
1224
+ warpDeployConfig,
1225
+ }, deployedContracts);
1226
+ expect(Object.keys(secondEnrollTxs)).to.have.length(0);
1227
+ });
1228
+ it('reconciles delayedFlowRouterHookIsm enrollment drift', async () => {
1229
+ // Owner is the deployer so the drift can be introduced directly and the
1230
+ // corrective transactions can be submitted from this test.
1231
+ const owner = signer.address;
1232
+ const warpDeployConfig = {
1233
+ [chain]: {
1234
+ ...config[chain],
1235
+ type: TokenType.synthetic,
1236
+ owner,
1237
+ interchainSecurityModule: delayedFlowTree(owner),
1238
+ },
1239
+ [remoteChain]: {
1240
+ ...config[remoteChain],
1241
+ type: TokenType.synthetic,
1242
+ owner,
1243
+ interchainSecurityModule: delayedFlowTree(owner),
1244
+ },
1245
+ };
1246
+ const contracts = await deployHybridRoute(objMap(warpDeployConfig, (_, c) => ({
1247
+ ...c,
1248
+ interchainSecurityModule: undefined,
1249
+ })), {
1250
+ [chain]: delayedFlowTree(owner),
1251
+ [remoteChain]: delayedFlowTree(owner),
1252
+ });
1253
+ const deployedContracts = objMap(contracts, (_, c) => c.synthetic.address);
1254
+ const submit = async (txs) => {
1255
+ for (const [txChain, chainTxs] of Object.entries(txs)) {
1256
+ for (const rawTx of chainTxs) {
1257
+ assertEvmTransaction(rawTx, txChain);
1258
+ await multiProvider.sendTransaction(txChain, {
1259
+ to: rawTx.to,
1260
+ data: rawTx.data,
1261
+ value: rawTx.value,
1262
+ });
1263
+ }
1264
+ }
1265
+ };
1266
+ await submit(await enrollCrossChainRouters({
1267
+ multiProvider,
1268
+ altVmSigners: {},
1269
+ registryAddresses,
1270
+ warpDeployConfig,
1271
+ }, deployedContracts));
1272
+ const localProvider = multiProvider.getProvider(chain);
1273
+ const localDfrAddress = await MailboxClient__factory.connect(deployedContracts[chain], localProvider).hook();
1274
+ const localDfr = DelayedFlowRouterHookIsm__factory.connect(localDfrAddress, multiProvider.getSigner(chain));
1275
+ const remoteDomain = multiProvider.getDomainId(remoteChain);
1276
+ // Introduce drift: point the local instance at a bogus counterpart.
1277
+ const bogusRouter = addressToBytes32(randomAddress()).toLowerCase();
1278
+ await multiProvider.handleTx(chain, localDfr.enrollRemoteRouter(remoteDomain, bogusRouter));
1279
+ expect(await localDfr.routers(remoteDomain)).to.equal(bogusRouter);
1280
+ // Re-running enrollment must emit corrective transactions...
1281
+ const driftTxs = await enrollCrossChainRouters({
1282
+ multiProvider,
1283
+ altVmSigners: {},
1284
+ registryAddresses,
1285
+ warpDeployConfig,
1286
+ }, deployedContracts);
1287
+ expect(Object.keys(driftTxs)).to.include(chain);
1288
+ await submit(driftTxs);
1289
+ // ...restoring the real counterpart, and then converging again.
1290
+ const remoteDfrAddress = await MailboxClient__factory.connect(deployedContracts[remoteChain], multiProvider.getProvider(remoteChain)).hook();
1291
+ expect(await localDfr.routers(remoteDomain)).to.equal(addressToBytes32(remoteDfrAddress).toLowerCase());
1292
+ const convergedTxs = await enrollCrossChainRouters({
1293
+ multiProvider,
1294
+ altVmSigners: {},
1295
+ registryAddresses,
1296
+ warpDeployConfig,
1297
+ }, deployedContracts);
1298
+ expect(Object.keys(convergedTxs)).to.have.length(0);
1299
+ });
1300
+ });
1301
+ describe('TokenFee with optional token for synthetic', () => {
1302
+ it('should deploy LinearFee without token and resolve to router address', async () => {
1303
+ const syntheticConfig = {
1304
+ [chain]: {
1305
+ ...config[chain],
1306
+ type: TokenType.synthetic,
1307
+ tokenFee: {
1308
+ type: TokenFeeType.LinearFee,
1309
+ owner: signer.address,
1310
+ bps: 100,
1311
+ maxFee: 1000000000n,
1312
+ halfAmount: 500000000n,
1313
+ },
1314
+ },
1315
+ };
1316
+ const warpRoute = await deployer.deploy(syntheticConfig);
1317
+ const routerAddress = warpRoute[chain].synthetic.address;
1318
+ const router = TokenRouter__factory.connect(routerAddress, multiProvider.getProvider(chain));
1319
+ const feeRecipient = await router.feeRecipient();
1320
+ expect(isZeroishAddress(feeRecipient)).to.be.false;
1321
+ const linearFee = LinearFee__factory.connect(feeRecipient, multiProvider.getProvider(chain));
1322
+ const feeToken = await linearFee.token();
1323
+ expect(eqAddress(feeToken, routerAddress)).to.be.true;
1324
+ });
1325
+ it('should deploy RoutingFee without token and resolve to router address', async () => {
1326
+ const syntheticConfig = {
1327
+ [chain]: {
1328
+ ...config[chain],
1329
+ type: TokenType.synthetic,
1330
+ tokenFee: {
1331
+ type: TokenFeeType.RoutingFee,
1332
+ owner: signer.address,
1333
+ feeContracts: {
1334
+ [TestChainName.test2]: {
1335
+ type: TokenFeeType.LinearFee,
1336
+ owner: signer.address,
1337
+ bps: 100,
1338
+ maxFee: 1000000000n,
1339
+ halfAmount: 500000000n,
1340
+ },
1341
+ },
1342
+ },
1343
+ },
1344
+ };
1345
+ const warpRoute = await deployer.deploy(syntheticConfig);
1346
+ const routerAddress = warpRoute[chain].synthetic.address;
1347
+ const router = TokenRouter__factory.connect(routerAddress, multiProvider.getProvider(chain));
1348
+ const feeRecipient = await router.feeRecipient();
1349
+ expect(isZeroishAddress(feeRecipient)).to.be.false;
1350
+ const routingFee = RoutingFee__factory.connect(feeRecipient, multiProvider.getProvider(chain));
1351
+ const feeToken = await routingFee.token();
1352
+ expect(eqAddress(feeToken, routerAddress)).to.be.true;
1353
+ });
1354
+ it('should resolve LinearFee token to the on-chain wrapped token for xERC20Lockbox', async () => {
1355
+ // Regression: for a lockbox, tokenConfig.token is the lockbox address, but
1356
+ // the router's token()/feeToken() returns the underlying wrapped ERC20.
1357
+ // The fee contract must be deployed with token() so the router's
1358
+ // "fee must match token" check passes. Resolution reads this on-chain.
1359
+ const { name, symbol, decimals } = config[chain];
1360
+ assert(name, 'expected a token name in the config');
1361
+ assert(symbol, 'expected a token symbol in the config');
1362
+ assert(decimals != null, 'expected token decimals in the config');
1363
+ const lockbox = await new XERC20LockboxTest__factory(signer).deploy(name, symbol, totalSupply, decimals);
1364
+ const wrappedToken = await lockbox.ERC20();
1365
+ const lockboxConfig = {
1366
+ [chain]: {
1367
+ ...config[chain],
1368
+ type: TokenType.XERC20Lockbox,
1369
+ token: lockbox.address,
1370
+ tokenFee: {
1371
+ type: TokenFeeType.LinearFee,
1372
+ owner: signer.address,
1373
+ bps: 100,
1374
+ maxFee: 1000000000n,
1375
+ halfAmount: 500000000n,
1376
+ },
1377
+ },
1378
+ };
1379
+ const warpRoute = await deployer.deploy(lockboxConfig);
1380
+ const routerAddress = warpRoute[chain].xERC20Lockbox.address;
1381
+ const router = HypXERC20Lockbox__factory.connect(routerAddress, multiProvider.getProvider(chain));
1382
+ const routerToken = await router.token();
1383
+ // Sanity: the router's token is the wrapped ERC20, not the lockbox.
1384
+ expect(eqAddress(routerToken, wrappedToken)).to.be.true;
1385
+ expect(eqAddress(routerToken, lockbox.address)).to.be.false;
1386
+ const feeRecipient = await router.feeRecipient();
1387
+ expect(isZeroishAddress(feeRecipient)).to.be.false;
1388
+ const linearFee = LinearFee__factory.connect(feeRecipient, multiProvider.getProvider(chain));
1389
+ const feeToken = await linearFee.token();
1390
+ // The fee token must equal router.token() (the invariant the router
1391
+ // enforces), and must NOT be the lockbox address (the pre-fix bug).
1392
+ expect(eqAddress(feeToken, routerToken)).to.be.true;
1393
+ expect(eqAddress(feeToken, lockbox.address)).to.be.false;
1394
+ });
1395
+ });
1396
+ });
1397
+ //# sourceMappingURL=deploy.hardhat-test.js.map