@lidofinance/lsv-cli 1.3.1 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (311) hide show
  1. package/dist/abi/Dashboard.d.ts +24 -0
  2. package/dist/abi/PredepositGuarantee.d.ts +48 -0
  3. package/dist/abi/PredepositGuarantee.js +32 -0
  4. package/dist/abi/PredepositGuarantee.js.map +1 -1
  5. package/dist/abi/StEth.d.ts +1175 -59
  6. package/dist/abi/StEth.js +885 -320
  7. package/dist/abi/StEth.js.map +1 -1
  8. package/dist/abi/defi-wrapper/Factory.d.ts +532 -657
  9. package/dist/abi/defi-wrapper/Factory.js +1083 -647
  10. package/dist/abi/defi-wrapper/Factory.js.map +1 -1
  11. package/dist/abi/defi-wrapper/OssifiableProxy.d.ts +71 -0
  12. package/dist/abi/defi-wrapper/OssifiableProxy.js +93 -0
  13. package/dist/abi/defi-wrapper/OssifiableProxy.js.map +1 -0
  14. package/dist/abi/defi-wrapper/StvStETHPool.d.ts +38 -32
  15. package/dist/abi/defi-wrapper/StvStETHPool.js +50 -42
  16. package/dist/abi/defi-wrapper/StvStETHPool.js.map +1 -1
  17. package/dist/abi/defi-wrapper/TimeLock.d.ts +770 -0
  18. package/dist/abi/defi-wrapper/TimeLock.js +999 -0
  19. package/dist/abi/defi-wrapper/TimeLock.js.map +1 -0
  20. package/dist/abi/defi-wrapper/index.d.ts +2 -0
  21. package/dist/abi/defi-wrapper/index.js +2 -0
  22. package/dist/abi/defi-wrapper/index.js.map +1 -1
  23. package/dist/contracts/defi-wrapper/index.d.ts +2 -0
  24. package/dist/contracts/defi-wrapper/index.js +2 -0
  25. package/dist/contracts/defi-wrapper/index.js.map +1 -1
  26. package/dist/contracts/defi-wrapper/ossifiable-proxy.d.ts +4 -0
  27. package/dist/contracts/defi-wrapper/ossifiable-proxy.js +12 -0
  28. package/dist/contracts/defi-wrapper/ossifiable-proxy.js.map +1 -0
  29. package/dist/contracts/defi-wrapper/timelock.d.ts +4 -0
  30. package/dist/contracts/defi-wrapper/timelock.js +12 -0
  31. package/dist/contracts/defi-wrapper/timelock.js.map +1 -0
  32. package/dist/contracts/steth.d.ts +4 -27706
  33. package/dist/contracts/steth.js +2 -2
  34. package/dist/contracts/steth.js.map +1 -1
  35. package/dist/contracts/vault-viewer.js +1 -1
  36. package/dist/contracts/vault-viewer.js.map +1 -1
  37. package/dist/features/consolidation.js +19 -3
  38. package/dist/features/consolidation.js.map +1 -1
  39. package/dist/features/defi-wrapper/create-vault.js +16 -13
  40. package/dist/features/defi-wrapper/create-vault.js.map +1 -1
  41. package/dist/features/defi-wrapper/defi-wrapper-factory.d.ts +10 -27
  42. package/dist/features/defi-wrapper/defi-wrapper-factory.js +105 -15
  43. package/dist/features/defi-wrapper/defi-wrapper-factory.js.map +1 -1
  44. package/dist/features/defi-wrapper/distributor.d.ts +24 -0
  45. package/dist/features/defi-wrapper/distributor.js +300 -0
  46. package/dist/features/defi-wrapper/distributor.js.map +1 -0
  47. package/dist/features/defi-wrapper/index.d.ts +1 -0
  48. package/dist/features/defi-wrapper/index.js +1 -0
  49. package/dist/features/defi-wrapper/index.js.map +1 -1
  50. package/dist/features/defi-wrapper/pool-info.d.ts +17 -2
  51. package/dist/features/defi-wrapper/pool-info.js +63 -13
  52. package/dist/features/defi-wrapper/pool-info.js.map +1 -1
  53. package/dist/features/defi-wrapper/timelock.d.ts +19 -0
  54. package/dist/features/defi-wrapper/timelock.js +198 -0
  55. package/dist/features/defi-wrapper/timelock.js.map +1 -0
  56. package/dist/features/deposits/check-bls-deposits.js +15 -3
  57. package/dist/features/deposits/check-bls-deposits.js.map +1 -1
  58. package/dist/features/deposits/make-pdg-proof.js +15 -3
  59. package/dist/features/deposits/make-pdg-proof.js.map +1 -1
  60. package/dist/features/deposits/no-pdg.js +50 -14
  61. package/dist/features/deposits/no-pdg.js.map +1 -1
  62. package/dist/features/deposits/pdg.js +5 -1
  63. package/dist/features/deposits/pdg.js.map +1 -1
  64. package/dist/features/dev-tools/impersonate.js +5 -1
  65. package/dist/features/dev-tools/impersonate.js.map +1 -1
  66. package/dist/features/metrics.js +24 -6
  67. package/dist/features/metrics.js.map +1 -1
  68. package/dist/features/mint-burn/allowance.js +15 -6
  69. package/dist/features/mint-burn/allowance.js.map +1 -1
  70. package/dist/features/mint-burn/burn-steth.js +5 -1
  71. package/dist/features/mint-burn/burn-steth.js.map +1 -1
  72. package/dist/features/mint-burn/index.d.ts +1 -0
  73. package/dist/features/mint-burn/index.js +1 -0
  74. package/dist/features/mint-burn/index.js.map +1 -1
  75. package/dist/features/mint-burn/mint-limit.d.ts +9 -0
  76. package/dist/features/mint-burn/mint-limit.js +31 -0
  77. package/dist/features/mint-burn/mint-limit.js.map +1 -0
  78. package/dist/features/mint-burn/mint-steth.js +5 -1
  79. package/dist/features/mint-burn/mint-steth.js.map +1 -1
  80. package/dist/features/pdg.js +5 -1
  81. package/dist/features/pdg.js.map +1 -1
  82. package/dist/features/utils/connection.js +5 -1
  83. package/dist/features/utils/connection.js.map +1 -1
  84. package/dist/features/utils/index.d.ts +1 -0
  85. package/dist/features/utils/index.js +1 -0
  86. package/dist/features/utils/index.js.map +1 -1
  87. package/dist/features/utils/liability-shares.js +5 -1
  88. package/dist/features/utils/liability-shares.js.map +1 -1
  89. package/dist/features/utils/minting-capacity.js +4 -3
  90. package/dist/features/utils/minting-capacity.js.map +1 -1
  91. package/dist/features/utils/quarantine.js +5 -1
  92. package/dist/features/utils/quarantine.js.map +1 -1
  93. package/dist/features/utils/report-fresh.js +15 -3
  94. package/dist/features/utils/report-fresh.js.map +1 -1
  95. package/dist/features/utils/try-fetch.d.ts +5 -0
  96. package/dist/features/utils/try-fetch.js +26 -0
  97. package/dist/features/utils/try-fetch.js.map +1 -0
  98. package/dist/features/vault-factory.js +15 -3
  99. package/dist/features/vault-factory.js.map +1 -1
  100. package/dist/features/vault-operations/connect-vault.js +10 -2
  101. package/dist/features/vault-operations/connect-vault.js.map +1 -1
  102. package/dist/features/vault-operations/dashboard-by-vault.js +10 -2
  103. package/dist/features/vault-operations/dashboard-by-vault.js.map +1 -1
  104. package/dist/features/vault-operations/roles.js +10 -2
  105. package/dist/features/vault-operations/roles.js.map +1 -1
  106. package/dist/features/vault-operations/vault-health.js +5 -1
  107. package/dist/features/vault-operations/vault-health.js.map +1 -1
  108. package/dist/features/vault-operations/vault-info.js +10 -2
  109. package/dist/features/vault-operations/vault-info.js.map +1 -1
  110. package/dist/features/vault-operations/vault-overview.js +25 -5
  111. package/dist/features/vault-operations/vault-overview.js.map +1 -1
  112. package/dist/features/vault-operations/vault-roles.js +10 -2
  113. package/dist/features/vault-operations/vault-roles.js.map +1 -1
  114. package/dist/features/vault-operations/vaults-by-role.d.ts +24 -0
  115. package/dist/features/vault-operations/vaults-by-role.js +78 -27
  116. package/dist/features/vault-operations/vaults-by-role.js.map +1 -1
  117. package/dist/index.js +15 -6
  118. package/dist/index.js.map +1 -1
  119. package/dist/programs/account/read.js +10 -5
  120. package/dist/programs/account/read.js.map +1 -1
  121. package/dist/programs/contracts/dashboard/read.js +15 -3
  122. package/dist/programs/contracts/dashboard/read.js.map +1 -1
  123. package/dist/programs/contracts/dashboard/write.js +212 -38
  124. package/dist/programs/contracts/dashboard/write.js.map +1 -1
  125. package/dist/programs/contracts/hub/read.js +15 -5
  126. package/dist/programs/contracts/hub/read.js.map +1 -1
  127. package/dist/programs/contracts/hub/write.js +10 -2
  128. package/dist/programs/contracts/hub/write.js.map +1 -1
  129. package/dist/programs/contracts/operator-grid/read.js +5 -1
  130. package/dist/programs/contracts/operator-grid/read.js.map +1 -1
  131. package/dist/programs/contracts/operator-grid/write.js +5 -1
  132. package/dist/programs/contracts/operator-grid/write.js.map +1 -1
  133. package/dist/programs/contracts/pdg/read.js +5 -1
  134. package/dist/programs/contracts/pdg/read.js.map +1 -1
  135. package/dist/programs/contracts/pdg/write.js +33 -3
  136. package/dist/programs/contracts/pdg/write.js.map +1 -1
  137. package/dist/programs/contracts/vault/write.js +5 -1
  138. package/dist/programs/contracts/vault/write.js.map +1 -1
  139. package/dist/programs/defi-wrapper/contracts/distributor/read.js +17 -5
  140. package/dist/programs/defi-wrapper/contracts/distributor/read.js.map +1 -1
  141. package/dist/programs/defi-wrapper/contracts/factory/read.js +73 -13
  142. package/dist/programs/defi-wrapper/contracts/factory/read.js.map +1 -1
  143. package/dist/programs/defi-wrapper/contracts/factory/write.js +171 -65
  144. package/dist/programs/defi-wrapper/contracts/factory/write.js.map +1 -1
  145. package/dist/programs/defi-wrapper/contracts/stv-pool/read.js +62 -18
  146. package/dist/programs/defi-wrapper/contracts/stv-pool/read.js.map +1 -1
  147. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/read.js +62 -18
  148. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/read.js.map +1 -1
  149. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/read.js +64 -16
  150. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/read.js.map +1 -1
  151. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/write.js +33 -6
  152. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/write.js.map +1 -1
  153. package/dist/programs/defi-wrapper/use-cases/distributor/index.d.ts +3 -0
  154. package/dist/programs/defi-wrapper/use-cases/distributor/index.js +4 -0
  155. package/dist/programs/defi-wrapper/use-cases/distributor/index.js.map +1 -0
  156. package/dist/programs/defi-wrapper/use-cases/distributor/main.d.ts +1 -0
  157. package/dist/programs/defi-wrapper/use-cases/distributor/main.js +6 -0
  158. package/dist/programs/defi-wrapper/use-cases/distributor/main.js.map +1 -0
  159. package/dist/programs/defi-wrapper/use-cases/distributor/read.js +86 -0
  160. package/dist/programs/defi-wrapper/use-cases/distributor/read.js.map +1 -0
  161. package/dist/programs/defi-wrapper/use-cases/distributor/write.d.ts +1 -0
  162. package/dist/programs/defi-wrapper/use-cases/distributor/write.js +191 -0
  163. package/dist/programs/defi-wrapper/use-cases/distributor/write.js.map +1 -0
  164. package/dist/programs/defi-wrapper/use-cases/health/read.js +71 -21
  165. package/dist/programs/defi-wrapper/use-cases/health/read.js.map +1 -1
  166. package/dist/programs/defi-wrapper/use-cases/health/utils.js +10 -2
  167. package/dist/programs/defi-wrapper/use-cases/health/utils.js.map +1 -1
  168. package/dist/programs/defi-wrapper/use-cases/health/write.js +65 -22
  169. package/dist/programs/defi-wrapper/use-cases/health/write.js.map +1 -1
  170. package/dist/programs/defi-wrapper/use-cases/index.d.ts +2 -0
  171. package/dist/programs/defi-wrapper/use-cases/index.js +2 -0
  172. package/dist/programs/defi-wrapper/use-cases/index.js.map +1 -1
  173. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/index.d.ts +3 -0
  174. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/index.js +4 -0
  175. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/index.js.map +1 -0
  176. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/main.d.ts +1 -0
  177. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/main.js +6 -0
  178. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/main.js.map +1 -0
  179. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/read.d.ts +1 -0
  180. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/read.js +362 -0
  181. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/read.js.map +1 -0
  182. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/write.d.ts +1 -0
  183. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/write.js +86 -0
  184. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/write.js.map +1 -0
  185. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/index.d.ts +2 -0
  186. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/index.js +3 -0
  187. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/index.js.map +1 -0
  188. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/main.d.ts +1 -0
  189. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/main.js +6 -0
  190. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/main.js.map +1 -0
  191. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/write.d.ts +1 -0
  192. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/write.js +369 -0
  193. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/write.js.map +1 -0
  194. package/dist/programs/defi-wrapper/use-cases/timelock-governance/index.d.ts +6 -0
  195. package/dist/programs/defi-wrapper/use-cases/timelock-governance/index.js +7 -0
  196. package/dist/programs/defi-wrapper/use-cases/timelock-governance/index.js.map +1 -0
  197. package/dist/programs/defi-wrapper/use-cases/timelock-governance/main.d.ts +1 -0
  198. package/dist/programs/defi-wrapper/use-cases/timelock-governance/main.js +6 -0
  199. package/dist/programs/defi-wrapper/use-cases/timelock-governance/main.js.map +1 -0
  200. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/index.d.ts +2 -0
  201. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/index.js +3 -0
  202. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/index.js.map +1 -0
  203. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/main.d.ts +1 -0
  204. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/main.js +6 -0
  205. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/main.js.map +1 -0
  206. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/write.d.ts +1 -0
  207. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/write.js +184 -0
  208. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/write.js.map +1 -0
  209. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/index.d.ts +3 -0
  210. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/index.js +4 -0
  211. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/index.js.map +1 -0
  212. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/main.d.ts +1 -0
  213. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/main.js +6 -0
  214. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/main.js.map +1 -0
  215. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/read.d.ts +1 -0
  216. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/read.js +80 -0
  217. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/read.js.map +1 -0
  218. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/write.d.ts +1 -0
  219. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/write.js +139 -0
  220. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/write.js.map +1 -0
  221. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/index.d.ts +2 -0
  222. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/index.js +3 -0
  223. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/index.js.map +1 -0
  224. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/main.d.ts +1 -0
  225. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/main.js +6 -0
  226. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/main.js.map +1 -0
  227. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/write.d.ts +1 -0
  228. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/write.js +118 -0
  229. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/write.js.map +1 -0
  230. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/index.d.ts +1 -1
  231. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/index.js +1 -2
  232. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/index.js.map +1 -1
  233. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/read.js +333 -11
  234. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/read.js.map +1 -1
  235. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/write.js +463 -2
  236. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/write.js.map +1 -1
  237. package/dist/programs/dev-tools/defi-wrapper/write.js +41 -11
  238. package/dist/programs/dev-tools/defi-wrapper/write.js.map +1 -1
  239. package/dist/programs/pdg-helpers.js +55 -19
  240. package/dist/programs/pdg-helpers.js.map +1 -1
  241. package/dist/programs/use-cases/consolidation/write.js +5 -1
  242. package/dist/programs/use-cases/consolidation/write.js.map +1 -1
  243. package/dist/programs/use-cases/deposits/read.js +40 -8
  244. package/dist/programs/use-cases/deposits/read.js.map +1 -1
  245. package/dist/programs/use-cases/deposits/write.js +15 -3
  246. package/dist/programs/use-cases/deposits/write.js.map +1 -1
  247. package/dist/programs/use-cases/metrics/read.js +25 -5
  248. package/dist/programs/use-cases/metrics/read.js.map +1 -1
  249. package/dist/programs/use-cases/report/read.js +25 -5
  250. package/dist/programs/use-cases/report/read.js.map +1 -1
  251. package/dist/programs/use-cases/report/write.js +10 -2
  252. package/dist/programs/use-cases/report/write.js.map +1 -1
  253. package/dist/programs/use-cases/vault-operations/write.js +30 -6
  254. package/dist/programs/use-cases/vault-operations/write.js.map +1 -1
  255. package/dist/providers/index.d.ts +1 -1
  256. package/dist/providers/index.js +1 -1
  257. package/dist/tests/utils/rate-limit.test.d.ts +1 -0
  258. package/dist/tests/utils/rate-limit.test.js +246 -0
  259. package/dist/tests/utils/rate-limit.test.js.map +1 -0
  260. package/dist/types/index.d.ts +2 -2
  261. package/dist/types/index.js +2 -2
  262. package/dist/utils/arguments.d.ts +14 -0
  263. package/dist/utils/arguments.js +28 -0
  264. package/dist/utils/arguments.js.map +1 -1
  265. package/dist/utils/cache.d.ts +6 -4
  266. package/dist/utils/cache.js +14 -11
  267. package/dist/utils/cache.js.map +1 -1
  268. package/dist/utils/charts/blessed/charts-apr.js +5 -1
  269. package/dist/utils/charts/blessed/charts-apr.js.map +1 -1
  270. package/dist/utils/charts/blessed/charts-rewards.js +5 -1
  271. package/dist/utils/charts/blessed/charts-rewards.js.map +1 -1
  272. package/dist/utils/charts/simple/simple-charts.js +5 -1
  273. package/dist/utils/charts/simple/simple-charts.js.map +1 -1
  274. package/dist/utils/commands/report.d.ts +5 -2
  275. package/dist/utils/commands/report.js +21 -7
  276. package/dist/utils/commands/report.js.map +1 -1
  277. package/dist/utils/consts.d.ts +1 -0
  278. package/dist/utils/consts.js +5 -0
  279. package/dist/utils/consts.js.map +1 -1
  280. package/dist/utils/fetchCL.d.ts +10 -0
  281. package/dist/utils/fetchCL.js +19 -0
  282. package/dist/utils/fetchCL.js.map +1 -1
  283. package/dist/utils/health/health-utils.d.ts +2 -27707
  284. package/dist/utils/health/health-utils.js +26 -8
  285. package/dist/utils/health/health-utils.js.map +1 -1
  286. package/dist/utils/index.d.ts +1 -0
  287. package/dist/utils/index.js +1 -0
  288. package/dist/utils/index.js.map +1 -1
  289. package/dist/utils/prompts/operations.js +1 -3
  290. package/dist/utils/prompts/operations.js.map +1 -1
  291. package/dist/utils/rate-limit.d.ts +10 -0
  292. package/dist/utils/rate-limit.js +30 -0
  293. package/dist/utils/rate-limit.js.map +1 -0
  294. package/dist/utils/read-programs-by-abi.js +22 -4
  295. package/dist/utils/read-programs-by-abi.js.map +1 -1
  296. package/dist/utils/report/statistic-data.js +8 -2
  297. package/dist/utils/report/statistic-data.js.map +1 -1
  298. package/dist/utils/share-rate.js +16 -4
  299. package/dist/utils/share-rate.js.map +1 -1
  300. package/dist/utils/sleep.js.map +1 -1
  301. package/dist/utils/transactions/tx-private-key.d.ts +3 -5
  302. package/dist/utils/transactions/tx-private-key.js +13 -10
  303. package/dist/utils/transactions/tx-private-key.js.map +1 -1
  304. package/dist/utils/transactions/types.d.ts +7 -0
  305. package/dist/utils/transactions/utils.js +2 -2
  306. package/dist/utils/transactions/utils.js.map +1 -1
  307. package/dist/version/index.js +1 -1
  308. package/package.json +3 -12
  309. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/create-pool.js +0 -180
  310. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/create-pool.js.map +0 -1
  311. /package/dist/programs/defi-wrapper/use-cases/{wrapper-operations/create-pool.d.ts → distributor/read.d.ts} +0 -0
