@lidofinance/lsv-cli 1.0.0-alpha.6 → 1.0.0-alpha.60

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 (682) hide show
  1. package/README.md +41 -20
  2. package/dist/abi/AccessControlConfirmable.d.ts +331 -0
  3. package/dist/abi/AccessControlConfirmable.js +430 -0
  4. package/dist/abi/AccessControlConfirmable.js.map +1 -0
  5. package/dist/abi/Dashboard.d.ts +2305 -0
  6. package/dist/abi/Dashboard.js +2105 -0
  7. package/dist/abi/Dashboard.js.map +1 -0
  8. package/dist/abi/LazyOracle.d.ts +604 -0
  9. package/dist/abi/LazyOracle.js +782 -0
  10. package/dist/abi/LazyOracle.js.map +1 -0
  11. package/dist/abi/LidoLocator.d.ts +358 -0
  12. package/dist/abi/LidoLocator.js +462 -0
  13. package/dist/abi/LidoLocator.js.map +1 -0
  14. package/dist/abi/OperatorGrid.d.ts +1246 -0
  15. package/dist/abi/OperatorGrid.js +1368 -0
  16. package/dist/abi/OperatorGrid.js.map +1 -0
  17. package/dist/abi/PredepositGuarantee.d.ts +1697 -0
  18. package/dist/abi/PredepositGuarantee.js +2010 -0
  19. package/dist/abi/PredepositGuarantee.js.map +1 -0
  20. package/dist/abi/StEth.d.ts +372 -0
  21. package/dist/abi/StEth.js +493 -0
  22. package/dist/abi/StEth.js.map +1 -0
  23. package/dist/abi/StakingVault.d.ts +757 -0
  24. package/dist/abi/StakingVault.js +790 -0
  25. package/dist/abi/StakingVault.js.map +1 -0
  26. package/dist/abi/TokenManager.d.ts +577 -0
  27. package/dist/abi/TokenManager.js +756 -0
  28. package/dist/abi/TokenManager.js.map +1 -0
  29. package/dist/abi/VaultFactory.d.ts +739 -0
  30. package/dist/abi/VaultFactory.js +269 -0
  31. package/dist/abi/VaultFactory.js.map +1 -0
  32. package/dist/abi/VaultHub.d.ts +2546 -0
  33. package/dist/abi/VaultHub.js +2276 -509
  34. package/dist/abi/VaultHub.js.map +1 -1
  35. package/dist/abi/VaultViewer.d.ts +530 -0
  36. package/dist/abi/VaultViewer.js +695 -0
  37. package/dist/abi/VaultViewer.js.map +1 -0
  38. package/dist/abi/Voting.d.ts +676 -0
  39. package/dist/abi/Voting.js +884 -0
  40. package/dist/abi/Voting.js.map +1 -0
  41. package/dist/abi/WstEth.d.ts +362 -0
  42. package/dist/abi/WstEth.js +478 -0
  43. package/dist/abi/WstEth.js.map +1 -0
  44. package/dist/abi/index.d.ts +14 -0
  45. package/dist/abi/index.js +15 -0
  46. package/dist/abi/index.js.map +1 -0
  47. package/dist/command/index.d.ts +2 -0
  48. package/dist/command/index.js +7 -5
  49. package/dist/command/index.js.map +1 -1
  50. package/dist/configs/constants.d.ts +34 -0
  51. package/dist/configs/constants.js +3 -0
  52. package/dist/configs/constants.js.map +1 -0
  53. package/dist/configs/deployed.d.ts +17 -0
  54. package/dist/configs/deployed.js +87 -52
  55. package/dist/configs/deployed.js.map +1 -1
  56. package/dist/configs/envs.d.ts +2 -0
  57. package/dist/configs/envs.js +13 -37
  58. package/dist/configs/envs.js.map +1 -1
  59. package/dist/configs/index.d.ts +3 -0
  60. package/dist/configs/index.js +3 -18
  61. package/dist/configs/index.js.map +1 -1
  62. package/dist/configs/utils.d.ts +4 -0
  63. package/dist/configs/utils.js +22 -0
  64. package/dist/configs/utils.js.map +1 -0
  65. package/dist/contracts/dashboard.d.ts +4 -0
  66. package/dist/contracts/dashboard.js +11 -0
  67. package/dist/contracts/dashboard.js.map +1 -0
  68. package/dist/contracts/index.d.ts +12 -0
  69. package/dist/contracts/index.js +12 -17
  70. package/dist/contracts/index.js.map +1 -1
  71. package/dist/contracts/lazy-oracle.d.ts +3 -0
  72. package/dist/contracts/lazy-oracle.js +18 -0
  73. package/dist/contracts/lazy-oracle.js.map +1 -0
  74. package/dist/contracts/locator.d.ts +8239 -0
  75. package/dist/contracts/locator.js +16 -0
  76. package/dist/contracts/locator.js.map +1 -0
  77. package/dist/contracts/operator-grid.d.ts +4 -0
  78. package/dist/contracts/operator-grid.js +17 -0
  79. package/dist/contracts/operator-grid.js.map +1 -0
  80. package/dist/contracts/pdg.d.ts +4 -0
  81. package/dist/contracts/pdg.js +17 -0
  82. package/dist/contracts/pdg.js.map +1 -0
  83. package/dist/contracts/steth.d.ts +27706 -0
  84. package/dist/contracts/steth.js +18 -0
  85. package/dist/contracts/steth.js.map +1 -0
  86. package/dist/contracts/token-manager.d.ts +3 -0
  87. package/dist/contracts/token-manager.js +13 -0
  88. package/dist/contracts/token-manager.js.map +1 -0
  89. package/dist/contracts/vault-factory.d.ts +16404 -0
  90. package/dist/contracts/vault-factory.js +14 -0
  91. package/dist/contracts/vault-factory.js.map +1 -0
  92. package/dist/contracts/vault-hub.d.ts +3 -0
  93. package/dist/contracts/vault-hub.js +14 -16
  94. package/dist/contracts/vault-hub.js.map +1 -1
  95. package/dist/contracts/vault-viewer.d.ts +9075 -0
  96. package/dist/contracts/vault-viewer.js +23 -0
  97. package/dist/contracts/vault-viewer.js.map +1 -0
  98. package/dist/contracts/vault.d.ts +4 -0
  99. package/dist/contracts/vault.js +11 -0
  100. package/dist/contracts/vault.js.map +1 -0
  101. package/dist/contracts/wsteth.d.ts +24690 -0
  102. package/dist/contracts/wsteth.js +18 -0
  103. package/dist/contracts/wsteth.js.map +1 -0
  104. package/dist/features/dashboard.d.ts +5 -0
  105. package/dist/features/dashboard.js +14 -0
  106. package/dist/features/dashboard.js.map +1 -0
  107. package/dist/features/deposits/check-bls-deposits.d.ts +3 -0
  108. package/dist/features/deposits/check-bls-deposits.js +15 -0
  109. package/dist/features/deposits/check-bls-deposits.js.map +1 -0
  110. package/dist/features/deposits/index.d.ts +3 -0
  111. package/dist/features/deposits/index.js +4 -0
  112. package/dist/features/deposits/index.js.map +1 -0
  113. package/dist/features/deposits/make-pdg-proof.d.ts +3 -0
  114. package/dist/features/deposits/make-pdg-proof.js +52 -0
  115. package/dist/features/deposits/make-pdg-proof.js.map +1 -0
  116. package/dist/features/deposits/no-pdg.d.ts +22 -0
  117. package/dist/features/deposits/no-pdg.js +103 -0
  118. package/dist/features/deposits/no-pdg.js.map +1 -0
  119. package/dist/features/index.d.ts +10 -0
  120. package/dist/features/index.js +11 -0
  121. package/dist/features/index.js.map +1 -0
  122. package/dist/features/mint-burn/allowance.d.ts +2 -0
  123. package/dist/features/mint-burn/allowance.js +49 -0
  124. package/dist/features/mint-burn/allowance.js.map +1 -0
  125. package/dist/features/mint-burn/burn-shares.d.ts +3 -0
  126. package/dist/features/mint-burn/burn-shares.js +33 -0
  127. package/dist/features/mint-burn/burn-shares.js.map +1 -0
  128. package/dist/features/mint-burn/burn-steth.d.ts +3 -0
  129. package/dist/features/mint-burn/burn-steth.js +35 -0
  130. package/dist/features/mint-burn/burn-steth.js.map +1 -0
  131. package/dist/features/mint-burn/index.d.ts +5 -0
  132. package/dist/features/mint-burn/index.js +6 -0
  133. package/dist/features/mint-burn/index.js.map +1 -0
  134. package/dist/features/mint-burn/mint-shares.d.ts +3 -0
  135. package/dist/features/mint-burn/mint-shares.js +37 -0
  136. package/dist/features/mint-burn/mint-shares.js.map +1 -0
  137. package/dist/features/mint-burn/mint-steth.d.ts +3 -0
  138. package/dist/features/mint-burn/mint-steth.js +39 -0
  139. package/dist/features/mint-burn/mint-steth.js.map +1 -0
  140. package/dist/features/operator-grid.d.ts +2 -0
  141. package/dist/features/operator-grid.js +64 -0
  142. package/dist/features/operator-grid.js.map +1 -0
  143. package/dist/features/pdg.d.ts +4 -0
  144. package/dist/features/pdg.js +114 -0
  145. package/dist/features/pdg.js.map +1 -0
  146. package/dist/features/token-manager.d.ts +1 -0
  147. package/dist/features/token-manager.js +7 -0
  148. package/dist/features/token-manager.js.map +1 -0
  149. package/dist/features/utils/get-address.d.ts +2 -0
  150. package/dist/features/utils/get-address.js +16 -0
  151. package/dist/features/utils/get-address.js.map +1 -0
  152. package/dist/features/utils/index.d.ts +5 -0
  153. package/dist/features/utils/index.js +6 -0
  154. package/dist/features/utils/index.js.map +1 -0
  155. package/dist/features/utils/liability-shares.d.ts +2 -0
  156. package/dist/features/utils/liability-shares.js +10 -0
  157. package/dist/features/utils/liability-shares.js.map +1 -0
  158. package/dist/features/utils/minting-capacity.d.ts +2 -0
  159. package/dist/features/utils/minting-capacity.js +11 -0
  160. package/dist/features/utils/minting-capacity.js.map +1 -0
  161. package/dist/features/utils/quarantine.d.ts +23 -0
  162. package/dist/features/utils/quarantine.js +47 -0
  163. package/dist/features/utils/quarantine.js.map +1 -0
  164. package/dist/features/utils/report-fresh.d.ts +3 -0
  165. package/dist/features/utils/report-fresh.js +36 -0
  166. package/dist/features/utils/report-fresh.js.map +1 -0
  167. package/dist/features/vault-factory.d.ts +29 -0
  168. package/dist/features/vault-factory.js +99 -0
  169. package/dist/features/vault-factory.js.map +1 -0
  170. package/dist/features/vault-hub.d.ts +2 -0
  171. package/dist/features/vault-hub.js +88 -0
  172. package/dist/features/vault-hub.js.map +1 -0
  173. package/dist/features/vault-operations/create-vault.d.ts +2 -0
  174. package/dist/features/vault-operations/create-vault.js +58 -0
  175. package/dist/features/vault-operations/create-vault.js.map +1 -0
  176. package/dist/features/vault-operations/dashboard-by-vault.d.ts +11 -0
  177. package/dist/features/vault-operations/dashboard-by-vault.js +34 -0
  178. package/dist/features/vault-operations/dashboard-by-vault.js.map +1 -0
  179. package/dist/features/vault-operations/index.d.ts +7 -0
  180. package/dist/features/vault-operations/index.js +8 -0
  181. package/dist/features/vault-operations/index.js.map +1 -0
  182. package/dist/features/vault-operations/vault-health.d.ts +2 -0
  183. package/dist/features/vault-operations/vault-health.js +27 -0
  184. package/dist/features/vault-operations/vault-health.js.map +1 -0
  185. package/dist/features/vault-operations/vault-info.d.ts +2 -0
  186. package/dist/features/vault-operations/vault-info.js +109 -0
  187. package/dist/features/vault-operations/vault-info.js.map +1 -0
  188. package/dist/features/vault-operations/vault-overview.d.ts +2 -0
  189. package/dist/features/vault-operations/vault-overview.js +141 -0
  190. package/dist/features/vault-operations/vault-overview.js.map +1 -0
  191. package/dist/features/vault-operations/vault-roles.d.ts +5 -0
  192. package/dist/features/vault-operations/vault-roles.js +62 -0
  193. package/dist/features/vault-operations/vault-roles.js.map +1 -0
  194. package/dist/features/vault-operations/vaults-by-role.d.ts +3 -0
  195. package/dist/features/vault-operations/vaults-by-role.js +46 -0
  196. package/dist/features/vault-operations/vaults-by-role.js.map +1 -0
  197. package/dist/features/vault.d.ts +2 -0
  198. package/dist/features/vault.js +48 -0
  199. package/dist/features/vault.js.map +1 -0
  200. package/dist/index.d.ts +3 -0
  201. package/dist/index.js +23 -5
  202. package/dist/index.js.map +1 -1
  203. package/dist/programs/account/index.d.ts +3 -0
  204. package/dist/programs/account/index.js +4 -0
  205. package/dist/programs/account/index.js.map +1 -0
  206. package/dist/programs/account/main.d.ts +1 -0
  207. package/dist/programs/account/main.js +5 -0
  208. package/dist/programs/account/main.js.map +1 -0
  209. package/dist/programs/account/read.d.ts +1 -0
  210. package/dist/programs/account/read.js +79 -0
  211. package/dist/programs/account/read.js.map +1 -0
  212. package/dist/programs/account/write.d.ts +1 -0
  213. package/dist/programs/account/write.js +65 -0
  214. package/dist/programs/account/write.js.map +1 -0
  215. package/dist/programs/config.d.ts +1 -0
  216. package/dist/programs/config.js +31 -0
  217. package/dist/programs/config.js.map +1 -0
  218. package/dist/programs/contracts/dashboard/config.d.ts +3 -0
  219. package/dist/programs/contracts/dashboard/config.js +115 -0
  220. package/dist/programs/contracts/dashboard/config.js.map +1 -0
  221. package/dist/programs/contracts/dashboard/index.d.ts +3 -0
  222. package/dist/programs/contracts/dashboard/index.js +4 -0
  223. package/dist/programs/contracts/dashboard/index.js.map +1 -0
  224. package/dist/programs/contracts/dashboard/main.d.ts +1 -0
  225. package/dist/programs/contracts/dashboard/main.js +5 -0
  226. package/dist/programs/contracts/dashboard/main.js.map +1 -0
  227. package/dist/programs/contracts/dashboard/read.d.ts +1 -0
  228. package/dist/programs/contracts/dashboard/read.js +98 -0
  229. package/dist/programs/contracts/dashboard/read.js.map +1 -0
  230. package/dist/programs/contracts/dashboard/write.d.ts +1 -0
  231. package/dist/programs/contracts/dashboard/write.js +621 -0
  232. package/dist/programs/contracts/dashboard/write.js.map +1 -0
  233. package/dist/programs/contracts/hub/config.d.ts +3 -0
  234. package/dist/programs/contracts/hub/config.js +165 -0
  235. package/dist/programs/contracts/hub/config.js.map +1 -0
  236. package/dist/programs/contracts/hub/index.d.ts +3 -0
  237. package/dist/programs/contracts/hub/index.js +4 -0
  238. package/dist/programs/contracts/hub/index.js.map +1 -0
  239. package/dist/programs/contracts/hub/main.d.ts +1 -0
  240. package/dist/programs/contracts/hub/main.js +5 -0
  241. package/dist/programs/contracts/hub/main.js.map +1 -0
  242. package/dist/programs/contracts/hub/read.d.ts +1 -0
  243. package/dist/programs/contracts/hub/read.js +54 -0
  244. package/dist/programs/contracts/hub/read.js.map +1 -0
  245. package/dist/programs/contracts/hub/write.d.ts +1 -0
  246. package/dist/programs/contracts/hub/write.js +425 -0
  247. package/dist/programs/contracts/hub/write.js.map +1 -0
  248. package/dist/programs/contracts/index.d.ts +8 -0
  249. package/dist/programs/contracts/index.js +9 -0
  250. package/dist/programs/contracts/index.js.map +1 -0
  251. package/dist/programs/contracts/main.d.ts +1 -0
  252. package/dist/programs/contracts/main.js +6 -0
  253. package/dist/programs/contracts/main.js.map +1 -0
  254. package/dist/programs/contracts/operator-grid/config.d.ts +3 -0
  255. package/dist/programs/contracts/operator-grid/config.js +87 -0
  256. package/dist/programs/contracts/operator-grid/config.js.map +1 -0
  257. package/dist/programs/contracts/operator-grid/index.d.ts +3 -0
  258. package/dist/programs/contracts/operator-grid/index.js +4 -0
  259. package/dist/programs/contracts/operator-grid/index.js.map +1 -0
  260. package/dist/programs/contracts/operator-grid/main.d.ts +1 -0
  261. package/dist/programs/contracts/operator-grid/main.js +5 -0
  262. package/dist/programs/contracts/operator-grid/main.js.map +1 -0
  263. package/dist/programs/contracts/operator-grid/read.d.ts +1 -0
  264. package/dist/programs/contracts/operator-grid/read.js +30 -0
  265. package/dist/programs/contracts/operator-grid/read.js.map +1 -0
  266. package/dist/programs/contracts/operator-grid/write.d.ts +1 -0
  267. package/dist/programs/contracts/operator-grid/write.js +119 -0
  268. package/dist/programs/contracts/operator-grid/write.js.map +1 -0
  269. package/dist/programs/contracts/pdg/config.d.ts +3 -0
  270. package/dist/programs/contracts/pdg/config.js +160 -0
  271. package/dist/programs/contracts/pdg/config.js.map +1 -0
  272. package/dist/programs/contracts/pdg/index.d.ts +3 -0
  273. package/dist/programs/contracts/pdg/index.js +4 -0
  274. package/dist/programs/contracts/pdg/index.js.map +1 -0
  275. package/dist/programs/contracts/pdg/main.d.ts +1 -0
  276. package/dist/programs/contracts/pdg/main.js +5 -0
  277. package/dist/programs/contracts/pdg/main.js.map +1 -0
  278. package/dist/programs/contracts/pdg/read.d.ts +1 -0
  279. package/dist/programs/contracts/pdg/read.js +38 -0
  280. package/dist/programs/contracts/pdg/read.js.map +1 -0
  281. package/dist/programs/contracts/pdg/write.d.ts +1 -0
  282. package/dist/programs/contracts/pdg/write.js +388 -0
  283. package/dist/programs/contracts/pdg/write.js.map +1 -0
  284. package/dist/programs/contracts/vault/config.d.ts +3 -0
  285. package/dist/programs/contracts/vault/config.js +42 -0
  286. package/dist/programs/contracts/vault/config.js.map +1 -0
  287. package/dist/programs/contracts/vault/index.d.ts +3 -0
  288. package/dist/programs/contracts/vault/index.js +4 -0
  289. package/dist/programs/contracts/vault/index.js.map +1 -0
  290. package/dist/programs/contracts/vault/main.d.ts +1 -0
  291. package/dist/programs/contracts/vault/main.js +3 -0
  292. package/dist/programs/contracts/vault/main.js.map +1 -0
  293. package/dist/programs/contracts/vault/read.d.ts +1 -0
  294. package/dist/programs/contracts/vault/read.js +25 -0
  295. package/dist/programs/contracts/vault/read.js.map +1 -0
  296. package/dist/programs/contracts/vault/write.d.ts +1 -0
  297. package/dist/programs/contracts/vault/write.js +214 -0
  298. package/dist/programs/contracts/vault/write.js.map +1 -0
  299. package/dist/programs/contracts/vault-factory/config.d.ts +3 -0
  300. package/dist/programs/contracts/vault-factory/config.js +2 -0
  301. package/dist/programs/contracts/vault-factory/config.js.map +1 -0
  302. package/dist/programs/contracts/vault-factory/index.d.ts +3 -0
  303. package/dist/programs/contracts/vault-factory/index.js +4 -0
  304. package/dist/programs/contracts/vault-factory/index.js.map +1 -0
  305. package/dist/programs/contracts/vault-factory/main.d.ts +1 -0
  306. package/dist/programs/contracts/vault-factory/main.js +5 -0
  307. package/dist/programs/contracts/vault-factory/main.js.map +1 -0
  308. package/dist/programs/contracts/vault-factory/read.d.ts +1 -0
  309. package/dist/programs/contracts/vault-factory/read.js +24 -0
  310. package/dist/programs/contracts/vault-factory/read.js.map +1 -0
  311. package/dist/programs/contracts/vault-factory/write.d.ts +1 -0
  312. package/dist/programs/contracts/vault-factory/write.js +126 -0
  313. package/dist/programs/contracts/vault-factory/write.js.map +1 -0
  314. package/dist/programs/contracts/vault-viewer/config.d.ts +3 -0
  315. package/dist/programs/contracts/vault-viewer/config.js +120 -0
  316. package/dist/programs/contracts/vault-viewer/config.js.map +1 -0
  317. package/dist/programs/contracts/vault-viewer/index.d.ts +2 -0
  318. package/dist/programs/contracts/vault-viewer/index.js +3 -0
  319. package/dist/programs/contracts/vault-viewer/index.js.map +1 -0
  320. package/dist/programs/contracts/vault-viewer/main.d.ts +1 -0
  321. package/dist/programs/contracts/vault-viewer/main.js +5 -0
  322. package/dist/programs/contracts/vault-viewer/main.js.map +1 -0
  323. package/dist/programs/contracts/vault-viewer/read.d.ts +1 -0
  324. package/dist/programs/contracts/vault-viewer/read.js +131 -0
  325. package/dist/programs/contracts/vault-viewer/read.js.map +1 -0
  326. package/dist/programs/index.d.ts +4 -0
  327. package/dist/programs/index.js +4 -17
  328. package/dist/programs/index.js.map +1 -1
  329. package/dist/programs/pdg-helpers.d.ts +1 -0
  330. package/dist/programs/pdg-helpers.js +257 -0
  331. package/dist/programs/pdg-helpers.js.map +1 -0
  332. package/dist/programs/use-cases/deposits/index.d.ts +3 -0
  333. package/dist/programs/use-cases/deposits/index.js +4 -0
  334. package/dist/programs/use-cases/deposits/index.js.map +1 -0
  335. package/dist/programs/use-cases/deposits/main.d.ts +1 -0
  336. package/dist/programs/use-cases/deposits/main.js +6 -0
  337. package/dist/programs/use-cases/deposits/main.js.map +1 -0
  338. package/dist/programs/use-cases/deposits/read.d.ts +1 -0
  339. package/dist/programs/use-cases/deposits/read.js +77 -0
  340. package/dist/programs/use-cases/deposits/read.js.map +1 -0
  341. package/dist/programs/use-cases/deposits/write.d.ts +1 -0
  342. package/dist/programs/use-cases/deposits/write.js +212 -0
  343. package/dist/programs/use-cases/deposits/write.js.map +1 -0
  344. package/dist/programs/use-cases/index.d.ts +4 -0
  345. package/dist/programs/use-cases/index.js +5 -0
  346. package/dist/programs/use-cases/index.js.map +1 -0
  347. package/dist/programs/use-cases/metrics/index.d.ts +2 -0
  348. package/dist/programs/use-cases/metrics/index.js +3 -0
  349. package/dist/programs/use-cases/metrics/index.js.map +1 -0
  350. package/dist/programs/use-cases/metrics/main.d.ts +1 -0
  351. package/dist/programs/use-cases/metrics/main.js +6 -0
  352. package/dist/programs/use-cases/metrics/main.js.map +1 -0
  353. package/dist/programs/use-cases/metrics/read.d.ts +1 -0
  354. package/dist/programs/use-cases/metrics/read.js +181 -0
  355. package/dist/programs/use-cases/metrics/read.js.map +1 -0
  356. package/dist/programs/use-cases/report/index.d.ts +3 -0
  357. package/dist/programs/use-cases/report/index.js +4 -0
  358. package/dist/programs/use-cases/report/index.js.map +1 -0
  359. package/dist/programs/use-cases/report/main.d.ts +1 -0
  360. package/dist/programs/use-cases/report/main.js +6 -0
  361. package/dist/programs/use-cases/report/main.js.map +1 -0
  362. package/dist/programs/use-cases/report/read.d.ts +1 -0
  363. package/dist/programs/use-cases/report/read.js +104 -0
  364. package/dist/programs/use-cases/report/read.js.map +1 -0
  365. package/dist/programs/use-cases/report/write.d.ts +1 -0
  366. package/dist/programs/use-cases/report/write.js +116 -0
  367. package/dist/programs/use-cases/report/write.js.map +1 -0
  368. package/dist/programs/use-cases/vault-operations/create-vault.d.ts +1 -0
  369. package/dist/programs/use-cases/vault-operations/create-vault.js +129 -0
  370. package/dist/programs/use-cases/vault-operations/create-vault.js.map +1 -0
  371. package/dist/programs/use-cases/vault-operations/index.d.ts +4 -0
  372. package/dist/programs/use-cases/vault-operations/index.js +5 -0
  373. package/dist/programs/use-cases/vault-operations/index.js.map +1 -0
  374. package/dist/programs/use-cases/vault-operations/main.d.ts +1 -0
  375. package/dist/programs/use-cases/vault-operations/main.js +6 -0
  376. package/dist/programs/use-cases/vault-operations/main.js.map +1 -0
  377. package/dist/programs/use-cases/vault-operations/read.d.ts +1 -0
  378. package/dist/programs/use-cases/vault-operations/read.js +58 -0
  379. package/dist/programs/use-cases/vault-operations/read.js.map +1 -0
  380. package/dist/programs/use-cases/vault-operations/write.d.ts +1 -0
  381. package/dist/programs/use-cases/vault-operations/write.js +198 -0
  382. package/dist/programs/use-cases/vault-operations/write.js.map +1 -0
  383. package/dist/providers/index.d.ts +1 -0
  384. package/dist/providers/index.js +1 -17
  385. package/dist/providers/index.js.map +1 -1
  386. package/dist/providers/wallet.d.ts +6897 -0
  387. package/dist/providers/wallet.js +44 -28
  388. package/dist/providers/wallet.js.map +1 -1
  389. package/dist/tests/utils/arguments.test.d.ts +1 -0
  390. package/dist/tests/utils/arguments.test.js +92 -0
  391. package/dist/tests/utils/arguments.test.js.map +1 -0
  392. package/dist/tests/utils/calculate-overview.test.d.ts +1 -0
  393. package/dist/tests/utils/calculate-overview.test.js +30 -0
  394. package/dist/tests/utils/calculate-overview.test.js.map +1 -0
  395. package/dist/tests/utils/data-validators.test.d.ts +1 -0
  396. package/dist/tests/utils/data-validators.test.js +56 -0
  397. package/dist/tests/utils/data-validators.test.js.map +1 -0
  398. package/dist/tests/utils/error-handler.test.d.ts +1 -0
  399. package/dist/tests/utils/error-handler.test.js +43 -0
  400. package/dist/tests/utils/error-handler.test.js.map +1 -0
  401. package/dist/tests/utils/get-commands.test.d.ts +1 -0
  402. package/dist/tests/utils/get-commands.test.js +19 -0
  403. package/dist/tests/utils/get-commands.test.js.map +1 -0
  404. package/dist/tests/utils/get-deposit-data-root.test.d.ts +1 -0
  405. package/dist/tests/utils/get-deposit-data-root.test.js +31 -0
  406. package/dist/tests/utils/get-deposit-data-root.test.js.map +1 -0
  407. package/dist/tests/utils/get-value.test.d.ts +1 -0
  408. package/dist/tests/utils/get-value.test.js +13 -0
  409. package/dist/tests/utils/get-value.test.js.map +1 -0
  410. package/dist/tests/utils/health.test.d.ts +1 -0
  411. package/dist/tests/utils/health.test.js +22 -0
  412. package/dist/tests/utils/health.test.js.map +1 -0
  413. package/dist/tests/utils/interrupt-handler.test.d.ts +1 -0
  414. package/dist/tests/utils/interrupt-handler.test.js +15 -0
  415. package/dist/tests/utils/interrupt-handler.test.js.map +1 -0
  416. package/dist/tests/utils/ipfs.test.d.ts +1 -0
  417. package/dist/tests/utils/ipfs.test.js +98 -0
  418. package/dist/tests/utils/ipfs.test.js.map +1 -0
  419. package/dist/tests/utils/logging.test.d.ts +1 -0
  420. package/dist/tests/utils/logging.test.js +23 -0
  421. package/dist/tests/utils/logging.test.js.map +1 -0
  422. package/dist/tests/utils/resove-path.test.d.ts +1 -0
  423. package/dist/tests/utils/resove-path.test.js +18 -0
  424. package/dist/tests/utils/resove-path.test.js.map +1 -0
  425. package/dist/tests/utils/sleep.test.d.ts +1 -0
  426. package/dist/tests/utils/sleep.test.js +14 -0
  427. package/dist/tests/utils/sleep.test.js.map +1 -0
  428. package/dist/types/common.d.ts +35 -0
  429. package/dist/types/common.js +2 -0
  430. package/dist/types/common.js.map +1 -0
  431. package/dist/types/config.d.ts +25 -0
  432. package/dist/types/config.js +2 -0
  433. package/dist/types/config.js.map +1 -0
  434. package/dist/types/index.d.ts +2 -0
  435. package/dist/types/index.js +3 -0
  436. package/dist/types/index.js.map +1 -0
  437. package/dist/utils/arguments.d.ts +15 -0
  438. package/dist/utils/arguments.js +73 -0
  439. package/dist/utils/arguments.js.map +1 -0
  440. package/dist/utils/bls.d.ts +21 -0
  441. package/dist/utils/bls.js +101 -0
  442. package/dist/utils/bls.js.map +1 -0
  443. package/dist/utils/cache.d.ts +18 -0
  444. package/dist/utils/cache.js +109 -0
  445. package/dist/utils/cache.js.map +1 -0
  446. package/dist/utils/calculate-overview-v2.d.ts +25 -0
  447. package/dist/utils/calculate-overview-v2.js +59 -0
  448. package/dist/utils/calculate-overview-v2.js.map +1 -0
  449. package/dist/utils/calculate-overview.d.ts +28 -0
  450. package/dist/utils/calculate-overview.js +57 -0
  451. package/dist/utils/calculate-overview.js.map +1 -0
  452. package/dist/utils/charts/blessed/charts-apr.d.ts +98 -0
  453. package/dist/utils/charts/blessed/charts-apr.js +121 -0
  454. package/dist/utils/charts/blessed/charts-apr.js.map +1 -0
  455. package/dist/utils/charts/blessed/charts-rewards.d.ts +74 -0
  456. package/dist/utils/charts/blessed/charts-rewards.js +106 -0
  457. package/dist/utils/charts/blessed/charts-rewards.js.map +1 -0
  458. package/dist/utils/charts/blessed/constants.d.ts +22 -0
  459. package/dist/utils/charts/blessed/constants.js +23 -0
  460. package/dist/utils/charts/blessed/constants.js.map +1 -0
  461. package/dist/utils/charts/blessed/datasets/bottom-line.d.ts +19 -0
  462. package/dist/utils/charts/blessed/datasets/bottom-line.js +35 -0
  463. package/dist/utils/charts/blessed/datasets/bottom-line.js.map +1 -0
  464. package/dist/utils/charts/blessed/datasets/carry-spread.d.ts +18 -0
  465. package/dist/utils/charts/blessed/datasets/carry-spread.js +34 -0
  466. package/dist/utils/charts/blessed/datasets/carry-spread.js.map +1 -0
  467. package/dist/utils/charts/blessed/datasets/gross-staking-apr.d.ts +18 -0
  468. package/dist/utils/charts/blessed/datasets/gross-staking-apr.js +34 -0
  469. package/dist/utils/charts/blessed/datasets/gross-staking-apr.js.map +1 -0
  470. package/dist/utils/charts/blessed/datasets/gross-staking-rewards.d.ts +24 -0
  471. package/dist/utils/charts/blessed/datasets/gross-staking-rewards.js +40 -0
  472. package/dist/utils/charts/blessed/datasets/gross-staking-rewards.js.map +1 -0
  473. package/dist/utils/charts/blessed/datasets/index.d.ts +9 -0
  474. package/dist/utils/charts/blessed/datasets/index.js +10 -0
  475. package/dist/utils/charts/blessed/datasets/index.js.map +1 -0
  476. package/dist/utils/charts/blessed/datasets/lido-apr.d.ts +19 -0
  477. package/dist/utils/charts/blessed/datasets/lido-apr.js +35 -0
  478. package/dist/utils/charts/blessed/datasets/lido-apr.js.map +1 -0
  479. package/dist/utils/charts/blessed/datasets/net-staking-apr.d.ts +18 -0
  480. package/dist/utils/charts/blessed/datasets/net-staking-apr.js +34 -0
  481. package/dist/utils/charts/blessed/datasets/net-staking-apr.js.map +1 -0
  482. package/dist/utils/charts/blessed/datasets/net-staking-rewards.d.ts +18 -0
  483. package/dist/utils/charts/blessed/datasets/net-staking-rewards.js +34 -0
  484. package/dist/utils/charts/blessed/datasets/net-staking-rewards.js.map +1 -0
  485. package/dist/utils/charts/blessed/datasets/node-operator-rewards.d.ts +24 -0
  486. package/dist/utils/charts/blessed/datasets/node-operator-rewards.js +40 -0
  487. package/dist/utils/charts/blessed/datasets/node-operator-rewards.js.map +1 -0
  488. package/dist/utils/charts/blessed/datasets/prepare-metrics.d.ts +33 -0
  489. package/dist/utils/charts/blessed/datasets/prepare-metrics.js +133 -0
  490. package/dist/utils/charts/blessed/datasets/prepare-metrics.js.map +1 -0
  491. package/dist/utils/charts/blessed/datasets/types.d.ts +4 -0
  492. package/dist/utils/charts/blessed/datasets/types.js +2 -0
  493. package/dist/utils/charts/blessed/datasets/types.js.map +1 -0
  494. package/dist/utils/charts/blessed/index.d.ts +3 -0
  495. package/dist/utils/charts/blessed/index.js +4 -0
  496. package/dist/utils/charts/blessed/index.js.map +1 -0
  497. package/dist/utils/charts/blessed/net-vs-lido-apr.d.ts +13 -0
  498. package/dist/utils/charts/blessed/net-vs-lido-apr.js +19 -0
  499. package/dist/utils/charts/blessed/net-vs-lido-apr.js.map +1 -0
  500. package/dist/utils/charts/blessed/utils.d.ts +61 -0
  501. package/dist/utils/charts/blessed/utils.js +79 -0
  502. package/dist/utils/charts/blessed/utils.js.map +1 -0
  503. package/dist/utils/charts/index.d.ts +3 -0
  504. package/dist/utils/charts/index.js +4 -0
  505. package/dist/utils/charts/index.js.map +1 -0
  506. package/dist/utils/charts/metrics.d.ts +16 -0
  507. package/dist/utils/charts/metrics.js +160 -0
  508. package/dist/utils/charts/metrics.js.map +1 -0
  509. package/dist/utils/charts/overview.d.ts +10 -0
  510. package/dist/utils/charts/overview.js +89 -0
  511. package/dist/utils/charts/overview.js.map +1 -0
  512. package/dist/utils/charts/simple/index.d.ts +1 -0
  513. package/dist/utils/charts/simple/index.js +2 -0
  514. package/dist/utils/charts/simple/index.js.map +1 -0
  515. package/dist/utils/charts/simple/simple-charts.d.ts +7 -0
  516. package/dist/utils/charts/simple/simple-charts.js +78 -0
  517. package/dist/utils/charts/simple/simple-charts.js.map +1 -0
  518. package/dist/utils/commands/confirmations.d.ts +35 -0
  519. package/dist/utils/commands/confirmations.js +118 -0
  520. package/dist/utils/commands/confirmations.js.map +1 -0
  521. package/dist/utils/commands/index.d.ts +2 -0
  522. package/dist/utils/commands/index.js +3 -0
  523. package/dist/utils/commands/index.js.map +1 -0
  524. package/dist/utils/commands/report.d.ts +7 -0
  525. package/dist/utils/commands/report.js +42 -0
  526. package/dist/utils/commands/report.js.map +1 -0
  527. package/dist/utils/consts.d.ts +3 -0
  528. package/dist/utils/consts.js +4 -0
  529. package/dist/utils/consts.js.map +1 -0
  530. package/dist/utils/contract.d.ts +59 -0
  531. package/dist/utils/contract.js +214 -0
  532. package/dist/utils/contract.js.map +1 -0
  533. package/dist/utils/data-validators.d.ts +6 -0
  534. package/dist/utils/data-validators.js +54 -0
  535. package/dist/utils/data-validators.js.map +1 -0
  536. package/dist/utils/error-handler.d.ts +1 -0
  537. package/dist/utils/error-handler.js +13 -0
  538. package/dist/utils/error-handler.js.map +1 -0
  539. package/dist/utils/fetchCL.d.ts +36 -0
  540. package/dist/utils/fetchCL.js +81 -0
  541. package/dist/utils/fetchCL.js.map +1 -0
  542. package/dist/utils/get-commands.d.ts +2 -0
  543. package/dist/utils/get-commands.js +11 -0
  544. package/dist/utils/get-commands.js.map +1 -0
  545. package/dist/utils/get-deposit-data-root.d.ts +7 -0
  546. package/dist/utils/get-deposit-data-root.js +37 -0
  547. package/dist/utils/get-deposit-data-root.js.map +1 -0
  548. package/dist/utils/get-value.d.ts +1 -0
  549. package/dist/utils/get-value.js +5 -11
  550. package/dist/utils/get-value.js.map +1 -1
  551. package/dist/utils/health/calculate-health.d.ts +10 -0
  552. package/dist/utils/health/calculate-health.js +22 -0
  553. package/dist/utils/health/calculate-health.js.map +1 -0
  554. package/dist/utils/health/health-utils.d.ts +27743 -0
  555. package/dist/utils/health/health-utils.js +74 -0
  556. package/dist/utils/health/health-utils.js.map +1 -0
  557. package/dist/utils/health/index.d.ts +2 -0
  558. package/dist/utils/health/index.js +3 -0
  559. package/dist/utils/health/index.js.map +1 -0
  560. package/dist/utils/index.d.ts +33 -0
  561. package/dist/utils/index.js +33 -17
  562. package/dist/utils/index.js.map +1 -1
  563. package/dist/utils/interrupt-handler.d.ts +3 -0
  564. package/dist/utils/interrupt-handler.js +28 -0
  565. package/dist/utils/interrupt-handler.js.map +1 -0
  566. package/dist/utils/ipfs.d.ts +17 -0
  567. package/dist/utils/ipfs.js +100 -0
  568. package/dist/utils/ipfs.js.map +1 -0
  569. package/dist/utils/lido-apr.d.ts +2 -0
  570. package/dist/utils/lido-apr.js +8 -0
  571. package/dist/utils/lido-apr.js.map +1 -0
  572. package/dist/utils/logging/console.d.ts +15 -0
  573. package/dist/utils/logging/console.js +36 -0
  574. package/dist/utils/logging/console.js.map +1 -0
  575. package/dist/utils/logging/constants.d.ts +4 -0
  576. package/dist/utils/logging/constants.js +18 -0
  577. package/dist/utils/logging/constants.js.map +1 -0
  578. package/dist/utils/logging/index.d.ts +1 -0
  579. package/dist/utils/logging/index.js +2 -0
  580. package/dist/utils/logging/index.js.map +1 -0
  581. package/dist/utils/prompts/confirmations.d.ts +2 -0
  582. package/dist/utils/prompts/confirmations.js +18 -0
  583. package/dist/utils/prompts/confirmations.js.map +1 -0
  584. package/dist/utils/prompts/default.d.ts +6 -0
  585. package/dist/utils/prompts/default.js +27 -0
  586. package/dist/utils/prompts/default.js.map +1 -0
  587. package/dist/utils/prompts/index.d.ts +6 -0
  588. package/dist/utils/prompts/index.js +7 -0
  589. package/dist/utils/prompts/index.js.map +1 -0
  590. package/dist/utils/prompts/mint-burn/confirm-burn.d.ts +17 -0
  591. package/dist/utils/prompts/mint-burn/confirm-burn.js +23 -0
  592. package/dist/utils/prompts/mint-burn/confirm-burn.js.map +1 -0
  593. package/dist/utils/prompts/mint-burn/confirm-mint.d.ts +18 -0
  594. package/dist/utils/prompts/mint-burn/confirm-mint.js +23 -0
  595. package/dist/utils/prompts/mint-burn/confirm-mint.js.map +1 -0
  596. package/dist/utils/prompts/mint-burn/constants.d.ts +2 -0
  597. package/dist/utils/prompts/mint-burn/constants.js +6 -0
  598. package/dist/utils/prompts/mint-burn/constants.js.map +1 -0
  599. package/dist/utils/prompts/mint-burn/index.d.ts +2 -0
  600. package/dist/utils/prompts/mint-burn/index.js +3 -0
  601. package/dist/utils/prompts/mint-burn/index.js.map +1 -0
  602. package/dist/utils/prompts/operations.d.ts +9 -0
  603. package/dist/utils/prompts/operations.js +52 -0
  604. package/dist/utils/prompts/operations.js.map +1 -0
  605. package/dist/utils/prompts/predeposit-guarantee.d.ts +3 -0
  606. package/dist/utils/prompts/predeposit-guarantee.js +23 -0
  607. package/dist/utils/prompts/predeposit-guarantee.js.map +1 -0
  608. package/dist/utils/prompts/vault.d.ts +2 -0
  609. package/dist/utils/prompts/vault.js +14 -0
  610. package/dist/utils/prompts/vault.js.map +1 -0
  611. package/dist/utils/proof/create-proof.d.ts +15 -0
  612. package/dist/utils/proof/create-proof.js +40 -0
  613. package/dist/utils/proof/create-proof.js.map +1 -0
  614. package/dist/utils/proof/first-validator-gindex.d.ts +1 -0
  615. package/dist/utils/proof/first-validator-gindex.js +32 -0
  616. package/dist/utils/proof/first-validator-gindex.js.map +1 -0
  617. package/dist/utils/proof/index.d.ts +3 -0
  618. package/dist/utils/proof/index.js +4 -0
  619. package/dist/utils/proof/index.js.map +1 -0
  620. package/dist/utils/proof/merkle-utils.d.ts +55 -0
  621. package/dist/utils/proof/merkle-utils.js +173 -0
  622. package/dist/utils/proof/merkle-utils.js.map +1 -0
  623. package/dist/utils/proof/proofs.d.ts +30 -0
  624. package/dist/utils/proof/proofs.js +52 -0
  625. package/dist/utils/proof/proofs.js.map +1 -0
  626. package/dist/utils/read-programs-by-abi.d.ts +27 -0
  627. package/dist/utils/read-programs-by-abi.js +92 -0
  628. package/dist/utils/read-programs-by-abi.js.map +1 -0
  629. package/dist/utils/rebase-rewards.d.ts +7 -0
  630. package/dist/utils/rebase-rewards.js +6 -0
  631. package/dist/utils/rebase-rewards.js.map +1 -0
  632. package/dist/utils/report/index.d.ts +4 -0
  633. package/dist/utils/report/index.js +5 -0
  634. package/dist/utils/report/index.js.map +1 -0
  635. package/dist/utils/report/report-proof.d.ts +36 -0
  636. package/dist/utils/report/report-proof.js +38 -0
  637. package/dist/utils/report/report-proof.js.map +1 -0
  638. package/dist/utils/report/report.d.ts +19 -0
  639. package/dist/utils/report/report.js +132 -0
  640. package/dist/utils/report/report.js.map +1 -0
  641. package/dist/utils/report/statistic-data.d.ts +32 -0
  642. package/dist/utils/report/statistic-data.js +28 -0
  643. package/dist/utils/report/statistic-data.js.map +1 -0
  644. package/dist/utils/report/types.d.ts +51 -0
  645. package/dist/utils/report/types.js +2 -0
  646. package/dist/utils/report/types.js.map +1 -0
  647. package/dist/utils/resolve-path.d.ts +1 -0
  648. package/dist/utils/resolve-path.js +10 -0
  649. package/dist/utils/resolve-path.js.map +1 -0
  650. package/dist/utils/share-rate.d.ts +1 -0
  651. package/dist/utils/share-rate.js +16 -0
  652. package/dist/utils/share-rate.js.map +1 -0
  653. package/dist/utils/sleep.d.ts +1 -0
  654. package/dist/utils/sleep.js +4 -0
  655. package/dist/utils/sleep.js.map +1 -0
  656. package/dist/utils/snake-to-camel.d.ts +6 -0
  657. package/dist/utils/snake-to-camel.js +9 -0
  658. package/dist/utils/snake-to-camel.js.map +1 -0
  659. package/dist/utils/spinner/constants.d.ts +6 -0
  660. package/dist/utils/spinner/constants.js +120 -0
  661. package/dist/utils/spinner/constants.js.map +1 -0
  662. package/dist/utils/spinner/index.d.ts +1 -0
  663. package/dist/utils/spinner/index.js +2 -0
  664. package/dist/utils/spinner/index.js.map +1 -0
  665. package/dist/utils/spinner/spinners.d.ts +7 -0
  666. package/dist/utils/spinner/spinners.js +16 -0
  667. package/dist/utils/spinner/spinners.js.map +1 -0
  668. package/dist/utils/statistic/index.d.ts +1 -0
  669. package/dist/utils/statistic/index.js +2 -0
  670. package/dist/utils/statistic/index.js.map +1 -0
  671. package/dist/utils/statistic/report-statistic.d.ts +51 -0
  672. package/dist/utils/statistic/report-statistic.js +125 -0
  673. package/dist/utils/statistic/report-statistic.js.map +1 -0
  674. package/dist/utils/timestamp.d.ts +1 -0
  675. package/dist/utils/timestamp.js +10 -0
  676. package/dist/utils/timestamp.js.map +1 -0
  677. package/dist/version/index.d.ts +1 -0
  678. package/dist/version/index.js +1 -0
  679. package/dist/version/index.js.map +1 -0
  680. package/package.json +77 -19
  681. package/dist/programs/vault-hub.js +0 -137
  682. package/dist/programs/vault-hub.js.map +0 -1
