@lidofinance/lsv-cli 1.0.0-alpha.53 → 1.0.0-alpha.55

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 (512) hide show
  1. package/README.md +3 -3
  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 +813 -374
  6. package/dist/abi/Dashboard.js +458 -277
  7. package/dist/abi/Dashboard.js.map +1 -1
  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 +28 -0
  12. package/dist/abi/LidoLocator.js +36 -0
  13. package/dist/abi/LidoLocator.js.map +1 -1
  14. package/dist/abi/OperatorGrid.d.ts +340 -169
  15. package/dist/abi/OperatorGrid.js +344 -164
  16. package/dist/abi/OperatorGrid.js.map +1 -1
  17. package/dist/abi/PredepositGuarantee.d.ts +371 -56
  18. package/dist/abi/PredepositGuarantee.js +290 -69
  19. package/dist/abi/PredepositGuarantee.js.map +1 -1
  20. package/dist/abi/StakingVault.d.ts +97 -425
  21. package/dist/abi/StakingVault.js +94 -419
  22. package/dist/abi/StakingVault.js.map +1 -1
  23. package/dist/abi/VaultFactory.d.ts +209 -134
  24. package/dist/abi/VaultFactory.js +66 -10
  25. package/dist/abi/VaultFactory.js.map +1 -1
  26. package/dist/abi/VaultHub.d.ts +1109 -445
  27. package/dist/abi/VaultHub.js +1502 -559
  28. package/dist/abi/VaultHub.js.map +1 -1
  29. package/dist/abi/VaultViewer.d.ts +308 -1
  30. package/dist/abi/VaultViewer.js +399 -1
  31. package/dist/abi/VaultViewer.js.map +1 -1
  32. package/dist/abi/index.d.ts +2 -3
  33. package/dist/abi/index.js +2 -4
  34. package/dist/abi/index.js.map +1 -1
  35. package/dist/command/index.js +1 -1
  36. package/dist/command/index.js.map +1 -1
  37. package/dist/contracts/index.d.ts +1 -4
  38. package/dist/contracts/index.js +1 -4
  39. package/dist/contracts/index.js.map +1 -1
  40. package/dist/contracts/lazy-oracle.d.ts +3 -0
  41. package/dist/contracts/lazy-oracle.js +18 -0
  42. package/dist/contracts/lazy-oracle.js.map +1 -0
  43. package/dist/contracts/locator.d.ts +1342 -38
  44. package/dist/contracts/operator-grid.d.ts +1 -0
  45. package/dist/contracts/pdg.d.ts +1 -0
  46. package/dist/contracts/vault-factory.d.ts +8849 -3187
  47. package/dist/contracts/vault-viewer.d.ts +6467 -73
  48. package/dist/contracts/vault-viewer.js +1 -1
  49. package/dist/contracts/vault.d.ts +1 -0
  50. package/dist/features/dashboard.js +5 -250
  51. package/dist/features/dashboard.js.map +1 -1
  52. package/dist/features/deposits/check-bls-deposits.d.ts +3 -0
  53. package/dist/features/deposits/check-bls-deposits.js +15 -0
  54. package/dist/features/deposits/check-bls-deposits.js.map +1 -0
  55. package/dist/features/deposits/index.d.ts +3 -0
  56. package/dist/features/deposits/index.js +4 -0
  57. package/dist/features/deposits/index.js.map +1 -0
  58. package/dist/features/deposits/make-pdg-proof.d.ts +3 -0
  59. package/dist/features/deposits/make-pdg-proof.js +52 -0
  60. package/dist/features/deposits/make-pdg-proof.js.map +1 -0
  61. package/dist/features/deposits/no-pdg.d.ts +21 -0
  62. package/dist/features/deposits/no-pdg.js +92 -0
  63. package/dist/features/deposits/no-pdg.js.map +1 -0
  64. package/dist/features/index.d.ts +4 -0
  65. package/dist/features/index.js +4 -0
  66. package/dist/features/index.js.map +1 -1
  67. package/dist/features/mint-burn/allowance.d.ts +2 -0
  68. package/dist/features/mint-burn/allowance.js +49 -0
  69. package/dist/features/mint-burn/allowance.js.map +1 -0
  70. package/dist/features/mint-burn/burn-shares.d.ts +3 -0
  71. package/dist/features/mint-burn/burn-shares.js +33 -0
  72. package/dist/features/mint-burn/burn-shares.js.map +1 -0
  73. package/dist/features/mint-burn/burn-steth.d.ts +3 -0
  74. package/dist/features/mint-burn/burn-steth.js +35 -0
  75. package/dist/features/mint-burn/burn-steth.js.map +1 -0
  76. package/dist/features/mint-burn/index.d.ts +5 -0
  77. package/dist/features/mint-burn/index.js +6 -0
  78. package/dist/features/mint-burn/index.js.map +1 -0
  79. package/dist/features/mint-burn/mint-shares.d.ts +3 -0
  80. package/dist/features/mint-burn/mint-shares.js +37 -0
  81. package/dist/features/mint-burn/mint-shares.js.map +1 -0
  82. package/dist/features/mint-burn/mint-steth.d.ts +3 -0
  83. package/dist/features/mint-burn/mint-steth.js +39 -0
  84. package/dist/features/mint-burn/mint-steth.js.map +1 -0
  85. package/dist/features/pdg.js +17 -23
  86. package/dist/features/pdg.js.map +1 -1
  87. package/dist/features/utils/get-address.d.ts +2 -0
  88. package/dist/features/utils/get-address.js +16 -0
  89. package/dist/features/utils/get-address.js.map +1 -0
  90. package/dist/features/utils/index.d.ts +4 -0
  91. package/dist/features/utils/index.js +5 -0
  92. package/dist/features/utils/index.js.map +1 -0
  93. package/dist/features/utils/liability-shares.d.ts +2 -0
  94. package/dist/features/utils/liability-shares.js +10 -0
  95. package/dist/features/utils/liability-shares.js.map +1 -0
  96. package/dist/features/utils/minting-capacity.d.ts +2 -0
  97. package/dist/features/utils/minting-capacity.js +11 -0
  98. package/dist/features/utils/minting-capacity.js.map +1 -0
  99. package/dist/features/utils/report-fresh.d.ts +2 -0
  100. package/dist/features/utils/report-fresh.js +18 -0
  101. package/dist/features/utils/report-fresh.js.map +1 -0
  102. package/dist/features/vault-factory.d.ts +17 -1
  103. package/dist/features/vault-factory.js +44 -8
  104. package/dist/features/vault-factory.js.map +1 -1
  105. package/dist/features/vault-hub.js +6 -6
  106. package/dist/features/vault-hub.js.map +1 -1
  107. package/dist/features/vault-operations/create-vault.d.ts +2 -0
  108. package/dist/features/vault-operations/create-vault.js +58 -0
  109. package/dist/features/vault-operations/create-vault.js.map +1 -0
  110. package/dist/features/vault-operations/dashboard-by-vault.d.ts +11 -0
  111. package/dist/features/vault-operations/dashboard-by-vault.js +34 -0
  112. package/dist/features/vault-operations/dashboard-by-vault.js.map +1 -0
  113. package/dist/features/vault-operations/index.d.ts +7 -0
  114. package/dist/features/vault-operations/index.js +8 -0
  115. package/dist/features/vault-operations/index.js.map +1 -0
  116. package/dist/features/vault-operations/vault-health.d.ts +2 -0
  117. package/dist/features/vault-operations/vault-health.js +24 -0
  118. package/dist/features/vault-operations/vault-health.js.map +1 -0
  119. package/dist/features/vault-operations/vault-info.d.ts +2 -0
  120. package/dist/features/vault-operations/vault-info.js +107 -0
  121. package/dist/features/vault-operations/vault-info.js.map +1 -0
  122. package/dist/features/vault-operations/vault-overview.d.ts +2 -0
  123. package/dist/features/vault-operations/vault-overview.js +107 -0
  124. package/dist/features/vault-operations/vault-overview.js.map +1 -0
  125. package/dist/features/vault-operations/vault-roles.d.ts +6 -0
  126. package/dist/features/vault-operations/vault-roles.js +62 -0
  127. package/dist/features/vault-operations/vault-roles.js.map +1 -0
  128. package/dist/features/vault-operations/vaults-by-role.d.ts +3 -0
  129. package/dist/features/vault-operations/vaults-by-role.js +45 -0
  130. package/dist/features/vault-operations/vaults-by-role.js.map +1 -0
  131. package/dist/features/vault.js +6 -14
  132. package/dist/features/vault.js.map +1 -1
  133. package/dist/index.js +16 -1
  134. package/dist/index.js.map +1 -1
  135. package/dist/programs/account/read.js +5 -1
  136. package/dist/programs/account/read.js.map +1 -1
  137. package/dist/programs/contracts/dashboard/config.d.ts +3 -0
  138. package/dist/programs/{dashboard → contracts/dashboard}/config.js +43 -35
  139. package/dist/programs/contracts/dashboard/config.js.map +1 -0
  140. package/dist/programs/contracts/dashboard/index.js.map +1 -0
  141. package/dist/programs/contracts/dashboard/main.js +5 -0
  142. package/dist/programs/contracts/dashboard/main.js.map +1 -0
  143. package/dist/programs/{dashboard → contracts/dashboard}/read.js +6 -33
  144. package/dist/programs/contracts/dashboard/read.js.map +1 -0
  145. package/dist/programs/{dashboard → contracts/dashboard}/write.js +109 -130
  146. package/dist/programs/contracts/dashboard/write.js.map +1 -0
  147. package/dist/programs/contracts/hub/config.d.ts +3 -0
  148. package/dist/programs/contracts/hub/config.js +165 -0
  149. package/dist/programs/contracts/hub/config.js.map +1 -0
  150. package/dist/programs/contracts/hub/index.js.map +1 -0
  151. package/dist/programs/contracts/hub/main.js +5 -0
  152. package/dist/programs/contracts/hub/main.js.map +1 -0
  153. package/dist/programs/{hub → contracts/hub}/read.js +13 -18
  154. package/dist/programs/contracts/hub/read.js.map +1 -0
  155. package/dist/programs/contracts/hub/write.js +425 -0
  156. package/dist/programs/contracts/hub/write.js.map +1 -0
  157. package/dist/programs/contracts/index.d.ts +8 -0
  158. package/dist/programs/contracts/index.js +9 -0
  159. package/dist/programs/contracts/index.js.map +1 -0
  160. package/dist/programs/contracts/main.d.ts +1 -0
  161. package/dist/programs/contracts/main.js +6 -0
  162. package/dist/programs/contracts/main.js.map +1 -0
  163. package/dist/programs/contracts/operator-grid/config.d.ts +3 -0
  164. package/dist/programs/{operator-grid → contracts/operator-grid}/config.js +40 -34
  165. package/dist/programs/contracts/operator-grid/config.js.map +1 -0
  166. package/dist/programs/contracts/operator-grid/index.js.map +1 -0
  167. package/dist/programs/contracts/operator-grid/main.js +5 -0
  168. package/dist/programs/contracts/operator-grid/main.js.map +1 -0
  169. package/dist/programs/{operator-grid → contracts/operator-grid}/read.js +4 -4
  170. package/dist/programs/contracts/operator-grid/read.js.map +1 -0
  171. package/dist/programs/{operator-grid → contracts/operator-grid}/write.js +27 -32
  172. package/dist/programs/contracts/operator-grid/write.js.map +1 -0
  173. package/dist/programs/contracts/pdg/config.d.ts +3 -0
  174. package/dist/programs/{pdg → contracts/pdg}/config.js +53 -27
  175. package/dist/programs/contracts/pdg/config.js.map +1 -0
  176. package/dist/programs/contracts/pdg/index.js.map +1 -0
  177. package/dist/programs/contracts/pdg/main.js +5 -0
  178. package/dist/programs/contracts/pdg/main.js.map +1 -0
  179. package/dist/programs/{pdg → contracts/pdg}/read.js +4 -4
  180. package/dist/programs/contracts/pdg/read.js.map +1 -0
  181. package/dist/programs/{pdg → contracts/pdg}/write.js +38 -20
  182. package/dist/programs/contracts/pdg/write.js.map +1 -0
  183. package/dist/programs/contracts/vault/config.d.ts +3 -0
  184. package/dist/programs/{vault → contracts/vault}/config.js +0 -28
  185. package/dist/programs/contracts/vault/config.js.map +1 -0
  186. package/dist/programs/contracts/vault/index.js.map +1 -0
  187. package/dist/programs/contracts/vault/main.js +3 -0
  188. package/dist/programs/contracts/vault/main.js.map +1 -0
  189. package/dist/programs/{vault → contracts/vault}/read.js +4 -4
  190. package/dist/programs/contracts/vault/read.js.map +1 -0
  191. package/dist/programs/{vault → contracts/vault}/write.js +37 -70
  192. package/dist/programs/contracts/vault/write.js.map +1 -0
  193. package/dist/programs/contracts/vault-factory/config.d.ts +3 -0
  194. package/dist/programs/contracts/vault-factory/config.js.map +1 -0
  195. package/dist/programs/contracts/vault-factory/index.js.map +1 -0
  196. package/dist/programs/contracts/vault-factory/main.js +5 -0
  197. package/dist/programs/contracts/vault-factory/main.js.map +1 -0
  198. package/dist/programs/{vault-factory → contracts/vault-factory}/read.js +4 -4
  199. package/dist/programs/contracts/vault-factory/read.js.map +1 -0
  200. package/dist/programs/contracts/vault-factory/write.js +126 -0
  201. package/dist/programs/contracts/vault-factory/write.js.map +1 -0
  202. package/dist/programs/contracts/vault-viewer/config.d.ts +3 -0
  203. package/dist/programs/contracts/vault-viewer/config.js.map +1 -0
  204. package/dist/programs/contracts/vault-viewer/index.js.map +1 -0
  205. package/dist/programs/contracts/vault-viewer/main.js +5 -0
  206. package/dist/programs/contracts/vault-viewer/main.js.map +1 -0
  207. package/dist/programs/contracts/vault-viewer/read.d.ts +1 -0
  208. package/dist/programs/{vault-viewer → contracts/vault-viewer}/read.js +20 -10
  209. package/dist/programs/contracts/vault-viewer/read.js.map +1 -0
  210. package/dist/programs/index.d.ts +2 -9
  211. package/dist/programs/index.js +2 -9
  212. package/dist/programs/index.js.map +1 -1
  213. package/dist/programs/pdg-helpers.js +46 -10
  214. package/dist/programs/pdg-helpers.js.map +1 -1
  215. package/dist/programs/use-cases/deposits/index.js.map +1 -0
  216. package/dist/programs/use-cases/deposits/main.d.ts +1 -0
  217. package/dist/programs/use-cases/deposits/main.js +6 -0
  218. package/dist/programs/use-cases/deposits/main.js.map +1 -0
  219. package/dist/programs/use-cases/deposits/read.js +13 -0
  220. package/dist/programs/use-cases/deposits/read.js.map +1 -0
  221. package/dist/programs/use-cases/deposits/write.js +211 -0
  222. package/dist/programs/use-cases/deposits/write.js.map +1 -0
  223. package/dist/programs/use-cases/index.d.ts +4 -0
  224. package/dist/programs/use-cases/index.js +5 -0
  225. package/dist/programs/use-cases/index.js.map +1 -0
  226. package/dist/programs/use-cases/metrics/index.js.map +1 -0
  227. package/dist/programs/use-cases/metrics/main.js +6 -0
  228. package/dist/programs/use-cases/metrics/main.js.map +1 -0
  229. package/dist/programs/{metrics → use-cases/metrics}/read.js +29 -23
  230. package/dist/programs/use-cases/metrics/read.js.map +1 -0
  231. package/dist/programs/use-cases/report/index.d.ts +3 -0
  232. package/dist/programs/use-cases/report/index.js +4 -0
  233. package/dist/programs/use-cases/report/index.js.map +1 -0
  234. package/dist/programs/use-cases/report/main.js +6 -0
  235. package/dist/programs/use-cases/report/main.js.map +1 -0
  236. package/dist/programs/{report → use-cases/report}/read.js +32 -41
  237. package/dist/programs/use-cases/report/read.js.map +1 -0
  238. package/dist/programs/{report → use-cases/report}/write.js +33 -42
  239. package/dist/programs/use-cases/report/write.js.map +1 -0
  240. package/dist/programs/use-cases/vault-operations/create-vault.js +129 -0
  241. package/dist/programs/use-cases/vault-operations/create-vault.js.map +1 -0
  242. package/dist/programs/use-cases/vault-operations/index.d.ts +4 -0
  243. package/dist/programs/use-cases/vault-operations/index.js +5 -0
  244. package/dist/programs/use-cases/vault-operations/index.js.map +1 -0
  245. package/dist/programs/use-cases/vault-operations/main.d.ts +1 -0
  246. package/dist/programs/use-cases/vault-operations/main.js +6 -0
  247. package/dist/programs/use-cases/vault-operations/main.js.map +1 -0
  248. package/dist/programs/use-cases/vault-operations/read.js +46 -0
  249. package/dist/programs/use-cases/vault-operations/read.js.map +1 -0
  250. package/dist/programs/use-cases/vault-operations/write.d.ts +1 -0
  251. package/dist/programs/use-cases/vault-operations/write.js +148 -0
  252. package/dist/programs/use-cases/vault-operations/write.js.map +1 -0
  253. package/dist/providers/wallet.d.ts +10 -10
  254. package/dist/tests/utils/error-handler.test.js +0 -8
  255. package/dist/tests/utils/error-handler.test.js.map +1 -1
  256. package/dist/tests/utils/ipfs.test.js +2 -2
  257. package/dist/tests/utils/ipfs.test.js.map +1 -1
  258. package/dist/types/common.d.ts +6 -2
  259. package/dist/utils/arguments.d.ts +1 -0
  260. package/dist/utils/arguments.js +3 -0
  261. package/dist/utils/arguments.js.map +1 -1
  262. package/dist/utils/cache.d.ts +2 -2
  263. package/dist/utils/cache.js +7 -7
  264. package/dist/utils/cache.js.map +1 -1
  265. package/dist/utils/calculate-overview-v2.d.ts +2 -1
  266. package/dist/utils/calculate-overview-v2.js +2 -4
  267. package/dist/utils/calculate-overview-v2.js.map +1 -1
  268. package/dist/utils/calculate-overview.d.ts +0 -1
  269. package/dist/utils/calculate-overview.js +1 -3
  270. package/dist/utils/calculate-overview.js.map +1 -1
  271. package/dist/utils/charts/blessed/charts-apr.js +6 -3
  272. package/dist/utils/charts/blessed/charts-apr.js.map +1 -1
  273. package/dist/utils/charts/blessed/charts-rewards.js +3 -3
  274. package/dist/utils/charts/blessed/charts-rewards.js.map +1 -1
  275. package/dist/utils/charts/blessed/datasets/prepare-metrics.js +4 -4
  276. package/dist/utils/charts/blessed/datasets/prepare-metrics.js.map +1 -1
  277. package/dist/utils/charts/simple/simple-charts.js +5 -5
  278. package/dist/utils/charts/simple/simple-charts.js.map +1 -1
  279. package/dist/utils/commands/confirmations.d.ts +20 -8
  280. package/dist/utils/commands/confirmations.js +30 -14
  281. package/dist/utils/commands/confirmations.js.map +1 -1
  282. package/dist/utils/commands/index.d.ts +0 -2
  283. package/dist/utils/commands/index.js +0 -2
  284. package/dist/utils/commands/index.js.map +1 -1
  285. package/dist/utils/commands/report.d.ts +1 -1
  286. package/dist/utils/commands/report.js +18 -25
  287. package/dist/utils/commands/report.js.map +1 -1
  288. package/dist/utils/consts.d.ts +3 -0
  289. package/dist/utils/consts.js +4 -0
  290. package/dist/utils/consts.js.map +1 -0
  291. package/dist/utils/contract.d.ts +2 -0
  292. package/dist/utils/contract.js +3 -1
  293. package/dist/utils/contract.js.map +1 -1
  294. package/dist/utils/fetchCL.d.ts +22 -0
  295. package/dist/utils/fetchCL.js +12 -0
  296. package/dist/utils/fetchCL.js.map +1 -1
  297. package/dist/utils/index.d.ts +2 -1
  298. package/dist/utils/index.js +2 -1
  299. package/dist/utils/index.js.map +1 -1
  300. package/dist/utils/prompts/confirmations.js +2 -2
  301. package/dist/utils/prompts/confirmations.js.map +1 -1
  302. package/dist/utils/prompts/default.d.ts +2 -0
  303. package/dist/utils/prompts/default.js +7 -0
  304. package/dist/utils/prompts/default.js.map +1 -1
  305. package/dist/utils/prompts/index.d.ts +1 -1
  306. package/dist/utils/prompts/index.js +1 -1
  307. package/dist/utils/prompts/index.js.map +1 -1
  308. package/dist/utils/prompts/mint-burn/confirm-burn.d.ts +17 -0
  309. package/dist/utils/prompts/mint-burn/confirm-burn.js +23 -0
  310. package/dist/utils/prompts/mint-burn/confirm-burn.js.map +1 -0
  311. package/dist/utils/prompts/{dashboard.d.ts → mint-burn/confirm-mint.d.ts} +0 -15
  312. package/dist/utils/prompts/mint-burn/confirm-mint.js +23 -0
  313. package/dist/utils/prompts/mint-burn/confirm-mint.js.map +1 -0
  314. package/dist/utils/prompts/mint-burn/constants.d.ts +2 -0
  315. package/dist/utils/prompts/mint-burn/constants.js +6 -0
  316. package/dist/utils/prompts/mint-burn/constants.js.map +1 -0
  317. package/dist/utils/prompts/mint-burn/index.d.ts +2 -0
  318. package/dist/utils/prompts/mint-burn/index.js +3 -0
  319. package/dist/utils/prompts/mint-burn/index.js.map +1 -0
  320. package/dist/utils/prompts/operations.d.ts +1 -1
  321. package/dist/utils/prompts/operations.js +3 -3
  322. package/dist/utils/prompts/operations.js.map +1 -1
  323. package/dist/utils/prompts/predeposit-guarantee.d.ts +2 -2
  324. package/dist/utils/prompts/predeposit-guarantee.js.map +1 -1
  325. package/dist/utils/proof/create-proof.d.ts +4 -0
  326. package/dist/utils/proof/create-proof.js +2 -0
  327. package/dist/utils/proof/create-proof.js.map +1 -1
  328. package/dist/utils/proof/index.d.ts +0 -1
  329. package/dist/utils/proof/index.js +0 -1
  330. package/dist/utils/proof/index.js.map +1 -1
  331. package/dist/utils/read-programs-by-abi.d.ts +11 -4
  332. package/dist/utils/read-programs-by-abi.js +4 -3
  333. package/dist/utils/read-programs-by-abi.js.map +1 -1
  334. package/dist/utils/report/index.d.ts +2 -1
  335. package/dist/utils/report/index.js +2 -1
  336. package/dist/utils/report/index.js.map +1 -1
  337. package/dist/utils/report/report-proof.d.ts +42 -0
  338. package/dist/utils/report/report-proof.js +38 -0
  339. package/dist/utils/report/report-proof.js.map +1 -0
  340. package/dist/utils/report/report.d.ts +3 -60
  341. package/dist/utils/report/report.js +14 -8
  342. package/dist/utils/report/report.js.map +1 -1
  343. package/dist/utils/report/statistic-data.d.ts +1 -1
  344. package/dist/utils/report/statistic-data.js +5 -6
  345. package/dist/utils/report/statistic-data.js.map +1 -1
  346. package/dist/utils/report/types.d.ts +69 -0
  347. package/dist/utils/report/types.js +2 -0
  348. package/dist/utils/report/types.js.map +1 -0
  349. package/dist/utils/statistic/index.d.ts +1 -0
  350. package/dist/utils/statistic/index.js +2 -0
  351. package/dist/utils/statistic/index.js.map +1 -0
  352. package/dist/utils/{report → statistic}/report-statistic.d.ts +3 -3
  353. package/dist/utils/{report → statistic}/report-statistic.js +16 -19
  354. package/dist/utils/statistic/report-statistic.js.map +1 -0
  355. package/dist/version/index.js +1 -1
  356. package/package.json +2 -1
  357. package/dist/abi/BlsHarness.d.ts +0 -178
  358. package/dist/abi/BlsHarness.js +0 -232
  359. package/dist/abi/BlsHarness.js.map +0 -1
  360. package/dist/abi/CLProofVerifier.d.ts +0 -188
  361. package/dist/abi/CLProofVerifier.js +0 -247
  362. package/dist/abi/CLProofVerifier.js.map +0 -1
  363. package/dist/abi/ReportChecker.d.ts +0 -83
  364. package/dist/abi/ReportChecker.js +0 -109
  365. package/dist/abi/ReportChecker.js.map +0 -1
  366. package/dist/contracts/blsHarness.d.ts +0 -947
  367. package/dist/contracts/blsHarness.js +0 -24
  368. package/dist/contracts/blsHarness.js.map +0 -1
  369. package/dist/contracts/clProofVerifier.d.ts +0 -2647
  370. package/dist/contracts/clProofVerifier.js +0 -23
  371. package/dist/contracts/clProofVerifier.js.map +0 -1
  372. package/dist/contracts/reportChecker.d.ts +0 -758
  373. package/dist/contracts/reportChecker.js +0 -23
  374. package/dist/contracts/reportChecker.js.map +0 -1
  375. package/dist/contracts/voting.d.ts +0 -6
  376. package/dist/contracts/voting.js +0 -19
  377. package/dist/contracts/voting.js.map +0 -1
  378. package/dist/programs/dashboard/config.d.ts +0 -2
  379. package/dist/programs/dashboard/config.js.map +0 -1
  380. package/dist/programs/dashboard/index.js.map +0 -1
  381. package/dist/programs/dashboard/main.js +0 -5
  382. package/dist/programs/dashboard/main.js.map +0 -1
  383. package/dist/programs/dashboard/read.js.map +0 -1
  384. package/dist/programs/dashboard/write.js.map +0 -1
  385. package/dist/programs/hub/config.d.ts +0 -2
  386. package/dist/programs/hub/config.js +0 -123
  387. package/dist/programs/hub/config.js.map +0 -1
  388. package/dist/programs/hub/index.js.map +0 -1
  389. package/dist/programs/hub/main.js +0 -5
  390. package/dist/programs/hub/main.js.map +0 -1
  391. package/dist/programs/hub/read.js.map +0 -1
  392. package/dist/programs/hub/write.js +0 -246
  393. package/dist/programs/hub/write.js.map +0 -1
  394. package/dist/programs/metrics/index.js.map +0 -1
  395. package/dist/programs/metrics/main.js +0 -3
  396. package/dist/programs/metrics/main.js.map +0 -1
  397. package/dist/programs/metrics/read.js.map +0 -1
  398. package/dist/programs/operator-grid/config.d.ts +0 -2
  399. package/dist/programs/operator-grid/config.js.map +0 -1
  400. package/dist/programs/operator-grid/index.js.map +0 -1
  401. package/dist/programs/operator-grid/main.js +0 -5
  402. package/dist/programs/operator-grid/main.js.map +0 -1
  403. package/dist/programs/operator-grid/read.js.map +0 -1
  404. package/dist/programs/operator-grid/write.js.map +0 -1
  405. package/dist/programs/pdg/config.d.ts +0 -2
  406. package/dist/programs/pdg/config.js.map +0 -1
  407. package/dist/programs/pdg/index.js.map +0 -1
  408. package/dist/programs/pdg/main.js +0 -5
  409. package/dist/programs/pdg/main.js.map +0 -1
  410. package/dist/programs/pdg/read.js.map +0 -1
  411. package/dist/programs/pdg/write.js.map +0 -1
  412. package/dist/programs/report/index.js.map +0 -1
  413. package/dist/programs/report/main.js +0 -3
  414. package/dist/programs/report/main.js.map +0 -1
  415. package/dist/programs/report/read.js.map +0 -1
  416. package/dist/programs/report/write.js.map +0 -1
  417. package/dist/programs/vault/config.d.ts +0 -2
  418. package/dist/programs/vault/config.js.map +0 -1
  419. package/dist/programs/vault/index.js.map +0 -1
  420. package/dist/programs/vault/main.js +0 -3
  421. package/dist/programs/vault/main.js.map +0 -1
  422. package/dist/programs/vault/read.js.map +0 -1
  423. package/dist/programs/vault/write.js.map +0 -1
  424. package/dist/programs/vault-factory/config.d.ts +0 -2
  425. package/dist/programs/vault-factory/config.js.map +0 -1
  426. package/dist/programs/vault-factory/index.js.map +0 -1
  427. package/dist/programs/vault-factory/main.js +0 -5
  428. package/dist/programs/vault-factory/main.js.map +0 -1
  429. package/dist/programs/vault-factory/read.js.map +0 -1
  430. package/dist/programs/vault-factory/write.js +0 -86
  431. package/dist/programs/vault-factory/write.js.map +0 -1
  432. package/dist/programs/vault-viewer/config.d.ts +0 -2
  433. package/dist/programs/vault-viewer/config.js.map +0 -1
  434. package/dist/programs/vault-viewer/index.js.map +0 -1
  435. package/dist/programs/vault-viewer/main.js +0 -10
  436. package/dist/programs/vault-viewer/main.js.map +0 -1
  437. package/dist/programs/vault-viewer/read.js.map +0 -1
  438. package/dist/tests/__mocks__/@lodestar/types.js +0 -6
  439. package/dist/tests/__mocks__/@lodestar/types.js.map +0 -1
  440. package/dist/tests/utils/fetchCL.test.js +0 -57
  441. package/dist/tests/utils/fetchCL.test.js.map +0 -1
  442. package/dist/tests/utils/report-proof.test.js +0 -29
  443. package/dist/tests/utils/report-proof.test.js.map +0 -1
  444. package/dist/tests/utils/report-statistic.test.d.ts +0 -1
  445. package/dist/tests/utils/report-statistic.test.js +0 -247
  446. package/dist/tests/utils/report-statistic.test.js.map +0 -1
  447. package/dist/tests/utils/required-lock.test.d.ts +0 -1
  448. package/dist/tests/utils/required-lock.test.js +0 -26
  449. package/dist/tests/utils/required-lock.test.js.map +0 -1
  450. package/dist/utils/commands/dashboard.d.ts +0 -6
  451. package/dist/utils/commands/dashboard.js +0 -145
  452. package/dist/utils/commands/dashboard.js.map +0 -1
  453. package/dist/utils/commands/utils.d.ts +0 -6
  454. package/dist/utils/commands/utils.js +0 -57
  455. package/dist/utils/commands/utils.js.map +0 -1
  456. package/dist/utils/prompts/dashboard.js +0 -45
  457. package/dist/utils/prompts/dashboard.js.map +0 -1
  458. package/dist/utils/proof/report-proof.d.ts +0 -5
  459. package/dist/utils/proof/report-proof.js +0 -26
  460. package/dist/utils/proof/report-proof.js.map +0 -1
  461. package/dist/utils/report/report-statistic.js.map +0 -1
  462. package/dist/utils/required-lock.d.ts +0 -5
  463. package/dist/utils/required-lock.js +0 -21
  464. package/dist/utils/required-lock.js.map +0 -1
  465. /package/dist/programs/{dashboard → contracts/dashboard}/index.d.ts +0 -0
  466. /package/dist/programs/{dashboard → contracts/dashboard}/index.js +0 -0
  467. /package/dist/programs/{dashboard → contracts/dashboard}/main.d.ts +0 -0
  468. /package/dist/programs/{dashboard → contracts/dashboard}/read.d.ts +0 -0
  469. /package/dist/programs/{dashboard → contracts/dashboard}/write.d.ts +0 -0
  470. /package/dist/programs/{hub → contracts/hub}/index.d.ts +0 -0
  471. /package/dist/programs/{hub → contracts/hub}/index.js +0 -0
  472. /package/dist/programs/{hub → contracts/hub}/main.d.ts +0 -0
  473. /package/dist/programs/{hub → contracts/hub}/read.d.ts +0 -0
  474. /package/dist/programs/{hub → contracts/hub}/write.d.ts +0 -0
  475. /package/dist/programs/{operator-grid → contracts/operator-grid}/index.d.ts +0 -0
  476. /package/dist/programs/{operator-grid → contracts/operator-grid}/index.js +0 -0
  477. /package/dist/programs/{operator-grid → contracts/operator-grid}/main.d.ts +0 -0
  478. /package/dist/programs/{metrics → contracts/operator-grid}/read.d.ts +0 -0
  479. /package/dist/programs/{operator-grid → contracts/operator-grid}/write.d.ts +0 -0
  480. /package/dist/programs/{pdg → contracts/pdg}/index.d.ts +0 -0
  481. /package/dist/programs/{pdg → contracts/pdg}/index.js +0 -0
  482. /package/dist/programs/{pdg → contracts/pdg}/main.d.ts +0 -0
  483. /package/dist/programs/{operator-grid → contracts/pdg}/read.d.ts +0 -0
  484. /package/dist/programs/{pdg → contracts/pdg}/write.d.ts +0 -0
  485. /package/dist/programs/{vault-factory → contracts/vault}/index.d.ts +0 -0
  486. /package/dist/programs/{vault-factory → contracts/vault}/index.js +0 -0
  487. /package/dist/programs/{vault → contracts/vault}/main.d.ts +0 -0
  488. /package/dist/programs/{report → contracts/vault}/read.d.ts +0 -0
  489. /package/dist/programs/{vault-factory → contracts/vault}/write.d.ts +0 -0
  490. /package/dist/programs/{vault-factory → contracts/vault-factory}/config.js +0 -0
  491. /package/dist/programs/{report → contracts/vault-factory}/index.d.ts +0 -0
  492. /package/dist/programs/{report → contracts/vault-factory}/index.js +0 -0
  493. /package/dist/programs/{vault-factory → contracts/vault-factory}/main.d.ts +0 -0
  494. /package/dist/programs/{pdg → contracts/vault-factory}/read.d.ts +0 -0
  495. /package/dist/programs/{report → contracts/vault-factory}/write.d.ts +0 -0
  496. /package/dist/programs/{vault-viewer → contracts/vault-viewer}/config.js +0 -0
  497. /package/dist/programs/{metrics → contracts/vault-viewer}/index.d.ts +0 -0
  498. /package/dist/programs/{metrics → contracts/vault-viewer}/index.js +0 -0
  499. /package/dist/programs/{vault-viewer → contracts/vault-viewer}/main.d.ts +0 -0
  500. /package/dist/programs/{vault → use-cases/deposits}/index.d.ts +0 -0
  501. /package/dist/programs/{vault → use-cases/deposits}/index.js +0 -0
  502. /package/dist/programs/{vault-factory → use-cases/deposits}/read.d.ts +0 -0
  503. /package/dist/programs/{vault → use-cases/deposits}/write.d.ts +0 -0
  504. /package/dist/programs/{vault-viewer → use-cases/metrics}/index.d.ts +0 -0
  505. /package/dist/programs/{vault-viewer → use-cases/metrics}/index.js +0 -0
  506. /package/dist/programs/{metrics → use-cases/metrics}/main.d.ts +0 -0
  507. /package/dist/programs/{vault-viewer → use-cases/metrics}/read.d.ts +0 -0
  508. /package/dist/programs/{report → use-cases/report}/main.d.ts +0 -0
  509. /package/dist/programs/{vault → use-cases/report}/read.d.ts +0 -0
  510. /package/dist/{tests/__mocks__/@lodestar/types.d.ts → programs/use-cases/report/write.d.ts} +0 -0
  511. /package/dist/{tests/utils/fetchCL.test.d.ts → programs/use-cases/vault-operations/create-vault.d.ts} +0 -0
  512. /package/dist/{tests/utils/report-proof.test.d.ts → programs/use-cases/vault-operations/read.d.ts} +0 -0
