@hyperlane-xyz/cli 11.0.0 → 12.1.0-cli-bundle.0

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 (416) hide show
  1. package/cli-bundle/338.index.js +214 -0
  2. package/cli-bundle/file.js +12 -0
  3. package/cli-bundle/index.js +555413 -0
  4. package/cli-bundle/package.json +3 -0
  5. package/cli-bundle/worker-pipeline.js +38 -0
  6. package/cli-bundle/worker.js +54 -0
  7. package/cli-bundle/worker1.js +169 -0
  8. package/package.json +30 -33
  9. package/dist/cli.d.ts +0 -3
  10. package/dist/cli.d.ts.map +0 -1
  11. package/dist/cli.js +0 -68
  12. package/dist/cli.js.map +0 -1
  13. package/dist/env.d.ts +0 -2
  14. package/dist/env.d.ts.map +0 -1
  15. package/dist/env.js +0 -14
  16. package/dist/env.js.map +0 -1
  17. package/dist/src/avs/check.d.ts +0 -3
  18. package/dist/src/avs/check.d.ts.map +0 -1
  19. package/dist/src/avs/check.js +0 -234
  20. package/dist/src/avs/check.js.map +0 -1
  21. package/dist/src/avs/config.d.ts +0 -12
  22. package/dist/src/avs/config.d.ts.map +0 -1
  23. package/dist/src/avs/config.js +0 -18
  24. package/dist/src/avs/config.js.map +0 -1
  25. package/dist/src/avs/stakeRegistry.d.ts +0 -22
  26. package/dist/src/avs/stakeRegistry.d.ts.map +0 -1
  27. package/dist/src/avs/stakeRegistry.js +0 -64
  28. package/dist/src/avs/stakeRegistry.js.map +0 -1
  29. package/dist/src/check/warp.d.ts +0 -6
  30. package/dist/src/check/warp.d.ts.map +0 -1
  31. package/dist/src/check/warp.js +0 -22
  32. package/dist/src/check/warp.js.map +0 -1
  33. package/dist/src/commands/avs.d.ts +0 -12
  34. package/dist/src/commands/avs.d.ts.map +0 -1
  35. package/dist/src/commands/avs.js +0 -86
  36. package/dist/src/commands/avs.js.map +0 -1
  37. package/dist/src/commands/config.d.ts +0 -6
  38. package/dist/src/commands/config.d.ts.map +0 -1
  39. package/dist/src/commands/config.js +0 -93
  40. package/dist/src/commands/config.js.map +0 -1
  41. package/dist/src/commands/core.d.ts +0 -38
  42. package/dist/src/commands/core.d.ts.map +0 -1
  43. package/dist/src/commands/core.js +0 -166
  44. package/dist/src/commands/core.js.map +0 -1
  45. package/dist/src/commands/deploy.d.ts +0 -6
  46. package/dist/src/commands/deploy.d.ts.map +0 -1
  47. package/dist/src/commands/deploy.js +0 -36
  48. package/dist/src/commands/deploy.js.map +0 -1
  49. package/dist/src/commands/hook.d.ts +0 -12
  50. package/dist/src/commands/hook.d.ts.map +0 -1
  51. package/dist/src/commands/hook.js +0 -36
  52. package/dist/src/commands/hook.js.map +0 -1
  53. package/dist/src/commands/ism.d.ts +0 -12
  54. package/dist/src/commands/ism.d.ts.map +0 -1
  55. package/dist/src/commands/ism.js +0 -38
  56. package/dist/src/commands/ism.js.map +0 -1
  57. package/dist/src/commands/options.d.ts +0 -44
  58. package/dist/src/commands/options.d.ts.map +0 -1
  59. package/dist/src/commands/options.js +0 -188
  60. package/dist/src/commands/options.js.map +0 -1
  61. package/dist/src/commands/registry.d.ts +0 -6
  62. package/dist/src/commands/registry.d.ts.map +0 -1
  63. package/dist/src/commands/registry.js +0 -168
  64. package/dist/src/commands/registry.js.map +0 -1
  65. package/dist/src/commands/relayer.d.ts +0 -9
  66. package/dist/src/commands/relayer.d.ts.map +0 -1
  67. package/dist/src/commands/relayer.js +0 -56
  68. package/dist/src/commands/relayer.js.map +0 -1
  69. package/dist/src/commands/send.d.ts +0 -25
  70. package/dist/src/commands/send.d.ts.map +0 -1
  71. package/dist/src/commands/send.js +0 -75
  72. package/dist/src/commands/send.js.map +0 -1
  73. package/dist/src/commands/signCommands.d.ts +0 -14
  74. package/dist/src/commands/signCommands.d.ts.map +0 -1
  75. package/dist/src/commands/signCommands.js +0 -28
  76. package/dist/src/commands/signCommands.js.map +0 -1
  77. package/dist/src/commands/status.d.ts +0 -8
  78. package/dist/src/commands/status.d.ts.map +0 -1
  79. package/dist/src/commands/status.js +0 -28
  80. package/dist/src/commands/status.js.map +0 -1
  81. package/dist/src/commands/strategy.d.ts +0 -13
  82. package/dist/src/commands/strategy.d.ts.map +0 -1
  83. package/dist/src/commands/strategy.js +0 -49
  84. package/dist/src/commands/strategy.js.map +0 -1
  85. package/dist/src/commands/submit.d.ts +0 -18
  86. package/dist/src/commands/submit.d.ts.map +0 -1
  87. package/dist/src/commands/submit.js +0 -41
  88. package/dist/src/commands/submit.js.map +0 -1
  89. package/dist/src/commands/types.d.ts +0 -3
  90. package/dist/src/commands/types.d.ts.map +0 -1
  91. package/dist/src/commands/types.js +0 -2
  92. package/dist/src/commands/types.js.map +0 -1
  93. package/dist/src/commands/validator.d.ts +0 -3
  94. package/dist/src/commands/validator.d.ts.map +0 -1
  95. package/dist/src/commands/validator.js +0 -78
  96. package/dist/src/commands/validator.js.map +0 -1
  97. package/dist/src/commands/warp.d.ts +0 -37
  98. package/dist/src/commands/warp.d.ts.map +0 -1
  99. package/dist/src/commands/warp.js +0 -272
  100. package/dist/src/commands/warp.js.map +0 -1
  101. package/dist/src/config/agent.d.ts +0 -7
  102. package/dist/src/config/agent.d.ts.map +0 -1
  103. package/dist/src/config/agent.js +0 -82
  104. package/dist/src/config/agent.js.map +0 -1
  105. package/dist/src/config/chain.d.ts +0 -7
  106. package/dist/src/config/chain.d.ts.map +0 -1
  107. package/dist/src/config/chain.js +0 -224
  108. package/dist/src/config/chain.js.map +0 -1
  109. package/dist/src/config/chain.test.d.ts +0 -2
  110. package/dist/src/config/chain.test.d.ts.map +0 -1
  111. package/dist/src/config/chain.test.js +0 -9
  112. package/dist/src/config/chain.test.js.map +0 -1
  113. package/dist/src/config/core.d.ts +0 -9
  114. package/dist/src/config/core.d.ts.map +0 -1
  115. package/dist/src/config/core.js +0 -62
  116. package/dist/src/config/core.js.map +0 -1
  117. package/dist/src/config/hooks.d.ts +0 -28
  118. package/dist/src/config/hooks.d.ts.map +0 -1
  119. package/dist/src/config/hooks.js +0 -260
  120. package/dist/src/config/hooks.js.map +0 -1
  121. package/dist/src/config/ism.d.ts +0 -220
  122. package/dist/src/config/ism.d.ts.map +0 -1
  123. package/dist/src/config/ism.js +0 -186
  124. package/dist/src/config/ism.js.map +0 -1
  125. package/dist/src/config/multisig.d.ts +0 -45
  126. package/dist/src/config/multisig.d.ts.map +0 -1
  127. package/dist/src/config/multisig.js +0 -95
  128. package/dist/src/config/multisig.js.map +0 -1
  129. package/dist/src/config/prompts.d.ts +0 -2
  130. package/dist/src/config/prompts.d.ts.map +0 -1
  131. package/dist/src/config/prompts.js +0 -9
  132. package/dist/src/config/prompts.js.map +0 -1
  133. package/dist/src/config/strategy.d.ts +0 -11
  134. package/dist/src/config/strategy.d.ts.map +0 -1
  135. package/dist/src/config/strategy.js +0 -106
  136. package/dist/src/config/strategy.js.map +0 -1
  137. package/dist/src/config/submit.d.ts +0 -9
  138. package/dist/src/config/submit.d.ts.map +0 -1
  139. package/dist/src/config/submit.js +0 -29
  140. package/dist/src/config/submit.js.map +0 -1
  141. package/dist/src/config/utils.d.ts +0 -3
  142. package/dist/src/config/utils.d.ts.map +0 -1
  143. package/dist/src/config/utils.js +0 -14
  144. package/dist/src/config/utils.js.map +0 -1
  145. package/dist/src/config/warp.d.ts +0 -11
  146. package/dist/src/config/warp.d.ts.map +0 -1
  147. package/dist/src/config/warp.js +0 -230
  148. package/dist/src/config/warp.js.map +0 -1
  149. package/dist/src/consts.d.ts +0 -7
  150. package/dist/src/consts.d.ts.map +0 -1
  151. package/dist/src/consts.js +0 -7
  152. package/dist/src/consts.js.map +0 -1
  153. package/dist/src/context/context.d.ts +0 -25
  154. package/dist/src/context/context.d.ts.map +0 -1
  155. package/dist/src/context/context.js +0 -180
  156. package/dist/src/context/context.js.map +0 -1
  157. package/dist/src/context/strategies/chain/ChainResolverFactory.d.ts +0 -14
  158. package/dist/src/context/strategies/chain/ChainResolverFactory.d.ts.map +0 -1
  159. package/dist/src/context/strategies/chain/ChainResolverFactory.js +0 -32
  160. package/dist/src/context/strategies/chain/ChainResolverFactory.js.map +0 -1
  161. package/dist/src/context/strategies/chain/MultiChainResolver.d.ts +0 -36
  162. package/dist/src/context/strategies/chain/MultiChainResolver.d.ts.map +0 -1
  163. package/dist/src/context/strategies/chain/MultiChainResolver.js +0 -172
  164. package/dist/src/context/strategies/chain/MultiChainResolver.js.map +0 -1
  165. package/dist/src/context/strategies/chain/types.d.ts +0 -10
  166. package/dist/src/context/strategies/chain/types.d.ts.map +0 -1
  167. package/dist/src/context/strategies/chain/types.js +0 -2
  168. package/dist/src/context/strategies/chain/types.js.map +0 -1
  169. package/dist/src/context/strategies/signer/BaseMultiProtocolSigner.d.ts +0 -19
  170. package/dist/src/context/strategies/signer/BaseMultiProtocolSigner.d.ts.map +0 -1
  171. package/dist/src/context/strategies/signer/BaseMultiProtocolSigner.js +0 -7
  172. package/dist/src/context/strategies/signer/BaseMultiProtocolSigner.js.map +0 -1
  173. package/dist/src/context/strategies/signer/MultiProtocolSignerFactory.d.ts +0 -6
  174. package/dist/src/context/strategies/signer/MultiProtocolSignerFactory.d.ts.map +0 -1
  175. package/dist/src/context/strategies/signer/MultiProtocolSignerFactory.js +0 -47
  176. package/dist/src/context/strategies/signer/MultiProtocolSignerFactory.js.map +0 -1
  177. package/dist/src/context/strategies/signer/MultiProtocolSignerManager.d.ts +0 -51
  178. package/dist/src/context/strategies/signer/MultiProtocolSignerManager.d.ts.map +0 -1
  179. package/dist/src/context/strategies/signer/MultiProtocolSignerManager.js +0 -115
  180. package/dist/src/context/strategies/signer/MultiProtocolSignerManager.js.map +0 -1
  181. package/dist/src/context/types.d.ts +0 -36
  182. package/dist/src/context/types.d.ts.map +0 -1
  183. package/dist/src/context/types.js +0 -2
  184. package/dist/src/context/types.js.map +0 -1
  185. package/dist/src/deploy/agent.d.ts +0 -8
  186. package/dist/src/deploy/agent.d.ts.map +0 -1
  187. package/dist/src/deploy/agent.js +0 -41
  188. package/dist/src/deploy/agent.js.map +0 -1
  189. package/dist/src/deploy/core.d.ts +0 -17
  190. package/dist/src/deploy/core.d.ts.map +0 -1
  191. package/dist/src/deploy/core.js +0 -84
  192. package/dist/src/deploy/core.js.map +0 -1
  193. package/dist/src/deploy/dry-run.d.ts +0 -19
  194. package/dist/src/deploy/dry-run.d.ts.map +0 -1
  195. package/dist/src/deploy/dry-run.js +0 -46
  196. package/dist/src/deploy/dry-run.js.map +0 -1
  197. package/dist/src/deploy/utils.d.ts +0 -19
  198. package/dist/src/deploy/utils.d.ts.map +0 -1
  199. package/dist/src/deploy/utils.js +0 -112
  200. package/dist/src/deploy/utils.js.map +0 -1
  201. package/dist/src/deploy/warp.d.ts +0 -34
  202. package/dist/src/deploy/warp.d.ts.map +0 -1
  203. package/dist/src/deploy/warp.js +0 -517
  204. package/dist/src/deploy/warp.js.map +0 -1
  205. package/dist/src/hook/read.d.ts +0 -13
  206. package/dist/src/hook/read.d.ts.map +0 -1
  207. package/dist/src/hook/read.js +0 -25
  208. package/dist/src/hook/read.js.map +0 -1
  209. package/dist/src/ism/read.d.ts +0 -13
  210. package/dist/src/ism/read.d.ts.map +0 -1
  211. package/dist/src/ism/read.js +0 -25
  212. package/dist/src/ism/read.js.map +0 -1
  213. package/dist/src/logger.d.ts +0 -21
  214. package/dist/src/logger.d.ts.map +0 -1
  215. package/dist/src/logger.js +0 -40
  216. package/dist/src/logger.js.map +0 -1
  217. package/dist/src/read/core.d.ts +0 -9
  218. package/dist/src/read/core.d.ts.map +0 -1
  219. package/dist/src/read/core.js +0 -22
  220. package/dist/src/read/core.js.map +0 -1
  221. package/dist/src/read/warp.d.ts +0 -10
  222. package/dist/src/read/warp.d.ts.map +0 -1
  223. package/dist/src/read/warp.js +0 -60
  224. package/dist/src/read/warp.js.map +0 -1
  225. package/dist/src/send/message.d.ts +0 -12
  226. package/dist/src/send/message.d.ts.map +0 -1
  227. package/dist/src/send/message.js +0 -75
  228. package/dist/src/send/message.js.map +0 -1
  229. package/dist/src/send/transfer.d.ts +0 -16
  230. package/dist/src/send/transfer.d.ts.map +0 -1
  231. package/dist/src/send/transfer.js +0 -113
  232. package/dist/src/send/transfer.js.map +0 -1
  233. package/dist/src/status/message.d.ts +0 -10
  234. package/dist/src/status/message.d.ts.map +0 -1
  235. package/dist/src/status/message.js +0 -70
  236. package/dist/src/status/message.js.map +0 -1
  237. package/dist/src/submit/submit.d.ts +0 -5
  238. package/dist/src/submit/submit.d.ts.map +0 -1
  239. package/dist/src/submit/submit.js +0 -42
  240. package/dist/src/submit/submit.js.map +0 -1
  241. package/dist/src/submit/types.d.ts +0 -6
  242. package/dist/src/submit/types.d.ts.map +0 -1
  243. package/dist/src/submit/types.js +0 -2
  244. package/dist/src/submit/types.js.map +0 -1
  245. package/dist/src/tests/commands/core.d.ts +0 -32
  246. package/dist/src/tests/commands/core.d.ts.map +0 -1
  247. package/dist/src/tests/commands/core.js +0 -116
  248. package/dist/src/tests/commands/core.js.map +0 -1
  249. package/dist/src/tests/commands/helpers.d.ts +0 -107
  250. package/dist/src/tests/commands/helpers.d.ts.map +0 -1
  251. package/dist/src/tests/commands/helpers.js +0 -291
  252. package/dist/src/tests/commands/helpers.js.map +0 -1
  253. package/dist/src/tests/commands/warp.d.ts +0 -54
  254. package/dist/src/tests/commands/warp.d.ts.map +0 -1
  255. package/dist/src/tests/commands/warp.js +0 -225
  256. package/dist/src/tests/commands/warp.js.map +0 -1
  257. package/dist/src/tests/core/core-apply.e2e-test.d.ts +0 -2
  258. package/dist/src/tests/core/core-apply.e2e-test.d.ts.map +0 -1
  259. package/dist/src/tests/core/core-apply.e2e-test.js +0 -155
  260. package/dist/src/tests/core/core-apply.e2e-test.js.map +0 -1
  261. package/dist/src/tests/core/core-check.e2e-test.d.ts +0 -2
  262. package/dist/src/tests/core/core-check.e2e-test.d.ts.map +0 -1
  263. package/dist/src/tests/core/core-check.e2e-test.js +0 -49
  264. package/dist/src/tests/core/core-check.e2e-test.js.map +0 -1
  265. package/dist/src/tests/core/core-deploy.e2e-test.d.ts +0 -2
  266. package/dist/src/tests/core/core-deploy.e2e-test.d.ts.map +0 -1
  267. package/dist/src/tests/core/core-deploy.e2e-test.js +0 -165
  268. package/dist/src/tests/core/core-deploy.e2e-test.js.map +0 -1
  269. package/dist/src/tests/core/core-init.e2e-test.d.ts +0 -2
  270. package/dist/src/tests/core/core-init.e2e-test.d.ts.map +0 -1
  271. package/dist/src/tests/core/core-init.e2e-test.js +0 -124
  272. package/dist/src/tests/core/core-init.e2e-test.js.map +0 -1
  273. package/dist/src/tests/core/core-read.e2e-test.d.ts +0 -2
  274. package/dist/src/tests/core/core-read.e2e-test.d.ts.map +0 -1
  275. package/dist/src/tests/core/core-read.e2e-test.js +0 -29
  276. package/dist/src/tests/core/core-read.e2e-test.js.map +0 -1
  277. package/dist/src/tests/deployTestErc20.d.ts +0 -2
  278. package/dist/src/tests/deployTestErc20.d.ts.map +0 -1
  279. package/dist/src/tests/deployTestErc20.js +0 -27
  280. package/dist/src/tests/deployTestErc20.js.map +0 -1
  281. package/dist/src/tests/hooks.test.d.ts +0 -2
  282. package/dist/src/tests/hooks.test.d.ts.map +0 -1
  283. package/dist/src/tests/hooks.test.js +0 -89
  284. package/dist/src/tests/hooks.test.js.map +0 -1
  285. package/dist/src/tests/ism.test.d.ts +0 -2
  286. package/dist/src/tests/ism.test.d.ts.map +0 -1
  287. package/dist/src/tests/ism.test.js +0 -76
  288. package/dist/src/tests/ism.test.js.map +0 -1
  289. package/dist/src/tests/relay.e2e-test.d.ts +0 -2
  290. package/dist/src/tests/relay.e2e-test.d.ts.map +0 -1
  291. package/dist/src/tests/relay.e2e-test.js +0 -44
  292. package/dist/src/tests/relay.e2e-test.js.map +0 -1
  293. package/dist/src/tests/warp/warp-apply.e2e-test.d.ts +0 -2
  294. package/dist/src/tests/warp/warp-apply.e2e-test.d.ts.map +0 -1
  295. package/dist/src/tests/warp/warp-apply.e2e-test.js +0 -91
  296. package/dist/src/tests/warp/warp-apply.e2e-test.js.map +0 -1
  297. package/dist/src/tests/warp/warp-bridge-1.e2e-test.d.ts +0 -2
  298. package/dist/src/tests/warp/warp-bridge-1.e2e-test.d.ts.map +0 -1
  299. package/dist/src/tests/warp/warp-bridge-1.e2e-test.js +0 -21
  300. package/dist/src/tests/warp/warp-bridge-1.e2e-test.js.map +0 -1
  301. package/dist/src/tests/warp/warp-bridge-2.e2e-test.d.ts +0 -2
  302. package/dist/src/tests/warp/warp-bridge-2.e2e-test.d.ts.map +0 -1
  303. package/dist/src/tests/warp/warp-bridge-2.e2e-test.js +0 -21
  304. package/dist/src/tests/warp/warp-bridge-2.e2e-test.js.map +0 -1
  305. package/dist/src/tests/warp/warp-bridge-utils.d.ts +0 -30
  306. package/dist/src/tests/warp/warp-bridge-utils.d.ts.map +0 -1
  307. package/dist/src/tests/warp/warp-bridge-utils.js +0 -140
  308. package/dist/src/tests/warp/warp-bridge-utils.js.map +0 -1
  309. package/dist/src/tests/warp/warp-check.e2e-test.d.ts +0 -2
  310. package/dist/src/tests/warp/warp-check.e2e-test.d.ts.map +0 -1
  311. package/dist/src/tests/warp/warp-check.e2e-test.js +0 -286
  312. package/dist/src/tests/warp/warp-check.e2e-test.js.map +0 -1
  313. package/dist/src/tests/warp/warp-deploy.e2e-test.d.ts +0 -2
  314. package/dist/src/tests/warp/warp-deploy.e2e-test.d.ts.map +0 -1
  315. package/dist/src/tests/warp/warp-deploy.e2e-test.js +0 -300
  316. package/dist/src/tests/warp/warp-deploy.e2e-test.js.map +0 -1
  317. package/dist/src/tests/warp/warp-extend-basic.e2e-test.d.ts +0 -2
  318. package/dist/src/tests/warp/warp-extend-basic.e2e-test.d.ts.map +0 -1
  319. package/dist/src/tests/warp/warp-extend-basic.e2e-test.js +0 -172
  320. package/dist/src/tests/warp/warp-extend-basic.e2e-test.js.map +0 -1
  321. package/dist/src/tests/warp/warp-extend-config.e2e-test.d.ts +0 -2
  322. package/dist/src/tests/warp/warp-extend-config.e2e-test.d.ts.map +0 -1
  323. package/dist/src/tests/warp/warp-extend-config.e2e-test.js +0 -115
  324. package/dist/src/tests/warp/warp-extend-config.e2e-test.js.map +0 -1
  325. package/dist/src/tests/warp/warp-extend-recovery.e2e-test.d.ts +0 -2
  326. package/dist/src/tests/warp/warp-extend-recovery.e2e-test.d.ts.map +0 -1
  327. package/dist/src/tests/warp/warp-extend-recovery.e2e-test.js +0 -167
  328. package/dist/src/tests/warp/warp-extend-recovery.e2e-test.js.map +0 -1
  329. package/dist/src/tests/warp/warp-init.e2e-test.d.ts +0 -2
  330. package/dist/src/tests/warp/warp-init.e2e-test.d.ts.map +0 -1
  331. package/dist/src/tests/warp/warp-init.e2e-test.js +0 -102
  332. package/dist/src/tests/warp/warp-init.e2e-test.js.map +0 -1
  333. package/dist/src/tests/warp/warp-read.e2e-test.d.ts +0 -2
  334. package/dist/src/tests/warp/warp-read.e2e-test.d.ts.map +0 -1
  335. package/dist/src/tests/warp/warp-read.e2e-test.js +0 -98
  336. package/dist/src/tests/warp/warp-read.e2e-test.js.map +0 -1
  337. package/dist/src/tests/warp/warp-send.e2e-test.d.ts +0 -2
  338. package/dist/src/tests/warp/warp-send.e2e-test.d.ts.map +0 -1
  339. package/dist/src/tests/warp/warp-send.e2e-test.js +0 -341
  340. package/dist/src/tests/warp/warp-send.e2e-test.js.map +0 -1
  341. package/dist/src/utils/balances.d.ts +0 -3
  342. package/dist/src/utils/balances.d.ts.map +0 -1
  343. package/dist/src/utils/balances.js +0 -39
  344. package/dist/src/utils/balances.js.map +0 -1
  345. package/dist/src/utils/chains.d.ts +0 -41
  346. package/dist/src/utils/chains.d.ts.map +0 -1
  347. package/dist/src/utils/chains.js +0 -128
  348. package/dist/src/utils/chains.js.map +0 -1
  349. package/dist/src/utils/cli-options.d.ts +0 -9
  350. package/dist/src/utils/cli-options.d.ts.map +0 -1
  351. package/dist/src/utils/cli-options.js +0 -14
  352. package/dist/src/utils/cli-options.js.map +0 -1
  353. package/dist/src/utils/env.d.ts +0 -9
  354. package/dist/src/utils/env.d.ts.map +0 -1
  355. package/dist/src/utils/env.js +0 -12
  356. package/dist/src/utils/env.js.map +0 -1
  357. package/dist/src/utils/files.d.ts +0 -34
  358. package/dist/src/utils/files.d.ts.map +0 -1
  359. package/dist/src/utils/files.js +0 -178
  360. package/dist/src/utils/files.js.map +0 -1
  361. package/dist/src/utils/input.d.ts +0 -54
  362. package/dist/src/utils/input.d.ts.map +0 -1
  363. package/dist/src/utils/input.js +0 -339
  364. package/dist/src/utils/input.js.map +0 -1
  365. package/dist/src/utils/keys.d.ts +0 -31
  366. package/dist/src/utils/keys.d.ts.map +0 -1
  367. package/dist/src/utils/keys.js +0 -77
  368. package/dist/src/utils/keys.js.map +0 -1
  369. package/dist/src/utils/output.d.ts +0 -24
  370. package/dist/src/utils/output.d.ts.map +0 -1
  371. package/dist/src/utils/output.js +0 -88
  372. package/dist/src/utils/output.js.map +0 -1
  373. package/dist/src/utils/relay.d.ts +0 -6
  374. package/dist/src/utils/relay.d.ts.map +0 -1
  375. package/dist/src/utils/relay.js +0 -19
  376. package/dist/src/utils/relay.js.map +0 -1
  377. package/dist/src/utils/time.d.ts +0 -2
  378. package/dist/src/utils/time.d.ts.map +0 -1
  379. package/dist/src/utils/time.js +0 -12
  380. package/dist/src/utils/time.js.map +0 -1
  381. package/dist/src/utils/time.test.d.ts +0 -2
  382. package/dist/src/utils/time.test.d.ts.map +0 -1
  383. package/dist/src/utils/time.test.js +0 -9
  384. package/dist/src/utils/time.test.js.map +0 -1
  385. package/dist/src/utils/tokens.d.ts +0 -5
  386. package/dist/src/utils/tokens.d.ts.map +0 -1
  387. package/dist/src/utils/tokens.js +0 -40
  388. package/dist/src/utils/tokens.js.map +0 -1
  389. package/dist/src/utils/version-check.d.ts +0 -2
  390. package/dist/src/utils/version-check.d.ts.map +0 -1
  391. package/dist/src/utils/version-check.js +0 -15
  392. package/dist/src/utils/version-check.js.map +0 -1
  393. package/dist/src/utils/warp.d.ts +0 -14
  394. package/dist/src/utils/warp.d.ts.map +0 -1
  395. package/dist/src/utils/warp.js +0 -24
  396. package/dist/src/utils/warp.js.map +0 -1
  397. package/dist/src/validator/address.d.ts +0 -10
  398. package/dist/src/validator/address.d.ts.map +0 -1
  399. package/dist/src/validator/address.js +0 -107
  400. package/dist/src/validator/address.js.map +0 -1
  401. package/dist/src/validator/preFlightCheck.d.ts +0 -4
  402. package/dist/src/validator/preFlightCheck.d.ts.map +0 -1
  403. package/dist/src/validator/preFlightCheck.js +0 -74
  404. package/dist/src/validator/preFlightCheck.js.map +0 -1
  405. package/dist/src/validator/utils.d.ts +0 -9
  406. package/dist/src/validator/utils.d.ts.map +0 -1
  407. package/dist/src/validator/utils.js +0 -46
  408. package/dist/src/validator/utils.js.map +0 -1
  409. package/dist/src/verify/warp.d.ts +0 -7
  410. package/dist/src/verify/warp.d.ts.map +0 -1
  411. package/dist/src/verify/warp.js +0 -61
  412. package/dist/src/verify/warp.js.map +0 -1
  413. package/dist/src/version.d.ts +0 -2
  414. package/dist/src/version.d.ts.map +0 -1
  415. package/dist/src/version.js +0 -2
  416. package/dist/src/version.js.map +0 -1