@@ -1,10 +1,13 @@
1
- import { formatEther, formatUnits } from 'viem';
1
+ import { formatEther, formatUnits, zeroAddress } from 'viem';
2
2
  import { Option } from 'commander';
3
- import { logInfo, getCommandsJson, stringToAddress, logTable, logResult, formatBP, callReadMethodSilent, } from '../../../../utils/index.js';
3
+ import { logInfo, getCommandsJson, stringToAddress, logTable, logResult, formatBP, callReadMethodSilent, stringArrayToAddressArray, logError, } from '../../../../utils/index.js';
4
4
  import { getPoolInfo } from '../../../../features/defi-wrapper/index.js';
5
5
  import { checkIsReportFresh } from '../../../../features/index.js';
6
- import { getStvPoolContract } from '../../../../contracts/defi-wrapper/index.js';
6
+ import { getStvPoolContract, getWithdrawalQueueContract, } from '../../../../contracts/defi-wrapper/index.js';
7
7
  import { wrapperOperations } from './main.js';
8
+ import { getDashboardContract, getStethContract } from '../../../../contracts/index.js';
9
+ import { bigIntMin } from '../../../../utils/bigInt.js';
10
+ import { getPublicClient } from '../../../../providers/index.js';
8
11
  const wrapperOperationsRead = wrapperOperations