@@ -1,7 +1,8 @@
1
1
  import { Option } from 'commander';
2
- import { program } from '../../command/index.js';
3
- import { callReadMethod, fetchAndVerifyFile, getAllVaultsReports, getCommandsJson, getReportLeaf, getVaultReportProof, getVaultReport, logInfo, } from '../../utils/index.js';
4
- import { getVaultHubContract } from '../../contracts/index.js';
2
+ import { program } from '../../../command/index.js';
3
+ import { callReadMethod, fetchAndVerifyFile, getAllVaultsReports, getCommandsJson, getVaultReport, logInfo, getReportProofByVault, } from '../../../utils/index.js';
4
+ import { getLazyOracleContract } from '../../../contracts/index.js';
5
+ import { chooseVaultAndGetDashboard } from '../../../features/index.js';
5
6
  import { report } from './main.js';
6
7
  const reportRead = report
7
8
  .command('read')
@@ -12,18 +13,28 @@ reportRead.on('option:-cmd2json', function () {
12
13
  logInfo(getCommandsJson(reportRead));
13
14
  process.exit();
14
15
  });
16
+ reportRead
17
+ .command('latest-report-data')
18
+ .aliases(['lrd'])
19
+ .description('get the latest report data')
20
+ .action(async () => {
21
+ const lazyOracleContract = await getLazyOracleContract();
22
+ const [timestamp, root, cid] = await callReadMethod(lazyOracleContract, 'latestReportData');
23
+ logInfo(timestamp, root, cid);
24
+ });
15
25
  reportRead
