@hyperlane-xyz/sdk 3.9.0 → 3.10.1-beta0

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 (592) hide show
  1. package/README.md +11 -3
  2. package/dist/app/HyperlaneApp.d.ts +6 -7
  3. package/dist/app/HyperlaneApp.d.ts.map +1 -1
  4. package/dist/app/HyperlaneApp.js +10 -15
  5. package/dist/app/HyperlaneApp.js.map +1 -1
  6. package/dist/app/MultiProtocolApp.d.ts +10 -11
  7. package/dist/app/MultiProtocolApp.d.ts.map +1 -1
  8. package/dist/app/MultiProtocolApp.js +25 -43
  9. package/dist/app/MultiProtocolApp.js.map +1 -1
  10. package/dist/app/MultiProtocolApp.test.js +15 -17
  11. package/dist/app/MultiProtocolApp.test.js.map +1 -1
  12. package/dist/consts/bytecode.d.ts +8 -8
  13. package/dist/consts/bytecode.d.ts.map +1 -1
  14. package/dist/consts/bytecode.js +2 -5
  15. package/dist/consts/bytecode.js.map +1 -1
  16. package/dist/consts/chainMetadata.d.ts +5 -3
  17. package/dist/consts/chainMetadata.d.ts.map +1 -1
  18. package/dist/consts/chainMetadata.js +295 -239
  19. package/dist/consts/chainMetadata.js.map +1 -1
  20. package/dist/consts/chains.d.ts +3 -1
  21. package/dist/consts/chains.d.ts.map +1 -1
  22. package/dist/consts/chains.js +19 -18
  23. package/dist/consts/chains.js.map +1 -1
  24. package/dist/consts/crud.d.ts +2 -0
  25. package/dist/consts/crud.d.ts.map +1 -0
  26. package/dist/consts/crud.js +2 -0
  27. package/dist/consts/crud.js.map +1 -0
  28. package/dist/consts/environments/index.d.ts +290 -236
  29. package/dist/consts/environments/index.d.ts.map +1 -1
  30. package/dist/consts/environments/index.js +5 -11
  31. package/dist/consts/environments/index.js.map +1 -1
  32. package/dist/consts/environments/mainnet.json +295 -243
  33. package/dist/consts/environments/testnet.json +49 -47
  34. package/dist/consts/igp.js +1 -4
  35. package/dist/consts/igp.js.map +1 -1
  36. package/dist/consts/mailbox.js +1 -4
  37. package/dist/consts/mailbox.js.map +1 -1
  38. package/dist/consts/multisigIsm.d.ts +2 -2
  39. package/dist/consts/multisigIsm.d.ts.map +1 -1
  40. package/dist/consts/multisigIsm.js +59 -54
  41. package/dist/consts/multisigIsm.js.map +1 -1
  42. package/dist/consts/sealevel.js +1 -4
  43. package/dist/consts/sealevel.js.map +1 -1
  44. package/dist/contracts/contracts.d.ts +4 -4
  45. package/dist/contracts/contracts.d.ts.map +1 -1
  46. package/dist/contracts/contracts.js +33 -48
  47. package/dist/contracts/contracts.js.map +1 -1
  48. package/dist/contracts/types.d.ts +1 -1
  49. package/dist/contracts/types.d.ts.map +1 -1
  50. package/dist/contracts/types.js +1 -2
  51. package/dist/core/CoreDeployer.hardhat-test.js +83 -50
  52. package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
  53. package/dist/core/HyperlaneCore.d.ts +15 -9
  54. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  55. package/dist/core/HyperlaneCore.js +80 -38
  56. package/dist/core/HyperlaneCore.js.map +1 -1
  57. package/dist/core/HyperlaneCore.test.js +6 -8
  58. package/dist/core/HyperlaneCore.test.js.map +1 -1
  59. package/dist/core/HyperlaneCoreChecker.d.ts +6 -6
  60. package/dist/core/HyperlaneCoreChecker.d.ts.map +1 -1
  61. package/dist/core/HyperlaneCoreChecker.js +25 -28
  62. package/dist/core/HyperlaneCoreChecker.js.map +1 -1
  63. package/dist/core/HyperlaneCoreDeployer.d.ts +12 -12
  64. package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  65. package/dist/core/HyperlaneCoreDeployer.js +26 -27
  66. package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
  67. package/dist/core/MultiProtocolCore.d.ts +9 -10
  68. package/dist/core/MultiProtocolCore.d.ts.map +1 -1
  69. package/dist/core/MultiProtocolCore.js +18 -23
  70. package/dist/core/MultiProtocolCore.js.map +1 -1
  71. package/dist/core/MultiProtocolCore.test.js +30 -32
  72. package/dist/core/MultiProtocolCore.test.js.map +1 -1
  73. package/dist/core/TestCoreApp.d.ts +3 -3
  74. package/dist/core/TestCoreApp.d.ts.map +1 -1
  75. package/dist/core/TestCoreApp.js +11 -14
  76. package/dist/core/TestCoreApp.js.map +1 -1
  77. package/dist/core/TestCoreDeployer.d.ts +5 -5
  78. package/dist/core/TestCoreDeployer.d.ts.map +1 -1
  79. package/dist/core/TestCoreDeployer.js +7 -11
  80. package/dist/core/TestCoreDeployer.js.map +1 -1
  81. package/dist/core/TestRecipientDeployer.d.ts +5 -5
  82. package/dist/core/TestRecipientDeployer.d.ts.map +1 -1
  83. package/dist/core/TestRecipientDeployer.js +11 -18
  84. package/dist/core/TestRecipientDeployer.js.map +1 -1
  85. package/dist/core/adapters/CosmWasmCoreAdapter.d.ts +6 -6
  86. package/dist/core/adapters/CosmWasmCoreAdapter.d.ts.map +1 -1
  87. package/dist/core/adapters/CosmWasmCoreAdapter.js +12 -13
  88. package/dist/core/adapters/CosmWasmCoreAdapter.js.map +1 -1
  89. package/dist/core/adapters/CosmWasmCoreAdapter.test.js +11 -13
  90. package/dist/core/adapters/CosmWasmCoreAdapter.test.js.map +1 -1
  91. package/dist/core/adapters/CosmWasmIgpAdapter.d.ts +4 -4
  92. package/dist/core/adapters/CosmWasmIgpAdapter.d.ts.map +1 -1
  93. package/dist/core/adapters/CosmWasmIgpAdapter.js +5 -6
  94. package/dist/core/adapters/CosmWasmIgpAdapter.js.map +1 -1
  95. package/dist/core/adapters/EvmCoreAdapter.d.ts +6 -6
  96. package/dist/core/adapters/EvmCoreAdapter.d.ts.map +1 -1
  97. package/dist/core/adapters/EvmCoreAdapter.js +12 -12
  98. package/dist/core/adapters/EvmCoreAdapter.js.map +1 -1
  99. package/dist/core/adapters/SealevelCoreAdapter.d.ts +5 -5
  100. package/dist/core/adapters/SealevelCoreAdapter.d.ts.map +1 -1
  101. package/dist/core/adapters/SealevelCoreAdapter.js +14 -15
  102. package/dist/core/adapters/SealevelCoreAdapter.js.map +1 -1
  103. package/dist/core/adapters/SealevelCoreAdapter.test.js +5 -7
  104. package/dist/core/adapters/SealevelCoreAdapter.test.js.map +1 -1
  105. package/dist/core/adapters/types.d.ts +3 -3
  106. package/dist/core/adapters/types.d.ts.map +1 -1
  107. package/dist/core/adapters/types.js +1 -2
  108. package/dist/core/contracts.d.ts +1 -1
  109. package/dist/core/contracts.d.ts.map +1 -1
  110. package/dist/core/contracts.js +5 -8
  111. package/dist/core/contracts.js.map +1 -1
  112. package/dist/core/events.d.ts +1 -1
  113. package/dist/core/events.d.ts.map +1 -1
  114. package/dist/core/events.js +1 -2
  115. package/dist/core/read.d.ts +28 -0
  116. package/dist/core/read.d.ts.map +1 -0
  117. package/dist/core/read.js +44 -0
  118. package/dist/core/read.js.map +1 -0
  119. package/dist/core/testHyperlaneDeploy.hardhat-test.js +29 -31
  120. package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
  121. package/dist/core/types.d.ts +6 -6
  122. package/dist/core/types.d.ts.map +1 -1
  123. package/dist/core/types.js +4 -7
  124. package/dist/core/types.js.map +1 -1
  125. package/dist/cw-types/Cw20Base.types.js +1 -2
  126. package/dist/cw-types/Cw20Base.types.js.map +1 -1
  127. package/dist/cw-types/HookAggregate.types.js +1 -2
  128. package/dist/cw-types/HookAggregate.types.js.map +1 -1
  129. package/dist/cw-types/HookMerkle.types.js +1 -2
  130. package/dist/cw-types/HookMerkle.types.js.map +1 -1
  131. package/dist/cw-types/HookPausable.types.js +1 -2
  132. package/dist/cw-types/HookPausable.types.js.map +1 -1
  133. package/dist/cw-types/HookRouting.types.js +1 -2
  134. package/dist/cw-types/HookRouting.types.js.map +1 -1
  135. package/dist/cw-types/HookRoutingCustom.types.js +1 -2
  136. package/dist/cw-types/HookRoutingCustom.types.js.map +1 -1
  137. package/dist/cw-types/HookRoutingFallback.types.js +1 -2
  138. package/dist/cw-types/HookRoutingFallback.types.js.map +1 -1
  139. package/dist/cw-types/Igp.types.js +1 -2
  140. package/dist/cw-types/Igp.types.js.map +1 -1
  141. package/dist/cw-types/IgpOracle.types.js +1 -2
  142. package/dist/cw-types/IgpOracle.types.js.map +1 -1
  143. package/dist/cw-types/IsmAggregate.types.js +1 -2
  144. package/dist/cw-types/IsmAggregate.types.js.map +1 -1
  145. package/dist/cw-types/IsmMultisig.types.js +1 -2
  146. package/dist/cw-types/IsmMultisig.types.js.map +1 -1
  147. package/dist/cw-types/IsmRouting.types.js +1 -2
  148. package/dist/cw-types/IsmRouting.types.js.map +1 -1
  149. package/dist/cw-types/Mailbox.types.js +1 -2
  150. package/dist/cw-types/Mailbox.types.js.map +1 -1
  151. package/dist/cw-types/ValidatorAnnounce.types.js +1 -2
  152. package/dist/cw-types/ValidatorAnnounce.types.js.map +1 -1
  153. package/dist/cw-types/WarpCw20.types.js +1 -2
  154. package/dist/cw-types/WarpCw20.types.js.map +1 -1
  155. package/dist/cw-types/WarpNative.types.js +1 -2
  156. package/dist/cw-types/WarpNative.types.js.map +1 -1
  157. package/dist/deploy/HyperlaneAppChecker.d.ts +6 -6
  158. package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
  159. package/dist/deploy/HyperlaneAppChecker.js +39 -36
  160. package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
  161. package/dist/deploy/HyperlaneDeployer.d.ts +34 -16
  162. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  163. package/dist/deploy/HyperlaneDeployer.js +112 -79
  164. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  165. package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts +6 -6
  166. package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts.map +1 -1
  167. package/dist/deploy/HyperlaneProxyFactoryDeployer.js +7 -14
  168. package/dist/deploy/HyperlaneProxyFactoryDeployer.js.map +1 -1
  169. package/dist/deploy/contracts.js +8 -11
  170. package/dist/deploy/contracts.js.map +1 -1
  171. package/dist/deploy/proxy.js +9 -16
  172. package/dist/deploy/proxy.js.map +1 -1
  173. package/dist/deploy/schemas.d.ts +70 -0
  174. package/dist/deploy/schemas.d.ts.map +1 -0
  175. package/dist/deploy/schemas.js +7 -0
  176. package/dist/deploy/schemas.js.map +1 -0
  177. package/dist/deploy/types.d.ts +17 -4
  178. package/dist/deploy/types.d.ts.map +1 -1
  179. package/dist/deploy/types.js +17 -7
  180. package/dist/deploy/types.js.map +1 -1
  181. package/dist/deploy/verify/ContractVerifier.d.ts +8 -7
  182. package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
  183. package/dist/deploy/verify/ContractVerifier.js +52 -56
  184. package/dist/deploy/verify/ContractVerifier.js.map +1 -1
  185. package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts +6 -7
  186. package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts.map +1 -1
  187. package/dist/deploy/verify/PostDeploymentContractVerifier.js +14 -14
  188. package/dist/deploy/verify/PostDeploymentContractVerifier.js.map +1 -1
  189. package/dist/deploy/verify/types.js +7 -10
  190. package/dist/deploy/verify/types.js.map +1 -1
  191. package/dist/deploy/verify/utils.d.ts +1 -1
  192. package/dist/deploy/verify/utils.d.ts.map +1 -1
  193. package/dist/deploy/verify/utils.js +4 -11
  194. package/dist/deploy/verify/utils.js.map +1 -1
  195. package/dist/gas/HyperlaneIgp.d.ts +6 -6
  196. package/dist/gas/HyperlaneIgp.d.ts.map +1 -1
  197. package/dist/gas/HyperlaneIgp.js +9 -13
  198. package/dist/gas/HyperlaneIgp.js.map +1 -1
  199. package/dist/gas/HyperlaneIgpChecker.d.ts +4 -4
  200. package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
  201. package/dist/gas/HyperlaneIgpChecker.js +21 -25
  202. package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
  203. package/dist/gas/HyperlaneIgpDeployer.d.ts +7 -7
  204. package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
  205. package/dist/gas/HyperlaneIgpDeployer.js +16 -25
  206. package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
  207. package/dist/gas/adapters/SealevelIgpAdapter.d.ts +4 -4
  208. package/dist/gas/adapters/SealevelIgpAdapter.d.ts.map +1 -1
  209. package/dist/gas/adapters/SealevelIgpAdapter.js +11 -12
  210. package/dist/gas/adapters/SealevelIgpAdapter.js.map +1 -1
  211. package/dist/gas/adapters/serialization.js +33 -19
  212. package/dist/gas/adapters/serialization.js.map +1 -1
  213. package/dist/gas/contracts.js +5 -8
  214. package/dist/gas/contracts.js.map +1 -1
  215. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js +14 -15
  216. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js.map +1 -1
  217. package/dist/gas/oracle/types.js +9 -14
  218. package/dist/gas/oracle/types.js.map +1 -1
  219. package/dist/gas/token-prices.d.ts +2 -2
  220. package/dist/gas/token-prices.d.ts.map +1 -1
  221. package/dist/gas/token-prices.js +17 -17
  222. package/dist/gas/token-prices.js.map +1 -1
  223. package/dist/gas/token-prices.test.js +10 -12
  224. package/dist/gas/token-prices.test.js.map +1 -1
  225. package/dist/gas/types.d.ts +4 -4
  226. package/dist/gas/types.d.ts.map +1 -1
  227. package/dist/gas/types.js +2 -5
  228. package/dist/gas/types.js.map +1 -1
  229. package/dist/hook/HyperlaneHookDeployer.d.ts +16 -16
  230. package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
  231. package/dist/hook/HyperlaneHookDeployer.js +52 -55
  232. package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
  233. package/dist/hook/contracts.js +11 -14
  234. package/dist/hook/contracts.js.map +1 -1
  235. package/dist/hook/read.d.ts +36 -0
  236. package/dist/hook/read.d.ts.map +1 -0
  237. package/dist/hook/read.js +191 -0
  238. package/dist/hook/read.js.map +1 -0
  239. package/dist/hook/read.test.d.ts +2 -0
  240. package/dist/hook/read.test.d.ts.map +1 -0
  241. package/dist/hook/read.test.js +151 -0
  242. package/dist/hook/read.test.js.map +1 -0
  243. package/dist/hook/types.d.ts +17 -6
  244. package/dist/hook/types.d.ts.map +1 -1
  245. package/dist/hook/types.js +16 -5
  246. package/dist/hook/types.js.map +1 -1
  247. package/dist/index.d.ts +116 -105
  248. package/dist/index.d.ts.map +1 -1
  249. package/dist/index.js +106 -320
  250. package/dist/index.js.map +1 -1
  251. package/dist/ism/HyperlaneIsmFactory.d.ts +13 -13
  252. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  253. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +104 -80
  254. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
  255. package/dist/ism/HyperlaneIsmFactory.js +70 -74
  256. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  257. package/dist/ism/adapters/CosmWasmMultisigAdapter.d.ts +5 -5
  258. package/dist/ism/adapters/CosmWasmMultisigAdapter.d.ts.map +1 -1
  259. package/dist/ism/adapters/CosmWasmMultisigAdapter.js +9 -10
  260. package/dist/ism/adapters/CosmWasmMultisigAdapter.js.map +1 -1
  261. package/dist/ism/multisig.d.ts +2 -2
  262. package/dist/ism/multisig.d.ts.map +1 -1
  263. package/dist/ism/multisig.js +9 -14
  264. package/dist/ism/multisig.js.map +1 -1
  265. package/dist/ism/read.d.ts +29 -0
  266. package/dist/ism/read.d.ts.map +1 -0
  267. package/dist/ism/read.js +152 -0
  268. package/dist/ism/read.js.map +1 -0
  269. package/dist/ism/read.test.d.ts +2 -0
  270. package/dist/ism/read.test.d.ts.map +1 -0
  271. package/dist/ism/read.test.js +125 -0
  272. package/dist/ism/read.test.js.map +1 -0
  273. package/dist/ism/schemas.d.ts +177 -0
  274. package/dist/ism/schemas.d.ts.map +1 -0
  275. package/dist/ism/schemas.js +59 -0
  276. package/dist/ism/schemas.js.map +1 -0
  277. package/dist/ism/schemas.test.d.ts +2 -0
  278. package/dist/ism/schemas.test.d.ts.map +1 -0
  279. package/dist/ism/schemas.test.js +18 -0
  280. package/dist/ism/schemas.test.js.map +1 -0
  281. package/dist/ism/types.d.ts +14 -7
  282. package/dist/ism/types.d.ts.map +1 -1
  283. package/dist/ism/types.js +9 -12
  284. package/dist/ism/types.js.map +1 -1
  285. package/dist/ism/utils.d.ts +5 -5
  286. package/dist/ism/utils.d.ts.map +1 -1
  287. package/dist/ism/utils.js +85 -82
  288. package/dist/ism/utils.js.map +1 -1
  289. package/dist/metadata/ChainMetadataManager.d.ts +5 -5
  290. package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
  291. package/dist/metadata/ChainMetadataManager.js +23 -23
  292. package/dist/metadata/ChainMetadataManager.js.map +1 -1
  293. package/dist/metadata/agentConfig.d.ts +340 -340
  294. package/dist/metadata/agentConfig.d.ts.map +1 -1
  295. package/dist/metadata/agentConfig.js +100 -104
  296. package/dist/metadata/agentConfig.js.map +1 -1
  297. package/dist/metadata/agentConfig.test.js +12 -14
  298. package/dist/metadata/agentConfig.test.js.map +1 -1
  299. package/dist/metadata/blockExplorer.d.ts +1 -1
  300. package/dist/metadata/blockExplorer.d.ts.map +1 -1
  301. package/dist/metadata/blockExplorer.js +12 -20
  302. package/dist/metadata/blockExplorer.js.map +1 -1
  303. package/dist/metadata/chainMetadata.test.js +22 -24
  304. package/dist/metadata/chainMetadata.test.js.map +1 -1
  305. package/dist/metadata/chainMetadataTypes.d.ts +233 -1
  306. package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
  307. package/dist/metadata/chainMetadataTypes.js +91 -79
  308. package/dist/metadata/chainMetadataTypes.js.map +1 -1
  309. package/dist/metadata/customZodTypes.js +6 -9
  310. package/dist/metadata/customZodTypes.js.map +1 -1
  311. package/dist/metadata/deploymentArtifacts.js +8 -11
  312. package/dist/metadata/deploymentArtifacts.js.map +1 -1
  313. package/dist/metadata/health.d.ts +2 -2
  314. package/dist/metadata/health.d.ts.map +1 -1
  315. package/dist/metadata/health.js +44 -52
  316. package/dist/metadata/health.js.map +1 -1
  317. package/dist/metadata/matchingList.js +9 -12
  318. package/dist/metadata/matchingList.js.map +1 -1
  319. package/dist/metadata/warpRouteConfig.d.ts +2 -2
  320. package/dist/metadata/warpRouteConfig.d.ts.map +1 -1
  321. package/dist/metadata/warpRouteConfig.js +18 -21
  322. package/dist/metadata/warpRouteConfig.js.map +1 -1
  323. package/dist/middleware/account/InterchainAccount.d.ts +15 -5
  324. package/dist/middleware/account/InterchainAccount.d.ts.map +1 -1
  325. package/dist/middleware/account/InterchainAccount.js +71 -13
  326. package/dist/middleware/account/InterchainAccount.js.map +1 -1
  327. package/dist/middleware/account/InterchainAccountChecker.d.ts +6 -6
  328. package/dist/middleware/account/InterchainAccountChecker.d.ts.map +1 -1
  329. package/dist/middleware/account/InterchainAccountChecker.js +4 -8
  330. package/dist/middleware/account/InterchainAccountChecker.js.map +1 -1
  331. package/dist/middleware/account/InterchainAccountDeployer.d.ts +14 -11
  332. package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
  333. package/dist/middleware/account/InterchainAccountDeployer.js +16 -12
  334. package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
  335. package/dist/middleware/account/accounts.hardhat-test.js +44 -30
  336. package/dist/middleware/account/accounts.hardhat-test.js.map +1 -1
  337. package/dist/middleware/account/contracts.js +6 -9
  338. package/dist/middleware/account/contracts.js.map +1 -1
  339. package/dist/middleware/account/schemas.d.ts +21 -0
  340. package/dist/middleware/account/schemas.d.ts.map +1 -0
  341. package/dist/middleware/account/schemas.js +11 -0
  342. package/dist/middleware/account/schemas.js.map +1 -0
  343. package/dist/middleware/account/types.d.ts +10 -0
  344. package/dist/middleware/account/types.d.ts.map +1 -0
  345. package/dist/middleware/account/types.js +2 -0
  346. package/dist/middleware/account/types.js.map +1 -0
  347. package/dist/middleware/liquidity-layer/LiquidityLayerApp.d.ts +6 -6
  348. package/dist/middleware/liquidity-layer/LiquidityLayerApp.d.ts.map +1 -1
  349. package/dist/middleware/liquidity-layer/LiquidityLayerApp.js +23 -24
  350. package/dist/middleware/liquidity-layer/LiquidityLayerApp.js.map +1 -1
  351. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts +14 -12
  352. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +1 -1
  353. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +32 -28
  354. package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js.map +1 -1
  355. package/dist/middleware/liquidity-layer/contracts.js +7 -10
  356. package/dist/middleware/liquidity-layer/contracts.js.map +1 -1
  357. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js +36 -38
  358. package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js.map +1 -1
  359. package/dist/middleware/query/InterchainQuery.d.ts +5 -5
  360. package/dist/middleware/query/InterchainQuery.d.ts.map +1 -1
  361. package/dist/middleware/query/InterchainQuery.js +7 -11
  362. package/dist/middleware/query/InterchainQuery.js.map +1 -1
  363. package/dist/middleware/query/InterchainQueryChecker.d.ts +4 -4
  364. package/dist/middleware/query/InterchainQueryChecker.d.ts.map +1 -1
  365. package/dist/middleware/query/InterchainQueryChecker.js +2 -6
  366. package/dist/middleware/query/InterchainQueryChecker.js.map +1 -1
  367. package/dist/middleware/query/InterchainQueryDeployer.d.ts +13 -9
  368. package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -1
  369. package/dist/middleware/query/InterchainQueryDeployer.js +16 -12
  370. package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -1
  371. package/dist/middleware/query/contracts.js +5 -8
  372. package/dist/middleware/query/contracts.js.map +1 -1
  373. package/dist/middleware/query/queries.hardhat-test.js +32 -34
  374. package/dist/middleware/query/queries.hardhat-test.js.map +1 -1
  375. package/dist/providers/MultiProtocolProvider.d.ts +10 -10
  376. package/dist/providers/MultiProtocolProvider.d.ts.map +1 -1
  377. package/dist/providers/MultiProtocolProvider.js +37 -35
  378. package/dist/providers/MultiProtocolProvider.js.map +1 -1
  379. package/dist/providers/MultiProtocolProvider.test.js +12 -14
  380. package/dist/providers/MultiProtocolProvider.test.js.map +1 -1
  381. package/dist/providers/MultiProvider.d.ts +7 -7
  382. package/dist/providers/MultiProvider.d.ts.map +1 -1
  383. package/dist/providers/MultiProvider.js +30 -25
  384. package/dist/providers/MultiProvider.js.map +1 -1
  385. package/dist/providers/ProviderType.js +8 -11
  386. package/dist/providers/ProviderType.js.map +1 -1
  387. package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.d.ts +3 -4
  388. package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.d.ts.map +1 -1
  389. package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.js +19 -25
  390. package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.js.map +1 -1
  391. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.d.ts +3 -4
  392. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.d.ts.map +1 -1
  393. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js +32 -38
  394. package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js.map +1 -1
  395. package/dist/providers/SmartProvider/ProviderMethods.js +5 -9
  396. package/dist/providers/SmartProvider/ProviderMethods.js.map +1 -1
  397. package/dist/providers/SmartProvider/SmartProvider.d.ts +7 -7
  398. package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -1
  399. package/dist/providers/SmartProvider/SmartProvider.foundry-test.js +22 -24
  400. package/dist/providers/SmartProvider/SmartProvider.foundry-test.js.map +1 -1
  401. package/dist/providers/SmartProvider/SmartProvider.js +45 -45
  402. package/dist/providers/SmartProvider/SmartProvider.js.map +1 -1
  403. package/dist/providers/SmartProvider/SmartProvider.test.js +45 -47
  404. package/dist/providers/SmartProvider/SmartProvider.test.js.map +1 -1
  405. package/dist/providers/SmartProvider/types.d.ts +1 -1
  406. package/dist/providers/SmartProvider/types.d.ts.map +1 -1
  407. package/dist/providers/SmartProvider/types.js +2 -5
  408. package/dist/providers/SmartProvider/types.js.map +1 -1
  409. package/dist/providers/providerBuilders.d.ts +3 -3
  410. package/dist/providers/providerBuilders.d.ts.map +1 -1
  411. package/dist/providers/providerBuilders.js +38 -48
  412. package/dist/providers/providerBuilders.js.map +1 -1
  413. package/dist/providers/transactionFeeEstimators.d.ts +2 -2
  414. package/dist/providers/transactionFeeEstimators.d.ts.map +1 -1
  415. package/dist/providers/transactionFeeEstimators.js +40 -50
  416. package/dist/providers/transactionFeeEstimators.js.map +1 -1
  417. package/dist/router/GasRouterDeployer.d.ts +5 -5
  418. package/dist/router/GasRouterDeployer.d.ts.map +1 -1
  419. package/dist/router/GasRouterDeployer.js +4 -8
  420. package/dist/router/GasRouterDeployer.js.map +1 -1
  421. package/dist/router/HyperlaneRouterChecker.d.ts +7 -7
  422. package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
  423. package/dist/router/HyperlaneRouterChecker.js +24 -26
  424. package/dist/router/HyperlaneRouterChecker.js.map +1 -1
  425. package/dist/router/HyperlaneRouterDeployer.d.ts +4 -4
  426. package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
  427. package/dist/router/HyperlaneRouterDeployer.js +14 -18
  428. package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
  429. package/dist/router/MultiProtocolRouterApps.d.ts +4 -5
  430. package/dist/router/MultiProtocolRouterApps.d.ts.map +1 -1
  431. package/dist/router/MultiProtocolRouterApps.js +14 -19
  432. package/dist/router/MultiProtocolRouterApps.js.map +1 -1
  433. package/dist/router/MultiProtocolRouterApps.test.js +13 -15
  434. package/dist/router/MultiProtocolRouterApps.test.js.map +1 -1
  435. package/dist/router/ProxiedRouterChecker.d.ts +4 -4
  436. package/dist/router/ProxiedRouterChecker.d.ts.map +1 -1
  437. package/dist/router/ProxiedRouterChecker.js +2 -6
  438. package/dist/router/ProxiedRouterChecker.js.map +1 -1
  439. package/dist/router/ProxiedRouterDeployer.d.ts +28 -9
  440. package/dist/router/ProxiedRouterDeployer.d.ts.map +1 -1
  441. package/dist/router/ProxiedRouterDeployer.js +13 -19
  442. package/dist/router/ProxiedRouterDeployer.js.map +1 -1
  443. package/dist/router/RouterApps.d.ts +7 -8
  444. package/dist/router/RouterApps.d.ts.map +1 -1
  445. package/dist/router/RouterApps.js +19 -17
  446. package/dist/router/RouterApps.js.map +1 -1
  447. package/dist/router/adapters/EvmRouterAdapter.d.ts +4 -4
  448. package/dist/router/adapters/EvmRouterAdapter.d.ts.map +1 -1
  449. package/dist/router/adapters/EvmRouterAdapter.js +11 -13
  450. package/dist/router/adapters/EvmRouterAdapter.js.map +1 -1
  451. package/dist/router/adapters/SealevelRouterAdapter.d.ts +4 -4
  452. package/dist/router/adapters/SealevelRouterAdapter.d.ts.map +1 -1
  453. package/dist/router/adapters/SealevelRouterAdapter.js +6 -8
  454. package/dist/router/adapters/SealevelRouterAdapter.js.map +1 -1
  455. package/dist/router/adapters/types.d.ts +2 -2
  456. package/dist/router/adapters/types.d.ts.map +1 -1
  457. package/dist/router/adapters/types.js +1 -2
  458. package/dist/router/schemas.d.ts +71 -0
  459. package/dist/router/schemas.d.ts.map +1 -0
  460. package/dist/router/schemas.js +16 -0
  461. package/dist/router/schemas.js.map +1 -0
  462. package/dist/router/types.d.ts +8 -15
  463. package/dist/router/types.d.ts.map +1 -1
  464. package/dist/router/types.js +8 -11
  465. package/dist/router/types.js.map +1 -1
  466. package/dist/test/metadata-check.js +17 -20
  467. package/dist/test/metadata-check.js.map +1 -1
  468. package/dist/test/testUtils.d.ts +8 -8
  469. package/dist/test/testUtils.d.ts.map +1 -1
  470. package/dist/test/testUtils.js +29 -34
  471. package/dist/test/testUtils.js.map +1 -1
  472. package/dist/token/IToken.d.ts +21 -21
  473. package/dist/token/IToken.d.ts.map +1 -1
  474. package/dist/token/IToken.js +18 -21
  475. package/dist/token/IToken.js.map +1 -1
  476. package/dist/token/Token.d.ts +7 -7
  477. package/dist/token/Token.d.ts.map +1 -1
  478. package/dist/token/Token.js +77 -80
  479. package/dist/token/Token.js.map +1 -1
  480. package/dist/token/Token.test.js +68 -70
  481. package/dist/token/Token.test.js.map +1 -1
  482. package/dist/token/TokenAmount.d.ts +1 -1
  483. package/dist/token/TokenAmount.d.ts.map +1 -1
  484. package/dist/token/TokenAmount.js +5 -7
  485. package/dist/token/TokenAmount.js.map +1 -1
  486. package/dist/token/TokenAmount.test.js +22 -24
  487. package/dist/token/TokenAmount.test.js.map +1 -1
  488. package/dist/token/TokenConnection.d.ts +2 -2
  489. package/dist/token/TokenConnection.d.ts.map +1 -1
  490. package/dist/token/TokenConnection.js +26 -31
  491. package/dist/token/TokenConnection.js.map +1 -1
  492. package/dist/token/TokenStandard.d.ts +2 -2
  493. package/dist/token/TokenStandard.d.ts.map +1 -1
  494. package/dist/token/TokenStandard.js +54 -57
  495. package/dist/token/TokenStandard.js.map +1 -1
  496. package/dist/token/adapters/CosmWasmTokenAdapter.d.ts +9 -9
  497. package/dist/token/adapters/CosmWasmTokenAdapter.d.ts.map +1 -1
  498. package/dist/token/adapters/CosmWasmTokenAdapter.js +28 -19
  499. package/dist/token/adapters/CosmWasmTokenAdapter.js.map +1 -1
  500. package/dist/token/adapters/CosmWasmTokenAdapter.test.js +39 -47
  501. package/dist/token/adapters/CosmWasmTokenAdapter.test.js.map +1 -1
  502. package/dist/token/adapters/CosmosTokenAdapter.d.ts +6 -6
  503. package/dist/token/adapters/CosmosTokenAdapter.d.ts.map +1 -1
  504. package/dist/token/adapters/CosmosTokenAdapter.js +22 -19
  505. package/dist/token/adapters/CosmosTokenAdapter.js.map +1 -1
  506. package/dist/token/adapters/EvmTokenAdapter.d.ts +6 -6
  507. package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
  508. package/dist/token/adapters/EvmTokenAdapter.js +36 -28
  509. package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
  510. package/dist/token/adapters/ITokenAdapter.d.ts +2 -2
  511. package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -1
  512. package/dist/token/adapters/ITokenAdapter.js +1 -2
  513. package/dist/token/adapters/SealevelTokenAdapter.d.ts +7 -7
  514. package/dist/token/adapters/SealevelTokenAdapter.d.ts.map +1 -1
  515. package/dist/token/adapters/SealevelTokenAdapter.js +68 -61
  516. package/dist/token/adapters/SealevelTokenAdapter.js.map +1 -1
  517. package/dist/token/adapters/serialization.d.ts +1 -1
  518. package/dist/token/adapters/serialization.d.ts.map +1 -1
  519. package/dist/token/adapters/serialization.js +58 -28
  520. package/dist/token/adapters/serialization.js.map +1 -1
  521. package/dist/token/app.d.ts +11 -0
  522. package/dist/token/app.d.ts.map +1 -0
  523. package/dist/token/app.js +22 -0
  524. package/dist/token/app.js.map +1 -0
  525. package/dist/token/checker.d.ts +10 -0
  526. package/dist/token/checker.d.ts.map +1 -0
  527. package/dist/token/checker.js +73 -0
  528. package/dist/token/checker.js.map +1 -0
  529. package/dist/token/config.d.ts +11 -5
  530. package/dist/token/config.d.ts.map +1 -1
  531. package/dist/token/config.js +10 -19
  532. package/dist/token/config.js.map +1 -1
  533. package/dist/token/contracts.d.ts +30 -0
  534. package/dist/token/contracts.d.ts.map +1 -1
  535. package/dist/token/contracts.js +36 -18
  536. package/dist/token/contracts.js.map +1 -1
  537. package/dist/token/deploy.d.ts +26 -19
  538. package/dist/token/deploy.d.ts.map +1 -1
  539. package/dist/token/deploy.hardhat-test.js +16 -18
  540. package/dist/token/deploy.hardhat-test.js.map +1 -1
  541. package/dist/token/deploy.js +147 -113
  542. package/dist/token/deploy.js.map +1 -1
  543. package/dist/token/schemas.d.ts +375 -0
  544. package/dist/token/schemas.d.ts.map +1 -0
  545. package/dist/token/schemas.js +48 -0
  546. package/dist/token/schemas.js.map +1 -0
  547. package/dist/token/schemas.test.d.ts +2 -0
  548. package/dist/token/schemas.test.d.ts.map +1 -0
  549. package/dist/token/schemas.test.js +85 -0
  550. package/dist/token/schemas.test.js.map +1 -0
  551. package/dist/token/types.d.ts +5 -0
  552. package/dist/token/types.d.ts.map +1 -0
  553. package/dist/token/types.js +2 -0
  554. package/dist/token/types.js.map +1 -0
  555. package/dist/types.js +1 -2
  556. package/dist/utils/MultiGeneric.d.ts +2 -2
  557. package/dist/utils/MultiGeneric.d.ts.map +1 -1
  558. package/dist/utils/MultiGeneric.js +5 -8
  559. package/dist/utils/MultiGeneric.js.map +1 -1
  560. package/dist/utils/fetch.js +3 -10
  561. package/dist/utils/fetch.js.map +1 -1
  562. package/dist/utils/filter.d.ts +1 -1
  563. package/dist/utils/filter.d.ts.map +1 -1
  564. package/dist/utils/filter.js +1 -5
  565. package/dist/utils/filter.js.map +1 -1
  566. package/dist/utils/fork.d.ts +38 -0
  567. package/dist/utils/fork.d.ts.map +1 -0
  568. package/dist/utils/fork.js +89 -0
  569. package/dist/utils/fork.js.map +1 -0
  570. package/dist/utils/ism.js +5 -12
  571. package/dist/utils/ism.js.map +1 -1
  572. package/dist/utils/sealevelSerialization.js +10 -9
  573. package/dist/utils/sealevelSerialization.js.map +1 -1
  574. package/dist/utils/wagmi.d.ts +2 -2
  575. package/dist/utils/wagmi.d.ts.map +1 -1
  576. package/dist/utils/wagmi.js +7 -11
  577. package/dist/utils/wagmi.js.map +1 -1
  578. package/dist/warp/WarpCore.d.ts +10 -10
  579. package/dist/warp/WarpCore.d.ts.map +1 -1
  580. package/dist/warp/WarpCore.js +53 -51
  581. package/dist/warp/WarpCore.js.map +1 -1
  582. package/dist/warp/WarpCore.test.js +67 -73
  583. package/dist/warp/WarpCore.test.js.map +1 -1
  584. package/dist/warp/types.d.ts +29 -29
  585. package/dist/warp/types.d.ts.map +1 -1
  586. package/dist/warp/types.js +17 -20
  587. package/dist/warp/types.js.map +1 -1
  588. package/package.json +22 -14
  589. package/dist/logger.d.ts +0 -3
  590. package/dist/logger.d.ts.map +0 -1
  591. package/dist/logger.js +0 -11
  592. package/dist/logger.js.map +0 -1
