@lidofinance/lsv-cli 1.0.0-alpha.5 → 1.0.0-alpha.50

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 (586) hide show
  1. package/README.md +41 -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 +1866 -0
  9. package/dist/abi/Dashboard.js +1924 -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 +1075 -0
  15. package/dist/abi/OperatorGrid.js +1188 -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 +1085 -0
  27. package/dist/abi/StakingVault.js +1115 -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 +664 -0
  33. package/dist/abi/VaultFactory.js +213 -0
  34. package/dist/abi/VaultFactory.js.map +1 -0
  35. package/dist/abi/VaultHub.d.ts +1882 -0
  36. package/dist/abi/VaultHub.js +1259 -435
  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 +6 -5
  52. package/dist/command/index.js.map +1 -1
  53. package/dist/configs/constants.d.ts +34 -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 +13 -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 +10742 -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 +259 -0
  118. package/dist/features/dashboard.js.map +1 -0
  119. package/dist/features/index.d.ts +6 -0
  120. package/dist/features/index.js +7 -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 +64 -0
  124. package/dist/features/operator-grid.js.map +1 -0
  125. package/dist/features/pdg.d.ts +4 -0
  126. package/dist/features/pdg.js +116 -0
  127. package/dist/features/pdg.js.map +1 -0
  128. package/dist/features/token-manager.d.ts +1 -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 +13 -0
  132. package/dist/features/vault-factory.js +63 -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 +88 -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 +56 -0
  139. package/dist/features/vault.js.map +1 -0
  140. package/dist/index.d.ts +3 -0
  141. package/dist/index.js +8 -5
  142. package/dist/index.js.map +1 -1
  143. package/dist/programs/account/index.d.ts +3 -0
  144. package/dist/programs/account/index.js +4 -0
  145. package/dist/programs/account/index.js.map +1 -0
  146. package/dist/programs/account/main.d.ts +1 -0
  147. package/dist/programs/account/main.js +5 -0
  148. package/dist/programs/account/main.js.map +1 -0
  149. package/dist/programs/account/read.d.ts +1 -0
  150. package/dist/programs/account/read.js +109 -0
  151. package/dist/programs/account/read.js.map +1 -0
  152. package/dist/programs/account/write.d.ts +1 -0
  153. package/dist/programs/account/write.js +65 -0
  154. package/dist/programs/account/write.js.map +1 -0
  155. package/dist/programs/config.d.ts +1 -0
  156. package/dist/programs/config.js +31 -0
  157. package/dist/programs/config.js.map +1 -0
  158. package/dist/programs/dashboard/config.d.ts +2 -0
  159. package/dist/programs/dashboard/config.js +111 -0
  160. package/dist/programs/dashboard/config.js.map +1 -0
  161. package/dist/programs/dashboard/index.d.ts +3 -0
  162. package/dist/programs/dashboard/index.js +4 -0
  163. package/dist/programs/dashboard/index.js.map +1 -0
  164. package/dist/programs/dashboard/main.d.ts +1 -0
  165. package/dist/programs/dashboard/main.js +5 -0
  166. package/dist/programs/dashboard/main.js.map +1 -0
  167. package/dist/programs/dashboard/read.d.ts +1 -0
  168. package/dist/programs/dashboard/read.js +97 -0
  169. package/dist/programs/dashboard/read.js.map +1 -0
  170. package/dist/programs/dashboard/write.d.ts +1 -0
  171. package/dist/programs/dashboard/write.js +625 -0
  172. package/dist/programs/dashboard/write.js.map +1 -0
  173. package/dist/programs/hub/config.d.ts +2 -0
  174. package/dist/programs/hub/config.js +123 -0
  175. package/dist/programs/hub/config.js.map +1 -0
  176. package/dist/programs/hub/index.d.ts +3 -0
  177. package/dist/programs/hub/index.js +4 -0
  178. package/dist/programs/hub/index.js.map +1 -0
  179. package/dist/programs/hub/main.d.ts +1 -0
  180. package/dist/programs/hub/main.js +5 -0
  181. package/dist/programs/hub/main.js.map +1 -0
  182. package/dist/programs/hub/read.d.ts +1 -0
  183. package/dist/programs/hub/read.js +59 -0
  184. package/dist/programs/hub/read.js.map +1 -0
  185. package/dist/programs/hub/write.d.ts +1 -0
  186. package/dist/programs/hub/write.js +246 -0
  187. package/dist/programs/hub/write.js.map +1 -0
  188. package/dist/programs/index.d.ts +11 -0
  189. package/dist/programs/index.js +11 -17
  190. package/dist/programs/index.js.map +1 -1
  191. package/dist/programs/metrics/index.d.ts +2 -0
  192. package/dist/programs/metrics/index.js +3 -0
  193. package/dist/programs/metrics/index.js.map +1 -0
  194. package/dist/programs/metrics/main.d.ts +1 -0
  195. package/dist/programs/metrics/main.js +3 -0
  196. package/dist/programs/metrics/main.js.map +1 -0
  197. package/dist/programs/metrics/read.d.ts +1 -0
  198. package/dist/programs/metrics/read.js +96 -0
  199. package/dist/programs/metrics/read.js.map +1 -0
  200. package/dist/programs/operator-grid/config.d.ts +2 -0
  201. package/dist/programs/operator-grid/config.js +81 -0
  202. package/dist/programs/operator-grid/config.js.map +1 -0
  203. package/dist/programs/operator-grid/index.d.ts +3 -0
  204. package/dist/programs/operator-grid/index.js +4 -0
  205. package/dist/programs/operator-grid/index.js.map +1 -0
  206. package/dist/programs/operator-grid/main.d.ts +1 -0
  207. package/dist/programs/operator-grid/main.js +5 -0
  208. package/dist/programs/operator-grid/main.js.map +1 -0
  209. package/dist/programs/operator-grid/read.d.ts +1 -0
  210. package/dist/programs/operator-grid/read.js +30 -0
  211. package/dist/programs/operator-grid/read.js.map +1 -0
  212. package/dist/programs/operator-grid/write.d.ts +1 -0
  213. package/dist/programs/operator-grid/write.js +124 -0
  214. package/dist/programs/operator-grid/write.js.map +1 -0
  215. package/dist/programs/pdg/config.d.ts +2 -0
  216. package/dist/programs/pdg/config.js +134 -0
  217. package/dist/programs/pdg/config.js.map +1 -0
  218. package/dist/programs/pdg/index.d.ts +3 -0
  219. package/dist/programs/pdg/index.js +4 -0
  220. package/dist/programs/pdg/index.js.map +1 -0
  221. package/dist/programs/pdg/main.d.ts +1 -0
  222. package/dist/programs/pdg/main.js +5 -0
  223. package/dist/programs/pdg/main.js.map +1 -0
  224. package/dist/programs/pdg/read.d.ts +1 -0
  225. package/dist/programs/pdg/read.js +38 -0
  226. package/dist/programs/pdg/read.js.map +1 -0
  227. package/dist/programs/pdg/write.d.ts +1 -0
  228. package/dist/programs/pdg/write.js +370 -0
  229. package/dist/programs/pdg/write.js.map +1 -0
  230. package/dist/programs/pdg-helpers.d.ts +1 -0
  231. package/dist/programs/pdg-helpers.js +221 -0
  232. package/dist/programs/pdg-helpers.js.map +1 -0
  233. package/dist/programs/report/index.d.ts +3 -0
  234. package/dist/programs/report/index.js +4 -0
  235. package/dist/programs/report/index.js.map +1 -0
  236. package/dist/programs/report/main.d.ts +1 -0
  237. package/dist/programs/report/main.js +3 -0
  238. package/dist/programs/report/main.js.map +1 -0
  239. package/dist/programs/report/read.d.ts +1 -0
  240. package/dist/programs/report/read.js +88 -0
  241. package/dist/programs/report/read.js.map +1 -0
  242. package/dist/programs/report/write.d.ts +1 -0
  243. package/dist/programs/report/write.js +123 -0
  244. package/dist/programs/report/write.js.map +1 -0
  245. package/dist/programs/vault/config.d.ts +2 -0
  246. package/dist/programs/vault/config.js +70 -0
  247. package/dist/programs/vault/config.js.map +1 -0
  248. package/dist/programs/vault/index.d.ts +3 -0
  249. package/dist/programs/vault/index.js +4 -0
  250. package/dist/programs/vault/index.js.map +1 -0
  251. package/dist/programs/vault/main.d.ts +1 -0
  252. package/dist/programs/vault/main.js +3 -0
  253. package/dist/programs/vault/main.js.map +1 -0
  254. package/dist/programs/vault/read.d.ts +1 -0
  255. package/dist/programs/vault/read.js +25 -0
  256. package/dist/programs/vault/read.js.map +1 -0
  257. package/dist/programs/vault/write.d.ts +1 -0
  258. package/dist/programs/vault/write.js +247 -0
  259. package/dist/programs/vault/write.js.map +1 -0
  260. package/dist/programs/vault-factory/config.d.ts +2 -0
  261. package/dist/programs/vault-factory/config.js +2 -0
  262. package/dist/programs/vault-factory/config.js.map +1 -0
  263. package/dist/programs/vault-factory/index.d.ts +3 -0
  264. package/dist/programs/vault-factory/index.js +4 -0
  265. package/dist/programs/vault-factory/index.js.map +1 -0
  266. package/dist/programs/vault-factory/main.d.ts +1 -0
  267. package/dist/programs/vault-factory/main.js +5 -0
  268. package/dist/programs/vault-factory/main.js.map +1 -0
  269. package/dist/programs/vault-factory/read.d.ts +1 -0
  270. package/dist/programs/vault-factory/read.js +24 -0
  271. package/dist/programs/vault-factory/read.js.map +1 -0
  272. package/dist/programs/vault-factory/write.d.ts +1 -0
  273. package/dist/programs/vault-factory/write.js +86 -0
  274. package/dist/programs/vault-factory/write.js.map +1 -0
  275. package/dist/programs/vault-viewer/config.d.ts +2 -0
  276. package/dist/programs/vault-viewer/config.js +120 -0
  277. package/dist/programs/vault-viewer/config.js.map +1 -0
  278. package/dist/programs/vault-viewer/index.d.ts +2 -0
  279. package/dist/programs/vault-viewer/index.js +3 -0
  280. package/dist/programs/vault-viewer/index.js.map +1 -0
  281. package/dist/programs/vault-viewer/main.d.ts +1 -0
  282. package/dist/programs/vault-viewer/main.js +10 -0
  283. package/dist/programs/vault-viewer/main.js.map +1 -0
  284. package/dist/programs/vault-viewer/read.d.ts +1 -0
  285. package/dist/programs/vault-viewer/read.js +121 -0
  286. package/dist/programs/vault-viewer/read.js.map +1 -0
  287. package/dist/providers/index.d.ts +1 -0
  288. package/dist/providers/index.js +1 -17
  289. package/dist/providers/index.js.map +1 -1
  290. package/dist/providers/wallet.d.ts +6897 -0
  291. package/dist/providers/wallet.js +44 -28
  292. package/dist/providers/wallet.js.map +1 -1
  293. package/dist/tests/__mocks__/@lodestar/types.d.ts +1 -0
  294. package/dist/tests/__mocks__/@lodestar/types.js +6 -0
  295. package/dist/tests/__mocks__/@lodestar/types.js.map +1 -0
  296. package/dist/tests/utils/arguments.test.d.ts +1 -0
  297. package/dist/tests/utils/arguments.test.js +92 -0
  298. package/dist/tests/utils/arguments.test.js.map +1 -0
  299. package/dist/tests/utils/calculate-overview.test.d.ts +1 -0
  300. package/dist/tests/utils/calculate-overview.test.js +30 -0
  301. package/dist/tests/utils/calculate-overview.test.js.map +1 -0
  302. package/dist/tests/utils/data-validators.test.d.ts +1 -0
  303. package/dist/tests/utils/data-validators.test.js +56 -0
  304. package/dist/tests/utils/data-validators.test.js.map +1 -0
  305. package/dist/tests/utils/error-handler.test.d.ts +1 -0
  306. package/dist/tests/utils/error-handler.test.js +51 -0
  307. package/dist/tests/utils/error-handler.test.js.map +1 -0
  308. package/dist/tests/utils/fetchCL.test.d.ts +1 -0
  309. package/dist/tests/utils/fetchCL.test.js +57 -0
  310. package/dist/tests/utils/fetchCL.test.js.map +1 -0
  311. package/dist/tests/utils/get-commands.test.d.ts +1 -0
  312. package/dist/tests/utils/get-commands.test.js +19 -0
  313. package/dist/tests/utils/get-commands.test.js.map +1 -0
  314. package/dist/tests/utils/get-deposit-data-root.test.d.ts +1 -0
  315. package/dist/tests/utils/get-deposit-data-root.test.js +31 -0
  316. package/dist/tests/utils/get-deposit-data-root.test.js.map +1 -0
  317. package/dist/tests/utils/get-value.test.d.ts +1 -0
  318. package/dist/tests/utils/get-value.test.js +13 -0
  319. package/dist/tests/utils/get-value.test.js.map +1 -0
  320. package/dist/tests/utils/health.test.d.ts +1 -0
  321. package/dist/tests/utils/health.test.js +22 -0
  322. package/dist/tests/utils/health.test.js.map +1 -0
  323. package/dist/tests/utils/interrupt-handler.test.d.ts +1 -0
  324. package/dist/tests/utils/interrupt-handler.test.js +15 -0
  325. package/dist/tests/utils/interrupt-handler.test.js.map +1 -0
  326. package/dist/tests/utils/ipfs.test.d.ts +1 -0
  327. package/dist/tests/utils/ipfs.test.js +98 -0
  328. package/dist/tests/utils/ipfs.test.js.map +1 -0
  329. package/dist/tests/utils/logging.test.d.ts +1 -0
  330. package/dist/tests/utils/logging.test.js +23 -0
  331. package/dist/tests/utils/logging.test.js.map +1 -0
  332. package/dist/tests/utils/report-proof.test.d.ts +1 -0
  333. package/dist/tests/utils/report-proof.test.js +29 -0
  334. package/dist/tests/utils/report-proof.test.js.map +1 -0
  335. package/dist/tests/utils/report-statistic.test.d.ts +1 -0
  336. package/dist/tests/utils/report-statistic.test.js +247 -0
  337. package/dist/tests/utils/report-statistic.test.js.map +1 -0
  338. package/dist/tests/utils/required-lock.test.d.ts +1 -0
  339. package/dist/tests/utils/required-lock.test.js +26 -0
  340. package/dist/tests/utils/required-lock.test.js.map +1 -0
  341. package/dist/tests/utils/resove-path.test.d.ts +1 -0
  342. package/dist/tests/utils/resove-path.test.js +18 -0
  343. package/dist/tests/utils/resove-path.test.js.map +1 -0
  344. package/dist/tests/utils/sleep.test.d.ts +1 -0
  345. package/dist/tests/utils/sleep.test.js +14 -0
  346. package/dist/tests/utils/sleep.test.js.map +1 -0
  347. package/dist/types/common.d.ts +31 -0
  348. package/dist/types/common.js +2 -0
  349. package/dist/types/common.js.map +1 -0
  350. package/dist/types/config.d.ts +25 -0
  351. package/dist/types/config.js +2 -0
  352. package/dist/types/config.js.map +1 -0
  353. package/dist/types/index.d.ts +2 -0
  354. package/dist/types/index.js +3 -0
  355. package/dist/types/index.js.map +1 -0
  356. package/dist/utils/arguments.d.ts +14 -0
  357. package/dist/utils/arguments.js +70 -0
  358. package/dist/utils/arguments.js.map +1 -0
  359. package/dist/utils/bls.d.ts +21 -0
  360. package/dist/utils/bls.js +101 -0
  361. package/dist/utils/bls.js.map +1 -0
  362. package/dist/utils/cache.d.ts +18 -0
  363. package/dist/utils/cache.js +109 -0
  364. package/dist/utils/cache.js.map +1 -0
  365. package/dist/utils/calculate-overview-v2.d.ts +28 -0
  366. package/dist/utils/calculate-overview-v2.js +57 -0
  367. package/dist/utils/calculate-overview-v2.js.map +1 -0
  368. package/dist/utils/calculate-overview.d.ts +29 -0
  369. package/dist/utils/calculate-overview.js +59 -0
  370. package/dist/utils/calculate-overview.js.map +1 -0
  371. package/dist/utils/charts/blessed/charts-apr.d.ts +91 -0
  372. package/dist/utils/charts/blessed/charts-apr.js +119 -0
  373. package/dist/utils/charts/blessed/charts-apr.js.map +1 -0
  374. package/dist/utils/charts/blessed/charts-rewards.d.ts +67 -0
  375. package/dist/utils/charts/blessed/charts-rewards.js +106 -0
  376. package/dist/utils/charts/blessed/charts-rewards.js.map +1 -0
  377. package/dist/utils/charts/blessed/constants.d.ts +22 -0
  378. package/dist/utils/charts/blessed/constants.js +23 -0
  379. package/dist/utils/charts/blessed/constants.js.map +1 -0
  380. package/dist/utils/charts/blessed/datasets/bottom-line.d.ts +19 -0
  381. package/dist/utils/charts/blessed/datasets/bottom-line.js +34 -0
  382. package/dist/utils/charts/blessed/datasets/bottom-line.js.map +1 -0
  383. package/dist/utils/charts/blessed/datasets/efficiency.d.ts +18 -0
  384. package/dist/utils/charts/blessed/datasets/efficiency.js +33 -0
  385. package/dist/utils/charts/blessed/datasets/efficiency.js.map +1 -0
  386. package/dist/utils/charts/blessed/datasets/gross-staking-apr.d.ts +18 -0
  387. package/dist/utils/charts/blessed/datasets/gross-staking-apr.js +33 -0
  388. package/dist/utils/charts/blessed/datasets/gross-staking-apr.js.map +1 -0
  389. package/dist/utils/charts/blessed/datasets/gross-staking-rewards.d.ts +24 -0
  390. package/dist/utils/charts/blessed/datasets/gross-staking-rewards.js +39 -0
  391. package/dist/utils/charts/blessed/datasets/gross-staking-rewards.js.map +1 -0
  392. package/dist/utils/charts/blessed/datasets/index.d.ts +9 -0
  393. package/dist/utils/charts/blessed/datasets/index.js +10 -0
  394. package/dist/utils/charts/blessed/datasets/index.js.map +1 -0
  395. package/dist/utils/charts/blessed/datasets/lido-apr.d.ts +19 -0
  396. package/dist/utils/charts/blessed/datasets/lido-apr.js +34 -0
  397. package/dist/utils/charts/blessed/datasets/lido-apr.js.map +1 -0
  398. package/dist/utils/charts/blessed/datasets/net-staking-apr.d.ts +18 -0
  399. package/dist/utils/charts/blessed/datasets/net-staking-apr.js +33 -0
  400. package/dist/utils/charts/blessed/datasets/net-staking-apr.js.map +1 -0
  401. package/dist/utils/charts/blessed/datasets/net-staking-rewards.d.ts +18 -0
  402. package/dist/utils/charts/blessed/datasets/net-staking-rewards.js +33 -0
  403. package/dist/utils/charts/blessed/datasets/net-staking-rewards.js.map +1 -0
  404. package/dist/utils/charts/blessed/datasets/node-operator-rewards.d.ts +24 -0
  405. package/dist/utils/charts/blessed/datasets/node-operator-rewards.js +39 -0
  406. package/dist/utils/charts/blessed/datasets/node-operator-rewards.js.map +1 -0
  407. package/dist/utils/charts/blessed/datasets/prepare-metrics.d.ts +33 -0
  408. package/dist/utils/charts/blessed/datasets/prepare-metrics.js +133 -0
  409. package/dist/utils/charts/blessed/datasets/prepare-metrics.js.map +1 -0
  410. package/dist/utils/charts/blessed/datasets/types.d.ts +4 -0
  411. package/dist/utils/charts/blessed/datasets/types.js +2 -0
  412. package/dist/utils/charts/blessed/datasets/types.js.map +1 -0
  413. package/dist/utils/charts/blessed/index.d.ts +3 -0
  414. package/dist/utils/charts/blessed/index.js +4 -0
  415. package/dist/utils/charts/blessed/index.js.map +1 -0
  416. package/dist/utils/charts/blessed/net-vs-lido-apr.d.ts +13 -0
  417. package/dist/utils/charts/blessed/net-vs-lido-apr.js +19 -0
  418. package/dist/utils/charts/blessed/net-vs-lido-apr.js.map +1 -0
  419. package/dist/utils/charts/blessed/utils.d.ts +62 -0
  420. package/dist/utils/charts/blessed/utils.js +84 -0
  421. package/dist/utils/charts/blessed/utils.js.map +1 -0
  422. package/dist/utils/charts/index.d.ts +3 -0
  423. package/dist/utils/charts/index.js +4 -0
  424. package/dist/utils/charts/index.js.map +1 -0
  425. package/dist/utils/charts/metrics.d.ts +16 -0
  426. package/dist/utils/charts/metrics.js +160 -0
  427. package/dist/utils/charts/metrics.js.map +1 -0
  428. package/dist/utils/charts/overview.d.ts +10 -0
  429. package/dist/utils/charts/overview.js +89 -0
  430. package/dist/utils/charts/overview.js.map +1 -0
  431. package/dist/utils/charts/simple/index.d.ts +1 -0
  432. package/dist/utils/charts/simple/index.js +2 -0
  433. package/dist/utils/charts/simple/index.js.map +1 -0
  434. package/dist/utils/charts/simple/simple-charts.d.ts +2 -0
  435. package/dist/utils/charts/simple/simple-charts.js +81 -0
  436. package/dist/utils/charts/simple/simple-charts.js.map +1 -0
  437. package/dist/utils/commands/confirmations.d.ts +21 -0
  438. package/dist/utils/commands/confirmations.js +99 -0
  439. package/dist/utils/commands/confirmations.js.map +1 -0
  440. package/dist/utils/commands/dashboard.d.ts +6 -0
  441. package/dist/utils/commands/dashboard.js +145 -0
  442. package/dist/utils/commands/dashboard.js.map +1 -0
  443. package/dist/utils/commands/index.d.ts +4 -0
  444. package/dist/utils/commands/index.js +5 -0
  445. package/dist/utils/commands/index.js.map +1 -0
  446. package/dist/utils/commands/report.d.ts +7 -0
  447. package/dist/utils/commands/report.js +41 -0
  448. package/dist/utils/commands/report.js.map +1 -0
  449. package/dist/utils/commands/utils.d.ts +6 -0
  450. package/dist/utils/commands/utils.js +57 -0
  451. package/dist/utils/commands/utils.js.map +1 -0
  452. package/dist/utils/contract.d.ts +57 -0
  453. package/dist/utils/contract.js +212 -0
  454. package/dist/utils/contract.js.map +1 -0
  455. package/dist/utils/data-validators.d.ts +6 -0
  456. package/dist/utils/data-validators.js +54 -0
  457. package/dist/utils/data-validators.js.map +1 -0
  458. package/dist/utils/error-handler.d.ts +1 -0
  459. package/dist/utils/error-handler.js +13 -0
  460. package/dist/utils/error-handler.js.map +1 -0
  461. package/dist/utils/fetchCL.d.ts +14 -0
  462. package/dist/utils/fetchCL.js +57 -0
  463. package/dist/utils/fetchCL.js.map +1 -0
  464. package/dist/utils/get-commands.d.ts +2 -0
  465. package/dist/utils/get-commands.js +11 -0
  466. package/dist/utils/get-commands.js.map +1 -0
  467. package/dist/utils/get-deposit-data-root.d.ts +7 -0
  468. package/dist/utils/get-deposit-data-root.js +37 -0
  469. package/dist/utils/get-deposit-data-root.js.map +1 -0
  470. package/dist/utils/get-value.d.ts +1 -0
  471. package/dist/utils/get-value.js +5 -11
  472. package/dist/utils/get-value.js.map +1 -1
  473. package/dist/utils/health/calculate-health.d.ts +11 -0
  474. package/dist/utils/health/calculate-health.js +22 -0
  475. package/dist/utils/health/calculate-health.js.map +1 -0
  476. package/dist/utils/health/health-utils.d.ts +27743 -0
  477. package/dist/utils/health/health-utils.js +74 -0
  478. package/dist/utils/health/health-utils.js.map +1 -0
  479. package/dist/utils/health/index.d.ts +2 -0
  480. package/dist/utils/health/index.js +3 -0
  481. package/dist/utils/health/index.js.map +1 -0
  482. package/dist/utils/index.d.ts +30 -0
  483. package/dist/utils/index.js +30 -17
  484. package/dist/utils/index.js.map +1 -1
  485. package/dist/utils/interrupt-handler.d.ts +3 -0
  486. package/dist/utils/interrupt-handler.js +28 -0
  487. package/dist/utils/interrupt-handler.js.map +1 -0
  488. package/dist/utils/ipfs.d.ts +13 -0
  489. package/dist/utils/ipfs.js +86 -0
  490. package/dist/utils/ipfs.js.map +1 -0
  491. package/dist/utils/lido-apr.d.ts +2 -0
  492. package/dist/utils/lido-apr.js +8 -0
  493. package/dist/utils/lido-apr.js.map +1 -0
  494. package/dist/utils/logging/console.d.ts +15 -0
  495. package/dist/utils/logging/console.js +36 -0
  496. package/dist/utils/logging/console.js.map +1 -0
  497. package/dist/utils/logging/constants.d.ts +4 -0
  498. package/dist/utils/logging/constants.js +18 -0
  499. package/dist/utils/logging/constants.js.map +1 -0
  500. package/dist/utils/logging/index.d.ts +1 -0
  501. package/dist/utils/logging/index.js +2 -0
  502. package/dist/utils/logging/index.js.map +1 -0
  503. package/dist/utils/prompts/confirmations.d.ts +2 -0
  504. package/dist/utils/prompts/confirmations.js +18 -0
  505. package/dist/utils/prompts/confirmations.js.map +1 -0
  506. package/dist/utils/prompts/dashboard.d.ts +33 -0
  507. package/dist/utils/prompts/dashboard.js +45 -0
  508. package/dist/utils/prompts/dashboard.js.map +1 -0
  509. package/dist/utils/prompts/default.d.ts +4 -0
  510. package/dist/utils/prompts/default.js +20 -0
  511. package/dist/utils/prompts/default.js.map +1 -0
  512. package/dist/utils/prompts/index.d.ts +6 -0
  513. package/dist/utils/prompts/index.js +7 -0
  514. package/dist/utils/prompts/index.js.map +1 -0
  515. package/dist/utils/prompts/operations.d.ts +9 -0
  516. package/dist/utils/prompts/operations.js +45 -0
  517. package/dist/utils/prompts/operations.js.map +1 -0
  518. package/dist/utils/prompts/predeposit-guarantee.d.ts +3 -0
  519. package/dist/utils/prompts/predeposit-guarantee.js +22 -0
  520. package/dist/utils/prompts/predeposit-guarantee.js.map +1 -0
  521. package/dist/utils/prompts/vault.d.ts +2 -0
  522. package/dist/utils/prompts/vault.js +14 -0
  523. package/dist/utils/prompts/vault.js.map +1 -0
  524. package/dist/utils/proof/create-proof.d.ts +11 -0
  525. package/dist/utils/proof/create-proof.js +38 -0
  526. package/dist/utils/proof/create-proof.js.map +1 -0
  527. package/dist/utils/proof/first-validator-gindex.d.ts +1 -0
  528. package/dist/utils/proof/first-validator-gindex.js +32 -0
  529. package/dist/utils/proof/first-validator-gindex.js.map +1 -0
  530. package/dist/utils/proof/index.d.ts +4 -0
  531. package/dist/utils/proof/index.js +5 -0
  532. package/dist/utils/proof/index.js.map +1 -0
  533. package/dist/utils/proof/merkle-utils.d.ts +55 -0
  534. package/dist/utils/proof/merkle-utils.js +173 -0
  535. package/dist/utils/proof/merkle-utils.js.map +1 -0
  536. package/dist/utils/proof/proofs.d.ts +30 -0
  537. package/dist/utils/proof/proofs.js +52 -0
  538. package/dist/utils/proof/proofs.js.map +1 -0
  539. package/dist/utils/proof/report-proof.d.ts +5 -0
  540. package/dist/utils/proof/report-proof.js +26 -0
  541. package/dist/utils/proof/report-proof.js.map +1 -0
  542. package/dist/utils/read-programs-by-abi.d.ts +20 -0
  543. package/dist/utils/read-programs-by-abi.js +91 -0
  544. package/dist/utils/read-programs-by-abi.js.map +1 -0
  545. package/dist/utils/rebase-rewards.d.ts +8 -0
  546. package/dist/utils/rebase-rewards.js +6 -0
  547. package/dist/utils/rebase-rewards.js.map +1 -0
  548. package/dist/utils/report/index.d.ts +3 -0
  549. package/dist/utils/report/index.js +4 -0
  550. package/dist/utils/report/index.js.map +1 -0
  551. package/dist/utils/report/report-statistic.d.ts +52 -0
  552. package/dist/utils/report/report-statistic.js +128 -0
  553. package/dist/utils/report/report-statistic.js.map +1 -0
  554. package/dist/utils/report/report.d.ts +106 -0
  555. package/dist/utils/report/report.js +146 -0
  556. package/dist/utils/report/report.js.map +1 -0
  557. package/dist/utils/report/statistic-data.d.ts +32 -0
  558. package/dist/utils/report/statistic-data.js +29 -0
  559. package/dist/utils/report/statistic-data.js.map +1 -0
  560. package/dist/utils/required-lock.d.ts +5 -0
  561. package/dist/utils/required-lock.js +21 -0
  562. package/dist/utils/required-lock.js.map +1 -0
  563. package/dist/utils/resolve-path.d.ts +1 -0
  564. package/dist/utils/resolve-path.js +10 -0
  565. package/dist/utils/resolve-path.js.map +1 -0
  566. package/dist/utils/share-rate.d.ts +1 -0
  567. package/dist/utils/share-rate.js +16 -0
  568. package/dist/utils/share-rate.js.map +1 -0
  569. package/dist/utils/sleep.d.ts +1 -0
  570. package/dist/utils/sleep.js +4 -0
  571. package/dist/utils/sleep.js.map +1 -0
  572. package/dist/utils/spinner/constants.d.ts +6 -0
  573. package/dist/utils/spinner/constants.js +120 -0
  574. package/dist/utils/spinner/constants.js.map +1 -0
  575. package/dist/utils/spinner/index.d.ts +1 -0
  576. package/dist/utils/spinner/index.js +2 -0
  577. package/dist/utils/spinner/index.js.map +1 -0
  578. package/dist/utils/spinner/spinners.d.ts +7 -0
  579. package/dist/utils/spinner/spinners.js +16 -0
  580. package/dist/utils/spinner/spinners.js.map +1 -0
  581. package/dist/version/index.d.ts +1 -0
  582. package/dist/version/index.js +1 -0
  583. package/dist/version/index.js.map +1 -0
  584. package/package.json +76 -27
  585. package/dist/programs/vault-hub.js +0 -137
  586. package/dist/programs/vault-hub.js.map +0 -1