16
26
  .command('by-vault')
17
27
  .description('get report by vault')
18
- .argument('<vault>', 'vault address')
28
+ .option('-v, --vault <string>', 'vault address')
19
29
  .option('-g, --gateway', 'ipfs gateway url')
20
- .action(async (vault, { gateway }) => {
21
- const vaultHubContract = await getVaultHubContract();
22
- const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(vaultHubContract, 'latestReportData');
30
+ .action(async ({ vault, gateway }) => {
31
+ const { vault: vaultAddress } = await chooseVaultAndGetDashboard({ vault });
32
+ const lazyOracleContract = await getLazyOracleContract();
33
+ const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(lazyOracleContract, 'latestReportData');
23
34
  await fetchAndVerifyFile(vaultsDataReportCid, gateway);
24
35
  const { cacheUse } = program.opts();
25
36
  const report = await getVaultReport({
26
- vault,
37
+ vault: vaultAddress,
27
38
  cid: vaultsDataReportCid,
28
39
  gateway: gateway,
29
40
  }, cacheUse);
@@ -32,18 +43,18 @@ reportRead
32
43
  reportRead
33
44
  .command('proof-by-vault')
34
45
  .description('get proof by vault')
35
- .argument('<vault>', 'vault address')
46
+ .option('-v, --vault <string>', 'vault address')
36
47
  .option('-g, --gateway', 'ipfs gateway url')
37
- .action(async (vault, { gateway }) => {
38
- const vaultHubContract = await getVaultHubContract();
39
- const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(vaultHubContract, 'latestReportData');
40
- const { cacheUse } = program.opts();
41
- const proof = await getVaultReportProof({
42
- vault,
48
+ .action(async ({ vault, gateway }) => {
49
+ const { vault: vaultAddress } = await chooseVaultAndGetDashboard({ vault });
50
+ const lazyOracleContract = await getLazyOracleContract();
51
+ const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(lazyOracleContract, 'latestReportData');
52
+ await fetchAndVerifyFile(vaultsDataReportCid, gateway);
53
+ const proof = await getReportProofByVault({
54
+ vault: vaultAddress,
43
55
  cid: vaultsDataReportCid,
44
56
  gateway,
45
- }, cacheUse);
46
- await fetchAndVerifyFile(vaultsDataReportCid, gateway);
57
+ });
47
58
  logInfo(proof);
48
59
  });
49
60
  reportRead
@@ -51,8 +62,8 @@ reportRead
51
62
  .description('get all reports')
52
63
  .option('-g, --gateway', 'ipfs gateway url')
53
64
  .action(async ({ gateway }) => {
54
- const vaultHubContract = await getVaultHubContract();
55
- const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(vaultHubContract, 'latestReportData');
65
+ const lazyOracleContract = await getLazyOracleContract();
66
+ const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(lazyOracleContract, 'latestReportData');
56
67
  await fetchAndVerifyFile(vaultsDataReportCid, gateway);
57
68
  const { cacheUse } = program.opts();
58
69
  const allVaultsReports = await getAllVaultsReports({
@@ -66,28 +77,8 @@ reportRead
66
77
  .description('check ipfs CID')
67
78
  .option('-u, --url', 'ipfs gateway url')
68
79
  .action(async ({ url }) => {
69
- const vaultHubContract = await getVaultHubContract();
70
- const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(vaultHubContract, 'latestReportData');
80
+ const lazyOracleContract = await getLazyOracleContract();
81
+ const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(lazyOracleContract, 'latestReportData');
71
82
  await fetchAndVerifyFile(vaultsDataReportCid, url);
72
83
  });
73
- reportRead
74
- .command('make-leaf')
75
- .description('make leaf')
76
- .argument('<vault>', 'vault address')
77
- .option('-g, --gateway', 'ipfs gateway url')
78
- .action(async (vault, { gateway }) => {
79
- const vaultHubContract = await getVaultHubContract();
80
- const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(vaultHubContract, 'latestReportData');
81
- await fetchAndVerifyFile(vaultsDataReportCid, gateway);
82
- const { cacheUse } = program.opts();
83
- const report = await getVaultReport({
84
- vault,
85
- cid: vaultsDataReportCid,
86
- gateway,
87
- }, cacheUse);
88
- const reportLeaf = getReportLeaf(report.data);
89
- logInfo('local leaf', reportLeaf);
90
- logInfo('ipfs leaf', report.leaf);
91
- logInfo('ipfs merkle tree root', report.merkleTreeRoot);
92
- });
93
84
  //# sourceMappingURL=read.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../../programs/use-cases/report/read.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
- import { Option, program } from 'commander';
1
+ import { Option } from 'commander';
2
2
  import cliProgress from 'cli-progress';
3
- import { getVaultHubContract } from '../../contracts/index.js';
4
- import { callWriteMethodWithReceipt, callReadMethod, logInfo, getCommandsJson, logError, getAllVaultsReports, getAllVaultsReportProofs, fetchAndVerifyFile, withInterruptHandling, submitReport, } from '../../utils/index.js';
3
+ import { getLazyOracleContract } from '../../../contracts/index.js';
4
+ import { callWriteMethodWithReceipt, callReadMethod, logInfo, getCommandsJson, logError, fetchAndVerifyFile, withInterruptHandling, submitReport, getReportProofByVaults, getReportProofs, } from '../../../utils/index.js';
5
+ import { chooseVaultAndGetDashboard } from '../../../features/index.js';
5
6
  import { report } from './main.js';
6
7
  const reportWrite = report
7
8
  .command('write')
@@ -16,10 +17,11 @@ reportWrite
16
17
  .command('by-vault-submit')
17
18
  .alias('submit')
18
19
  .description('submit report by vault')
19
- .argument('<vault>', 'vault address')
20
+ .option('-v, --vault <string>', 'vault address')
20
21
  .option('-g, --gateway', 'ipfs gateway url')
21
- .action(async (vault, { gateway }) => {
22
- await submitReport({ vault, gateway });
22
+ .action(async ({ vault, gateway }) => {
23
+ const { vault: vaultAddress } = await chooseVaultAndGetDashboard({ vault });
24
+ await submitReport({ vault: vaultAddress, gateway });
23
25
  });
24
26
  reportWrite
25
27
  .command('by-vaults-submit')
@@ -28,40 +30,35 @@ reportWrite
28
30
  .option('-g, --gateway', 'ipfs gateway url')
29
31
  .option('-e, --skip-error', 'skip error')
30
32
  .action(withInterruptHandling(async (vaults, { gateway, skipError }) => {
31
- const vaultHubContract = await getVaultHubContract();
32
- const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(vaultHubContract, 'latestReportData');
33
- const { cacheUse } = program.opts();
33
+ const lazyOracleContract = await getLazyOracleContract();
34
+ const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(lazyOracleContract, 'latestReportData');
34
35
  await fetchAndVerifyFile(vaultsDataReportCid, gateway);
35
- const { vaultReports, proofsCID } = await getAllVaultsReports({
36
+ const proofs = await getReportProofByVaults({
36
37
  cid: vaultsDataReportCid,
37
38
  gateway,
38
- }, cacheUse);
39
- await fetchAndVerifyFile(proofsCID, gateway);
40
- const allVaultsProofs = await getAllVaultsReportProofs({
41
- cid: proofsCID,
42
- gateway,
43
- }, cacheUse);
39
+ vaults,
40
+ });
44
41
  const progressBar = new cliProgress.SingleBar({
45
42
  format: 'Progress |{bar}| {percentage}% || {value}/{total} Vaults Updated',
46
43
  stopOnComplete: true,
47
44
  }, cliProgress.Presets.shades_classic);
48
45
  progressBar.start(vaults.length, 0);
49
46
  for (const [_index, vault] of vaults.entries()) {
50
- const vaultReport = vaultReports.find((v) => v.vault_address === vault);
47
+ const vaultReport = proofs.find((v) => v.data.vaultAddress === vault);
51
48
  if (!vaultReport) {
52
49
  logError(`Vault ${vault} not found`);
53
50
  continue;
54
51
  }
55
52
  await callWriteMethodWithReceipt({
56
- contract: vaultHubContract,
53
+ contract: lazyOracleContract,
57
54
  methodName: 'updateVaultData',
58
55
  payload: [
59
56
  vault,
60
- BigInt(vaultReport.total_value_wei),
61
- BigInt(vaultReport.in_out_delta),
62
- BigInt(vaultReport.fee),
63
- BigInt(vaultReport.liability_shares),
64
- allVaultsProofs[vault]?.proof,
57
+ BigInt(vaultReport.data.totalValueWei),
58
+ BigInt(vaultReport.data.fee),
59
+ BigInt(vaultReport.data.liabilityShares),
60
+ BigInt(vaultReport.data.slashingReserve),
61
+ vaultReport.proof,
65
62
  ],
66
63
  withSpinner: false,
67
64
  silent: true,
@@ -77,35 +74,29 @@ reportWrite
77
74
  .option('-g, --gateway', 'ipfs gateway url')
78
75
  .option('-e, --skip-error', 'skip error')
79
76
  .action(withInterruptHandling(async ({ gateway, skipError }) => {
80
- const vaultHubContract = await getVaultHubContract();
81
- const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(vaultHubContract, 'latestReportData');
77
+ const lazyOracleContract = await getLazyOracleContract();
78
+ const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(lazyOracleContract, 'latestReportData');
82
79
  await fetchAndVerifyFile(vaultsDataReportCid, gateway);
83
- const { cacheUse } = program.opts();
84
- const { vaultReports, proofsCID } = await getAllVaultsReports({
80
+ const proofs = await getReportProofs({
85
81
  cid: vaultsDataReportCid,
86
82
  gateway,
87
- }, cacheUse);
88
- await fetchAndVerifyFile(proofsCID, gateway);
89
- const allVaultsProofs = await getAllVaultsReportProofs({
90
- cid: proofsCID,
91
- gateway,
92
- }, cacheUse);
83
+ });
93
84
  const progressBar = new cliProgress.SingleBar({
94
85
  format: 'Progress |{bar}| {percentage}% || {value}/{total} Vaults Updated',
95
86
  }, cliProgress.Presets.shades_classic);
96
- progressBar.start(vaultReports.length, 0);
97
- for (const [_index, report] of vaultReports.entries()) {
87
+ progressBar.start(proofs.length, 0);
88
+ for (const [_index, report] of proofs.entries()) {
98
89
  try {
99
90
  await callWriteMethodWithReceipt({
100
- contract: vaultHubContract,
91
+ contract: lazyOracleContract,
101
92
  methodName: 'updateVaultData',
102
93
  payload: [
103
- report.vault_address,
104
- BigInt(report.total_value_wei),
105
- BigInt(report.in_out_delta),
106
- BigInt(report.fee),
107
- BigInt(report.liability_shares),
108
- allVaultsProofs[report.vault_address]?.proof,
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,
109
100
  ],
110
101
  withSpinner: false,
111
102
  silent: true,
@@ -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,46 @@
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, } 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 } = await chooseVaultAndGetDashboard({ vault });
20
+ await getVaultInfoByDashboard(contract);
21
+ });
22
+ vaultOperationsRead
23
+ .command('health')
24
+ .description('get vault health')
25
+ .option('-v, --vault <string>', 'vault address')
26
+ .action(async ({ vault }) => {
27
+ const { contract } = await chooseVaultAndGetDashboard({ vault });
28
+ await getVaultHealthByDashboard(contract);
29
+ });
30
+ vaultOperationsRead
31
+ .command('overview')
32
+ .description('get vault overview')
33
+ .option('-v, --vault <string>', 'vault address')
34
+ .action(async ({ vault }) => {
35
+ const { contract } = await chooseVaultAndGetDashboard({ vault });
36
+ await getVaultOverviewByDashboard(contract);
37
+ });
38
+ vaultOperationsRead
39
+ .command('roles')
40
+ .description('get vault roles')
41
+ .option('-v, --vault <string>', 'vault address')
42
+ .action(async ({ vault }) => {
43
+ const { contract } = await chooseVaultAndGetDashboard({ vault });
44
+ await getVaultRolesByDashboard(contract);
45
+ });
46
+ //# 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,GACzB,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,GAAG,MAAM,0BAA0B,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAEjE,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,GAAG,MAAM,0BAA0B,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAEjE,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,GAAG,MAAM,0BAA0B,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAEjE,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,GAAG,MAAM,0BAA0B,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAEjE,MAAM,wBAAwB,CAAC,QAAQ,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const vaultOperationsWrite: import("commander").Command;
@@ -0,0 +1,148 @@
1
+ import { formatEther } from 'viem';
2
+ import { Option } from 'commander';
3
+ import { logInfo, getCommandsJson, etherToWei, stringToAddress, confirmOperation, callWriteMethodWithReceipt, } from '../../../utils/index.js';
4
+ import { chooseVaultAndGetDashboard, getAddress, mintShares, checkIsReportFresh, mintSteth, burnShares, burnSteth, checkVaultRole, checkAllowance, } 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 account = getAccount();
26
+ await checkVaultRole(contract, 'FUND_ROLE', account.address);
27
+ const confirm = await confirmOperation(`Are you sure you want to fund the staking vault ${vaultAddress} with ${formatEther(ether)} ether?`);
28
+ if (!confirm)
29
+ return;
30
+ await callWriteMethodWithReceipt({
31
+ contract,
32
+ methodName: 'fund',
33
+ payload: [],
34
+ value: ether,
35
+ });
36
+ });
37
+ vaultOperationsWrite
38
+ .command('withdraw')
39
+ .description('withdraws ether from the staking vault to a recipient')
40
+ .argument('<eth>', 'amount of ether to withdraw (in ETH)', etherToWei)
41
+ .option('-r, --recipient <string>', 'address of the recipient', stringToAddress)
42
+ .option('-v, --vault <string>', 'vault address', stringToAddress)
43
+ .action(async (ether, { vault, recipient }) => {
44
+ const recipientAddress = await getAddress(recipient, 'recipient');
45
+ const { contract, vault: vaultAddress } = await chooseVaultAndGetDashboard({ vault });
46
+ const account = getAccount();
47
+ await checkVaultRole(contract, 'WITHDRAW_ROLE', account.address);
48
+ const confirm = await confirmOperation(`Are you sure you want to withdraw ${formatEther(ether)} from the staking vault ${vaultAddress} to ${recipientAddress}?`);
49
+ if (!confirm)
50
+ return;
51
+ const isReportFresh = await checkIsReportFresh(vaultAddress);
52
+ if (!isReportFresh)
53
+ return;
54
+ await callWriteMethodWithReceipt({
55
+ contract,
56
+ methodName: 'withdraw',
57
+ payload: [recipientAddress, ether],
58
+ });
59
+ });
60
+ // Mint commands
61
+ vaultOperationsWrite
62
+ .command('mint-shares')
63
+ .alias('mint')
64
+ .description('mints stETH tokens backed by the vault to a recipient')
65
+ .argument('<amountOfShares>', 'amount of shares to mint (in Shares)', etherToWei)
66
+ .option('-r, --recipient <string>', 'address of the recipient', stringToAddress)
67
+ .option('-v, --vault <string>', 'vault address', stringToAddress)
68
+ .action(async (amountOfShares, { vault, recipient }) => {
69
+ const recipientAddress = await getAddress(recipient, 'recipient');
70
+ const { contract, vault: vaultAddress } = await chooseVaultAndGetDashboard({ vault });
71
+ const account = getAccount();
72
+ await checkVaultRole(contract, 'MINT_ROLE', account.address);
73
+ const confirm = await confirmOperation(`Are you sure you want to mint ${formatEther(amountOfShares)} shares to ${recipientAddress} in the staking vault ${vaultAddress}?`);
74
+ if (!confirm)
75
+ return;
76
+ await mintShares(contract, recipientAddress, amountOfShares, vaultAddress, 'mintShares');
77
+ });
78
+ vaultOperationsWrite
79
+ .command('mint-wsteth')
80
+ .description('mints wstETH tokens backed by the vault to a recipient')
81
+ .argument('<amountOfWsteth>', 'amount of wstETH to mint', etherToWei)
82
+ .option('-r, --recipient <string>', 'address of the recipient', stringToAddress)
83
+ .option('-v, --vault <string>', 'vault address', stringToAddress)
84
+ .action(async (amountOfWsteth, { vault, recipient }) => {
85
+ const recipientAddress = await getAddress(recipient, 'recipient');
86
+ const { contract, vault: vaultAddress } = await chooseVaultAndGetDashboard({ vault });
87
+ const account = getAccount();
88
+ await checkVaultRole(contract, 'MINT_ROLE', account.address);
89
+ await mintShares(contract, recipientAddress, amountOfWsteth, vaultAddress, 'mintWstETH');
90
+ });
91
+ vaultOperationsWrite
92
+ .command('mint-steth')
93
+ .description('mints stETH tokens backed by the vault to a recipient')
94
+ .argument('<amountOfSteth>', 'amount of stETH to mint', etherToWei)
95
+ .option('-r, --recipient <string>', 'address of the recipient', stringToAddress)
96
+ .option('-v, --vault <string>', 'vault address', stringToAddress)
97
+ .action(async (amountOfSteth, { vault, recipient }) => {
98
+ const recipientAddress = await getAddress(recipient, 'recipient');
99
+ const { contract, vault: vaultAddress } = await chooseVaultAndGetDashboard({ vault });
100
+ const account = getAccount();
101
+ await checkVaultRole(contract, 'MINT_ROLE', account.address);
102
+ await mintSteth(contract, recipientAddress, amountOfSteth, vaultAddress);
103
+ });
104
+ // Burn commands
105
+ vaultOperationsWrite
106
+ .command('burn-shares')
107
+ .alias('burn')
108
+ .description('Burns stETH shares from the sender backed by the vault. Expects corresponding amount of stETH approved to this contract')
109
+ .option('-v, --vault <string>', 'vault address', stringToAddress)
110
+ .argument('<amountOfShares>', 'amount of shares to burn (in Shares)', etherToWei)
111
+ .action(async (amountOfShares, { vault }) => {
112
+ const { contract, vault: vaultAddress } = await chooseVaultAndGetDashboard({
113
+ vault,
114
+ });
115
+ const account = getAccount();
116
+ await checkVaultRole(contract, 'BURN_ROLE', account.address);
117
+ await checkAllowance(contract, amountOfShares, 'shares');
118
+ await burnShares(contract, amountOfShares, vaultAddress, 'burnShares');
119
+ });
120
+ vaultOperationsWrite
121
+ .command('burn-steth')
122
+ .description('Burns stETH shares from the sender backed by the vault. Expects stETH amount approved to this contract.')
123
+ .argument('<amountOfSteth>', 'amount of stETH to burn (in stETH)', etherToWei)
124
+ .option('-v, --vault <string>', 'vault address', stringToAddress)
125
+ .action(async (amountOfSteth, { vault }) => {
126
+ const { contract, vault: vaultAddress } = await chooseVaultAndGetDashboard({
127
+ vault,
128
+ });
129
+ const account = getAccount();
130
+ await checkVaultRole(contract, 'BURN_ROLE', account.address);
131
+ await checkAllowance(contract, amountOfSteth, 'steth');
132
+ await burnSteth(contract, amountOfSteth, vaultAddress);
133
+ });
134
+ vaultOperationsWrite
135
+ .command('burn-wsteth')
136
+ .description('burn wstETH tokens from the sender backed by the vault')
137
+ .argument('<amountOfWsteth>', 'amount of wstETH tokens to burn (in wstETH)', etherToWei)
138
+ .option('-v, --vault <string>', 'vault address', stringToAddress)
139
+ .action(async (amountOfWsteth, { vault }) => {
140
+ const { contract, vault: vaultAddress } = await chooseVaultAndGetDashboard({
141
+ vault,
142
+ });
143
+ const account = getAccount();
144
+ await checkVaultRole(contract, 'BURN_ROLE', account.address);
145
+ await checkAllowance(contract, amountOfWsteth, 'wsteth');
146
+ await burnShares(contract, amountOfWsteth, vaultAddress, 'burnWstETH');
147
+ });
148
+ //# sourceMappingURL=write.js.map