@@ -1,26 +1,91 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.HypERC721Deployer = exports.HypERC20Deployer = void 0;
7
1
  /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
8
- const debug_1 = __importDefault(require("debug"));
9
- const core_1 = require("@hyperlane-xyz/core");
10
- const utils_1 = require("@hyperlane-xyz/utils");
11
- const GasRouterDeployer_1 = require("../router/GasRouterDeployer");
12
- const config_1 = require("./config");
13
- const contracts_1 = require("./contracts");
14
- class HypERC20Deployer extends GasRouterDeployer_1.GasRouterDeployer {
2
+ import { constants } from 'ethers';
3
+ import { ERC20__factory, ERC721EnumerableUpgradeable__factory, } from '@hyperlane-xyz/core';
4
+ import { objKeys, objMap, rootLogger } from '@hyperlane-xyz/utils';
5
+ import { GasRouterDeployer } from '../router/GasRouterDeployer.js';
6
+ import { TokenType, isCollateralConfig, isCollateralVaultConfig, isErc20Metadata, isFastConfig, isNativeConfig, isSyntheticConfig, isTokenMetadata, isUriConfig, } from './config.js';
7
+ import { hypERC20contracts, hypERC20factories, hypERC721contracts, hypERC721factories, } from './contracts.js';
8
+ export class HypERC20Deployer extends GasRouterDeployer {
15
9
  constructor(multiProvider, ismFactory, contractVerifier) {
16
- super(multiProvider, contracts_1.hypERC20factories, {
17
- logger: (0, debug_1.default)('hyperlane:HypERC20Deployer'),
10
+ super(multiProvider, hypERC20factories, {
11
+ logger: rootLogger.child({ module: 'HypERC20Deployer' }),
18
12
  ismFactory,
19
13
  contractVerifier,
20
14
  }); // factories not used in deploy
21
15
  }
16
+ routerContractName(config) {
17
+ return hypERC20contracts[this.routerContractKey(config)];
18
+ }
19
+ routerContractKey(config) {
20
+ if (isCollateralConfig(config)) {
21
+ if (isFastConfig(config)) {
22
+ return TokenType.fastCollateral;
23
+ }
24
+ else if (isCollateralVaultConfig(config)) {
25
+ return TokenType.collateralVault;
26
+ }
27
+ else {
28
+ return TokenType.collateral;
29
+ }
30
+ }
31
+ else if (isNativeConfig(config)) {
32
+ return config.scale ? TokenType.nativeScaled : TokenType.native;
33
+ }
34
+ else if (isSyntheticConfig(config)) {
35
+ return isFastConfig(config)
36
+ ? TokenType.fastSynthetic
37
+ : TokenType.synthetic;
38
+ }
39
+ else {
40
+ throw new Error('Unknown collateral type when constructing router name');
41
+ }
42
+ }
43
+ async constructorArgs(_, config) {
44
+ if (isCollateralConfig(config)) {
45
+ return [config.token, config.mailbox];
46
+ }
47
+ else if (isNativeConfig(config)) {
48
+ return config.scale
49
+ ? [config.scale, config.mailbox]
50
+ : [config.mailbox];
51
+ }
52
+ else if (isSyntheticConfig(config)) {
53
+ return [config.decimals, config.mailbox];
54
+ }
55
+ else {
56
+ throw new Error('Unknown collateral type when constructing arguments');
57
+ }
58
+ }
59
+ async initializeArgs(_, config) {
60
+ // ISM config can be an object, but is not supported right now.
61
+ if (typeof config.interchainSecurityModule === 'object') {
62
+ throw new Error('Token deployer does not support ISM objects currently');
63
+ }
64
+ const defaultArgs = [
65
+ config.hook ?? constants.AddressZero,
66
+ config.interchainSecurityModule ?? constants.AddressZero,
67
+ config.owner,
68
+ ];
69
+ if (isCollateralConfig(config)) {
70
+ return defaultArgs;
71
+ }
72
+ else if (isNativeConfig(config)) {
73
+ return defaultArgs;
74
+ }
75
+ else if (isSyntheticConfig(config)) {
76
+ return [
77
+ config.totalSupply,
78
+ config.name,
79
+ config.symbol,
80
+ ...defaultArgs,
81
+ ];
82
+ }
83
+ else {
84
+ throw new Error('Unknown collateral type when initializing arguments');
85
+ }
86
+ }
22
87
  static async fetchMetadata(provider, config) {
23
- const erc20 = core_1.ERC20__factory.connect(config.token, provider);
88
+ const erc20 = ERC20__factory.connect(config.token, provider);
24
89
  const [name, symbol, totalSupply, decimals] = await Promise.all([
25
90
  erc20.name(),
26
91
  erc20.symbol(),
@@ -66,52 +131,8 @@ class HypERC20Deployer extends GasRouterDeployer_1.GasRouterDeployer {
66
131
  ...definedConfigMetadata,
67
132
  };
68
133
  }
69
- async deployCollateral(chain, config) {
70
- let contractName;
71
- switch (config.type) {
72
- case config_1.TokenType.fastSynthetic || config_1.TokenType.fastCollateral:
73
- contractName = config_1.TokenType.fastCollateral;
74
- break;
75
- case config_1.TokenType.collateral:
76
- contractName = config_1.TokenType.collateral;
77
- break;
78
- case config_1.TokenType.collateralVault:
79
- contractName = config_1.TokenType.collateralVault;
80
- break;
81
- default:
82
- throw new Error(`Unknown collateral type ${config.type}`);
83
- }
84
- return this.deployContract(chain, contractName, [
85
- config.token,
86
- config.mailbox,
87
- ]);
88
- }
89
- async deployNative(chain, config) {
90
- if (config.scale) {
91
- return this.deployContract(chain, config_1.TokenType.nativeScaled, [
92
- config.scale,
93
- config.mailbox,
94
- ]);
95
- }
96
- else {
97
- return this.deployContract(chain, config_1.TokenType.native, [config.mailbox]);
98
- }
99
- }
100
- async deploySynthetic(chain, config) {
101
- const router = await this.deployContract(chain, (0, config_1.isFastConfig)(config) ? config_1.TokenType.fastSynthetic : config_1.TokenType.synthetic, [config.decimals, config.mailbox]);
102
- try {
103
- await this.multiProvider.handleTx(chain, router.initialize(config.totalSupply, config.name, config.symbol));
104
- }
105
- catch (e) {
106
- if (!e.message.includes('already initialized')) {
107
- throw e;
108
- }
109
- this.logger(`${config.type} already initialized`);
110
- }
111
- return router;
112
- }
113
134
  router(contracts) {
114
- for (const key of (0, utils_1.objKeys)(contracts_1.hypERC20factories)) {
135
+ for (const key of objKeys(hypERC20factories)) {
115
136
  if (contracts[key]) {
116
137
  return contracts[key];
117
138
  }
@@ -119,33 +140,25 @@ class HypERC20Deployer extends GasRouterDeployer_1.GasRouterDeployer {
119
140
  throw new Error('No matching contract found');
120
141
  }
121
142
  async deployContracts(chain, config) {
122
- let router;
123
- if ((0, config_1.isCollateralConfig)(config)) {
124
- router = await this.deployCollateral(chain, config);
125
- }
126
- else if ((0, config_1.isNativeConfig)(config)) {
127
- router = await this.deployNative(chain, config);
128
- }
129
- else if ((0, config_1.isSyntheticConfig)(config)) {
130
- router = await this.deploySynthetic(chain, config);
131
- }
132
- else {
133
- throw new Error('Invalid ERC20 token router config');
134
- }
143
+ const deployedContracts = await super.deployContracts(chain, config);
144
+ const router = deployedContracts[this.routerContractKey(config)];
135
145
  await this.configureClient(chain, router, config);
136
- return { [config.type]: router };
146
+ return {
147
+ [config.type]: router,
148
+ ...deployedContracts,
149
+ };
137
150
  }
138
151
  async buildTokenMetadata(configMap) {
139
152
  let tokenMetadata;
140
153
  for (const [chain, config] of Object.entries(configMap)) {
141
- if ((0, config_1.isCollateralConfig)(config)) {
154
+ if (isCollateralConfig(config)) {
142
155
  const collateralMetadata = await this.getCollateralMetadata(chain, config);
143
156
  tokenMetadata = {
144
157
  ...collateralMetadata,
145
158
  totalSupply: 0,
146
159
  };
147
160
  }
148
- else if ((0, config_1.isNativeConfig)(config)) {
161
+ else if (isNativeConfig(config)) {
149
162
  const chainMetadata = this.multiProvider.getChainMetadata(chain);
150
163
  if (chainMetadata.nativeToken) {
151
164
  tokenMetadata = {
@@ -157,24 +170,24 @@ class HypERC20Deployer extends GasRouterDeployer_1.GasRouterDeployer {
157
170
  throw new Error(`Warp route config specifies native token but chain metadata for ${chain} does not provide native token details`);
158
171
  }
159
172
  }
160
- else if ((0, config_1.isErc20Metadata)(config)) {
173
+ else if (isErc20Metadata(config)) {
161
174
  tokenMetadata = config;
162
175
  }
163
176
  }
164
- if (!(0, config_1.isErc20Metadata)(tokenMetadata)) {
177
+ if (!isErc20Metadata(tokenMetadata)) {
165
178
  throw new Error('Invalid ERC20 token metadata');
166
179
  }
167
- return (0, utils_1.objMap)(configMap, () => tokenMetadata);
180
+ return objMap(configMap, () => tokenMetadata);
168
181
  }
169
182
  buildGasOverhead(configMap) {
170
- return (0, utils_1.objMap)(configMap, (_, config) => ({
183
+ return objMap(configMap, (_, config) => ({
171
184
  gas: HypERC20Deployer.gasOverheadDefault(config),
172
185
  }));
173
186
  }
174
187
  async deploy(configMap) {
175
188
  const tokenMetadata = await this.buildTokenMetadata(configMap);
176
189
  const gasOverhead = this.buildGasOverhead(configMap);
177
- const mergedConfig = (0, utils_1.objMap)(configMap, (chain, config) => {
190
+ const mergedConfig = objMap(configMap, (chain, config) => {
178
191
  return {
179
192
  ...tokenMetadata[chain],
180
193
  ...gasOverhead[chain],
@@ -184,16 +197,54 @@ class HypERC20Deployer extends GasRouterDeployer_1.GasRouterDeployer {
184
197
  return super.deploy(mergedConfig);
185
198
  }
186
199
  }
187
- exports.HypERC20Deployer = HypERC20Deployer;
188
- class HypERC721Deployer extends GasRouterDeployer_1.GasRouterDeployer {
200
+ export class HypERC721Deployer extends GasRouterDeployer {
189
201
  constructor(multiProvider, contractVerifier) {
190
- super(multiProvider, contracts_1.hypERC721factories, {
191
- logger: (0, debug_1.default)('hyperlane:HypERC721Deployer'),
202
+ super(multiProvider, hypERC721factories, {
203
+ logger: rootLogger.child({ module: 'HypERC721Deployer' }),
192
204
  contractVerifier,
193
205
  });
194
206
  }
207
+ routerContractName(config) {
208
+ return hypERC721contracts[this.routerContractKey(config)];
209
+ }
210
+ routerContractKey(config) {
211
+ if (isCollateralConfig(config)) {
212
+ return (isUriConfig(config) ? TokenType.collateralUri : TokenType.collateral);
213
+ }
214
+ else {
215
+ // if isSyntheticConfig
216
+ return (isUriConfig(config) ? TokenType.syntheticUri : TokenType.synthetic);
217
+ }
218
+ }
219
+ async constructorArgs(_, config) {
220
+ if (isCollateralConfig(config)) {
221
+ return [config.token, config.mailbox];
222
+ }
223
+ else if (isSyntheticConfig(config)) {
224
+ return [config.mailbox];
225
+ }
226
+ else {
227
+ throw new Error('Unknown collateral type when constructing arguments');
228
+ }
229
+ }
230
+ async initializeArgs(_, config) {
231
+ const defaultArgs = [
232
+ config.hook ?? constants.AddressZero,
233
+ config.interchainSecurityModule ?? constants.AddressZero,
234
+ config.owner,
235
+ ];
236
+ if (isCollateralConfig(config)) {
237
+ return defaultArgs;
238
+ }
239
+ else if (isSyntheticConfig(config)) {
240
+ return [config.totalSupply, config.name, config.symbol, ...defaultArgs];
241
+ }
242
+ else {
243
+ throw new Error('Unknown collateral type when initializing arguments');
244
+ }
245
+ }
195
246
  static async fetchMetadata(provider, config) {
196
- const erc721 = core_1.ERC721EnumerableUpgradeable__factory.connect(config.token, provider);
247
+ const erc721 = ERC721EnumerableUpgradeable__factory.connect(config.token, provider);
197
248
  const [name, symbol, totalSupply] = await Promise.all([
198
249
  erc721.name(),
199
250
  erc721.symbol(),
@@ -213,16 +264,8 @@ class HypERC721Deployer extends GasRouterDeployer_1.GasRouterDeployer {
213
264
  return 80000;
214
265
  }
215
266
  }
216
- async deployCollateral(chain, config) {
217
- return this.deployContract(chain, (0, config_1.isUriConfig)(config) ? config_1.TokenType.collateralUri : config_1.TokenType.collateral, [config.token, config.mailbox]);
218
- }
219
- async deploySynthetic(chain, config) {
220
- const router = await this.deployContract(chain, (0, config_1.isUriConfig)(config) ? config_1.TokenType.syntheticUri : config_1.TokenType.synthetic, [config.mailbox]);
221
- await this.multiProvider.handleTx(chain, router.initialize(config.totalSupply, config.name, config.symbol));
222
- return router;
223
- }
224
267
  router(contracts) {
225
- for (const key of (0, utils_1.objKeys)(contracts_1.hypERC721factories)) {
268
+ for (const key of objKeys(hypERC721factories)) {
226
269
  if (contracts[key]) {
227
270
  return contracts[key];
228
271
  }
@@ -230,46 +273,38 @@ class HypERC721Deployer extends GasRouterDeployer_1.GasRouterDeployer {
230
273
  throw new Error('No matching contract found');
231
274
  }
232
275
  async deployContracts(chain, config) {
233
- let router;
234
- if ((0, config_1.isCollateralConfig)(config)) {
235
- router = await this.deployCollateral(chain, config);
236
- }
237
- else if ((0, config_1.isSyntheticConfig)(config)) {
238
- router = await this.deploySynthetic(chain, config);
239
- }
240
- else {
241
- throw new Error('Invalid ERC721 token router config');
242
- }
276
+ const { [this.routerContractKey(config)]: router } = await super.deployContracts(chain, config);
277
+ await this.configureClient(chain, router, config);
243
278
  return { [config.type]: router };
244
279
  }
245
280
  async buildTokenMetadata(configMap) {
246
281
  let tokenMetadata;
247
282
  for (const [chain, config] of Object.entries(configMap)) {
248
- if ((0, config_1.isCollateralConfig)(config)) {
283
+ if (isCollateralConfig(config)) {
249
284
  const collateralMetadata = await HypERC721Deployer.fetchMetadata(this.multiProvider.getProvider(chain), config);
250
285
  tokenMetadata = {
251
286
  ...collateralMetadata,
252
287
  totalSupply: 0,
253
288
  };
254
289
  }
255
- else if ((0, config_1.isTokenMetadata)(config)) {
290
+ else if (isTokenMetadata(config)) {
256
291
  tokenMetadata = config;
257
292
  }
258
293
  }
259
- if (!(0, config_1.isTokenMetadata)(tokenMetadata)) {
294
+ if (!isTokenMetadata(tokenMetadata)) {
260
295
  throw new Error('Invalid ERC721 token metadata');
261
296
  }
262
- return (0, utils_1.objMap)(configMap, () => tokenMetadata);
297
+ return objMap(configMap, () => tokenMetadata);
263
298
  }
264
299
  buildGasOverhead(configMap) {
265
- return (0, utils_1.objMap)(configMap, (_, config) => ({
300
+ return objMap(configMap, (_, config) => ({
266
301
  gas: HypERC721Deployer.gasOverheadDefault(config),
267
302
  }));
268
303
  }
269
304
  async deploy(configMap) {
270
305
  const tokenMetadata = await this.buildTokenMetadata(configMap);
271
306
  const gasOverhead = this.buildGasOverhead(configMap);
272
- const mergedConfig = (0, utils_1.objMap)(configMap, (chain, config) => {
307
+ const mergedConfig = objMap(configMap, (chain, config) => {
273
308
  return {
274
309
  ...tokenMetadata[chain],
275
310
  ...gasOverhead[chain],
@@ -279,5 +314,4 @@ class HypERC721Deployer extends GasRouterDeployer_1.GasRouterDeployer {
279
314
  return super.deploy(mergedConfig);
280
315
  }
281
316
  }
282
- exports.HypERC721Deployer = HypERC721Deployer;
283
317
  //# sourceMappingURL=deploy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/token/deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/token/deploy.ts"],"names":[],"mappings":"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"}