9
12
  .command('read')
10
13
  .aliases(['r'])
@@ -35,16 +38,16 @@ wrapperOperationsRead
35
38
  typeof poolInfo.RESERVE_RATIO_GAP_BP === 'bigint'
36
39
  ? ['RESERVE_RATIO_GAP_BP', poolInfo.RESERVE_RATIO_GAP_BP]
37
40
  : undefined,
38
- typeof poolInfo.reserveRatioBP === 'bigint'
41
+ typeof poolInfo.poolReserveRatioBP === 'bigint'
39
42
  ? [
40
43
  'Reserve Ratio, BP',
41
- `${poolInfo.reserveRatioBP} (${formatBP(poolInfo.reserveRatioBP)})`,
44
+ `${poolInfo.poolReserveRatioBP} (${formatBP(poolInfo.poolReserveRatioBP)})`,
42
45
  ]
43
46
  : undefined,
44
- typeof poolInfo.forcedRebalanceThresholdBP === 'bigint'
47
+ typeof poolInfo.poolForcedRebalanceThresholdBP === 'bigint'
45
48
  ? [
46
49
  'Forced Rebalance Threshold, BP',
47
- `${poolInfo.forcedRebalanceThresholdBP} (${formatBP(poolInfo.forcedRebalanceThresholdBP)})`,
50
+ `${poolInfo.poolForcedRebalanceThresholdBP} (${formatBP(poolInfo.poolForcedRebalanceThresholdBP)})`,
48
51
  ]
