@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,1292 @@
1
+ import { compareVersions } from 'compare-versions';
2
+ import { BigNumber, Contract, constants, utils } from 'ethers';
3
+ import { AtomicLocalRebalancingBridge__factory, CrossCollateralRouter__factory, EverclearTokenBridge__factory, PredicateRouterWrapper__factory, HypERC20Collateral__factory, HypERC20__factory, HypERC4626Collateral__factory, HypERC4626OwnerCollateral__factory, HypERC4626__factory, HypXERC20Lockbox__factory, HypXERC20__factory, IFiatToken__factory, IMessageTransmitter__factory, ISafe__factory, IWETH__factory, IXERC20__factory, MovableCollateralRouter__factory, OpL1NativeTokenBridge__factory, OpL2NativeTokenBridge__factory, Ownable__factory, ProxyAdmin__factory, TokenBridgeOft__factory, TokenBridgeCctpBase__factory, TokenBridgeCctpV2__factory, TokenBridgeDepositAddress__factory, TokenRouter__factory, } from '@recoillink/core';
4
+ import { buildArtifact as coreBuildArtifact } from '@recoillink/core/buildArtifact.js';
5
+ import { addressToBytes32, arrayToObject, assert, eqAddress, getLogLevel, isNullish, isZeroish, isZeroishAddress, objFilter, objMap, promiseObjAll, rootLogger, strip0x, } from '@recoillink/utils';
6
+ import { ExplorerLicenseType } from '../block-explorer/etherscan.js';
7
+ import { DEFAULT_CONTRACT_READ_CONCURRENCY } from '../consts/concurrency.js';
8
+ import { isAddressActive } from '../contracts/contracts.js';
9
+ import { ContractVerifier } from '../deploy/verify/ContractVerifier.js';
10
+ import { VerifyContractTypes } from '../deploy/verify/types.js';
11
+ import { EvmTokenFeeReader, } from '../fee/EvmTokenFeeReader.js';
12
+ import { mergeCrossCollateralRouters, } from '../fee/crossCollateralUtils.js';
13
+ import { EvmHookReader } from '../hook/EvmHookReader.js';
14
+ import { HookType, OnchainHookType } from '../hook/types.js';
15
+ import { EvmIsmReader } from '../ism/EvmIsmReader.js';
16
+ import { MultiProtocolProvider } from '../providers/MultiProtocolProvider.js';
17
+ import { EvmRouterReader } from '../router/EvmRouterReader.js';
18
+ import { fetchPackageVersion as fetchContractPackageVersion, isMissingSelectorRevert, isPanicRevert, throwIfNotMissingSelector, throwIfNotMissingSelectorRevert, } from '../utils/contract.js';
19
+ import { EIP1967_BEACON_SLOT, EIP1967_IMPLEMENTATION_SLOT, isProxy, isStorageEmpty, proxyAdmin, proxyImplementation, } from './../deploy/proxy.js';
20
+ import { NON_ZERO_SENDER_ADDRESS, TokenType } from './config.js';
21
+ import { ContractVerificationStatus, HypTokenConfigSchema, OwnerStatus, isMovableCollateralTokenConfig, isCrossCollateralTokenConfig, } from './types.js';
22
+ import { readXERC20Limits } from './xerc20-limits.js';
23
+ import { UnknownXERC20TypeError, deriveXERC20TokenType, getExtraLockBoxConfigs, } from './xerc20.js';
24
+ // EIP-1167 minimal proxy runtime code: prefix, 20-byte implementation, suffix
25
+ const EIP1167_PREFIX = '0x363d3d373d3d3d363d73';
26
+ const EIP1167_ADDRESS_HEX_LENGTH = 40;
27
+ function containsDelegateCall(bytecode) {
28
+ const hex = strip0x(bytecode);
29
+ for (let offset = 0; offset + 2 <= hex.length; offset += 2) {
30
+ const opcode = Number.parseInt(hex.slice(offset, offset + 2), 16);
31
+ if (opcode === 0xf4)
32
+ return true;
33
+ if (opcode >= 0x60 && opcode <= 0x7f) {
34
+ offset += (opcode - 0x5f) * 2;
35
+ }
36
+ }
37
+ return false;
38
+ }
39
+ const SelectorStatus = {
40
+ Present: 'present',
41
+ Absent: 'absent',
42
+ // selector absent but the bytecode contains DELEGATECALL, so it may forward
43
+ Forwarding: 'forwarding',
44
+ // beacon proxy, unreadable or empty code
45
+ Unresolved: 'unresolved',
46
+ };
47
+ const REBALANCING_CONTRACT_VERSION = '8.0.0';
48
+ export const TOKEN_FEE_CONTRACT_VERSION = '10.0.0';
49
+ // version that introduced the fractional scale interface
50
+ const SCALE_FRACTION_VERSION = '11.0.0';
51
+ // public `scale()` getter on FungibleTokenRouter, core 6.0.0 to 10.x (replaced
52
+ // by scaleNumerator/scaleDenominator in 11.0.0)
53
+ // https://github.com/hyperlane-xyz/hyperlane-monorepo/releases/tag/%40hyperlane-xyz%2Fcore%406.0.0
54
+ const SCALE_VERSION = '6.0.0';
55
+ const LEGACY_SCALE_INTERFACE = new utils.Interface([
56
+ 'function scale() external view returns (uint256)',
57
+ ]);
58
+ // Version that introduced CrossCollateralRouter.rebalanceTargets().
59
+ const REBALANCE_TARGETS_CONTRACT_VERSION = '12.0.0';
60
+ // Version that first introduced ppm precision for CCTP V2 fee storage (was bps before)
61
+ export const CCTP_PPM_STORAGE_VERSION = '10.2.0';
62
+ // Version that renamed maxFeeBps() to maxFeePpm() on-chain
63
+ export const CCTP_PPM_PRECISION_VERSION = '11.0.0';
64
+ export class EvmWarpRouteReader extends EvmRouterReader {
65
+ multiProvider;
66
+ chain;
67
+ concurrency;
68
+ logger = rootLogger.child({
69
+ module: 'EvmWarpRouteReader',
70
+ });
71
+ depositAddressDomainConfigsCache = new Map();
72
+ // Using null instead of undefined to force
73
+ // a compile error when adding a new token type
74
+ deriveTokenConfigMap;
75
+ evmHookReader;
76
+ evmIsmReader;
77
+ evmTokenFeeReader;
78
+ contractVerifier;
79
+ constructor(multiProvider, chain, concurrency = DEFAULT_CONTRACT_READ_CONCURRENCY, contractVerifier) {
80
+ super(multiProvider, chain);
81
+ this.multiProvider = multiProvider;
82
+ this.chain = chain;
83
+ this.concurrency = concurrency;
84
+ this.evmHookReader = new EvmHookReader(multiProvider, chain, concurrency);
85
+ this.evmIsmReader = new EvmIsmReader(multiProvider, chain, concurrency);
86
+ this.evmTokenFeeReader = new EvmTokenFeeReader(multiProvider, chain);
87
+ this.deriveTokenConfigMap = {
88
+ [TokenType.XERC20]: this.deriveHypXERC20TokenConfig.bind(this),
89
+ [TokenType.XERC20Lockbox]: this.deriveHypXERC20LockboxTokenConfig.bind(this),
90
+ [TokenType.collateral]: this.deriveHypCollateralTokenConfig.bind(this),
91
+ [TokenType.collateralFiat]: this.deriveHypCollateralFiatTokenConfig.bind(this),
92
+ [TokenType.collateralVault]: this.deriveHypCollateralVaultTokenConfig.bind(this),
93
+ [TokenType.collateralCctp]: this.deriveHypCollateralCctpTokenConfig.bind(this),
94
+ [TokenType.collateralVaultRebase]: this.deriveHypCollateralVaultRebaseTokenConfig.bind(this),
95
+ [TokenType.native]: this.deriveHypNativeTokenConfig.bind(this),
96
+ [TokenType.nativeOpL2]: this.deriveOpL2TokenConfig.bind(this),
97
+ [TokenType.nativeOpL1]: this.deriveOpL1TokenConfig.bind(this),
98
+ [TokenType.synthetic]: this.deriveHypSyntheticTokenConfig.bind(this),
99
+ [TokenType.unknown]: null,
100
+ [TokenType.syntheticRebase]: this.deriveHypSyntheticRebaseConfig.bind(this),
101
+ [TokenType.nativeScaled]: null,
102
+ [TokenType.collateralUri]: null,
103
+ [TokenType.syntheticUri]: null,
104
+ [TokenType.ethEverclear]: this.deriveEverclearEthTokenBridgeConfig.bind(this),
105
+ [TokenType.collateralEverclear]: this.deriveEverclearCollateralTokenBridgeConfig.bind(this),
106
+ [TokenType.collateralDepositAddress]: this.deriveHypCollateralDepositAddressTokenConfig.bind(this),
107
+ [TokenType.collateralOft]: this.deriveHypCollateralOftTokenConfig.bind(this),
108
+ [TokenType.atomicLocalRebalancing]: this.deriveAtomicLocalRebalancingBridgeTokenConfig.bind(this),
109
+ [TokenType.crossCollateral]: this.deriveCrossCollateralTokenConfig.bind(this),
110
+ };
111
+ this.contractVerifier =
112
+ contractVerifier ??
113
+ new ContractVerifier(multiProvider, {}, coreBuildArtifact, ExplorerLicenseType.MIT);
114
+ }
115
+ /**
116
+ * Derives the configuration for a Hyperlane warp route token router contract at the given address.
117
+ *
118
+ * @param warpRouteAddress - The address of the Hyperlane warp route token router contract.
119
+ * @returns The configuration for the Hyperlane warp route token router.
120
+ *
121
+ */
122
+ async deriveWarpRouteConfig(warpRouteAddress) {
123
+ // Derive the config type
124
+ const type = await this.deriveTokenType(warpRouteAddress);
125
+ const tokenConfig = await this.fetchTokenConfig(type, warpRouteAddress);
126
+ const isDepositAddressBridge = type === TokenType.collateralDepositAddress;
127
+ // Bare bridges don't expose Router/MailboxClient interfaces.
128
+ const isOft = type === TokenType.collateralOft;
129
+ const isAtomicLocalRebalancing = type === TokenType.atomicLocalRebalancing;
130
+ const usesSentinelRouterConfig = isDepositAddressBridge || isOft || isAtomicLocalRebalancing;
131
+ const routerConfig = usesSentinelRouterConfig
132
+ ? {
133
+ mailbox: constants.AddressZero,
134
+ owner: await Ownable__factory.connect(warpRouteAddress, this.provider).owner(),
135
+ hook: constants.AddressZero,
136
+ interchainSecurityModule: constants.AddressZero,
137
+ remoteRouters: {},
138
+ }
139
+ : await this.readRouterConfig(warpRouteAddress);
140
+ // ALRB is a bare ITokenBridge adapter rather than a TokenRouter. Its full
141
+ // readable surface is covered by tokenConfig plus the sentinel router
142
+ // fields above, so avoid probing proxy, fee, hook, and destination-gas
143
+ // interfaces that it intentionally does not implement.
144
+ if (isAtomicLocalRebalancing) {
145
+ return {
146
+ ...routerConfig,
147
+ ...tokenConfig,
148
+ };
149
+ }
150
+ // if the token has not been deployed as a proxy do not derive the config
151
+ // inevm warp routes are an example
152
+ const proxyAdmin = (await isProxy(this.provider, warpRouteAddress))
153
+ ? await this.fetchProxyAdminConfig(warpRouteAddress)
154
+ : undefined;
155
+ const ccrEnrolledDomains = [];
156
+ if (isCrossCollateralTokenConfig(tokenConfig) &&
157
+ tokenConfig.crossCollateralRouters) {
158
+ for (const domain of Object.keys(tokenConfig.crossCollateralRouters)) {
159
+ ccrEnrolledDomains.push(Number(domain));
160
+ }
161
+ }
162
+ // OFT contracts don't have destination gas config
163
+ // For CrossCollateralRouter tokens, include domains from crossCollateralRouters so
164
+ // fetchDestinationGas also reads gas for MC-only enrolled domains.
165
+ let destinationGas;
166
+ if (usesSentinelRouterConfig) {
167
+ destinationGas = undefined;
168
+ }
169
+ else {
170
+ destinationGas = await this.fetchDestinationGas(warpRouteAddress, ccrEnrolledDomains);
171
+ }
172
+ assert(tokenConfig.contractVersion, `Missing contractVersion for ${warpRouteAddress} on ${this.chain}`);
173
+ const hasRebalancingInterface = compareVersions(tokenConfig.contractVersion, REBALANCING_CONTRACT_VERSION) >= 0;
174
+ const selfDomainId = this.multiProvider.getDomainId(this.chain);
175
+ let allowedRebalancers;
176
+ let allowedRebalancingBridges;
177
+ let domains;
178
+ // Only movable collateral tokens (collateral/native) have rebalancing config
179
+ if (hasRebalancingInterface &&
180
+ isMovableCollateralTokenConfig(tokenConfig)) {
181
+ const movableToken = MovableCollateralRouter__factory.connect(warpRouteAddress, this.provider);
182
+ try {
183
+ allowedRebalancers = await MovableCollateralRouter__factory.connect(warpRouteAddress, this.provider).allowedRebalancers();
184
+ }
185
+ catch (error) {
186
+ // If this crashes it probably is because the token implementation has not been updated to be a movable collateral
187
+ this.logger.error(`Failed to get configured rebalancers for token at "${warpRouteAddress}" on chain ${this.chain}`, error);
188
+ }
189
+ try {
190
+ domains = await movableToken.domains();
191
+ // CrossCollateralRouter can enroll a same-domain atomic bridge even
192
+ // though Router.domains() only returns remote domains. Include the
193
+ // local domain so warp check/apply observes that bridge and converges.
194
+ const bridgeDomains = isCrossCollateralTokenConfig(tokenConfig)
195
+ ? [...new Set([...domains, selfDomainId])]
196
+ : domains;
197
+ const allowedBridgesByDomain = await promiseObjAll(objMap(arrayToObject(bridgeDomains.map((domain) => domain.toString())), (domain) => movableToken.allowedBridges(domain)));
198
+ allowedRebalancingBridges = objFilter(objMap(allowedBridgesByDomain, (_domain, bridges) => bridges.map((bridge) => ({ bridge }))),
199
+ // Remove domains that do not have allowed bridges
200
+ (_domain, bridges) => bridges.length !== 0);
201
+ }
202
+ catch (error) {
203
+ // If this crashes it probably is because the token implementation has not been updated to be a movable collateral
204
+ this.logger.error(`Failed to get allowed rebalancer bridges for token at "${warpRouteAddress}" on chain ${this.chain}`, error);
205
+ }
206
+ }
207
+ // Use both router.domains() and CCR-enrolled domains for token fee derivation.
208
+ // Unlike destinationGas, token fees may legitimately exist for self-domain
209
+ // same-chain CCR swaps, so keep selfDomain in the destination set here.
210
+ const feeDestinations = [
211
+ ...new Set([...(domains ?? []), ...ccrEnrolledDomains]),
212
+ ];
213
+ // CCR feeContracts are keyed by each destination's enrolled router address.
214
+ // Those keys are the normal remoteRouters, not just the MC-enrolled
215
+ // crossCollateralRouters, so union both — otherwise the reader misses every
216
+ // fee entry keyed under a normal router and reports false-positive diffs.
217
+ // remoteRouters omits the local domain, so add this router's own address as
218
+ // the key for self-domain (same-chain CCR swap) fee entries.
219
+ const feeRouterKeys = isCrossCollateralTokenConfig(tokenConfig)
220
+ ? mergeCrossCollateralRouters(tokenConfig.crossCollateralRouters, this.remoteRoutersToRouterKeys(routerConfig.remoteRouters), { [selfDomainId]: [addressToBytes32(warpRouteAddress)] })
221
+ : undefined;
222
+ const tokenFee = await this.fetchTokenFee(warpRouteAddress, feeDestinations.length ? feeDestinations : undefined, feeRouterKeys);
223
+ // Read feeHook (IGP address for ERC20 gas payments)
224
+ const feeHook = await this.fetchFeeHook(warpRouteAddress);
225
+ // CCTP tokens implement their own ISM (the contract itself acts as the ISM via AbstractCcipReadIsm).
226
+ // The ISM is hardcoded and not configurable, so we return zero address to match deploy config expectations.
227
+ if (type === TokenType.collateralCctp &&
228
+ 'interchainSecurityModule' in routerConfig) {
229
+ routerConfig.interchainSecurityModule = constants.AddressZero;
230
+ }
231
+ const predicateWrapper = await this.derivePredicateWrapperConfig(routerConfig.hook, warpRouteAddress);
232
+ const derivedConfig = {
233
+ ...routerConfig,
234
+ ...tokenConfig,
235
+ allowedRebalancers,
236
+ allowedRebalancingBridges,
237
+ proxyAdmin,
238
+ destinationGas,
239
+ tokenFee,
240
+ feeHook,
241
+ ...(predicateWrapper && { predicateWrapper }),
242
+ };
243
+ return derivedConfig;
244
+ }
245
+ /**
246
+ * Searches the derived hook tree for a PredicateRouterWrapper and, if found,
247
+ * reads its on-chain config (registry, policyId, owner).
248
+ *
249
+ * EvmHookReader.preserveUnredeployable() stores PREDICATE sub-hooks as bare address
250
+ * strings (to survive normalizeConfig and deploy's string branch). The sync
251
+ * findPredicateAddressInHook() returns undefined for bare strings, so we fall back to
252
+ * an on-chain hookType() probe on bare string sub-hooks of aggregation hooks.
253
+ */
254
+ async derivePredicateWrapperConfig(hook, warpRouteAddress) {
255
+ let predicateAddress = this.findPredicateAddressInHook(hook);
256
+ if (!predicateAddress &&
257
+ typeof hook !== 'string' &&
258
+ hook?.type === HookType.AGGREGATION) {
259
+ for (const sub of hook.hooks) {
260
+ if (typeof sub !== 'string')
261
+ continue;
262
+ try {
263
+ const candidate = PredicateRouterWrapper__factory.connect(sub, this.provider);
264
+ const [hookType, warpRoute] = await Promise.all([
265
+ candidate.hookType(),
266
+ candidate.warpRoute(),
267
+ ]);
268
+ if (hookType === OnchainHookType.PREDICATE_ROUTER_WRAPPER &&
269
+ eqAddress(warpRoute, warpRouteAddress)) {
270
+ predicateAddress = sub;
271
+ break;
272
+ }
273
+ }
274
+ catch (error) {
275
+ throwIfNotMissingSelector(error);
276
+ // Not a PredicateRouterWrapper — continue
277
+ }
278
+ }
279
+ }
280
+ if (!predicateAddress)
281
+ return undefined;
282
+ const wrapper = PredicateRouterWrapper__factory.connect(predicateAddress, this.provider);
283
+ const [predicateRegistry, policyId, owner] = await Promise.all([
284
+ wrapper.getRegistry(),
285
+ wrapper.getPolicyID(),
286
+ wrapper.owner(),
287
+ ]);
288
+ return { predicateRegistry, policyId, owner };
289
+ }
290
+ findPredicateAddressInHook(hook) {
291
+ if (!hook || typeof hook === 'string')
292
+ return undefined;
293
+ if (hook.type === HookType.PREDICATE)
294
+ return hook.address;
295
+ if (hook.type === HookType.AGGREGATION) {
296
+ for (const sub of hook.hooks) {
297
+ const found = this.findPredicateAddressInHook(sub);
298
+ if (found)
299
+ return found;
300
+ }
301
+ }
302
+ return undefined;
303
+ }
304
+ async fetchFeeHook(routerAddress) {
305
+ if ((await this.implementationHasSelector(routerAddress, TokenRouter__factory.createInterface().getSighash('feeHook()'))) === false) {
306
+ this.logger.debug(`Token at "${routerAddress}" on chain "${this.chain}" has no feeHook() getter; skipping`);
307
+ return undefined;
308
+ }
309
+ try {
310
+ const router = TokenRouter__factory.connect(routerAddress, this.provider);
311
+ const feeHookAddress = await router.feeHook();
312
+ if (!isZeroishAddress(feeHookAddress)) {
313
+ return feeHookAddress;
314
+ }
315
+ }
316
+ catch (error) {
317
+ throwIfNotMissingSelector(error);
318
+ this.logger.debug(`Token at "${routerAddress}" on chain "${this.chain}" does not support feeHook`);
319
+ }
320
+ return undefined;
321
+ }
322
+ remoteRoutersToRouterKeys(remoteRouters) {
323
+ const routerKeys = {};
324
+ for (const [domain, { address }] of Object.entries(remoteRouters ?? {})) {
325
+ routerKeys[Number(domain)] = [address];
326
+ }
327
+ return routerKeys;
328
+ }
329
+ async fetchTokenFee(routerAddress, destinations, crossCollateralRouters) {
330
+ const TokenRouter = TokenRouter__factory.connect(routerAddress, this.provider);
331
+ const packageVersion = await this.fetchPackageVersion(routerAddress);
332
+ const hasTokenFeeInterface = compareVersions(packageVersion, TOKEN_FEE_CONTRACT_VERSION) >= 0;
333
+ if (!hasTokenFeeInterface) {
334
+ this.logger.debug(`Token at address "${routerAddress}" on chain "${this.chain}" does not have a token fee interface`);
335
+ return undefined;
336
+ }
337
+ const tokenFee = await TokenRouter.feeRecipient().catch((error) => {
338
+ throwIfNotMissingSelector(error);
339
+ this.logger.debug(`Failed to read feeRecipient for token at address "${routerAddress}" on chain "${this.chain}", defaulting to AddressZero`, error);
340
+ return constants.AddressZero;
341
+ });
342
+ if (isZeroishAddress(tokenFee)) {
343
+ this.logger.debug(`Token at address "${routerAddress}" on chain "${this.chain}" has a no token fee`);
344
+ return undefined;
345
+ }
346
+ const routingDestinations = destinations ??
347
+ (await TokenRouter.domains().catch((error) => {
348
+ throwIfNotMissingSelector(error);
349
+ this.logger.debug(`Failed to derive token router domains for routing fee config on "${this.chain}"`, error);
350
+ return undefined;
351
+ }));
352
+ return this.evmTokenFeeReader.deriveTokenFeeConfig({
353
+ address: tokenFee,
354
+ routingDestinations,
355
+ crossCollateralRouters,
356
+ });
357
+ }
358
+ async getContractVerificationStatus(chain, address) {
359
+ const contractVerificationStatus = {};
360
+ const contractType = (await isProxy(this.provider, address))
361
+ ? VerifyContractTypes.Proxy
362
+ : VerifyContractTypes.Implementation;
363
+ if (this.multiProvider.isLocalRpc(chain)) {
364
+ this.logger.debug('Skipping verification for local endpoints');
365
+ return { [contractType]: ContractVerificationStatus.Skipped };
366
+ }
367
+ // Skip chains with no Etherscan-API-compatible explorer configured. The
368
+ // verifier can't query them (e.g. tronscan, zksync, keyless etherscan), so
369
+ // a resulting `Error` status is a false-positive violation, not a real
370
+ // unverified contract.
371
+ if (!this.multiProvider.tryGetEvmExplorerMetadata(chain)) {
372
+ this.logger.debug(`Skipping verification for ${chain}: no Etherscan-compatible explorer configured`);
373
+ return { [contractType]: ContractVerificationStatus.Skipped };
374
+ }
375
+ const quietVerificationLogger = this.logger.child({ module: 'contract-verifier' }, { level: 'silent' });
376
+ contractVerificationStatus[contractType] =
377
+ await this.contractVerifier.getContractVerificationStatus(chain, address, quietVerificationLogger);
378
+ if (contractType === VerifyContractTypes.Proxy) {
379
+ contractVerificationStatus[VerifyContractTypes.Implementation] =
380
+ await this.contractVerifier.getContractVerificationStatus(chain, await proxyImplementation(this.provider, address), quietVerificationLogger);
381
+ // Derive ProxyAdmin status
382
+ contractVerificationStatus[VerifyContractTypes.ProxyAdmin] =
383
+ await this.contractVerifier.getContractVerificationStatus(chain, await proxyAdmin(this.provider, address), quietVerificationLogger);
384
+ }
385
+ return contractVerificationStatus;
386
+ }
387
+ async getOwnerStatus(chain, address) {
388
+ let ownerStatus = {};
389
+ if (this.multiProvider.isLocalRpc(chain)) {
390
+ this.logger.debug('Skipping owner verification for local endpoints');
391
+ return {
392
+ [address]: OwnerStatus.Skipped,
393
+ };
394
+ }
395
+ const provider = this.multiProvider.getProvider(chain);
396
+ const owner = await Ownable__factory.connect(address, provider).owner();
397
+ ownerStatus[owner] = (await isAddressActive(provider, owner))
398
+ ? OwnerStatus.Active
399
+ : OwnerStatus.Inactive;
400
+ // Heuristically check if the owner could be a safe by calling expected functions
401
+ // This status will overwrite 'active' status
402
+ try {
403
+ const potentialGnosisSafe = ISafe__factory.connect(owner, provider);
404
+ await Promise.all([
405
+ potentialGnosisSafe.getThreshold(),
406
+ potentialGnosisSafe.nonce(),
407
+ ]);
408
+ ownerStatus[owner] = OwnerStatus.GnosisSafe;
409
+ }
410
+ catch {
411
+ this.logger.debug(`${owner} may not be a safe`);
412
+ }
413
+ // Recurse into the proxyAdmin owner only. The proxyAdmin holds upgrade
414
+ // authority and is an owner we actually manage, so a dead owner there is a
415
+ // real concern. We deliberately do NOT recurse into the implementation
416
+ // contract's owner: under the transparent-proxy pattern the impl is inert
417
+ // (upgrade authority lives in the proxyAdmin, not the impl), we never
418
+ // configure the impl owner, and the ownerStatus check has no expected value
419
+ // for it — so a spent deployer EOA there is pure false-positive drift.
420
+ if (await isProxy(this.provider, address)) {
421
+ const proxyAdminStatus = await this.getOwnerStatus(chain, await proxyAdmin(provider, address));
422
+ ownerStatus = {
423
+ ...ownerStatus,
424
+ ...proxyAdminStatus,
425
+ };
426
+ }
427
+ return ownerStatus;
428
+ }
429
+ async deriveWarpRouteVirtualConfig(chain, address) {
430
+ const virtualConfig = {
431
+ contractVerificationStatus: await this.getContractVerificationStatus(chain, address),
432
+ // Used to check if the top address owner's nonce or code === 0
433
+ ownerStatus: await this.getOwnerStatus(chain, address),
434
+ };
435
+ return virtualConfig;
436
+ }
437
+ /**
438
+ * Fetches the bytecode of the contract's implementation.
439
+ * Read the EIP-1967 impl slot directly so UUPS proxies (which have
440
+ * an empty admin slot) are resolved correctly alongside TransparentProxy.
441
+ * EIP-1167 minimal proxies are resolved from their runtime code. A clone
442
+ * whose target is itself an EIP-1967 proxy or another clone returns the
443
+ * target's own code without resolving further, so the selector guard can
444
+ * read false for a selector the final implementation has.
445
+ *
446
+ * Returns '0x' when the address has no code (EOAs / bad addresses) so
447
+ * selector guards fall through to the probes, and undefined when the
448
+ * bytecode cannot be determined: a failed RPC read, or a beacon proxy whose
449
+ * implementation lives behind the beacon. Proxies that route through a
450
+ * diamond facet table or LSP17 extensions are not resolved; their own
451
+ * bytecode is returned, which does not contain the routed selectors.
452
+ */
453
+ async fetchImplementationBytecode(address) {
454
+ try {
455
+ const code = await this.provider.getCode(address);
456
+ if (isStorageEmpty(code))
457
+ return code;
458
+ if (code.toLowerCase().startsWith(EIP1167_PREFIX) &&
459
+ code.length >= EIP1167_PREFIX.length + EIP1167_ADDRESS_HEX_LENGTH) {
460
+ const start = EIP1167_PREFIX.length;
461
+ return await this.provider.getCode(utils.getAddress(`0x${code.slice(start, start + EIP1167_ADDRESS_HEX_LENGTH)}`));
462
+ }
463
+ const implSlot = await this.provider.getStorageAt(address, EIP1967_IMPLEMENTATION_SLOT);
464
+ if (!isStorageEmpty(implSlot)) {
465
+ const impl = utils.getAddress(implSlot.slice(26));
466
+ if (!isZeroishAddress(impl))
467
+ return await this.provider.getCode(impl);
468
+ }
469
+ const beaconSlot = await this.provider.getStorageAt(address, EIP1967_BEACON_SLOT);
470
+ if (!isStorageEmpty(beaconSlot) && !isZeroish(beaconSlot))
471
+ return undefined;
472
+ return code;
473
+ }
474
+ catch (error) {
475
+ this.logger.debug(`Could not resolve implementation bytecode for "${address}" on chain "${this.chain}"`, error);
476
+ return undefined;
477
+ }
478
+ }
479
+ implementationBytecodeCache = new Map();
480
+ fetchImplementationBytecodeCached(address) {
481
+ const key = address.toLowerCase();
482
+ const cached = this.implementationBytecodeCache.get(key);
483
+ if (cached)
484
+ return cached;
485
+ const pending = this.fetchImplementationBytecode(address);
486
+ this.implementationBytecodeCache.set(key, pending);
487
+ // Only non-empty bytecode is cached; unknown and empty ('0x') results are
488
+ // retried so a lagging node cannot pin a just-deployed contract as empty.
489
+ void pending.then((bytecode) => {
490
+ if (isNullish(bytecode) || isStorageEmpty(bytecode))
491
+ this.implementationBytecodeCache.delete(key);
492
+ });
493
+ return pending;
494
+ }
495
+ async implementationSelectorStatus(address, selector) {
496
+ const bytecode = await this.fetchImplementationBytecodeCached(address);
497
+ if (isNullish(bytecode) || isStorageEmpty(bytecode))
498
+ return SelectorStatus.Unresolved;
499
+ if (bytecode.includes(strip0x(selector)))
500
+ return SelectorStatus.Present;
501
+ if (containsDelegateCall(bytecode))
502
+ return SelectorStatus.Forwarding;
503
+ return SelectorStatus.Absent;
504
+ }
505
+ /**
506
+ * Checks whether the implementation bytecode contains the selector.
507
+ * Returns undefined when the bytecode is empty/unreadable or is unresolved
508
+ * forwarding code, so callers proceed with the call and its normal error
509
+ * handling.
510
+ */
511
+ async implementationHasSelector(address, selector) {
512
+ const status = await this.implementationSelectorStatus(address, selector);
513
+ if (status === SelectorStatus.Present)
514
+ return true;
515
+ if (status === SelectorStatus.Absent)
516
+ return false;
517
+ return undefined;
518
+ }
519
+ /**
520
+ * Derives the token type for a given Warp Route address using specific methods
521
+ *
522
+ * @param warpRouteAddress - The Warp Route address to derive the token type for.
523
+ * @returns The derived token type, which can be one of: collateralVault, collateral, native, or synthetic.
524
+ */
525
+ async deriveTokenType(warpRouteAddress) {
526
+ const contractTypes = {
527
+ [TokenType.collateralVault]: {
528
+ factory: HypERC4626OwnerCollateral__factory,
529
+ method: 'assetDeposited',
530
+ },
531
+ [TokenType.collateralVaultRebase]: {
532
+ factory: HypERC4626Collateral__factory,
533
+ method: 'NULL_RECIPIENT',
534
+ },
535
+ [TokenType.XERC20Lockbox]: {
536
+ factory: HypXERC20Lockbox__factory,
537
+ method: 'lockbox',
538
+ },
539
+ [TokenType.collateralDepositAddress]: {
540
+ factory: TokenBridgeDepositAddress__factory,
541
+ method: 'getDomainConfigs',
542
+ },
543
+ [TokenType.collateralOft]: {
544
+ factory: TokenBridgeOft__factory,
545
+ method: 'oft',
546
+ },
547
+ [TokenType.atomicLocalRebalancing]: {
548
+ factory: AtomicLocalRebalancingBridge__factory,
549
+ method: 'allowedSourceRouter',
550
+ },
551
+ [TokenType.collateralCctp]: {
552
+ factory: TokenBridgeCctpBase__factory,
553
+ method: 'messageTransmitter',
554
+ },
555
+ [TokenType.collateral]: {
556
+ factory: HypERC20Collateral__factory,
557
+ method: 'wrappedToken',
558
+ },
559
+ [TokenType.syntheticRebase]: {
560
+ factory: HypERC4626__factory,
561
+ method: 'collateralDomain',
562
+ },
563
+ };
564
+ // Temporarily turn off SmartProvider logging
565
+ // Provider errors are expected because deriving will call methods that may not exist in the Bytecode
566
+ this.setSmartProviderLogLevel('silent');
567
+ try {
568
+ // Fetch implementation bytecode once; scanning selectors locally avoids
569
+ // reverted eth_calls for methods that don't exist on the contract.
570
+ const bytecode = await this.fetchImplementationBytecodeCached(warpRouteAddress);
571
+ const hasKnownBytecode = !isNullish(bytecode) && !isStorageEmpty(bytecode);
572
+ // First, try checking token specific methods
573
+ for (const [tokenType, { factory, method }] of Object.entries(contractTypes)) {
574
+ // Skip if selector absent from bytecode — avoids reverted eth_calls.
575
+ // When bytecode is unavailable ('0x' or unknown), fall through to the
576
+ // probe anyway to preserve pre-optimization behavior on zero-impl /
577
+ // flaky-RPC paths.
578
+ const selector = factory.createInterface().getSighash(method);
579
+ if (hasKnownBytecode && !bytecode.includes(strip0x(selector)))
580
+ continue;
581
+ try {
582
+ const warpRoute = factory.connect(warpRouteAddress, this.provider);
583
+ const result = await warpRoute[method]();
584
+ if (tokenType === TokenType.collateralDepositAddress) {
585
+ this.depositAddressDomainConfigsCache.set(warpRouteAddress, result);
586
+ }
587
+ if (tokenType === TokenType.collateral) {
588
+ const wrappedToken = await warpRoute.wrappedToken();
589
+ const xerc20Selector = IXERC20__factory.createInterface().getSighash('mintingCurrentLimitOf(address)');
590
+ if ((await this.implementationHasSelector(wrappedToken, xerc20Selector)) === false) {
591
+ this.logger.debug(`Wrapped token at address "${wrappedToken}" on chain "${this.chain}" has no mintingCurrentLimitOf(address) getter; skipping ${TokenType.XERC20} probe`);
592
+ }
593
+ else {
594
+ try {
595
+ const xerc20 = IXERC20__factory.connect(wrappedToken, this.provider);
596
+ await xerc20['mintingCurrentLimitOf(address)'](warpRouteAddress);
597
+ return TokenType.XERC20;
598
+ }
599
+ catch (error) {
600
+ // Fluent's universal-token runtime answers an unknown selector
601
+ // with Panic(uint256). An xERC20 that reverts with Error(string)
602
+ // or a custom error (paused, bug) must surface rather than be
603
+ // read as plain collateral.
604
+ if (!isPanicRevert(error))
605
+ throwIfNotMissingSelector(error);
606
+ this.logger.debug(`Warp route token at address "${warpRouteAddress}" on chain "${this.chain}" is not a ${TokenType.XERC20}`, error);
607
+ }
608
+ }
609
+ try {
610
+ const fiatToken = IFiatToken__factory.connect(wrappedToken, this.provider);
611
+ // Simulate minting tokens from the warp route contract
612
+ await fiatToken.callStatic.mint(NON_ZERO_SENDER_ADDRESS, 1, {
613
+ from: warpRouteAddress,
614
+ });
615
+ return TokenType.collateralFiat;
616
+ }
617
+ catch (error) {
618
+ this.logger.debug(`Warp route token at address "${warpRouteAddress}" on chain "${this.chain}" is not a ${TokenType.collateralFiat}`, error);
619
+ }
620
+ try {
621
+ const maybeEverclearTokenBridge = EverclearTokenBridge__factory.connect(warpRouteAddress, this.provider);
622
+ await maybeEverclearTokenBridge.callStatic.everclearAdapter();
623
+ let everclearTokenType = TokenType.collateralEverclear;
624
+ try {
625
+ // if simulating an ETH transfer works this should be the WETH contract
626
+ await this.provider.estimateGas({
627
+ from: NON_ZERO_SENDER_ADDRESS,
628
+ to: wrappedToken,
629
+ data: IWETH__factory.createInterface().encodeFunctionData('deposit'),
630
+ value: 0,
631
+ });
632
+ everclearTokenType = TokenType.ethEverclear;
633
+ }
634
+ catch (error) {
635
+ this.logger.debug(`Warp route token at address "${warpRouteAddress}" on chain "${this.chain}" is not a ${TokenType.collateralEverclear}`, error);
636
+ }
637
+ return everclearTokenType;
638
+ }
639
+ catch (error) {
640
+ throwIfNotMissingSelector(error);
641
+ this.logger.debug(`Warp route token at address "${warpRouteAddress}" on chain "${this.chain}" is not a ${TokenType.collateralEverclear}`, error);
642
+ }
643
+ try {
644
+ const crossCollateralRouter = CrossCollateralRouter__factory.connect(warpRouteAddress, this.provider);
645
+ await crossCollateralRouter.getCrossCollateralRouters(0);
646
+ return TokenType.crossCollateral;
647
+ }
648
+ catch (error) {
649
+ throwIfNotMissingSelector(error);
650
+ this.logger.debug(`Warp route token at address "${warpRouteAddress}" on chain "${this.chain}" is not a ${TokenType.crossCollateral}`, error);
651
+ }
652
+ }
653
+ return tokenType;
654
+ }
655
+ catch (error) {
656
+ throwIfNotMissingSelector(error);
657
+ continue;
658
+ }
659
+ }
660
+ const packageVersion = await this.fetchPackageVersion(warpRouteAddress);
661
+ const hasTokenFeeInterface = compareVersions(packageVersion, TOKEN_FEE_CONTRACT_VERSION) >= 0;
662
+ const isNativeToken = await this.isNativeWarpToken(warpRouteAddress, hasTokenFeeInterface);
663
+ if (isNativeToken) {
664
+ return TokenType.native;
665
+ }
666
+ const isSyntheticToken = await this.isSyntheticWarpToken(warpRouteAddress, hasTokenFeeInterface);
667
+ if (isSyntheticToken) {
668
+ return TokenType.synthetic;
669
+ }
670
+ throw new Error(`Error deriving token type for token at address "${warpRouteAddress}" on chain "${this.chain}"`);
671
+ }
672
+ finally {
673
+ this.setSmartProviderLogLevel(getLogLevel());
674
+ }
675
+ }
676
+ async isNativeWarpToken(warpRouteAddress, hasTokenFeeInterface) {
677
+ try {
678
+ if (hasTokenFeeInterface) {
679
+ const tokenRouter = TokenRouter__factory.connect(warpRouteAddress, this.provider);
680
+ const tokenAddress = await tokenRouter.token();
681
+ // Native token returns address(0)
682
+ return isZeroishAddress(tokenAddress);
683
+ }
684
+ else {
685
+ // Check native using estimateGas to send 0 wei. Success implies that the Warp Route has a receive() function
686
+ await this.multiProvider.estimateGas(this.chain, {
687
+ to: warpRouteAddress,
688
+ value: BigNumber.from(0),
689
+ }, NON_ZERO_SENDER_ADDRESS);
690
+ return true;
691
+ }
692
+ }
693
+ catch (e) {
694
+ this.logger.debug(`Warp route token at address "${warpRouteAddress}" on chain "${this.chain}" is not a ${TokenType.native}`, e);
695
+ return false;
696
+ }
697
+ }
698
+ async isSyntheticWarpToken(warpRouteAddress, hasTokenFeeInterface) {
699
+ try {
700
+ if (hasTokenFeeInterface) {
701
+ const tokenRouter = TokenRouter__factory.connect(warpRouteAddress, this.provider);
702
+ const tokenAddress = await tokenRouter.token();
703
+ // HypERC20.token() returns address(this)
704
+ return eqAddress(tokenAddress, warpRouteAddress);
705
+ }
706
+ else {
707
+ const tokenRouter = HypERC20__factory.connect(warpRouteAddress, this.provider);
708
+ await tokenRouter.decimals();
709
+ return true;
710
+ }
711
+ }
712
+ catch (error) {
713
+ this.logger.debug(`Warp route token at address "${warpRouteAddress}" on chain "${this.chain}" is not a ${TokenType.synthetic}`, error);
714
+ return false;
715
+ }
716
+ }
717
+ async fetchXERC20Config(xERC20Address, warpRouteAddress) {
718
+ // Which getter holds the limits differs between the Standard and the
719
+ // Velodrome implementation, so the route's own limits are read through the
720
+ // type rather than through a fixed ABI.
721
+ let type;
722
+ try {
723
+ type = await deriveXERC20TokenType(this.multiProvider, this.chain, xERC20Address);
724
+ }
725
+ catch (error) {
726
+ if (!(error instanceof UnknownXERC20TypeError))
727
+ throw error;
728
+ this.logger.warn(`Token at ${xERC20Address} on chain ${this.chain} exposes no known xERC20 limits interface, skipping its xERC20 config`, error);
729
+ return {};
730
+ }
731
+ let extraBridgesLimits;
732
+ try {
733
+ extraBridgesLimits = await getExtraLockBoxConfigs({
734
+ chain: this.chain,
735
+ multiProvider: this.multiProvider,
736
+ xERC20Address,
737
+ logger: this.logger,
738
+ type,
739
+ warpRouteAddress,
740
+ });
741
+ }
742
+ catch (error) {
743
+ // Only a contract answering that it does not have the getter is an
744
+ // answer. Everything else, an unreachable RPC above all, would otherwise
745
+ // report a token that has extra bridges as having none.
746
+ throwIfNotMissingSelectorRevert(error);
747
+ this.logger.warn(`Skipping extra xERC20 bridge configs after missing-selector error for token at ${xERC20Address} on chain ${this.chain}`, error);
748
+ }
749
+ try {
750
+ const limitsByBridge = await readXERC20Limits({
751
+ multiProtocolProvider: MultiProtocolProvider.fromMultiProvider(this.multiProvider),
752
+ chain: this.multiProvider.getChainName(this.chain),
753
+ xERC20Address,
754
+ bridges: [warpRouteAddress],
755
+ type,
756
+ });
757
+ const warpRouteLimits = limitsByBridge[warpRouteAddress];
758
+ assert(warpRouteLimits, `Missing xERC20 limits for warp route ${warpRouteAddress} on chain ${this.chain}`);
759
+ return {
760
+ xERC20: {
761
+ warpRouteLimits,
762
+ extraBridges: extraBridgesLimits && extraBridgesLimits.length > 0
763
+ ? extraBridgesLimits
764
+ : undefined,
765
+ },
766
+ };
767
+ }
768
+ catch (error) {
769
+ if (isMissingSelectorRevert(error))
770
+ return {};
771
+ this.logger.error(`Error fetching xERC20 limits for token at ${xERC20Address} on chain ${this.chain}`, error);
772
+ throw error;
773
+ }
774
+ }
775
+ /**
776
+ * Fetches the metadata for a token address.
777
+ *
778
+ * @param warpRouteAddress - The address of the token.
779
+ * @returns A partial ERC20 metadata object containing the token name, symbol, total supply, and decimals.
780
+ * Throws if unsupported token type
781
+ */
782
+ async fetchTokenConfig(type, warpRouteAddress) {
783
+ const deriveFunction = this.deriveTokenConfigMap[type];
784
+ if (!deriveFunction) {
785
+ throw new Error(`Provided unsupported token type "${type}" when fetching token metadata on chain "${this.chain}" at address "${warpRouteAddress}"`);
786
+ }
787
+ const config = await deriveFunction(warpRouteAddress);
788
+ config.contractVersion = await this.fetchPackageVersion(warpRouteAddress);
789
+ // Convert ppm to bps for CCTP V2 contracts that store fees in ppm (>= 10.2.0)
790
+ if (config.type === TokenType.collateralCctp &&
791
+ config.cctpVersion === 'V2' &&
792
+ config.maxFeeBps !== undefined &&
793
+ config.contractVersion &&
794
+ compareVersions(config.contractVersion, CCTP_PPM_STORAGE_VERSION) >= 0) {
795
+ config.maxFeeBps = config.maxFeeBps / 100;
796
+ }
797
+ return HypTokenConfigSchema.parse(config);
798
+ }
799
+ async deriveHypXERC20TokenConfig(hypTokenAddress) {
800
+ const hypXERC20TokenInstance = HypXERC20__factory.connect(hypTokenAddress, this.provider);
801
+ const collateralTokenAddress = await hypXERC20TokenInstance.wrappedToken();
802
+ const [erc20TokenMetadata, xERC20Metadata, scale] = await Promise.all([
803
+ this.fetchERC20Metadata(collateralTokenAddress),
804
+ this.fetchXERC20Config(collateralTokenAddress, hypTokenAddress),
805
+ this.fetchScale(hypTokenAddress),
806
+ ]);
807
+ return {
808
+ ...erc20TokenMetadata,
809
+ type: TokenType.XERC20,
810
+ token: collateralTokenAddress,
811
+ xERC20: xERC20Metadata.xERC20,
812
+ scale,
813
+ };
814
+ }
815
+ async deriveHypXERC20LockboxTokenConfig(hypTokenAddress) {
816
+ const hypXERC20TokenLockboxTokenInstance = HypXERC20Lockbox__factory.connect(hypTokenAddress, this.provider);
817
+ const xerc20TokenAddress = await hypXERC20TokenLockboxTokenInstance.xERC20();
818
+ const [erc20TokenMetadata, xERC20Metadata, lockbox, scale] = await Promise.all([
819
+ this.fetchERC20Metadata(xerc20TokenAddress),
820
+ this.fetchXERC20Config(xerc20TokenAddress, hypTokenAddress),
821
+ hypXERC20TokenLockboxTokenInstance.lockbox(),
822
+ this.fetchScale(hypTokenAddress),
823
+ ]);
824
+ return {
825
+ ...erc20TokenMetadata,
826
+ type: TokenType.XERC20Lockbox,
827
+ token: lockbox,
828
+ xERC20: xERC20Metadata.xERC20,
829
+ scale,
830
+ };
831
+ }
832
+ async deriveHypCollateralCctpTokenConfig(hypToken) {
833
+ const collateralConfig = await this.deriveHypCollateralTokenConfig(hypToken);
834
+ const tokenBridge = TokenBridgeCctpBase__factory.connect(hypToken, this.provider);
835
+ const [messageTransmitter, tokenMessenger, urls] = await Promise.all([
836
+ tokenBridge.messageTransmitter(),
837
+ tokenBridge.tokenMessenger(),
838
+ tokenBridge.urls(),
839
+ ]);
840
+ const onchainCctpVersion = await IMessageTransmitter__factory.connect(messageTransmitter, this.provider).version();
841
+ if (onchainCctpVersion === 0) {
842
+ return {
843
+ ...collateralConfig,
844
+ type: TokenType.collateralCctp,
845
+ cctpVersion: 'V1',
846
+ messageTransmitter,
847
+ tokenMessenger,
848
+ urls,
849
+ };
850
+ }
851
+ else if (onchainCctpVersion === 1) {
852
+ const tokenBridgeV2 = TokenBridgeCctpV2__factory.connect(hypToken, this.provider);
853
+ // Version-gate: >= 11.0.0 uses maxFeePpm(), older uses maxFeeBps()
854
+ const contractVersion = await this.fetchPackageVersion(hypToken);
855
+ const usesPpmName = contractVersion !== undefined &&
856
+ compareVersions(contractVersion, CCTP_PPM_PRECISION_VERSION) >= 0;
857
+ const [minFinalityThreshold, maxFeePpm] = await Promise.all([
858
+ tokenBridgeV2.minFinalityThreshold(),
859
+ usesPpmName
860
+ ? tokenBridgeV2.maxFeePpm()
861
+ : tokenBridgeV2.provider
862
+ .call({
863
+ to: hypToken,
864
+ // maxFeeBps() selector
865
+ data: '0xbf769a3f',
866
+ })
867
+ .then((result) => BigNumber.from(result)),
868
+ ]);
869
+ return {
870
+ ...collateralConfig,
871
+ type: TokenType.collateralCctp,
872
+ cctpVersion: 'V2',
873
+ messageTransmitter,
874
+ tokenMessenger,
875
+ urls,
876
+ minFinalityThreshold,
877
+ maxFeeBps: maxFeePpm.toNumber(),
878
+ };
879
+ }
880
+ else {
881
+ throw new Error(`Unsupported CCTP version ${onchainCctpVersion}`);
882
+ }
883
+ }
884
+ async deriveHypCollateralDepositAddressTokenConfig(hypToken) {
885
+ const tokenBridge = TokenBridgeDepositAddress__factory.connect(hypToken, this.provider);
886
+ const [token, destinationConfigRaw] = await Promise.all([
887
+ tokenBridge.token(),
888
+ this.depositAddressDomainConfigsCache.get(hypToken) ??
889
+ tokenBridge.getDomainConfigs(),
890
+ ]);
891
+ this.depositAddressDomainConfigsCache.delete(hypToken);
892
+ const erc20Metadata = await this.fetchERC20Metadata(token);
893
+ const [domains, depositAddresses, recipients, feeBpsValues] = destinationConfigRaw;
894
+ const destinationConfigs = {};
895
+ for (let i = 0; i < domains.length; i++) {
896
+ const domain = domains[i].toString();
897
+ const recipient = recipients[i].toLowerCase();
898
+ destinationConfigs[domain] ??= {};
899
+ destinationConfigs[domain][recipient] = {
900
+ depositAddress: depositAddresses[i],
901
+ feeBps: feeBpsValues[i].toString(),
902
+ };
903
+ }
904
+ return {
905
+ ...erc20Metadata,
906
+ type: TokenType.collateralDepositAddress,
907
+ token,
908
+ destinationConfigs,
909
+ };
910
+ }
911
+ async deriveHypCollateralOftTokenConfig(hypToken) {
912
+ const tokenBridge = TokenBridgeOft__factory.connect(hypToken, this.provider);
913
+ const [oft, token, extraOptions, domainMappingsRaw] = await Promise.all([
914
+ tokenBridge.oft(),
915
+ tokenBridge.token(),
916
+ tokenBridge.extraOptions(),
917
+ tokenBridge.getDomainMappings(),
918
+ ]);
919
+ const erc20Metadata = await this.fetchERC20Metadata(token);
920
+ const domainMappings = {};
921
+ const [domains, lzEids] = domainMappingsRaw;
922
+ for (let i = 0; i < domains.length; i++) {
923
+ domainMappings[domains[i].toString()] = lzEids[i];
924
+ }
925
+ return {
926
+ ...erc20Metadata,
927
+ type: TokenType.collateralOft,
928
+ token,
929
+ oft,
930
+ domainMappings,
931
+ extraOptions: extraOptions !== '0x' ? extraOptions : undefined,
932
+ };
933
+ }
934
+ async deriveAtomicLocalRebalancingBridgeTokenConfig(bridgeAddress) {
935
+ const bridge = AtomicLocalRebalancingBridge__factory.connect(bridgeAddress, this.provider);
936
+ const [sourceRouter, localDomain] = await Promise.all([
937
+ bridge.allowedSourceRouter(),
938
+ bridge.localDomain(),
939
+ ]);
940
+ const expectedLocalDomain = this.multiProvider.getDomainId(this.chain);
941
+ assert(BigNumber.from(localDomain).toNumber() === expectedLocalDomain, `AtomicLocalRebalancingBridge localDomain ${localDomain} does not match ${expectedLocalDomain} for ${this.chain}`);
942
+ const sourceToken = await MovableCollateralRouter__factory.connect(sourceRouter, this.provider).token();
943
+ return {
944
+ ...(await this.fetchERC20Metadata(sourceToken)),
945
+ type: TokenType.atomicLocalRebalancing,
946
+ sourceRouter,
947
+ scale: await this.fetchScale(sourceRouter),
948
+ };
949
+ }
950
+ async deriveHypCollateralTokenConfig(hypToken) {
951
+ const hypCollateralTokenInstance = HypERC20Collateral__factory.connect(hypToken, this.provider);
952
+ const collateralTokenAddress = await hypCollateralTokenInstance.wrappedToken();
953
+ const [erc20TokenMetadata, scale] = await Promise.all([
954
+ this.fetchERC20Metadata(collateralTokenAddress),
955
+ this.fetchScale(hypToken),
956
+ ]);
957
+ return {
958
+ ...erc20TokenMetadata,
959
+ type: TokenType.collateral,
960
+ token: collateralTokenAddress,
961
+ scale,
962
+ };
963
+ }
964
+ async deriveHypCollateralFiatTokenConfig(hypToken) {
965
+ const erc20TokenMetadata = await this.deriveHypCollateralTokenConfig(hypToken);
966
+ return {
967
+ ...erc20TokenMetadata,
968
+ type: TokenType.collateralFiat,
969
+ };
970
+ }
971
+ async deriveHypCollateralVaultTokenConfig(hypToken) {
972
+ const erc20TokenMetadata = await this.deriveHypCollateralTokenConfig(hypToken);
973
+ return {
974
+ ...erc20TokenMetadata,
975
+ token: await HypERC4626OwnerCollateral__factory.connect(hypToken, this.provider).vault(),
976
+ type: TokenType.collateralVault,
977
+ };
978
+ }
979
+ async deriveHypCollateralVaultRebaseTokenConfig(hypToken) {
980
+ const erc20TokenMetadata = await this.deriveHypCollateralTokenConfig(hypToken);
981
+ return {
982
+ ...erc20TokenMetadata,
983
+ token: await HypERC4626Collateral__factory.connect(hypToken, this.provider).vault(),
984
+ type: TokenType.collateralVaultRebase,
985
+ };
986
+ }
987
+ async deriveHypSyntheticTokenConfig(hypTokenAddress) {
988
+ const [erc20TokenMetadata, scale] = await Promise.all([
989
+ this.fetchERC20Metadata(hypTokenAddress),
990
+ this.fetchScale(hypTokenAddress),
991
+ ]);
992
+ return {
993
+ ...erc20TokenMetadata,
994
+ type: TokenType.synthetic,
995
+ scale,
996
+ };
997
+ }
998
+ async deriveHypNativeTokenConfig(tokenRouterAddress) {
999
+ const chainMetadata = this.multiProvider.getChainMetadata(this.chain);
1000
+ if (!chainMetadata.nativeToken) {
1001
+ throw new Error(`Warp route config specifies native token but chain metadata for chain "${this.chain}" does not provide native token details`);
1002
+ }
1003
+ const { name, symbol, decimals } = chainMetadata.nativeToken;
1004
+ const scale = await this.fetchScale(tokenRouterAddress);
1005
+ return {
1006
+ type: TokenType.native,
1007
+ name,
1008
+ symbol,
1009
+ decimals,
1010
+ isNft: false,
1011
+ scale,
1012
+ };
1013
+ }
1014
+ async deriveOpL2TokenConfig(_address) {
1015
+ const config = await this.deriveHypNativeTokenConfig(_address);
1016
+ const contract = OpL2NativeTokenBridge__factory.connect(_address, this.multiProvider.getProvider(this.chain));
1017
+ const l2Bridge = await contract.l2Bridge();
1018
+ return {
1019
+ ...config,
1020
+ type: TokenType.nativeOpL2,
1021
+ l2Bridge,
1022
+ };
1023
+ }
1024
+ async deriveOpL1TokenConfig(_address) {
1025
+ const config = await this.deriveHypNativeTokenConfig(_address);
1026
+ const contract = OpL1NativeTokenBridge__factory.connect(_address, this.multiProvider.getProvider(this.chain));
1027
+ const urls = await contract.urls();
1028
+ const portal = await contract.opPortal();
1029
+ return {
1030
+ ...config,
1031
+ type: TokenType.nativeOpL1,
1032
+ urls,
1033
+ portal,
1034
+ // assume version 1 for now
1035
+ version: 1,
1036
+ };
1037
+ }
1038
+ async deriveHypSyntheticRebaseConfig(hypTokenAddress) {
1039
+ const hypERC4626 = HypERC4626__factory.connect(hypTokenAddress, this.provider);
1040
+ const [erc20TokenMetadata, collateralDomainId, scale] = await Promise.all([
1041
+ this.fetchERC20Metadata(hypTokenAddress),
1042
+ hypERC4626.collateralDomain(),
1043
+ this.fetchScale(hypTokenAddress),
1044
+ ]);
1045
+ const collateralChainName = this.multiProvider.getChainName(collateralDomainId);
1046
+ return {
1047
+ ...erc20TokenMetadata,
1048
+ type: TokenType.syntheticRebase,
1049
+ collateralChainName,
1050
+ scale,
1051
+ };
1052
+ }
1053
+ async deriveEverclearBaseBridgeConfig(everclearTokenbridgeInstance) {
1054
+ const [everclearBridgeAddress, domains] = await Promise.all([
1055
+ everclearTokenbridgeInstance.everclearAdapter(),
1056
+ everclearTokenbridgeInstance.domains(),
1057
+ ]);
1058
+ const outputAssets = await promiseObjAll(objMap(arrayToObject(domains.map(String)), async (domainId, _) => everclearTokenbridgeInstance.outputAssets(domainId)));
1059
+ // Remove unset domains from the output
1060
+ const filteredOutputAssets = objFilter(outputAssets, (_domainId, assetAddress) => !isZeroish(assetAddress));
1061
+ const feeParamsByDomain = await promiseObjAll(objMap(arrayToObject(domains.map(String)), async (domainId, _) => {
1062
+ const [fee, deadline, signature] = await everclearTokenbridgeInstance.feeParams(domainId);
1063
+ return {
1064
+ deadline: deadline.toNumber(),
1065
+ fee: fee.toNumber(),
1066
+ signature,
1067
+ };
1068
+ }));
1069
+ // Remove unset fee params from the output
1070
+ const filteredFeeParamsByDomain = objFilter(feeParamsByDomain, (_domainId, feeConfig) => {
1071
+ // if all the fields have their default value then the fee config for the
1072
+ // current domain is unset
1073
+ return !(feeConfig.deadline === 0 &&
1074
+ feeConfig.fee === 0 &&
1075
+ feeConfig.signature === '0x');
1076
+ });
1077
+ return {
1078
+ everclearBridgeAddress,
1079
+ outputAssets: filteredOutputAssets,
1080
+ everclearFeeParams: filteredFeeParamsByDomain,
1081
+ };
1082
+ }
1083
+ async deriveEverclearEthTokenBridgeConfig(hypTokenAddress) {
1084
+ const everclearTokenbridgeInstance = EverclearTokenBridge__factory.connect(hypTokenAddress, this.provider);
1085
+ const wethAddress = await everclearTokenbridgeInstance.wrappedToken();
1086
+ const { everclearBridgeAddress, everclearFeeParams, outputAssets } = await this.deriveEverclearBaseBridgeConfig(everclearTokenbridgeInstance);
1087
+ return {
1088
+ type: TokenType.ethEverclear,
1089
+ wethAddress,
1090
+ everclearBridgeAddress,
1091
+ everclearFeeParams,
1092
+ outputAssets,
1093
+ };
1094
+ }
1095
+ async deriveEverclearCollateralTokenBridgeConfig(hypTokenAddress) {
1096
+ const everclearTokenbridgeInstance = EverclearTokenBridge__factory.connect(hypTokenAddress, this.provider);
1097
+ const collateralTokenAddress = await everclearTokenbridgeInstance.wrappedToken();
1098
+ const [erc20TokenMetadata, { everclearBridgeAddress, everclearFeeParams, outputAssets }, scale,] = await Promise.all([
1099
+ this.fetchERC20Metadata(collateralTokenAddress),
1100
+ this.deriveEverclearBaseBridgeConfig(everclearTokenbridgeInstance),
1101
+ this.fetchScale(hypTokenAddress),
1102
+ ]);
1103
+ return {
1104
+ type: TokenType.collateralEverclear,
1105
+ ...erc20TokenMetadata,
1106
+ token: collateralTokenAddress,
1107
+ everclearBridgeAddress,
1108
+ everclearFeeParams,
1109
+ outputAssets,
1110
+ scale,
1111
+ };
1112
+ }
1113
+ /**
1114
+ * Derives the configuration for a CrossCollateralRouter router.
1115
+ */
1116
+ async deriveCrossCollateralTokenConfig(hypTokenAddress) {
1117
+ const crossCollateralRouter = CrossCollateralRouter__factory.connect(hypTokenAddress, this.provider);
1118
+ const tokenRouter = TokenRouter__factory.connect(hypTokenAddress, this.provider);
1119
+ const [collateralTokenAddress, remoteDomains, crossCollateralDomains, localDomain, scale,] = await Promise.all([
1120
+ crossCollateralRouter.wrappedToken(),
1121
+ tokenRouter.domains(),
1122
+ crossCollateralRouter.getCrossCollateralDomains(),
1123
+ crossCollateralRouter.localDomain(),
1124
+ this.fetchScale(hypTokenAddress),
1125
+ ]);
1126
+ const erc20TokenMetadata = await this.fetchERC20Metadata(collateralTokenAddress);
1127
+ // Merge Router._routers domains, MC-enrolled domains, and localDomain
1128
+ const allDomains = [
1129
+ ...new Set([
1130
+ ...remoteDomains.map(Number),
1131
+ ...crossCollateralDomains.map(Number),
1132
+ localDomain,
1133
+ ]),
1134
+ ];
1135
+ const crossCollateralRouters = {};
1136
+ const rebalanceTargets = {};
1137
+ const rebalanceRecipients = {};
1138
+ await Promise.all(allDomains.map(async (domain) => {
1139
+ const routers = await crossCollateralRouter.getCrossCollateralRouters(domain);
1140
+ if (routers.length > 0) {
1141
+ crossCollateralRouters[domain.toString()] = [...routers];
1142
+ }
1143
+ }));
1144
+ // `rebalanceTargets()` only exists on the #8894+ CrossCollateralRouter.
1145
+ // Gate the read on PACKAGE_VERSION so legacy routers can be read before an
1146
+ // upgrade without relying on how a particular RPC represents empty return
1147
+ // data for a missing selector.
1148
+ const supportsRebalanceTargets = compareVersions(await this.fetchPackageVersion(hypTokenAddress), REBALANCE_TARGETS_CONTRACT_VERSION) >= 0;
1149
+ if (supportsRebalanceTargets) {
1150
+ await Promise.all(allDomains.map(async (domain) => {
1151
+ const targets = await crossCollateralRouter.rebalanceTargets(domain);
1152
+ if (targets.length > 0) {
1153
+ rebalanceTargets[domain.toString()] = targets.map((target) => target.toLowerCase());
1154
+ }
1155
+ }));
1156
+ }
1157
+ // `allowedRecipient()` may not exist on older deployed implementations.
1158
+ // Probe once so deriving a pre-upgrade router does not fail.
1159
+ let supportsRebalanceRecipients = true;
1160
+ try {
1161
+ await crossCollateralRouter.allowedRecipient(localDomain);
1162
+ }
1163
+ catch (error) {
1164
+ throwIfNotMissingSelectorRevert(error);
1165
+ supportsRebalanceRecipients = false;
1166
+ }
1167
+ if (supportsRebalanceRecipients) {
1168
+ await Promise.all(allDomains.map(async (domain) => {
1169
+ const recipient = await crossCollateralRouter.allowedRecipient(domain);
1170
+ if (!isZeroishAddress(recipient)) {
1171
+ rebalanceRecipients[domain.toString()] = recipient.toLowerCase();
1172
+ }
1173
+ }));
1174
+ }
1175
+ return {
1176
+ ...erc20TokenMetadata,
1177
+ type: TokenType.crossCollateral,
1178
+ token: collateralTokenAddress,
1179
+ scale,
1180
+ crossCollateralRouters: Object.keys(crossCollateralRouters).length > 0
1181
+ ? crossCollateralRouters
1182
+ : undefined,
1183
+ rebalanceTargets: Object.keys(rebalanceTargets).length > 0 ? rebalanceTargets : undefined,
1184
+ rebalanceRecipients: Object.keys(rebalanceRecipients).length > 0
1185
+ ? rebalanceRecipients
1186
+ : undefined,
1187
+ };
1188
+ }
1189
+ async fetchERC20Metadata(tokenAddress) {
1190
+ const erc20 = HypERC20__factory.connect(tokenAddress, this.provider);
1191
+ const [name, symbol, decimals] = await Promise.all([
1192
+ erc20.name(),
1193
+ erc20.symbol(),
1194
+ erc20.decimals(),
1195
+ ]);
1196
+ return { name, symbol, decimals, isNft: false };
1197
+ }
1198
+ /**
1199
+ * Fetches the scale configuration from a TokenRouter contract.
1200
+ * Handles version compatibility based on contract version - reads scaleNumerator/scaleDenominator
1201
+ * for contracts >= 11.0.0, otherwise reads legacy scale value.
1202
+ *
1203
+ * @param tokenRouterAddress - The address of the TokenRouter contract.
1204
+ * @returns The scale as a NormalizedScale, or undefined when the scale is the identity (1/1).
1205
+ */
1206
+ async fetchScale(tokenRouterAddress) {
1207
+ const packageVersion = await this.fetchPackageVersion(tokenRouterAddress);
1208
+ const hasScaleFractionInterface = compareVersions(packageVersion, SCALE_FRACTION_VERSION) >= 0;
1209
+ const hasScaleInterface = compareVersions(packageVersion, SCALE_VERSION) >= 0;
1210
+ if (!hasScaleFractionInterface && !hasScaleInterface) {
1211
+ return;
1212
+ }
1213
+ const tokenRouter = TokenRouter__factory.connect(tokenRouterAddress, this.provider);
1214
+ let result;
1215
+ if (hasScaleFractionInterface) {
1216
+ // Read new format (scaleNumerator and scaleDenominator)
1217
+ const [numerator, denominator] = await Promise.all([
1218
+ tokenRouter.scaleNumerator(),
1219
+ tokenRouter.scaleDenominator(),
1220
+ ]);
1221
+ result = {
1222
+ numerator: numerator.toBigInt(),
1223
+ denominator: denominator.toBigInt(),
1224
+ };
1225
+ }
1226
+ else {
1227
+ // Read old format (single scale value) using low-level call
1228
+ const scaleStatus = await this.implementationSelectorStatus(tokenRouterAddress, LEGACY_SCALE_INTERFACE.getSighash('scale()'));
1229
+ if (scaleStatus === SelectorStatus.Absent) {
1230
+ this.logger.debug(`Router at address "${tokenRouterAddress}" on chain "${this.chain}" reports ${packageVersion} but has no scale() getter; treating as identity`);
1231
+ return undefined;
1232
+ }
1233
+ const legacyContract = new Contract(tokenRouterAddress, LEGACY_SCALE_INTERFACE, this.provider);
1234
+ let scale;
1235
+ try {
1236
+ scale = await legacyContract.scale();
1237
+ }
1238
+ catch (error) {
1239
+ // scale() is immutable, so a getter the bytecode proves present must
1240
+ // answer. An empty provider response only reads as a missing getter
1241
+ // when the code is known to forward; for unresolved code it may hide
1242
+ // a real scale.
1243
+ if (scaleStatus === SelectorStatus.Present)
1244
+ throw error;
1245
+ if (scaleStatus === SelectorStatus.Forwarding)
1246
+ throwIfNotMissingSelector(error);
1247
+ else
1248
+ throwIfNotMissingSelectorRevert(error);
1249
+ this.logger.debug(`Router at address "${tokenRouterAddress}" on chain "${this.chain}" reports ${packageVersion} but scale() reverted or returned nothing (${scaleStatus} implementation); treating as identity`, error);
1250
+ return undefined;
1251
+ }
1252
+ result = { numerator: scale.toBigInt(), denominator: 1n };
1253
+ }
1254
+ // Omit identity scale so derived config matches deploy configs that
1255
+ // don't specify scale (i.e. uniform-decimal routes).
1256
+ if (result.numerator === 1n && result.denominator === 1n) {
1257
+ return undefined;
1258
+ }
1259
+ return result;
1260
+ }
1261
+ async fetchPackageVersion(address) {
1262
+ return fetchContractPackageVersion(this.provider, address, this.logger);
1263
+ }
1264
+ async fetchProxyAdminConfig(tokenAddress) {
1265
+ const proxyAdminAddress = await proxyAdmin(this.provider, tokenAddress);
1266
+ assert(!isZeroishAddress(proxyAdminAddress), `ProxyAdmin config for warp token at address "${tokenAddress}" can't be derived because it is not a proxy.`);
1267
+ const proxyAdminInstance = ProxyAdmin__factory.connect(proxyAdminAddress, this.provider);
1268
+ return {
1269
+ address: proxyAdminAddress,
1270
+ owner: await proxyAdminInstance.owner(),
1271
+ };
1272
+ }
1273
+ async fetchDestinationGas(warpRouteAddress, additionalDomains = []) {
1274
+ const warpRoute = TokenRouter__factory.connect(warpRouteAddress, this.provider);
1275
+ /**
1276
+ * @remark
1277
+ * Router.domains() is used to enumerate the destination gas because GasRouter.destinationGas is not EnumerableMapExtended type
1278
+ * This means that if a domain is removed, then we cannot read the destinationGas for it. This may impact updates.
1279
+ * For CrossCollateralRouter contracts, additionalDomains includes domains that only
1280
+ * have CCR-enrolled routers (not in Router._routers), so their gas is also read.
1281
+ */
1282
+ const routerDomains = await warpRoute.domains();
1283
+ const selfDomain = this.multiProvider.getDomainId(this.chain);
1284
+ const allDomains = [
1285
+ ...new Set([...routerDomains.map(Number), ...additionalDomains]),
1286
+ ].filter((domain) => domain !== selfDomain);
1287
+ return Object.fromEntries(await Promise.all(allDomains.map(async (domain) => {
1288
+ return [domain, (await warpRoute.destinationGas(domain)).toString()];
1289
+ })));
1290
+ }
1291
+ }
1292
+ //# sourceMappingURL=EvmWarpRouteReader.js.map