@hyperlane-xyz/sdk 3.20.0-beta1 → 4.0.0-alpha

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 (445) hide show
  1. package/README.md +0 -15
  2. package/dist/aws/s3.d.ts +22 -0
  3. package/dist/aws/s3.d.ts.map +1 -0
  4. package/dist/aws/s3.js +61 -0
  5. package/dist/aws/s3.js.map +1 -0
  6. package/dist/aws/validator.d.ts +17 -0
  7. package/dist/aws/validator.d.ts.map +1 -0
  8. package/dist/aws/validator.js +76 -0
  9. package/dist/aws/validator.js.map +1 -0
  10. package/dist/consts/{crud.d.ts → concurrency.d.ts} +1 -1
  11. package/dist/consts/concurrency.d.ts.map +1 -0
  12. package/dist/consts/{crud.js → concurrency.js} +1 -1
  13. package/dist/consts/concurrency.js.map +1 -0
  14. package/dist/consts/multisigIsm.d.ts.map +1 -1
  15. package/dist/consts/multisigIsm.js +15 -0
  16. package/dist/consts/multisigIsm.js.map +1 -1
  17. package/dist/consts/testChains.d.ts +3 -1
  18. package/dist/consts/testChains.d.ts.map +1 -1
  19. package/dist/consts/testChains.js +14 -0
  20. package/dist/consts/testChains.js.map +1 -1
  21. package/dist/contracts/contracts.d.ts +1 -0
  22. package/dist/contracts/contracts.d.ts.map +1 -1
  23. package/dist/contracts/contracts.js +4 -0
  24. package/dist/contracts/contracts.js.map +1 -1
  25. package/dist/core/AbstractHyperlaneModule.d.ts +18 -0
  26. package/dist/core/AbstractHyperlaneModule.d.ts.map +1 -0
  27. package/dist/{crud/AbstractCrudModule.js → core/AbstractHyperlaneModule.js} +2 -2
  28. package/dist/core/AbstractHyperlaneModule.js.map +1 -0
  29. package/dist/core/CoreDeployer.hardhat-test.js +8 -11
  30. package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
  31. package/dist/core/EvmCoreModule.d.ts +71 -0
  32. package/dist/core/EvmCoreModule.d.ts.map +1 -0
  33. package/dist/core/EvmCoreModule.hardhat-test.d.ts +2 -0
  34. package/dist/core/EvmCoreModule.hardhat-test.d.ts.map +1 -0
  35. package/dist/core/EvmCoreModule.hardhat-test.js +101 -0
  36. package/dist/core/EvmCoreModule.hardhat-test.js.map +1 -0
  37. package/dist/core/EvmCoreModule.js +147 -0
  38. package/dist/core/EvmCoreModule.js.map +1 -0
  39. package/dist/core/{read.d.ts → EvmCoreReader.d.ts} +3 -3
  40. package/dist/core/EvmCoreReader.d.ts.map +1 -0
  41. package/dist/core/{read.js → EvmCoreReader.js} +4 -4
  42. package/dist/core/EvmCoreReader.js.map +1 -0
  43. package/dist/core/EvmIcaModule.d.ts +30 -0
  44. package/dist/core/EvmIcaModule.d.ts.map +1 -0
  45. package/dist/core/EvmIcaModule.hardhat-test.d.ts +2 -0
  46. package/dist/core/EvmIcaModule.hardhat-test.d.ts.map +1 -0
  47. package/dist/core/EvmIcaModule.hardhat-test.js +35 -0
  48. package/dist/core/EvmIcaModule.hardhat-test.js.map +1 -0
  49. package/dist/core/EvmIcaModule.js +36 -0
  50. package/dist/core/EvmIcaModule.js.map +1 -0
  51. package/dist/core/HyperlaneCore.d.ts +8 -3
  52. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  53. package/dist/core/HyperlaneCore.js +24 -15
  54. package/dist/core/HyperlaneCore.js.map +1 -1
  55. package/dist/core/HyperlaneCoreDeployer.d.ts +1 -1
  56. package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  57. package/dist/core/HyperlaneCoreDeployer.js +12 -8
  58. package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
  59. package/dist/core/schemas.d.ts +2222 -0
  60. package/dist/core/schemas.d.ts.map +1 -0
  61. package/dist/core/schemas.js +9 -0
  62. package/dist/core/schemas.js.map +1 -0
  63. package/dist/core/types.d.ts +4 -7
  64. package/dist/core/types.d.ts.map +1 -1
  65. package/dist/core/types.js.map +1 -1
  66. package/dist/deploy/HyperlaneAppChecker.d.ts +2 -2
  67. package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
  68. package/dist/deploy/HyperlaneAppChecker.js +2 -5
  69. package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
  70. package/dist/deploy/HyperlaneDeployer.d.ts +8 -6
  71. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  72. package/dist/deploy/HyperlaneDeployer.js +35 -32
  73. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  74. package/dist/deploy/schemas.d.ts +2 -62
  75. package/dist/deploy/schemas.d.ts.map +1 -1
  76. package/dist/deploy/schemas.js +1 -2
  77. package/dist/deploy/schemas.js.map +1 -1
  78. package/dist/deploy/types.d.ts +2 -13
  79. package/dist/deploy/types.d.ts.map +1 -1
  80. package/dist/deploy/types.js +0 -16
  81. package/dist/deploy/types.js.map +1 -1
  82. package/dist/deploy/verify/ContractVerifier.js +2 -2
  83. package/dist/deploy/verify/ContractVerifier.js.map +1 -1
  84. package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
  85. package/dist/gas/HyperlaneIgpChecker.js +12 -2
  86. package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
  87. package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
  88. package/dist/gas/HyperlaneIgpDeployer.js +20 -8
  89. package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
  90. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js +5 -4
  91. package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js.map +1 -1
  92. package/dist/gas/oracle/types.d.ts +20 -7
  93. package/dist/gas/oracle/types.d.ts.map +1 -1
  94. package/dist/gas/oracle/types.js +10 -4
  95. package/dist/gas/oracle/types.js.map +1 -1
  96. package/dist/gas/types.d.ts +4 -10
  97. package/dist/gas/types.d.ts.map +1 -1
  98. package/dist/gas/types.js.map +1 -1
  99. package/dist/hook/EvmHookModule.d.ts +24 -0
  100. package/dist/hook/EvmHookModule.d.ts.map +1 -0
  101. package/dist/{crud → hook}/EvmHookModule.js +9 -10
  102. package/dist/hook/EvmHookModule.js.map +1 -0
  103. package/dist/hook/{read.d.ts → EvmHookReader.d.ts} +3 -2
  104. package/dist/hook/EvmHookReader.d.ts.map +1 -0
  105. package/dist/hook/{read.js → EvmHookReader.js} +10 -5
  106. package/dist/hook/EvmHookReader.js.map +1 -0
  107. package/dist/hook/EvmHookReader.test.d.ts +2 -0
  108. package/dist/hook/EvmHookReader.test.d.ts.map +1 -0
  109. package/dist/hook/{read.test.js → EvmHookReader.test.js} +6 -2
  110. package/dist/hook/EvmHookReader.test.js.map +1 -0
  111. package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
  112. package/dist/hook/HyperlaneHookDeployer.js +29 -6
  113. package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
  114. package/dist/hook/schemas.d.ts +210 -0
  115. package/dist/hook/schemas.d.ts.map +1 -0
  116. package/dist/hook/schemas.js +54 -0
  117. package/dist/hook/schemas.js.map +1 -0
  118. package/dist/hook/types.d.ts +9 -28
  119. package/dist/hook/types.d.ts.map +1 -1
  120. package/dist/hook/types.js.map +1 -1
  121. package/dist/index.d.ts +52 -20
  122. package/dist/index.d.ts.map +1 -1
  123. package/dist/index.js +39 -16
  124. package/dist/index.js.map +1 -1
  125. package/dist/ism/EvmIsmModule.d.ts +74 -0
  126. package/dist/ism/EvmIsmModule.d.ts.map +1 -0
  127. package/dist/ism/EvmIsmModule.hardhat-test.d.ts +2 -0
  128. package/dist/ism/EvmIsmModule.hardhat-test.d.ts.map +1 -0
  129. package/dist/ism/EvmIsmModule.hardhat-test.js +308 -0
  130. package/dist/ism/EvmIsmModule.hardhat-test.js.map +1 -0
  131. package/dist/ism/EvmIsmModule.js +359 -0
  132. package/dist/ism/EvmIsmModule.js.map +1 -0
  133. package/dist/ism/{read.d.ts → EvmIsmReader.d.ts} +5 -7
  134. package/dist/ism/EvmIsmReader.d.ts.map +1 -0
  135. package/dist/ism/{read.js → EvmIsmReader.js} +9 -4
  136. package/dist/ism/EvmIsmReader.js.map +1 -0
  137. package/dist/ism/EvmIsmReader.test.d.ts +2 -0
  138. package/dist/ism/EvmIsmReader.test.d.ts.map +1 -0
  139. package/dist/ism/{read.test.js → EvmIsmReader.test.js} +2 -2
  140. package/dist/ism/EvmIsmReader.test.js.map +1 -0
  141. package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
  142. package/dist/ism/HyperlaneIsmFactory.hardhat-test.d.ts +3 -1
  143. package/dist/ism/HyperlaneIsmFactory.hardhat-test.d.ts.map +1 -1
  144. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +22 -16
  145. package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
  146. package/dist/ism/HyperlaneIsmFactory.js +3 -8
  147. package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
  148. package/dist/ism/metadata/aggregation.d.ts +22 -0
  149. package/dist/ism/metadata/aggregation.d.ts.map +1 -0
  150. package/dist/ism/metadata/aggregation.js +82 -0
  151. package/dist/ism/metadata/aggregation.js.map +1 -0
  152. package/dist/ism/metadata/aggregation.test.d.ts +2 -0
  153. package/dist/ism/metadata/aggregation.test.d.ts.map +1 -0
  154. package/dist/ism/metadata/aggregation.test.js +37 -0
  155. package/dist/ism/metadata/aggregation.test.js.map +1 -0
  156. package/dist/ism/metadata/builder.d.ts +32 -0
  157. package/dist/ism/metadata/builder.d.ts.map +1 -0
  158. package/dist/ism/metadata/builder.hardhat-test.d.ts +2 -0
  159. package/dist/ism/metadata/builder.hardhat-test.d.ts.map +1 -0
  160. package/dist/ism/metadata/builder.hardhat-test.js +120 -0
  161. package/dist/ism/metadata/builder.hardhat-test.js.map +1 -0
  162. package/dist/ism/metadata/builder.js +74 -0
  163. package/dist/ism/metadata/builder.js.map +1 -0
  164. package/dist/ism/metadata/multisig.d.ts +57 -0
  165. package/dist/ism/metadata/multisig.d.ts.map +1 -0
  166. package/dist/ism/metadata/multisig.js +188 -0
  167. package/dist/ism/metadata/multisig.js.map +1 -0
  168. package/dist/ism/metadata/multisig.test.d.ts +2 -0
  169. package/dist/ism/metadata/multisig.test.d.ts.map +1 -0
  170. package/dist/ism/metadata/multisig.test.js +55 -0
  171. package/dist/ism/metadata/multisig.test.js.map +1 -0
  172. package/dist/ism/metadata/null.d.ts +15 -0
  173. package/dist/ism/metadata/null.d.ts.map +1 -0
  174. package/dist/ism/metadata/null.js +20 -0
  175. package/dist/ism/metadata/null.js.map +1 -0
  176. package/dist/ism/metadata/routing.d.ts +16 -0
  177. package/dist/ism/metadata/routing.d.ts.map +1 -0
  178. package/dist/ism/metadata/routing.js +34 -0
  179. package/dist/ism/metadata/routing.js.map +1 -0
  180. package/dist/ism/metadata/types.test.d.ts +5 -0
  181. package/dist/ism/metadata/types.test.d.ts.map +1 -0
  182. package/dist/ism/metadata/types.test.js +2 -0
  183. package/dist/ism/metadata/types.test.js.map +1 -0
  184. package/dist/ism/schemas.d.ts +68 -104
  185. package/dist/ism/schemas.d.ts.map +1 -1
  186. package/dist/ism/schemas.js +14 -17
  187. package/dist/ism/schemas.js.map +1 -1
  188. package/dist/ism/schemas.test.js +1 -1
  189. package/dist/ism/schemas.test.js.map +1 -1
  190. package/dist/ism/types.d.ts +10 -20
  191. package/dist/ism/types.d.ts.map +1 -1
  192. package/dist/ism/types.js +6 -0
  193. package/dist/ism/types.js.map +1 -1
  194. package/dist/ism/utils.d.ts +4 -0
  195. package/dist/ism/utils.d.ts.map +1 -1
  196. package/dist/ism/utils.js +33 -5
  197. package/dist/ism/utils.js.map +1 -1
  198. package/dist/metadata/agentConfig.d.ts +87 -87
  199. package/dist/metadata/agentConfig.js +1 -1
  200. package/dist/metadata/agentConfig.js.map +1 -1
  201. package/dist/metadata/deploymentArtifacts.d.ts +4 -4
  202. package/dist/middleware/account/InterchainAccount.d.ts +6 -5
  203. package/dist/middleware/account/InterchainAccount.d.ts.map +1 -1
  204. package/dist/middleware/account/InterchainAccount.js +15 -6
  205. package/dist/middleware/account/InterchainAccount.js.map +1 -1
  206. package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
  207. package/dist/middleware/account/InterchainAccountDeployer.js +5 -1
  208. package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
  209. package/dist/middleware/account/accounts.hardhat-test.js +8 -3
  210. package/dist/middleware/account/accounts.hardhat-test.js.map +1 -1
  211. package/dist/middleware/account/schemas.d.ts +69 -0
  212. package/dist/middleware/account/schemas.d.ts.map +1 -1
  213. package/dist/middleware/account/schemas.js +10 -2
  214. package/dist/middleware/account/schemas.js.map +1 -1
  215. package/dist/middleware/account/types.d.ts +4 -9
  216. package/dist/middleware/account/types.d.ts.map +1 -1
  217. package/dist/providers/MultiProvider.d.ts +2 -1
  218. package/dist/providers/MultiProvider.d.ts.map +1 -1
  219. package/dist/providers/MultiProvider.js +7 -3
  220. package/dist/providers/MultiProvider.js.map +1 -1
  221. package/dist/providers/ProviderType.d.ts +3 -0
  222. package/dist/providers/ProviderType.d.ts.map +1 -1
  223. package/dist/providers/ProviderType.js +0 -1
  224. package/dist/providers/ProviderType.js.map +1 -1
  225. package/dist/providers/transactions/schemas.d.ts +29 -0
  226. package/dist/providers/transactions/schemas.d.ts.map +1 -0
  227. package/dist/providers/transactions/schemas.js +14 -0
  228. package/dist/providers/transactions/schemas.js.map +1 -0
  229. package/dist/providers/transactions/schemas.test.d.ts +2 -0
  230. package/dist/providers/transactions/schemas.test.d.ts.map +1 -0
  231. package/dist/providers/transactions/schemas.test.js +58 -0
  232. package/dist/providers/transactions/schemas.test.js.map +1 -0
  233. package/dist/providers/transactions/submitter/TxSubmitterInterface.d.ts +19 -0
  234. package/dist/providers/transactions/submitter/TxSubmitterInterface.d.ts.map +1 -0
  235. package/dist/providers/transactions/submitter/TxSubmitterInterface.js +2 -0
  236. package/dist/providers/transactions/submitter/TxSubmitterInterface.js.map +1 -0
  237. package/dist/providers/transactions/submitter/TxSubmitterTypes.d.ts +6 -0
  238. package/dist/providers/transactions/submitter/TxSubmitterTypes.d.ts.map +1 -0
  239. package/dist/providers/transactions/submitter/TxSubmitterTypes.js +7 -0
  240. package/dist/providers/transactions/submitter/TxSubmitterTypes.js.map +1 -0
  241. package/dist/providers/transactions/submitter/builder/TxSubmitterBuilder.d.ts +48 -0
  242. package/dist/providers/transactions/submitter/builder/TxSubmitterBuilder.d.ts.map +1 -0
  243. package/dist/providers/transactions/submitter/builder/TxSubmitterBuilder.js +65 -0
  244. package/dist/providers/transactions/submitter/builder/TxSubmitterBuilder.js.map +1 -0
  245. package/dist/providers/transactions/submitter/builder/schemas.d.ts +206 -0
  246. package/dist/providers/transactions/submitter/builder/schemas.d.ts.map +1 -0
  247. package/dist/providers/transactions/submitter/builder/schemas.js +10 -0
  248. package/dist/providers/transactions/submitter/builder/schemas.js.map +1 -0
  249. package/dist/providers/transactions/submitter/builder/types.d.ts +4 -0
  250. package/dist/providers/transactions/submitter/builder/types.d.ts.map +1 -0
  251. package/dist/providers/transactions/submitter/builder/types.js +2 -0
  252. package/dist/providers/transactions/submitter/builder/types.js.map +1 -0
  253. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts +15 -0
  254. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts.map +1 -0
  255. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.js +44 -0
  256. package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.js.map +1 -0
  257. package/dist/providers/transactions/submitter/ethersV5/EV5ImpersonatedAccountTxSubmitter.d.ts +15 -0
  258. package/dist/providers/transactions/submitter/ethersV5/EV5ImpersonatedAccountTxSubmitter.d.ts.map +1 -0
  259. package/dist/providers/transactions/submitter/ethersV5/EV5ImpersonatedAccountTxSubmitter.js +23 -0
  260. package/dist/providers/transactions/submitter/ethersV5/EV5ImpersonatedAccountTxSubmitter.js.map +1 -0
  261. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.d.ts +14 -0
  262. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.d.ts.map +1 -0
  263. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.js +24 -0
  264. package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.js.map +1 -0
  265. package/dist/providers/transactions/submitter/ethersV5/EV5TxSubmitterInterface.d.ts +10 -0
  266. package/dist/providers/transactions/submitter/ethersV5/EV5TxSubmitterInterface.d.ts.map +1 -0
  267. package/dist/providers/transactions/submitter/ethersV5/EV5TxSubmitterInterface.js +2 -0
  268. package/dist/providers/transactions/submitter/ethersV5/EV5TxSubmitterInterface.js.map +1 -0
  269. package/dist/providers/transactions/submitter/ethersV5/schemas.d.ts +19 -0
  270. package/dist/providers/transactions/submitter/ethersV5/schemas.d.ts.map +1 -0
  271. package/dist/providers/transactions/submitter/ethersV5/schemas.js +10 -0
  272. package/dist/providers/transactions/submitter/ethersV5/schemas.js.map +1 -0
  273. package/dist/providers/transactions/submitter/ethersV5/schemas.test.d.ts +2 -0
  274. package/dist/providers/transactions/submitter/ethersV5/schemas.test.d.ts.map +1 -0
  275. package/dist/providers/transactions/submitter/ethersV5/schemas.test.js +41 -0
  276. package/dist/providers/transactions/submitter/ethersV5/schemas.test.js.map +1 -0
  277. package/dist/providers/transactions/submitter/ethersV5/types.d.ts +5 -0
  278. package/dist/providers/transactions/submitter/ethersV5/types.d.ts.map +1 -0
  279. package/dist/providers/transactions/submitter/ethersV5/types.js +2 -0
  280. package/dist/providers/transactions/submitter/ethersV5/types.js.map +1 -0
  281. package/dist/providers/transactions/submitter/schemas.d.ts +56 -0
  282. package/dist/providers/transactions/submitter/schemas.d.ts.map +1 -0
  283. package/dist/providers/transactions/submitter/schemas.js +18 -0
  284. package/dist/providers/transactions/submitter/schemas.js.map +1 -0
  285. package/dist/providers/transactions/submitter/types.d.ts +4 -0
  286. package/dist/providers/transactions/submitter/types.d.ts.map +1 -0
  287. package/dist/providers/transactions/submitter/types.js +2 -0
  288. package/dist/providers/transactions/submitter/types.js.map +1 -0
  289. package/dist/providers/transactions/transformer/TxTransformerInterface.d.ts +15 -0
  290. package/dist/providers/transactions/transformer/TxTransformerInterface.d.ts.map +1 -0
  291. package/dist/providers/transactions/transformer/TxTransformerInterface.js +2 -0
  292. package/dist/providers/transactions/transformer/TxTransformerInterface.js.map +1 -0
  293. package/dist/providers/transactions/transformer/TxTransformerTypes.d.ts +4 -0
  294. package/dist/providers/transactions/transformer/TxTransformerTypes.d.ts.map +1 -0
  295. package/dist/providers/transactions/transformer/TxTransformerTypes.js +5 -0
  296. package/dist/providers/transactions/transformer/TxTransformerTypes.js.map +1 -0
  297. package/dist/providers/transactions/transformer/ethersV5/EV5InterchainAccountTxTransformer.d.ts +16 -0
  298. package/dist/providers/transactions/transformer/ethersV5/EV5InterchainAccountTxTransformer.d.ts.map +1 -0
  299. package/dist/providers/transactions/transformer/ethersV5/EV5InterchainAccountTxTransformer.js +37 -0
  300. package/dist/providers/transactions/transformer/ethersV5/EV5InterchainAccountTxTransformer.js.map +1 -0
  301. package/dist/providers/transactions/transformer/ethersV5/EV5TxTransformerInterface.d.ts +5 -0
  302. package/dist/providers/transactions/transformer/ethersV5/EV5TxTransformerInterface.d.ts.map +1 -0
  303. package/dist/providers/transactions/transformer/ethersV5/EV5TxTransformerInterface.js +2 -0
  304. package/dist/providers/transactions/transformer/ethersV5/EV5TxTransformerInterface.js.map +1 -0
  305. package/dist/providers/transactions/transformer/ethersV5/schemas.d.ts +58 -0
  306. package/dist/providers/transactions/transformer/ethersV5/schemas.d.ts.map +1 -0
  307. package/dist/providers/transactions/transformer/ethersV5/schemas.js +7 -0
  308. package/dist/providers/transactions/transformer/ethersV5/schemas.js.map +1 -0
  309. package/dist/providers/transactions/transformer/ethersV5/schemas.test.d.ts +2 -0
  310. package/dist/providers/transactions/transformer/ethersV5/schemas.test.d.ts.map +1 -0
  311. package/dist/providers/transactions/transformer/ethersV5/schemas.test.js +44 -0
  312. package/dist/providers/transactions/transformer/ethersV5/schemas.test.js.map +1 -0
  313. package/dist/providers/transactions/transformer/ethersV5/types.d.ts +4 -0
  314. package/dist/providers/transactions/transformer/ethersV5/types.d.ts.map +1 -0
  315. package/dist/providers/transactions/transformer/ethersV5/types.js +2 -0
  316. package/dist/providers/transactions/transformer/ethersV5/types.js.map +1 -0
  317. package/dist/providers/transactions/transformer/schemas.d.ts +89 -0
  318. package/dist/providers/transactions/transformer/schemas.d.ts.map +1 -0
  319. package/dist/providers/transactions/transformer/schemas.js +10 -0
  320. package/dist/providers/transactions/transformer/schemas.js.map +1 -0
  321. package/dist/providers/transactions/transformer/types.d.ts +4 -0
  322. package/dist/providers/transactions/transformer/types.d.ts.map +1 -0
  323. package/dist/providers/transactions/transformer/types.js +2 -0
  324. package/dist/providers/transactions/transformer/types.js.map +1 -0
  325. package/dist/providers/transactions/types.d.ts +6 -0
  326. package/dist/providers/transactions/types.d.ts.map +1 -0
  327. package/dist/providers/transactions/types.js +2 -0
  328. package/dist/providers/transactions/types.js.map +1 -0
  329. package/dist/router/GasRouterDeployer.d.ts +3 -3
  330. package/dist/router/GasRouterDeployer.d.ts.map +1 -1
  331. package/dist/router/GasRouterDeployer.js +2 -1
  332. package/dist/router/GasRouterDeployer.js.map +1 -1
  333. package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
  334. package/dist/router/HyperlaneRouterChecker.js +36 -53
  335. package/dist/router/HyperlaneRouterChecker.js.map +1 -1
  336. package/dist/router/ProxiedRouterDeployer.d.ts +7 -4
  337. package/dist/router/ProxiedRouterDeployer.d.ts.map +1 -1
  338. package/dist/router/ProxiedRouterDeployer.js +8 -2
  339. package/dist/router/ProxiedRouterDeployer.js.map +1 -1
  340. package/dist/router/schemas.d.ts +828 -41
  341. package/dist/router/schemas.d.ts.map +1 -1
  342. package/dist/router/schemas.js +11 -9
  343. package/dist/router/schemas.js.map +1 -1
  344. package/dist/router/types.d.ts +6 -10
  345. package/dist/router/types.d.ts.map +1 -1
  346. package/dist/router/types.js.map +1 -1
  347. package/dist/schemas.d.ts +25 -0
  348. package/dist/schemas.d.ts.map +1 -0
  349. package/dist/schemas.js +10 -0
  350. package/dist/schemas.js.map +1 -0
  351. package/dist/test/testUtils.d.ts.map +1 -1
  352. package/dist/test/testUtils.js +3 -2
  353. package/dist/test/testUtils.js.map +1 -1
  354. package/dist/token/{read.d.ts → EvmERC20WarpRouteReader.d.ts} +10 -10
  355. package/dist/token/EvmERC20WarpRouteReader.d.ts.map +1 -0
  356. package/dist/token/{read.js → EvmERC20WarpRouteReader.js} +38 -30
  357. package/dist/token/EvmERC20WarpRouteReader.js.map +1 -0
  358. package/dist/token/Token.test.js +0 -9
  359. package/dist/token/Token.test.js.map +1 -1
  360. package/dist/token/TokenStandard.d.ts +0 -1
  361. package/dist/token/TokenStandard.d.ts.map +1 -1
  362. package/dist/token/TokenStandard.js +4 -3
  363. package/dist/token/TokenStandard.js.map +1 -1
  364. package/dist/token/adapters/CosmWasmTokenAdapter.d.ts +2 -2
  365. package/dist/token/adapters/CosmWasmTokenAdapter.d.ts.map +1 -1
  366. package/dist/token/adapters/CosmosTokenAdapter.d.ts +2 -2
  367. package/dist/token/adapters/CosmosTokenAdapter.d.ts.map +1 -1
  368. package/dist/token/adapters/EvmTokenAdapter.d.ts +4 -4
  369. package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
  370. package/dist/token/adapters/EvmTokenAdapter.js +3 -2
  371. package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
  372. package/dist/token/adapters/ITokenAdapter.d.ts +2 -2
  373. package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -1
  374. package/dist/token/adapters/SealevelTokenAdapter.d.ts +5 -5
  375. package/dist/token/adapters/SealevelTokenAdapter.d.ts.map +1 -1
  376. package/dist/token/adapters/SealevelTokenAdapter.js +2 -1
  377. package/dist/token/adapters/SealevelTokenAdapter.js.map +1 -1
  378. package/dist/token/app.d.ts.map +1 -1
  379. package/dist/token/app.js +2 -2
  380. package/dist/token/app.js.map +1 -1
  381. package/dist/token/checker.d.ts +2 -2
  382. package/dist/token/checker.d.ts.map +1 -1
  383. package/dist/token/checker.js +1 -1
  384. package/dist/token/checker.js.map +1 -1
  385. package/dist/token/config.d.ts +4 -44
  386. package/dist/token/config.d.ts.map +1 -1
  387. package/dist/token/config.js +14 -15
  388. package/dist/token/config.js.map +1 -1
  389. package/dist/token/contracts.d.ts +7 -14
  390. package/dist/token/contracts.d.ts.map +1 -1
  391. package/dist/token/contracts.js +8 -8
  392. package/dist/token/contracts.js.map +1 -1
  393. package/dist/token/deploy.d.ts +21 -45
  394. package/dist/token/deploy.d.ts.map +1 -1
  395. package/dist/token/deploy.hardhat-test.js +33 -48
  396. package/dist/token/deploy.hardhat-test.js.map +1 -1
  397. package/dist/token/deploy.js +74 -251
  398. package/dist/token/deploy.js.map +1 -1
  399. package/dist/token/schemas.d.ts +874 -136
  400. package/dist/token/schemas.d.ts.map +1 -1
  401. package/dist/token/schemas.js +29 -19
  402. package/dist/token/schemas.js.map +1 -1
  403. package/dist/token/schemas.test.js +26 -39
  404. package/dist/token/schemas.test.js.map +1 -1
  405. package/dist/token/types.d.ts +2 -1
  406. package/dist/token/types.d.ts.map +1 -1
  407. package/dist/utils/fork.d.ts.map +1 -1
  408. package/dist/utils/fork.js +10 -11
  409. package/dist/utils/fork.js.map +1 -1
  410. package/dist/utils/gnosisSafe.js +46 -0
  411. package/dist/utils/logUtils.d.ts +4 -0
  412. package/dist/utils/logUtils.d.ts.map +1 -0
  413. package/dist/utils/logUtils.js +13 -0
  414. package/dist/utils/logUtils.js.map +1 -0
  415. package/dist/utils/schemas.d.ts +3 -0
  416. package/dist/utils/schemas.d.ts.map +1 -0
  417. package/dist/utils/schemas.js +4 -0
  418. package/dist/utils/schemas.js.map +1 -0
  419. package/package.json +8 -4
  420. package/dist/consts/crud.d.ts.map +0 -1
  421. package/dist/consts/crud.js.map +0 -1
  422. package/dist/core/read.d.ts.map +0 -1
  423. package/dist/core/read.js.map +0 -1
  424. package/dist/crud/AbstractCrudModule.d.ts +0 -21
  425. package/dist/crud/AbstractCrudModule.d.ts.map +0 -1
  426. package/dist/crud/AbstractCrudModule.js.map +0 -1
  427. package/dist/crud/EvmHookModule.d.ts +0 -18
  428. package/dist/crud/EvmHookModule.d.ts.map +0 -1
  429. package/dist/crud/EvmHookModule.js.map +0 -1
  430. package/dist/crud/EvmIsmModule.d.ts +0 -18
  431. package/dist/crud/EvmIsmModule.d.ts.map +0 -1
  432. package/dist/crud/EvmIsmModule.js +0 -28
  433. package/dist/crud/EvmIsmModule.js.map +0 -1
  434. package/dist/hook/read.d.ts.map +0 -1
  435. package/dist/hook/read.js.map +0 -1
  436. package/dist/hook/read.test.d.ts +0 -2
  437. package/dist/hook/read.test.d.ts.map +0 -1
  438. package/dist/hook/read.test.js.map +0 -1
  439. package/dist/ism/read.d.ts.map +0 -1
  440. package/dist/ism/read.js.map +0 -1
  441. package/dist/ism/read.test.d.ts +0 -2
  442. package/dist/ism/read.test.d.ts.map +0 -1
  443. package/dist/ism/read.test.js.map +0 -1
  444. package/dist/token/read.d.ts.map +0 -1
  445. package/dist/token/read.js.map +0 -1