@@ -0,0 +1,625 @@
1
+ import { parseEther, formatEther } from 'viem';
2
+ import { Option } from 'commander';
3
+ import { getAccount } from '../../providers/index.js';
4
+ import { getDashboardContract, getStakingVaultContract } from '../../contracts/index.js';
5
+ import { callReadMethod, callWriteMethodWithReceipt, jsonToRoleAssignment, confirmOperation, stringToBigInt, mintShares, burnShares, parseDepositArray, logInfo, getCommandsJson, stringToAddress, mintSteth, burnSteth, createPDGProof, confirmProposal, formatBP, callReadMethodSilent, showSpinner, checkIsReportFresh, stringToBigIntArrayWei, stringToHexArray, } from '../../utils/index.js';
6
+ import { dashboard } from './main.js';
7
+ const dashboardWrite = dashboard
8
+ .command('write')
9
+ .alias('w')
10
+ .description('dashboard write commands');
11
+ dashboardWrite.addOption(new Option('-cmd2json'));
12
+ dashboardWrite.on('option:-cmd2json', function () {
13
+ logInfo(getCommandsJson(dashboardWrite));
14
+ process.exit();
15
+ });
16
+ dashboardWrite
17
+ .command('ownership')
18
+ .description('transfers ownership of the staking vault to a new owner')
19
+ .argument('<address>', 'dashboard address', stringToAddress)
20
+ .argument('<newOwner>', 'address of the new owner', stringToAddress)
21
+ .action(async (address, newOwner) => {
22
+ const contract = getDashboardContract(address);
23
+ const vault = await callReadMethod(contract, 'stakingVault');
24
+ const confirm = await confirmOperation(`Are you sure you want to transfer ownership of the staking vault ${vault} to ${newOwner}?`);
25
+ if (!confirm)
26
+ return;
27
+ await callWriteMethodWithReceipt({
28
+ contract,
29
+ methodName: 'transferStakingVaultOwnership',
30
+ payload: [newOwner],
31
+ });
32
+ });
33
+ dashboardWrite
34
+ .command('disconnect')
35
+ .description('disconnects the staking vault from the vault hub')
36
+ .argument('<address>', 'dashboard address', stringToAddress)
37
+ .action(async (address) => {
38
+ const contract = getDashboardContract(address);
39
+ const vault = await callReadMethod(contract, 'stakingVault');
40
+ const confirm = await confirmOperation(`Are you sure you want to disconnect the staking vault ${vault}?`);
41
+ if (!confirm)
42
+ return;
43
+ await callWriteMethodWithReceipt({
44
+ contract,
45
+ methodName: 'voluntaryDisconnect',
46
+ payload: [],
47
+ });
48
+ });
49
+ dashboardWrite
50
+ .command('fund')
51
+ .description('funds the staking vault with ether')
52
+ .argument('<address>', 'dashboard address', stringToAddress)
53
+ .argument('<ether>', 'amount of ether to be funded (in ETH)')
54
+ .action(async (address, ether) => {
55
+ const contract = getDashboardContract(address);
56
+ const vault = await callReadMethod(contract, 'stakingVault');
57
+ const confirm = await confirmOperation(`Are you sure you want to fund the staking vault ${vault} with ${ether} ether?`);
58
+ if (!confirm)
59
+ return;
60
+ await callWriteMethodWithReceipt({
61
+ contract,
62
+ methodName: 'fund',
63
+ payload: [],
64
+ value: parseEther(ether),
65
+ });
66
+ });
67
+ dashboardWrite
68
+ .command('withdraw')
69
+ .description('withdraws ether from the staking vault to a recipient')
70
+ .argument('<address>', 'dashboard address', stringToAddress)
71
+ .argument('<recipient>', 'address of the recipient', stringToAddress)
72
+ .argument('<eth>', 'amount of ether to withdraw (in ETH)')
73
+ .action(async (address, recipient, ether) => {
74
+ const contract = getDashboardContract(address);
75
+ const vault = await callReadMethod(contract, 'stakingVault');
76
+ const confirm = await confirmOperation(`Are you sure you want to withdraw ${ether} from the staking vault ${vault} to ${recipient}?`);
77
+ if (!confirm)
78
+ return;
79
+ const isReportFresh = await checkIsReportFresh(contract);
80
+ if (!isReportFresh)
81
+ return;
82
+ await callWriteMethodWithReceipt({
83
+ contract,
84
+ methodName: 'withdraw',
85
+ payload: [recipient, parseEther(ether)],
86
+ });
87
+ });
88
+ dashboardWrite
89
+ .command('lock')
90
+ .description('updates the locked amount of the staking vault')
91
+ .argument('<address>', 'dashboard address', stringToAddress)
92
+ .argument('<lockedAmount>', 'amount of ether to lock')
93
+ .action(async (address, lockedAmount) => {
94
+ const contract = getDashboardContract(address);
95
+ const vault = await callReadMethod(contract, 'stakingVault');
96
+ const confirm = await confirmOperation(`Are you sure you want to update the locked amount of the staking vault ${vault} to ${lockedAmount}?`);
97
+ if (!confirm)
98
+ return;
99
+ await callWriteMethodWithReceipt({
100
+ contract,
101
+ methodName: 'lock',
102
+ payload: [parseEther(lockedAmount)],
103
+ });
104
+ });
105
+ dashboardWrite
106
+ .command('exit')
107
+ .description('requests the exit of a validator from the staking vault')
108
+ .argument('<address>', 'dashboard address', stringToAddress)
109
+ .argument('<validatorPubKey>', 'public key of the validator to exit')
110
+ .action(async (address, validatorPubKey) => {
111
+ const contract = getDashboardContract(address);
112
+ const vault = await callReadMethod(contract, 'stakingVault');
113
+ const confirm = await confirmOperation(`Are you sure you want to exit the validator ${validatorPubKey} from the staking vault ${vault}?`);
114
+ if (!confirm)
115
+ return;
116
+ await callWriteMethodWithReceipt({
117
+ contract,
118
+ methodName: 'requestValidatorExit',
119
+ payload: [validatorPubKey],
120
+ });
121
+ });
122
+ dashboardWrite
123
+ .command('trigger-validator-withdrawal')
124
+ .description('triggers the withdrawal of a validator from the staking vault')
125
+ .argument('<address>', 'dashboard address', stringToAddress)
126
+ .argument('<pubkeys>', 'pubkeys of the validators to withdraw. Comma separated list of pubkeys', stringToHexArray)
127
+ .argument('<amounts>', 'amounts of ether to withdraw. Comma separated list of amounts', stringToBigIntArrayWei)
128
+ .argument('<recipient>', 'address of the recipient', stringToAddress)
129
+ .action(async (address, pubkeys, amounts, recipient) => {
130
+ const mergedPubkeys = pubkeys.join('');
131
+ const contract = getDashboardContract(address);
132
+ const vault = await callReadMethod(contract, 'stakingVault');
133
+ const vaultContract = getStakingVaultContract(vault);
134
+ const fee = await callReadMethod(vaultContract, 'calculateValidatorWithdrawalFee', [BigInt(amounts.length)]);
135
+ const confirmationMessage = `Are you sure you want to trigger the withdrawal of the validators
136
+ ${pubkeys.join(', ')}
137
+ from the staking vault ${vault} to ${recipient}
138
+ with amounts ${amounts.map((amount) => formatEther(amount)).join(', ')} ETH?`;
139
+ const confirm = await confirmOperation(confirmationMessage);
140
+ if (!confirm)
141
+ return;
142
+ await callWriteMethodWithReceipt({
143
+ contract,
144
+ methodName: 'triggerValidatorWithdrawal',
145
+ payload: [mergedPubkeys, amounts.map(BigInt), recipient],
146
+ value: fee,
147
+ });
148
+ });
149
+ dashboardWrite
150
+ .command('mint-shares')
151
+ .alias('mint')
152
+ .description('mints stETH tokens backed by the vault to a recipient')
153
+ .argument('<address>', 'dashboard address', stringToAddress)
154
+ .argument('<recipient>', 'address of the recipient', stringToAddress)
155
+ .argument('<amountOfShares>', 'amount of shares to mint (in Shares)')
156
+ .action(async (address, recipient, amountOfShares) => {
157
+ const contract = getDashboardContract(address);
158
+ await mintShares(contract, recipient, parseEther(amountOfShares), 'mintShares');
159
+ });
160
+ dashboardWrite
161
+ .command('mint-steth')
162
+ .description('mints stETH tokens backed by the vault to a recipient')
163
+ .argument('<address>', 'dashboard address', stringToAddress)
164
+ .argument('<recipient>', 'address of the recipient', stringToAddress)
165
+ .argument('<amountOfSteth>', 'amount of stETH to mint')
166
+ .action(async (address, recipient, amountOfSteth) => {
167
+ const contract = getDashboardContract(address);
168
+ await mintSteth(contract, recipient, parseEther(amountOfSteth));
169
+ });
170
+ dashboardWrite
171
+ .command('mint-wsteth')
172
+ .description('mints wstETH tokens backed by the vault to a recipient')
173
+ .argument('<address>', 'dashboard address', stringToAddress)
174
+ .argument('<recipient>', 'address of the recipient', stringToAddress)
175
+ .argument('<amountOfWsteth>', 'amount of wstETH to mint')
176
+ .action(async (address, recipient, amountOfWsteth) => {
177
+ const contract = getDashboardContract(address);
178
+ await mintShares(contract, recipient, parseEther(amountOfWsteth), 'mintWstETH');
179
+ });
180
+ dashboardWrite
181
+ .command('burn-shares')
182
+ .alias('burn')
183
+ .description('Burns stETH shares from the sender backed by the vault. Expects corresponding amount of stETH approved to this contract')
184
+ .argument('<address>', 'dashboard address', stringToAddress)
185
+ .argument('<amountOfShares>', 'amount of shares to burn (in Shares)')
186
+ .action(async (address, amountOfShares) => {
187
+ const contract = getDashboardContract(address);
188
+ await burnShares(contract, parseEther(amountOfShares), 'burnShares');
189
+ });
190
+ dashboardWrite
191
+ .command('burn-steth')
192
+ .description('Burns stETH shares from the sender backed by the vault. Expects stETH amount approved to this contract.')
193
+ .argument('<address>', 'dashboard address', stringToAddress)
194
+ .argument('<amountOfShares>', 'amount of shares to burn (in stETH)')
195
+ .action(async (address, amountOfShares) => {
196
+ const contract = getDashboardContract(address);
197
+ await burnSteth(contract, parseEther(amountOfShares));
198
+ });
199
+ dashboardWrite
200
+ .command('burn-wsteth')
201
+ .description('burn wstETH tokens from the sender backed by the vault')
202
+ .argument('<address>', 'dashboard address', stringToAddress)
203
+ .argument('<tokens>', 'amount of wstETH tokens to burn (in wstETH)')
204
+ .action(async (address, tokens) => {
205
+ const contract = getDashboardContract(address);
206
+ await burnShares(contract, parseEther(tokens), 'burnWstETH');
207
+ });
208
+ dashboardWrite
209
+ .command('rebalance')
210
+ .description('rebalance the vault by transferring ether')
211
+ .argument('<address>', 'dashboard address', stringToAddress)
212
+ .argument('<ether>', 'amount of ether to rebalance (in ETH)')
213
+ .action(async (address, ether) => {
214
+ const contract = getDashboardContract(address);
215
+ const vault = await callReadMethod(contract, 'stakingVault');
216
+ const confirm = await confirmOperation(`Are you sure you want to rebalance the vault ${vault} with ${ether} ether?`);
217
+ if (!confirm)
218
+ return;
219
+ await callWriteMethodWithReceipt({
220
+ contract,
221
+ methodName: 'rebalanceVault',
222
+ payload: [parseEther(ether)],
223
+ });
224
+ });
225
+ dashboardWrite
226
+ .command('recover-erc20')
227
+ .description('recovers ERC20 tokens or ether from the dashboard contract to sender')
228
+ .argument('<address>', 'dashboard address', stringToAddress)
229
+ .argument('<token>', 'Address of the token to recover or 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee for ether')
230
+ .argument('<recipient>', 'Address of the recovery recipient', stringToAddress)
231
+ .argument('<amount>', 'amount of ether to recover (in ETH)')
232
+ .action(async (address, token, recipient, amount) => {
233
+ const contract = getDashboardContract(address);
234
+ const confirm = await confirmOperation(`Are you sure you want to recover ${amount} ${token} from the dashboard contract ${address} to ${recipient}?`);
235
+ if (!confirm)
236
+ return;
237
+ await callWriteMethodWithReceipt({
238
+ contract,
239
+ methodName: 'recoverERC20',
240
+ payload: [token, recipient, parseEther(amount)],
241
+ });
242
+ });
243
+ dashboardWrite
244
+ .command('recover-erc721')
245
+ .description('Transfers a given token_id of an ERC721-compatible NFT (defined by the token contract address)')
246
+ .argument('<address>', 'dashboard address', stringToAddress)
247
+ .argument('<token>', 'an ERC721-compatible token')
248
+ .argument('<tokenId>', 'token id to recover')
249
+ .argument('<recipient>', 'Address of the recovery recipient', stringToAddress)
250
+ .action(async (address, token, tokenId, recipient) => {
251
+ const contract = getDashboardContract(address);
252
+ const confirm = await confirmOperation(`Are you sure you want to recover the token ${token} with id ${tokenId} from the dashboard contract ${address} to ${recipient}?`);
253
+ if (!confirm)
254
+ return;
255
+ await callWriteMethodWithReceipt({
256
+ contract,
257
+ methodName: 'recoverERC721',
258
+ payload: [token, BigInt(tokenId), recipient],
259
+ });
260
+ });
261
+ dashboardWrite
262
+ .command('deposit-pause')
263
+ .description('Pauses beacon chain deposits on the staking vault.')
264
+ .argument('<address>', 'dashboard address', stringToAddress)
265
+ .action(async (address) => {
266
+ const contract = getDashboardContract(address);
267
+ const vault = await callReadMethod(contract, 'stakingVault');
268
+ const confirm = await confirmOperation(`Are you sure you want to pause beacon chain deposits on the staking vault ${vault}?`);
269
+ if (!confirm)
270
+ return;
271
+ await callWriteMethodWithReceipt({
272
+ contract,
273
+ methodName: 'pauseBeaconChainDeposits',
274
+ payload: [],
275
+ });
276
+ });
277
+ dashboardWrite
278
+ .command('deposit-resume')
279
+ .description('Mass-grants multiple roles to multiple accounts.')
280
+ .argument('<address>', 'dashboard address', stringToAddress)
281
+ .action(async (address) => {
282
+ const contract = getDashboardContract(address);
283
+ const vault = await callReadMethod(contract, 'stakingVault');
284
+ const confirm = await confirmOperation(`Are you sure you want to resume beacon chain deposits on the staking vault ${vault}?`);
285
+ if (!confirm)
286
+ return;
287
+ await callWriteMethodWithReceipt({
288
+ contract,
289
+ methodName: 'resumeBeaconChainDeposits',
290
+ payload: [],
291
+ });
292
+ });
293
+ dashboardWrite
294
+ .command('role-grant')
295
+ .description('Mass-revokes multiple roles from multiple accounts.')
296
+ .argument('<address>', 'dashboard address', stringToAddress)
297
+ .argument('<roleAssignmentJSON>', 'JSON array of role assignments', jsonToRoleAssignment)
298
+ .addHelpText('after', `Role assignment format:
299
+ [{
300
+ "account": "...",
301
+ "role": "..."
302
+ }
303
+ {second role assignment}
304
+ ...]`)
305
+ .action(async (address, roleAssignment) => {
306
+ const contract = getDashboardContract(address);
307
+ if (!Array.isArray(roleAssignment)) {
308
+ throw new Error('the 2nd argument should be an array of role assignments');
309
+ }
310
+ const vault = await callReadMethod(contract, 'stakingVault');
311
+ const confirm = await confirmOperation(`Are you sure you want to grant the roles ${roleAssignment.map((i) => JSON.stringify(i))} in the vault ${vault}?`);
312
+ if (!confirm)
313
+ return;
314
+ await callWriteMethodWithReceipt({
315
+ contract,
316
+ methodName: 'grantRoles',
317
+ payload: [roleAssignment],
318
+ });
319
+ });
320
+ dashboardWrite
321
+ .command('role-revoke')
322
+ .description('Resumes beacon chain deposits on the staking vault.')
323
+ .argument('<address>', 'dashboard address', stringToAddress)
324
+ .argument('<roleAssignmentJSON>', 'JSON array of role assignments', jsonToRoleAssignment)
325
+ .addHelpText('after', `Role assignment format:
326
+ [{
327
+ "account": "...",
328
+ "role": "..."
329
+ }
330
+ {second role assignment}
331
+ ...]`)
332
+ .action(async (address, roleAssignment) => {
333
+ const contract = getDashboardContract(address);
334
+ if (!Array.isArray(roleAssignment)) {
335
+ throw new Error('the 2nd argument should be an array of role assignments');
336
+ }
337
+ const vault = await callReadMethod(contract, 'stakingVault');
338
+ const confirm = await confirmOperation(`Are you sure you want to revoke the roles ${roleAssignment.map((i) => JSON.stringify(i))} in the vault ${vault}?`);
339
+ if (!confirm)
340
+ return;
341
+ await callWriteMethodWithReceipt({
342
+ contract,
343
+ methodName: 'revokeRoles',
344
+ payload: [roleAssignment],
345
+ });
346
+ });
347
+ dashboardWrite
348
+ .command('compensate-disproven-predeposit')
349
+ .alias('compensate')
350
+ .description('Compensates ether of disproven validator`s predeposit from PDG to the recipient')
351
+ .argument('<address>', 'dashboard address', stringToAddress)
352
+ .argument('<pubkey>', 'validator that was proven invalid in PDG')
353
+ .argument('<recipient>', 'address to receive the `PDG.PREDEPOSIT_AMOUNT`', stringToAddress)
354
+ .action(async (address, pubkey, recipient) => {
355
+ const contract = getDashboardContract(address);
356
+ const confirm = await confirmOperation(`Are you sure you want to compensate the disproven predeposit from the Predeposit Guarantee contract ${contract} with validator public key ${pubkey} to ${recipient}?`);
357
+ if (!confirm)
358
+ return;
359
+ await callWriteMethodWithReceipt({
360
+ contract,
361
+ methodName: 'compensateDisprovenPredepositFromPDG',
362
+ payload: [pubkey, recipient],
363
+ });
364
+ });
365
+ dashboardWrite
366
+ .command('unguaranteed-deposit-to-beacon-chain')
367
+ .alias('unguaranteed-deposit')
368
+ .description('Withdraws ether from vault and deposits directly to provided validators bypassing the default PDG process')
369
+ .argument('<address>', 'dashboard address', stringToAddress)
370
+ .argument('<deposits>', 'array of IStakingVault.Deposit structs containing deposit data', parseDepositArray)
371
+ .addHelpText('after', `Deposit format:
372
+ '[{
373
+ "pubkey": "...",
374
+ "signature": "...",
375
+ "amount": "...",
376
+ "deposit_data_root": "..."
377
+ }
378
+ {second deposit}
379
+ ...]'`)
380
+ .action(async (address, deposits) => {
381
+ const contract = getDashboardContract(address);
382
+ const vault = await callReadMethod(contract, 'stakingVault');
383
+ const confirm = await confirmOperation(`Are you sure you want to unguaranteed deposit ${deposits.length} deposits to the beacon chain in the staking vault ${vault}?
384
+ Pubkeys: ${deposits.map((i) => i.pubkey).join(', ')}`);
385
+ if (!confirm)
386
+ return;
387
+ await callWriteMethodWithReceipt({
388
+ contract,
389
+ methodName: 'unguaranteedDepositToBeaconChain',
390
+ payload: [deposits],
391
+ });
392
+ });
393
+ dashboardWrite
394
+ .command('prove-unknown-validators-to-pdg')
395
+ .alias('prove-unknown-validators')
396
+ .description('Proves validators with correct vault WC if they are unknown to PDG')
397
+ .argument('<address>', 'dashboard address', stringToAddress)
398
+ .argument('<validatorIndex...>', 'index of the validator to prove')
399
+ .action(async (address, validatorIndexes) => {
400
+ const account = getAccount();
401
+ const contract = getDashboardContract(address);
402
+ const vault = await callReadMethod(contract, 'stakingVault');
403
+ const vaultContract = getStakingVaultContract(vault);
404
+ const pdgContract = await callReadMethodSilent(vaultContract, 'depositor');
405
+ for (const validatorIndex of validatorIndexes) {
406
+ const hideSpinner = showSpinner({
407
+ type: 'bouncingBar',
408
+ message: `Making proof for validator ${validatorIndex}...`,
409
+ });
410
+ const packageProof = await createPDGProof(Number(validatorIndex));
411
+ const { proof, pubkey, childBlockTimestamp } = packageProof;
412
+ hideSpinner();
413
+ const confirm = await confirmOperation(`Are you sure you want to prove ${pubkey} validator (${validatorIndex}) to the Predeposit Guarantee contract ${pdgContract} in the staking vault ${vault}?
414
+ Witnesses length: ${proof.length}`);
415
+ if (!confirm)
416
+ return;
417
+ const PDG_PROVE_VALIDATOR_ROLE = await callReadMethodSilent(contract, 'PDG_PROVE_VALIDATOR_ROLE');
418
+ const hasRole = await callReadMethodSilent(contract, 'hasRole', [
419
+ PDG_PROVE_VALIDATOR_ROLE,
420
+ account.address,
421
+ ]);
422
+ if (!hasRole) {
423
+ throw new Error(`You do not have role (PDG_PROVE_VALIDATOR_ROLE - ${PDG_PROVE_VALIDATOR_ROLE}) to prove validators to PDG`);
424
+ }
425
+ await callWriteMethodWithReceipt({
426
+ contract,
427
+ methodName: 'proveUnknownValidatorsToPDG',
428
+ payload: [
429
+ [
430
+ {
431
+ proof,
432
+ pubkey,
433
+ validatorIndex: BigInt(validatorIndex),
434
+ childBlockTimestamp,
435
+ },
436
+ ],
437
+ ],
438
+ });
439
+ }
440
+ });
441
+ dashboardWrite
442
+ .command('authorize-lido-vault-hub')
443
+ .alias('authorize-hub')
444
+ .description('Authorizes the Lido Vault Hub to manage the staking vault.')
445
+ .argument('<address>', 'dashboard address', stringToAddress)
446
+ .action(async (address) => {
447
+ const contract = getDashboardContract(address);
448
+ const vault = await callReadMethod(contract, 'stakingVault');
449
+ const confirm = await confirmOperation(`Are you sure you want to authorize the Lido Vault Hub to manage the staking vault ${vault}?`);
450
+ if (!confirm)
451
+ return;
452
+ await callWriteMethodWithReceipt({
453
+ contract,
454
+ methodName: 'authorizeLidoVaultHub',
455
+ payload: [],
456
+ });
457
+ });
458
+ dashboardWrite
459
+ .command('deauthorize-lido-vault-hub')
460
+ .alias('deauthorize-hub')
461
+ .description('Deauthorizes the Lido Vault Hub from managing the staking vault.')
462
+ .argument('<address>', 'dashboard address', stringToAddress)
463
+ .action(async (address) => {
464
+ const contract = getDashboardContract(address);
465
+ const vault = await callReadMethod(contract, 'stakingVault');
466
+ const confirm = await confirmOperation(`Are you sure you want to deauthorize the Lido Vault Hub from managing the staking vault ${vault}?`);
467
+ if (!confirm)
468
+ return;
469
+ await callWriteMethodWithReceipt({
470
+ contract,
471
+ methodName: 'deauthorizeLidoVaultHub',
472
+ payload: [],
473
+ });
474
+ });
475
+ dashboardWrite
476
+ .command('ossify-staking-vault')
477
+ .alias('ossify')
478
+ .description('Ossifies the staking vault.')
479
+ .argument('<address>', 'dashboard address', stringToAddress)
480
+ .action(async (address) => {
481
+ const contract = getDashboardContract(address);
482
+ const vault = await callReadMethod(contract, 'stakingVault');
483
+ const confirm = await confirmOperation(`Are you sure you want to ossify the staking vault ${vault}?`);
484
+ if (!confirm)
485
+ return;
486
+ await callWriteMethodWithReceipt({
487
+ contract,
488
+ methodName: 'ossifyStakingVault',
489
+ payload: [],
490
+ });
491
+ });
492
+ dashboardWrite
493
+ .command('set-depositor')
494
+ .description('Updates the address of the depositor for the staking vault.')
495
+ .argument('<address>', 'dashboard address', stringToAddress)
496
+ .argument('<depositor>', 'address of the new depositor')
497
+ .action(async (address, depositor) => {
498
+ const contract = getDashboardContract(address);
499
+ const vault = await callReadMethod(contract, 'stakingVault');
500
+ const confirm = await confirmOperation(`Are you sure you want to set the depositor of the staking vault ${vault} to ${depositor}?`);
501
+ if (!confirm)
502
+ return;
503
+ await callWriteMethodWithReceipt({
504
+ contract,
505
+ methodName: 'setDepositor',
506
+ payload: [depositor],
507
+ });
508
+ });
509
+ dashboardWrite
510
+ .command('reset-locked')
511
+ .description('Zeroes the locked amount of the staking vault.')
512
+ .argument('<address>', 'dashboard address', stringToAddress)
513
+ .action(async (address) => {
514
+ const contract = getDashboardContract(address);
515
+ const vault = await callReadMethod(contract, 'stakingVault');
516
+ const confirm = await confirmOperation(`Are you sure you want to reset the locked amount of the staking vault ${vault}?`);
517
+ if (!confirm)
518
+ return;
519
+ await callWriteMethodWithReceipt({
520
+ contract,
521
+ methodName: 'resetLocked',
522
+ payload: [],
523
+ });
524
+ });
525
+ dashboardWrite
526
+ .command('request-tier-change')
527
+ .description('Requests a change of tier on the OperatorGrid.')
528
+ .argument('<address>', 'dashboard address', stringToAddress)
529
+ .argument('<tier>', 'tier to change to', stringToBigInt)
530
+ .action(async (address, tier) => {
531
+ const contract = getDashboardContract(address);
532
+ const vault = await callReadMethod(contract, 'stakingVault');
533
+ const confirm = await confirmOperation(`Are you sure you want to request a change of tier on the OperatorGrid for the staking vault ${vault} to ${tier}?`);
534
+ if (!confirm)
535
+ return;
536
+ await callWriteMethodWithReceipt({
537
+ contract,
538
+ methodName: 'requestTierChange',
539
+ payload: [tier],
540
+ });
541
+ });
542
+ dashboardWrite
543
+ .command('increase-accrued-rewards-adjustment')
544
+ .description('Increases the accrued rewards adjustment.')
545
+ .argument('<address>', 'dashboard address', stringToAddress)
546
+ .argument('<amount>', 'amount to increase the accrued rewards adjustment by (in ETH)')
547
+ .action(async (address, amount) => {
548
+ const contract = getDashboardContract(address);
549
+ const confirm = await confirmOperation(`Are you sure you want to increase the accrued rewards adjustment by ${amount} ETH?`);
550
+ if (!confirm)
551
+ return;
552
+ await callWriteMethodWithReceipt({
553
+ contract,
554
+ methodName: 'increaseAccruedRewardsAdjustment',
555
+ payload: [parseEther(amount)],
556
+ });
557
+ });
558
+ dashboardWrite
559
+ .command('set-accrued-rewards-adjustment')
560
+ .description('Sets the accrued rewards adjustment.')
561
+ .argument('<address>', 'dashboard address', stringToAddress)
562
+ .argument('<amount>', 'amount to set the accrued rewards adjustment to (in ETH)')
563
+ .action(async (address, amount) => {
564
+ const contract = getDashboardContract(address);
565
+ const currentAdjustment = await callReadMethod(contract, 'accruedRewardsAdjustment');
566
+ const confirm = await confirmOperation(`Are you sure you want to set the accrued rewards adjustment to ${amount}?
567
+ Current adjustment: ${formatEther(currentAdjustment)} ETH`);
568
+ if (!confirm)
569
+ return;
570
+ await callWriteMethodWithReceipt({
571
+ contract,
572
+ methodName: 'setAccruedRewardsAdjustment',
573
+ payload: [parseEther(amount), currentAdjustment],
574
+ });
575
+ });
576
+ dashboardWrite
577
+ .command('confirm-proposal')
578
+ .description('Confirms a proposal')
579
+ .argument('<address>', 'dashboard address', stringToAddress)
580
+ .action(async (address) => {
581
+ const contract = getDashboardContract(address);
582
+ const log = await confirmProposal(address);
583
+ if (!log)
584
+ return;
585
+ await callWriteMethodWithReceipt({
586
+ contract,
587
+ methodName: log.decodedData.functionName,
588
+ payload: log.decodedData.args,
589
+ });
590
+ });
591
+ dashboardWrite
592
+ .command('set-confirm-expiry')
593
+ .description('Sets the confirm expiry')
594
+ .argument('<address>', 'dashboard address', stringToAddress)
595
+ .argument('<expiry>', 'expiry in seconds', stringToBigInt)
596
+ .action(async (address, expiry) => {
597
+ const contract = getDashboardContract(address);
598
+ const hours = Number(expiry) / 3600;
599
+ const confirm = await confirmOperation(`Are you sure you want to set the confirm expiry to ${expiry} seconds (${hours} hours)?`);
600
+ if (!confirm)
601
+ return;
602
+ await callWriteMethodWithReceipt({
603
+ contract,
604
+ methodName: 'setConfirmExpiry',
605
+ payload: [expiry],
606
+ });
607
+ });
608
+ dashboardWrite
609
+ .command('set-node-operator-fee')
610
+ .description('Sets the node operator fee')
611
+ .argument('<address>', 'dashboard address', stringToAddress)
612
+ .argument('<fee>', 'the new node operator fee in basis points', stringToBigInt)
613
+ .action(async (address, fee) => {
614
+ const contract = getDashboardContract(address);
615
+ const percentage = formatBP(fee);
616
+ const confirm = await confirmOperation(`Are you sure you want to set the node operator fee ${fee} in basis points (${percentage})?`);
617
+ if (!confirm)
618
+ return;
619
+ await callWriteMethodWithReceipt({
620
+ contract,
621
+ methodName: 'setNodeOperatorFeeBP',
622
+ payload: [fee],
623
+ });
624
+ });
625
+ //# sourceMappingURL=write.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["../../../programs/dashboard/write.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { ReadProgramCommandConfig } from '../../utils/index.js';
2
+ export declare const readCommandConfig: ReadProgramCommandConfig;