@@ -0,0 +1,116 @@
1
+ import { Option } from 'commander';
2
+ import cliProgress from 'cli-progress';
3
+ import { getLazyOracleContract } from '../../../contracts/index.js';
4
+ import { callWriteMethodWithReceipt, callReadMethod, logInfo, getCommandsJson, logError, withInterruptHandling, submitReport, getReportProofByVaults, getReportProofs, } from '../../../utils/index.js';
5
+ import { chooseVaultAndGetDashboard, checkQuarantine } from '../../../features/index.js';
6
+ import { report } from './main.js';
7
+ const reportWrite = report
8
+ .command('write')
9
+ .aliases(['w'])
10
+ .description('report write commands');
11
+ reportWrite.addOption(new Option('-cmd2json'));
12
+ reportWrite.on('option:-cmd2json', function () {
13
+ logInfo(getCommandsJson(reportWrite));
14
+ process.exit();
15
+ });
16
+ reportWrite
17
+ .command('by-vault-submit')
18
+ .alias('submit')
19
+ .description('submit report by vault')
20
+ .option('-v, --vault <string>', 'vault address')
21
+ .option('-g, --gateway', 'ipfs gateway url')
22
+ .action(async ({ vault, gateway }) => {
23
+ const { vault: vaultAddress } = await chooseVaultAndGetDashboard({ vault });
24
+ await checkQuarantine(vaultAddress);
25
+ await submitReport({ vault: vaultAddress, gateway });
26
+ });
27
+ reportWrite
28
+ .command('by-vaults-submit')
29
+ .description('submit report for vaults')
30
+ .argument('<vaults...>', 'vaults addresses')
31
+ .option('-g, --gateway', 'ipfs gateway url')
32
+ .option('-e, --skip-error', 'skip error')
33
+ .action(withInterruptHandling(async (vaults, { gateway, skipError }) => {
34
+ const lazyOracleContract = await getLazyOracleContract();
35
+ const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(lazyOracleContract, 'latestReportData');
36
+ const proofs = await getReportProofByVaults({
37
+ cid: vaultsDataReportCid,
38
+ gateway,
39
+ vaults,
40
+ });
41
+ const progressBar = new cliProgress.SingleBar({
42
+ format: 'Progress |{bar}| {percentage}% || {value}/{total} Vaults Updated',
43
+ stopOnComplete: true,
44
+ }, cliProgress.Presets.shades_classic);
45
+ progressBar.start(vaults.length, 0);
46
+ for (const [_index, vault] of vaults.entries()) {
47
+ const vaultReport = proofs.find((v) => v.data.vaultAddress === vault);
48
+ if (!vaultReport) {
49
+ logError(`Vault ${vault} not found`);
50
+ continue;
51
+ }
52
+ await checkQuarantine(vault);
53
+ await callWriteMethodWithReceipt({
54
+ contract: lazyOracleContract,
55
+ methodName: 'updateVaultData',
56
+ payload: [
57
+ vault,
58
+ BigInt(vaultReport.data.totalValueWei),
59
+ BigInt(vaultReport.data.fee),
60
+ BigInt(vaultReport.data.liabilityShares),
61
+ BigInt(vaultReport.data.slashingReserve),
62
+ vaultReport.proof,
63
+ ],
64
+ withSpinner: false,
65
+ silent: true,
66
+ skipError,
67
+ });
68
+ progressBar.increment();
69
+ }
70
+ progressBar.stop();
71
+ }));
72
+ reportWrite
73
+ .command('submit-all')
74
+ .description('submit report for all vaults')
75
+ .option('-g, --gateway', 'ipfs gateway url')
76
+ .option('-e, --skip-error', 'skip error')
77
+ .action(withInterruptHandling(async ({ gateway, skipError }) => {
78
+ const lazyOracleContract = await getLazyOracleContract();
79
+ const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(lazyOracleContract, 'latestReportData');
80
+ const proofs = await getReportProofs({
81
+ cid: vaultsDataReportCid,
82
+ gateway,
83
+ });
84
+ const progressBar = new cliProgress.SingleBar({
85
+ format: 'Progress |{bar}| {percentage}% || {value}/{total} Vaults Updated',
86
+ }, cliProgress.Presets.shades_classic);
87
+ progressBar.start(proofs.length, 0);
88
+ for (const [_index, report] of proofs.entries()) {
89
+ try {
90
+ await callWriteMethodWithReceipt({
91
+ contract: lazyOracleContract,
92
+ methodName: 'updateVaultData',
93
+ payload: [
94
+ report.data.vaultAddress,
95
+ BigInt(report.data.totalValueWei),
96
+ BigInt(report.data.fee),
97
+ BigInt(report.data.liabilityShares),
98
+ BigInt(report.data.slashingReserve),
99
+ report.proof,
100
+ ],
101
+ withSpinner: false,
102
+ silent: true,
103
+ skipError,
104
+ });
105
+ }
106
+ catch (err) {
107
+ if ('shortMessage' in err)
108
+ logError(err.shortMessage, 'Error when submitting report');
109
+ else
110
+ logError('Error when submitting report');
111
+ }
112
+ progressBar.increment();
113
+ }
114
+ progressBar.stop();
115
+ }));
116
+ //# sourceMappingURL=write.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["../../../../programs/use-cases/report/write.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,129 @@
1
+ import { program } from '../../../command/index.js';
2
+ import { createVault, prepareCreateVaultPayload, getAddress, getConfirmExpiry, getNodeOperatorFeeRate, } from '../../../features/index.js';
3
+ import { confirmCreateVaultParams, logResult, logInfo, jsonToRoleAssignment, logCancel, logTable, stringToNumber, } from '../../../utils/index.js';
4
+ import { vaultOperationsWrite } from './write.js';
5
+ const vaultOperationsCreateVault = vaultOperationsWrite
6
+ .command('create-vault')
7
+ .description('creates a new StakingVault and Dashboard contracts');
8
+ vaultOperationsCreateVault
9
+ .command('create')
10
+ .description('creates a new StakingVault and Dashboard contracts')
11
+ .option('-da, --defaultAdmin <defaultAdmin>', 'default admin address')
12
+ .option('-no, --nodeOperator <nodeOperator>', 'node operator address')
13
+ .option('-nom, --nodeOperatorManager <nodeOperatorManager>', 'node operator manager address')
14
+ .option('-ce, --confirmExpiry <confirmExpiry>', 'confirm expiry in seconds', stringToNumber)
15
+ .option('-nof , --nodeOperatorFeeRate <nodeOperatorFeeRate>', 'Node operator fee rate in basis points, for e.g. 100 == 1%', stringToNumber)
16
+ .argument('[quantity]', 'quantity of vaults to create, default 1', '1')
17
+ .option('-r, --roles <roles>', 'other roles to assign to the vault', jsonToRoleAssignment)
18
+ .action(async (quantity, { defaultAdmin, nodeOperator, nodeOperatorManager, confirmExpiry, nodeOperatorFeeRate, roles, }) => {
19
+ const defaultAdminAddress = await getAddress(defaultAdmin, 'Default Admin');
20
+ const nodeOperatorAddress = await getAddress(nodeOperator, 'Node Operator');
21
+ const nodeOperatorManagerAddress = await getAddress(nodeOperatorManager, 'Node Operator Manager');
22
+ const confirmExpiryValue = await getConfirmExpiry(confirmExpiry);
23
+ const nodeOperatorFeeRateValue = await getNodeOperatorFeeRate(nodeOperatorFeeRate);
24
+ const createVaultData = prepareCreateVaultPayload({
25
+ defaultAdmin: defaultAdminAddress,
26
+ nodeOperator: nodeOperatorAddress,
27
+ nodeOperatorManager: nodeOperatorManagerAddress,
28
+ confirmExpiry: confirmExpiryValue,
29
+ nodeOperatorFeeRate: nodeOperatorFeeRateValue,
30
+ quantity,
31
+ roles,
32
+ });
33
+ if (!createVaultData)
34
+ return;
35
+ const { payload, list, otherRoles } = createVaultData;
36
+ const transactions = [];
37
+ const confirm = await confirmCreateVaultParams(payload, otherRoles);
38
+ if (!confirm)
39
+ return logCancel('Vault creation cancelled');
40
+ try {
41
+ for (const _ of list) {
42
+ const tx = await createVault(payload, otherRoles);
43
+ transactions.push(tx);
44
+ }
45
+ logResult({});
46
+ transactions.forEach((tx) => {
47
+ if (program.opts().populateTx) {
48
+ logInfo('Populated transaction data:', tx);
49
+ return;
50
+ }
51
+ logTable({
52
+ data: [
53
+ ['Vault Address', tx?.vault],
54
+ ['Dashboard Address', tx?.dashboard],
55
+ ['Owner Address', tx?.owner],
56
+ ['Transaction Hash', tx?.tx],
57
+ ['Block Number', tx?.blockNumber],
58
+ ],
59
+ });
60
+ });
61
+ }
62
+ catch (err) {
63
+ if (err instanceof Error) {
64
+ logInfo('Error occurred while creating vaults', err.message);
65
+ }
66
+ }
67
+ });
68
+ vaultOperationsCreateVault
69
+ .command('create-without-connecting')
70
+ .description('creates a new StakingVault and Dashboard contracts without connecting to VaultHub')
71
+ .option('-da, --defaultAdmin <defaultAdmin>', 'default admin address')
72
+ .option('-no, --nodeOperator <nodeOperator>', 'node operator address')
73
+ .option('-nom, --nodeOperatorManager <nodeOperatorManager>', 'node operator manager address')
74
+ .option('-ce, --confirmExpiry <confirmExpiry>', 'confirm expiry in seconds', stringToNumber)
75
+ .option('-nof , --nodeOperatorFeeRate <nodeOperatorFeeRate>', 'Node operator fee rate in basis points, for e.g. 100 == 1%', stringToNumber)
76
+ .argument('[quantity]', 'quantity of vaults to create, default 1', '1')
77
+ .option('-r, --roles <roles>', 'other roles to assign to the vault', jsonToRoleAssignment)
78
+ .action(async (quantity, { defaultAdmin, nodeOperator, nodeOperatorManager, confirmExpiry, nodeOperatorFeeRate, roles, }) => {
79
+ const defaultAdminAddress = await getAddress(defaultAdmin, 'Default Admin');
80
+ const nodeOperatorAddress = await getAddress(nodeOperator, 'Node Operator');
81
+ const nodeOperatorManagerAddress = await getAddress(nodeOperatorManager, 'Node Operator Manager');
82
+ const confirmExpiryValue = await getConfirmExpiry(confirmExpiry);
83
+ const nodeOperatorFeeRateValue = await getNodeOperatorFeeRate(nodeOperatorFeeRate);
84
+ const createVaultData = prepareCreateVaultPayload({
85
+ defaultAdmin: defaultAdminAddress,
86
+ nodeOperator: nodeOperatorAddress,
87
+ nodeOperatorManager: nodeOperatorManagerAddress,
88
+ confirmExpiry: confirmExpiryValue,
89
+ nodeOperatorFeeRate: nodeOperatorFeeRateValue,
90
+ quantity,
91
+ roles,
92
+ });
93
+ if (!createVaultData)
94
+ return;
95
+ const { payload, list, otherRoles } = createVaultData;
96
+ const transactions = [];
97
+ const confirm = await confirmCreateVaultParams(payload, otherRoles);
98
+ if (!confirm)
99
+ return logCancel('Vault creation cancelled');
100
+ try {
101
+ for (const _ of list) {
102
+ const tx = await createVault(payload, otherRoles, 'createVaultWithDashboardWithoutConnectingToVaultHub');
103
+ transactions.push(tx);
104
+ }
105
+ logResult({});
106
+ // eslint-disable-next-line sonarjs/no-identical-functions
107
+ transactions.forEach((tx) => {
108
+ if (program.opts().populateTx) {
109
+ logInfo('Populated transaction data:', tx);
110
+ return;
111
+ }
112
+ logTable({
113
+ data: [
114
+ ['Vault Address', tx?.vault],
115
+ ['Dashboard Address', tx?.dashboard],
116
+ ['Owner Address', tx?.owner],
117
+ ['Transaction Hash', tx?.tx],
118
+ ['Block Number', tx?.blockNumber],
119
+ ],
120
+ });
121
+ });
122
+ }
123
+ catch (err) {
124
+ if (err instanceof Error) {
125
+ logInfo('Error occurred while creating vaults', err.message);
126
+ }
127
+ }
128
+ });
129
+ //# sourceMappingURL=create-vault.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-vault.js","sourceRoot":"","sources":["../../../../programs/use-cases/vault-operations/create-vault.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from './main.js';
2
+ export * from './read.js';
3
+ export * from './write.js';
4
+ export * from './create-vault.js';
@@ -0,0 +1,5 @@
1
+ export * from './main.js';
2
+ export * from './read.js';
3
+ export * from './write.js';
4
+ export * from './create-vault.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../programs/use-cases/vault-operations/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const vaultOperations: import("commander").Command;
@@ -0,0 +1,6 @@
1
+ import { program } from '../../../command/index.js';
2
+ export const vaultOperations = program
3
+ .command('vault-operations')
4
+ .alias('vo')
5
+ .description('vault operations utilities');
6
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../programs/use-cases/vault-operations/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO;KACnC,OAAO,CAAC,kBAAkB,CAAC;KAC3B,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,4BAA4B,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,58 @@
1
+ import { Option } from 'commander';
2
+ import { getCommandsJson, logInfo } from '../../../utils/index.js';
3
+ import { vaultOperations } from './main.js';
4
+ import { getVaultHealthByDashboard, chooseVaultAndGetDashboard, getVaultInfoByDashboard, getVaultOverviewByDashboard, getVaultRolesByDashboard, checkQuarantine, } from '../../../features/index.js';
5
+ const vaultOperationsRead = vaultOperations
6
+ .command('read')
7
+ .aliases(['r'])
8
+ .description('vault operations read commands');
9
+ vaultOperationsRead.addOption(new Option('-cmd2json'));
10
+ vaultOperationsRead.on('option:-cmd2json', function () {
11
+ logInfo(getCommandsJson(vaultOperationsRead));
12
+ process.exit();
13
+ });
14
+ vaultOperationsRead
15
+ .command('info')
16
+ .description('get vault info')
17
+ .option('-v, --vault <string>', 'vault address')
18
+ .action(async ({ vault }) => {
19
+ const { contract, vault: vaultAddress } = await chooseVaultAndGetDashboard({
20
+ vault,
21
+ });
22
+ await checkQuarantine(vaultAddress);
23
+ await getVaultInfoByDashboard(contract);
24
+ });
25
+ vaultOperationsRead
26
+ .command('health')
27
+ .description('get vault health')
28
+ .option('-v, --vault <string>', 'vault address')
29
+ .action(async ({ vault }) => {
30
+ const { contract, vault: vaultAddress } = await chooseVaultAndGetDashboard({
31
+ vault,
32
+ });
33
+ await checkQuarantine(vaultAddress);
34
+ await getVaultHealthByDashboard(contract);
35
+ });
36
+ vaultOperationsRead
37
+ .command('overview')
38
+ .description('get vault overview')
39
+ .option('-v, --vault <string>', 'vault address')
40
+ .action(async ({ vault }) => {
41
+ const { contract, vault: vaultAddress } = await chooseVaultAndGetDashboard({
42
+ vault,
43
+ });
44
+ await checkQuarantine(vaultAddress);
45
+ await getVaultOverviewByDashboard(contract);
46
+ });
47
+ vaultOperationsRead
48
+ .command('roles')
49
+ .description('get vault roles')
50
+ .option('-v, --vault <string>', 'vault address')
51
+ .action(async ({ vault }) => {
52
+ const { contract, vault: vaultAddress } = await chooseVaultAndGetDashboard({
53
+ vault,
54
+ });
55
+ await checkQuarantine(vaultAddress);
56
+ await getVaultRolesByDashboard(contract);
57
+ });
58
+ //# sourceMappingURL=read.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../../programs/use-cases/vault-operations/read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,EACvB,2BAA2B,EAC3B,wBAAwB,EACxB,eAAe,GAChB,MAAM,UAAU,CAAC;AAElB,MAAM,mBAAmB,GAAG,eAAe;KACxC,OAAO,CAAC,MAAM,CAAC;KACf,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;KACd,WAAW,CAAC,gCAAgC,CAAC,CAAC;AAEjD,mBAAmB,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AACvD,mBAAmB,CAAC,EAAE,CAAC,kBAAkB,EAAE;IACzC,OAAO,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC;AAEH,mBAAmB;KAChB,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,gBAAgB,CAAC;KAC7B,MAAM,CAAC,sBAAsB,EAAE,eAAe,CAAC;KAC/C,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAsB,EAAE,EAAE;IAC9C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,0BAA0B,CAAC;QACzE,KAAK;KACN,CAAC,CAAC;IAEH,MAAM,eAAe,CAAC,YAAY,CAAC,CAAC;IAEpC,MAAM,uBAAuB,CAAC,QAAQ,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC;AAEL,mBAAmB;KAChB,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,kBAAkB,CAAC;KAC/B,MAAM,CAAC,sBAAsB,EAAE,eAAe,CAAC;KAC/C,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAsB,EAAE,EAAE;IAC9C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,0BAA0B,CAAC;QACzE,KAAK;KACN,CAAC,CAAC;IAEH,MAAM,eAAe,CAAC,YAAY,CAAC,CAAC;IAEpC,MAAM,yBAAyB,CAAC,QAAQ,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC;AAEL,mBAAmB;KAChB,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,oBAAoB,CAAC;KACjC,MAAM,CAAC,sBAAsB,EAAE,eAAe,CAAC;KAC/C,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAsB,EAAE,EAAE;IAC9C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,0BAA0B,CAAC;QACzE,KAAK;KACN,CAAC,CAAC;IAEH,MAAM,eAAe,CAAC,YAAY,CAAC,CAAC;IAEpC,MAAM,2BAA2B,CAAC,QAAQ,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEL,mBAAmB;KAChB,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,iBAAiB,CAAC;KAC9B,MAAM,CAAC,sBAAsB,EAAE,eAAe,CAAC;KAC/C,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAsB,EAAE,EAAE;IAC9C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,0BAA0B,CAAC;QACzE,KAAK;KACN,CAAC,CAAC;IAEH,MAAM,eAAe,CAAC,YAAY,CAAC,CAAC;IAEpC,MAAM,wBAAwB,CAAC,QAAQ,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const vaultOperationsWrite: import("commander").Command;
@@ -0,0 +1,198 @@
1
+ import { formatEther } from 'viem';
2
+ import { Option } from 'commander';
3
+ import { logInfo, getCommandsJson, etherToWei, stringToAddress, confirmOperation, callWriteMethodWithReceipt, callReadMethodSilent, logError, } from '../../../utils/index.js';
4
+ import { chooseVaultAndGetDashboard, getAddress, mintShares, checkIsReportFresh, mintSteth, burnShares, burnSteth, checkVaultRole, checkAllowance, confirmQuarantine, } from '../../../features/index.js';
5
+ import { getAccount } from '../../../providers/index.js';
6
+ import { vaultOperations } from './main.js';
7
+ export const vaultOperationsWrite = vaultOperations
8
+ .command('write')
9
+ .aliases(['w'])
10
+ .description('vault operations write commands');
11
+ vaultOperationsWrite.addOption(new Option('-cmd2json'));
12
+ vaultOperationsWrite.on('option:-cmd2json', function () {
13
+ logInfo(getCommandsJson(vaultOperationsWrite));
14
+ process.exit();
15
+ });
16
+ vaultOperationsWrite
17
+ .command('fund')
18
+ .description('fund vaults')
19
+ .argument('<ether>', 'amount of ether to be funded (in ETH)', etherToWei)
20
+ .option('-v, --vault <string>', 'vault address', stringToAddress)
21
+ .action(async (ether, { vault }) => {
22
+ const { contract, vault: vaultAddress } = await chooseVaultAndGetDashboard({
23
+ vault,
24
+ });
25
+ const quarantineConfirm = await confirmQuarantine(vaultAddress);
26
+ if (!quarantineConfirm)
27
+ return;
28
+ const account = getAccount();
29
+ await checkVaultRole(contract, 'FUND_ROLE', account.address);
30
+ const confirm = await confirmOperation(`Are you sure you want to fund the staking vault ${vaultAddress} with ${formatEther(ether)} ether?`);
31
+ if (!confirm)
32
+ return;
33
+ await callWriteMethodWithReceipt({
34
+ contract,
35
+ methodName: 'fund',
36
+ payload: [],
37
+ value: ether,
38
+ });
39
+ });
40
+ vaultOperationsWrite
41
+ .command('withdraw')
42
+ .description('withdraws ether from the staking vault to a recipient')
43
+ .argument('<eth>', 'amount of ether to withdraw (in ETH)', etherToWei)
44
+ .option('-r, --recipient <string>', 'address of the recipient', stringToAddress)
45
+ .option('-v, --vault <string>', 'vault address', stringToAddress)
46
+ .action(async (ether, { vault, recipient }) => {
47
+ const recipientAddress = await getAddress(recipient, 'recipient');
48
+ const { contract, vault: vaultAddress } = await chooseVaultAndGetDashboard({ vault });
49
+ const quarantineConfirm = await confirmQuarantine(vaultAddress);
50
+ if (!quarantineConfirm)
51
+ return;
52
+ const account = getAccount();
53
+ await checkVaultRole(contract, 'WITHDRAW_ROLE', account.address);
54
+ const confirm = await confirmOperation(`Are you sure you want to withdraw ${formatEther(ether)} from the staking vault ${vaultAddress} to ${recipientAddress}?`);
55
+ if (!confirm)
56
+ return;
57
+ const isReportFresh = await checkIsReportFresh(vaultAddress);
58
+ if (!isReportFresh)
59
+ return;
60
+ await callWriteMethodWithReceipt({
61
+ contract,
62
+ methodName: 'withdraw',
63
+ payload: [recipientAddress, ether],
64
+ });
65
+ });
66
+ // Mint commands
67
+ vaultOperationsWrite
68
+ .command('mint-shares')
69
+ .alias('mint')
70
+ .description('mints stETH tokens backed by the vault to a recipient')
71
+ .argument('<amountOfShares>', 'amount of shares to mint (in Shares)', etherToWei)
72
+ .option('-r, --recipient <string>', 'address of the recipient', stringToAddress)
73
+ .option('-v, --vault <string>', 'vault address', stringToAddress)
74
+ .action(async (amountOfShares, { vault, recipient }) => {
75
+ const recipientAddress = await getAddress(recipient, 'recipient');
76
+ const { contract, vault: vaultAddress } = await chooseVaultAndGetDashboard({ vault });
77
+ const quarantineConfirm = await confirmQuarantine(vaultAddress);
78
+ if (!quarantineConfirm)
79
+ return;
80
+ const account = getAccount();
81
+ await checkVaultRole(contract, 'MINT_ROLE', account.address);
82
+ const confirm = await confirmOperation(`Are you sure you want to mint ${formatEther(amountOfShares)} shares to ${recipientAddress} in the staking vault ${vaultAddress}?`);
83
+ if (!confirm)
84
+ return;
85
+ await mintShares(contract, recipientAddress, amountOfShares, vaultAddress, 'mintShares');
86
+ });
87
+ vaultOperationsWrite
88
+ .command('mint-wsteth')
89
+ .description('mints wstETH tokens backed by the vault to a recipient')
90
+ .argument('<amountOfWsteth>', 'amount of wstETH to mint', etherToWei)
91
+ .option('-r, --recipient <string>', 'address of the recipient', stringToAddress)
92
+ .option('-v, --vault <string>', 'vault address', stringToAddress)
93
+ .action(async (amountOfWsteth, { vault, recipient }) => {
94
+ const recipientAddress = await getAddress(recipient, 'recipient');
95
+ const { contract, vault: vaultAddress } = await chooseVaultAndGetDashboard({ vault });
96
+ const quarantineConfirm = await confirmQuarantine(vaultAddress);
97
+ if (!quarantineConfirm)
98
+ return;
99
+ const account = getAccount();
100
+ await checkVaultRole(contract, 'MINT_ROLE', account.address);
101
+ await mintShares(contract, recipientAddress, amountOfWsteth, vaultAddress, 'mintWstETH');
102
+ });
103
+ vaultOperationsWrite
104
+ .command('mint-steth')
105
+ .description('mints stETH tokens backed by the vault to a recipient')
106
+ .argument('<amountOfSteth>', 'amount of stETH to mint', etherToWei)
107
+ .option('-r, --recipient <string>', 'address of the recipient', stringToAddress)
108
+ .option('-v, --vault <string>', 'vault address', stringToAddress)
109
+ .action(async (amountOfSteth, { vault, recipient }) => {
110
+ const recipientAddress = await getAddress(recipient, 'recipient');
111
+ const { contract, vault: vaultAddress } = await chooseVaultAndGetDashboard({ vault });
112
+ const quarantineConfirm = await confirmQuarantine(vaultAddress);
113
+ if (!quarantineConfirm)
114
+ return;
115
+ const account = getAccount();
116
+ await checkVaultRole(contract, 'MINT_ROLE', account.address);
117
+ await mintSteth(contract, recipientAddress, amountOfSteth, vaultAddress);
118
+ });
119
+ // Burn commands
120
+ vaultOperationsWrite
121
+ .command('burn-shares')
122
+ .alias('burn')
123
+ .description('Burns stETH shares from the sender backed by the vault. Expects corresponding amount of stETH approved to this contract')
124
+ .option('-v, --vault <string>', 'vault address', stringToAddress)
125
+ .argument('<amountOfShares>', 'amount of shares to burn (in Shares)', etherToWei)
126
+ .action(async (amountOfShares, { vault }) => {
127
+ const { contract, vault: vaultAddress } = await chooseVaultAndGetDashboard({
128
+ vault,
129
+ });
130
+ const quarantineConfirm = await confirmQuarantine(vaultAddress);
131
+ if (!quarantineConfirm)
132
+ return;
133
+ const account = getAccount();
134
+ await checkVaultRole(contract, 'BURN_ROLE', account.address);
135
+ await checkAllowance(contract, amountOfShares, 'shares');
136
+ await burnShares(contract, amountOfShares, vaultAddress, 'burnShares');
137
+ });
138
+ vaultOperationsWrite
139
+ .command('burn-steth')
140
+ .description('Burns stETH shares from the sender backed by the vault. Expects stETH amount approved to this contract.')
141
+ .argument('<amountOfSteth>', 'amount of stETH to burn (in stETH)', etherToWei)
142
+ .option('-v, --vault <string>', 'vault address', stringToAddress)
143
+ .action(async (amountOfSteth, { vault }) => {
144
+ const { contract, vault: vaultAddress } = await chooseVaultAndGetDashboard({
145
+ vault,
146
+ });
147
+ const quarantineConfirm = await confirmQuarantine(vaultAddress);
148
+ if (!quarantineConfirm)
149
+ return;
150
+ const account = getAccount();
151
+ await checkVaultRole(contract, 'BURN_ROLE', account.address);
152
+ await checkAllowance(contract, amountOfSteth, 'steth');
153
+ await burnSteth(contract, amountOfSteth, vaultAddress);
154
+ });
155
+ vaultOperationsWrite
156
+ .command('burn-wsteth')
157
+ .description('burn wstETH tokens from the sender backed by the vault')
158
+ .argument('<amountOfWsteth>', 'amount of wstETH tokens to burn (in wstETH)', etherToWei)
159
+ .option('-v, --vault <string>', 'vault address', stringToAddress)
160
+ .action(async (amountOfWsteth, { vault }) => {
161
+ const { contract, vault: vaultAddress } = await chooseVaultAndGetDashboard({
162
+ vault,
163
+ });
164
+ const quarantineConfirm = await confirmQuarantine(vaultAddress);
165
+ if (!quarantineConfirm)
166
+ return;
167
+ const account = getAccount();
168
+ await checkVaultRole(contract, 'BURN_ROLE', account.address);
169
+ await checkAllowance(contract, amountOfWsteth, 'wsteth');
170
+ await burnShares(contract, amountOfWsteth, vaultAddress, 'burnWstETH');
171
+ });
172
+ vaultOperationsWrite
173
+ .command('disburse-node-operator-fee')
174
+ .description('transfers the node-operator`s accrued fee (if any) to nodeOperatorFeeRecipient')
175
+ .option('-v, --vault <string>', 'vault address', stringToAddress)
176
+ .action(async ({ vault }) => {
177
+ const { contract, vault: vaultAddress } = await chooseVaultAndGetDashboard({
178
+ vault,
179
+ });
180
+ const quarantineConfirm = await confirmQuarantine(vaultAddress);
181
+ if (!quarantineConfirm)
182
+ return;
183
+ const nodeOperatorFeeRecipient = await callReadMethodSilent(contract, 'nodeOperatorFeeRecipient');
184
+ const nodeOperatorDisbursableFee = await callReadMethodSilent(contract, 'nodeOperatorDisbursableFee');
185
+ if (nodeOperatorDisbursableFee === 0n) {
186
+ logError('The node operator has no disbursable fee');
187
+ return;
188
+ }
189
+ const confirm = await confirmOperation(`Are you sure you want to transfer the node operator fee to ${nodeOperatorFeeRecipient} (nodeOperatorFeeRecipient) from the staking vault ${vaultAddress}? The node operator disbursable fee is ${formatEther(nodeOperatorDisbursableFee)} ETH`);
190
+ if (!confirm)
191
+ return;
192
+ await callWriteMethodWithReceipt({
193
+ contract,
194
+ methodName: 'disburseNodeOperatorFee',
195
+ payload: [],
196
+ });
197
+ });
198
+ //# sourceMappingURL=write.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["../../../../programs/use-cases/vault-operations/write.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from "./wallet.js";
@@ -1,18 +1,2 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./wallet"), exports);
1
+ export * from "./wallet.js";
18
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../providers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../providers/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}