@@ -0,0 +1,71 @@
1
+ import { Mailbox } from '@hyperlane-xyz/core';
2
+ import { Address, ProtocolType } from '@hyperlane-xyz/utils';
3
+ import { HyperlaneAddresses } from '../contracts/types.js';
4
+ import { CoreConfig } from '../core/types.js';
5
+ import { ProxyFactoryFactories } from '../deploy/contracts.js';
6
+ import { MultiProvider } from '../providers/MultiProvider.js';
7
+ import { AnnotatedEV5Transaction } from '../providers/ProviderType.js';
8
+ import { ChainNameOrId } from '../types.js';
9
+ import { HyperlaneModule, HyperlaneModuleParams } from './AbstractHyperlaneModule.js';
10
+ import { EvmCoreReader } from './EvmCoreReader.js';
11
+ import { HyperlaneCoreDeployer } from './HyperlaneCoreDeployer.js';
12
+ import { CoreFactories } from './contracts.js';
13
+ export type DeployedCoreAdresses = HyperlaneAddresses<CoreFactories> & {
14
+ testRecipient: Address;
15
+ timelockController?: Address;
16
+ interchainAccountRouter: Address;
17
+ interchainAccountIsm: Address;
18
+ } & HyperlaneAddresses<ProxyFactoryFactories>;
19
+ export declare class EvmCoreModule extends HyperlaneModule<ProtocolType.Ethereum, CoreConfig, DeployedCoreAdresses> {
20
+ protected readonly multiProvider: MultiProvider;
21
+ protected logger: import("pino").default.Logger<never>;
22
+ protected coreReader: EvmCoreReader;
23
+ readonly chainName: string;
24
+ protected constructor(multiProvider: MultiProvider, args: HyperlaneModuleParams<CoreConfig, DeployedCoreAdresses>);
25
+ /**
26
+ * Reads the core configuration from the mailbox address specified in the SDK arguments.
27
+ * @returns The core config.
28
+ */
29
+ read(): Promise<CoreConfig>;
30
+ update(_config: CoreConfig): Promise<AnnotatedEV5Transaction[]>;
31
+ /**
32
+ * Deploys the Core contracts.
33
+ * @remark Most of the contract owners is the Deployer with some being the Proxy Admin.
34
+ * @returns The created EvmCoreModule instance.
35
+ */
36
+ static create(params: {
37
+ chain: ChainNameOrId;
38
+ config: CoreConfig;
39
+ multiProvider: MultiProvider;
40
+ }): Promise<EvmCoreModule>;
41
+ /**
42
+ * Deploys the core Hyperlane contracts.
43
+ * @returns The deployed core contract addresses.
44
+ */
45
+ static deploy(params: {
46
+ config: CoreConfig;
47
+ multiProvider: MultiProvider;
48
+ chain: ChainNameOrId;
49
+ }): Promise<DeployedCoreAdresses>;
50
+ /**
51
+ * Deploys the ISM factories for a given chain.
52
+ * @returns The deployed ISM factories addresses.
53
+ */
54
+ static deployIsmFactories(params: {
55
+ chainName: string;
56
+ config: CoreConfig;
57
+ multiProvider: MultiProvider;
58
+ }): Promise<HyperlaneAddresses<ProxyFactoryFactories>>;
59
+ /**
60
+ * Deploys a Mailbox and its default ISM, hook, and required hook contracts with a given configuration.
61
+ * @returns The deployed Mailbox contract instance.
62
+ */
63
+ static deployMailbox(params: {
64
+ config: CoreConfig;
65
+ proxyAdmin: Address;
66
+ coreDeployer: HyperlaneCoreDeployer;
67
+ multiProvider: MultiProvider;
68
+ chain: ChainNameOrId;
69
+ }): Promise<Mailbox>;
70
+ }
71
+ //# sourceMappingURL=EvmCoreModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EvmCoreModule.d.ts","sourceRoot":"","sources":["../../src/core/EvmCoreModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,YAAY,EAAc,MAAM,sBAAsB,CAAC;AAMzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EACL,qBAAqB,EAEtB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EACL,eAAe,EACf,qBAAqB,EACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,aAAa,CAAC,GAAG;IACrE,aAAa,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,uBAAuB,EAAE,OAAO,CAAC;IACjC,oBAAoB,EAAE,OAAO,CAAC;CAC/B,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;AAE9C,qBAAa,aAAc,SAAQ,eAAe,CAChD,YAAY,CAAC,QAAQ,EACrB,UAAU,EACV,oBAAoB,CACrB;IAMG,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa;IALjD,SAAS,CAAC,MAAM,uCAAiD;IACjE,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC;IACpC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAElC,SAAS,aACY,aAAa,EAAE,aAAa,EAC/C,IAAI,EAAE,qBAAqB,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAO/D;;;OAGG;IACU,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC;IAI3B,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAI5E;;;;OAIG;WACiB,MAAM,CAAC,MAAM,EAAE;QACjC,KAAK,EAAE,aAAa,CAAC;QACrB,MAAM,EAAE,UAAU,CAAC;QACnB,aAAa,EAAE,aAAa,CAAC;KAC9B,GAAG,OAAO,CAAC,aAAa,CAAC;IAkB1B;;;OAGG;WACU,MAAM,CAAC,MAAM,EAAE;QAC1B,MAAM,EAAE,UAAU,CAAC;QACnB,aAAa,EAAE,aAAa,CAAC;QAC7B,KAAK,EAAE,aAAa,CAAC;KACtB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAmFjC;;;OAGG;WACU,kBAAkB,CAAC,MAAM,EAAE;QACtC,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,UAAU,CAAC;QACnB,aAAa,EAAE,aAAa,CAAC;KAC9B,GAAG,OAAO,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;IActD;;;OAGG;WACU,aAAa,CAAC,MAAM,EAAE;QACjC,MAAM,EAAE,UAAU,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;QACpB,YAAY,EAAE,qBAAqB,CAAC;QACpC,aAAa,EAAE,aAAa,CAAC;QAC7B,KAAK,EAAE,aAAa,CAAC;KACtB,GAAG,OAAO,CAAC,OAAO,CAAC;CA2DrB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=EvmCoreModule.hardhat-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EvmCoreModule.hardhat-test.d.ts","sourceRoot":"","sources":["../../src/core/EvmCoreModule.hardhat-test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,101 @@
1
+ import { expect } from 'chai';
2
+ import { constants } from 'ethers';
3
+ import hre from 'hardhat';
4
+ import { Mailbox__factory, ProxyAdmin__factory, TestRecipient__factory, TimelockController__factory, ValidatorAnnounce__factory, } from '@hyperlane-xyz/core';
5
+ import { objMap } from '@hyperlane-xyz/utils';
6
+ import { TestChainName } from '../consts/testChains.js';
7
+ import { MultiProvider } from '../providers/MultiProvider.js';
8
+ import { testCoreConfig } from '../test/testUtils.js';
9
+ import { EvmCoreModule } from './EvmCoreModule.js';
10
+ describe('EvmCoreModule', async () => {
11
+ const CHAIN = TestChainName.test1;
12
+ const DELAY = 1892391283182;
13
+ let config;
14
+ let signer;
15
+ let multiProvider;
16
+ let evmCoreModule;
17
+ let proxyAdminContract;
18
+ let mailboxContract;
19
+ let validatorAnnounceContract;
20
+ let testRecipientContract;
21
+ let timelockControllerContract;
22
+ before(async () => {
23
+ [signer] = await hre.ethers.getSigners();
24
+ multiProvider = MultiProvider.createTestMultiProvider({ signer });
25
+ config = {
26
+ ...testCoreConfig([CHAIN])[CHAIN],
27
+ upgrade: {
28
+ timelock: {
29
+ delay: DELAY,
30
+ roles: {
31
+ executor: signer.address,
32
+ proposer: signer.address,
33
+ },
34
+ },
35
+ },
36
+ };
37
+ evmCoreModule = await EvmCoreModule.create({
38
+ chain: CHAIN,
39
+ config,
40
+ multiProvider,
41
+ });
42
+ const { proxyAdmin, mailbox, validatorAnnounce, testRecipient, timelockController, } = evmCoreModule.serialize();
43
+ proxyAdminContract = ProxyAdmin__factory.connect(proxyAdmin, multiProvider.getProvider(CHAIN));
44
+ mailboxContract = Mailbox__factory.connect(mailbox, multiProvider.getProvider(CHAIN));
45
+ validatorAnnounceContract = ValidatorAnnounce__factory.connect(validatorAnnounce, multiProvider.getProvider(CHAIN));
46
+ testRecipientContract = TestRecipient__factory.connect(testRecipient, multiProvider.getProvider(CHAIN));
47
+ timelockControllerContract = TimelockController__factory.connect(timelockController, multiProvider.getProvider(CHAIN));
48
+ });
49
+ describe('Create', async () => {
50
+ it('should create deploy an ICA', () => {
51
+ const { interchainAccountRouter, interchainAccountIsm } = evmCoreModule.serialize();
52
+ expect(interchainAccountIsm).to.exist;
53
+ expect(interchainAccountRouter).to.exist;
54
+ });
55
+ it('should deploy ISM factories', () => {
56
+ // Each ISM factory
57
+ const deployedContracts = evmCoreModule.serialize();
58
+ objMap(deployedContracts, (_, address) => {
59
+ expect(address).to.exist;
60
+ expect(address).to.not.equal(constants.AddressZero);
61
+ });
62
+ });
63
+ it('should deploy proxyAdmin', () => {
64
+ expect(evmCoreModule.serialize().proxyAdmin).to.exist;
65
+ });
66
+ it('should set proxyAdmin owner to deployer', async () => {
67
+ expect(await proxyAdminContract.owner()).to.equal(signer.address);
68
+ });
69
+ it('should deploy mailbox', async () => {
70
+ const mailboxAddress = evmCoreModule.serialize().mailbox;
71
+ expect(mailboxAddress).to.exist;
72
+ // Check that it's actually a mailbox by calling one of it's methods
73
+ expect(await mailboxContract.localDomain()).to.equal(multiProvider.getChainId(CHAIN));
74
+ });
75
+ it('should set mailbox owner to config owner', async () => {
76
+ expect(await mailboxContract.owner()).to.equal(config.owner);
77
+ });
78
+ it('should deploy mailbox default Ism', async () => {
79
+ expect(await mailboxContract.defaultIsm()).to.not.equal(constants.AddressZero);
80
+ });
81
+ it('should deploy mailbox default hook', async () => {
82
+ expect(await mailboxContract.defaultHook()).to.not.equal(constants.AddressZero);
83
+ });
84
+ it('should deploy mailbox required hook', async () => {
85
+ expect(await mailboxContract.requiredHook()).to.not.equal(constants.AddressZero);
86
+ });
87
+ it('should deploy validatorAnnounce', async () => {
88
+ expect(evmCoreModule.serialize().validatorAnnounce).to.exist;
89
+ expect(await validatorAnnounceContract.owner()).to.equal(signer.address);
90
+ });
91
+ it('should deploy testRecipient', async () => {
92
+ expect(evmCoreModule.serialize().testRecipient).to.exist;
93
+ expect(await testRecipientContract.owner()).to.equal(signer.address);
94
+ });
95
+ it('should deploy timelock if upgrade is set', async () => {
96
+ expect(evmCoreModule.serialize().timelockController).to.exist;
97
+ expect(await timelockControllerContract.getMinDelay()).to.equal(DELAY);
98
+ });
99
+ });
100
+ });
101
+ //# sourceMappingURL=EvmCoreModule.hardhat-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EvmCoreModule.hardhat-test.js","sourceRoot":"","sources":["../../src/core/EvmCoreModule.hardhat-test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,147 @@
1
+ import { rootLogger } from '@hyperlane-xyz/utils';
2
+ import { attachContractsMap, serializeContractsMap, } from '../contracts/contracts.js';
3
+ import { HyperlaneProxyFactoryDeployer } from '../deploy/HyperlaneProxyFactoryDeployer.js';
4
+ import { proxyFactoryFactories, } from '../deploy/contracts.js';
5
+ import { HyperlaneIsmFactory } from '../ism/HyperlaneIsmFactory.js';
6
+ import { HyperlaneModule, } from './AbstractHyperlaneModule.js';
7
+ import { EvmCoreReader } from './EvmCoreReader.js';
8
+ import { EvmIcaModule } from './EvmIcaModule.js';
9
+ import { HyperlaneCoreDeployer } from './HyperlaneCoreDeployer.js';
10
+ export class EvmCoreModule extends HyperlaneModule {
11
+ multiProvider;
12
+ logger = rootLogger.child({ module: 'EvmCoreModule' });
13
+ coreReader;
14
+ chainName;
15
+ constructor(multiProvider, args) {
16
+ super(args);
17
+ this.multiProvider = multiProvider;
18
+ this.coreReader = new EvmCoreReader(multiProvider, this.args.chain);
19
+ this.chainName = this.multiProvider.getChainName(this.args.chain);
20
+ }
21
+ /**
22
+ * Reads the core configuration from the mailbox address specified in the SDK arguments.
23
+ * @returns The core config.
24
+ */
25
+ async read() {
26
+ return this.coreReader.deriveCoreConfig(this.args.addresses.mailbox);
27
+ }
28
+ async update(_config) {
29
+ throw new Error('Method not implemented.');
30
+ }
31
+ /**
32
+ * Deploys the Core contracts.
33
+ * @remark Most of the contract owners is the Deployer with some being the Proxy Admin.
34
+ * @returns The created EvmCoreModule instance.
35
+ */
36
+ static async create(params) {
37
+ const { chain, config, multiProvider } = params;
38
+ const addresses = await EvmCoreModule.deploy({
39
+ config,
40
+ multiProvider,
41
+ chain,
42
+ });
43
+ // Create CoreModule and deploy the Core contracts
44
+ const module = new EvmCoreModule(multiProvider, {
45
+ addresses,
46
+ chain,
47
+ config,
48
+ });
49
+ return module;
50
+ }
51
+ /**
52
+ * Deploys the core Hyperlane contracts.
53
+ * @returns The deployed core contract addresses.
54
+ */
55
+ static async deploy(params) {
56
+ const { config, multiProvider, chain } = params;
57
+ const chainName = multiProvider.getChainName(chain);
58
+ // Deploy Ism Factories
59
+ const ismFactoryFactories = await EvmCoreModule.deployIsmFactories({
60
+ chainName,
61
+ config,
62
+ multiProvider,
63
+ });
64
+ // Deploy IsmFactory to be used in CoreDeployer
65
+ const ismFactory = new HyperlaneIsmFactory(attachContractsMap({ [chainName]: ismFactoryFactories }, proxyFactoryFactories), multiProvider);
66
+ // Initialize Deployer
67
+ const coreDeployer = new HyperlaneCoreDeployer(multiProvider, ismFactory);
68
+ // Deploy proxyAdmin
69
+ const proxyAdmin = (await coreDeployer.deployContract(chainName, 'proxyAdmin', [])).address;
70
+ // Deploy Mailbox
71
+ const mailbox = await this.deployMailbox({
72
+ config,
73
+ coreDeployer,
74
+ proxyAdmin,
75
+ multiProvider,
76
+ chain,
77
+ });
78
+ // Deploy ICA ISM and Router
79
+ const { interchainAccountRouter, interchainAccountIsm } = (await EvmIcaModule.create({
80
+ chain: chainName,
81
+ multiProvider: multiProvider,
82
+ config: {
83
+ mailbox: mailbox.address,
84
+ owner: await multiProvider.getSigner(chain).getAddress(),
85
+ },
86
+ })).serialize();
87
+ // Deploy Validator announce
88
+ const validatorAnnounce = (await coreDeployer.deployValidatorAnnounce(chainName, mailbox.address)).address;
89
+ // Deploy timelock controller if config.upgrade is set
90
+ let timelockController;
91
+ if (config.upgrade) {
92
+ timelockController = (await coreDeployer.deployTimelock(chainName, config.upgrade.timelock)).address;
93
+ }
94
+ // Deploy Test Receipient
95
+ const testRecipient = (await coreDeployer.deployTestRecipient(chainName, await mailbox.defaultIsm())).address;
96
+ // Set Core & extra addresses
97
+ return {
98
+ ...ismFactoryFactories,
99
+ proxyAdmin,
100
+ mailbox: mailbox.address,
101
+ interchainAccountRouter,
102
+ interchainAccountIsm,
103
+ validatorAnnounce,
104
+ timelockController,
105
+ testRecipient,
106
+ };
107
+ }
108
+ /**
109
+ * Deploys the ISM factories for a given chain.
110
+ * @returns The deployed ISM factories addresses.
111
+ */
112
+ static async deployIsmFactories(params) {
113
+ const { chainName, config, multiProvider } = params;
114
+ // ChainMap is still needed for HyperlaneIsmFactory
115
+ const proxyFactoryDeployer = new HyperlaneProxyFactoryDeployer(multiProvider);
116
+ const ismFactoriesFactory = await proxyFactoryDeployer.deploy({
117
+ [chainName]: config,
118
+ });
119
+ return serializeContractsMap(ismFactoriesFactory)[chainName];
120
+ }
121
+ /**
122
+ * Deploys a Mailbox and its default ISM, hook, and required hook contracts with a given configuration.
123
+ * @returns The deployed Mailbox contract instance.
124
+ */
125
+ static async deployMailbox(params) {
126
+ const { config, proxyAdmin, coreDeployer: deployer, multiProvider, chain, } = params;
127
+ const chainName = multiProvider.getChainName(chain);
128
+ const domain = multiProvider.getDomainId(chainName);
129
+ const mailbox = await deployer.deployProxiedContract(chainName, 'mailbox', 'mailbox', proxyAdmin, [domain]);
130
+ // @todo refactor when 1) IsmModule is ready
131
+ const deployedDefaultIsm = await deployer.deployIsm(chainName, config.defaultIsm, mailbox.address);
132
+ // @todo refactor when 1) HookModule is ready, and 2) Hooks Config can handle strings
133
+ const deployedDefaultHook = await deployer.deployHook(chainName, config.defaultHook, {
134
+ mailbox: mailbox.address,
135
+ proxyAdmin,
136
+ });
137
+ // @todo refactor when 1) HookModule is ready, and 2) Hooks Config can handle strings
138
+ const deployedRequiredHook = await deployer.deployHook(chainName, config.requiredHook, {
139
+ mailbox: mailbox.address,
140
+ proxyAdmin,
141
+ });
142
+ // Initialize Mailbox
143
+ await multiProvider.handleTx(chain, mailbox.initialize(config.owner, deployedDefaultIsm, deployedDefaultHook.address, deployedRequiredHook.address, multiProvider.getTransactionOverrides(chain)));
144
+ return mailbox;
145
+ }
146
+ }
147
+ //# sourceMappingURL=EvmCoreModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EvmCoreModule.js","sourceRoot":"","sources":["../../src/core/EvmCoreModule.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { providers } from 'ethers';
2
2
  import { Address } from '@hyperlane-xyz/utils';