49
52
  : undefined,
50
53
  typeof poolInfo.maxLossSocializationBP === 'bigint'
@@ -56,13 +59,32 @@ wrapperOperationsRead
56
59
  ['Total Nominal Assets', formatEther(poolInfo.totalNominalAssets)],
57
60
  ['Total Assets', formatEther(poolInfo.totalAssets)],
58
61
  ['Total Supply', formatUnits(poolInfo.totalSupply, poolInfo.decimals)],
59
- ['Total Liability Shares', formatEther(poolInfo.totalLiabilityShares)],
62
+ typeof poolInfo.totalMintingCapacityShares === 'bigint'
63
+ ? [
64
+ 'Total Minting Capacity Steth Shares',
65
+ formatEther(poolInfo.totalMintingCapacityShares),
66
+ ]
67
+ : undefined,
68
+ typeof poolInfo.remainingMintingCapacityShares === 'bigint'
69
+ ? [
70
+ 'Remaining Minting Capacity Steth Shares',
71
+ formatEther(poolInfo.remainingMintingCapacityShares),
72
+ ]
73
+ : undefined,
60
74
  typeof poolInfo.totalMintedStethShares === 'bigint'
61
75
  ? [
62
76
  'Total Minted Steth Shares',
63
77
  formatEther(poolInfo.totalMintedStethShares),
64
78
  ]
