@hyperlane-xyz/cli 12.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 -69
  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 -45
  58. package/dist/src/commands/options.d.ts.map +0 -1
  59. package/dist/src/commands/options.js +0 -194
  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 -227
  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 -183
  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 -37
  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 -210
  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 -10
  354. package/dist/src/utils/env.d.ts.map +0 -1
  355. package/dist/src/utils/env.js +0 -13
  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,260 +0,0 @@
1
- import { confirm, input, select } from '@inquirer/prompts';
2
- import { BigNumber as BigNumberJs } from 'bignumber.js';
3
- import { ethers } from 'ethers';
4
- import { CoinGeckoTokenPriceGetter, HookType, HooksConfigMapSchema, MultiProtocolProvider, getGasPrice, getLocalStorageGasOracleConfig, } from '@hyperlane-xyz/sdk';
5
- import { normalizeAddressEvm, objFilter, objMap, toWei, } from '@hyperlane-xyz/utils';
6
- import { errorRed, logBlue, logGreen, logRed } from '../logger.js';
7
- import { runMultiChainSelectionStep, runSingleChainSelectionStep, } from '../utils/chains.js';
8
- import { readYamlOrJson } from '../utils/files.js';
9
- import { detectAndConfirmOrPrompt, inputWithInfo } from '../utils/input.js';
10
- import { callWithConfigCreationLogs } from './utils.js';
11
- const MAX_PROTOCOL_FEE_DEFAULT = toWei('0.1');
12
- const PROTOCOL_FEE_DEFAULT = toWei('0');
13
- export function presetHookConfigs(owner) {
14
- return {
15
- required: {
16
- type: HookType.PROTOCOL_FEE,
17
- maxProtocolFee: ethers.utils.parseUnits('1', 'gwei').toString(),
18
- protocolFee: ethers.utils.parseUnits('0', 'wei').toString(),
19
- beneficiary: owner,
20
- owner: owner,
21
- },
22
- default: {
23
- type: HookType.MERKLE_TREE,
24
- },
25
- };
26
- }
27
- export function readHooksConfigMap(filePath) {
28
- const config = readYamlOrJson(filePath);
29
- if (!config) {
30
- logRed(`No hook config found at ${filePath}`);
31
- return;
32
- }
33
- const parsedConfig = HooksConfigMapSchema.parse(config);
34
- const hooks = objMap(parsedConfig, (_, config) => config);
35
- logGreen(`All hook configs in ${filePath} are valid for ${hooks}`);
36
- return hooks;
37
- }
38
- export async function createHookConfig({ context, selectMessage = 'Select hook type', advanced = false, }) {
39
- const hookType = await select({
40
- message: selectMessage,
41
- choices: [
42
- {
43
- value: HookType.AGGREGATION,
44
- name: HookType.AGGREGATION,
45
- description: 'Aggregate multiple hooks into a single hook (e.g. merkle tree + IGP) which will be called in sequence',
46
- },
47
- {
48
- value: HookType.MERKLE_TREE,
49
- name: HookType.MERKLE_TREE,
50
- description: 'Add messages to the incremental merkle tree on origin chain (needed for the merkleRootMultisigIsm on the remote chain)',
51
- },
52
- {
53
- value: HookType.PROTOCOL_FEE,
54
- name: HookType.PROTOCOL_FEE,
55
- description: 'Charge fees for each message dispatch from this chain',
56
- },
57
- {
58
- value: HookType.INTERCHAIN_GAS_PAYMASTER,
59
- name: HookType.INTERCHAIN_GAS_PAYMASTER,
60
- description: 'Pay for gas on remote chains',
61
- },
62
- ],
63
- pageSize: 10,
64
- });
65
- switch (hookType) {
66
- case HookType.AGGREGATION:
67
- return createAggregationConfig(context, advanced);
68
- case HookType.MERKLE_TREE:
69
- return createMerkleTreeConfig();
70
- case HookType.PROTOCOL_FEE:
71
- return createProtocolFeeConfig(context, advanced);
72
- case HookType.INTERCHAIN_GAS_PAYMASTER:
73
- return createIGPConfig(context, advanced);
74
- default:
75
- throw new Error(`Invalid hook type: ${hookType}`);
76
- }
77
- }
78
- export const createMerkleTreeConfig = callWithConfigCreationLogs(async () => {
79
- return { type: HookType.MERKLE_TREE };
80
- }, HookType.MERKLE_TREE);
81
- export const createProtocolFeeConfig = callWithConfigCreationLogs(async (context, advanced = false) => {
82
- // Get owner and beneficiary
83
- const { owner, beneficiary } = await getOwnerAndBeneficiary('Protocol Fee Hook', context, advanced);
84
- // TODO: input in gwei, wei, etc
85
- const maxProtocolFee = advanced
86
- ? toWei(await inputWithInfo({
87
- message: `Enter max protocol fee for protocol fee hook (wei):`,
88
- info: `The max protocol fee (ProtocolFee.MAX_PROTOCOL_FEE) is the maximum value the protocol fee on the ProtocolFee hook contract can ever be set to.\nDefault is set to ${MAX_PROTOCOL_FEE_DEFAULT} wei; between 0.001 and 0.1 wei is recommended.`,
89
- }))
90
- : MAX_PROTOCOL_FEE_DEFAULT;
91
- const protocolFee = advanced
92
- ? toWei(await inputWithInfo({
93
- message: `Enter protocol fee for protocol fee hook (wei):`,
94
- info: `The protocol fee is the fee collected by the beneficiary of the ProtocolFee hook for every transaction executed with this hook.\nDefault is set to 0 wei; must be less than max protocol fee of ${maxProtocolFee}.`,
95
- }))
96
- : PROTOCOL_FEE_DEFAULT;
97
- if (BigNumberJs(protocolFee).gt(maxProtocolFee)) {
98
- errorRed(`Protocol fee (${protocolFee}) cannot be greater than max protocol fee (${maxProtocolFee}).`);
99
- throw new Error(`Invalid protocol fee (${protocolFee}).`);
100
- }
101
- return {
102
- type: HookType.PROTOCOL_FEE,
103
- maxProtocolFee,
104
- protocolFee,
105
- beneficiary,
106
- owner,
107
- };
108
- }, HookType.PROTOCOL_FEE);
109
- export const createIGPConfig = callWithConfigCreationLogs(async (context, advanced = false) => {
110
- // Get owner and beneficiary
111
- const { owner, beneficiary } = await getOwnerAndBeneficiary('Interchain Gas Paymaster', context, advanced);
112
- // Determine local and remote chains
113
- const { localChain, remoteChains } = await selectIgpChains(context);
114
- // Get overhead, defaulting to 75000
115
- const overhead = await getIgpOverheads(remoteChains);
116
- // Only get prices for local and remote chains
117
- const filteredMetadata = objFilter(context.chainMetadata, (_, metadata) => remoteChains.includes(metadata.name) || metadata.name === localChain);
118
- const prices = await getIgpTokenPrices(context, filteredMetadata);
119
- // Get exchange rate margin percentage, defaulting to 10
120
- const exchangeRateMarginPct = parseInt(await input({
121
- message: `Enter IGP margin percentage (e.g. 10 for 10%)`,
122
- default: '10',
123
- }), 10);
124
- // Calculate storage gas oracle config
125
- const oracleConfig = getLocalStorageGasOracleConfig({
126
- local: localChain,
127
- localProtocolType: context.multiProvider.getProtocol(localChain),
128
- gasOracleParams: prices,
129
- exchangeRateMarginPct,
130
- });
131
- return {
132
- type: HookType.INTERCHAIN_GAS_PAYMASTER,
133
- beneficiary,
134
- owner,
135
- oracleKey: owner,
136
- overhead,
137
- oracleConfig,
138
- };
139
- }, HookType.INTERCHAIN_GAS_PAYMASTER);
140
- async function getOwnerAndBeneficiary(module, context, advanced) {
141
- const unnormalizedOwner = !advanced && context.signerAddress
142
- ? context.signerAddress
143
- : await detectAndConfirmOrPrompt(async () => context.signerAddress, `For ${module}, enter`, 'owner address', 'signer');
144
- const owner = normalizeAddressEvm(unnormalizedOwner);
145
- let beneficiary = owner;
146
- const beneficiarySameAsOwner = await confirm({
147
- message: `Use this same address (${owner}) for the beneficiary?`,
148
- });
149
- if (!beneficiarySameAsOwner) {
150
- const unnormalizedBeneficiary = await input({
151
- message: `Enter beneficiary address for ${module}`,
152
- });
153
- beneficiary = normalizeAddressEvm(unnormalizedBeneficiary);
154
- }
155
- return { owner, beneficiary };
156
- }
157
- async function selectIgpChains(context) {
158
- const localChain = await runSingleChainSelectionStep(context.chainMetadata, 'Select local chain for IGP hook:');
159
- const isTestnet = context.chainMetadata[localChain].isTestnet;
160
- const remoteChains = await runMultiChainSelectionStep({
161
- chainMetadata: objFilter(context.chainMetadata, (_, metadata) => metadata.name !== localChain),
162
- message: 'Select remote destination chains for IGP hook',
163
- requireNumber: 1,
164
- networkType: isTestnet ? 'testnet' : 'mainnet',
165
- });
166
- return { localChain, remoteChains };
167
- }
168
- async function getIgpOverheads(remoteChains) {
169
- const overhead = {};
170
- for (const chain of remoteChains) {
171
- overhead[chain] = parseInt(await input({
172
- message: `Enter overhead for ${chain} (e.g., 75000) for IGP hook`,
173
- default: '75000',
174
- }));
175
- }
176
- return overhead;
177
- }
178
- async function getIgpTokenPrices(context, filteredMetadata) {
179
- const isTestnet = context.chainMetadata[Object.keys(filteredMetadata)[0]].isTestnet;
180
- let fetchedPrices;
181
- if (isTestnet) {
182
- fetchedPrices = objMap(filteredMetadata, () => '10');
183
- }
184
- else {
185
- const tokenPriceGetter = new CoinGeckoTokenPriceGetter({
186
- chainMetadata: filteredMetadata,
187
- });
188
- const results = await tokenPriceGetter.getAllTokenPrices();
189
- fetchedPrices = objMap(results, (v) => v.toString());
190
- }
191
- logBlue(isTestnet
192
- ? `Hardcoding all gas token prices to 10 USD for testnet...`
193
- : `Getting gas token prices for all chains from Coingecko...`);
194
- const mpp = new MultiProtocolProvider(context.chainMetadata);
195
- const prices = {};
196
- for (const chain of Object.keys(filteredMetadata)) {
197
- const gasPrice = await getGasPrice(mpp, chain);
198
- logBlue(`Gas price for ${chain} is ${gasPrice.amount}`);
199
- let tokenPrice = fetchedPrices[chain];
200
- if (!tokenPrice) {
201
- tokenPrice = await input({
202
- message: `Enter the price of ${chain}'s token in USD`,
203
- });
204
- }
205
- else {
206
- logBlue(`Gas token price for ${chain} is $${tokenPrice}`);
207
- }
208
- const decimals = context.chainMetadata[chain].nativeToken?.decimals;
209
- if (!decimals) {
210
- throw new Error(`No decimals found in metadata for ${chain}`);
211
- }
212
- prices[chain] = {
213
- gasPrice,
214
- nativeToken: { price: tokenPrice, decimals },
215
- };
216
- }
217
- return prices;
218
- }
219
- export const createAggregationConfig = callWithConfigCreationLogs(async (context, advanced = false) => {
220
- const hooksNum = parseInt(await input({
221
- message: 'Enter the number of hooks to aggregate (number)',
222
- }), 10);
223
- const hooks = [];
224
- for (let i = 0; i < hooksNum; i++) {
225
- logBlue(`Creating hook ${i + 1} of ${hooksNum} ...`);
226
- hooks.push(await createHookConfig({
227
- context,
228
- advanced,
229
- }));
230
- }
231
- return {
232
- type: HookType.AGGREGATION,
233
- hooks,
234
- };
235
- }, HookType.AGGREGATION);
236
- export const createRoutingConfig = callWithConfigCreationLogs(async (context, advanced = false) => {
237
- const owner = await input({
238
- message: 'Enter owner address for routing Hook',
239
- });
240
- const ownerAddress = owner;
241
- const chains = await runMultiChainSelectionStep({
242
- chainMetadata: context.chainMetadata,
243
- message: 'Select chains for routing Hook',
244
- requireNumber: 1,
245
- });
246
- const domainsMap = {};
247
- for (const chain of chains) {
248
- await confirm({
249
- message: `You are about to configure hook for remote chain ${chain}. Continue?`,
250
- });
251
- const config = await createHookConfig({ context, advanced });
252
- domainsMap[chain] = config;
253
- }
254
- return {
255
- type: HookType.ROUTING,
256
- owner: ownerAddress,
257
- domains: domainsMap,
258
- };
259
- }, HookType.ROUTING);
260
- //# sourceMappingURL=hooks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/config/hooks.ts"],"names":[],"mappings":"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"}
@@ -1,220 +0,0 @@
1
- import { z } from 'zod';
2
- import { AggregationIsmConfig, IsmConfig, IsmType, MultisigIsmConfig } from '@hyperlane-xyz/sdk';
3
- import { CommandContext } from '../context/types.js';
4
- export declare function parseIsmConfig(filePath: string): z.SafeParseReturnType<Record<string, string | {
5
- type: IsmType.TEST_ISM;
6
- } | {
7
- type: IsmType.OP_STACK;
8
- origin: string;
9
- nativeBridge: string;
10
- } | {
11
- type: IsmType.TRUSTED_RELAYER;
12
- relayer: string;
13
- } | {
14
- type: IsmType.CCIP;
15
- originChain: string;
16
- } | import("@hyperlane-xyz/sdk").RoutingIsmConfig | AggregationIsmConfig | {
17
- type: IsmType.ARB_L2_TO_L1;
18
- bridge: string;
19
- } | ({
20
- owner: string;
21
- paused: boolean;
22
- ownerOverrides?: Record<string, string> | undefined;
23
- } & {
24
- type: IsmType.PAUSABLE;
25
- }) | ({
26
- validators: string[];
27
- threshold: number;
28
- } & {
29
- type: IsmType.MERKLE_ROOT_MULTISIG | IsmType.MESSAGE_ID_MULTISIG | IsmType.STORAGE_MERKLE_ROOT_MULTISIG | IsmType.STORAGE_MESSAGE_ID_MULTISIG;
30
- }) | ({
31
- validators: {
32
- signingAddress: string;
33
- weight: number;
34
- }[];
35
- thresholdWeight: number;
36
- } & {
37
- type: IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG | IsmType.WEIGHTED_MESSAGE_ID_MULTISIG;
38
- })>, Record<string, string | {
39
- type: IsmType.TEST_ISM;
40
- } | {
41
- type: IsmType.OP_STACK;
42
- origin: string;
43
- nativeBridge: string;
44
- } | {
45
- type: IsmType.TRUSTED_RELAYER;
46
- relayer: string;
47
- } | {
48
- type: IsmType.CCIP;
49
- originChain: string;
50
- } | import("@hyperlane-xyz/sdk").RoutingIsmConfig | AggregationIsmConfig | {
51
- type: IsmType.ARB_L2_TO_L1;
52
- bridge: string;
53
- } | ({
54
- owner: string;
55
- paused: boolean;
56
- ownerOverrides?: Record<string, string> | undefined;
57
- } & {
58
- type: IsmType.PAUSABLE;
59
- }) | ({
60
- validators: string[];
61
- threshold: number;
62
- } & {
63
- type: IsmType.MERKLE_ROOT_MULTISIG | IsmType.MESSAGE_ID_MULTISIG | IsmType.STORAGE_MERKLE_ROOT_MULTISIG | IsmType.STORAGE_MESSAGE_ID_MULTISIG;
64
- }) | ({
65
- validators: {
66
- signingAddress: string;
67
- weight: number;
68
- }[];
69
- thresholdWeight: number;
70
- } & {
71
- type: IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG | IsmType.WEIGHTED_MESSAGE_ID_MULTISIG;
72
- })>>;
73
- export declare function readIsmConfig(filePath: string): Record<string, string | {
74
- type: IsmType.TEST_ISM;
75
- } | {
76
- type: IsmType.OP_STACK;
77
- origin: string;
78
- nativeBridge: string;
79
- } | {
80
- type: IsmType.TRUSTED_RELAYER;
81
- relayer: string;
82
- } | {
83
- type: IsmType.CCIP;
84
- originChain: string;
85
- } | import("@hyperlane-xyz/sdk").RoutingIsmConfig | AggregationIsmConfig | {
86
- type: IsmType.ARB_L2_TO_L1;
87
- bridge: string;
88
- } | ({
89
- owner: string;
90
- paused: boolean;
91
- ownerOverrides?: Record<string, string> | undefined;
92
- } & {
93
- type: IsmType.PAUSABLE;
94
- }) | ({
95
- validators: string[];
96
- threshold: number;
97
- } & {
98
- type: IsmType.MERKLE_ROOT_MULTISIG | IsmType.MESSAGE_ID_MULTISIG | IsmType.STORAGE_MERKLE_ROOT_MULTISIG | IsmType.STORAGE_MESSAGE_ID_MULTISIG;
99
- }) | ({
100
- validators: {
101
- signingAddress: string;
102
- weight: number;
103
- }[];
104
- thresholdWeight: number;
105
- } & {
106
- type: IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG | IsmType.WEIGHTED_MESSAGE_ID_MULTISIG;
107
- })>;
108
- export declare function createAdvancedIsmConfig(context: CommandContext): Promise<IsmConfig>;
109
- export declare const createMultisigConfig: (ismType: MultisigIsmConfig['type']) => Promise<MultisigIsmConfig>;
110
- export declare const createTrustedRelayerConfig: (...args: any[]) => Promise<{
111
- type: IsmType.TRUSTED_RELAYER;
112
- relayer: string;
113
- }>;
114
- export declare const createAggregationConfig: (...args: any[]) => Promise<AggregationIsmConfig>;
115
- export declare const createRoutingConfig: (...args: any[]) => Promise<string | {
116
- type: IsmType.TEST_ISM;
117
- } | {
118
- type: IsmType.OP_STACK;
119
- origin: string;
120
- nativeBridge: string;
121
- } | {
122
- type: IsmType.TRUSTED_RELAYER;
123
- relayer: string;
124
- } | {
125
- type: IsmType.CCIP;
126
- originChain: string;
127
- } | import("@hyperlane-xyz/sdk").RoutingIsmConfig | AggregationIsmConfig | {
128
- type: IsmType.ARB_L2_TO_L1;
129
- bridge: string;
130
- } | ({
131
- owner: string;
132
- paused: boolean;
133
- ownerOverrides?: Record<string, string> | undefined;
134
- } & {
135
- type: IsmType.PAUSABLE;
136
- }) | ({
137
- validators: string[];
138
- threshold: number;
139
- } & {
140
- type: IsmType.MERKLE_ROOT_MULTISIG | IsmType.MESSAGE_ID_MULTISIG | IsmType.STORAGE_MERKLE_ROOT_MULTISIG | IsmType.STORAGE_MESSAGE_ID_MULTISIG;
141
- }) | ({
142
- validators: {
143
- signingAddress: string;
144
- weight: number;
145
- }[];
146
- thresholdWeight: number;
147
- } & {
148
- type: IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG | IsmType.WEIGHTED_MESSAGE_ID_MULTISIG;
149
- })>;
150
- export declare const createFallbackRoutingConfig: (...args: any[]) => Promise<string | {
151
- type: IsmType.TEST_ISM;
152
- } | {
153
- type: IsmType.OP_STACK;
154
- origin: string;
155
- nativeBridge: string;
156
- } | {
157
- type: IsmType.TRUSTED_RELAYER;
158
- relayer: string;
159
- } | {
160
- type: IsmType.CCIP;
161
- originChain: string;
162
- } | import("@hyperlane-xyz/sdk").RoutingIsmConfig | AggregationIsmConfig | {
163
- type: IsmType.ARB_L2_TO_L1;
164
- bridge: string;
165
- } | ({
166
- owner: string;
167
- paused: boolean;
168
- ownerOverrides?: Record<string, string> | undefined;
169
- } & {
170
- type: IsmType.PAUSABLE;
171
- }) | ({
172
- validators: string[];
173
- threshold: number;
174
- } & {
175
- type: IsmType.MERKLE_ROOT_MULTISIG | IsmType.MESSAGE_ID_MULTISIG | IsmType.STORAGE_MERKLE_ROOT_MULTISIG | IsmType.STORAGE_MESSAGE_ID_MULTISIG;
176
- }) | ({
177
- validators: {
178
- signingAddress: string;
179
- weight: number;
180
- }[];
181
- thresholdWeight: number;
182
- } & {
183
- type: IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG | IsmType.WEIGHTED_MESSAGE_ID_MULTISIG;
184
- })>;
185
- export declare const createAmountRoutingIsmConfig: (...args: any[]) => Promise<string | {
186
- type: IsmType.TEST_ISM;
187
- } | {
188
- type: IsmType.OP_STACK;
189
- origin: string;
190
- nativeBridge: string;
191
- } | {
192
- type: IsmType.TRUSTED_RELAYER;
193
- relayer: string;
194
- } | {
195
- type: IsmType.CCIP;
196
- originChain: string;
197
- } | import("@hyperlane-xyz/sdk").RoutingIsmConfig | AggregationIsmConfig | {
198
- type: IsmType.ARB_L2_TO_L1;
199
- bridge: string;
200
- } | ({
201
- owner: string;
202
- paused: boolean;
203
- ownerOverrides?: Record<string, string> | undefined;
204
- } & {
205
- type: IsmType.PAUSABLE;
206
- }) | ({
207
- validators: string[];
208
- threshold: number;
209
- } & {
210
- type: IsmType.MERKLE_ROOT_MULTISIG | IsmType.MESSAGE_ID_MULTISIG | IsmType.STORAGE_MERKLE_ROOT_MULTISIG | IsmType.STORAGE_MESSAGE_ID_MULTISIG;
211
- }) | ({
212
- validators: {
213
- signingAddress: string;
214
- weight: number;
215
- }[];
216
- thresholdWeight: number;
217
- } & {
218
- type: IsmType.WEIGHTED_MERKLE_ROOT_MULTISIG | IsmType.WEIGHTED_MESSAGE_ID_MULTISIG;
219
- })>;
220
- //# sourceMappingURL=ism.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ism.d.ts","sourceRoot":"","sources":["../../../src/config/ism.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,oBAAoB,EAEpB,SAAS,EAET,OAAO,EACP,iBAAiB,EAGlB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAoCrD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAI9C;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAU7C;AAuBD,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,SAAS,CAAC,CAuCpB;AAED,eAAO,MAAM,oBAAoB,YACtB,iBAAiB,CAAC,MAAM,CAAC,KACjC,QAAQ,iBAAiB,CA2B3B,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;EAoBtC,CAAC;AAEF,eAAO,MAAM,uBAAuB,mDA2BnC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyB/B,CAAC;AAEF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuBvC,CAAC;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoBxC,CAAC"}
@@ -1,186 +0,0 @@
1
- import { input, select } from '@inquirer/prompts';
2
- import { z } from 'zod';
3
- import { IsmConfigSchema, IsmType, MultisigIsmConfigSchema, } from '@hyperlane-xyz/sdk';
4
- import { errorRed, log, logBlue, logBoldUnderlinedRed, logRed, } from '../logger.js';
5
- import { runMultiChainSelectionStep } from '../utils/chains.js';
6
- import { readYamlOrJson } from '../utils/files.js';
7
- import { detectAndConfirmOrPrompt } from '../utils/input.js';
8
- import { callWithConfigCreationLogs } from './utils.js';
9
- const IsmConfigMapSchema = z.record(IsmConfigSchema).refine((ismConfigMap) => {
10
- // check if any key in IsmConfigMap is found in its own RoutingIsmConfigSchema.domains
11
- for (const [key, config] of Object.entries(ismConfigMap)) {
12
- if (typeof config === 'string') {
13
- continue;
14
- }
15
- if (config.type === IsmType.ROUTING) {
16
- if (config.domains && key in config.domains) {
17
- return false;
18
- }
19
- }
20
- }
21
- return true;
22
- }, {
23
- message: 'Cannot set RoutingIsm.domain to the same chain you are configuring',
24
- });
25
- export function parseIsmConfig(filePath) {
26
- const config = readYamlOrJson(filePath);
27
- if (!config)
28
- throw new Error(`No ISM config found at ${filePath}`);
29
- return IsmConfigMapSchema.safeParse(config);
30
- }
31
- export function readIsmConfig(filePath) {
32
- const result = parseIsmConfig(filePath);
33
- if (!result.success) {
34
- const firstIssue = result.error.issues[0];
35
- throw new Error(`Invalid ISM config: ${firstIssue.path} => ${firstIssue.message}`);
36
- }
37
- const parsedConfig = result.data;
38
- return parsedConfig;
39
- }
40
- const ISM_TYPE_DESCRIPTIONS = {
41
- [IsmType.AGGREGATION]: 'You can aggregate multiple ISMs into one ISM via AggregationISM',
42
- [IsmType.FALLBACK_ROUTING]: "You can specify ISM type for specific chains you like and fallback to mailbox's default ISM for other chains via DefaultFallbackRoutingISM",
43
- [IsmType.MERKLE_ROOT_MULTISIG]: 'Validators need to sign the root of the merkle tree of all messages from origin chain',
44
- [IsmType.STORAGE_MERKLE_ROOT_MULTISIG]: 'Mutable validators in storage need to sign the root of the merkle tree of all messages from origin chain',
45
- [IsmType.MESSAGE_ID_MULTISIG]: 'Validators need to sign just this messageId',
46
- [IsmType.STORAGE_MESSAGE_ID_MULTISIG]: 'Mutable validators in storage need to sign just this messageId',
47
- [IsmType.ROUTING]: 'Each origin chain can be verified by the specified ISM type via RoutingISM',
48
- [IsmType.TEST_ISM]: 'ISM where you can deliver messages without any validation (WARNING: only for testing, do not use in production)',
49
- [IsmType.TRUSTED_RELAYER]: 'Deliver messages from an authorized address',
50
- [IsmType.AMOUNT_ROUTING]: 'Route messages based on the token amount to transfer',
51
- };
52
- export async function createAdvancedIsmConfig(context) {
53
- logBlue('Creating a new advanced ISM config');
54
- logBoldUnderlinedRed('WARNING: USE AT YOUR RISK.');
55
- logRed('Advanced ISM configs require knowledge of different ISM types and how they work together topologically. If possible, use the basic ISM configs are recommended.');
56
- const moduleType = await select({
57
- message: 'Select ISM type',
58
- choices: Object.entries(ISM_TYPE_DESCRIPTIONS).map(([value, description]) => ({
59
- value,
60
- description,
61
- })),
62
- pageSize: 10,
63
- });
64
- switch (moduleType) {
65
- case IsmType.AGGREGATION:
66
- return createAggregationConfig(context);
67
- case IsmType.FALLBACK_ROUTING:
68
- return createFallbackRoutingConfig(context);
69
- case IsmType.MERKLE_ROOT_MULTISIG:
70
- case IsmType.MESSAGE_ID_MULTISIG:
71
- case IsmType.STORAGE_MERKLE_ROOT_MULTISIG:
72
- case IsmType.STORAGE_MESSAGE_ID_MULTISIG:
73
- return createMultisigConfig(moduleType);
74
- case IsmType.ROUTING:
75
- return createRoutingConfig(context);
76
- case IsmType.TEST_ISM:
77
- return { type: IsmType.TEST_ISM };
78
- case IsmType.TRUSTED_RELAYER:
79
- return createTrustedRelayerConfig(context, true);
80
- case IsmType.AMOUNT_ROUTING:
81
- return createAmountRoutingIsmConfig(context);
82
- default:
83
- throw new Error(`Unsupported ISM type: ${moduleType}.`);
84
- }
85
- }
86
- export const createMultisigConfig = async (ismType) => {
87
- const validatorsInput = await input({
88
- message: 'Enter validator addresses (comma separated list) for multisig ISM:',
89
- });
90
- const validators = validatorsInput.split(',').map((v) => v.trim());
91
- const threshold = parseInt(await input({
92
- message: 'Enter threshold of validators (number) for multisig ISM:',
93
- }), 10);
94
- const result = MultisigIsmConfigSchema.safeParse({
95
- type: ismType,
96
- validators,
97
- threshold,
98
- });
99
- if (!result.success) {
100
- errorRed(result.error.issues
101
- .map((input, index) => `input[${index}]: ${input.message}`)
102
- .join('\n'));
103
- return createMultisigConfig(ismType);
104
- }
105
- return result.data;
106
- };
107
- export const createTrustedRelayerConfig = callWithConfigCreationLogs(async (context, advanced = false) => {
108
- const relayer = !advanced && context.signerAddress
109
- ? context.signerAddress
110
- : await detectAndConfirmOrPrompt(async () => context.signerAddress, 'For trusted relayer ISM, enter', 'relayer address', 'signer');
111
- return {
112
- type: IsmType.TRUSTED_RELAYER,
113
- relayer,
114
- };
115
- }, IsmType.TRUSTED_RELAYER);
116
- export const createAggregationConfig = callWithConfigCreationLogs(async (context) => {
117
- const isms = parseInt(await input({
118
- message: 'Enter the number of ISMs to aggregate (number)',
119
- }), 10);
120
- const threshold = parseInt(await input({
121
- message: 'Enter the threshold of ISMs for verification (number)',
122
- }), 10);
123
- const modules = [];
124
- for (let i = 0; i < isms; i++) {
125
- modules.push(await createAdvancedIsmConfig(context));
126
- }
127
- return {
128
- type: IsmType.AGGREGATION,
129
- modules,
130
- threshold,
131
- };
132
- }, IsmType.AGGREGATION);
133
- export const createRoutingConfig = callWithConfigCreationLogs(async (context) => {
134
- const owner = await input({
135
- message: 'Enter owner address for routing ISM',
136
- });
137
- const ownerAddress = owner;
138
- const chains = await runMultiChainSelectionStep({
139
- chainMetadata: context.chainMetadata,
140
- message: 'Select chains to configure routing ISM for',
141
- requireNumber: 1,
142
- });
143
- const domainsMap = {};
144
- for (const chain of chains) {
145
- log(`You are about to configure routing ISM from source chain ${chain}.`);
146
- const config = await createAdvancedIsmConfig(context);
147
- domainsMap[chain] = config;
148
- }
149
- return {
150
- type: IsmType.ROUTING,
151
- owner: ownerAddress,
152
- domains: domainsMap,
153
- };
154
- }, IsmType.ROUTING);
155
- export const createFallbackRoutingConfig = callWithConfigCreationLogs(async (context) => {
156
- const chains = await runMultiChainSelectionStep({
157
- chainMetadata: context.chainMetadata,
158
- message: 'Select chains to configure fallback routing ISM for',
159
- requireNumber: 1,
160
- });
161
- const domainsMap = {};
162
- for (const chain of chains) {
163
- log(`You are about to configure fallback routing ISM from source chain ${chain}.`);
164
- const config = await createAdvancedIsmConfig(context);
165
- domainsMap[chain] = config;
166
- }
167
- return {
168
- type: IsmType.FALLBACK_ROUTING,
169
- owner: '',
170
- domains: domainsMap,
171
- };
172
- }, IsmType.FALLBACK_ROUTING);
173
- export const createAmountRoutingIsmConfig = callWithConfigCreationLogs(async (context) => {
174
- const lowerIsm = await createAdvancedIsmConfig(context);
175
- const upperIsm = await createAdvancedIsmConfig(context);
176
- const threshold = parseInt(await input({
177
- message: 'Enter the threshold amount for routing verification (number)',
178
- }), 10);
179
- return {
180
- type: IsmType.AMOUNT_ROUTING,
181
- lowerIsm,
182
- upperIsm,
183
- threshold,
184
- };
185
- }, IsmType.AMOUNT_ROUTING);
186
- //# sourceMappingURL=ism.js.map