3
- import { EvmHookReader } from '../hook/read.js';
4
- import { EvmIsmReader } from '../ism/read.js';
3
+ import { EvmHookReader } from '../hook/EvmHookReader.js';
4
+ import { EvmIsmReader } from '../ism/EvmIsmReader.js';
5
5
  import { MultiProvider } from '../providers/MultiProvider.js';
6
6
  import { ChainNameOrId } from '../types.js';
7
7
  import { CoreConfig } from './types.js';
@@ -25,4 +25,4 @@ export declare class EvmCoreReader implements CoreReader {
25
25
  deriveCoreConfig(address: Address): Promise<CoreConfig>;
26
26
  }
27
27
  export {};
28
- //# sourceMappingURL=read.d.ts.map
28
+ //# sourceMappingURL=EvmCoreReader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EvmCoreReader.d.ts","sourceRoot":"","sources":["../../src/core/EvmCoreReader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGnC,OAAO,EAAE,OAAO,EAAyB,MAAM,sBAAsB,CAAC;AAGtE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,UAAU,UAAU;IAClB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACzD;AAED,qBAAa,aAAc,YAAW,UAAU;IAK5C,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa;IAC/C,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,aAAa;IACvC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM;IANxC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC;IAC7B,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,YAAY,CAAC;gBAEN,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,aAAa,EACpB,WAAW,GAAE,MAEM;IAOxC;;;;;OAKG;IACG,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;CAuB9D"}
@@ -1,8 +1,8 @@
1
1
  import { Mailbox__factory } from '@hyperlane-xyz/core';