65
79
  : undefined,
80
+ typeof poolInfo.liabilityShares === 'bigint'
81
+ ? ['Total Liability Shares', formatEther(poolInfo.liabilityShares)]
82
+ : undefined,
83
+ [
84
+ 'Total Liability in stETH',
85
+ // already formatted
86
+ poolInfo.totalLiabilitySteth,
87
+ ],
66
88
  typeof poolInfo.totalExceedingMintedStethShares === 'bigint'
67
89
  ? [
68
90
  'Total Exceeding Minted Steth Shares',
@@ -75,6 +97,13 @@ wrapperOperationsRead
75
97
  formatEther(poolInfo.totalExceedingMintedSteth),
76
98
  ]
77
99
  : undefined,
100
+ ['Vault Healthy', poolInfo.isHealthy],
101
+ ['Health Rate', `${poolInfo.healthRatio}%`],
102
+ ['Unfinalized ETH', formatEther(poolInfo.unfinalizedAssets)],
103
+ [
104
+ 'Available ETH for CL Deposit',
105
+ formatEther(poolInfo.availableAssetsForCLDeposit),
106
+ ],
78
107
  [
79
108
  'Total Unassigned Liability Shares',
80
109
  formatEther(poolInfo.totalUnassignedLiabilityShares),
@@ -92,26 +121,319 @@ wrapperOperationsRead
92
121
  ['ALLOW_LIST_ENABLED', poolInfo.ALLOW_LIST_ENABLED],
93
122
  ['Allow List Size', poolInfo.allowListSize],
94
123
  ['DEPOSITS_FEATURE (ID)', poolInfo.DEPOSITS_FEATURE],
124
+ poolInfo.isInSync !== undefined
125
+ ? [
126
+ 'Requires Vault Params Sync',
127
+ poolInfo.isInSync
128
+ ? '✅ No'
129
+ : '❌ Yes (🚨 run "sync-vault-params" command)',
130
+ ]
131
+ : undefined,
95
132
  poolInfo.MINTING_FEATURE
96
133
  ? ['MINTING_FEATURE (ID)', poolInfo.MINTING_FEATURE]
97
134
  : undefined,
98
135
  ].filter((item) => item !== undefined),
