@lidofinance/lsv-cli 1.0.0-alpha.9 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (884) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +49 -232
  3. package/dist/abi/AccessControlConfirmable.d.ts +332 -0
  4. package/dist/abi/AccessControlConfirmable.js +432 -0
  5. package/dist/abi/AccessControlConfirmable.js.map +1 -0
  6. package/dist/abi/Dashboard.d.ts +2579 -0
  7. package/dist/abi/Dashboard.js +1707 -970
  8. package/dist/abi/Dashboard.js.map +1 -1
  9. package/dist/abi/LazyOracle.d.ts +884 -0
  10. package/dist/abi/LazyOracle.js +1145 -0
  11. package/dist/abi/LazyOracle.js.map +1 -0
  12. package/dist/abi/LidoLocator.d.ts +386 -0
  13. package/dist/abi/LidoLocator.js +383 -273
  14. package/dist/abi/LidoLocator.js.map +1 -1
  15. package/dist/abi/OperatorGrid.d.ts +2001 -0
  16. package/dist/abi/OperatorGrid.js +1574 -0
  17. package/dist/abi/OperatorGrid.js.map +1 -0
  18. package/dist/abi/PredepositGuarantee.d.ts +1738 -0
  19. package/dist/abi/PredepositGuarantee.js +2004 -0
  20. package/dist/abi/PredepositGuarantee.js.map +1 -0
  21. package/dist/abi/StEth.d.ts +372 -0
  22. package/dist/abi/StEth.js +342 -345
  23. package/dist/abi/StEth.js.map +1 -1
  24. package/dist/abi/StakingVault.d.ts +957 -0
  25. package/dist/abi/StakingVault.js +714 -547
  26. package/dist/abi/StakingVault.js.map +1 -1
  27. package/dist/abi/VaultFactory.d.ts +1175 -0
  28. package/dist/abi/VaultFactory.js +252 -171
  29. package/dist/abi/VaultFactory.js.map +1 -1
  30. package/dist/abi/VaultHub.d.ts +2576 -0
  31. package/dist/abi/VaultHub.js +2242 -848
  32. package/dist/abi/VaultHub.js.map +1 -1
  33. package/dist/abi/VaultViewer.d.ts +597 -0
  34. package/dist/abi/VaultViewer.js +778 -0
  35. package/dist/abi/VaultViewer.js.map +1 -0
  36. package/dist/abi/WstEth.d.ts +362 -0
  37. package/dist/abi/WstEth.js +478 -0
  38. package/dist/abi/WstEth.js.map +1 -0
  39. package/dist/abi/defi-wrapper/Distributor.d.ts +448 -0
  40. package/dist/abi/defi-wrapper/Distributor.js +583 -0
  41. package/dist/abi/defi-wrapper/Distributor.js.map +1 -0
  42. package/dist/abi/defi-wrapper/Factory.d.ts +761 -0
  43. package/dist/abi/defi-wrapper/Factory.js +975 -0
  44. package/dist/abi/defi-wrapper/Factory.js.map +1 -0
  45. package/dist/abi/defi-wrapper/StvPool.d.ts +1283 -0
  46. package/dist/abi/defi-wrapper/StvPool.js +1680 -0
  47. package/dist/abi/defi-wrapper/StvPool.js.map +1 -0
  48. package/dist/abi/defi-wrapper/StvStETHPool.d.ts +1755 -0
  49. package/dist/abi/defi-wrapper/StvStETHPool.js +2301 -0
  50. package/dist/abi/defi-wrapper/StvStETHPool.js.map +1 -0
  51. package/dist/abi/defi-wrapper/StvStrategyPool.d.ts +1769 -0
  52. package/dist/abi/defi-wrapper/StvStrategyPool.js +2319 -0
  53. package/dist/abi/defi-wrapper/StvStrategyPool.js.map +1 -0
  54. package/dist/abi/defi-wrapper/WithdrawalQueue.d.ts +1131 -0
  55. package/dist/abi/defi-wrapper/WithdrawalQueue.js +1472 -0
  56. package/dist/abi/defi-wrapper/WithdrawalQueue.js.map +1 -0
  57. package/dist/abi/defi-wrapper/index.d.ts +6 -0
  58. package/dist/abi/defi-wrapper/index.js +7 -0
  59. package/dist/abi/defi-wrapper/index.js.map +1 -0
  60. package/dist/abi/index.d.ts +12 -0
  61. package/dist/abi/index.js +12 -25
  62. package/dist/abi/index.js.map +1 -1
  63. package/dist/command/index.d.ts +2 -0
  64. package/dist/command/index.js +9 -21
  65. package/dist/command/index.js.map +1 -1
  66. package/dist/configs/constants.d.ts +35 -0
  67. package/dist/configs/constants.js +2 -5
  68. package/dist/configs/constants.js.map +1 -1
  69. package/dist/configs/deployed.d.ts +17 -0
  70. package/dist/configs/deployed.js +67 -126
  71. package/dist/configs/deployed.js.map +1 -1
  72. package/dist/configs/envs.d.ts +2 -0
  73. package/dist/configs/envs.js +13 -45
  74. package/dist/configs/envs.js.map +1 -1
  75. package/dist/configs/index.d.ts +3 -0
  76. package/dist/configs/index.js +3 -19
  77. package/dist/configs/index.js.map +1 -1
  78. package/dist/configs/utils.d.ts +5 -0
  79. package/dist/configs/utils.js +17 -23
  80. package/dist/configs/utils.js.map +1 -1
  81. package/dist/contracts/dashboard-impl.d.ts +4 -0
  82. package/dist/contracts/dashboard-impl.js +16 -0
  83. package/dist/contracts/dashboard-impl.js.map +1 -0
  84. package/dist/contracts/dashboard.d.ts +4 -0
  85. package/dist/contracts/dashboard.js +7 -15
  86. package/dist/contracts/dashboard.js.map +1 -1
  87. package/dist/contracts/defi-wrapper/distributor.d.ts +4 -0
  88. package/dist/contracts/defi-wrapper/distributor.js +11 -0
  89. package/dist/contracts/defi-wrapper/distributor.js.map +1 -0
  90. package/dist/contracts/defi-wrapper/factory.d.ts +4 -0
  91. package/dist/contracts/defi-wrapper/factory.js +11 -0
  92. package/dist/contracts/defi-wrapper/factory.js.map +1 -0
  93. package/dist/contracts/defi-wrapper/index.d.ts +6 -0
  94. package/dist/contracts/defi-wrapper/index.js +7 -0
  95. package/dist/contracts/defi-wrapper/index.js.map +1 -0
  96. package/dist/contracts/defi-wrapper/stv-pool.d.ts +4 -0
  97. package/dist/contracts/defi-wrapper/stv-pool.js +11 -0
  98. package/dist/contracts/defi-wrapper/stv-pool.js.map +1 -0
  99. package/dist/contracts/defi-wrapper/stv-steth-pool.d.ts +4 -0
  100. package/dist/contracts/defi-wrapper/stv-steth-pool.js +11 -0
  101. package/dist/contracts/defi-wrapper/stv-steth-pool.js.map +1 -0
  102. package/dist/contracts/defi-wrapper/stv-strategy-pool.d.ts +4 -0
  103. package/dist/contracts/defi-wrapper/stv-strategy-pool.js +11 -0
  104. package/dist/contracts/defi-wrapper/stv-strategy-pool.js.map +1 -0
  105. package/dist/contracts/defi-wrapper/withdrawal-queue.d.ts +4 -0
  106. package/dist/contracts/defi-wrapper/withdrawal-queue.js +11 -0
  107. package/dist/contracts/defi-wrapper/withdrawal-queue.js.map +1 -0
  108. package/dist/contracts/index.d.ts +12 -0
  109. package/dist/contracts/index.js +12 -25
  110. package/dist/contracts/index.js.map +1 -1
  111. package/dist/contracts/lazy-oracle.d.ts +3 -0
  112. package/dist/contracts/lazy-oracle.js +18 -0
  113. package/dist/contracts/lazy-oracle.js.map +1 -0
  114. package/dist/contracts/locator.d.ts +9655 -0
  115. package/dist/contracts/locator.js +11 -15
  116. package/dist/contracts/locator.js.map +1 -1
  117. package/dist/contracts/operator-grid.d.ts +4 -0
  118. package/dist/contracts/operator-grid.js +17 -0
  119. package/dist/contracts/operator-grid.js.map +1 -0
  120. package/dist/contracts/pdg.d.ts +4 -0
  121. package/dist/contracts/pdg.js +17 -0
  122. package/dist/contracts/pdg.js.map +1 -0
  123. package/dist/contracts/steth.d.ts +27706 -0
  124. package/dist/contracts/steth.js +14 -15
  125. package/dist/contracts/steth.js.map +1 -1
  126. package/dist/contracts/vault-factory.d.ts +28346 -0
  127. package/dist/contracts/vault-factory.js +11 -19
  128. package/dist/contracts/vault-factory.js.map +1 -1
  129. package/dist/contracts/vault-hub.d.ts +3 -0
  130. package/dist/contracts/vault-hub.js +13 -17
  131. package/dist/contracts/vault-hub.js.map +1 -1
  132. package/dist/contracts/vault-viewer.d.ts +9661 -0
  133. package/dist/contracts/vault-viewer.js +23 -0
  134. package/dist/contracts/vault-viewer.js.map +1 -0
  135. package/dist/contracts/vault.d.ts +4 -0
  136. package/dist/contracts/vault.js +7 -14
  137. package/dist/contracts/vault.js.map +1 -1
  138. package/dist/contracts/wsteth.d.ts +24690 -0
  139. package/dist/contracts/wsteth.js +18 -0
  140. package/dist/contracts/wsteth.js.map +1 -0
  141. package/dist/features/dashboard.d.ts +5 -0
  142. package/dist/features/dashboard.js +14 -0
  143. package/dist/features/dashboard.js.map +1 -0
  144. package/dist/features/defi-wrapper-factory.d.ts +18 -0
  145. package/dist/features/defi-wrapper-factory.js +28 -0
  146. package/dist/features/defi-wrapper-factory.js.map +1 -0
  147. package/dist/features/deposits/check-bls-deposits.d.ts +4 -0
  148. package/dist/features/deposits/check-bls-deposits.js +24 -0
  149. package/dist/features/deposits/check-bls-deposits.js.map +1 -0
  150. package/dist/features/deposits/index.d.ts +3 -0
  151. package/dist/features/deposits/index.js +4 -0
  152. package/dist/features/deposits/index.js.map +1 -0
  153. package/dist/features/deposits/make-pdg-proof.d.ts +11 -0
  154. package/dist/features/deposits/make-pdg-proof.js +68 -0
  155. package/dist/features/deposits/make-pdg-proof.js.map +1 -0
  156. package/dist/features/deposits/no-pdg.d.ts +22 -0
  157. package/dist/features/deposits/no-pdg.js +103 -0
  158. package/dist/features/deposits/no-pdg.js.map +1 -0
  159. package/dist/features/index.d.ts +12 -0
  160. package/dist/features/index.js +12 -19
  161. package/dist/features/index.js.map +1 -1
  162. package/dist/features/lazy-oracle.d.ts +1 -0
  163. package/dist/features/lazy-oracle.js +42 -0
  164. package/dist/features/lazy-oracle.js.map +1 -0
  165. package/dist/features/mint-burn/allowance.d.ts +2 -0
  166. package/dist/features/mint-burn/allowance.js +49 -0
  167. package/dist/features/mint-burn/allowance.js.map +1 -0
  168. package/dist/features/mint-burn/burn-shares.d.ts +3 -0
  169. package/dist/features/mint-burn/burn-shares.js +33 -0
  170. package/dist/features/mint-burn/burn-shares.js.map +1 -0
  171. package/dist/features/mint-burn/burn-steth.d.ts +3 -0
  172. package/dist/features/mint-burn/burn-steth.js +35 -0
  173. package/dist/features/mint-burn/burn-steth.js.map +1 -0
  174. package/dist/features/mint-burn/index.d.ts +5 -0
  175. package/dist/features/mint-burn/index.js +6 -0
  176. package/dist/features/mint-burn/index.js.map +1 -0
  177. package/dist/features/mint-burn/mint-shares.d.ts +3 -0
  178. package/dist/features/mint-burn/mint-shares.js +37 -0
  179. package/dist/features/mint-burn/mint-shares.js.map +1 -0
  180. package/dist/features/mint-burn/mint-steth.d.ts +3 -0
  181. package/dist/features/mint-burn/mint-steth.js +39 -0
  182. package/dist/features/mint-burn/mint-steth.js.map +1 -0
  183. package/dist/features/operator-grid.d.ts +2 -0
  184. package/dist/features/operator-grid.js +64 -0
  185. package/dist/features/operator-grid.js.map +1 -0
  186. package/dist/features/pdg.d.ts +11 -0
  187. package/dist/features/pdg.js +114 -0
  188. package/dist/features/pdg.js.map +1 -0
  189. package/dist/features/token-manager.d.ts +1 -0
  190. package/dist/features/token-manager.js +5 -4
  191. package/dist/features/token-manager.js.map +1 -1
  192. package/dist/features/utils/get-address.d.ts +2 -0
  193. package/dist/features/utils/get-address.js +16 -0
  194. package/dist/features/utils/get-address.js.map +1 -0
  195. package/dist/features/utils/index.d.ts +6 -0
  196. package/dist/features/utils/index.js +7 -0
  197. package/dist/features/utils/index.js.map +1 -0
  198. package/dist/features/utils/liability-shares.d.ts +2 -0
  199. package/dist/features/utils/liability-shares.js +10 -0
  200. package/dist/features/utils/liability-shares.js.map +1 -0
  201. package/dist/features/utils/minting-capacity.d.ts +2 -0
  202. package/dist/features/utils/minting-capacity.js +11 -0
  203. package/dist/features/utils/minting-capacity.js.map +1 -0
  204. package/dist/features/utils/quarantine.d.ts +25 -0
  205. package/dist/features/utils/quarantine.js +47 -0
  206. package/dist/features/utils/quarantine.js.map +1 -0
  207. package/dist/features/utils/report-fresh.d.ts +3 -0
  208. package/dist/features/utils/report-fresh.js +53 -0
  209. package/dist/features/utils/report-fresh.js.map +1 -0
  210. package/dist/features/utils/settled-growth.d.ts +1 -0
  211. package/dist/features/utils/settled-growth.js +16 -0
  212. package/dist/features/utils/settled-growth.js.map +1 -0
  213. package/dist/features/vault-factory.d.ts +29 -0
  214. package/dist/features/vault-factory.js +93 -25
  215. package/dist/features/vault-factory.js.map +1 -1
  216. package/dist/features/vault-hub.d.ts +2 -0
  217. package/dist/features/vault-hub.js +84 -0
  218. package/dist/features/vault-hub.js.map +1 -0
  219. package/dist/features/vault-operations/create-vault.d.ts +2 -0
  220. package/dist/features/vault-operations/create-vault.js +58 -0
  221. package/dist/features/vault-operations/create-vault.js.map +1 -0
  222. package/dist/features/vault-operations/dashboard-by-vault.d.ts +12 -0
  223. package/dist/features/vault-operations/dashboard-by-vault.js +36 -0
  224. package/dist/features/vault-operations/dashboard-by-vault.js.map +1 -0
  225. package/dist/features/vault-operations/index.d.ts +7 -0
  226. package/dist/features/vault-operations/index.js +8 -0
  227. package/dist/features/vault-operations/index.js.map +1 -0
  228. package/dist/features/vault-operations/vault-health.d.ts +2 -0
  229. package/dist/features/vault-operations/vault-health.js +27 -0
  230. package/dist/features/vault-operations/vault-health.js.map +1 -0
  231. package/dist/features/vault-operations/vault-info.d.ts +2 -0
  232. package/dist/features/vault-operations/vault-info.js +108 -0
  233. package/dist/features/vault-operations/vault-info.js.map +1 -0
  234. package/dist/features/vault-operations/vault-overview.d.ts +2 -0
  235. package/dist/features/vault-operations/vault-overview.js +148 -0
  236. package/dist/features/vault-operations/vault-overview.js.map +1 -0
  237. package/dist/features/vault-operations/vault-roles.d.ts +6 -0
  238. package/dist/features/vault-operations/vault-roles.js +63 -0
  239. package/dist/features/vault-operations/vault-roles.js.map +1 -0
  240. package/dist/features/vault-operations/vaults-by-role.d.ts +6 -0
  241. package/dist/features/vault-operations/vaults-by-role.js +116 -0
  242. package/dist/features/vault-operations/vaults-by-role.js.map +1 -0
  243. package/dist/features/vault.d.ts +2 -0
  244. package/dist/features/vault.js +50 -0
  245. package/dist/features/vault.js.map +1 -0
  246. package/dist/index.d.ts +3 -0
  247. package/dist/index.js +30 -5
  248. package/dist/index.js.map +1 -1
  249. package/dist/programs/account/index.d.ts +3 -0
  250. package/dist/programs/account/index.js +4 -0
  251. package/dist/programs/account/index.js.map +1 -0
  252. package/dist/programs/account/main.d.ts +1 -0
  253. package/dist/programs/account/main.js +5 -0
  254. package/dist/programs/account/main.js.map +1 -0
  255. package/dist/programs/account/read.d.ts +1 -0
  256. package/dist/programs/account/read.js +79 -0
  257. package/dist/programs/account/read.js.map +1 -0
  258. package/dist/programs/account/write.d.ts +1 -0
  259. package/dist/programs/account/write.js +73 -0
  260. package/dist/programs/account/write.js.map +1 -0
  261. package/dist/programs/config.d.ts +1 -0
  262. package/dist/programs/config.js +12 -14
  263. package/dist/programs/config.js.map +1 -1
  264. package/dist/programs/contracts/dashboard/config.d.ts +3 -0
  265. package/dist/programs/contracts/dashboard/config.js +124 -0
  266. package/dist/programs/contracts/dashboard/config.js.map +1 -0
  267. package/dist/programs/contracts/dashboard/index.d.ts +3 -0
  268. package/dist/programs/contracts/dashboard/index.js +4 -0
  269. package/dist/programs/contracts/dashboard/index.js.map +1 -0
  270. package/dist/programs/contracts/dashboard/main.d.ts +1 -0
  271. package/dist/programs/contracts/dashboard/main.js +5 -0
  272. package/dist/programs/contracts/dashboard/main.js.map +1 -0
  273. package/dist/programs/contracts/dashboard/read.d.ts +1 -0
  274. package/dist/programs/contracts/dashboard/read.js +133 -0
  275. package/dist/programs/contracts/dashboard/read.js.map +1 -0
  276. package/dist/programs/contracts/dashboard/write.d.ts +1 -0
  277. package/dist/programs/contracts/dashboard/write.js +747 -0
  278. package/dist/programs/contracts/dashboard/write.js.map +1 -0
  279. package/dist/programs/contracts/hub/config.d.ts +3 -0
  280. package/dist/programs/contracts/hub/config.js +155 -0
  281. package/dist/programs/contracts/hub/config.js.map +1 -0
  282. package/dist/programs/contracts/hub/index.d.ts +3 -0
  283. package/dist/programs/contracts/hub/index.js +4 -0
  284. package/dist/programs/contracts/hub/index.js.map +1 -0
  285. package/dist/programs/contracts/hub/main.d.ts +1 -0
  286. package/dist/programs/contracts/hub/main.js +5 -0
  287. package/dist/programs/contracts/hub/main.js.map +1 -0
  288. package/dist/programs/contracts/hub/read.d.ts +1 -0
  289. package/dist/programs/contracts/hub/read.js +54 -0
  290. package/dist/programs/contracts/hub/read.js.map +1 -0
  291. package/dist/programs/contracts/hub/write.d.ts +1 -0
  292. package/dist/programs/contracts/hub/write.js +363 -0
  293. package/dist/programs/contracts/hub/write.js.map +1 -0
  294. package/dist/programs/contracts/index.d.ts +9 -0
  295. package/dist/programs/contracts/index.js +10 -0
  296. package/dist/programs/contracts/index.js.map +1 -0
  297. package/dist/programs/contracts/lazy-oracle/config.d.ts +3 -0
  298. package/dist/programs/contracts/lazy-oracle/config.js +95 -0
  299. package/dist/programs/contracts/lazy-oracle/config.js.map +1 -0
  300. package/dist/programs/contracts/lazy-oracle/index.d.ts +2 -0
  301. package/dist/programs/contracts/lazy-oracle/index.js +3 -0
  302. package/dist/programs/contracts/lazy-oracle/index.js.map +1 -0
  303. package/dist/programs/contracts/lazy-oracle/main.d.ts +1 -0
  304. package/dist/programs/contracts/lazy-oracle/main.js +5 -0
  305. package/dist/programs/contracts/lazy-oracle/main.js.map +1 -0
  306. package/dist/programs/contracts/lazy-oracle/read.d.ts +1 -0
  307. package/dist/programs/contracts/lazy-oracle/read.js +24 -0
  308. package/dist/programs/contracts/lazy-oracle/read.js.map +1 -0
  309. package/dist/programs/contracts/main.d.ts +1 -0
  310. package/dist/programs/contracts/main.js +6 -0
  311. package/dist/programs/contracts/main.js.map +1 -0
  312. package/dist/programs/contracts/operator-grid/config.d.ts +3 -0
  313. package/dist/programs/contracts/operator-grid/config.js +98 -0
  314. package/dist/programs/contracts/operator-grid/config.js.map +1 -0
  315. package/dist/programs/contracts/operator-grid/index.d.ts +3 -0
  316. package/dist/programs/contracts/operator-grid/index.js +4 -0
  317. package/dist/programs/contracts/operator-grid/index.js.map +1 -0
  318. package/dist/programs/contracts/operator-grid/main.d.ts +1 -0
  319. package/dist/programs/contracts/operator-grid/main.js +5 -0
  320. package/dist/programs/contracts/operator-grid/main.js.map +1 -0
  321. package/dist/programs/contracts/operator-grid/read.d.ts +1 -0
  322. package/dist/programs/contracts/operator-grid/read.js +50 -0
  323. package/dist/programs/contracts/operator-grid/read.js.map +1 -0
  324. package/dist/programs/contracts/operator-grid/write.d.ts +1 -0
  325. package/dist/programs/contracts/operator-grid/write.js +88 -0
  326. package/dist/programs/contracts/operator-grid/write.js.map +1 -0
  327. package/dist/programs/contracts/pdg/config.d.ts +3 -0
  328. package/dist/programs/contracts/pdg/config.js +167 -0
  329. package/dist/programs/contracts/pdg/config.js.map +1 -0
  330. package/dist/programs/contracts/pdg/index.d.ts +3 -0
  331. package/dist/programs/contracts/pdg/index.js +4 -0
  332. package/dist/programs/contracts/pdg/index.js.map +1 -0
  333. package/dist/programs/contracts/pdg/main.d.ts +1 -0
  334. package/dist/programs/contracts/pdg/main.js +5 -0
  335. package/dist/programs/contracts/pdg/main.js.map +1 -0
  336. package/dist/programs/contracts/pdg/read.d.ts +1 -0
  337. package/dist/programs/contracts/pdg/read.js +50 -0
  338. package/dist/programs/contracts/pdg/read.js.map +1 -0
  339. package/dist/programs/contracts/pdg/write.d.ts +1 -0
  340. package/dist/programs/contracts/pdg/write.js +357 -0
  341. package/dist/programs/contracts/pdg/write.js.map +1 -0
  342. package/dist/programs/contracts/vault/config.d.ts +3 -0
  343. package/dist/programs/contracts/vault/config.js +54 -0
  344. package/dist/programs/contracts/vault/config.js.map +1 -0
  345. package/dist/programs/contracts/vault/index.d.ts +3 -0
  346. package/dist/programs/contracts/vault/index.js +4 -0
  347. package/dist/programs/contracts/vault/index.js.map +1 -0
  348. package/dist/programs/contracts/vault/main.d.ts +1 -0
  349. package/dist/programs/contracts/vault/main.js +3 -0
  350. package/dist/programs/contracts/vault/main.js.map +1 -0
  351. package/dist/programs/contracts/vault/read.d.ts +1 -0
  352. package/dist/programs/contracts/vault/read.js +25 -0
  353. package/dist/programs/contracts/vault/read.js.map +1 -0
  354. package/dist/programs/contracts/vault/write.d.ts +1 -0
  355. package/dist/programs/contracts/vault/write.js +289 -0
  356. package/dist/programs/contracts/vault/write.js.map +1 -0
  357. package/dist/programs/contracts/vault-factory/config.d.ts +3 -0
  358. package/dist/programs/contracts/vault-factory/config.js +15 -0
  359. package/dist/programs/contracts/vault-factory/config.js.map +1 -0
  360. package/dist/programs/contracts/vault-factory/index.d.ts +3 -0
  361. package/dist/programs/contracts/vault-factory/index.js +4 -0
  362. package/dist/programs/contracts/vault-factory/index.js.map +1 -0
  363. package/dist/programs/contracts/vault-factory/main.d.ts +1 -0
  364. package/dist/programs/contracts/vault-factory/main.js +5 -0
  365. package/dist/programs/contracts/vault-factory/main.js.map +1 -0
  366. package/dist/programs/contracts/vault-factory/read.d.ts +1 -0
  367. package/dist/programs/contracts/vault-factory/read.js +24 -0
  368. package/dist/programs/contracts/vault-factory/read.js.map +1 -0
  369. package/dist/programs/contracts/vault-factory/write.d.ts +1 -0
  370. package/dist/programs/contracts/vault-factory/write.js +136 -0
  371. package/dist/programs/contracts/vault-factory/write.js.map +1 -0
  372. package/dist/programs/contracts/vault-viewer/config.d.ts +3 -0
  373. package/dist/programs/contracts/vault-viewer/config.js +163 -0
  374. package/dist/programs/contracts/vault-viewer/config.js.map +1 -0
  375. package/dist/programs/contracts/vault-viewer/index.d.ts +2 -0
  376. package/dist/programs/contracts/vault-viewer/index.js +3 -0
  377. package/dist/programs/contracts/vault-viewer/index.js.map +1 -0
  378. package/dist/programs/contracts/vault-viewer/main.d.ts +1 -0
  379. package/dist/programs/contracts/vault-viewer/main.js +5 -0
  380. package/dist/programs/contracts/vault-viewer/main.js.map +1 -0
  381. package/dist/programs/contracts/vault-viewer/read.d.ts +1 -0
  382. package/dist/programs/contracts/vault-viewer/read.js +77 -0
  383. package/dist/programs/contracts/vault-viewer/read.js.map +1 -0
  384. package/dist/programs/defi-wrapper/contracts/distributor/config.d.ts +3 -0
  385. package/dist/programs/defi-wrapper/contracts/distributor/config.js +44 -0
  386. package/dist/programs/defi-wrapper/contracts/distributor/config.js.map +1 -0
  387. package/dist/programs/defi-wrapper/contracts/distributor/index.d.ts +3 -0
  388. package/dist/programs/defi-wrapper/contracts/distributor/index.js +4 -0
  389. package/dist/programs/defi-wrapper/contracts/distributor/index.js.map +1 -0
  390. package/dist/programs/defi-wrapper/contracts/distributor/main.d.ts +1 -0
  391. package/dist/programs/defi-wrapper/contracts/distributor/main.js +5 -0
  392. package/dist/programs/defi-wrapper/contracts/distributor/main.js.map +1 -0
  393. package/dist/programs/defi-wrapper/contracts/distributor/read.d.ts +1 -0
  394. package/dist/programs/defi-wrapper/contracts/distributor/read.js +40 -0
  395. package/dist/programs/defi-wrapper/contracts/distributor/read.js.map +1 -0
  396. package/dist/programs/defi-wrapper/contracts/distributor/write.d.ts +1 -0
  397. package/dist/programs/defi-wrapper/contracts/distributor/write.js +70 -0
  398. package/dist/programs/defi-wrapper/contracts/distributor/write.js.map +1 -0
  399. package/dist/programs/defi-wrapper/contracts/factory/config.d.ts +3 -0
  400. package/dist/programs/defi-wrapper/contracts/factory/config.js +2 -0
  401. package/dist/programs/defi-wrapper/contracts/factory/config.js.map +1 -0
  402. package/dist/programs/defi-wrapper/contracts/factory/index.d.ts +3 -0
  403. package/dist/programs/defi-wrapper/contracts/factory/index.js +4 -0
  404. package/dist/programs/defi-wrapper/contracts/factory/index.js.map +1 -0
  405. package/dist/programs/defi-wrapper/contracts/factory/main.d.ts +1 -0
  406. package/dist/programs/defi-wrapper/contracts/factory/main.js +6 -0
  407. package/dist/programs/defi-wrapper/contracts/factory/main.js.map +1 -0
  408. package/dist/programs/defi-wrapper/contracts/factory/read.d.ts +1 -0
  409. package/dist/programs/defi-wrapper/contracts/factory/read.js +56 -0
  410. package/dist/programs/defi-wrapper/contracts/factory/read.js.map +1 -0
  411. package/dist/programs/defi-wrapper/contracts/factory/write.d.ts +1 -0
  412. package/dist/programs/defi-wrapper/contracts/factory/write.js +327 -0
  413. package/dist/programs/defi-wrapper/contracts/factory/write.js.map +1 -0
  414. package/dist/programs/defi-wrapper/contracts/index.d.ts +7 -0
  415. package/dist/programs/defi-wrapper/contracts/index.js +8 -0
  416. package/dist/programs/defi-wrapper/contracts/index.js.map +1 -0
  417. package/dist/programs/defi-wrapper/contracts/main.d.ts +1 -0
  418. package/dist/programs/defi-wrapper/contracts/main.js +6 -0
  419. package/dist/programs/defi-wrapper/contracts/main.js.map +1 -0
  420. package/dist/programs/defi-wrapper/contracts/stv-pool/config.d.ts +3 -0
  421. package/dist/programs/defi-wrapper/contracts/stv-pool/config.js +83 -0
  422. package/dist/programs/defi-wrapper/contracts/stv-pool/config.js.map +1 -0
  423. package/dist/programs/defi-wrapper/contracts/stv-pool/index.d.ts +3 -0
  424. package/dist/programs/defi-wrapper/contracts/stv-pool/index.js +4 -0
  425. package/dist/programs/defi-wrapper/contracts/stv-pool/index.js.map +1 -0
  426. package/dist/programs/defi-wrapper/contracts/stv-pool/main.d.ts +1 -0
  427. package/dist/programs/defi-wrapper/contracts/stv-pool/main.js +6 -0
  428. package/dist/programs/defi-wrapper/contracts/stv-pool/main.js.map +1 -0
  429. package/dist/programs/defi-wrapper/contracts/stv-pool/read.d.ts +1 -0
  430. package/dist/programs/defi-wrapper/contracts/stv-pool/read.js +77 -0
  431. package/dist/programs/defi-wrapper/contracts/stv-pool/read.js.map +1 -0
  432. package/dist/programs/defi-wrapper/contracts/stv-pool/write.d.ts +1 -0
  433. package/dist/programs/defi-wrapper/contracts/stv-pool/write.js +287 -0
  434. package/dist/programs/defi-wrapper/contracts/stv-pool/write.js.map +1 -0
  435. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/config.d.ts +3 -0
  436. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/config.js +210 -0
  437. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/config.js.map +1 -0
  438. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/index.d.ts +3 -0
  439. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/index.js +4 -0
  440. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/index.js.map +1 -0
  441. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/main.d.ts +1 -0
  442. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/main.js +6 -0
  443. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/main.js.map +1 -0
  444. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/read.d.ts +1 -0
  445. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/read.js +77 -0
  446. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/read.js.map +1 -0
  447. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/write.d.ts +1 -0
  448. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/write.js +370 -0
  449. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/write.js.map +1 -0
  450. package/dist/programs/defi-wrapper/contracts/stv-strategy-pool/config.d.ts +3 -0
  451. package/dist/programs/defi-wrapper/contracts/stv-strategy-pool/config.js +214 -0
  452. package/dist/programs/defi-wrapper/contracts/stv-strategy-pool/config.js.map +1 -0
  453. package/dist/programs/defi-wrapper/contracts/stv-strategy-pool/index.d.ts +3 -0
  454. package/dist/programs/defi-wrapper/contracts/stv-strategy-pool/index.js +4 -0
  455. package/dist/programs/defi-wrapper/contracts/stv-strategy-pool/index.js.map +1 -0
  456. package/dist/programs/defi-wrapper/contracts/stv-strategy-pool/main.d.ts +1 -0
  457. package/dist/programs/defi-wrapper/contracts/stv-strategy-pool/main.js +6 -0
  458. package/dist/programs/defi-wrapper/contracts/stv-strategy-pool/main.js.map +1 -0
  459. package/dist/programs/defi-wrapper/contracts/stv-strategy-pool/read.d.ts +1 -0
  460. package/dist/programs/defi-wrapper/contracts/stv-strategy-pool/read.js +77 -0
  461. package/dist/programs/defi-wrapper/contracts/stv-strategy-pool/read.js.map +1 -0
  462. package/dist/programs/defi-wrapper/contracts/stv-strategy-pool/write.d.ts +1 -0
  463. package/dist/programs/defi-wrapper/contracts/stv-strategy-pool/write.js +370 -0
  464. package/dist/programs/defi-wrapper/contracts/stv-strategy-pool/write.js.map +1 -0
  465. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/config.d.ts +3 -0
  466. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/config.js +156 -0
  467. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/config.js.map +1 -0
  468. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/index.d.ts +3 -0
  469. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/index.js +4 -0
  470. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/index.js.map +1 -0
  471. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/main.d.ts +1 -0
  472. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/main.js +6 -0
  473. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/main.js.map +1 -0
  474. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/read.d.ts +1 -0
  475. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/read.js +84 -0
  476. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/read.js.map +1 -0
  477. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/write.d.ts +1 -0
  478. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/write.js +140 -0
  479. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/write.js.map +1 -0
  480. package/dist/programs/defi-wrapper/index.d.ts +2 -0
  481. package/dist/programs/defi-wrapper/index.js +3 -0
  482. package/dist/programs/defi-wrapper/index.js.map +1 -0
  483. package/dist/programs/defi-wrapper/main.d.ts +1 -0
  484. package/dist/programs/defi-wrapper/main.js +6 -0
  485. package/dist/programs/defi-wrapper/main.js.map +1 -0
  486. package/dist/programs/index.d.ts +5 -0
  487. package/dist/programs/index.js +5 -22
  488. package/dist/programs/index.js.map +1 -1
  489. package/dist/programs/pdg-helpers.d.ts +1 -0
  490. package/dist/programs/pdg-helpers.js +257 -0
  491. package/dist/programs/pdg-helpers.js.map +1 -0
  492. package/dist/programs/use-cases/deposits/index.d.ts +3 -0
  493. package/dist/programs/use-cases/deposits/index.js +4 -0
  494. package/dist/programs/use-cases/deposits/index.js.map +1 -0
  495. package/dist/programs/use-cases/deposits/main.d.ts +1 -0
  496. package/dist/programs/use-cases/deposits/main.js +6 -0
  497. package/dist/programs/use-cases/deposits/main.js.map +1 -0
  498. package/dist/programs/use-cases/deposits/read.d.ts +1 -0
  499. package/dist/programs/use-cases/deposits/read.js +94 -0
  500. package/dist/programs/use-cases/deposits/read.js.map +1 -0
  501. package/dist/programs/use-cases/deposits/write.d.ts +1 -0
  502. package/dist/programs/use-cases/deposits/write.js +297 -0
  503. package/dist/programs/use-cases/deposits/write.js.map +1 -0
  504. package/dist/programs/use-cases/index.d.ts +4 -0
  505. package/dist/programs/use-cases/index.js +5 -0
  506. package/dist/programs/use-cases/index.js.map +1 -0
  507. package/dist/programs/use-cases/metrics/index.d.ts +2 -0
  508. package/dist/programs/use-cases/metrics/index.js +3 -0
  509. package/dist/programs/use-cases/metrics/index.js.map +1 -0
  510. package/dist/programs/use-cases/metrics/main.d.ts +1 -0
  511. package/dist/programs/use-cases/metrics/main.js +6 -0
  512. package/dist/programs/use-cases/metrics/main.js.map +1 -0
  513. package/dist/programs/use-cases/metrics/read.d.ts +1 -0
  514. package/dist/programs/use-cases/metrics/read.js +256 -0
  515. package/dist/programs/use-cases/metrics/read.js.map +1 -0
  516. package/dist/programs/use-cases/report/index.d.ts +3 -0
  517. package/dist/programs/use-cases/report/index.js +4 -0
  518. package/dist/programs/use-cases/report/index.js.map +1 -0
  519. package/dist/programs/use-cases/report/main.d.ts +1 -0
  520. package/dist/programs/use-cases/report/main.js +6 -0
  521. package/dist/programs/use-cases/report/main.js.map +1 -0
  522. package/dist/programs/use-cases/report/read.d.ts +1 -0
  523. package/dist/programs/use-cases/report/read.js +111 -0
  524. package/dist/programs/use-cases/report/read.js.map +1 -0
  525. package/dist/programs/use-cases/report/write.d.ts +1 -0
  526. package/dist/programs/use-cases/report/write.js +102 -0
  527. package/dist/programs/use-cases/report/write.js.map +1 -0
  528. package/dist/programs/use-cases/vault-operations/create-vault.d.ts +1 -0
  529. package/dist/programs/use-cases/vault-operations/create-vault.js +139 -0
  530. package/dist/programs/use-cases/vault-operations/create-vault.js.map +1 -0
  531. package/dist/programs/use-cases/vault-operations/index.d.ts +4 -0
  532. package/dist/programs/use-cases/vault-operations/index.js +5 -0
  533. package/dist/programs/use-cases/vault-operations/index.js.map +1 -0
  534. package/dist/programs/use-cases/vault-operations/main.d.ts +1 -0
  535. package/dist/programs/use-cases/vault-operations/main.js +6 -0
  536. package/dist/programs/use-cases/vault-operations/main.js.map +1 -0
  537. package/dist/programs/use-cases/vault-operations/read.d.ts +1 -0
  538. package/dist/programs/use-cases/vault-operations/read.js +58 -0
  539. package/dist/programs/use-cases/vault-operations/read.js.map +1 -0
  540. package/dist/programs/use-cases/vault-operations/write.d.ts +1 -0
  541. package/dist/programs/use-cases/vault-operations/write.js +315 -0
  542. package/dist/programs/use-cases/vault-operations/write.js.map +1 -0
  543. package/dist/providers/index.d.ts +1 -0
  544. package/dist/providers/index.js +1 -17
  545. package/dist/providers/index.js.map +1 -1
  546. package/dist/providers/wallet.d.ts +6903 -0
  547. package/dist/providers/wallet.js +63 -29
  548. package/dist/providers/wallet.js.map +1 -1
  549. package/dist/tests/utils/arguments.test.d.ts +1 -0
  550. package/dist/tests/utils/arguments.test.js +92 -0
  551. package/dist/tests/utils/arguments.test.js.map +1 -0
  552. package/dist/tests/utils/calculate-overview.test.d.ts +1 -0
  553. package/dist/tests/utils/calculate-overview.test.js +30 -0
  554. package/dist/tests/utils/calculate-overview.test.js.map +1 -0
  555. package/dist/tests/utils/data-validators.test.d.ts +1 -0
  556. package/dist/tests/utils/data-validators.test.js +56 -0
  557. package/dist/tests/utils/data-validators.test.js.map +1 -0
  558. package/dist/tests/utils/error-handler.test.d.ts +1 -0
  559. package/dist/tests/utils/error-handler.test.js +43 -0
  560. package/dist/tests/utils/error-handler.test.js.map +1 -0
  561. package/dist/tests/utils/get-commands.test.d.ts +1 -0
  562. package/dist/tests/utils/get-commands.test.js +19 -0
  563. package/dist/tests/utils/get-commands.test.js.map +1 -0
  564. package/dist/tests/utils/get-deposit-data-root.test.d.ts +1 -0
  565. package/dist/tests/utils/get-deposit-data-root.test.js +31 -0
  566. package/dist/tests/utils/get-deposit-data-root.test.js.map +1 -0
  567. package/dist/tests/utils/get-value.test.d.ts +1 -0
  568. package/dist/tests/utils/get-value.test.js +13 -0
  569. package/dist/tests/utils/get-value.test.js.map +1 -0
  570. package/dist/tests/utils/health.test.d.ts +1 -0
  571. package/dist/tests/utils/health.test.js +22 -0
  572. package/dist/tests/utils/health.test.js.map +1 -0
  573. package/dist/tests/utils/interrupt-handler.test.d.ts +1 -0
  574. package/dist/tests/utils/interrupt-handler.test.js +15 -0
  575. package/dist/tests/utils/interrupt-handler.test.js.map +1 -0
  576. package/dist/tests/utils/ipfs.test.d.ts +1 -0
  577. package/dist/tests/utils/ipfs.test.js +110 -0
  578. package/dist/tests/utils/ipfs.test.js.map +1 -0
  579. package/dist/tests/utils/logging.test.d.ts +1 -0
  580. package/dist/tests/utils/logging.test.js +23 -0
  581. package/dist/tests/utils/logging.test.js.map +1 -0
  582. package/dist/tests/utils/resove-path.test.d.ts +1 -0
  583. package/dist/tests/utils/resove-path.test.js +18 -0
  584. package/dist/tests/utils/resove-path.test.js.map +1 -0
  585. package/dist/tests/utils/sleep.test.d.ts +1 -0
  586. package/dist/tests/utils/sleep.test.js +14 -0
  587. package/dist/tests/utils/sleep.test.js.map +1 -0
  588. package/dist/types/common.d.ts +39 -0
  589. package/dist/types/common.js +1 -2
  590. package/dist/types/config.d.ts +26 -0
  591. package/dist/types/config.js +1 -2
  592. package/dist/types/index.d.ts +2 -0
  593. package/dist/types/index.js +2 -18
  594. package/dist/types/index.js.map +1 -1
  595. package/dist/utils/arguments.d.ts +21 -0
  596. package/dist/utils/arguments.js +125 -0
  597. package/dist/utils/arguments.js.map +1 -0
  598. package/dist/utils/bls.d.ts +21 -0
  599. package/dist/utils/bls.js +101 -0
  600. package/dist/utils/bls.js.map +1 -0
  601. package/dist/utils/cache.d.ts +18 -0
  602. package/dist/utils/cache.js +109 -0
  603. package/dist/utils/cache.js.map +1 -0
  604. package/dist/utils/calculate-overview-v2.d.ts +27 -0
  605. package/dist/utils/calculate-overview-v2.js +56 -0
  606. package/dist/utils/calculate-overview-v2.js.map +1 -0
  607. package/dist/utils/calculate-overview.d.ts +28 -0
  608. package/dist/utils/calculate-overview.js +57 -0
  609. package/dist/utils/calculate-overview.js.map +1 -0
  610. package/dist/utils/charts/blessed/charts-apr.d.ts +98 -0
  611. package/dist/utils/charts/blessed/charts-apr.js +122 -0
  612. package/dist/utils/charts/blessed/charts-apr.js.map +1 -0
  613. package/dist/utils/charts/blessed/charts-rewards.d.ts +74 -0
  614. package/dist/utils/charts/blessed/charts-rewards.js +107 -0
  615. package/dist/utils/charts/blessed/charts-rewards.js.map +1 -0
  616. package/dist/utils/charts/blessed/constants.d.ts +22 -0
  617. package/dist/utils/charts/blessed/constants.js +23 -0
  618. package/dist/utils/charts/blessed/constants.js.map +1 -0
  619. package/dist/utils/charts/blessed/datasets/bottom-line.d.ts +19 -0
  620. package/dist/utils/charts/blessed/datasets/bottom-line.js +35 -0
  621. package/dist/utils/charts/blessed/datasets/bottom-line.js.map +1 -0
  622. package/dist/utils/charts/blessed/datasets/carry-spread.d.ts +18 -0
  623. package/dist/utils/charts/blessed/datasets/carry-spread.js +34 -0
  624. package/dist/utils/charts/blessed/datasets/carry-spread.js.map +1 -0
  625. package/dist/utils/charts/blessed/datasets/gross-staking-apr.d.ts +18 -0
  626. package/dist/utils/charts/blessed/datasets/gross-staking-apr.js +34 -0
  627. package/dist/utils/charts/blessed/datasets/gross-staking-apr.js.map +1 -0
  628. package/dist/utils/charts/blessed/datasets/gross-staking-rewards.d.ts +24 -0
  629. package/dist/utils/charts/blessed/datasets/gross-staking-rewards.js +40 -0
  630. package/dist/utils/charts/blessed/datasets/gross-staking-rewards.js.map +1 -0
  631. package/dist/utils/charts/blessed/datasets/index.d.ts +9 -0
  632. package/dist/utils/charts/blessed/datasets/index.js +10 -0
  633. package/dist/utils/charts/blessed/datasets/index.js.map +1 -0
  634. package/dist/utils/charts/blessed/datasets/lido-apr.d.ts +19 -0
  635. package/dist/utils/charts/blessed/datasets/lido-apr.js +35 -0
  636. package/dist/utils/charts/blessed/datasets/lido-apr.js.map +1 -0
  637. package/dist/utils/charts/blessed/datasets/net-staking-apr.d.ts +18 -0
  638. package/dist/utils/charts/blessed/datasets/net-staking-apr.js +34 -0
  639. package/dist/utils/charts/blessed/datasets/net-staking-apr.js.map +1 -0
  640. package/dist/utils/charts/blessed/datasets/net-staking-rewards.d.ts +18 -0
  641. package/dist/utils/charts/blessed/datasets/net-staking-rewards.js +34 -0
  642. package/dist/utils/charts/blessed/datasets/net-staking-rewards.js.map +1 -0
  643. package/dist/utils/charts/blessed/datasets/node-operator-rewards.d.ts +24 -0
  644. package/dist/utils/charts/blessed/datasets/node-operator-rewards.js +40 -0
  645. package/dist/utils/charts/blessed/datasets/node-operator-rewards.js.map +1 -0
  646. package/dist/utils/charts/blessed/datasets/prepare-metrics.d.ts +37 -0
  647. package/dist/utils/charts/blessed/datasets/prepare-metrics.js +147 -0
  648. package/dist/utils/charts/blessed/datasets/prepare-metrics.js.map +1 -0
  649. package/dist/utils/charts/blessed/datasets/types.d.ts +4 -0
  650. package/dist/utils/charts/blessed/datasets/types.js +2 -0
  651. package/dist/utils/charts/blessed/datasets/types.js.map +1 -0
  652. package/dist/utils/charts/blessed/index.d.ts +3 -0
  653. package/dist/utils/charts/blessed/index.js +4 -0
  654. package/dist/utils/charts/blessed/index.js.map +1 -0
  655. package/dist/utils/charts/blessed/net-vs-lido-apr.d.ts +13 -0
  656. package/dist/utils/charts/blessed/net-vs-lido-apr.js +19 -0
  657. package/dist/utils/charts/blessed/net-vs-lido-apr.js.map +1 -0
  658. package/dist/utils/charts/blessed/utils.d.ts +61 -0
  659. package/dist/utils/charts/blessed/utils.js +79 -0
  660. package/dist/utils/charts/blessed/utils.js.map +1 -0
  661. package/dist/utils/charts/index.d.ts +3 -0
  662. package/dist/utils/charts/index.js +4 -0
  663. package/dist/utils/charts/index.js.map +1 -0
  664. package/dist/utils/charts/metrics.d.ts +16 -0
  665. package/dist/utils/charts/metrics.js +160 -0
  666. package/dist/utils/charts/metrics.js.map +1 -0
  667. package/dist/utils/charts/overview.d.ts +10 -0
  668. package/dist/utils/charts/overview.js +89 -0
  669. package/dist/utils/charts/overview.js.map +1 -0
  670. package/dist/utils/charts/simple/index.d.ts +1 -0
  671. package/dist/utils/charts/simple/index.js +2 -0
  672. package/dist/utils/charts/simple/index.js.map +1 -0
  673. package/dist/utils/charts/simple/simple-charts.d.ts +7 -0
  674. package/dist/utils/charts/simple/simple-charts.js +79 -0
  675. package/dist/utils/charts/simple/simple-charts.js.map +1 -0
  676. package/dist/utils/commands/confirmations.d.ts +39 -0
  677. package/dist/utils/commands/confirmations.js +127 -0
  678. package/dist/utils/commands/confirmations.js.map +1 -0
  679. package/dist/utils/commands/index.d.ts +2 -0
  680. package/dist/utils/commands/index.js +3 -0
  681. package/dist/utils/commands/index.js.map +1 -0
  682. package/dist/utils/commands/report.d.ts +7 -0
  683. package/dist/utils/commands/report.js +43 -0
  684. package/dist/utils/commands/report.js.map +1 -0
  685. package/dist/utils/consts.d.ts +3 -0
  686. package/dist/utils/consts.js +4 -0
  687. package/dist/utils/consts.js.map +1 -0
  688. package/dist/utils/csv-file.d.ts +6 -0
  689. package/dist/utils/csv-file.js +48 -0
  690. package/dist/utils/csv-file.js.map +1 -0
  691. package/dist/utils/data-validators.d.ts +6 -0
  692. package/dist/utils/data-validators.js +28 -25
  693. package/dist/utils/data-validators.js.map +1 -1
  694. package/dist/utils/error-handler.d.ts +1 -0
  695. package/dist/utils/error-handler.js +13 -0
  696. package/dist/utils/error-handler.js.map +1 -0
  697. package/dist/utils/fetchCL.d.ts +32 -0
  698. package/dist/utils/fetchCL.js +79 -0
  699. package/dist/utils/fetchCL.js.map +1 -0
  700. package/dist/utils/get-commands.d.ts +2 -0
  701. package/dist/utils/get-commands.js +11 -0
  702. package/dist/utils/get-commands.js.map +1 -0
  703. package/dist/utils/get-deposit-data-root.d.ts +7 -0
  704. package/dist/utils/get-deposit-data-root.js +37 -0
  705. package/dist/utils/get-deposit-data-root.js.map +1 -0
  706. package/dist/utils/get-value.d.ts +1 -0
  707. package/dist/utils/get-value.js +5 -11
  708. package/dist/utils/get-value.js.map +1 -1
  709. package/dist/utils/health/calculate-health.d.ts +10 -0
  710. package/dist/utils/health/calculate-health.js +22 -0
  711. package/dist/utils/health/calculate-health.js.map +1 -0
  712. package/dist/utils/health/health-utils.d.ts +27743 -0
  713. package/dist/utils/health/health-utils.js +75 -0
  714. package/dist/utils/health/health-utils.js.map +1 -0
  715. package/dist/utils/health/index.d.ts +2 -0
  716. package/dist/utils/health/index.js +3 -0
  717. package/dist/utils/health/index.js.map +1 -0
  718. package/dist/utils/index.d.ts +35 -0
  719. package/dist/utils/index.js +35 -20
  720. package/dist/utils/index.js.map +1 -1
  721. package/dist/utils/interrupt-handler.d.ts +3 -0
  722. package/dist/utils/interrupt-handler.js +28 -0
  723. package/dist/utils/interrupt-handler.js.map +1 -0
  724. package/dist/utils/ipfs.d.ts +17 -0
  725. package/dist/utils/ipfs.js +100 -0
  726. package/dist/utils/ipfs.js.map +1 -0
  727. package/dist/utils/lido-apr.d.ts +2 -0
  728. package/dist/utils/lido-apr.js +8 -0
  729. package/dist/utils/lido-apr.js.map +1 -0
  730. package/dist/utils/logging/console.d.ts +16 -0
  731. package/dist/utils/logging/console.js +44 -0
  732. package/dist/utils/logging/console.js.map +1 -0
  733. package/dist/utils/logging/constants.d.ts +4 -0
  734. package/dist/utils/logging/constants.js +18 -0
  735. package/dist/utils/logging/constants.js.map +1 -0
  736. package/dist/utils/logging/index.d.ts +1 -0
  737. package/dist/utils/logging/index.js +2 -0
  738. package/dist/utils/logging/index.js.map +1 -0
  739. package/dist/utils/prompts/confirmations.d.ts +2 -0
  740. package/dist/utils/prompts/confirmations.js +18 -0
  741. package/dist/utils/prompts/confirmations.js.map +1 -0
  742. package/dist/utils/prompts/default.d.ts +6 -0
  743. package/dist/utils/prompts/default.js +27 -0
  744. package/dist/utils/prompts/default.js.map +1 -0
  745. package/dist/utils/prompts/index.d.ts +6 -0
  746. package/dist/utils/prompts/index.js +7 -0
  747. package/dist/utils/prompts/index.js.map +1 -0
  748. package/dist/utils/prompts/mint-burn/confirm-burn.d.ts +17 -0
  749. package/dist/utils/prompts/mint-burn/confirm-burn.js +23 -0
  750. package/dist/utils/prompts/mint-burn/confirm-burn.js.map +1 -0
  751. package/dist/utils/prompts/mint-burn/confirm-mint.d.ts +18 -0
  752. package/dist/utils/prompts/mint-burn/confirm-mint.js +23 -0
  753. package/dist/utils/prompts/mint-burn/confirm-mint.js.map +1 -0
  754. package/dist/utils/prompts/mint-burn/constants.d.ts +2 -0
  755. package/dist/utils/prompts/mint-burn/constants.js +6 -0
  756. package/dist/utils/prompts/mint-burn/constants.js.map +1 -0
  757. package/dist/utils/prompts/mint-burn/index.d.ts +2 -0
  758. package/dist/utils/prompts/mint-burn/index.js +3 -0
  759. package/dist/utils/prompts/mint-burn/index.js.map +1 -0
  760. package/dist/utils/prompts/operations.d.ts +9 -0
  761. package/dist/utils/prompts/operations.js +52 -0
  762. package/dist/utils/prompts/operations.js.map +1 -0
  763. package/dist/utils/prompts/predeposit-guarantee.d.ts +3 -0
  764. package/dist/utils/prompts/predeposit-guarantee.js +23 -0
  765. package/dist/utils/prompts/predeposit-guarantee.js.map +1 -0
  766. package/dist/utils/prompts/vault.d.ts +2 -0
  767. package/dist/utils/prompts/vault.js +14 -0
  768. package/dist/utils/prompts/vault.js.map +1 -0
  769. package/dist/utils/proof/constants.d.ts +6 -0
  770. package/dist/utils/proof/constants.js +7 -0
  771. package/dist/utils/proof/constants.js.map +1 -0
  772. package/dist/utils/proof/create-proof.d.ts +15 -0
  773. package/dist/utils/proof/create-proof.js +40 -0
  774. package/dist/utils/proof/create-proof.js.map +1 -0
  775. package/dist/utils/proof/first-validator-gindex.d.ts +1 -0
  776. package/dist/utils/proof/first-validator-gindex.js +28 -0
  777. package/dist/utils/proof/first-validator-gindex.js.map +1 -0
  778. package/dist/utils/proof/index.d.ts +3 -0
  779. package/dist/utils/proof/index.js +4 -0
  780. package/dist/utils/proof/index.js.map +1 -0
  781. package/dist/utils/proof/merkle-utils.d.ts +55 -0
  782. package/dist/utils/proof/merkle-utils.js +173 -0
  783. package/dist/utils/proof/merkle-utils.js.map +1 -0
  784. package/dist/utils/proof/proofs.d.ts +29 -0
  785. package/dist/utils/proof/proofs.js +60 -0
  786. package/dist/utils/proof/proofs.js.map +1 -0
  787. package/dist/utils/read-programs-by-abi.d.ts +27 -0
  788. package/dist/utils/read-programs-by-abi.js +92 -0
  789. package/dist/utils/read-programs-by-abi.js.map +1 -0
  790. package/dist/utils/rebase-rewards.d.ts +7 -0
  791. package/dist/utils/rebase-rewards.js +6 -0
  792. package/dist/utils/rebase-rewards.js.map +1 -0
  793. package/dist/utils/report/index.d.ts +4 -0
  794. package/dist/utils/report/index.js +5 -0
  795. package/dist/utils/report/index.js.map +1 -0
  796. package/dist/utils/report/report-proof.d.ts +39 -0
  797. package/dist/utils/report/report-proof.js +38 -0
  798. package/dist/utils/report/report-proof.js.map +1 -0
  799. package/dist/utils/report/report.d.ts +19 -0
  800. package/dist/utils/report/report.js +134 -0
  801. package/dist/utils/report/report.js.map +1 -0
  802. package/dist/utils/report/statistic-data.d.ts +32 -0
  803. package/dist/utils/report/statistic-data.js +28 -0
  804. package/dist/utils/report/statistic-data.js.map +1 -0
  805. package/dist/utils/report/types.d.ts +60 -0
  806. package/dist/utils/report/types.js +2 -0
  807. package/dist/utils/report/types.js.map +1 -0
  808. package/dist/utils/resolve-path.d.ts +1 -0
  809. package/dist/utils/resolve-path.js +9 -12
  810. package/dist/utils/resolve-path.js.map +1 -1
  811. package/dist/utils/share-rate.d.ts +1 -0
  812. package/dist/utils/share-rate.js +16 -0
  813. package/dist/utils/share-rate.js.map +1 -0
  814. package/dist/utils/sleep.d.ts +1 -0
  815. package/dist/utils/sleep.js +1 -5
  816. package/dist/utils/sleep.js.map +1 -1
  817. package/dist/utils/snake-to-camel.d.ts +6 -0
  818. package/dist/utils/snake-to-camel.js +9 -0
  819. package/dist/utils/snake-to-camel.js.map +1 -0
  820. package/dist/utils/spinner/constants.d.ts +6 -0
  821. package/dist/utils/spinner/constants.js +120 -0
  822. package/dist/utils/spinner/constants.js.map +1 -0
  823. package/dist/utils/spinner/index.d.ts +1 -0
  824. package/dist/utils/spinner/index.js +2 -0
  825. package/dist/utils/spinner/index.js.map +1 -0
  826. package/dist/utils/spinner/spinners.d.ts +7 -0
  827. package/dist/utils/spinner/spinners.js +16 -0
  828. package/dist/utils/spinner/spinners.js.map +1 -0
  829. package/dist/utils/statistic/index.d.ts +1 -0
  830. package/dist/utils/statistic/index.js +2 -0
  831. package/dist/utils/statistic/index.js.map +1 -0
  832. package/dist/utils/statistic/report-statistic.d.ts +51 -0
  833. package/dist/utils/statistic/report-statistic.js +124 -0
  834. package/dist/utils/statistic/report-statistic.js.map +1 -0
  835. package/dist/utils/timestamp.d.ts +1 -0
  836. package/dist/utils/timestamp.js +17 -0
  837. package/dist/utils/timestamp.js.map +1 -0
  838. package/dist/utils/transactions/index.d.ts +3 -0
  839. package/dist/utils/transactions/index.js +4 -0
  840. package/dist/utils/transactions/index.js.map +1 -0
  841. package/dist/utils/transactions/tx-private-key.d.ts +26 -0
  842. package/dist/utils/transactions/tx-private-key.js +310 -0
  843. package/dist/utils/transactions/tx-private-key.js.map +1 -0
  844. package/dist/utils/transactions/tx-wc.d.ts +62 -0
  845. package/dist/utils/transactions/tx-wc.js +204 -0
  846. package/dist/utils/transactions/tx-wc.js.map +1 -0
  847. package/dist/utils/transactions/types.d.ts +40 -0
  848. package/dist/utils/transactions/types.js +2 -0
  849. package/dist/utils/transactions/types.js.map +1 -0
  850. package/dist/utils/wallet-connect.d.ts +17 -0
  851. package/dist/utils/wallet-connect.js +191 -0
  852. package/dist/utils/wallet-connect.js.map +1 -0
  853. package/dist/version/index.d.ts +1 -0
  854. package/dist/version/index.js +1 -0
  855. package/dist/version/index.js.map +1 -0
  856. package/package.json +88 -14
  857. package/dist/abi/Delegation.js +0 -1658
  858. package/dist/abi/Delegation.js.map +0 -1
  859. package/dist/abi/TokenManager.js +0 -759
  860. package/dist/abi/TokenManager.js.map +0 -1
  861. package/dist/abi/Voting.js +0 -887
  862. package/dist/abi/Voting.js.map +0 -1
  863. package/dist/contracts/delegation.js +0 -19
  864. package/dist/contracts/delegation.js.map +0 -1
  865. package/dist/contracts/token-manager.js +0 -20
  866. package/dist/contracts/token-manager.js.map +0 -1
  867. package/dist/contracts/voting.js +0 -22
  868. package/dist/contracts/voting.js.map +0 -1
  869. package/dist/features/advanced-config.js +0 -21
  870. package/dist/features/advanced-config.js.map +0 -1
  871. package/dist/features/voting.js +0 -136
  872. package/dist/features/voting.js.map +0 -1
  873. package/dist/programs/dashboard.js +0 -688
  874. package/dist/programs/dashboard.js.map +0 -1
  875. package/dist/programs/delegation.js +0 -539
  876. package/dist/programs/delegation.js.map +0 -1
  877. package/dist/programs/vault-factory.js +0 -84
  878. package/dist/programs/vault-factory.js.map +0 -1
  879. package/dist/programs/vault-hub.js +0 -352
  880. package/dist/programs/vault-hub.js.map +0 -1
  881. package/dist/programs/vault.js +0 -378
  882. package/dist/programs/vault.js.map +0 -1
  883. package/dist/programs/voting.js +0 -53
  884. package/dist/programs/voting.js.map +0 -1