2
2
  import { objMap, promiseObjAll } from '@hyperlane-xyz/utils';
3
- import { DEFAULT_CONTRACT_READ_CONCURRENCY } from '../consts/crud.js';
4
- import { EvmHookReader } from '../hook/read.js';
5
- import { EvmIsmReader } from '../ism/read.js';
3
+ import { DEFAULT_CONTRACT_READ_CONCURRENCY } from '../consts/concurrency.js';
4
+ import { EvmHookReader } from '../hook/EvmHookReader.js';
5
+ import { EvmIsmReader } from '../ism/EvmIsmReader.js';
6
6
  export class EvmCoreReader {
7
7
  multiProvider;
8
8
  chain;
@@ -41,4 +41,4 @@ export class EvmCoreReader {
41
41
  return results;
42
42
  }
43
43
  }
44
- //# sourceMappingURL=read.js.map
44
+ //# sourceMappingURL=EvmCoreReader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EvmCoreReader.js","sourceRoot":"","sources":["../../src/core/EvmCoreReader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAW,MAAM,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEtE,OAAO,EAAE,iCAAiC,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAUtD,MAAM,OAAO,aAAa;IAKH;IACA;IACA;IANrB,QAAQ,CAAqB;IAC7B,aAAa,CAAgB;IAC7B,YAAY,CAAe;IAC3B,YACqB,aAA4B,EAC5B,KAAoB,EACpB,cAAsB,aAAa,CAAC,oBAAoB,CACzE,KAAK,CACN,IAAI,iCAAiC;QAJnB,kBAAa,GAAb,aAAa,CAAe;QAC5B,UAAK,GAAL,KAAK,CAAe;QACpB,gBAAW,GAAX,WAAW,CAEQ;QAEtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,aAAa,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAC1E,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,aAAa,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAgB;QACrC,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjE,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAChE,OAAO,CAAC,UAAU,EAAE;YACpB,OAAO,CAAC,WAAW,EAAE;YACrB,OAAO,CAAC,YAAY,EAAE;SACvB,CAAC,CAAC;QAEH,yCAAyC;QACzC,MAAM,OAAO,GAAG,MAAM,aAAa,CACjC,MAAM,CACJ;YACE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;YACtB,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,UAAU,CAAC;YACzD,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,WAAW,CAAC;YAC7D,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,YAAY,CAAC;SAChE,EACD,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,CACpC,CACF,CAAC;QAEF,OAAO,OAAqB,CAAC;IAC/B,CAAC;CACF"}
@@ -0,0 +1,30 @@
1
+ import { ProtocolType } from '@hyperlane-xyz/utils';
2
+ import { HyperlaneAddresses } from '../contracts/types.js';
3
+ import { InterchainAccountFactories } from '../middleware/account/contracts.js';
4
+ import { MultiProvider } from '../providers/MultiProvider.js';
5
+ import { AnnotatedEV5Transaction } from '../providers/ProviderType.js';
6
+ import { ProxiedRouterConfig } from '../router/types.js';
7
+ import { ChainNameOrId } from '../types.js';
8
+ import { HyperlaneModule, HyperlaneModuleParams } from './AbstractHyperlaneModule.js';
9
+ export type InterchainAccountConfig = ProxiedRouterConfig;
10
+ export declare class EvmIcaModule extends HyperlaneModule<ProtocolType.Ethereum, InterchainAccountConfig, HyperlaneAddresses<InterchainAccountFactories>> {
11
+ protected readonly multiProvider: MultiProvider;
12
+ protected logger: import("pino").default.Logger<never>;
13
+ protected constructor(multiProvider: MultiProvider, args: HyperlaneModuleParams<InterchainAccountConfig, HyperlaneAddresses<InterchainAccountFactories>>);
14
+ read(): Promise<InterchainAccountConfig>;
15
+ update(_config: InterchainAccountConfig): Promise<AnnotatedEV5Transaction[]>;
16
+ /**
17
+ * Creates a new EvmIcaModule instance by deploying an ICA with an ICA ISM.
18
+ *
19
+ * @param chain - The chain on which to deploy the ICA.
20
+ * @param config - The configuration for the ICA.
21
+ * @param multiProvider - The MultiProvider instance to use for deployment.
22
+ * @returns {Promise<EvmIcaModule>} - A new EvmIcaModule instance.
23
+ */
24
+ static create({ chain, config, multiProvider, }: {
25
+ chain: ChainNameOrId;
26
+ config: InterchainAccountConfig;
27
+ multiProvider: MultiProvider;
28
+ }): Promise<EvmIcaModule>;
29
+ }
30
+ //# sourceMappingURL=EvmIcaModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EvmIcaModule.d.ts","sourceRoot":"","sources":["../../src/core/EvmIcaModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAc,MAAM,sBAAsB,CAAC;AAGhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EACL,eAAe,EACf,qBAAqB,EACtB,MAAM,8BAA8B,CAAC;AAEtC,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,CAAC;AAE1D,qBAAa,YAAa,SAAQ,eAAe,CAC/C,YAAY,CAAC,QAAQ,EACrB,uBAAuB,EACvB,kBAAkB,CAAC,0BAA0B,CAAC,CAC/C;IAIG,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa;IAHjD,SAAS,CAAC,MAAM,uCAAgD;IAEhE,SAAS,aACY,aAAa,EAAE,aAAa,EAC/C,IAAI,EAAE,qBAAqB,CACzB,uBAAuB,EACvB,kBAAkB,CAAC,0BAA0B,CAAC,CAC/C;IAKU,IAAI,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAIxC,MAAM,CACjB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAIrC;;;;;;;OAOG;WACiB,MAAM,CAAC,EACzB,KAAK,EACL,MAAM,EACN,aAAa,GACd,EAAE;QACD,KAAK,EAAE,aAAa,CAAC;QACrB,MAAM,EAAE,uBAAuB,CAAC;QAChC,aAAa,EAAE,aAAa,CAAC;KAC9B,GAAG,OAAO,CAAC,YAAY,CAAC;CAe1B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=EvmIcaModule.hardhat-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EvmIcaModule.hardhat-test.d.ts","sourceRoot":"","sources":["../../src/core/EvmIcaModule.hardhat-test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,35 @@
1
+ import { expect } from 'chai';
2
+ import { ethers } from 'ethers';
3
+ import hre from 'hardhat';
4
+ import { Mailbox__factory } from '@hyperlane-xyz/core';
5
+ import { TestChainName } from '../consts/testChains.js';
6
+ import { MultiProvider } from '../providers/MultiProvider.js';
7
+ import { EvmIcaModule } from './EvmIcaModule.js';
8
+ describe('EvmIcaModule', async () => {
9
+ const LOCAL_DOMAIN = 1;
10
+ let signer;
11
+ let multiProvider;
12
+ let mailbox;
13
+ before(async () => {
14
+ [signer] = await hre.ethers.getSigners();
15
+ multiProvider = MultiProvider.createTestMultiProvider({ signer });
16
+ const Mailbox = new Mailbox__factory(signer);
17
+ mailbox = await Mailbox.deploy(LOCAL_DOMAIN);
18
+ });
19
+ describe('Create', async () => {
20
+ it('should deploy an ICA with ISM', async () => {
21
+ const evmIcaModule = await EvmIcaModule.create({
22
+ chain: TestChainName.test1,
23
+ config: {
24
+ mailbox: mailbox.address,
25
+ owner: signer.address,
26
+ },
27
+ multiProvider,
28
+ });
29
+ const { interchainAccountRouter, interchainAccountIsm } = evmIcaModule.serialize();
30
+ expect(interchainAccountIsm).to.not.equal(ethers.constants.AddressZero);
31
+ expect(interchainAccountRouter).to.not.equal(ethers.constants.AddressZero);
32
+ });
33
+ });
34
+ });
35
+ //# sourceMappingURL=EvmIcaModule.hardhat-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EvmIcaModule.hardhat-test.js","sourceRoot":"","sources":["../../src/core/EvmIcaModule.hardhat-test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,GAAG,MAAM,SAAS,CAAC;AAE1B,OAAO,EAAW,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,QAAQ,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;IAClC,MAAM,YAAY,GAAG,CAAC,CAAC;IACvB,IAAI,MAAyB,CAAC;IAC9B,IAAI,aAA4B,CAAC;IACjC,IAAI,OAAgB,CAAC;IAErB,MAAM,CAAC,KAAK,IAAI,EAAE;QAChB,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACzC,aAAa,GAAG,aAAa,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC5B,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;gBAC7C,KAAK,EAAE,aAAa,CAAC,KAAK;gBAC1B,MAAM,EAAE;oBACN,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,KAAK,EAAE,MAAM,CAAC,OAAO;iBACtB;gBACD,aAAa;aACd,CAAC,CAAC;YAEH,MAAM,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,GACrD,YAAY,CAAC,SAAS,EAAE,CAAC;YAC3B,MAAM,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YACxE,MAAM,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAC1C,MAAM,CAAC,SAAS,CAAC,WAAW,CAC7B,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { rootLogger } from '@hyperlane-xyz/utils';
2
+ import { serializeContracts } from '../contracts/contracts.js';
3
+ import { InterchainAccountDeployer } from '../middleware/account/InterchainAccountDeployer.js';
4
+ import { HyperlaneModule, } from './AbstractHyperlaneModule.js';
5
+ export class EvmIcaModule extends HyperlaneModule {
6
+ multiProvider;
7
+ logger = rootLogger.child({ module: 'EvmIcaModule' });
8
+ constructor(multiProvider, args) {
9
+ super(args);
10
+ this.multiProvider = multiProvider;
11
+ }
12
+ async read() {
13
+ throw new Error('Method not implemented.');
14
+ }
15
+ async update(_config) {
16
+ throw new Error('Method not implemented.');
17
+ }
18
+ /**
19
+ * Creates a new EvmIcaModule instance by deploying an ICA with an ICA ISM.
20
+ *
21
+ * @param chain - The chain on which to deploy the ICA.
22
+ * @param config - The configuration for the ICA.
23
+ * @param multiProvider - The MultiProvider instance to use for deployment.
24
+ * @returns {Promise<EvmIcaModule>} - A new EvmIcaModule instance.
25
+ */
26
+ static async create({ chain, config, multiProvider, }) {
27
+ const interchainAccountDeployer = new InterchainAccountDeployer(multiProvider);
28
+ const deployedContracts = await interchainAccountDeployer.deployContracts(multiProvider.getChainName(chain), config);
29
+ return new EvmIcaModule(multiProvider, {
30
+ addresses: serializeContracts(deployedContracts),
31
+ chain,
32
+ config,
33
+ });
34
+ }
35
+ }
36
+ //# sourceMappingURL=EvmIcaModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EvmIcaModule.js","sourceRoot":"","sources":["../../src/core/EvmIcaModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAC;AAO/F,OAAO,EACL,eAAe,GAEhB,MAAM,8BAA8B,CAAC;AAItC,MAAM,OAAO,YAAa,SAAQ,eAIjC;IAIsB;IAHX,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IAEhE,YACqB,aAA4B,EAC/C,IAGC;QAED,KAAK,CAAC,IAAI,CAAC,CAAC;QANO,kBAAa,GAAb,aAAa,CAAe;IAOjD,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAEM,KAAK,CAAC,MAAM,CACjB,OAAgC;QAEhC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,KAAK,EACL,MAAM,EACN,aAAa,GAKd;QACC,MAAM,yBAAyB,GAAG,IAAI,yBAAyB,CAC7D,aAAa,CACd,CAAC;QACF,MAAM,iBAAiB,GAAG,MAAM,yBAAyB,CAAC,eAAe,CACvE,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,EACjC,MAAM,CACP,CAAC;QAEF,OAAO,IAAI,YAAY,CAAC,aAAa,EAAE;YACrC,SAAS,EAAE,kBAAkB,CAAC,iBAAiB,CAAC;YAChD,KAAK;YACL,MAAM;SACP,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,10 +1,11 @@
1
+ import { TransactionReceipt } from '@ethersproject/providers';
1
2
  import { ethers } from 'ethers';
