@lidofinance/lsv-cli 1.0.0-alpha.4 → 1.0.0-alpha.40

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 (413) hide show
  1. package/README.md +37 -20
  2. package/dist/abi/BlsHarness.d.ts +178 -0
  3. package/dist/abi/BlsHarness.js +232 -0
  4. package/dist/abi/BlsHarness.js.map +1 -0
  5. package/dist/abi/CLProofVerifier.d.ts +188 -0
  6. package/dist/abi/CLProofVerifier.js +247 -0
  7. package/dist/abi/CLProofVerifier.js.map +1 -0
  8. package/dist/abi/Dashboard.d.ts +1486 -0
  9. package/dist/abi/Dashboard.js +1920 -0
  10. package/dist/abi/Dashboard.js.map +1 -0
  11. package/dist/abi/LidoLocator.d.ts +330 -0
  12. package/dist/abi/LidoLocator.js +426 -0
  13. package/dist/abi/LidoLocator.js.map +1 -0
  14. package/dist/abi/OperatorGrid.d.ts +914 -0
  15. package/dist/abi/OperatorGrid.js +1185 -0
  16. package/dist/abi/OperatorGrid.js.map +1 -0
  17. package/dist/abi/PredepositGuarantee.d.ts +1382 -0
  18. package/dist/abi/PredepositGuarantee.js +1789 -0
  19. package/dist/abi/PredepositGuarantee.js.map +1 -0
  20. package/dist/abi/ReportChecker.d.ts +83 -0
  21. package/dist/abi/ReportChecker.js +109 -0
  22. package/dist/abi/ReportChecker.js.map +1 -0
  23. package/dist/abi/StEth.d.ts +372 -0
  24. package/dist/abi/StEth.js +493 -0
  25. package/dist/abi/StEth.js.map +1 -0
  26. package/dist/abi/StakingVault.d.ts +864 -0
  27. package/dist/abi/StakingVault.js +1112 -0
  28. package/dist/abi/StakingVault.js.map +1 -0
  29. package/dist/abi/TokenManager.d.ts +577 -0
  30. package/dist/abi/TokenManager.js +756 -0
  31. package/dist/abi/TokenManager.js.map +1 -0
  32. package/dist/abi/VaultFactory.d.ts +160 -0
  33. package/dist/abi/VaultFactory.js +209 -0
  34. package/dist/abi/VaultFactory.js.map +1 -0
  35. package/dist/abi/VaultHub.d.ts +1317 -0
  36. package/dist/abi/VaultHub.js +1255 -436
  37. package/dist/abi/VaultHub.js.map +1 -1
  38. package/dist/abi/VaultViewer.d.ts +223 -0
  39. package/dist/abi/VaultViewer.js +297 -0
  40. package/dist/abi/VaultViewer.js.map +1 -0
  41. package/dist/abi/Voting.d.ts +676 -0
  42. package/dist/abi/Voting.js +884 -0
  43. package/dist/abi/Voting.js.map +1 -0
  44. package/dist/abi/WstEth.d.ts +362 -0
  45. package/dist/abi/WstEth.js +478 -0
  46. package/dist/abi/WstEth.js.map +1 -0
  47. package/dist/abi/index.d.ts +15 -0
  48. package/dist/abi/index.js +17 -0
  49. package/dist/abi/index.js.map +1 -0
  50. package/dist/command/index.d.ts +2 -0
  51. package/dist/command/index.js +4 -5
  52. package/dist/command/index.js.map +1 -1
  53. package/dist/configs/constants.d.ts +36 -0
  54. package/dist/configs/constants.js +3 -0
  55. package/dist/configs/constants.js.map +1 -0
  56. package/dist/configs/deployed.d.ts +17 -0
  57. package/dist/configs/deployed.js +87 -52
  58. package/dist/configs/deployed.js.map +1 -1
  59. package/dist/configs/envs.d.ts +2 -0
  60. package/dist/configs/envs.js +8 -37
  61. package/dist/configs/envs.js.map +1 -1
  62. package/dist/configs/index.d.ts +3 -0
  63. package/dist/configs/index.js +3 -18
  64. package/dist/configs/index.js.map +1 -1
  65. package/dist/configs/utils.d.ts +4 -0
  66. package/dist/configs/utils.js +22 -0
  67. package/dist/configs/utils.js.map +1 -0
  68. package/dist/contracts/blsHarness.d.ts +947 -0
  69. package/dist/contracts/blsHarness.js +24 -0
  70. package/dist/contracts/blsHarness.js.map +1 -0
  71. package/dist/contracts/clProofVerifier.d.ts +2647 -0
  72. package/dist/contracts/clProofVerifier.js +23 -0
  73. package/dist/contracts/clProofVerifier.js.map +1 -0
  74. package/dist/contracts/dashboard.d.ts +4 -0
  75. package/dist/contracts/dashboard.js +11 -0
  76. package/dist/contracts/dashboard.js.map +1 -0
  77. package/dist/contracts/index.d.ts +15 -0
  78. package/dist/contracts/index.js +15 -17
  79. package/dist/contracts/index.js.map +1 -1
  80. package/dist/contracts/locator.d.ts +6935 -0
  81. package/dist/contracts/locator.js +16 -0
  82. package/dist/contracts/locator.js.map +1 -0
  83. package/dist/contracts/operator-grid.d.ts +3 -0
  84. package/dist/contracts/operator-grid.js +17 -0
  85. package/dist/contracts/operator-grid.js.map +1 -0
  86. package/dist/contracts/pdg.d.ts +3 -0
  87. package/dist/contracts/pdg.js +17 -0
  88. package/dist/contracts/pdg.js.map +1 -0
  89. package/dist/contracts/reportChecker.d.ts +758 -0
  90. package/dist/contracts/reportChecker.js +23 -0
  91. package/dist/contracts/reportChecker.js.map +1 -0
  92. package/dist/contracts/steth.d.ts +27706 -0
  93. package/dist/contracts/steth.js +18 -0
  94. package/dist/contracts/steth.js.map +1 -0
  95. package/dist/contracts/token-manager.d.ts +3 -0
  96. package/dist/contracts/token-manager.js +13 -0
  97. package/dist/contracts/token-manager.js.map +1 -0
  98. package/dist/contracts/vault-factory.d.ts +2678 -0
  99. package/dist/contracts/vault-factory.js +14 -0
  100. package/dist/contracts/vault-factory.js.map +1 -0
  101. package/dist/contracts/vault-hub.d.ts +3 -0
  102. package/dist/contracts/vault-hub.js +14 -16
  103. package/dist/contracts/vault-hub.js.map +1 -1
  104. package/dist/contracts/vault-viewer.d.ts +2681 -0
  105. package/dist/contracts/vault-viewer.js +23 -0
  106. package/dist/contracts/vault-viewer.js.map +1 -0
  107. package/dist/contracts/vault.d.ts +3 -0
  108. package/dist/contracts/vault.js +11 -0
  109. package/dist/contracts/vault.js.map +1 -0
  110. package/dist/contracts/voting.d.ts +6 -0
  111. package/dist/contracts/voting.js +19 -0
  112. package/dist/contracts/voting.js.map +1 -0
  113. package/dist/contracts/wsteth.d.ts +24690 -0
  114. package/dist/contracts/wsteth.js +18 -0
  115. package/dist/contracts/wsteth.js.map +1 -0
  116. package/dist/features/dashboard.d.ts +5 -0
  117. package/dist/features/dashboard.js +217 -0
  118. package/dist/features/dashboard.js.map +1 -0
  119. package/dist/features/index.d.ts +7 -0
  120. package/dist/features/index.js +8 -0
  121. package/dist/features/index.js.map +1 -0
  122. package/dist/features/operator-grid.d.ts +2 -0
  123. package/dist/features/operator-grid.js +57 -0
  124. package/dist/features/operator-grid.js.map +1 -0
  125. package/dist/features/pdg.d.ts +2 -0
  126. package/dist/features/pdg.js +80 -0
  127. package/dist/features/pdg.js.map +1 -0
  128. package/dist/features/token-manager.d.ts +0 -0
  129. package/dist/features/token-manager.js +7 -0
  130. package/dist/features/token-manager.js.map +1 -0
  131. package/dist/features/vault-factory.d.ts +8 -0
  132. package/dist/features/vault-factory.js +57 -0
  133. package/dist/features/vault-factory.js.map +1 -0
  134. package/dist/features/vault-hub.d.ts +2 -0
  135. package/dist/features/vault-hub.js +81 -0
  136. package/dist/features/vault-hub.js.map +1 -0
  137. package/dist/features/vault.d.ts +2 -0
  138. package/dist/features/vault.js +54 -0
  139. package/dist/features/vault.js.map +1 -0
  140. package/dist/features/voting.d.ts +7 -0
  141. package/dist/features/voting.js +133 -0
  142. package/dist/features/voting.js.map +1 -0
  143. package/dist/index.d.ts +3 -0
  144. package/dist/index.js +8 -5
  145. package/dist/index.js.map +1 -1
  146. package/dist/programs/account.d.ts +1 -0
  147. package/dist/programs/account.js +137 -0
  148. package/dist/programs/account.js.map +1 -0
  149. package/dist/programs/config.d.ts +1 -0
  150. package/dist/programs/config.js +31 -0
  151. package/dist/programs/config.js.map +1 -0
  152. package/dist/programs/dashboard/config.d.ts +2 -0
  153. package/dist/programs/dashboard/config.js +111 -0
  154. package/dist/programs/dashboard/config.js.map +1 -0
  155. package/dist/programs/dashboard/index.d.ts +3 -0
  156. package/dist/programs/dashboard/index.js +4 -0
  157. package/dist/programs/dashboard/index.js.map +1 -0
  158. package/dist/programs/dashboard/main.d.ts +1 -0
  159. package/dist/programs/dashboard/main.js +5 -0
  160. package/dist/programs/dashboard/main.js.map +1 -0
  161. package/dist/programs/dashboard/read.d.ts +1 -0
  162. package/dist/programs/dashboard/read.js +88 -0
  163. package/dist/programs/dashboard/read.js.map +1 -0
  164. package/dist/programs/dashboard/write.d.ts +1 -0
  165. package/dist/programs/dashboard/write.js +553 -0
  166. package/dist/programs/dashboard/write.js.map +1 -0
  167. package/dist/programs/hub/config.d.ts +2 -0
  168. package/dist/programs/hub/config.js +123 -0
  169. package/dist/programs/hub/config.js.map +1 -0
  170. package/dist/programs/hub/index.d.ts +3 -0
  171. package/dist/programs/hub/index.js +4 -0
  172. package/dist/programs/hub/index.js.map +1 -0
  173. package/dist/programs/hub/main.d.ts +1 -0
  174. package/dist/programs/hub/main.js +5 -0
  175. package/dist/programs/hub/main.js.map +1 -0
  176. package/dist/programs/hub/read.d.ts +1 -0
  177. package/dist/programs/hub/read.js +57 -0
  178. package/dist/programs/hub/read.js.map +1 -0
  179. package/dist/programs/hub/write.d.ts +1 -0
  180. package/dist/programs/hub/write.js +246 -0
  181. package/dist/programs/hub/write.js.map +1 -0
  182. package/dist/programs/index.d.ts +11 -0
  183. package/dist/programs/index.js +11 -17
  184. package/dist/programs/index.js.map +1 -1
  185. package/dist/programs/operator-grid/config.d.ts +2 -0
  186. package/dist/programs/operator-grid/config.js +81 -0
  187. package/dist/programs/operator-grid/config.js.map +1 -0
  188. package/dist/programs/operator-grid/index.d.ts +3 -0
  189. package/dist/programs/operator-grid/index.js +4 -0
  190. package/dist/programs/operator-grid/index.js.map +1 -0
  191. package/dist/programs/operator-grid/main.d.ts +1 -0
  192. package/dist/programs/operator-grid/main.js +5 -0
  193. package/dist/programs/operator-grid/main.js.map +1 -0
  194. package/dist/programs/operator-grid/read.d.ts +1 -0
  195. package/dist/programs/operator-grid/read.js +24 -0
  196. package/dist/programs/operator-grid/read.js.map +1 -0
  197. package/dist/programs/operator-grid/write.d.ts +1 -0
  198. package/dist/programs/operator-grid/write.js +124 -0
  199. package/dist/programs/operator-grid/write.js.map +1 -0
  200. package/dist/programs/pdg/config.d.ts +2 -0
  201. package/dist/programs/pdg/config.js +133 -0
  202. package/dist/programs/pdg/config.js.map +1 -0
  203. package/dist/programs/pdg/index.d.ts +3 -0
  204. package/dist/programs/pdg/index.js +4 -0
  205. package/dist/programs/pdg/index.js.map +1 -0
  206. package/dist/programs/pdg/main.d.ts +1 -0
  207. package/dist/programs/pdg/main.js +5 -0
  208. package/dist/programs/pdg/main.js.map +1 -0
  209. package/dist/programs/pdg/read.d.ts +1 -0
  210. package/dist/programs/pdg/read.js +24 -0
  211. package/dist/programs/pdg/read.js.map +1 -0
  212. package/dist/programs/pdg/write.d.ts +1 -0
  213. package/dist/programs/pdg/write.js +366 -0
  214. package/dist/programs/pdg/write.js.map +1 -0
  215. package/dist/programs/pdg-helpers.d.ts +1 -0
  216. package/dist/programs/pdg-helpers.js +216 -0
  217. package/dist/programs/pdg-helpers.js.map +1 -0
  218. package/dist/programs/report/index.d.ts +3 -0
  219. package/dist/programs/report/index.js +4 -0
  220. package/dist/programs/report/index.js.map +1 -0
  221. package/dist/programs/report/main.d.ts +1 -0
  222. package/dist/programs/report/main.js +3 -0
  223. package/dist/programs/report/main.js.map +1 -0
  224. package/dist/programs/report/read.d.ts +1 -0
  225. package/dist/programs/report/read.js +61 -0
  226. package/dist/programs/report/read.js.map +1 -0
  227. package/dist/programs/report/write.d.ts +1 -0
  228. package/dist/programs/report/write.js +126 -0
  229. package/dist/programs/report/write.js.map +1 -0
  230. package/dist/programs/vault/config.d.ts +2 -0
  231. package/dist/programs/vault/config.js +70 -0
  232. package/dist/programs/vault/config.js.map +1 -0
  233. package/dist/programs/vault/index.d.ts +3 -0
  234. package/dist/programs/vault/index.js +4 -0
  235. package/dist/programs/vault/index.js.map +1 -0
  236. package/dist/programs/vault/main.d.ts +1 -0
  237. package/dist/programs/vault/main.js +3 -0
  238. package/dist/programs/vault/main.js.map +1 -0
  239. package/dist/programs/vault/read.d.ts +1 -0
  240. package/dist/programs/vault/read.js +25 -0
  241. package/dist/programs/vault/read.js.map +1 -0
  242. package/dist/programs/vault/write.d.ts +1 -0
  243. package/dist/programs/vault/write.js +247 -0
  244. package/dist/programs/vault/write.js.map +1 -0
  245. package/dist/programs/vault-factory/config.d.ts +2 -0
  246. package/dist/programs/vault-factory/config.js +2 -0
  247. package/dist/programs/vault-factory/config.js.map +1 -0
  248. package/dist/programs/vault-factory/index.d.ts +3 -0
  249. package/dist/programs/vault-factory/index.js +4 -0
  250. package/dist/programs/vault-factory/index.js.map +1 -0
  251. package/dist/programs/vault-factory/main.d.ts +1 -0
  252. package/dist/programs/vault-factory/main.js +5 -0
  253. package/dist/programs/vault-factory/main.js.map +1 -0
  254. package/dist/programs/vault-factory/read.d.ts +1 -0
  255. package/dist/programs/vault-factory/read.js +24 -0
  256. package/dist/programs/vault-factory/read.js.map +1 -0
  257. package/dist/programs/vault-factory/write.d.ts +1 -0
  258. package/dist/programs/vault-factory/write.js +72 -0
  259. package/dist/programs/vault-factory/write.js.map +1 -0
  260. package/dist/programs/vault-viewer/config.d.ts +2 -0
  261. package/dist/programs/vault-viewer/config.js +119 -0
  262. package/dist/programs/vault-viewer/config.js.map +1 -0
  263. package/dist/programs/vault-viewer/index.d.ts +2 -0
  264. package/dist/programs/vault-viewer/index.js +3 -0
  265. package/dist/programs/vault-viewer/index.js.map +1 -0
  266. package/dist/programs/vault-viewer/main.d.ts +1 -0
  267. package/dist/programs/vault-viewer/main.js +10 -0
  268. package/dist/programs/vault-viewer/main.js.map +1 -0
  269. package/dist/programs/vault-viewer/read.d.ts +1 -0
  270. package/dist/programs/vault-viewer/read.js +55 -0
  271. package/dist/programs/vault-viewer/read.js.map +1 -0
  272. package/dist/programs/voting.d.ts +1 -0
  273. package/dist/programs/voting.js +18 -0
  274. package/dist/programs/voting.js.map +1 -0
  275. package/dist/providers/index.d.ts +1 -0
  276. package/dist/providers/index.js +1 -17
  277. package/dist/providers/index.js.map +1 -1
  278. package/dist/providers/wallet.d.ts +6897 -0
  279. package/dist/providers/wallet.js +20 -29
  280. package/dist/providers/wallet.js.map +1 -1
  281. package/dist/types/common.d.ts +31 -0
  282. package/dist/types/common.js +2 -0
  283. package/dist/types/common.js.map +1 -0
  284. package/dist/types/config.d.ts +23 -0
  285. package/dist/types/config.js +2 -0
  286. package/dist/types/config.js.map +1 -0
  287. package/dist/types/index.d.ts +2 -0
  288. package/dist/types/index.js +3 -0
  289. package/dist/types/index.js.map +1 -0
  290. package/dist/utils/arguments.d.ts +13 -0
  291. package/dist/utils/arguments.js +67 -0
  292. package/dist/utils/arguments.js.map +1 -0
  293. package/dist/utils/bls.d.ts +21 -0
  294. package/dist/utils/bls.js +101 -0
  295. package/dist/utils/bls.js.map +1 -0
  296. package/dist/utils/calculate-overview.d.ts +28 -0
  297. package/dist/utils/calculate-overview.js +56 -0
  298. package/dist/utils/calculate-overview.js.map +1 -0
  299. package/dist/utils/commands/dashboard.d.ts +6 -0
  300. package/dist/utils/commands/dashboard.js +108 -0
  301. package/dist/utils/commands/dashboard.js.map +1 -0
  302. package/dist/utils/commands/index.d.ts +1 -0
  303. package/dist/utils/commands/index.js +2 -0
  304. package/dist/utils/commands/index.js.map +1 -0
  305. package/dist/utils/contract.d.ts +45 -0
  306. package/dist/utils/contract.js +170 -0
  307. package/dist/utils/contract.js.map +1 -0
  308. package/dist/utils/data-validators.d.ts +6 -0
  309. package/dist/utils/data-validators.js +54 -0
  310. package/dist/utils/data-validators.js.map +1 -0
  311. package/dist/utils/error-handler.d.ts +1 -0
  312. package/dist/utils/error-handler.js +13 -0
  313. package/dist/utils/error-handler.js.map +1 -0
  314. package/dist/utils/fetchCL.d.ts +14 -0
  315. package/dist/utils/fetchCL.js +57 -0
  316. package/dist/utils/fetchCL.js.map +1 -0
  317. package/dist/utils/get-commands.d.ts +2 -0
  318. package/dist/utils/get-commands.js +11 -0
  319. package/dist/utils/get-commands.js.map +1 -0
  320. package/dist/utils/get-deposit-data-root.d.ts +7 -0
  321. package/dist/utils/get-deposit-data-root.js +40 -0
  322. package/dist/utils/get-deposit-data-root.js.map +1 -0
  323. package/dist/utils/get-value.d.ts +1 -0
  324. package/dist/utils/get-value.js +5 -11
  325. package/dist/utils/get-value.js.map +1 -1
  326. package/dist/utils/health/calculate-health.d.ts +11 -0
  327. package/dist/utils/health/calculate-health.js +22 -0
  328. package/dist/utils/health/calculate-health.js.map +1 -0
  329. package/dist/utils/health/health-utils.d.ts +27743 -0
  330. package/dist/utils/health/health-utils.js +74 -0
  331. package/dist/utils/health/health-utils.js.map +1 -0
  332. package/dist/utils/health/index.d.ts +2 -0
  333. package/dist/utils/health/index.js +3 -0
  334. package/dist/utils/health/index.js.map +1 -0
  335. package/dist/utils/index.d.ts +22 -0
  336. package/dist/utils/index.js +22 -17
  337. package/dist/utils/index.js.map +1 -1
  338. package/dist/utils/ipfs.d.ts +6 -0
  339. package/dist/utils/ipfs.js +57 -0
  340. package/dist/utils/ipfs.js.map +1 -0
  341. package/dist/utils/logging/console.d.ts +7 -0
  342. package/dist/utils/logging/console.js +23 -0
  343. package/dist/utils/logging/console.js.map +1 -0
  344. package/dist/utils/logging/constants.d.ts +2 -0
  345. package/dist/utils/logging/constants.js +12 -0
  346. package/dist/utils/logging/constants.js.map +1 -0
  347. package/dist/utils/logging/index.d.ts +1 -0
  348. package/dist/utils/logging/index.js +2 -0
  349. package/dist/utils/logging/index.js.map +1 -0
  350. package/dist/utils/prompts/dashboard.d.ts +29 -0
  351. package/dist/utils/prompts/dashboard.js +63 -0
  352. package/dist/utils/prompts/dashboard.js.map +1 -0
  353. package/dist/utils/prompts/default.d.ts +3 -0
  354. package/dist/utils/prompts/default.js +17 -0
  355. package/dist/utils/prompts/default.js.map +1 -0
  356. package/dist/utils/prompts/index.d.ts +5 -0
  357. package/dist/utils/prompts/index.js +6 -0
  358. package/dist/utils/prompts/index.js.map +1 -0
  359. package/dist/utils/prompts/operations.d.ts +9 -0
  360. package/dist/utils/prompts/operations.js +41 -0
  361. package/dist/utils/prompts/operations.js.map +1 -0
  362. package/dist/utils/prompts/predeposit-guarantee.d.ts +3 -0
  363. package/dist/utils/prompts/predeposit-guarantee.js +22 -0
  364. package/dist/utils/prompts/predeposit-guarantee.js.map +1 -0
  365. package/dist/utils/prompts/vault.d.ts +2 -0
  366. package/dist/utils/prompts/vault.js +14 -0
  367. package/dist/utils/prompts/vault.js.map +1 -0
  368. package/dist/utils/proof/create-proof.d.ts +11 -0
  369. package/dist/utils/proof/create-proof.js +38 -0
  370. package/dist/utils/proof/create-proof.js.map +1 -0
  371. package/dist/utils/proof/first-validator-gindex.d.ts +1 -0
  372. package/dist/utils/proof/first-validator-gindex.js +27 -0
  373. package/dist/utils/proof/first-validator-gindex.js.map +1 -0
  374. package/dist/utils/proof/index.d.ts +4 -0
  375. package/dist/utils/proof/index.js +5 -0
  376. package/dist/utils/proof/index.js.map +1 -0
  377. package/dist/utils/proof/merkle-utils.d.ts +54 -0
  378. package/dist/utils/proof/merkle-utils.js +173 -0
  379. package/dist/utils/proof/merkle-utils.js.map +1 -0
  380. package/dist/utils/proof/proofs.d.ts +305 -0
  381. package/dist/utils/proof/proofs.js +52 -0
  382. package/dist/utils/proof/proofs.js.map +1 -0
  383. package/dist/utils/proof/report-proof.d.ts +5 -0
  384. package/dist/utils/proof/report-proof.js +26 -0
  385. package/dist/utils/proof/report-proof.js.map +1 -0
  386. package/dist/utils/read-programs-by-abi.d.ts +19 -0
  387. package/dist/utils/read-programs-by-abi.js +89 -0
  388. package/dist/utils/read-programs-by-abi.js.map +1 -0
  389. package/dist/utils/report.d.ts +89 -0
  390. package/dist/utils/report.js +72 -0
  391. package/dist/utils/report.js.map +1 -0
  392. package/dist/utils/required-lock.d.ts +5 -0
  393. package/dist/utils/required-lock.js +21 -0
  394. package/dist/utils/required-lock.js.map +1 -0
  395. package/dist/utils/resolve-path.d.ts +1 -0
  396. package/dist/utils/resolve-path.js +10 -0
  397. package/dist/utils/resolve-path.js.map +1 -0
  398. package/dist/utils/sleep.d.ts +1 -0
  399. package/dist/utils/sleep.js +4 -0
  400. package/dist/utils/sleep.js.map +1 -0
  401. package/dist/utils/spinner/index.d.ts +1 -0
  402. package/dist/utils/spinner/index.js +2 -0
  403. package/dist/utils/spinner/index.js.map +1 -0
  404. package/dist/utils/spinner/spinners.d.ts +7 -0
  405. package/dist/utils/spinner/spinners.js +16 -0
  406. package/dist/utils/spinner/spinners.js.map +1 -0
  407. package/dist/utils/spinner/spinners.json +119 -0
  408. package/dist/version/index.d.ts +1 -0
  409. package/dist/version/index.js +1 -0
  410. package/dist/version/index.js.map +1 -0
  411. package/package.json +63 -12
  412. package/dist/programs/vault-hub.js +0 -137
  413. package/dist/programs/vault-hub.js.map +0 -1