99
136
  });
100
137
  });
138
+ wrapperOperationsRead
139
+ .command('allow-list')
140
+ .description('get full or partial allow list data')
141
+ .argument('<address>', 'wrapper address', stringToAddress)
142
+ .argument('[addresses...]', 'list of addresses to check, leave empty to get full allow list', stringArrayToAddressArray, [])
143
+ .action(async (poolAddress, addresses) => {
144
+ const pool = await getStvPoolContract(poolAddress);
145
+ const publicClient = await getPublicClient();
146
+ const isAllowListEnabled = await callReadMethodSilent({
147
+ contract: pool,
148
+ methodName: 'ALLOW_LIST_ENABLED',
149
+ payload: [],
150
+ });
151
+ if (!isAllowListEnabled) {
152
+ logInfo('Allow List is disabled for this pool');
153
+ return;
154
+ }
155
+ const allowListManagerRole = await callReadMethodSilent({
156
+ contract: pool,
157
+ methodName: 'ALLOW_LIST_MANAGER_ROLE',
158
+ payload: [],
159
+ });
160
+ const allowListManagers = await callReadMethodSilent({
161
+ contract: pool,
162
+ methodName: 'getRoleMembers',
163
+ payload: [[allowListManagerRole]],
164
+ });
165
+ logTable({
166
+ params: {
167
+ head: ['List of holders of ALLOW_LIST_MANAGER_ROLE'],
168
+ },
169
+ data: allowListManagers.map((addr, index) => [
170
+ `Allow List Manager ${index + 1}`,
171
+ addr,
172
+ ]),
173
+ });
174
+ const allowListSize = await callReadMethodSilent({
175
+ contract: pool,
176
+ methodName: 'getAllowListSize',
177
+ payload: [],
178
+ });
179
+ logInfo(`Allow List contains ${allowListSize} addresses:`);
180
+ if (addresses.length === 0) {
181
+ const fullAllowList = await callReadMethodSilent({
182
+ contract: pool,
183
+ methodName: 'getAllowListAddresses',
184
+ payload: [],
185
+ });
186
+ logTable({ data: fullAllowList.map((addr) => [addr]) });
187
+ }
188
+ else {
189
+ const result = await publicClient.multicall({
190
+ contracts: addresses.map((address) => ({
191
+ address: pool.address,
192
+ abi: pool.abi,
193
+ functionName: 'isAllowListed',
194
+ args: [address],
195
+ })),
196
+ allowFailure: false,
197
+ });
198
+ logTable({
199
+ data: result.map((isAllowed, index) => [
200
+ addresses[index],
201
+ isAllowed ? '✅ Allowed' : '❌ Not Allowed',
202
+ ]),
203
+ });
204
+ }
205
+ });
101
206
  wrapperOperationsRead
102
207
  .command('report-fresh')
103
208
  .description('check if report is fresh')
104
209
  .argument('<address>', 'wrapper address', stringToAddress)
105
210
  .action(async (address) => {
106
211
  const contract = await getStvPoolContract(address);
107
- const vault = await callReadMethodSilent(contract, 'VAULT');
108
- const isReportFresh = await checkIsReportFresh({ vault });
212
+ const vault = await callReadMethodSilent({
213
+ contract,
214
+ methodName: 'VAULT',
215
+ payload: [],
216
+ });
217
+ const { isFresh: isReportFresh } = await checkIsReportFresh({ vault });
109
218
  logResult({});
110
219
  logInfo('Report Fresh');
111
220
  logTable({
112
- data: [['Is Report Fresh', isReportFresh.isFresh]],
221
+ data: [['Is Report Fresh', isReportFresh]],
113
222
  });
114
223
  });