2
3
  import type { TransactionReceipt as ViemTxReceipt } from 'viem';
3
4
  import { Address, AddressBytes32 } from '@hyperlane-xyz/utils';
4
5
  import { HyperlaneApp } from '../app/HyperlaneApp.js';
5
6
  import { HyperlaneAddressesMap } from '../contracts/types.js';
6
7
  import { OwnableConfig } from '../deploy/types.js';
7
- import { DerivedIsmConfigWithAddress } from '../ism/read.js';
8
+ import { DerivedIsmConfig } from '../ism/EvmIsmReader.js';
8
9
  import { MultiProvider } from '../providers/MultiProvider.js';
9
10
  import { RouterConfig } from '../router/types.js';
10
11
  import { ChainMap, ChainName } from '../types.js';
@@ -13,11 +14,15 @@ import { DispatchedMessage } from './types.js';
13
14
  export declare class HyperlaneCore extends HyperlaneApp<CoreFactories> {
14
15
  static fromAddressesMap(addressesMap: HyperlaneAddressesMap<any>, multiProvider: MultiProvider): HyperlaneCore;
15
16
  getRouterConfig: (owners: Address | ChainMap<OwnableConfig>) => ChainMap<RouterConfig>;
16
- quoteGasPayment: (origin: ChainName, destination: ChainName, recipient: AddressBytes32, body: string) => Promise<ethers.BigNumber>;
17
+ quoteGasPayment: (origin: ChainName, destination: ChainName, recipient: AddressBytes32, body: string, metadata?: string, hook?: Address) => Promise<ethers.BigNumber>;
17
18
  protected getDestination(message: DispatchedMessage): ChainName;
18
19
  getRecipientIsmAddress(message: DispatchedMessage): Promise<Address>;
19
- getRecipientIsmConfig(message: DispatchedMessage): Promise<DerivedIsmConfigWithAddress>;
20
+ getRecipientIsmConfig(message: DispatchedMessage): Promise<DerivedIsmConfig>;
20
21
  buildMetadata(message: DispatchedMessage): Promise<string>;
22
+ sendMessage(origin: ChainName, destination: ChainName, recipient: Address, body: string, hook?: Address, metadata?: string): Promise<{
23
+ dispatchTx: TransactionReceipt;
24
+ message: DispatchedMessage;
25
+ }>;
21
26
  relayMessage(message: DispatchedMessage): Promise<ethers.ContractReceipt>;
22
27
  protected waitForProcessReceipt(message: DispatchedMessage): Promise<ethers.ContractReceipt>;
23
28
  waitForMessageIdProcessed(messageId: string, destination: ChainName, delayMs?: number, maxAttempts?: number): Promise<true>;
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneCore.d.ts","sourceRoot":"","sources":["../../src/core/HyperlaneCore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,kBAAkB,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAGhE,OAAO,EACL,OAAO,EACP,cAAc,EASf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,2BAA2B,EAAgB,MAAM,gBAAgB,CAAC;AAE3E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,aAAa,EAAiB,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,qBAAa,aAAc,SAAQ,YAAY,CAAC,aAAa,CAAC;IAC5D,MAAM,CAAC,gBAAgB,CACrB,YAAY,EAAE,qBAAqB,CAAC,GAAG,CAAC,EACxC,aAAa,EAAE,aAAa,GAC3B,aAAa;IAShB,eAAe,WACL,OAAO,GAAG,SAAS,aAAa,CAAC,KACxC,SAAS,YAAY,CAAC,CAevB;IAEF,eAAe,WACL,SAAS,eACJ,SAAS,aACX,cAAc,QACnB,MAAM,KACX,QAAQ,OAAO,SAAS,CAAC,CAK1B;IAEF,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,iBAAiB,GAAG,SAAS;IAI/D,sBAAsB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAM9D,qBAAqB,CACzB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,2BAA2B,CAAC;IAOjC,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IA2B1D,YAAY,CAChB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC;IAYlC,SAAS,CAAC,qBAAqB,CAC7B,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC;IAkB5B,yBAAyB,CAC7B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,SAAS,EACtB,OAAO,CAAC,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAmBhB,wBAAwB,CACtB,QAAQ,EAAE,MAAM,CAAC,eAAe,GAAG,aAAa,GAC/C,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;IAM9B,uBAAuB,CAC3B,QAAQ,EAAE,MAAM,CAAC,eAAe,GAAG,aAAa,EAChD,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAkBhB,qBAAqB,CACnB,QAAQ,EAAE,MAAM,CAAC,eAAe,GAAG,aAAa,GAC/C,iBAAiB,EAAE;IAIhB,aAAa,CACjB,WAAW,EAAE,SAAS,EACtB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,eAAe,GAAG,aAAa,CAAC;IAWlD,MAAM,CAAC,qBAAqB,CAC1B,QAAQ,EAAE,MAAM,CAAC,eAAe,GAAG,aAAa,GAC/C,iBAAiB,EAAE;CAqBvB"}
1
+ {"version":3,"file":"HyperlaneCore.d.ts","sourceRoot":"","sources":["../../src/core/HyperlaneCore.ts"],"names":[],"mappings":"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"}