@@ -1,112 +0,0 @@
1
- import { confirm } from '@inquirer/prompts';
2
- import { ethers } from 'ethers';
3
- import { getLocalProvider, } from '@hyperlane-xyz/sdk';
4
- import { ProtocolType } from '@hyperlane-xyz/utils';
5
- import { parseIsmConfig } from '../config/ism.js';
6
- import { log, logBlue, logGray, logGreen, logPink, logTable, } from '../logger.js';
7
- import { nativeBalancesAreSufficient } from '../utils/balances.js';
8
- import { ENV } from '../utils/env.js';
9
- import { assertSigner } from '../utils/keys.js';
10
- import { completeDryRun } from './dry-run.js';
11
- export async function runPreflightChecksForChains({ context, chains, minGas, chainsToGasCheck, }) {
12
- log('Running pre-flight checks for chains...');
13
- const { multiProvider, skipConfirmation } = context;
14
- if (!chains?.length)
15
- throw new Error('Empty chain selection');
16
- for (const chain of chains) {
17
- const metadata = multiProvider.tryGetChainMetadata(chain);
18
- if (!metadata)
19
- throw new Error(`No chain config found for ${chain}`);
20
- if (metadata.protocol !== ProtocolType.Ethereum)
21
- throw new Error('Only Ethereum chains are supported for now');
22
- const signer = multiProvider.getSigner(chain);
23
- assertSigner(signer);
24
- logGreen(`✅ ${metadata.displayName ?? chain} signer is valid`);
25
- }
26
- logGreen('✅ Chains are valid');
27
- await nativeBalancesAreSufficient(multiProvider, chainsToGasCheck ?? chains, minGas, skipConfirmation);
28
- }
29
- export async function runDeployPlanStep({ context, chain, }) {
30
- const { chainMetadata: chainMetadataMap, multiProvider, skipConfirmation, } = context;
31
- const address = await multiProvider.getSigner(chain).getAddress();
32
- logBlue('\nDeployment plan');
33
- logGray('===============');
34
- log(`Transaction signer and owner of new contracts: ${address}`);
35
- log(`Deploying core contracts to network: ${chain}`);
36
- const transformedChainMetadata = transformChainMetadataForDisplay(chainMetadataMap[chain]);
37
- logTable(transformedChainMetadata);
38
- log(`Note: There are several contracts required for each chain, but contracts in your provided registries will be skipped.`);
39
- if (skipConfirmation)
40
- return;
41
- await confirmExistingMailbox(context, chain);
42
- const isConfirmed = await confirm({
43
- message: 'Is this deployment plan correct?',
44
- });
45
- if (!isConfirmed)
46
- throw new Error('Deployment cancelled');
47
- }
48
- async function confirmExistingMailbox(context, chain) {
49
- const addresses = await context.registry.getChainAddresses(chain);
50
- if (addresses?.mailbox) {
51
- const isConfirmed = await confirm({
52
- message: `Mailbox already exists at ${addresses.mailbox}. Are you sure you want to deploy a new mailbox and overwrite existing registry artifacts?`,
53
- default: false,
54
- });
55
- if (!isConfirmed) {
56
- throw Error('Deployment cancelled');
57
- }
58
- }
59
- }
60
- // from parsed types
61
- export function isISMConfig(config) {
62
- return Object.values(config).some((c) => 'type' in c);
63
- }
64
- // directly from filepath
65
- export function isZODISMConfig(filepath) {
66
- return parseIsmConfig(filepath).success;
67
- }
68
- export async function prepareDeploy(context, userAddress, chains) {
69
- const { multiProvider, isDryRun } = context;
70
- const initialBalances = {};
71
- await Promise.all(chains.map(async (chain) => {
72
- const provider = isDryRun
73
- ? getLocalProvider(ENV.ANVIL_IP_ADDR, ENV.ANVIL_PORT)
74
- : multiProvider.getProvider(chain);
75
- const address = userAddress ?? (await multiProvider.getSigner(chain).getAddress());
76
- const currentBalance = await provider.getBalance(address);
77
- initialBalances[chain] = currentBalance;
78
- }));
79
- return initialBalances;
80
- }
81
- export async function completeDeploy(context, command, initialBalances, userAddress, chains) {
82
- const { multiProvider, isDryRun } = context;
83
- if (chains.length > 0)
84
- logPink(`⛽️ Gas Usage Statistics`);
85
- for (const chain of chains) {
86
- const provider = isDryRun
87
- ? getLocalProvider(ENV.ANVIL_IP_ADDR, ENV.ANVIL_PORT)
88
- : multiProvider.getProvider(chain);
89
- const address = userAddress ?? (await multiProvider.getSigner(chain).getAddress());
90
- const currentBalance = await provider.getBalance(address);
91
- const balanceDelta = initialBalances[chain].sub(currentBalance);
92
- if (isDryRun && balanceDelta.lt(0))
93
- break;
94
- logPink(`\t- Gas required for ${command} ${isDryRun ? 'dry-run' : 'deploy'} on ${chain}: ${ethers.utils.formatEther(balanceDelta)} ${multiProvider.getChainMetadata(chain).nativeToken?.symbol ?? 'ETH'}`);
95
- }
96
- if (isDryRun)
97
- await completeDryRun(command);
98
- }
99
- function transformChainMetadataForDisplay(chainMetadata) {
100
- return {
101
- Name: chainMetadata.name,
102
- 'Display Name': chainMetadata.displayName,
103
- 'Chain ID': chainMetadata.chainId,
104
- 'Domain ID': chainMetadata.domainId,
105
- Protocol: chainMetadata.protocol,
106
- 'JSON RPC URL': chainMetadata.rpcUrls[0].http,
107
- 'Native Token: Symbol': chainMetadata.nativeToken?.symbol,
108
- 'Native Token: Name': chainMetadata.nativeToken?.name,
109
- 'Native Token: Decimals': chainMetadata.nativeToken?.decimals,
110
- };
111
- }
112
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/deploy/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAa,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE3C,OAAO,EAML,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAW,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EACL,GAAG,EACH,OAAO,EACP,OAAO,EACP,QAAQ,EACR,OAAO,EACP,QAAQ,GACT,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,EAChD,OAAO,EACP,MAAM,EACN,MAAM,EACN,gBAAgB,GAQjB;IACC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IAC/C,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IAEpD,IAAI,CAAC,MAAM,EAAE,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC9D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,aAAa,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,EAAE,CAAC,CAAC;QACrE,IAAI,QAAQ,CAAC,QAAQ,KAAK,YAAY,CAAC,QAAQ;YAC7C,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9C,YAAY,CAAC,MAAM,CAAC,CAAC;QACrB,QAAQ,CAAC,KAAK,QAAQ,CAAC,WAAW,IAAI,KAAK,kBAAkB,CAAC,CAAC;IACjE,CAAC;IACD,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAE/B,MAAM,2BAA2B,CAC/B,aAAa,EACb,gBAAgB,IAAI,MAAM,EAC1B,MAAM,EACN,gBAAgB,CACjB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,EACtC,OAAO,EACP,KAAK,GAIN;IACC,MAAM,EACJ,aAAa,EAAE,gBAAgB,EAC/B,aAAa,EACb,gBAAgB,GACjB,GAAG,OAAO,CAAC;IAEZ,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;IAElE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC7B,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC3B,GAAG,CAAC,kDAAkD,OAAO,EAAE,CAAC,CAAC;IACjE,GAAG,CAAC,wCAAwC,KAAK,EAAE,CAAC,CAAC;IACrD,MAAM,wBAAwB,GAAG,gCAAgC,CAC/D,gBAAgB,CAAC,KAAK,CAAC,CACxB,CAAC;IACF,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IACnC,GAAG,CACD,uHAAuH,CACxH,CAAC;IAEF,IAAI,gBAAgB;QAAE,OAAO;IAC7B,MAAM,sBAAsB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC;QAChC,OAAO,EAAE,kCAAkC;KAC5C,CAAC,CAAC;IACH,IAAI,CAAC,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,OAAuB,EACvB,KAAgB;IAEhB,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAClE,IAAI,SAAS,EAAE,OAAO,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC;YAChC,OAAO,EAAE,6BAA6B,SAAS,CAAC,OAAO,4FAA4F;YACnJ,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;AACH,CAAC;AAED,oBAAoB;AACpB,MAAM,UAAU,WAAW,CACzB,MAAsD;IAEtD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,yBAAyB;AACzB,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAA4B,EAC5B,WAA2B,EAC3B,MAAmB;IAEnB,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC5C,MAAM,eAAe,GAA8B,EAAE,CAAC;IACtD,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAgB,EAAE,EAAE;QACpC,MAAM,QAAQ,GAAG,QAAQ;YACvB,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,UAAU,CAAC;YACrD,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,OAAO,GACX,WAAW,IAAI,CAAC,MAAM,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;QACrE,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC1D,eAAe,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC;IAC1C,CAAC,CAAC,CACH,CAAC;IACF,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAA4B,EAC5B,OAAe,EACf,eAA0C,EAC1C,WAA2B,EAC3B,MAAmB;IAEnB,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC5C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC1D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,QAAQ;YACvB,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,UAAU,CAAC;YACrD,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,OAAO,GACX,WAAW,IAAI,CAAC,MAAM,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;QACrE,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAChE,IAAI,QAAQ,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;YAAE,MAAM;QAC1C,OAAO,CACL,wBAAwB,OAAO,IAC7B,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QACzB,OAAO,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,IACrD,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,MAAM,IAAI,KAC/D,EAAE,CACH,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ;QAAE,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,gCAAgC,CAAC,aAA4B;IACpE,OAAO;QACL,IAAI,EAAE,aAAa,CAAC,IAAI;QACxB,cAAc,EAAE,aAAa,CAAC,WAAW;QACzC,UAAU,EAAE,aAAa,CAAC,OAAO;QACjC,WAAW,EAAE,aAAa,CAAC,QAAQ;QACnC,QAAQ,EAAE,aAAa,CAAC,QAAQ;QAChC,cAAc,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;QAC7C,sBAAsB,EAAE,aAAa,CAAC,WAAW,EAAE,MAAM;QACzD,oBAAoB,EAAE,aAAa,CAAC,WAAW,EAAE,IAAI;QACrD,wBAAwB,EAAE,aAAa,CAAC,WAAW,EAAE,QAAQ;KAC9D,CAAC;AACJ,CAAC"}
@@ -1,34 +0,0 @@
1
- import { ChainMap, ChainSubmissionStrategy, WarpCoreConfig, WarpRouteDeployConfigMailboxRequired } from '@hyperlane-xyz/sdk';
2
- import { WriteCommandContext } from '../context/types.js';
3
- interface DeployParams {
4
- context: WriteCommandContext;
5
- warpDeployConfig: WarpRouteDeployConfigMailboxRequired;
6
- }
7
- interface WarpApplyParams extends DeployParams {
8
- warpCoreConfig: WarpCoreConfig;
9
- strategyUrl?: string;
10
- receiptsDir: string;
11
- }
12
- export declare function runWarpRouteDeploy({ context, warpRouteDeploymentConfigPath, }: {
13
- context: WriteCommandContext;
14
- warpRouteDeploymentConfigPath?: string;
15
- }): Promise<void>;
16
- export declare function runWarpRouteApply(params: WarpApplyParams): Promise<void>;
17
- /**
18
- * Extends an existing Warp route to include new chains.
19
- * This function manages the entire extension workflow:
20
- * 1. Divides the configuration into existing and new chain segments.
21
- * 2. Returns the current configuration if no new chains are added.
22
- * 3. Deploys and sets up new contracts for the additional chains.
23
- * 4. Refreshes the Warp core configuration with updated token details.
24
- * 5. Saves the revised artifacts to the registry.
25
- */
26
- export declare function extendWarpRoute(params: WarpApplyParams, apiKeys: ChainMap<string>, warpCoreConfig: WarpCoreConfig): Promise<WarpCoreConfig>;
27
- /**
28
- * Retrieves a chain submission strategy from the provided filepath.
29
- * @param submissionStrategyFilepath a filepath to the submission strategy file
30
- * @returns a formatted submission strategy
31
- */
32
- export declare function readChainSubmissionStrategy(submissionStrategyFilepath: string): ChainSubmissionStrategy;
33
- export {};
34
- //# sourceMappingURL=warp.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"warp.d.ts","sourceRoot":"","sources":["../../../src/deploy/warp.ts"],"names":[],"mappings":"AAOA,OAAO,EAIL,QAAQ,EAER,uBAAuB,EA4BvB,cAAc,EAEd,oCAAoC,EAarC,MAAM,oBAAoB,CAAC;AAa5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAiB1D,UAAU,YAAY;IACpB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,gBAAgB,EAAE,oCAAoC,CAAC;CACxD;AAED,UAAU,eAAgB,SAAQ,YAAY;IAC5C,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,kBAAkB,CAAC,EACvC,OAAO,EACP,6BAA6B,GAC9B,EAAE;IACD,OAAO,EAAE,mBAAmB,CAAC;IAC7B,6BAA6B,CAAC,EAAE,MAAM,CAAC;CACxC,iBA4DA;AA+TD,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,IAAI,CAAC,CAmCf;AAoDD;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,EACzB,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,cAAc,CAAC,CAoCzB;AAgED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,0BAA0B,EAAE,MAAM,GACjC,uBAAuB,CAKzB"}
@@ -1,517 +0,0 @@
1
- import { confirm } from '@inquirer/prompts';
2
- import { groupBy } from 'lodash-es';
3
- import { stringify as yamlStringify } from 'yaml';
4
- import { ProxyAdmin__factory } from '@hyperlane-xyz/core';
5
- import { buildArtifact as coreBuildArtifact } from '@hyperlane-xyz/core/buildArtifact.js';
6
- import { CCIPContractCache, ChainSubmissionStrategySchema, ContractVerifier, EvmERC20WarpModule, EvmHookModule, EvmIsmModule, ExplorerLicenseType, HypERC20Deployer, HypERC721Deployer, HyperlaneProxyFactoryDeployer, IsmType, TOKEN_TYPE_TO_STANDARD, TxSubmitterType, WarpCoreConfigSchema, WarpRouteDeployConfigSchema, attachContractsMap, connectContractsMap, expandWarpDeployConfig, extractIsmAndHookFactoryAddresses, getRouterAddressesFromWarpCoreConfig, getTokenConnectionId, hypERC20factories, isCollateralTokenConfig, isTokenMetadata, isXERC20TokenConfig, splitWarpCoreAndExtendedConfigs, } from '@hyperlane-xyz/sdk';
7
- import { ProtocolType, assert, objMap, promiseObjAll, retryAsync, } from '@hyperlane-xyz/utils';
8
- import { readWarpRouteDeployConfig } from '../config/warp.js';
9
- import { MINIMUM_WARP_DEPLOY_GAS } from '../consts.js';
10
- import { requestAndSaveApiKeys } from '../context/context.js';
11
- import { log, logBlue, logGray, logGreen, logTable } from '../logger.js';
12
- import { getSubmitterBuilder } from '../submit/submit.js';
13
- import { indentYamlOrJson, isFile, readYamlOrJson, runFileSelectionStep, writeYamlOrJson, } from '../utils/files.js';
14
- import { completeDeploy, prepareDeploy, runPreflightChecksForChains, } from './utils.js';
15
- export async function runWarpRouteDeploy({ context, warpRouteDeploymentConfigPath, }) {
16
- const { skipConfirmation, chainMetadata, registry } = context;
17
- if (!warpRouteDeploymentConfigPath ||
18
- !isFile(warpRouteDeploymentConfigPath)) {
19
- if (skipConfirmation)
20
- throw new Error('Warp route deployment config required');
21
- warpRouteDeploymentConfigPath = await runFileSelectionStep('./configs', 'Warp route deployment config', 'warp');
22
- }
23
- else {
24
- log(`Using warp route deployment config at ${warpRouteDeploymentConfigPath}`);
25
- }
26
- const warpRouteConfig = await readWarpRouteDeployConfig(warpRouteDeploymentConfigPath, context);
27
- const chains = Object.keys(warpRouteConfig);
28
- let apiKeys = {};
29
- if (!skipConfirmation)
30
- apiKeys = await requestAndSaveApiKeys(chains, chainMetadata, registry);
31
- const deploymentParams = {
32
- context,
33
- warpDeployConfig: warpRouteConfig,
34
- };
35
- await runDeployPlanStep(deploymentParams);
36
- // Some of the below functions throw if passed non-EVM chains
37
- const ethereumChains = chains.filter((chain) => chainMetadata[chain].protocol === ProtocolType.Ethereum);
38
- await runPreflightChecksForChains({
39
- context,
40
- chains: ethereumChains,
41
- minGas: MINIMUM_WARP_DEPLOY_GAS,
42
- });
43
- const initialBalances = await prepareDeploy(context, null, ethereumChains);
44
- const deployedContracts = await executeDeploy(deploymentParams, apiKeys);
45
- const { warpCoreConfig, addWarpRouteOptions } = await getWarpCoreConfig(deploymentParams, deployedContracts);
46
- await writeDeploymentArtifacts(warpCoreConfig, context, addWarpRouteOptions);
47
- await completeDeploy(context, 'warp', initialBalances, null, ethereumChains);
48
- }
49
- async function runDeployPlanStep({ context, warpDeployConfig }) {
50
- const { skipConfirmation } = context;
51
- displayWarpDeployPlan(warpDeployConfig);
52
- if (skipConfirmation || context.isDryRun)
53
- return;
54
- const isConfirmed = await confirm({
55
- message: 'Is this deployment plan correct?',
56
- });
57
- if (!isConfirmed)
58
- throw new Error('Deployment cancelled');
59
- }
60
- async function executeDeploy(params, apiKeys) {
61
- logBlue('🚀 All systems ready, captain! Beginning deployment...');
62
- const { warpDeployConfig, context: { multiProvider, isDryRun, dryRunChain }, } = params;
63
- const deployer = warpDeployConfig.isNft
64
- ? new HypERC721Deployer(multiProvider)
65
- : new HypERC20Deployer(multiProvider); // TODO: replace with EvmERC20WarpModule
66
- const config = isDryRun && dryRunChain
67
- ? { [dryRunChain]: warpDeployConfig[dryRunChain] }
68
- : warpDeployConfig;
69
- const contractVerifier = new ContractVerifier(multiProvider, apiKeys, coreBuildArtifact, ExplorerLicenseType.MIT);
70
- const ismFactoryDeployer = new HyperlaneProxyFactoryDeployer(multiProvider, contractVerifier);
71
- // For each chain in WarpRouteConfig, deploy each Ism Factory, if it's not in the registry
72
- // Then return a modified config with the ism and/or hook address as a string
73
- const modifiedConfig = await resolveWarpIsmAndHook(config, params.context, ismFactoryDeployer, contractVerifier);
74
- const deployedContracts = await deployer.deploy(modifiedConfig);
75
- logGreen('✅ Warp contract deployments complete');
76
- return deployedContracts;
77
- }
78
- async function writeDeploymentArtifacts(warpCoreConfig, context, addWarpRouteOptions) {
79
- if (!context.isDryRun) {
80
- log('Writing deployment artifacts...');
81
- await context.registry.addWarpRoute(warpCoreConfig, addWarpRouteOptions);
82
- }
83
- log(indentYamlOrJson(yamlStringify(warpCoreConfig, null, 2), 4));
84
- }
85
- async function resolveWarpIsmAndHook(warpConfig, context, ismFactoryDeployer, contractVerifier) {
86
- return promiseObjAll(objMap(warpConfig, async (chain, config) => {
87
- const registryAddresses = await context.registry.getAddresses();
88
- const ccipContractCache = new CCIPContractCache(registryAddresses);
89
- const chainAddresses = registryAddresses[chain];
90
- if (!chainAddresses) {
91
- throw `Registry factory addresses not found for ${chain}.`;
92
- }
93
- config.interchainSecurityModule = await createWarpIsm({
94
- ccipContractCache,
95
- chain,
96
- chainAddresses,
97
- context,
98
- contractVerifier,
99
- ismFactoryDeployer,
100
- warpConfig: config,
101
- }); // TODO write test
102
- config.hook = await createWarpHook({
103
- ccipContractCache,
104
- chain,
105
- chainAddresses,
106
- context,
107
- contractVerifier,
108
- ismFactoryDeployer,
109
- warpConfig: config,
110
- });
111
- return config;
112
- }));
113
- }
114
- /**
115
- * Deploys the Warp ISM for a given config
116
- *
117
- * @returns The deployed ism address
118
- */
119
- async function createWarpIsm({ ccipContractCache, chain, chainAddresses, context, contractVerifier, warpConfig, }) {
120
- const { interchainSecurityModule } = warpConfig;
121
- if (!interchainSecurityModule ||
122
- typeof interchainSecurityModule === 'string') {
123
- logGray(`Config Ism is ${!interchainSecurityModule ? 'empty' : interchainSecurityModule}, skipping deployment.`);
124
- return interchainSecurityModule;
125
- }
126
- logBlue(`Loading registry factory addresses for ${chain}...`);
127
- logGray(`Creating ${interchainSecurityModule.type} ISM for token on ${chain} chain...`);
128
- logGreen(`Finished creating ${interchainSecurityModule.type} ISM for token on ${chain} chain.`);
129
- const evmIsmModule = await EvmIsmModule.create({
130
- chain,
131
- mailbox: chainAddresses.mailbox,
132
- multiProvider: context.multiProvider,
133
- proxyFactoryFactories: extractIsmAndHookFactoryAddresses(chainAddresses),
134
- config: interchainSecurityModule,
135
- ccipContractCache,
136
- contractVerifier,
137
- });
138
- const { deployedIsm } = evmIsmModule.serialize();
139
- return deployedIsm;
140
- }
141
- async function createWarpHook({ ccipContractCache, chain, chainAddresses, context, contractVerifier, warpConfig, }) {
142
- const { hook } = warpConfig;
143
- if (!hook || typeof hook === 'string') {
144
- logGray(`Config Hook is ${!hook ? 'empty' : hook}, skipping deployment.`);
145
- return hook;
146
- }
147
- logBlue(`Loading registry factory addresses for ${chain}...`);
148
- logGray(`Creating ${hook.type} Hook for token on ${chain} chain...`);
149
- // If config.proxyadmin.address exists, then use that. otherwise deploy a new proxyAdmin
150
- const proxyAdminAddress = warpConfig.proxyAdmin?.address ??
151
- (await context.multiProvider.handleDeploy(chain, new ProxyAdmin__factory(), [])).address;
152
- const evmHookModule = await EvmHookModule.create({
153
- chain,
154
- multiProvider: context.multiProvider,
155
- coreAddresses: {
156
- mailbox: chainAddresses.mailbox,
157
- proxyAdmin: proxyAdminAddress,
158
- },
159
- config: hook,
160
- ccipContractCache,
161
- contractVerifier,
162
- proxyFactoryFactories: extractIsmAndHookFactoryAddresses(chainAddresses),
163
- });
164
- logGreen(`Finished creating ${hook.type} Hook for token on ${chain} chain.`);
165
- const { deployedHook } = evmHookModule.serialize();
166
- return deployedHook;
167
- }
168
- async function getWarpCoreConfig(params, contracts) {
169
- const warpCoreConfig = { tokens: [] };
170
- // TODO: replace with warp read
171
- const tokenMetadata = await HypERC20Deployer.deriveTokenMetadata(params.context.multiProvider, params.warpDeployConfig);
172
- assert(tokenMetadata && isTokenMetadata(tokenMetadata), 'Missing required token metadata');
173
- const { decimals, symbol, name } = tokenMetadata;
174
- assert(decimals, 'Missing decimals on token metadata');
175
- generateTokenConfigs(warpCoreConfig, params.warpDeployConfig, contracts, symbol, name, decimals);
176
- fullyConnectTokens(warpCoreConfig);
177
- return { warpCoreConfig, addWarpRouteOptions: { symbol } };
178
- }
179
- /**
180
- * Creates token configs.
181
- */
182
- function generateTokenConfigs(warpCoreConfig, warpDeployConfig, contracts, symbol, name, decimals) {
183
- for (const [chainName, contract] of Object.entries(contracts)) {
184
- const config = warpDeployConfig[chainName];
185
- const collateralAddressOrDenom = isCollateralTokenConfig(config) || isXERC20TokenConfig(config)
186
- ? config.token // gets set in the above deriveTokenMetadata()
187
- : undefined;
188
- warpCoreConfig.tokens.push({
189
- chainName,
190
- standard: TOKEN_TYPE_TO_STANDARD[config.type],
191
- decimals,
192
- symbol: config.symbol || symbol,
193
- name,
194
- addressOrDenom: contract[warpDeployConfig[chainName].type]
195
- .address,
196
- collateralAddressOrDenom,
197
- });
198
- }
199
- }
200
- /**
201
- * Adds connections between tokens.
202
- *
203
- * Assumes full interconnectivity between all tokens for now b.c. that's
204
- * what the deployers do by default.
205
- */
206
- function fullyConnectTokens(warpCoreConfig) {
207
- for (const token1 of warpCoreConfig.tokens) {
208
- for (const token2 of warpCoreConfig.tokens) {
209
- if (token1.chainName === token2.chainName &&
210
- token1.addressOrDenom === token2.addressOrDenom)
211
- continue;
212
- token1.connections ||= [];
213
- token1.connections.push({
214
- token: getTokenConnectionId(ProtocolType.Ethereum, token2.chainName, token2.addressOrDenom),
215
- });
216
- }
217
- }
218
- }
219
- export async function runWarpRouteApply(params) {
220
- const { warpDeployConfig, warpCoreConfig, context } = params;
221
- const { chainMetadata, skipConfirmation } = context;
222
- WarpRouteDeployConfigSchema.parse(warpDeployConfig);
223
- WarpCoreConfigSchema.parse(warpCoreConfig);
224
- const chains = Object.keys(warpDeployConfig);
225
- let apiKeys = {};
226
- if (!skipConfirmation)
227
- apiKeys = await requestAndSaveApiKeys(chains, chainMetadata, context.registry);
228
- // Extend the warp route and get the updated configs
229
- const updatedWarpCoreConfig = await extendWarpRoute(params, apiKeys, warpCoreConfig);
230
- // Then create and submit update transactions
231
- const transactions = await updateExistingWarpRoute(params, apiKeys, warpDeployConfig, updatedWarpCoreConfig);
232
- if (transactions.length == 0)
233
- return logGreen(`Warp config is the same as target. No updates needed.`);
234
- await submitWarpApplyTransactions(params, groupBy(transactions, 'chainId'));
235
- }
236
- /**
237
- * Handles the deployment and configuration of new contracts for extending a Warp route.
238
- * This function performs several key steps:
239
- * 1. Derives metadata from existing contracts and applies it to new configurations
240
- * 2. Deploys new contracts using the derived configurations
241
- * 3. Merges existing and new router configurations
242
- * 4. Generates an updated Warp core configuration
243
- */
244
- async function deployWarpExtensionContracts(params, apiKeys, existingConfigs, initialExtendedConfigs, warpCoreConfigByChain) {
245
- // Deploy new contracts with derived metadata
246
- const extendedConfigs = await deriveMetadataFromExisting(params.context.multiProvider, existingConfigs, initialExtendedConfigs);
247
- const newDeployedContracts = await executeDeploy({
248
- context: params.context,
249
- warpDeployConfig: extendedConfigs,
250
- }, apiKeys);
251
- // Merge existing and new routers
252
- const mergedRouters = mergeAllRouters(params.context.multiProvider, existingConfigs, newDeployedContracts, warpCoreConfigByChain);
253
- // Get the updated core config
254
- const { warpCoreConfig: updatedWarpCoreConfig, addWarpRouteOptions } = await getWarpCoreConfig(params, mergedRouters);
255
- WarpCoreConfigSchema.parse(updatedWarpCoreConfig);
256
- return {
257
- newDeployedContracts,
258
- updatedWarpCoreConfig,
259
- addWarpRouteOptions,
260
- };
261
- }
262
- /**
263
- * Extends an existing Warp route to include new chains.
264
- * This function manages the entire extension workflow:
265
- * 1. Divides the configuration into existing and new chain segments.
266
- * 2. Returns the current configuration if no new chains are added.
267
- * 3. Deploys and sets up new contracts for the additional chains.
268
- * 4. Refreshes the Warp core configuration with updated token details.
269
- * 5. Saves the revised artifacts to the registry.
270
- */
271
- export async function extendWarpRoute(params, apiKeys, warpCoreConfig) {
272
- const { context, warpDeployConfig } = params;
273
- const warpCoreConfigByChain = Object.fromEntries(warpCoreConfig.tokens.map((token) => [token.chainName, token]));
274
- const warpCoreChains = Object.keys(warpCoreConfigByChain);
275
- // Split between the existing and additional config
276
- const [existingConfigs, initialExtendedConfigs] = splitWarpCoreAndExtendedConfigs(warpDeployConfig, warpCoreChains);
277
- const extendedChains = Object.keys(initialExtendedConfigs);
278
- if (extendedChains.length === 0) {
279
- return warpCoreConfig;
280
- }
281
- logBlue(`Extending Warp Route to ${extendedChains.join(', ')}`);
282
- // Deploy new contracts with derived metadata and merge with existing config
283
- const { updatedWarpCoreConfig, addWarpRouteOptions } = await deployWarpExtensionContracts(params, apiKeys, existingConfigs, initialExtendedConfigs, warpCoreConfigByChain);
284
- // Write the updated artifacts
285
- await writeDeploymentArtifacts(updatedWarpCoreConfig, context, addWarpRouteOptions);
286
- return updatedWarpCoreConfig;
287
- }
288
- // Updates Warp routes with new configurations.
289
- async function updateExistingWarpRoute(params, apiKeys, warpDeployConfig, warpCoreConfig) {
290
- logBlue('Updating deployed Warp Routes');
291
- const { multiProvider, registry } = params.context;
292
- const registryAddresses = (await registry.getAddresses());
293
- const ccipContractCache = new CCIPContractCache(registryAddresses);
294
- const contractVerifier = new ContractVerifier(multiProvider, apiKeys, coreBuildArtifact, ExplorerLicenseType.MIT);
295
- const transactions = [];
296
- // Get all deployed router addresses
297
- const deployedRoutersAddresses = getRouterAddressesFromWarpCoreConfig(warpCoreConfig);
298
- const expandedWarpDeployConfig = await expandWarpDeployConfig(multiProvider, warpDeployConfig, deployedRoutersAddresses);
299
- await promiseObjAll(objMap(expandedWarpDeployConfig, async (chain, config) => {
300
- await retryAsync(async () => {
301
- const deployedTokenRoute = deployedRoutersAddresses[chain];
302
- assert(deployedTokenRoute, `Missing artifacts for ${chain}.`);
303
- const configWithMailbox = {
304
- ...config,
305
- mailbox: registryAddresses[chain].mailbox,
306
- };
307
- const evmERC20WarpModule = new EvmERC20WarpModule(multiProvider, {
308
- config: configWithMailbox,
309
- chain,
310
- addresses: {
311
- deployedTokenRoute,
312
- ...extractIsmAndHookFactoryAddresses(registryAddresses[chain]),
313
- },
314
- }, ccipContractCache, contractVerifier);
315
- transactions.push(...(await evmERC20WarpModule.update(configWithMailbox)));
316
- });
317
- }));
318
- return transactions;
319
- }
320
- /**
321
- * Retrieves a chain submission strategy from the provided filepath.
322
- * @param submissionStrategyFilepath a filepath to the submission strategy file
323
- * @returns a formatted submission strategy
324
- */
325
- export function readChainSubmissionStrategy(submissionStrategyFilepath) {
326
- const submissionStrategyFileContent = readYamlOrJson(submissionStrategyFilepath.trim());
327
- return ChainSubmissionStrategySchema.parse(submissionStrategyFileContent);
328
- }
329
- /**
330
- * Derives token metadata from existing config and merges it with extended config.
331
- * @returns The merged Warp route deployment config with token metadata.
332
- */
333
- async function deriveMetadataFromExisting(multiProvider, existingConfigs, extendedConfigs) {
334
- const existingTokenMetadata = await HypERC20Deployer.deriveTokenMetadata(multiProvider, existingConfigs);
335
- return objMap(extendedConfigs, (_chain, extendedConfig) => {
336
- return {
337
- ...existingTokenMetadata,
338
- ...extendedConfig,
339
- };
340
- });
341
- }
342
- /**
343
- * Merges existing router configs with newly deployed router contracts.
344
- */
345
- function mergeAllRouters(multiProvider, existingConfigs, deployedContractsMap, warpCoreConfigByChain) {
346
- const existingContractAddresses = objMap(existingConfigs, (chain, config) => ({
347
- [config.type]: warpCoreConfigByChain[chain].addressOrDenom,
348
- }));
349
- return {
350
- ...connectContractsMap(attachContractsMap(existingContractAddresses, hypERC20factories), multiProvider),
351
- ...deployedContractsMap,
352
- };
353
- }
354
- function displayWarpDeployPlan(deployConfig) {
355
- logBlue('\nWarp Route Deployment Plan');
356
- logGray('==========================');
357
- log(`📋 Token Standard: ${deployConfig.isNft ? 'ERC721' : 'ERC20'}`);
358
- const { transformedDeployConfig, transformedIsmConfigs } = transformDeployConfigForDisplay(deployConfig);
359
- log('📋 Warp Route Config:');
360
- logTable(transformedDeployConfig);
361
- objMap(transformedIsmConfigs, (chain, ismConfigs) => {
362
- log(`📋 ${chain} ISM Config(s):`);
363
- ismConfigs.forEach((ismConfig) => {
364
- logTable(ismConfig);
365
- });
366
- });
367
- }
368
- function transformDeployConfigForDisplay(deployConfig) {
369
- const transformedIsmConfigs = {};
370
- const transformedDeployConfig = objMap(deployConfig, (chain, config) => {
371
- if (config.interchainSecurityModule)
372
- transformedIsmConfigs[chain] = transformIsmConfigForDisplay(config.interchainSecurityModule);
373
- return {
374
- 'NFT?': config.isNft ?? false,
375
- Type: config.type,
376
- Owner: config.owner,
377
- Mailbox: config.mailbox,
378
- 'ISM Config(s)': config.interchainSecurityModule
379
- ? 'See table(s) below.'
380
- : 'No ISM config(s) specified.',
381
- };
382
- });
383
- return {
384
- transformedDeployConfig,
385
- transformedIsmConfigs,
386
- };
387
- }
388
- function transformIsmConfigForDisplay(ismConfig) {
389
- const ismConfigs = [];
390
- switch (ismConfig.type) {
391
- case IsmType.AGGREGATION:
392
- ismConfigs.push({
393
- Type: ismConfig.type,
394
- Threshold: ismConfig.threshold,
395
- Modules: 'See table(s) below.',
396
- });
397
- ismConfig.modules.forEach((module) => {
398
- ismConfigs.push(...transformIsmConfigForDisplay(module));
399
- });
400
- return ismConfigs;
401
- case IsmType.ROUTING:
402
- return [
403
- {
404
- Type: ismConfig.type,
405
- Owner: ismConfig.owner,
406
- 'Owner Overrides': ismConfig.ownerOverrides ?? 'Undefined',
407
- Domains: 'See warp config for domain specification.',
408
- },
409
- ];
410
- case IsmType.FALLBACK_ROUTING:
411
- return [
412
- {
413
- Type: ismConfig.type,
414
- Owner: ismConfig.owner,
415
- 'Owner Overrides': ismConfig.ownerOverrides ?? 'Undefined',
416
- Domains: 'See warp config for domain specification.',
417
- },
418
- ];
419
- case IsmType.MERKLE_ROOT_MULTISIG:
420
- return [
421
- {
422
- Type: ismConfig.type,
423
- Validators: ismConfig.validators,
424
- Threshold: ismConfig.threshold,
425
- },
426
- ];
427
- case IsmType.MESSAGE_ID_MULTISIG:
428
- return [
429
- {
430
- Type: ismConfig.type,
431
- Validators: ismConfig.validators,
432
- Threshold: ismConfig.threshold,
433
- },
434
- ];
435
- case IsmType.OP_STACK:
436
- return [
437
- {
438
- Type: ismConfig.type,
439
- Origin: ismConfig.origin,
440
- 'Native Bridge': ismConfig.nativeBridge,
441
- },
442
- ];
443
- case IsmType.PAUSABLE:
444
- return [
445
- {
446
- Type: ismConfig.type,
447
- Owner: ismConfig.owner,
448
- 'Paused ?': ismConfig.paused,
449
- 'Owner Overrides': ismConfig.ownerOverrides ?? 'Undefined',
450
- },
451
- ];
452
- case IsmType.TRUSTED_RELAYER:
453
- return [
454
- {
455
- Type: ismConfig.type,
456
- Relayer: ismConfig.relayer,
457
- },
458
- ];
459
- default:
460
- return [ismConfig];
461
- }
462
- }
463
- /**
464
- * Submits a set of transactions to the specified chain and outputs transaction receipts
465
- */
466
- async function submitWarpApplyTransactions(params, chainTransactions) {
467
- // Create mapping of chain ID to chain name for all chains in warpDeployConfig
468
- const chains = Object.keys(params.warpDeployConfig);
469
- const chainIdToName = Object.fromEntries(chains.map((chain) => [
470
- params.context.multiProvider.getChainId(chain),
471
- chain,
472
- ]));
473
- await promiseObjAll(objMap(chainTransactions, async (chainId, transactions) => {
474
- try {
475
- await retryAsync(async () => {
476
- const chain = chainIdToName[chainId];
477
- const submitter = await getWarpApplySubmitter({
478
- chain,
479
- context: params.context,
480
- strategyUrl: params.strategyUrl,
481
- });
482
- const transactionReceipts = await submitter.submit(...transactions);
483
- if (transactionReceipts) {
484
- const receiptPath = `${params.receiptsDir}/${chain}-${submitter.txSubmitterType}-${Date.now()}-receipts.json`;
485
- writeYamlOrJson(receiptPath, transactionReceipts);
486
- logGreen(`Transactions receipts successfully written to ${receiptPath}`);
487
- }
488
- }, 5, // attempts
489
- 100);
490
- }
491
- catch (e) {
492
- logBlue(`Error in submitWarpApplyTransactions`, e);
493
- console.dir(transactions);
494
- }
495
- }));
496
- }
497
- /**
498
- * Helper function to get warp apply specific submitter.
499
- *
500
- * @returns the warp apply submitter
501
- */
502
- async function getWarpApplySubmitter({ chain, context, strategyUrl, }) {
503
- const { multiProvider } = context;
504
- const submissionStrategy = strategyUrl
505
- ? readChainSubmissionStrategy(strategyUrl)[chain]
506
- : {
507
- submitter: {
508
- chain,
509
- type: TxSubmitterType.JSON_RPC,
510
- },
511
- };
512
- return getSubmitterBuilder({
513
- submissionStrategy,
514
- multiProvider,
515
- });
516
- }
517
- //# sourceMappingURL=warp.js.map