@@ -0,0 +1,74 @@
1
+ import { formatEther } from 'viem';
2
+ import { callReadMethodSilent } from '../index.js';
3
+ import { getStethContract } from '../../contracts/index.js';
4
+ import { calculateHealth } from './calculate-health.js';
5
+ export const fetchVaultMetrics = async (contract) => {
6
+ const stethContract = await getStethContract();
7
+ const [totalValue, liabilityShares, forceRebalanceThresholdBP] = await Promise.all([
8
+ callReadMethodSilent(contract, 'totalValue'), // BigInt, in wei
9
+ callReadMethodSilent(contract, 'liabilityShares'), // BigInt, in shares
10
+ callReadMethodSilent(contract, 'forcedRebalanceThresholdBP'), // number (in basis points)
11
+ ]);
12
+ const liabilitySharesInStethWei = await callReadMethodSilent(stethContract, 'getPooledEthByShares', [liabilityShares]); // BigInt
13
+ return {
14
+ totalValue,
15
+ liabilityShares,
16
+ forceRebalanceThresholdBP,
17
+ liabilitySharesInStethWei,
18
+ stethContract,
19
+ };
20
+ };
21
+ export const fetchAndCalculateVaultHealth = async (contract) => {
22
+ const { totalValue, forceRebalanceThresholdBP, liabilitySharesInStethWei, liabilityShares, } = await fetchVaultMetrics(contract);
23
+ const { healthRatio, isHealthy } = calculateHealth({
24
+ totalValue,
25
+ liabilitySharesInStethWei,
26
+ forceRebalanceThresholdBP,
27
+ });
28
+ return {
29
+ healthRatio,
30
+ isHealthy,
31
+ totalValue,
32
+ totalValueInEth: `${formatEther(totalValue)} ETH`,
33
+ liabilitySharesInStethWei,
34
+ liabilitySharesInSteth: `${formatEther(liabilitySharesInStethWei)} stETH`,
35
+ forceRebalanceThresholdBP,
36
+ liabilitySharesInWei: liabilityShares,
37
+ liabilityShares: `${formatEther(liabilityShares)} Shares`,
38
+ };
39
+ };
40
+ export const fetchAndCalculateVaultHealthWithNewValue = async (contract, value, type) => {
41
+ const { totalValue, forceRebalanceThresholdBP, liabilitySharesInStethWei, stethContract, liabilityShares, } = await fetchVaultMetrics(contract);
42
+ const isMinting = type === 'mint';
43
+ const newLiabilityShares = isMinting
44
+ ? liabilityShares + value
45
+ : liabilityShares - value;
46
+ const [newLiabilitySharesInStethWei, valueInStethWei] = await Promise.all([
47
+ callReadMethodSilent(stethContract, 'getPooledEthByShares', [
48
+ newLiabilityShares,
49
+ ]),
50
+ callReadMethodSilent(stethContract, 'getPooledEthByShares', [value]),
51
+ ]);
52
+ const currentVaultHealth = calculateHealth({
53
+ totalValue,
54
+ liabilitySharesInStethWei,
55
+ forceRebalanceThresholdBP,
56
+ });
57
+ const newVaultHealth = calculateHealth({
58
+ totalValue,
59
+ liabilitySharesInStethWei: newLiabilitySharesInStethWei,
60
+ forceRebalanceThresholdBP,
61
+ });
62
+ return {
63
+ currentVaultHealth,
64
+ newVaultHealth,
65
+ totalValue,
66
+ liabilitySharesInStethWei,
67
+ forceRebalanceThresholdBP,
68
+ liabilityShares,
69
+ newLiabilityShares,
70
+ newLiabilitySharesInStethWei,
71
+ valueInStethWei,
72
+ };
73
+ };
74
+ //# sourceMappingURL=health-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health-utils.js","sourceRoot":"","sources":["../../../utils/health/health-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './calculate-health.js';
2
+ export * from './health-utils.js';
@@ -0,0 +1,3 @@
1
+ export * from './calculate-health.js';
2
+ export * from './health-utils.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../utils/health/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,22 @@
1
+ export * from './get-value.js';
2
+ export * from './data-validators.js';
3
+ export * from './resolve-path.js';
4
+ export * from './sleep.js';
5
+ export * from './error-handler.js';
6
+ export * from './contract.js';
7
+ export * from './proof/index.js';
8
+ export * from './prompts/index.js';
9
+ export * from './spinner/index.js';
10
+ export * from './read-programs-by-abi.js';
11
+ export * from './get-commands.js';
12
+ export * from './get-deposit-data-root.js';
13
+ export * from './arguments.js';
14
+ export * from './report.js';
15
+ export * from './health/index.js';
16
+ export * from './logging/index.js';
17
+ export * from './fetchCL.js';
18
+ export * from './ipfs.js';
19
+ export * from './commands/index.js';
20
+ export * from './bls.js';
21
+ export * from './required-lock.js';
22
+ export * from './calculate-overview.js';
@@ -1,18 +1,23 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./get-value"), exports);
1
+ export * from './get-value.js';
2
+ export * from './data-validators.js';
3
+ export * from './resolve-path.js';
4
+ export * from './sleep.js';
5
+ export * from './error-handler.js';
6
+ export * from './contract.js';
7
+ export * from './proof/index.js';
8
+ export * from './prompts/index.js';
9
+ export * from './spinner/index.js';
10
+ export * from './read-programs-by-abi.js';
11
+ export * from './get-commands.js';
12
+ export * from './get-deposit-data-root.js';
13
+ export * from './arguments.js';
14
+ export * from './report.js';
15
+ export * from './health/index.js';
16
+ export * from './logging/index.js';
17
+ export * from './fetchCL.js';
18
+ export * from './ipfs.js';
19
+ export * from './commands/index.js';
20
+ export * from './bls.js';
21
+ export * from './required-lock.js';
22
+ export * from './calculate-overview.js';
18
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { CID } from 'multiformats/cid';
2
+ export declare const IPFS_GATEWAY = "https://ipfs.io/ipfs";
3
+ export declare const fetchIPFS: (CID: string, url?: string) => Promise<any>;
4
+ export declare const fetchIPFSBuffer: (cid: string, gateway?: string) => Promise<Uint8Array>;
5
+ export declare const calculateIPFSAddCID: (fileContent: Uint8Array) => Promise<CID>;
6
+ export declare const fetchAndVerifyFile: (cid: string, gateway?: string) => Promise<Uint8Array>;
@@ -0,0 +1,57 @@
1
+ import { CID } from 'multiformats/cid';
2
+ import { MemoryBlockstore } from 'blockstore-core';
3
+ import { importer } from 'ipfs-unixfs-importer';
4
+ import { parse } from 'json-bigint';
5
+ import { logInfo, logResult } from './logging/console.js';
6
+ export const IPFS_GATEWAY = 'https://ipfs.io/ipfs';
7
+ // Fetching content by CID through IPFS gateway
8
+ export const fetchIPFS = async (CID, url = IPFS_GATEWAY) => {
9
+ const ipfsUrl = `${url}/${CID}`;
10
+ logInfo('Fetching content from', ipfsUrl);
11
+ const response = await fetch(ipfsUrl);
12
+ if (!response.ok) {
13
+ throw new Error(`Failed to fetch IPFS content: ${response.statusText}`);
14
+ }
15
+ const raw = await response.text();
16
+ const parsed = parse(raw);
17
+ return parsed;
18
+ };
19
+ // Fetching buffer content by CID through IPFS gateway
20
+ export const fetchIPFSBuffer = async (cid, gateway = IPFS_GATEWAY) => {
21
+ const response = await fetch(`${gateway}/${cid}`);
22
+ if (!response.ok) {
23
+ throw new Error(`Failed to fetch content: ${response.statusText}`);
24
+ }
25
+ const buffer = await response.arrayBuffer();
26
+ return new Uint8Array(buffer);
27
+ };
28
+ // Recalculate CID using full UnixFS logic (like `ipfs add`)
29
+ export const calculateIPFSAddCID = async (fileContent) => {
30
+ const blockstore = new MemoryBlockstore();
31
+ const entries = importer([{ content: fileContent }], blockstore, {
32
+ cidVersion: 0,
33
+ rawLeaves: false, // important! otherwise CID will be v1
34
+ });
35
+ let lastCid = null;
36
+ for await (const entry of entries) {
37
+ lastCid = entry.cid;
38
+ }
39
+ if (!lastCid) {
40
+ throw new Error('CID calculation failed — no entries found');
41
+ }
42
+ return lastCid;
43
+ };
44
+ // Downloading file from IPFS and checking its integrity
45
+ export const fetchAndVerifyFile = async (cid, gateway = IPFS_GATEWAY) => {
46
+ const originalCID = CID.parse(cid);
47
+ const fileContent = await fetchIPFSBuffer(cid, gateway);
48
+ const calculatedCID = await calculateIPFSAddCID(fileContent);
49
+ logInfo('Original CID: ', originalCID.toString());
50
+ logInfo('Calculated CID:', calculatedCID.toString());
51
+ if (!calculatedCID.equals(originalCID)) {
52
+ throw new Error(`❌ CID mismatch! Expected ${originalCID}, but got ${calculatedCID}`);
53
+ }
54
+ logResult('✅ CID verified, file matches IPFS hash');
55
+ return fileContent;
56
+ };
57
+ //# sourceMappingURL=ipfs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipfs.js","sourceRoot":"","sources":["../../utils/ipfs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { HeadMessage } from './constants.js';
2
+ export declare const createConsole: (headMessage: HeadMessage, type?: "info" | "error" | "table" | "bold") => <T, U>(...args: T[] | U[]) => void;
3
+ export declare const logInfo: <T, U>(...args: T[] | U[]) => void;
4
+ export declare const logError: <T, U>(...args: T[] | U[]) => void;
5
+ export declare const logResult: <T, U>(...args: T[] | U[]) => void;
6
+ export declare const logBold: <T, U>(...args: T[] | U[]) => void;
7
+ export declare const logCancel: <T, U>(...args: T[] | U[]) => void;
@@ -0,0 +1,23 @@
1
+ import { getColoredLog } from './constants.js';
2
+ export const createConsole = (headMessage, type = 'info') => {
3
+ return (...args) => {
4
+ switch (type) {
5
+ case 'table':
6
+ console.info(`\n${getColoredLog(headMessage, headMessage + ':')}`);
7
+ console.table(...args);
8
+ break;
9
+ case 'bold':
10
+ console.info(getColoredLog(headMessage, args));
11
+ break;
12
+ default:
13
+ // eslint-disable-next-line no-console
14
+ console[type](`\n${getColoredLog(headMessage, headMessage + ':')}`, ...args);
15
+ }
16
+ };
17
+ };
18
+ export const logInfo = createConsole('LOG');
19
+ export const logError = createConsole('Error', 'error');
20
+ export const logResult = createConsole('Result', 'table');
21
+ export const logBold = createConsole('Bold', 'bold');
22
+ export const logCancel = createConsole('Cancel');
23
+ //# sourceMappingURL=console.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console.js","sourceRoot":"","sources":["../../../utils/logging/console.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAe,MAAM,gBAAgB,CAAC;AAE5D,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,WAAwB,EACxB,OAA4C,MAAM,EAClD,EAAE;IACF,OAAO,CAAO,GAAG,IAAe,EAAE,EAAE;QAClC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,OAAO;gBACV,OAAO,CAAC,IAAI,CAAC,KAAK,aAAa,CAAC,WAAW,EAAE,WAAW,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;gBACnE,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;gBACvB,MAAM;YACR,KAAK,MAAM;gBACT,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC/C,MAAM;YACR;gBACE,sCAAsC;gBACtC,OAAO,CAAC,IAAI,CAAC,CACX,KAAK,aAAa,CAAC,WAAW,EAAE,WAAW,GAAG,GAAG,CAAC,EAAE,EACpD,GAAG,IAAI,CACR,CAAC;QACN,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;AAC5C,MAAM,CAAC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACxD,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC1D,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type HeadMessage = 'Error' | 'LOG' | 'Result' | 'Bold' | 'Cancel';
2
+ export declare const getColoredLog: <T>(type: HeadMessage, message: T) => string;
@@ -0,0 +1,12 @@
1
+ import chalk from 'chalk';
2
+ const ConsoleCss = {
3
+ Error: chalk.red.bold,
4
+ LOG: chalk.blue.bold,
5
+ Result: chalk.green.bold,
6
+ Bold: chalk.bold,
7
+ Cancel: chalk.yellow.bold,
8
+ };
9
+ export const getColoredLog = (type, message) => {
10
+ return ConsoleCss[type](message);
11
+ };
12
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../utils/logging/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,UAAU,GAAG;IACjB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI;IACrB,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;IACpB,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;IACxB,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAI,IAAiB,EAAE,OAAU,EAAE,EAAE;IAChE,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './console.js';
@@ -0,0 +1,2 @@
1
+ export * from './console.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../utils/logging/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { Address } from 'viem';
2
+ type ConfirmMintProps = {
3
+ vaultAddress: Address;
4
+ recipient: Address;
5
+ amountOfMint: bigint;
6
+ amountOfMintInStethWei: bigint;
7
+ newLiabilityShares: bigint;
8
+ currentLiabilityShares: bigint;
9
+ newHealthRatio: number;
10
+ currentHealthRatio: number;
11
+ newIsHealthy: boolean;
12
+ currentIsHealthy: boolean;
13
+ type: 'shares' | 'stETH' | 'wstETH';
14
+ };
15
+ type ConfirmBurnProps = {
16
+ vaultAddress: Address;
17
+ amountOfBurn: bigint;
18
+ amountOfBurnInStethWei: bigint;
19
+ newLiabilityShares: bigint;
20
+ currentLiabilityShares: bigint;
21
+ newHealthRatio: number;
22
+ currentHealthRatio: number;
23
+ newIsHealthy: boolean;
24
+ currentIsHealthy: boolean;
25
+ type: 'shares' | 'stETH' | 'wstETH';
26
+ };
27
+ export declare const confirmMint: (props: ConfirmMintProps) => Promise<boolean>;
28
+ export declare const confirmBurn: (props: ConfirmBurnProps) => Promise<boolean>;
29
+ export {};
@@ -0,0 +1,63 @@
1
+ import { formatEther } from 'viem';
2
+ import { confirmOperation, logInfo } from '../index.js';
3
+ export const confirmMint = async (props) => {
4
+ const { vaultAddress, recipient, amountOfMint, amountOfMintInStethWei, newLiabilityShares, currentLiabilityShares, newHealthRatio, currentHealthRatio, newIsHealthy, currentIsHealthy, type, } = props;
5
+ const amountOfMintInShares = formatEther(amountOfMint);
6
+ const amountOfMintInSteth = formatEther(amountOfMintInStethWei);
7
+ const isShares = type === 'shares';
8
+ const isWsteth = type === 'wstETH';
9
+ const value = isShares || isWsteth ? amountOfMintInShares : amountOfMintInSteth;
10
+ logInfo(`Current vault ${vaultAddress} health:`);
11
+ console.table([
12
+ {
13
+ 'Vault Address': vaultAddress,
14
+ 'Current Liability Shares (wei)': currentLiabilityShares,
15
+ 'Current Liability Shares (Shares)': formatEther(currentLiabilityShares),
16
+ 'Current Health Ratio': `${currentHealthRatio}%`,
17
+ 'Current Is Healthy': currentIsHealthy,
18
+ },
19
+ ]);
20
+ logInfo(`Minting ${value} ${type} to ${recipient}:`);
21
+ console.table([
22
+ {
23
+ 'Vault Address': vaultAddress,
24
+ 'New Liability Shares (wei)': newLiabilityShares,
25
+ 'New Liability Shares (Shares)': formatEther(newLiabilityShares),
26
+ 'New Health Ratio': `${newHealthRatio}%`,
27
+ 'New Is Healthy': newIsHealthy,
28
+ },
29
+ ]);
30
+ const confirm = await confirmOperation(`Are you sure you want to mint ${value} ${type} to ${recipient}?`);
31
+ return confirm;
32
+ };
33
+ export const confirmBurn = async (props) => {
34
+ const { vaultAddress, amountOfBurn, amountOfBurnInStethWei, newLiabilityShares, currentLiabilityShares, newHealthRatio, currentHealthRatio, newIsHealthy, currentIsHealthy, type, } = props;
35
+ const amountOfBurnInShares = formatEther(amountOfBurn);
36
+ const amountOfBurnInSteth = formatEther(amountOfBurnInStethWei);
37
+ const isShares = type === 'shares';
38
+ const isWsteth = type === 'wstETH';
39
+ const value = isShares || isWsteth ? amountOfBurnInShares : amountOfBurnInSteth;
40
+ logInfo(`Current vault ${vaultAddress} health:`);
41
+ console.table([
42
+ {
43
+ 'Vault Address': vaultAddress,
44
+ 'Current Liability Shares (wei)': currentLiabilityShares,
45
+ 'Current Liability Shares (Shares)': formatEther(currentLiabilityShares),
46
+ 'Current Health Ratio': `${currentHealthRatio}%`,
47
+ 'Current Is Healthy': currentIsHealthy,
48
+ },
49
+ ]);
50
+ logInfo(`Burning ${value} ${type} for ${vaultAddress}:`);
51
+ console.table([
52
+ {
53
+ 'Vault Address': vaultAddress,
54
+ 'New Liability Shares (wei)': newLiabilityShares,
55
+ 'New Liability Shares (Shares)': formatEther(newLiabilityShares),
56
+ 'New Health Ratio': `${newHealthRatio}%`,
57
+ 'New Is Healthy': newIsHealthy,
58
+ },
59
+ ]);
60
+ const confirm = await confirmOperation(`Are you sure you want to burn ${value} ${type} for ${vaultAddress}?`);
61
+ return confirm;
62
+ };
63
+ //# sourceMappingURL=dashboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../../utils/prompts/dashboard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import prompts from 'prompts';
2
+ export declare const textPrompt: <T extends string>(message: string, name: T) => Promise<prompts.Answers<T>>;
3
+ export declare const confirmPrompt: <T extends string>(message: string, name: T) => Promise<prompts.Answers<T>>;
@@ -0,0 +1,17 @@
1
+ import prompts from 'prompts';
2
+ export const textPrompt = (message, name) => {
3
+ return prompts({
4
+ type: 'text',
5
+ name,
6
+ message,
7
+ });
8
+ };
9
+ export const confirmPrompt = (message, name) => {
10
+ return prompts({
11
+ type: 'confirm',
12
+ name,
13
+ message,
14
+ initial: false,
15
+ });
16
+ };
17
+ //# sourceMappingURL=default.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../utils/prompts/default.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,OAAe,EACf,IAAO,EACsB,EAAE;IAC/B,OAAO,OAAO,CAAC;QACb,IAAI,EAAE,MAAM;QACZ,IAAI;QACJ,OAAO;KACR,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,OAAe,EACf,IAAO,EACsB,EAAE;IAC/B,OAAO,OAAO,CAAC;QACb,IAAI,EAAE,SAAS;QACf,IAAI;QACJ,OAAO;QACP,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './default.js';
2
+ export * from './predeposit-guarantee.js';
3
+ export * from './vault.js';
4
+ export * from './operations.js';
5
+ export * from './dashboard.js';
@@ -0,0 +1,6 @@
1
+ export * from './default.js';
2
+ export * from './predeposit-guarantee.js';
3
+ export * from './vault.js';
4
+ export * from './operations.js';
5
+ export * from './dashboard.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../utils/prompts/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Address } from 'viem';
2
+ export declare const enterContractAddress: (name?: string) => Promise<import("prompts").Answers<"address">>;
3
+ export declare const confirmContractAndAmount: (contract: Address, amountETH: string) => Promise<import("prompts").Answers<"confirm">>;
4
+ export declare const enterAmountETH: () => Promise<import("prompts").Answers<"amountETH">>;
5
+ export declare const confirmFund: (address: Address, amountETH: string, name: string) => Promise<{
6
+ address: `0x${string}`;
7
+ amount: string;
8
+ }>;
9
+ export declare const confirmOperation: (message: string) => Promise<boolean>;
@@ -0,0 +1,41 @@
1
+ import { program } from 'commander';
2
+ import { logCancel } from '../index.js';
3
+ import { textPrompt, confirmPrompt } from './default.js';
4
+ export const enterContractAddress = async (name = 'contract') => {
5
+ return await textPrompt(`Enter ${name} address`, 'address');
6
+ };
7
+ export const confirmContractAndAmount = async (contract, amountETH) => {
8
+ return await confirmPrompt(`Do you want to fund the contract ${contract} with ${amountETH} ETH?`, 'confirm');
9
+ };
10
+ export const enterAmountETH = async () => {
11
+ return await textPrompt('Enter amount in ETH', 'amountETH');
12
+ };
13
+ export const confirmFund = async (address, amountETH, name) => {
14
+ let contractAddress = address;
15
+ let amount = amountETH;
16
+ if (!contractAddress) {
17
+ const answerAddress = await enterContractAddress(name);
18
+ contractAddress = answerAddress.address;
19
+ if (!contractAddress)
20
+ program.error('Command cancelled', { exitCode: 1 });
21
+ }
22
+ if (!amount) {
23
+ const answerAmount = await enterAmountETH();
24
+ amount = answerAmount.amountETH;
25
+ if (!amount)
26
+ program.error('Command cancelled', { exitCode: 1 });
27
+ }
28
+ const { confirm } = await confirmContractAndAmount(contractAddress, amount);
29
+ if (!confirm)
30
+ program.error('Command cancelled', { exitCode: 1 });
31
+ return { address: contractAddress, amount: amount };
32
+ };
33
+ export const confirmOperation = async (message) => {
34
+ const { confirm } = await confirmPrompt(message, 'confirm');
35
+ if (!confirm) {
36
+ logCancel('Command cancelled');
37
+ return false;
38
+ }
39
+ return true;
40
+ };
41
+ //# sourceMappingURL=operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../utils/prompts/operations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,IAAI,GAAG,UAAU,EAAE,EAAE;IAC9D,OAAO,MAAM,UAAU,CAAC,SAAS,IAAI,UAAU,EAAE,SAAS,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAC3C,QAAiB,EACjB,SAAiB,EACjB,EAAE;IACF,OAAO,MAAM,aAAa,CACxB,oCAAoC,QAAQ,SAAS,SAAS,OAAO,EACrE,SAAS,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;IACvC,OAAO,MAAM,UAAU,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC9B,OAAgB,EAChB,SAAiB,EACjB,IAAY,EACZ,EAAE;IACF,IAAI,eAAe,GAAmB,OAAO,CAAC;IAC9C,IAAI,MAAM,GAAkB,SAAS,CAAC;IAEtC,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACvD,eAAe,GAAG,aAAa,CAAC,OAAkB,CAAC;QAEnD,IAAI,CAAC,eAAe;YAAE,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,YAAY,GAAG,MAAM,cAAc,EAAE,CAAC;QAC5C,MAAM,GAAG,YAAY,CAAC,SAAmB,CAAC;QAE1C,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,wBAAwB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAC5E,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;IAElE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACtD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,OAAe,EAAE,EAAE;IACxD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAE5D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const enterValidatorIndex: () => Promise<import("prompts").Answers<"validatorIndex">>;
2
+ export declare const confirmValidatorIndex: (validatorIndex: bigint) => Promise<import("prompts").Answers<"confirm">>;
3
+ export declare const confirmMakeProof: (index: bigint) => Promise<bigint | void>;
@@ -0,0 +1,22 @@
1
+ import { textPrompt, confirmPrompt } from './default.js';
2
+ import { logCancel } from '../../utils/logging/console.js';
3
+ export const enterValidatorIndex = async () => {
4
+ return await textPrompt('Enter validator index', 'validatorIndex');
5
+ };
6
+ export const confirmValidatorIndex = async (validatorIndex) => {
7
+ return await confirmPrompt(`Do you want to make proof for validator ${validatorIndex}?`, 'confirm');
8
+ };
9
+ export const confirmMakeProof = async (index) => {
10
+ let validatorIndex = index;
11
+ if (validatorIndex === undefined) {
12
+ const answerValidatorIndex = await enterValidatorIndex();
13
+ validatorIndex = answerValidatorIndex.validatorIndex;
14
+ if (!validatorIndex)
15
+ return logCancel('Command cancelled');
16
+ }
17
+ const { confirm } = await confirmValidatorIndex(validatorIndex);
18
+ if (!confirm)
19
+ return logCancel('Command cancelled');
20
+ return validatorIndex;
21
+ };
22
+ //# sourceMappingURL=predeposit-guarantee.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"predeposit-guarantee.js","sourceRoot":"","sources":["../../../utils/prompts/predeposit-guarantee.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,IAAI,EAAE;IAC5C,OAAO,MAAM,UAAU,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,CAAC;AACrE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,cAAsB,EAAE,EAAE;IACpE,OAAO,MAAM,aAAa,CACxB,2CAA2C,cAAc,GAAG,EAC5D,SAAS,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;IACtD,IAAI,cAAc,GAAW,KAAK,CAAC;IAEnC,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,oBAAoB,GAAG,MAAM,mBAAmB,EAAE,CAAC;QACzD,cAAc,GAAG,oBAAoB,CAAC,cAAc,CAAC;QAErD,IAAI,CAAC,cAAc;YAAE,OAAO,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,qBAAqB,CAAC,cAAc,CAAC,CAAC;IAChE,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAEpD,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { RoleAssignment, VaultWithDashboard } from '../../types/index.js';
2
+ export declare const confirmCreateVaultParams: (payload: VaultWithDashboard, otherRoles: RoleAssignment[]) => Promise<import("prompts").Answers<"confirm">>;
@@ -0,0 +1,14 @@
1
+ import { confirmPrompt } from './default.js';
2
+ export const confirmCreateVaultParams = async (payload, otherRoles) => {
3
+ return await confirmPrompt(`Do you want to create a vault with the following parameters?
4
+ ${JSON.stringify(payload, (_key, value) => {
5
+ if (typeof value === 'bigint') {
6
+ return value.toString();
7
+ }
8
+ return value;
9
+ }, 2)}
10
+ ${JSON.stringify(otherRoles, (_key, value) => {
11
+ return value;
12
+ }, 2)}`, 'confirm');
13
+ };
14
+ //# sourceMappingURL=vault.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vault.js","sourceRoot":"","sources":["../../../utils/prompts/vault.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAC3C,OAA2B,EAC3B,UAA4B,EAC5B,EAAE;IACF,OAAO,MAAM,aAAa,CACxB;MACE,IAAI,CAAC,SAAS,CACd,OAAO,EACP,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACd,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC1B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,EACD,CAAC,CACF;MACC,IAAI,CAAC,SAAS,CACd,UAAU,EACV,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACd,OAAO,KAAK,CAAC;IACf,CAAC,EACD,CAAC,CACF,EAAE,EACH,SAAS,CACV,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { Hex } from 'viem';
2
+ export interface ValidatorWitness {
3
+ proof: Hex[];
4
+ pubkey: Hex;
5
+ validatorIndex: bigint;
6
+ childBlockTimestamp: bigint;
7
+ }
8
+ export interface ValidatorWitnessWithWC extends ValidatorWitness {
9
+ withdrawalCredentials: Hex;
10
+ }
11
+ export declare const createPDGProof: (validatorIndex: number, clURL?: string) => Promise<ValidatorWitnessWithWC>;
@@ -0,0 +1,38 @@
1
+ import { toHex } from 'viem';
2
+ import { fetchBeaconHeader, fetchBeaconState, fetchBeaconHeaderByParentRoot, } from '../index.js';
3
+ import { createStateProof, createPubkeyWCProof, createBeaconHeaderProof, } from './proofs.js';
4
+ const SECONDS_PER_SLOT = 12;
5
+ const slotToTimestamp = (slot, genesisTimestamp) => {
6
+ return genesisTimestamp + slot * Number(SECONDS_PER_SLOT);
7
+ };
8
+ export const createPDGProof = async (validatorIndex, clURL) => {
9
+ const beaconHeaderJson = await fetchBeaconHeader('finalized', clURL);
10
+ const beaconHeader = beaconHeaderJson.data.header.message;
11
+ const { stateBodyBytes, forkName } = await fetchBeaconState('finalized', clURL);
12
+ // Proofs
13
+ // Beacon Header Proof
14
+ const { proof: beaconHeaderProof, root: beaconHeaderRoot } = await createBeaconHeaderProof(beaconHeader);
15
+ // Validator State Proof
16
+ const { proof: validatorStateProof, validator, view: validatorStateView, } = await createStateProof(validatorIndex, stateBodyBytes, forkName);
17
+ // Pubkey WC Proof
18
+ const { proof: pubkeyWCProof } = await createPubkeyWCProof(validator.node);
19
+ // Concatenate proofs
20
+ const proofConcat = [
21
+ ...pubkeyWCProof.witnesses,
22
+ ...validatorStateProof.witnesses,
23
+ ...beaconHeaderProof.witnesses,
24
+ ];
25
+ const proofHex = proofConcat.map((w) => toHex(w));
26
+ const headerByParentJson = await fetchBeaconHeaderByParentRoot(beaconHeaderRoot, clURL);
27
+ const headerByParentSlot = headerByParentJson.data[0].header.message.slot;
28
+ const headerByParentTimestamp = slotToTimestamp(headerByParentSlot, validatorStateView.genesisTime);
29
+ const result = {
30
+ proof: proofHex,
31
+ pubkey: toHex(validator.pubkey),
32
+ withdrawalCredentials: toHex(validator.withdrawalCredentials),
33
+ validatorIndex: BigInt(validatorIndex),
34
+ childBlockTimestamp: BigInt(headerByParentTimestamp),
35
+ };
36
+ return result;
37
+ };
38
+ //# sourceMappingURL=create-proof.js.map