@@ -0,0 +1,747 @@
1
+ import { parseEther, formatEther } from 'viem';
2
+ import { Option } from 'commander';
3
+ import { getDashboardContract, getOperatorGridContract, getStakingVaultContract, } from '../../../contracts/index.js';
4
+ import { mintShares, burnShares, mintSteth, burnSteth, checkIsReportFresh, checkBLSDeposits, } from '../../../features/index.js';
5
+ import { callReadMethod, callWriteMethodWithReceipt, jsonToRoleAssignment, confirmOperation, stringToBigInt, parseDepositArray, logInfo, getCommandsJson, stringToAddress, createPDGProof, confirmProposal, formatBP, callReadMethodSilent, showSpinner, stringToBigIntArrayWei, stringToHexArray, etherToWei, stringToNumber, } 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('transfer-vault-ownership')
18
+ .alias('ownership')
19
+ .description('transfers the ownership of the underlying StakingVault from this contract to a new owner without disconnecting it from the hub')
20
+ .argument('<address>', 'dashboard address', stringToAddress)
21
+ .argument('<newOwner>', 'address of the new owner', stringToAddress)
22
+ .action(async (address, newOwner) => {
23
+ const contract = getDashboardContract(address);
24
+ const vault = await callReadMethod(contract, 'stakingVault');
25
+ const confirm = await confirmOperation(`Are you sure you want to transfer ownership of the staking vault ${vault} to ${newOwner}?`);
26
+ if (!confirm)
27
+ return;
28
+ await callWriteMethodWithReceipt({
29
+ contract,
30
+ methodName: 'transferVaultOwnership',
31
+ payload: [newOwner],
32
+ });
33
+ });
34
+ dashboardWrite
35
+ .command('voluntary-disconnect')
36
+ .description('disconnects the staking vault from the vault hub')
37
+ .argument('<address>', 'dashboard address', stringToAddress)
38
+ .action(async (address) => {
39
+ const contract = getDashboardContract(address);
40
+ const vault = await callReadMethod(contract, 'stakingVault');
41
+ const confirm = await confirmOperation(`Are you sure you want to disconnect the staking vault ${vault}?`);
42
+ if (!confirm)
43
+ return;
44
+ const isReportFresh = await checkIsReportFresh(vault);
45
+ if (!isReportFresh)
46
+ return;
47
+ await callWriteMethodWithReceipt({
48
+ contract,
49
+ methodName: 'voluntaryDisconnect',
50
+ payload: [],
51
+ });
52
+ });
53
+ dashboardWrite
54
+ .command('fund')
55
+ .description('funds the staking vault with ether')
56
+ .argument('<address>', 'dashboard address', stringToAddress)
57
+ .argument('<ether>', 'amount of ether to be funded (in ETH)')
58
+ .action(async (address, ether) => {
59
+ const contract = getDashboardContract(address);
60
+ const vault = await callReadMethod(contract, 'stakingVault');
61
+ const confirm = await confirmOperation(`Are you sure you want to fund the staking vault ${vault} with ${ether} ether?`);
62
+ if (!confirm)
63
+ return;
64
+ await callWriteMethodWithReceipt({
65
+ contract,
66
+ methodName: 'fund',
67
+ payload: [],
68
+ value: parseEther(ether),
69
+ });
70
+ });
71
+ dashboardWrite
72
+ .command('withdraw')
73
+ .description('withdraws ether from the staking vault to a recipient')
74
+ .argument('<address>', 'dashboard address', stringToAddress)
75
+ .argument('<recipient>', 'address of the recipient', stringToAddress)
76
+ .argument('<eth>', 'amount of ether to withdraw (in ETH)')
77
+ .action(async (address, recipient, ether) => {
78
+ const contract = getDashboardContract(address);
79
+ const vault = await callReadMethod(contract, 'stakingVault');
80
+ const confirm = await confirmOperation(`Are you sure you want to withdraw ${ether} from the staking vault ${vault} to ${recipient}?`);
81
+ if (!confirm)
82
+ return;
83
+ const isReportFresh = await checkIsReportFresh(vault);
84
+ if (!isReportFresh)
85
+ return;
86
+ await callWriteMethodWithReceipt({
87
+ contract,
88
+ methodName: 'withdraw',
89
+ payload: [recipient, parseEther(ether)],
90
+ });
91
+ });
92
+ dashboardWrite
93
+ .command('exit')
94
+ .description('requests the exit of a validator from the staking vault')
95
+ .argument('<address>', 'dashboard address', stringToAddress)
96
+ .argument('<validatorPubKey>', 'public key of the validator to exit')
97
+ .action(async (address, validatorPubKey) => {
98
+ const contract = getDashboardContract(address);
99
+ const vault = await callReadMethod(contract, 'stakingVault');
100
+ const confirm = await confirmOperation(`Are you sure you want to exit the validator ${validatorPubKey} from the staking vault ${vault}?`);
101
+ if (!confirm)
102
+ return;
103
+ await callWriteMethodWithReceipt({
104
+ contract,
105
+ methodName: 'requestValidatorExit',
106
+ payload: [validatorPubKey],
107
+ });
108
+ });
109
+ dashboardWrite
110
+ .command('trigger-validator-withdrawal')
111
+ .description('triggers the withdrawal of a validator from the staking vault')
112
+ .argument('<address>', 'dashboard address', stringToAddress)
113
+ .argument('<pubkeys>', 'pubkeys of the validators to withdraw. Comma separated list of pubkeys', stringToHexArray)
114
+ .argument('<amounts>', 'amounts of ether to withdraw. Comma separated list of amounts', stringToBigIntArrayWei)
115
+ .argument('<recipient>', 'address of the recipient', stringToAddress)
116
+ .action(async (address, pubkeys, amounts, recipient) => {
117
+ const mergedPubkeys = pubkeys.join('');
118
+ const contract = getDashboardContract(address);
119
+ const vault = await callReadMethod(contract, 'stakingVault');
120
+ const vaultContract = getStakingVaultContract(vault);
121
+ const fee = await callReadMethod(vaultContract, 'calculateValidatorWithdrawalFee', [BigInt(amounts.length)]);
122
+ const confirmationMessage = `Are you sure you want to trigger the withdrawal of the validators
123
+ ${pubkeys.join(', ')}
124
+ from the staking vault ${vault} to ${recipient}
125
+ with amounts ${amounts.map((amount) => formatEther(amount)).join(', ')} ETH?`;
126
+ const confirm = await confirmOperation(confirmationMessage);
127
+ if (!confirm)
128
+ return;
129
+ const gweiAmounts = amounts.map((amount) => parseEther(formatEther(amount), 'gwei'));
130
+ await callWriteMethodWithReceipt({
131
+ contract,
132
+ methodName: 'triggerValidatorWithdrawals',
133
+ payload: [mergedPubkeys, gweiAmounts, recipient],
134
+ value: fee,
135
+ });
136
+ });
137
+ dashboardWrite
138
+ .command('mint-shares')
139
+ .alias('mint')
140
+ .description('mints stETH tokens backed by the vault to a recipient')
141
+ .argument('<address>', 'dashboard address', stringToAddress)
142
+ .argument('<recipient>', 'address of the recipient', stringToAddress)
143
+ .argument('<amountOfShares>', 'amount of shares to mint (in Shares)')
144
+ .action(async (address, recipient, amountOfShares) => {
145
+ const contract = getDashboardContract(address);
146
+ const vault = await callReadMethod(contract, 'stakingVault');
147
+ await mintShares(contract, recipient, parseEther(amountOfShares), vault, 'mintShares');
148
+ });
149
+ dashboardWrite
150
+ .command('mint-steth')
151
+ .description('mints stETH tokens backed by the vault to a recipient')
152
+ .argument('<address>', 'dashboard address', stringToAddress)
153
+ .argument('<recipient>', 'address of the recipient', stringToAddress)
154
+ .argument('<amountOfSteth>', 'amount of stETH to mint')
155
+ .action(async (address, recipient, amountOfSteth) => {
156
+ const contract = getDashboardContract(address);
157
+ const vault = await callReadMethod(contract, 'stakingVault');
158
+ await mintSteth(contract, recipient, parseEther(amountOfSteth), vault);
159
+ });
160
+ dashboardWrite
161
+ .command('mint-wsteth')
162
+ .description('mints wstETH tokens backed by the vault to a recipient')
163
+ .argument('<address>', 'dashboard address', stringToAddress)
164
+ .argument('<recipient>', 'address of the recipient', stringToAddress)
165
+ .argument('<amountOfWsteth>', 'amount of wstETH to mint')
166
+ .action(async (address, recipient, amountOfWsteth) => {
167
+ const contract = getDashboardContract(address);
168
+ const vault = await callReadMethod(contract, 'stakingVault');
169
+ await mintShares(contract, recipient, parseEther(amountOfWsteth), vault, 'mintWstETH');
170
+ });
171
+ dashboardWrite
172
+ .command('burn-shares')
173
+ .alias('burn')
174
+ .description('Burns stETH shares from the sender backed by the vault. Expects corresponding amount of stETH approved to this contract')
175
+ .argument('<address>', 'dashboard address', stringToAddress)
176
+ .argument('<amountOfShares>', 'amount of shares to burn (in Shares)')
177
+ .action(async (address, amountOfShares) => {
178
+ const contract = getDashboardContract(address);
179
+ const vault = await callReadMethod(contract, 'stakingVault');
180
+ await burnShares(contract, parseEther(amountOfShares), vault, 'burnShares');
181
+ });
182
+ dashboardWrite
183
+ .command('burn-steth')
184
+ .description('Burns stETH shares from the sender backed by the vault. Expects stETH amount approved to this contract.')
185
+ .argument('<address>', 'dashboard address', stringToAddress)
186
+ .argument('<amountOfShares>', 'amount of shares to burn (in stETH)')
187
+ .action(async (address, amountOfShares) => {
188
+ const contract = getDashboardContract(address);
189
+ const vault = await callReadMethod(contract, 'stakingVault');
190
+ await burnSteth(contract, parseEther(amountOfShares), vault);
191
+ });
192
+ dashboardWrite
193
+ .command('burn-wsteth')
194
+ .description('burn wstETH tokens from the sender backed by the vault')
195
+ .argument('<address>', 'dashboard address', stringToAddress)
196
+ .argument('<tokens>', 'amount of wstETH tokens to burn (in wstETH)')
197
+ .action(async (address, tokens) => {
198
+ const contract = getDashboardContract(address);
199
+ const vault = await callReadMethod(contract, 'stakingVault');
200
+ await burnShares(contract, parseEther(tokens), vault, 'burnWstETH');
201
+ });
202
+ dashboardWrite
203
+ .command('rebalance-ether')
204
+ .description('rebalance the vault by transferring ether')
205
+ .argument('<address>', 'dashboard address', stringToAddress)
206
+ .argument('<ether>', 'amount of ether to rebalance (in ETH)', etherToWei)
207
+ .action(async (address, ether) => {
208
+ const contract = getDashboardContract(address);
209
+ const vault = await callReadMethod(contract, 'stakingVault');
210
+ const confirm = await confirmOperation(`Are you sure you want to rebalance the vault ${vault} with ${formatEther(ether)} ether by transferring?`);
211
+ if (!confirm)
212
+ return;
213
+ await callWriteMethodWithReceipt({
214
+ contract,
215
+ methodName: 'rebalanceVaultWithEther',
216
+ payload: [ether],
217
+ value: ether,
218
+ });
219
+ });
220
+ dashboardWrite
221
+ .command('rebalance-shares')
222
+ .description('rebalance the vault by transferring shares')
223
+ .argument('<address>', 'dashboard address', stringToAddress)
224
+ .argument('<shares>', 'amount of shares to rebalance (in shares)', etherToWei)
225
+ .action(async (address, shares) => {
226
+ const contract = getDashboardContract(address);
227
+ const vault = await callReadMethod(contract, 'stakingVault');
228
+ const confirm = await confirmOperation(`Are you sure you want to rebalance the vault ${vault} with ${formatEther(shares)} shares?`);
229
+ if (!confirm)
230
+ return;
231
+ await callWriteMethodWithReceipt({
232
+ contract,
233
+ methodName: 'rebalanceVaultWithShares',
234
+ payload: [shares],
235
+ });
236
+ });
237
+ dashboardWrite
238
+ .command('recover-erc20')
239
+ .description('recovers ERC20 tokens or ether from the dashboard contract to the recipient')
240
+ .argument('<address>', 'dashboard address', stringToAddress)
241
+ .argument('<token>', 'address of the token to recover or 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee for ether (EIP-7528)', stringToAddress)
242
+ .argument('<amount>', 'amount of tokens or ether to recover (in ETH)', etherToWei)
243
+ .argument('<recipient>', 'address of the recovery recipient', stringToAddress)
244
+ .action(async (address, token, amount, recipient) => {
245
+ const contract = getDashboardContract(address);
246
+ const confirm = await confirmOperation(`Are you sure you want to recover the token ${token} with amount ${formatEther(amount)} from the dashboard contract ${address} to ${recipient}?`);
247
+ if (!confirm)
248
+ return;
249
+ await callWriteMethodWithReceipt({
250
+ contract,
251
+ methodName: 'recoverERC20',
252
+ payload: [token, recipient, amount],
253
+ });
254
+ });
255
+ dashboardWrite
256
+ .command('collect-erc20-from-vault')
257
+ .description('collects ERC20 tokens from vault contract balance to the recipient')
258
+ .argument('<address>', 'dashboard address', stringToAddress)
259
+ .argument('<token>', 'address of the token to recover or 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee for ether (EIP-7528)', stringToAddress)
260
+ .argument('<amount>', 'amount of tokens or ether to recover (in ETH)', etherToWei)
261
+ .argument('<recipient>', 'address of the recovery recipient', stringToAddress)
262
+ .action(async (address, token, amount, recipient) => {
263
+ const contract = getDashboardContract(address);
264
+ const confirm = await confirmOperation(`Are you sure you want to recover the token ${token} with amount ${formatEther(amount)} from the dashboard contract ${address} to ${recipient}?`);
265
+ if (!confirm)
266
+ return;
267
+ await callWriteMethodWithReceipt({
268
+ contract,
269
+ methodName: 'collectERC20FromVault',
270
+ payload: [token, recipient, amount],
271
+ });
272
+ });
273
+ dashboardWrite
274
+ .command('deposit-pause')
275
+ .description('Pauses beacon chain deposits on the staking vault.')
276
+ .argument('<address>', 'dashboard address', stringToAddress)
277
+ .action(async (address) => {
278
+ const contract = getDashboardContract(address);
279
+ const vault = await callReadMethod(contract, 'stakingVault');
280
+ const confirm = await confirmOperation(`Are you sure you want to pause beacon chain deposits on the staking vault ${vault}?`);
281
+ if (!confirm)
282
+ return;
283
+ await callWriteMethodWithReceipt({
284
+ contract,
285
+ methodName: 'pauseBeaconChainDeposits',
286
+ payload: [],
287
+ });
288
+ });
289
+ dashboardWrite
290
+ .command('deposit-resume')
291
+ .description('resumes deposits to beacon chain')
292
+ .argument('<address>', 'dashboard address', stringToAddress)
293
+ .action(async (address) => {
294
+ const contract = getDashboardContract(address);
295
+ const vault = await callReadMethod(contract, 'stakingVault');
296
+ const confirm = await confirmOperation(`Are you sure you want to resume beacon chain deposits on the staking vault ${vault}?`);
297
+ if (!confirm)
298
+ return;
299
+ await callWriteMethodWithReceipt({
300
+ contract,
301
+ methodName: 'resumeBeaconChainDeposits',
302
+ payload: [],
303
+ });
304
+ });
305
+ dashboardWrite
306
+ .command('role-grant')
307
+ .description('mass-grants multiple roles to multiple accounts.')
308
+ .argument('<address>', 'dashboard address', stringToAddress)
309
+ .argument('<roleAssignmentJSON>', 'JSON array of role assignments', jsonToRoleAssignment)
310
+ .addHelpText('after', `Role assignment format:
311
+ [{
312
+ "account": "...",
313
+ "role": "..."
314
+ }
315
+ {second role assignment}
316
+ ...]`)
317
+ .action(async (address, roleAssignment) => {
318
+ const contract = getDashboardContract(address);
319
+ if (!Array.isArray(roleAssignment)) {
320
+ throw new Error('the 2nd argument should be an array of role assignments');
321
+ }
322
+ const vault = await callReadMethod(contract, 'stakingVault');
323
+ const confirm = await confirmOperation(`Are you sure you want to grant the roles ${roleAssignment.map((i) => JSON.stringify(i))} in the vault ${vault}?`);
324
+ if (!confirm)
325
+ return;
326
+ await callWriteMethodWithReceipt({
327
+ contract,
328
+ methodName: 'grantRoles',
329
+ payload: [roleAssignment],
330
+ });
331
+ });
332
+ dashboardWrite
333
+ .command('role-revoke')
334
+ .description('mass-revokes multiple roles from multiple accounts')
335
+ .argument('<address>', 'dashboard address', stringToAddress)
336
+ .argument('<roleAssignmentJSON>', 'JSON array of role assignments', jsonToRoleAssignment)
337
+ .addHelpText('after', `Role assignment format:
338
+ [{
339
+ "account": "...",
340
+ "role": "..."
341
+ }
342
+ {second role assignment}
343
+ ...]`)
344
+ .action(async (address, roleAssignment) => {
345
+ const contract = getDashboardContract(address);
346
+ if (!Array.isArray(roleAssignment)) {
347
+ throw new Error('the 2nd argument should be an array of role assignments');
348
+ }
349
+ const vault = await callReadMethod(contract, 'stakingVault');
350
+ const confirm = await confirmOperation(`Are you sure you want to revoke the roles ${roleAssignment.map((i) => JSON.stringify(i))} in the vault ${vault}?`);
351
+ if (!confirm)
352
+ return;
353
+ await callWriteMethodWithReceipt({
354
+ contract,
355
+ methodName: 'revokeRoles',
356
+ payload: [roleAssignment],
357
+ });
358
+ });
359
+ dashboardWrite
360
+ .command('unguaranteed-deposit-to-beacon-chain')
361
+ .alias('unguaranteed-deposit')
362
+ .description('withdraws ether from vault and deposits directly to provided validators bypassing the default PDG process')
363
+ .argument('<address>', 'dashboard address', stringToAddress)
364
+ .argument('<deposits>', 'array of IStakingVault.Deposit structs containing deposit data', parseDepositArray)
365
+ .option('--no-bls-check', 'skip bls signature check')
366
+ .addHelpText('after', `Deposit format (amount are in gwei):
367
+ '[{
368
+ "pubkey": "...",
369
+ "signature": "...",
370
+ "amount": "...",
371
+ "deposit_data_root": "..."
372
+ }
373
+ {second deposit}
374
+ ...]'`)
375
+ .action(async (address, deposits, { blsCheck }) => {
376
+ const contract = getDashboardContract(address);
377
+ const vault = await callReadMethod(contract, 'stakingVault');
378
+ const vaultContract = getStakingVaultContract(vault);
379
+ const confirm = await confirmOperation(`Are you sure you want to unguaranteed deposit ${deposits.length} deposits to the beacon chain in the staking vault ${vault}?
380
+ Pubkeys: ${deposits.map((i) => i.pubkey).join(', ')}`);
381
+ if (!confirm)
382
+ return;
383
+ if (blsCheck)
384
+ await checkBLSDeposits(vaultContract, deposits);
385
+ await callWriteMethodWithReceipt({
386
+ contract,
387
+ methodName: 'unguaranteedDepositToBeaconChain',
388
+ payload: [deposits],
389
+ });
390
+ });
391
+ dashboardWrite
392
+ .command('prove-unknown-validators-to-pdg')
393
+ .alias('prove-unknown-validators')
394
+ .description('proves validators with correct vault WC if they are unknown to PDG')
395
+ .argument('<address>', 'dashboard address', stringToAddress)
396
+ .argument('<validatorIndex...>', 'index of the validator to prove')
397
+ .action(async (address, validatorIndexes) => {
398
+ const contract = getDashboardContract(address);
399
+ const vault = await callReadMethod(contract, 'stakingVault');
400
+ const vaultContract = getStakingVaultContract(vault);
401
+ const pdgContract = await callReadMethodSilent(vaultContract, 'depositor');
402
+ const payload = [];
403
+ const pdgPolicy = await callReadMethodSilent(contract, 'pdgPolicy');
404
+ const isAllowed = pdgPolicy === 2;
405
+ if (!isAllowed) {
406
+ throw new Error(`Dashboard PDG policy is not set to allow proving unknown validators to PDG`);
407
+ }
408
+ for (const validatorIndex of validatorIndexes) {
409
+ const hideSpinner = showSpinner({
410
+ type: 'bouncingBar',
411
+ message: `Making proof for validator ${validatorIndex}...`,
412
+ });
413
+ const packageProof = await createPDGProof(Number(validatorIndex));
414
+ const { proof, pubkey, childBlockTimestamp, slot, proposerIndex } = packageProof;
415
+ hideSpinner();
416
+ 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}?
417
+ Witnesses length: ${proof.length}`);
418
+ if (!confirm)
419
+ return;
420
+ const proofItem = {
421
+ proof,
422
+ pubkey,
423
+ validatorIndex: BigInt(validatorIndex),
424
+ childBlockTimestamp,
425
+ slot,
426
+ proposerIndex,
427
+ };
428
+ payload.push(proofItem);
429
+ }
430
+ await callWriteMethodWithReceipt({
431
+ contract,
432
+ methodName: 'proveUnknownValidatorsToPDG',
433
+ payload: [payload],
434
+ });
435
+ });
436
+ dashboardWrite
437
+ .command('abandon-dashboard')
438
+ .alias('abandon')
439
+ .description('accepts the ownership over the StakingVault transferred from VaultHub on disconnect and immediately transfers it to a new pending owner. This new owner will have to accept the ownership on the StakingVault contract')
440
+ .argument('<address>', 'dashboard address', stringToAddress)
441
+ .argument('<newOwner>', 'new owner address', stringToAddress)
442
+ .action(async (address, newOwner) => {
443
+ const contract = getDashboardContract(address);
444
+ const vault = await callReadMethod(contract, 'stakingVault');
445
+ const confirm = await confirmOperation(`Are you sure you want to abandon the dashboard ${address} (vault: ${vault})?`);
446
+ if (!confirm)
447
+ return;
448
+ await callWriteMethodWithReceipt({
449
+ contract,
450
+ methodName: 'abandonDashboard',
451
+ payload: [newOwner],
452
+ });
453
+ });
454
+ dashboardWrite
455
+ .command('connect-to-vault-hub')
456
+ .alias('connect-hub')
457
+ .description('connects to VaultHub, transferring underlying StakingVault ownership to VaultHub.')
458
+ .argument('<address>', 'dashboard address', stringToAddress)
459
+ .addHelpText('after', `Reverts if settledGrowth is not corrected after the vault is disconnected`)
460
+ .action(async (address) => {
461
+ const contract = getDashboardContract(address);
462
+ const vault = await callReadMethod(contract, 'stakingVault');
463
+ const currentSettledGrowth = await callReadMethodSilent(contract, 'settledGrowth');
464
+ const confirm = await confirmOperation(`Are you sure you want to connect the dashboard ${address} (vault: ${vault}) to VaultHub?
465
+ Current settled growth: ${formatEther(currentSettledGrowth)}`);
466
+ if (!confirm)
467
+ return;
468
+ await callWriteMethodWithReceipt({
469
+ contract,
470
+ methodName: 'connectToVaultHub',
471
+ payload: [],
472
+ });
473
+ });
474
+ dashboardWrite
475
+ .command('reconnect-to-vault-hub')
476
+ .alias('reconnect-hub')
477
+ .description('accepts the ownership over the StakingVault and connects to VaultHub. Can be called to reconnect to the hub after voluntaryDisconnect()')
478
+ .argument('<address>', 'dashboard address', stringToAddress)
479
+ .addHelpText('after', `Reverts if settledGrowth is not corrected after the vault is disconnected`)
480
+ .action(async (address) => {
481
+ const contract = getDashboardContract(address);
482
+ const vault = await callReadMethod(contract, 'stakingVault');
483
+ const currentSettledGrowth = await callReadMethodSilent(contract, 'settledGrowth');
484
+ const confirm = await confirmOperation(`Are you sure you want to reconnect the dashboard ${address} (vault: ${vault}) to VaultHub?
485
+ Current settled growth: ${formatEther(currentSettledGrowth)}`);
486
+ if (!confirm)
487
+ return;
488
+ await callWriteMethodWithReceipt({
489
+ contract,
490
+ methodName: 'reconnectToVaultHub',
491
+ payload: [],
492
+ });
493
+ });
494
+ dashboardWrite
495
+ .command('connect-and-accept-tier')
496
+ .alias('connect-and-accept')
497
+ .description('changes the tier of the vault and connects to VaultHub')
498
+ .argument('<address>', 'dashboard address', stringToAddress)
499
+ .argument('<tier>', 'tier to change to', stringToBigInt)
500
+ .argument('<requestedShareLimit>', 'requested new share limit for the vault (in shares)', etherToWei)
501
+ .option('-f, --fund', 'optional fund the vault with 1 ETH', false)
502
+ .addHelpText('after', `Reverts if settledGrowth is not corrected after the vault is disconnected`)
503
+ .action(async (address, tier, requestedShareLimit, { fund }) => {
504
+ const contract = getDashboardContract(address);
505
+ const vault = await callReadMethod(contract, 'stakingVault');
506
+ const currentSettledGrowth = await callReadMethodSilent(contract, 'settledGrowth');
507
+ const confirm = await confirmOperation(`Are you sure you want to change the tier of the vault ${vault} to ${tier} and connect to VaultHub?
508
+ Requested share limit: ${formatEther(requestedShareLimit)}
509
+ Current settled growth: ${formatEther(currentSettledGrowth)}`);
510
+ if (!confirm)
511
+ return;
512
+ await callWriteMethodWithReceipt({
513
+ contract,
514
+ methodName: 'connectAndAcceptTier',
515
+ payload: [tier, requestedShareLimit],
516
+ value: fund ? parseEther('1') : undefined,
517
+ });
518
+ });
519
+ dashboardWrite
520
+ .command('set-pdg-policy')
521
+ .description('set the PDG policy')
522
+ .argument('<address>', 'dashboard address', stringToAddress)
523
+ .argument('<policy>', 'policy to set the PDG policy to', stringToNumber)
524
+ .addHelpText('after', `Policy values:
525
+ 0: STRICT
526
+ 1: ALLOW_PROVE
527
+ 2: ALLOW_DEPOSIT_AND_PROVE`)
528
+ .action(async (address, policy) => {
529
+ const contract = getDashboardContract(address);
530
+ const PDG_POLICY = {
531
+ 0: 'STRICT',
532
+ 1: 'ALLOW_PROVE',
533
+ 2: 'ALLOW_DEPOSIT_AND_PROVE',
534
+ };
535
+ const confirm = await confirmOperation(`Are you sure you want to set the PDG policy to ${policy} (${PDG_POLICY[policy]})?`);
536
+ if (!confirm)
537
+ return;
538
+ await callWriteMethodWithReceipt({
539
+ contract,
540
+ methodName: 'setPDGPolicy',
541
+ payload: [policy],
542
+ });
543
+ });
544
+ dashboardWrite
545
+ .command('set-node-operator-fee-recipient')
546
+ .alias('set-no-f-r')
547
+ .description('sets the node operator fee recipient')
548
+ .argument('<address>', 'dashboard address', stringToAddress)
549
+ .argument('<recipient>', 'address of the new node operator fee recipient', stringToAddress)
550
+ .action(async (address, recipient) => {
551
+ const contract = getDashboardContract(address);
552
+ const confirm = await confirmOperation(`Are you sure you want to set the node operator fee recipient to ${recipient}?`);
553
+ if (!confirm)
554
+ return;
555
+ await callWriteMethodWithReceipt({
556
+ contract,
557
+ methodName: 'setFeeRecipient',
558
+ payload: [recipient],
559
+ });
560
+ });
561
+ dashboardWrite
562
+ .command('confirm-proposal')
563
+ .description('Confirms a proposal')
564
+ .argument('<address>', 'dashboard address', stringToAddress)
565
+ .action(async (address) => {
566
+ const contract = getDashboardContract(address);
567
+ const vault = await callReadMethodSilent(contract, 'stakingVault');
568
+ const operatorGridContract = await getOperatorGridContract();
569
+ const log = await confirmProposal({
570
+ contract: contract,
571
+ vault,
572
+ additionalContracts: [operatorGridContract],
573
+ });
574
+ if (!log)
575
+ return;
576
+ const isChangeTier = log.decodedData.functionName === 'changeTier';
577
+ // ChangeTier event from OperatorGrid has 3 args (vault, tierId, shareLimit), but we need only 2 (tierId, shareLimit)
578
+ let args = log.decodedData.args;
579
+ if (isChangeTier && args && args.length === 3) {
580
+ args = [args[1], args[2]];
581
+ }
582
+ await callWriteMethodWithReceipt({
583
+ contract,
584
+ methodName: log.decodedData.functionName,
585
+ payload: args,
586
+ });
587
+ });
588
+ dashboardWrite
589
+ .command('set-confirm-expiry')
590
+ .description('Sets the confirm expiry')
591
+ .argument('<address>', 'dashboard address', stringToAddress)
592
+ .argument('<expiry>', 'expiry in seconds', stringToBigInt)
593
+ .action(async (address, expiry) => {
594
+ const contract = getDashboardContract(address);
595
+ const hours = Number(expiry) / 3600;
596
+ const confirm = await confirmOperation(`Are you sure you want to set the confirm expiry to ${expiry} seconds (${hours} hours)?`);
597
+ if (!confirm)
598
+ return;
599
+ await callWriteMethodWithReceipt({
600
+ contract,
601
+ methodName: 'setConfirmExpiry',
602
+ payload: [expiry],
603
+ });
604
+ });
605
+ dashboardWrite
606
+ .command('set-node-operator-fee-rate')
607
+ .description('updates the node-operator`s fee rate (basis-points share)')
608
+ .argument('<address>', 'dashboard address', stringToAddress)
609
+ .argument('<fee>', 'the new node operator fee rate in basis points', stringToBigInt)
610
+ .action(async (address, fee) => {
611
+ const contract = getDashboardContract(address);
612
+ const percentage = formatBP(fee);
613
+ const confirm = await confirmOperation(`Are you sure you want to set the node operator fee ${fee} in basis points (${percentage})?`);
614
+ if (!confirm)
615
+ return;
616
+ await callWriteMethodWithReceipt({
617
+ contract,
618
+ methodName: 'setFeeRate',
619
+ payload: [fee],
620
+ });
621
+ });
622
+ dashboardWrite
623
+ .command('disburse-node-operator-fee')
624
+ .description('transfers the node-operator`s accrued fee (if any) to nodeOperatorFeeRecipient')
625
+ .argument('<address>', 'dashboard address', stringToAddress)
626
+ .action(async (address) => {
627
+ const contract = getDashboardContract(address);
628
+ const nodeOperatorFeeRecipient = await callReadMethodSilent(contract, 'feeRecipient');
629
+ const confirm = await confirmOperation(`Are you sure you want to transfer the node operator fee to ${nodeOperatorFeeRecipient}?`);
630
+ if (!confirm)
631
+ return;
632
+ await callWriteMethodWithReceipt({
633
+ contract,
634
+ methodName: 'disburseFee',
635
+ payload: [],
636
+ });
637
+ });
638
+ dashboardWrite
639
+ .command('change-tier')
640
+ .alias('ct')
641
+ .description('vault tier change with multi-role confirmation')
642
+ .argument('<address>', 'dashboard address', stringToAddress)
643
+ .argument('<tierId>', 'tier id', stringToBigInt)
644
+ .argument('<requestedShareLimit>', 'requested share limit (in shares)', etherToWei)
645
+ .action(async (address, tierId, requestedShareLimit) => {
646
+ const contract = getDashboardContract(address);
647
+ const vault = await callReadMethod(contract, 'stakingVault');
648
+ const confirm = await confirmOperation(`Are you sure you want to change the current tier to tier ID ${tierId} for vault ${vault} with share limit ${formatEther(requestedShareLimit)} shares?`);
649
+ if (!confirm)
650
+ return;
651
+ await callWriteMethodWithReceipt({
652
+ contract,
653
+ methodName: 'changeTier',
654
+ payload: [tierId, requestedShareLimit],
655
+ });
656
+ });
657
+ dashboardWrite
658
+ .command('sync-tier')
659
+ .alias('st')
660
+ .description('requests a sync of tier on the OperatorGrid')
661
+ .argument('<address>', 'dashboard address', stringToAddress)
662
+ .addHelpText('after', `Tier sync confirmation logic:
663
+ - Both vault owner (via this function) AND node operator confirmations are required
664
+ - First call returns false (pending), second call with both confirmations completes the sync
665
+ - Confirmations expire after the configured period (default: 1 day)`)
666
+ .action(async (address) => {
667
+ const contract = getDashboardContract(address);
668
+ const vault = await callReadMethod(contract, 'stakingVault');
669
+ const confirm = await confirmOperation(`Are you sure you want to sync the tier of the vault ${vault}?`);
670
+ if (!confirm)
671
+ return;
672
+ await callWriteMethodWithReceipt({
673
+ contract,
674
+ methodName: 'syncTier',
675
+ payload: [],
676
+ });
677
+ });
678
+ dashboardWrite
679
+ .command('update-share-limit')
680
+ .alias('usl')
681
+ .description('requests a change of share limit on the OperatorGrid')
682
+ .argument('<address>', 'dashboard address', stringToAddress)
683
+ .argument('<shareLimit>', 'share limit', etherToWei)
684
+ .action(async (address, shareLimit) => {
685
+ const contract = getDashboardContract(address);
686
+ const vault = await callReadMethod(contract, 'stakingVault');
687
+ const confirm = await confirmOperation(`Are you sure you want to request a change of share limit on the OperatorGrid for the vault ${vault} to ${formatEther(shareLimit)}?`);
688
+ if (!confirm)
689
+ return;
690
+ await callWriteMethodWithReceipt({
691
+ contract,
692
+ methodName: 'updateShareLimit',
693
+ payload: [shareLimit],
694
+ });
695
+ });
696
+ dashboardWrite
697
+ .command('disburse-abnormally-high-fee')
698
+ .description('Disburses an abnormally high fee as `DEFAULT_ADMIN_ROLE`. Before calling this function, the caller must ensure that the high fee is expected, and the settled growth (used as baseline for fee) is set correctly.')
699
+ .argument('<address>', 'dashboard address', stringToAddress)
700
+ .action(async (address) => {
701
+ const contract = getDashboardContract(address);
702
+ const confirm = await confirmOperation('Are you sure you want to disburse an abnormally high fee as `DEFAULT_ADMIN_ROLE`?');
703
+ if (!confirm)
704
+ return;
705
+ await callWriteMethodWithReceipt({
706
+ contract,
707
+ methodName: 'disburseAbnormallyHighFee',
708
+ payload: [],
709
+ });
710
+ });
711
+ dashboardWrite
712
+ .command('correct-settled-growth')
713
+ .description('Manually corrects the settled growth value with dual confirmation.')
714
+ .argument('<address>', 'dashboard address', stringToAddress)
715
+ .argument('<newSettledGrowth>', 'new settled growth', etherToWei)
716
+ .action(async (address, newSettledGrowth) => {
717
+ const contract = getDashboardContract(address);
718
+ const currentSettledGrowth = await callReadMethodSilent(contract, 'settledGrowth');
719
+ const confirm = await confirmOperation(`Are you sure you want to correct the settled growth to ${newSettledGrowth}?
720
+ Current settled growth: ${formatEther(currentSettledGrowth)}`);
721
+ if (!confirm)
722
+ return;
723
+ await callWriteMethodWithReceipt({
724
+ contract,
725
+ methodName: 'correctSettledGrowth',
726
+ payload: [newSettledGrowth, currentSettledGrowth],
727
+ });
728
+ });
729
+ dashboardWrite
730
+ .command('recover-fee-leftover')
731
+ .alias('rfl')
732
+ .description('Recovers the previously collected fees to the feeRecipient address')
733
+ .argument('<address>', 'dashboard address', stringToAddress)
734
+ .action(async (address) => {
735
+ const contract = getDashboardContract(address);
736
+ const feeLeftover = await callReadMethodSilent(contract, 'feeLeftover');
737
+ const confirm = await confirmOperation(`Are you sure you want to recover the fee leftover from the dashboard contract ${address}?
738
+ Fee leftover: ${formatEther(feeLeftover)}`);
739
+ if (!confirm)
740
+ return;
741
+ await callWriteMethodWithReceipt({
742
+ contract,
743
+ methodName: 'recoverFeeLeftover',
744
+ payload: [],
745
+ });
746
+ });
747
+ //# sourceMappingURL=write.js.map