224
+ const finalizationBlocker = (value) => {
225
+ return ' ' + (!value ? '❌' : '✅');
226
+ };
227
+ wrapperOperationsRead
228
+ .command('withdrawal-status')
229
+ .description('get status of withdrawal queue')
230
+ .argument('<address>', 'wrapper address', stringToAddress)
231
+ .action(async (address) => {
232
+ const logData = [];
233
+ try {
234
+ const pool = await getStvPoolContract(address);
235
+ const withdrawalQueueAddress = await callReadMethodSilent({
236
+ contract: pool,
237
+ methodName: 'WITHDRAWAL_QUEUE',
238
+ payload: [],
239
+ });
240
+ const vaultAddress = await callReadMethodSilent({
241
+ contract: pool,
242
+ methodName: 'VAULT',
243
+ payload: [],
244
+ });
245
+ const dashboardAddress = await callReadMethodSilent({
246
+ contract: pool,
247
+ methodName: 'DASHBOARD',
248
+ payload: [],
249
+ });
250
+ const dashboard = await getDashboardContract(dashboardAddress);
251
+ const withdrawalQueue = await getWithdrawalQueueContract(withdrawalQueueAddress);
252
+ logData.push(['Pool Address', address], ['Withdrawal Queue Address', withdrawalQueueAddress], ['Vault Address', vaultAddress]);
253
+ const { isFresh: isReportFresh } = await checkIsReportFresh({
254
+ vault: vaultAddress,
255
+ });
256
+ logData.push([
257
+ 'Is Report Fresh',
258
+ (isReportFresh ? 'Yes' : 'No( 🚨 Some data might be stale)') +
259
+ finalizationBlocker(isReportFresh),
260
+ ]);
261
+ const MIN_WITHDRAWAL_DELAY_TIME_IN_SECONDS = await callReadMethodSilent({
262
+ contract: withdrawalQueue,
263
+ methodName: 'MIN_WITHDRAWAL_DELAY_TIME_IN_SECONDS',
264
+ payload: [],
265
+ });
266
+ const MAX_WITHDRAWAL_ASSETS = await callReadMethodSilent({
267
+ contract: withdrawalQueue,
268
+ methodName: 'MAX_WITHDRAWAL_ASSETS',
269
+ payload: [],
270
+ });
271
+ const MIN_WITHDRAWAL_VALUE = await callReadMethodSilent({
272
+ contract: withdrawalQueue,
273
+ methodName: 'MIN_WITHDRAWAL_VALUE',
274
+ payload: [],
275
+ });
276
+ const finalizationGasCoverage = await callReadMethodSilent({
277
+ contract: withdrawalQueue,
278
+ methodName: 'getFinalizationGasCostCoverage',
279
+ payload: [],
280
+ });
281
+ logData.push(['Max Withdrawal Assets', formatEther(MAX_WITHDRAWAL_ASSETS) + ' ETH'], ['Min Withdrawal Value', formatEther(MIN_WITHDRAWAL_VALUE) + ' ETH'], [
282
+ 'Finalization Gas Cost Coverage ',
283
+ formatEther(finalizationGasCoverage) + ' ETH',
284
+ ], [
285
+ 'Min Withdrawal Delay ',
286
+ MIN_WITHDRAWAL_DELAY_TIME_IN_SECONDS + ' seconds',
287
+ ]);
288
+ const FINALIZE_FEATURE = await callReadMethodSilent({
289
+ contract: withdrawalQueue,
290
+ methodName: 'FINALIZE_FEATURE',
291
+ payload: [],
292
+ });
293
+ const isFinalizationPaused = await callReadMethodSilent({
294
+ contract: withdrawalQueue,
295
+ methodName: 'isFeaturePaused',
296
+ payload: [[FINALIZE_FEATURE]],
297
+ });
298
+ logData.push([
299
+ 'Is Finalization Paused',
300
+ (isFinalizationPaused ? 'Yes' : 'No') +
301
+ finalizationBlocker(!isFinalizationPaused),
302
+ ]);
303
+ const FINALIZER_ROLE = await callReadMethodSilent({
304
+ contract: withdrawalQueue,
305
+ methodName: 'FINALIZE_ROLE',
306
+ payload: [],
307
+ });
308
+ const finalizers = await callReadMethodSilent({
309
+ contract: withdrawalQueue,
310
+ methodName: 'getRoleMembers',
311
+ payload: [[FINALIZER_ROLE]],
312
+ });
313
+ logData.push([
314
+ 'Number of Finalizers',
315
+ finalizers.length + finalizationBlocker(finalizers.length),
316
+ ]);
317
+ finalizers.forEach((address, index) => {
318
+ logData.push([`Finalizer ${index + 1}`, address]);
319
+ });
320
+ const withdrawableEther = await callReadMethodSilent({
321
+ contract: dashboard,
322
+ methodName: 'withdrawableValue',
323
+ payload: [],
324
+ });
325
+ logData.push([
326
+ 'Buffered ETH',
327
+ formatEther(withdrawableEther) + finalizationBlocker(withdrawableEther),
328
+ ]);
329
+ const lastRequestId = await callReadMethodSilent({
330
+ contract: withdrawalQueue,
331
+ methodName: 'getLastRequestId',
332
+ payload: [],
333
+ });
334
+ logData.push(['Last Request ID', lastRequestId]);
335
+ const lastFinalizedRequestId = await callReadMethodSilent({
336
+ contract: withdrawalQueue,
337
+ methodName: 'getLastFinalizedRequestId',
338
+ payload: [],
339
+ });
340
+ logData.push(['Last Finalized Request ID', lastFinalizedRequestId]);
341
+ const requestsToFinalize = await callReadMethodSilent({
342
+ contract: withdrawalQueue,
343
+ methodName: 'unfinalizedRequestsNumber',
344
+ payload: [],
345
+ });
346
+ logData.push([
347
+ 'Requests to Finalize',
348
+ requestsToFinalize + finalizationBlocker(requestsToFinalize),
349
+ ]);
350
+ const unfinalizedStv = await callReadMethodSilent({
351
+ contract: withdrawalQueue,
352
+ methodName: 'unfinalizedStv',
353
+ payload: [],
354
+ });
355
+ const stvDecimals = await callReadMethodSilent({
356
+ contract: pool,
357
+ methodName: 'decimals',
358
+ payload: [],
359
+ });
360
+ logData.push([
361
+ 'Unfinalized STV',
362
+ formatUnits(unfinalizedStv, stvDecimals),
363
+ ]);
364
+ const unfinalizedStethShares = await callReadMethodSilent({
365
+ contract: withdrawalQueue,
366
+ methodName: 'unfinalizedStethShares',
367
+ payload: [],
368
+ });
369
+ logData.push([
370
+ 'Unfinalized Steth Shares',
371
+ formatEther(unfinalizedStethShares),
372
+ ]);
373
+ const unfinalizedSteth = await callReadMethodSilent({
374
+ contract: await getStethContract(),
375
+ methodName: 'getPooledEthBySharesRoundUp',
376
+ payload: [[unfinalizedStethShares]],
377
+ });
378
+ logData.push(['Unfinalized Steth', formatEther(unfinalizedSteth)]);
379
+ const unfinalizedAssets = await callReadMethodSilent({
380
+ contract: withdrawalQueue,
381
+ methodName: 'unfinalizedAssets',
382
+ payload: [],
383
+ });
384
+ logData.push([
385
+ 'Unfinalized ETH',
386
+ formatEther(unfinalizedAssets) + finalizationBlocker(unfinalizedAssets),
387
+ ]);
388
+ const ethForFinalization = bigIntMin(withdrawableEther, unfinalizedAssets);
389
+ logData.push([
390
+ 'ETH Available for Finalization',
391
+ formatEther(ethForFinalization) +
392
+ finalizationBlocker(ethForFinalization),
393
+ ]);
394
+ const ethToWithdrawFromCL = unfinalizedAssets - ethForFinalization;
395
+ logData.push([
396
+ 'ETH to Withdraw from CL',
397
+ formatEther(ethToWithdrawFromCL),
398
+ ]);
399
+ let canFinalize = !isFinalizationPaused &&
400
+ finalizers.length > 0 &&
401
+ isReportFresh &&
402
+ requestsToFinalize > 0n &&
403
+ ethForFinalization > 0n;
404
+ if (canFinalize) {
405
+ try {
406
+ const { result: requestFinalized } = await withdrawalQueue.simulate.finalize([requestsToFinalize, zeroAddress], {
407
+ account: finalizers[0],
408
+ });
409
+ logData.push([
410
+ 'Finalization Simulation',
411
+ `requests finalized ${requestFinalized}/${requestsToFinalize} ${finalizationBlocker(requestFinalized)}`,
412
+ ]);
413
+ }
414
+ catch (error) {
415
+ canFinalize = false;
416
+ logInfo('Finalization simulation failed, finalization will not be possible', error);
417
+ logInfo(`Possible reasons for finalization failure:
418
+ - all requests were made too recently (withdrawal delay not passed)
419
+ - all requests were made after the last report (next report needed)
420
+ `);
421
+ logData.push([
422
+ 'Finalization Simulation',
423
+ `🚨 Simulation failed ${finalizationBlocker(canFinalize)}`,
424
+ ]);
425
+ }
426
+ }
427
+ logData.push([
428
+ 'Can Finalize Now',
429
+ canFinalize ? '✅ Yes' : '❌ No (🚨 Check above parameters)',
430
+ ]);
431
+ }
432
+ catch (error) {
433
+ logError('Error fetching withdrawal status, displaying available data', error);
434
+ }
435
+ logResult({ data: logData });
436
+ });
115
437
  // TODO: Add wrapper health command
116
438
  // wrapperOperationsRead
117
439
  // .command('health')
@@ -1 +1 @@
1
- {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../../../programs/defi-wrapper/use-cases/wrapper-operations/read.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../../../programs/defi-wrapper/use-cases/wrapper-operations/read.ts"],"names":[],"mappings":"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"}