@lidofinance/lsv-cli 1.0.0-alpha.61 → 1.0.0-alpha.63

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 (494) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +1 -1
  3. package/dist/abi/AccessControlConfirmable.d.ts +4 -3
  4. package/dist/abi/AccessControlConfirmable.js +4 -2
  5. package/dist/abi/AccessControlConfirmable.js.map +1 -1
  6. package/dist/abi/Dashboard.d.ts +731 -437
  7. package/dist/abi/Dashboard.js +322 -302
  8. package/dist/abi/Dashboard.js.map +1 -1
  9. package/dist/abi/LazyOracle.d.ts +319 -27
  10. package/dist/abi/LazyOracle.js +406 -27
  11. package/dist/abi/LazyOracle.js.map +1 -1
  12. package/dist/abi/LidoLocator.d.ts +28 -0
  13. package/dist/abi/LidoLocator.js +36 -0
  14. package/dist/abi/LidoLocator.js.map +1 -1
  15. package/dist/abi/OperatorGrid.d.ts +879 -100
  16. package/dist/abi/OperatorGrid.js +224 -2
  17. package/dist/abi/OperatorGrid.js.map +1 -1
  18. package/dist/abi/PredepositGuarantee.d.ts +210 -169
  19. package/dist/abi/PredepositGuarantee.js +192 -198
  20. package/dist/abi/PredepositGuarantee.js.map +1 -1
  21. package/dist/abi/StEth.d.ts +1 -1
  22. package/dist/abi/StEth.js +1 -1
  23. package/dist/abi/StEth.js.map +1 -1
  24. package/dist/abi/StakingVault.d.ts +241 -41
  25. package/dist/abi/StakingVault.js +206 -43
  26. package/dist/abi/StakingVault.js.map +1 -1
  27. package/dist/abi/VaultFactory.d.ts +524 -72
  28. package/dist/abi/VaultFactory.js +42 -1
  29. package/dist/abi/VaultFactory.js.map +1 -1
  30. package/dist/abi/VaultHub.d.ts +439 -409
  31. package/dist/abi/VaultHub.js +363 -399
  32. package/dist/abi/VaultHub.js.map +1 -1
  33. package/dist/abi/VaultViewer.d.ts +204 -238
  34. package/dist/abi/VaultViewer.js +251 -299
  35. package/dist/abi/VaultViewer.js.map +1 -1
  36. package/dist/abi/defi-wrapper/Distributor.d.ts +486 -0
  37. package/dist/abi/defi-wrapper/Distributor.js +633 -0
  38. package/dist/abi/defi-wrapper/Distributor.js.map +1 -0
  39. package/dist/abi/defi-wrapper/Factory.d.ts +1184 -0
  40. package/dist/abi/defi-wrapper/Factory.js +932 -0
  41. package/dist/abi/defi-wrapper/Factory.js.map +1 -0
  42. package/dist/abi/defi-wrapper/StvPool.d.ts +1079 -0
  43. package/dist/abi/defi-wrapper/StvPool.js +1410 -0
  44. package/dist/abi/defi-wrapper/StvPool.js.map +1 -0
  45. package/dist/abi/defi-wrapper/StvStETHPool.d.ts +1772 -0
  46. package/dist/abi/defi-wrapper/StvStETHPool.js +2316 -0
  47. package/dist/abi/defi-wrapper/StvStETHPool.js.map +1 -0
  48. package/dist/abi/defi-wrapper/WithdrawalQueue.d.ts +1265 -0
  49. package/dist/abi/defi-wrapper/WithdrawalQueue.js +1647 -0
  50. package/dist/abi/defi-wrapper/WithdrawalQueue.js.map +1 -0
  51. package/dist/abi/defi-wrapper/index.d.ts +5 -0
  52. package/dist/abi/defi-wrapper/index.js +6 -0
  53. package/dist/abi/defi-wrapper/index.js.map +1 -0
  54. package/dist/abi/index.d.ts +0 -2
  55. package/dist/abi/index.js +0 -2
  56. package/dist/abi/index.js.map +1 -1
  57. package/dist/configs/constants.d.ts +44 -2
  58. package/dist/configs/constants.js +2 -2
  59. package/dist/configs/constants.js.map +1 -1
  60. package/dist/configs/deployed.d.ts +2 -2
  61. package/dist/configs/deployed.js +48 -6
  62. package/dist/configs/deployed.js.map +1 -1
  63. package/dist/configs/utils.d.ts +1 -0
  64. package/dist/configs/utils.js +4 -0
  65. package/dist/configs/utils.js.map +1 -1
  66. package/dist/contracts/dashboard-impl.d.ts +4 -0
  67. package/dist/contracts/dashboard-impl.js +17 -0
  68. package/dist/contracts/dashboard-impl.js.map +1 -0
  69. package/dist/contracts/dashboard.d.ts +2 -2
  70. package/dist/contracts/dashboard.js +3 -2
  71. package/dist/contracts/dashboard.js.map +1 -1
  72. package/dist/contracts/defi-wrapper/distributor.d.ts +4 -0
  73. package/dist/contracts/defi-wrapper/distributor.js +12 -0
  74. package/dist/contracts/defi-wrapper/distributor.js.map +1 -0
  75. package/dist/contracts/defi-wrapper/factory.d.ts +4 -0
  76. package/dist/contracts/defi-wrapper/factory.js +12 -0
  77. package/dist/contracts/defi-wrapper/factory.js.map +1 -0
  78. package/dist/contracts/defi-wrapper/index.d.ts +5 -0
  79. package/dist/contracts/defi-wrapper/index.js +6 -0
  80. package/dist/contracts/defi-wrapper/index.js.map +1 -0
  81. package/dist/contracts/defi-wrapper/stv-pool.d.ts +4 -0
  82. package/dist/contracts/defi-wrapper/stv-pool.js +12 -0
  83. package/dist/contracts/defi-wrapper/stv-pool.js.map +1 -0
  84. package/dist/contracts/defi-wrapper/stv-steth-pool.d.ts +4 -0
  85. package/dist/contracts/defi-wrapper/stv-steth-pool.js +12 -0
  86. package/dist/contracts/defi-wrapper/stv-steth-pool.js.map +1 -0
  87. package/dist/contracts/defi-wrapper/withdrawal-queue.d.ts +4 -0
  88. package/dist/contracts/defi-wrapper/withdrawal-queue.js +12 -0
  89. package/dist/contracts/defi-wrapper/withdrawal-queue.js.map +1 -0
  90. package/dist/contracts/index.d.ts +1 -1
  91. package/dist/contracts/index.js +1 -1
  92. package/dist/contracts/index.js.map +1 -1
  93. package/dist/contracts/lazy-oracle.js +3 -2
  94. package/dist/contracts/lazy-oracle.js.map +1 -1
  95. package/dist/contracts/locator.d.ts +3 -8239
  96. package/dist/contracts/locator.js +4 -3
  97. package/dist/contracts/locator.js.map +1 -1
  98. package/dist/contracts/operator-grid.d.ts +1 -1
  99. package/dist/contracts/operator-grid.js +3 -2
  100. package/dist/contracts/operator-grid.js.map +1 -1
  101. package/dist/contracts/pdg.js +3 -2
  102. package/dist/contracts/pdg.js.map +1 -1
  103. package/dist/contracts/steth.d.ts +128 -128
  104. package/dist/contracts/steth.js +3 -2
  105. package/dist/contracts/steth.js.map +1 -1
  106. package/dist/contracts/vault-factory.d.ts +3 -16404
  107. package/dist/contracts/vault-factory.js +4 -3
  108. package/dist/contracts/vault-factory.js.map +1 -1
  109. package/dist/contracts/vault-hub.js +3 -2
  110. package/dist/contracts/vault-hub.js.map +1 -1
  111. package/dist/contracts/vault-viewer.d.ts +3 -11197
  112. package/dist/contracts/vault-viewer.js +9 -7
  113. package/dist/contracts/vault-viewer.js.map +1 -1
  114. package/dist/contracts/vault.d.ts +2 -2
  115. package/dist/contracts/vault.js +3 -2
  116. package/dist/contracts/vault.js.map +1 -1
  117. package/dist/contracts/wsteth.d.ts +3 -24690
  118. package/dist/contracts/wsteth.js +4 -3
  119. package/dist/contracts/wsteth.js.map +1 -1
  120. package/dist/features/defi-wrapper/create-vault.d.ts +17 -0
  121. package/dist/features/defi-wrapper/create-vault.js +137 -0
  122. package/dist/features/defi-wrapper/create-vault.js.map +1 -0
  123. package/dist/features/defi-wrapper/defi-wrapper-factory.d.ts +112 -0
  124. package/dist/features/defi-wrapper/defi-wrapper-factory.js +228 -0
  125. package/dist/features/defi-wrapper/defi-wrapper-factory.js.map +1 -0
  126. package/dist/features/defi-wrapper/index.d.ts +3 -0
  127. package/dist/features/defi-wrapper/index.js +4 -0
  128. package/dist/features/defi-wrapper/index.js.map +1 -0
  129. package/dist/features/defi-wrapper/pool-info.d.ts +35 -0
  130. package/dist/features/defi-wrapper/pool-info.js +97 -0
  131. package/dist/features/defi-wrapper/pool-info.js.map +1 -0
  132. package/dist/features/deposits/check-bls-deposits.d.ts +2 -1
  133. package/dist/features/deposits/check-bls-deposits.js +11 -2
  134. package/dist/features/deposits/check-bls-deposits.js.map +1 -1
  135. package/dist/features/deposits/make-pdg-proof.d.ts +8 -0
  136. package/dist/features/deposits/make-pdg-proof.js +17 -1
  137. package/dist/features/deposits/make-pdg-proof.js.map +1 -1
  138. package/dist/features/deposits/no-pdg.d.ts +1 -1
  139. package/dist/features/deposits/no-pdg.js +6 -3
  140. package/dist/features/deposits/no-pdg.js.map +1 -1
  141. package/dist/features/dev-tools/impersonate.d.ts +14 -0
  142. package/dist/features/dev-tools/impersonate.js +64 -0
  143. package/dist/features/dev-tools/impersonate.js.map +1 -0
  144. package/dist/features/dev-tools/index.d.ts +1 -0
  145. package/dist/features/dev-tools/index.js +2 -0
  146. package/dist/features/dev-tools/index.js.map +1 -0
  147. package/dist/features/index.d.ts +3 -0
  148. package/dist/features/index.js +3 -0
  149. package/dist/features/index.js.map +1 -1
  150. package/dist/features/lazy-oracle.d.ts +1 -0
  151. package/dist/features/lazy-oracle.js +42 -0
  152. package/dist/features/lazy-oracle.js.map +1 -0
  153. package/dist/features/mint-burn/allowance.js +1 -1
  154. package/dist/features/mint-burn/allowance.js.map +1 -1
  155. package/dist/features/pdg.d.ts +7 -0
  156. package/dist/features/pdg.js +5 -5
  157. package/dist/features/pdg.js.map +1 -1
  158. package/dist/features/utils/get-boolean.d.ts +1 -0
  159. package/dist/features/utils/get-boolean.js +13 -0
  160. package/dist/features/utils/get-boolean.js.map +1 -0
  161. package/dist/features/utils/index.d.ts +2 -0
  162. package/dist/features/utils/index.js +2 -0
  163. package/dist/features/utils/index.js.map +1 -1
  164. package/dist/features/utils/quarantine.d.ts +2 -0
  165. package/dist/features/utils/quarantine.js +2 -0
  166. package/dist/features/utils/quarantine.js.map +1 -1
  167. package/dist/features/utils/report-fresh.js +17 -1
  168. package/dist/features/utils/report-fresh.js.map +1 -1
  169. package/dist/features/utils/settled-growth.d.ts +1 -0
  170. package/dist/features/utils/settled-growth.js +16 -0
  171. package/dist/features/utils/settled-growth.js.map +1 -0
  172. package/dist/features/vault-factory.d.ts +2 -2
  173. package/dist/features/vault-factory.js +8 -3
  174. package/dist/features/vault-factory.js.map +1 -1
  175. package/dist/features/vault-hub.js +0 -4
  176. package/dist/features/vault-hub.js.map +1 -1
  177. package/dist/features/vault-operations/create-vault.d.ts +4 -2
  178. package/dist/features/vault-operations/create-vault.js +13 -5
  179. package/dist/features/vault-operations/create-vault.js.map +1 -1
  180. package/dist/features/vault-operations/dashboard-by-vault.d.ts +2 -1
  181. package/dist/features/vault-operations/dashboard-by-vault.js +6 -4
  182. package/dist/features/vault-operations/dashboard-by-vault.js.map +1 -1
  183. package/dist/features/vault-operations/vault-health.js +2 -2
  184. package/dist/features/vault-operations/vault-health.js.map +1 -1
  185. package/dist/features/vault-operations/vault-info.js +32 -33
  186. package/dist/features/vault-operations/vault-info.js.map +1 -1
  187. package/dist/features/vault-operations/vault-overview.js +46 -39
  188. package/dist/features/vault-operations/vault-overview.js.map +1 -1
  189. package/dist/features/vault-operations/vault-roles.d.ts +2 -1
  190. package/dist/features/vault-operations/vault-roles.js +22 -23
  191. package/dist/features/vault-operations/vault-roles.js.map +1 -1
  192. package/dist/features/vault-operations/vaults-by-role.d.ts +5 -0
  193. package/dist/features/vault-operations/vaults-by-role.js +123 -36
  194. package/dist/features/vault-operations/vaults-by-role.js.map +1 -1
  195. package/dist/features/vault.js +8 -4
  196. package/dist/features/vault.js.map +1 -1
  197. package/dist/index.js +18 -6
  198. package/dist/index.js.map +1 -1
  199. package/dist/programs/account/read.js +1 -1
  200. package/dist/programs/account/read.js.map +1 -1
  201. package/dist/programs/account/write.js +14 -0
  202. package/dist/programs/account/write.js.map +1 -1
  203. package/dist/programs/contracts/dashboard/config.js +49 -40
  204. package/dist/programs/contracts/dashboard/config.js.map +1 -1
  205. package/dist/programs/contracts/dashboard/read.js +44 -9
  206. package/dist/programs/contracts/dashboard/read.js.map +1 -1
  207. package/dist/programs/contracts/dashboard/write.js +236 -127
  208. package/dist/programs/contracts/dashboard/write.js.map +1 -1
  209. package/dist/programs/contracts/hub/config.js +7 -27
  210. package/dist/programs/contracts/hub/config.js.map +1 -1
  211. package/dist/programs/contracts/hub/read.js +63 -2
  212. package/dist/programs/contracts/hub/read.js.map +1 -1
  213. package/dist/programs/contracts/hub/write.js +8 -70
  214. package/dist/programs/contracts/hub/write.js.map +1 -1
  215. package/dist/programs/contracts/lazy-oracle/config.js +38 -0
  216. package/dist/programs/contracts/lazy-oracle/config.js.map +1 -1
  217. package/dist/programs/contracts/lazy-oracle/read.js +7 -0
  218. package/dist/programs/contracts/lazy-oracle/read.js.map +1 -1
  219. package/dist/programs/contracts/operator-grid/config.js +21 -10
  220. package/dist/programs/contracts/operator-grid/config.js.map +1 -1
  221. package/dist/programs/contracts/operator-grid/read.js +21 -1
  222. package/dist/programs/contracts/operator-grid/read.js.map +1 -1
  223. package/dist/programs/contracts/operator-grid/write.js +40 -71
  224. package/dist/programs/contracts/operator-grid/write.js.map +1 -1
  225. package/dist/programs/contracts/pdg/config.js +9 -2
  226. package/dist/programs/contracts/pdg/config.js.map +1 -1
  227. package/dist/programs/contracts/pdg/read.js +13 -1
  228. package/dist/programs/contracts/pdg/read.js.map +1 -1
  229. package/dist/programs/contracts/pdg/write.js +55 -86
  230. package/dist/programs/contracts/pdg/write.js.map +1 -1
  231. package/dist/programs/contracts/vault/config.js +12 -0
  232. package/dist/programs/contracts/vault/config.js.map +1 -1
  233. package/dist/programs/contracts/vault/write.js +110 -35
  234. package/dist/programs/contracts/vault/write.js.map +1 -1
  235. package/dist/programs/contracts/vault-factory/config.js +14 -1
  236. package/dist/programs/contracts/vault-factory/config.js.map +1 -1
  237. package/dist/programs/contracts/vault-factory/write.js +25 -15
  238. package/dist/programs/contracts/vault-factory/write.js.map +1 -1
  239. package/dist/programs/contracts/vault-viewer/config.js +102 -59
  240. package/dist/programs/contracts/vault-viewer/config.js.map +1 -1
  241. package/dist/programs/contracts/vault-viewer/read.js +22 -76
  242. package/dist/programs/contracts/vault-viewer/read.js.map +1 -1
  243. package/dist/programs/defi-wrapper/contracts/distributor/config.d.ts +3 -0
  244. package/dist/programs/defi-wrapper/contracts/distributor/config.js +44 -0
  245. package/dist/programs/defi-wrapper/contracts/distributor/config.js.map +1 -0
  246. package/dist/programs/defi-wrapper/contracts/distributor/index.d.ts +3 -0
  247. package/dist/programs/defi-wrapper/contracts/distributor/index.js +4 -0
  248. package/dist/programs/defi-wrapper/contracts/distributor/index.js.map +1 -0
  249. package/dist/programs/defi-wrapper/contracts/distributor/main.d.ts +1 -0
  250. package/dist/programs/defi-wrapper/contracts/distributor/main.js +5 -0
  251. package/dist/programs/defi-wrapper/contracts/distributor/main.js.map +1 -0
  252. package/dist/programs/defi-wrapper/contracts/distributor/read.d.ts +1 -0
  253. package/dist/programs/defi-wrapper/contracts/distributor/read.js +40 -0
  254. package/dist/programs/defi-wrapper/contracts/distributor/read.js.map +1 -0
  255. package/dist/programs/defi-wrapper/contracts/distributor/write.d.ts +1 -0
  256. package/dist/programs/defi-wrapper/contracts/distributor/write.js +70 -0
  257. package/dist/programs/defi-wrapper/contracts/distributor/write.js.map +1 -0
  258. package/dist/programs/defi-wrapper/contracts/factory/config.d.ts +3 -0
  259. package/dist/programs/defi-wrapper/contracts/factory/config.js +2 -0
  260. package/dist/programs/defi-wrapper/contracts/factory/config.js.map +1 -0
  261. package/dist/programs/defi-wrapper/contracts/factory/index.d.ts +3 -0
  262. package/dist/programs/defi-wrapper/contracts/factory/index.js +4 -0
  263. package/dist/programs/defi-wrapper/contracts/factory/index.js.map +1 -0
  264. package/dist/programs/defi-wrapper/contracts/factory/main.d.ts +1 -0
  265. package/dist/programs/defi-wrapper/contracts/factory/main.js +6 -0
  266. package/dist/programs/defi-wrapper/contracts/factory/main.js.map +1 -0
  267. package/dist/programs/defi-wrapper/contracts/factory/read.d.ts +1 -0
  268. package/dist/programs/defi-wrapper/contracts/factory/read.js +50 -0
  269. package/dist/programs/defi-wrapper/contracts/factory/read.js.map +1 -0
  270. package/dist/programs/defi-wrapper/contracts/factory/write.d.ts +1 -0
  271. package/dist/programs/defi-wrapper/contracts/factory/write.js +144 -0
  272. package/dist/programs/defi-wrapper/contracts/factory/write.js.map +1 -0
  273. package/dist/programs/defi-wrapper/contracts/index.d.ts +6 -0
  274. package/dist/programs/defi-wrapper/contracts/index.js +7 -0
  275. package/dist/programs/defi-wrapper/contracts/index.js.map +1 -0
  276. package/dist/programs/defi-wrapper/contracts/main.d.ts +1 -0
  277. package/dist/programs/defi-wrapper/contracts/main.js +6 -0
  278. package/dist/programs/defi-wrapper/contracts/main.js.map +1 -0
  279. package/dist/programs/defi-wrapper/contracts/stv-pool/config.d.ts +3 -0
  280. package/dist/programs/defi-wrapper/contracts/stv-pool/config.js +73 -0
  281. package/dist/programs/defi-wrapper/contracts/stv-pool/config.js.map +1 -0
  282. package/dist/programs/defi-wrapper/contracts/stv-pool/index.d.ts +3 -0
  283. package/dist/programs/defi-wrapper/contracts/stv-pool/index.js +4 -0
  284. package/dist/programs/defi-wrapper/contracts/stv-pool/index.js.map +1 -0
  285. package/dist/programs/defi-wrapper/contracts/stv-pool/main.d.ts +1 -0
  286. package/dist/programs/defi-wrapper/contracts/stv-pool/main.js +6 -0
  287. package/dist/programs/defi-wrapper/contracts/stv-pool/main.js.map +1 -0
  288. package/dist/programs/defi-wrapper/contracts/stv-pool/read.d.ts +1 -0
  289. package/dist/programs/defi-wrapper/contracts/stv-pool/read.js +70 -0
  290. package/dist/programs/defi-wrapper/contracts/stv-pool/read.js.map +1 -0
  291. package/dist/programs/defi-wrapper/contracts/stv-pool/write.d.ts +1 -0
  292. package/dist/programs/defi-wrapper/contracts/stv-pool/write.js +138 -0
  293. package/dist/programs/defi-wrapper/contracts/stv-pool/write.js.map +1 -0
  294. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/config.d.ts +3 -0
  295. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/config.js +120 -0
  296. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/config.js.map +1 -0
  297. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/index.d.ts +3 -0
  298. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/index.js +4 -0
  299. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/index.js.map +1 -0
  300. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/main.d.ts +1 -0
  301. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/main.js +6 -0
  302. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/main.js.map +1 -0
  303. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/read.d.ts +1 -0
  304. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/read.js +70 -0
  305. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/read.js.map +1 -0
  306. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/write.d.ts +1 -0
  307. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/write.js +173 -0
  308. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/write.js.map +1 -0
  309. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/config.d.ts +3 -0
  310. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/config.js +66 -0
  311. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/config.js.map +1 -0
  312. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/index.d.ts +3 -0
  313. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/index.js +4 -0
  314. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/index.js.map +1 -0
  315. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/main.d.ts +1 -0
  316. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/main.js +6 -0
  317. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/main.js.map +1 -0
  318. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/read.d.ts +1 -0
  319. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/read.js +65 -0
  320. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/read.js.map +1 -0
  321. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/write.d.ts +1 -0
  322. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/write.js +171 -0
  323. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/write.js.map +1 -0
  324. package/dist/programs/defi-wrapper/index.d.ts +3 -0
  325. package/dist/programs/defi-wrapper/index.js +4 -0
  326. package/dist/programs/defi-wrapper/index.js.map +1 -0
  327. package/dist/programs/defi-wrapper/main.d.ts +1 -0
  328. package/dist/programs/defi-wrapper/main.js +6 -0
  329. package/dist/programs/defi-wrapper/main.js.map +1 -0
  330. package/dist/programs/defi-wrapper/use-cases/health/index.d.ts +3 -0
  331. package/dist/programs/defi-wrapper/use-cases/health/index.js +4 -0
  332. package/dist/programs/defi-wrapper/use-cases/health/index.js.map +1 -0
  333. package/dist/programs/defi-wrapper/use-cases/health/main.d.ts +1 -0
  334. package/dist/programs/defi-wrapper/use-cases/health/main.js +6 -0
  335. package/dist/programs/defi-wrapper/use-cases/health/main.js.map +1 -0
  336. package/dist/programs/defi-wrapper/use-cases/health/read.d.ts +1 -0
  337. package/dist/programs/defi-wrapper/use-cases/health/read.js +338 -0
  338. package/dist/programs/defi-wrapper/use-cases/health/read.js.map +1 -0
  339. package/dist/programs/defi-wrapper/use-cases/health/utils.d.ts +56 -0
  340. package/dist/programs/defi-wrapper/use-cases/health/utils.js +389 -0
  341. package/dist/programs/defi-wrapper/use-cases/health/utils.js.map +1 -0
  342. package/dist/programs/defi-wrapper/use-cases/health/write.d.ts +1 -0
  343. package/dist/programs/defi-wrapper/use-cases/health/write.js +254 -0
  344. package/dist/programs/defi-wrapper/use-cases/health/write.js.map +1 -0
  345. package/dist/programs/defi-wrapper/use-cases/index.d.ts +3 -0
  346. package/dist/programs/defi-wrapper/use-cases/index.js +4 -0
  347. package/dist/programs/defi-wrapper/use-cases/index.js.map +1 -0
  348. package/dist/programs/defi-wrapper/use-cases/main.d.ts +1 -0
  349. package/dist/programs/defi-wrapper/use-cases/main.js +6 -0
  350. package/dist/programs/defi-wrapper/use-cases/main.js.map +1 -0
  351. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/create-pool.d.ts +1 -0
  352. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/create-pool.js +143 -0
  353. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/create-pool.js.map +1 -0
  354. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/index.d.ts +3 -0
  355. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/index.js +5 -0
  356. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/index.js.map +1 -0
  357. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/main.d.ts +1 -0
  358. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/main.js +6 -0
  359. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/main.js.map +1 -0
  360. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/read.d.ts +1 -0
  361. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/read.js +130 -0
  362. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/read.js.map +1 -0
  363. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/write.d.ts +1 -0
  364. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/write.js +13 -0
  365. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/write.js.map +1 -0
  366. package/dist/programs/dev-tools/anvil/index.d.ts +2 -0
  367. package/dist/programs/dev-tools/anvil/index.js +3 -0
  368. package/dist/programs/dev-tools/anvil/index.js.map +1 -0
  369. package/dist/programs/dev-tools/anvil/main.d.ts +1 -0
  370. package/dist/programs/dev-tools/anvil/main.js +5 -0
  371. package/dist/programs/dev-tools/anvil/main.js.map +1 -0
  372. package/dist/programs/dev-tools/anvil/write.d.ts +1 -0
  373. package/dist/programs/dev-tools/anvil/write.js +122 -0
  374. package/dist/programs/dev-tools/anvil/write.js.map +1 -0
  375. package/dist/programs/dev-tools/defi-wrapper/index.d.ts +2 -0
  376. package/dist/programs/dev-tools/defi-wrapper/index.js +3 -0
  377. package/dist/programs/dev-tools/defi-wrapper/index.js.map +1 -0
  378. package/dist/programs/dev-tools/defi-wrapper/main.d.ts +1 -0
  379. package/dist/programs/dev-tools/defi-wrapper/main.js +6 -0
  380. package/dist/programs/dev-tools/defi-wrapper/main.js.map +1 -0
  381. package/dist/programs/dev-tools/defi-wrapper/write.d.ts +1 -0
  382. package/dist/programs/dev-tools/defi-wrapper/write.js +77 -0
  383. package/dist/programs/dev-tools/defi-wrapper/write.js.map +1 -0
  384. package/dist/programs/dev-tools/index.d.ts +3 -0
  385. package/dist/programs/dev-tools/index.js +4 -0
  386. package/dist/programs/dev-tools/index.js.map +1 -0
  387. package/dist/programs/dev-tools/main.d.ts +1 -0
  388. package/dist/programs/dev-tools/main.js +6 -0
  389. package/dist/programs/dev-tools/main.js.map +1 -0
  390. package/dist/programs/index.d.ts +2 -0
  391. package/dist/programs/index.js +2 -0
  392. package/dist/programs/index.js.map +1 -1
  393. package/dist/programs/pdg-helpers.js +5 -5
  394. package/dist/programs/pdg-helpers.js.map +1 -1
  395. package/dist/programs/use-cases/deposits/read.js +19 -2
  396. package/dist/programs/use-cases/deposits/read.js.map +1 -1
  397. package/dist/programs/use-cases/deposits/write.js +130 -45
  398. package/dist/programs/use-cases/deposits/write.js.map +1 -1
  399. package/dist/programs/use-cases/metrics/read.js +36 -19
  400. package/dist/programs/use-cases/metrics/read.js.map +1 -1
  401. package/dist/programs/use-cases/report/read.js +14 -7
  402. package/dist/programs/use-cases/report/read.js.map +1 -1
  403. package/dist/programs/use-cases/report/write.js +7 -2
  404. package/dist/programs/use-cases/report/write.js.map +1 -1
  405. package/dist/programs/use-cases/vault-operations/create-vault.js +18 -8
  406. package/dist/programs/use-cases/vault-operations/create-vault.js.map +1 -1
  407. package/dist/programs/use-cases/vault-operations/write.js +103 -8
  408. package/dist/programs/use-cases/vault-operations/write.js.map +1 -1
  409. package/dist/providers/wallet.d.ts +6984 -169
  410. package/dist/providers/wallet.js +15 -5
  411. package/dist/providers/wallet.js.map +1 -1
  412. package/dist/tests/utils/calculate-overview.test.js +1 -1
  413. package/dist/tests/utils/calculate-overview.test.js.map +1 -1
  414. package/dist/tests/utils/health.test.js +2 -2
  415. package/dist/tests/utils/health.test.js.map +1 -1
  416. package/dist/types/common.d.ts +4 -0
  417. package/dist/utils/arguments.d.ts +8 -1
  418. package/dist/utils/arguments.js +61 -1
  419. package/dist/utils/arguments.js.map +1 -1
  420. package/dist/utils/bls.d.ts +2 -2
  421. package/dist/utils/bls.js +8 -7
  422. package/dist/utils/bls.js.map +1 -1
  423. package/dist/utils/cache.d.ts +26 -0
  424. package/dist/utils/cache.js +88 -3
  425. package/dist/utils/cache.js.map +1 -1
  426. package/dist/utils/calculate-overview-v2.d.ts +4 -2
  427. package/dist/utils/calculate-overview-v2.js +5 -8
  428. package/dist/utils/calculate-overview-v2.js.map +1 -1
  429. package/dist/utils/calculate-overview.d.ts +1 -1
  430. package/dist/utils/calculate-overview.js +2 -2
  431. package/dist/utils/calculate-overview.js.map +1 -1
  432. package/dist/utils/charts/blessed/charts-apr.js +3 -2
  433. package/dist/utils/charts/blessed/charts-apr.js.map +1 -1
  434. package/dist/utils/charts/blessed/charts-rewards.js +3 -2
  435. package/dist/utils/charts/blessed/charts-rewards.js.map +1 -1
  436. package/dist/utils/charts/overview.d.ts +1 -1
  437. package/dist/utils/charts/overview.js +1 -1
  438. package/dist/utils/charts/overview.js.map +1 -1
  439. package/dist/utils/charts/simple/simple-charts.js +3 -2
  440. package/dist/utils/charts/simple/simple-charts.js.map +1 -1
  441. package/dist/utils/commands/confirmations.d.ts +8 -4
  442. package/dist/utils/commands/confirmations.js +44 -34
  443. package/dist/utils/commands/confirmations.js.map +1 -1
  444. package/dist/utils/commands/report.js +2 -1
  445. package/dist/utils/commands/report.js.map +1 -1
  446. package/dist/utils/fetchCL.d.ts +1 -5
  447. package/dist/utils/fetchCL.js +5 -7
  448. package/dist/utils/fetchCL.js.map +1 -1
  449. package/dist/utils/health/calculate-health.d.ts +1 -1
  450. package/dist/utils/health/calculate-health.js +2 -2
  451. package/dist/utils/health/calculate-health.js.map +1 -1
  452. package/dist/utils/health/health-utils.d.ts +131 -131
  453. package/dist/utils/health/health-utils.js +12 -11
  454. package/dist/utils/health/health-utils.js.map +1 -1
  455. package/dist/utils/prompts/confirmations.js +1 -1
  456. package/dist/utils/prompts/confirmations.js.map +1 -1
  457. package/dist/utils/proof/constants.d.ts +6 -0
  458. package/dist/utils/proof/constants.js +7 -0
  459. package/dist/utils/proof/constants.js.map +1 -0
  460. package/dist/utils/proof/first-validator-gindex.js +0 -4
  461. package/dist/utils/proof/first-validator-gindex.js.map +1 -1
  462. package/dist/utils/proof/proofs.d.ts +7 -8
  463. package/dist/utils/proof/proofs.js +36 -28
  464. package/dist/utils/proof/proofs.js.map +1 -1
  465. package/dist/utils/read-programs-by-abi.d.ts +1 -1
  466. package/dist/utils/read-programs-by-abi.js +4 -18
  467. package/dist/utils/read-programs-by-abi.js.map +1 -1
  468. package/dist/utils/report/report.js +2 -1
  469. package/dist/utils/report/report.js.map +1 -1
  470. package/dist/utils/report/statistic-data.js +3 -3
  471. package/dist/utils/report/statistic-data.js.map +1 -1
  472. package/dist/utils/report/types.d.ts +10 -2
  473. package/dist/utils/statistic/report-statistic.js +13 -14
  474. package/dist/utils/statistic/report-statistic.js.map +1 -1
  475. package/dist/utils/transactions/tx-private-key.d.ts +2 -2
  476. package/dist/utils/transactions/tx-private-key.js +6 -6
  477. package/dist/utils/transactions/tx-private-key.js.map +1 -1
  478. package/dist/utils/transactions/tx-wc.d.ts +29 -1
  479. package/dist/utils/transactions/tx-wc.js +58 -28
  480. package/dist/utils/transactions/tx-wc.js.map +1 -1
  481. package/dist/utils/wallet-connect.d.ts +4 -7664
  482. package/dist/utils/wallet-connect.js +17 -5
  483. package/dist/utils/wallet-connect.js.map +1 -1
  484. package/dist/version/index.js +1 -1
  485. package/package.json +16 -7
  486. package/dist/abi/TokenManager.d.ts +0 -577
  487. package/dist/abi/TokenManager.js +0 -756
  488. package/dist/abi/TokenManager.js.map +0 -1
  489. package/dist/abi/Voting.d.ts +0 -676
  490. package/dist/abi/Voting.js +0 -884
  491. package/dist/abi/Voting.js.map +0 -1
  492. package/dist/contracts/token-manager.d.ts +0 -3
  493. package/dist/contracts/token-manager.js +0 -13
  494. package/dist/contracts/token-manager.js.map +0 -1
@@ -0,0 +1,254 @@
1
+ import { formatEther, formatUnits } from 'viem';
2
+ import { health } from './main.js';
3
+ import { getStvStethPoolContract } from '../../../../contracts/defi-wrapper/index.js';
4
+ import { getStethContract } from '../../../../contracts/index.js';
5
+ import { stringToAddress, logInfo, logTable, callReadMethodSilent, callWriteMethodWithReceipt, confirmOperation, } from '../../../../utils/index.js';
6
+ import { getAccount } from '../../../../providers/wallet.js';
7
+ import { grantLossSocializerRole, setMaxLossSocializationBP } from './utils.js';
8
+ const healthWrite = health
9
+ .command('write')
10
+ .aliases(['w'])
11
+ .description('health write commands');
12
+ healthWrite
13
+ .command('force-rebalance')
14
+ .description('force rebalance an unhealthy position')
15
+ .argument('<address>', 'stv-steth-pool address', stringToAddress)
16
+ .argument('<account>', 'account address to rebalance', stringToAddress)
17
+ .option('--dry-run', 'preview without executing transaction')
18
+ .action(async (address, account, options) => {
19
+ const poolContract = await getStvStethPoolContract(address);
20
+ const stethContract = await getStethContract();
21
+ logInfo('Checking position health...\n');
22
+ // Check if position is unhealthy
23
+ const [isHealthy, stvBalance] = await Promise.all([
24
+ callReadMethodSilent(poolContract, 'isHealthyOf', [account]),
25
+ callReadMethodSilent(poolContract, 'balanceOf', [account]),
26
+ ]);
27
+ if (isHealthy) {
28
+ logInfo(`✅ Account ${account} position is healthy. No rebalance needed.`);
29
+ return;
30
+ }
31
+ if (stvBalance === 0n) {
32
+ logInfo(`⚠️ Account ${account} has no STV balance. Cannot rebalance.`);
33
+ return;
34
+ }
35
+ // Preview rebalance
36
+ logInfo('Fetching rebalance preview...\n');
37
+ const [stethShares, stvToBurn, isUndercollateralized] = await callReadMethodSilent(poolContract, 'previewForceRebalance', [
38
+ account,
39
+ ]);
40
+ const stethInEth = await callReadMethodSilent(stethContract, 'getPooledEthBySharesRoundUp', [stethShares]);
41
+ // Display preview
42
+ logInfo('═'.repeat(70));
43
+ logInfo('FORCE REBALANCE PREVIEW');
44
+ logInfo('═'.repeat(70) + '\n');
45
+ logTable({
46
+ data: [
47
+ ['Pool', address],
48
+ ['Account', account],
49
+ ['', ''],
50
+ ['STV to be Burned', `${formatUnits(stvToBurn, 27)} STV`],
51
+ ['stETH Shares to Unlock', `${formatEther(stethShares)} shares`],
52
+ ['stETH Value', `~${formatEther(stethInEth)} ETH`],
53
+ ['', ''],
54
+ [
55
+ 'Is Undercollateralized',
56
+ isUndercollateralized ? '⚠️ YES - Cannot proceed!' : '✅ NO',
57
+ ],
58
+ [
59
+ 'Transaction Status',
60
+ isUndercollateralized ? '❌ WILL REVERT' : '✅ Should succeed',
61
+ ],
62
+ ],
63
+ });
64
+ if (isUndercollateralized) {
65
+ logInfo('\n' + '⚠️ '.repeat(35));
66
+ logInfo('⚠️ ERROR: Account is undercollateralized! Regular force rebalance will revert.');
67
+ logInfo('⚠️ Use force-rebalance-and-socialize-loss instead (requires LOSS_SOCIALIZER_ROLE)');
68
+ logInfo('⚠️ '.repeat(35) + '\n');
69
+ return;
70
+ }
71
+ if (options.dryRun) {
72
+ logInfo('\n🔍 Dry run mode - no transaction will be executed.\n');
73
+ return;
74
+ }
75
+ // Warning message
76
+ logInfo('\n' + '⚠️ '.repeat(35));
77
+ logInfo('⚠️ WARNING: This action will permanently burn user STV tokens!');
78
+ logInfo('⚠️ Make sure you have the authority to perform this operation.');
79
+ logInfo('⚠️ '.repeat(35) + '\n');
80
+ const confirm = await confirmOperation(`Execute force rebalance for account ${account}?\nThis will burn ${formatUnits(stvToBurn, 27)} STV tokens.`);
81
+ if (!confirm) {
82
+ logInfo('Operation cancelled.');
83
+ return;
84
+ }
85
+ // Execute rebalance
86
+ logInfo('\nExecuting force rebalance...\n');
87
+ try {
88
+ const result = await callWriteMethodWithReceipt({
89
+ contract: poolContract,
90
+ methodName: 'forceRebalance',
91
+ payload: [account],
92
+ });
93
+ logInfo('✅ Force rebalance executed successfully!\n');
94
+ logTable({
95
+ data: [
96
+ ['Transaction Hash', result.receipt?.transactionHash || 'N/A'],
97
+ ['Block Number', result.receipt?.blockNumber?.toString() || 'N/A'],
98
+ ['Gas Used', result.receipt?.gasUsed?.toString() || 'N/A'],
99
+ ],
100
+ });
101
+ }
102
+ catch (error) {
103
+ logInfo(`❌ Force rebalance failed: ${error}\n`);
104
+ throw error;
105
+ }
106
+ });
107
+ healthWrite
108
+ .command('force-rebalance-and-socialize-loss')
109
+ .description('force rebalance an undercollateralized position with loss socialization (requires LOSS_SOCIALIZER_ROLE)')
110
+ .argument('<address>', 'stv-steth-pool address', stringToAddress)
111
+ .argument('<account>', 'account address to rebalance', stringToAddress)
112
+ .option('--dry-run', 'preview without executing transaction')
113
+ .action(async (address, account, options) => {
114
+ const poolContract = await getStvStethPoolContract(address);
115
+ const stethContract = await getStethContract();
116
+ const currentAccount = await getAccount();
117
+ await grantLossSocializerRole(address, currentAccount.address);
118
+ await setMaxLossSocializationBP(address);
119
+ logInfo('Checking position health and permissions...\n');
120
+ // Check LOSS_SOCIALIZER_ROLE
121
+ const LOSS_SOCIALIZER_ROLE = await callReadMethodSilent(poolContract, 'LOSS_SOCIALIZER_ROLE');
122
+ const hasRole = await callReadMethodSilent(poolContract, 'hasRole', [
123
+ LOSS_SOCIALIZER_ROLE,
124
+ currentAccount.address,
125
+ ]);
126
+ if (!hasRole) {
127
+ logInfo(`❌ Error: Your account ${currentAccount.address} does not have LOSS_SOCIALIZER_ROLE`);
128
+ logInfo(`Required role: ${LOSS_SOCIALIZER_ROLE}\n`);
129
+ return;
130
+ }
131
+ // Check if position is unhealthy
132
+ const [isHealthy, stvBalance] = await Promise.all([
133
+ callReadMethodSilent(poolContract, 'isHealthyOf', [account]),
134
+ callReadMethodSilent(poolContract, 'balanceOf', [account]),
135
+ ]);
136
+ if (isHealthy) {
137
+ logInfo(`✅ Account ${account} position is healthy. No rebalance needed.`);
138
+ return;
139
+ }
140
+ if (stvBalance === 0n) {
141
+ logInfo(`⚠️ Account ${account} has no STV balance. Cannot rebalance.`);
142
+ return;
143
+ }
144
+ // Preview rebalance
145
+ logInfo('Fetching rebalance preview...\n');
146
+ const [stethShares, stvToBurn, isUndercollateralized] = await callReadMethodSilent(poolContract, 'previewForceRebalance', [
147
+ account,
148
+ ]);
149
+ const [stethInEth, maxLossSocializationBP, totalSupply] = await Promise.all([
150
+ callReadMethodSilent(stethContract, 'getPooledEthBySharesRoundUp', [
151
+ stethShares,
152
+ ]),
153
+ callReadMethodSilent(poolContract, 'maxLossSocializationBP'),
154
+ callReadMethodSilent(poolContract, 'totalSupply'),
155
+ ]);
156
+ // Calculate estimated loss
157
+ const stvValueInEth = await callReadMethodSilent(poolContract, 'previewRedeem', [stvToBurn]);
158
+ const estimatedLoss = stethInEth > stvValueInEth ? stethInEth - stvValueInEth : 0n;
159
+ const lossPercentage = totalSupply > 0n ? Number((estimatedLoss * 10000n) / totalSupply) : 0;
160
+ // Display preview
161
+ logInfo('═'.repeat(70));
162
+ logInfo('FORCE REBALANCE WITH LOSS SOCIALIZATION PREVIEW');
163
+ logInfo('═'.repeat(70) + '\n');
164
+ if (!isUndercollateralized) {
165
+ logInfo('⚠️ NOTE: Account is NOT undercollateralized.');
166
+ logInfo('⚠️ Consider using regular force-rebalance instead to avoid loss socialization.\n');
167
+ }
168
+ logTable({
169
+ data: [
170
+ ['Pool', address],
171
+ ['Account', account],
172
+ ['Operator', currentAccount.address],
173
+ ['', ''],
174
+ ['STV to be Burned', `${formatUnits(stvToBurn, 27)} STV`],
175
+ ['STV Value (ETH)', `${formatEther(stvValueInEth)} ETH`],
176
+ ['stETH Shares to Unlock', `${formatEther(stethShares)} shares`],
177
+ ['stETH Value (ETH)', `${formatEther(stethInEth)} ETH`],
178
+ ['', ''],
179
+ [
180
+ 'Is Undercollateralized',
181
+ isUndercollateralized ? '⚠️ YES' : '✅ NO',
182
+ ],
183
+ ['Estimated Loss', `~${formatEther(estimatedLoss)} ETH`],
184
+ ['Loss % of Total Supply', `${(lossPercentage / 100).toFixed(4)}%`],
185
+ ['', ''],
186
+ [
187
+ 'Max Loss Socialization BP',
188
+ `${maxLossSocializationBP} (${(Number(maxLossSocializationBP) / 100).toFixed(2)}%)`,
189
+ ],
190
+ [
191
+ 'Loss Within Limits',
192
+ lossPercentage <= Number(maxLossSocializationBP)
193
+ ? '✅ YES'
194
+ : '❌ NO',
195
+ ],
196
+ ],
197
+ });
198
+ if (lossPercentage > Number(maxLossSocializationBP)) {
199
+ logInfo('\n❌ ERROR: Estimated loss exceeds maxLossSocializationBP!');
200
+ logInfo('Transaction will revert.\n');
201
+ return;
202
+ }
203
+ if (options.dryRun) {
204
+ logInfo('\n🔍 Dry run mode - no transaction will be executed.\n');
205
+ return;
206
+ }
207
+ // Critical warning message
208
+ logInfo('\n' + '🚨 '.repeat(35));
209
+ logInfo('🚨 CRITICAL WARNING:');
210
+ logInfo('🚨 This action will:');
211
+ logInfo('🚨 1. Permanently burn user STV tokens');
212
+ logInfo('🚨 2. Socialize losses across ALL pool participants');
213
+ logInfo('🚨 3. Reduce the share rate for ALL users');
214
+ logInfo('🚨 4. Cannot be undone');
215
+ logInfo('🚨 '.repeat(35) + '\n');
216
+ const confirm = await confirmOperation(`Execute force rebalance with loss socialization for account ${account}?\n` +
217
+ `This will burn ${formatEther(stvToBurn)} STV and socialize ~${formatEther(estimatedLoss)} ETH loss.\n` +
218
+ `Type 'yes' to confirm:`);
219
+ if (!confirm) {
220
+ logInfo('Operation cancelled.');
221
+ return;
222
+ }
223
+ // Double confirmation
224
+ const doubleConfirm = await confirmOperation('Are you ABSOLUTELY sure? This is your last chance to cancel. Type "CONFIRM" to proceed:');
225
+ if (!doubleConfirm) {
226
+ logInfo('Operation cancelled.');
227
+ return;
228
+ }
229
+ // Execute rebalance with loss socialization
230
+ logInfo('\nExecuting force rebalance with loss socialization...\n');
231
+ try {
232
+ const result = await callWriteMethodWithReceipt({
233
+ contract: poolContract,
234
+ methodName: 'forceRebalanceAndSocializeLoss',
235
+ payload: [account],
236
+ });
237
+ logInfo('✅ Force rebalance with loss socialization executed successfully!\n');
238
+ logTable({
239
+ data: [
240
+ ['Transaction Hash', result.receipt?.transactionHash || 'N/A'],
241
+ ['Block Number', result.receipt?.blockNumber?.toString() || 'N/A'],
242
+ ['Gas Used', result.receipt?.gasUsed?.toString() || 'N/A'],
243
+ ['', ''],
244
+ ['⚠️ Loss Socialized', `~${formatEther(estimatedLoss)} ETH`],
245
+ ['⚠️ All pool users affected', 'Share rate reduced'],
246
+ ],
247
+ });
248
+ }
249
+ catch (error) {
250
+ logInfo(`❌ Force rebalance with loss socialization failed: ${error}\n`);
251
+ throw error;
252
+ }
253
+ });
254
+ //# sourceMappingURL=write.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["../../../../../programs/defi-wrapper/use-cases/health/write.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './main.js';
2
+ export * from './health/index.js';
3
+ export * from './wrapper-operations/index.js';
@@ -0,0 +1,4 @@
1
+ export * from './main.js';
2
+ export * from './health/index.js';
3
+ export * from './wrapper-operations/index.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../programs/defi-wrapper/use-cases/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const useCases: import("commander").Command;
@@ -0,0 +1,6 @@
1
+ import { defiWrapper } from '../main.js';
2
+ export const useCases = defiWrapper
3
+ .command('use-cases')
4
+ .alias('uc')
5
+ .description('defi wrapper use cases commands');
6
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../programs/defi-wrapper/use-cases/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,CAAC,MAAM,QAAQ,GAAG,WAAW;KAChC,OAAO,CAAC,WAAW,CAAC;KACpB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,iCAAiC,CAAC,CAAC"}
@@ -0,0 +1,143 @@
1
+ import { Option } from 'commander';
2
+ import { logInfo, logError, getCommandsJson, stringToAddress, callWriteMethodWithReceipt, confirmOperation, stringToNumber, stringToBoolean, } from '../../../../utils/index.js';
3
+ import { getFactoryContract } from '../../../../contracts/defi-wrapper/index.js';
4
+ import { getCreatePoolEventData, getReserveRatioGapBP, getBoolean, promtBaseVaultConfiguration, logCreatePoolEventData, finalizePoolCreation, prepareCreationConfigrationText, } from '../../../../features/index.js';
5
+ import { wrapperOperationsWrite } from './write.js';
6
+ const defiWrapperOperationsCreatePool = wrapperOperationsWrite
7
+ .command('create-pool')
8
+ .description('create pool commands');
9
+ defiWrapperOperationsCreatePool.addOption(new Option('-cmd2json'));
10
+ defiWrapperOperationsCreatePool.on('option:-cmd2json', function () {
11
+ logInfo(getCommandsJson(defiWrapperOperationsCreatePool));
12
+ process.exit();
13
+ });
14
+ // adds common options for all wrapper creation commands
15
+ const applyCommonOptions = (command) => {
16
+ return command
17
+ .option('-no, --nodeOperator <nodeOperator>', 'node operator address')
18
+ .option('-nom, --nodeOperatorManager <nodeOperatorManager>', 'node operator manager address')
19
+ .option('-nof , --nodeOperatorFeeRate <nodeOperatorFeeRate>', 'Node operator fee rate in basis points, for e.g. 100 == 1%', stringToNumber)
20
+ .option('-ce, --confirmExpiry <confirmExpiry>', 'confirm expiry in seconds', stringToNumber)
21
+ .option('-md, --minDelaySeconds <minDelaySeconds>', 'minimum delay in seconds', stringToNumber)
22
+ .option('-mwd, --minWithdrawalDelayTime <minWithdrawalDelayTime>', 'minimum withdrawal delay time in seconds', stringToNumber)
23
+ .option('-n, --name <name>', 'name of the pool shares')
24
+ .option('-s, --symbol <symbol>', 'symbol of the pool shares')
25
+ .option('-p, --proposer <proposer>', 'proposer address', stringToAddress)
26
+ .option('-e, --executor <executor>', 'executor address', stringToAddress)
27
+ .option('-ec, --emergencyCommittee <emergencyCommittee>', 'emergency committee address', stringToAddress);
28
+ };
29
+ applyCommonOptions(defiWrapperOperationsCreatePool
30
+ .command('create-pool-ggv')
31
+ .description('initiates deployment of a GGV strategy pool')
32
+ .argument('<address>', 'factory address', stringToAddress))
33
+ .option('-rrg, --reserveRatioGapBP <reserveRatioGapBP>', 'reserve ratio gap in basis points', stringToNumber)
34
+ .action(async (address, { reserveRatioGapBP, ...baseOptions }) => {
35
+ const contract = await getFactoryContract(address);
36
+ const { vaultConfig, timelockConfig, commonPoolConfig, CONNECT_DEPOSIT } = await promtBaseVaultConfiguration(baseOptions);
37
+ const reserveRatioGapBPValue = await getReserveRatioGapBP(reserveRatioGapBP);
38
+ const confirmationMessage = `Are you sure you want to create a new pool GGV strategy with a configured wrapper?\n
39
+ ${prepareCreationConfigrationText(vaultConfig, timelockConfig, commonPoolConfig)}
40
+ reserveRatioGapBP: ${reserveRatioGapBPValue}\n`;
41
+ const confirm = await confirmOperation(confirmationMessage);
42
+ if (!confirm)
43
+ return;
44
+ const result = await callWriteMethodWithReceipt({
45
+ contract,
46
+ methodName: 'createPoolGGVStart',
47
+ payload: [
48
+ vaultConfig,
49
+ timelockConfig,
50
+ commonPoolConfig,
51
+ BigInt(reserveRatioGapBPValue),
52
+ ],
53
+ value: CONNECT_DEPOSIT,
54
+ });
55
+ if (!result.receipt || !result.tx) {
56
+ logInfo('Transaction has been sent');
57
+ return;
58
+ }
59
+ const eventData = await getCreatePoolEventData(result.receipt, result.tx);
60
+ await logCreatePoolEventData(eventData);
61
+ await finalizePoolCreation(contract, vaultConfig, timelockConfig, commonPoolConfig, eventData);
62
+ });
63
+ applyCommonOptions(defiWrapperOperationsCreatePool
64
+ .command('create-pool-stv')
65
+ .description('initiates deployment of a STV staking pool')
66
+ .argument('<address>', 'factory address', stringToAddress))
67
+ .option('-al, --allowList <allowListEnabled>', 'is allowlist enabled (true/false)', stringToBoolean)
68
+ .action(async (address, { allowListEnabled, ...baseOptions }) => {
69
+ const contract = await getFactoryContract(address);
70
+ const { vaultConfig, timelockConfig, commonPoolConfig, CONNECT_DEPOSIT } = await promtBaseVaultConfiguration(baseOptions);
71
+ const allowListEnabledValue = await getBoolean(allowListEnabled, 'AllowList');
72
+ const confirmationMessage = `Are you sure you want to create a new STV pool with a configured wrapper?\n
73
+ ${prepareCreationConfigrationText(vaultConfig, timelockConfig, commonPoolConfig)}
74
+ allowListEnabled: ${allowListEnabledValue}\n`;
75
+ const confirm = await confirmOperation(confirmationMessage);
76
+ if (!confirm)
77
+ return;
78
+ const result = await callWriteMethodWithReceipt({
79
+ contract,
80
+ methodName: 'createPoolStvStart',
81
+ payload: [
82
+ vaultConfig,
83
+ timelockConfig,
84
+ commonPoolConfig,
85
+ allowListEnabledValue,
86
+ ],
87
+ value: CONNECT_DEPOSIT,
88
+ });
89
+ if (!result.receipt || !result.tx) {
90
+ logInfo('Transaction has been sent');
91
+ return;
92
+ }
93
+ const eventData = await getCreatePoolEventData(result.receipt, result.tx);
94
+ await logCreatePoolEventData(eventData);
95
+ if (!eventData.auxiliaryConfig ||
96
+ !eventData.strategyFactory ||
97
+ !eventData.strategyDeployBytes ||
98
+ !eventData.intermediate) {
99
+ logError('Missing required data for pool creation finalize');
100
+ return;
101
+ }
102
+ logInfo('Pool Creation Finalize');
103
+ await finalizePoolCreation(contract, vaultConfig, timelockConfig, commonPoolConfig, eventData);
104
+ });
105
+ applyCommonOptions(defiWrapperOperationsCreatePool
106
+ .command('create-pool-stv-steth')
107
+ .description('initiates deployment of a STV-STETH pool with minting enabled')
108
+ .argument('<address>', 'factory address', stringToAddress))
109
+ .option('-rrg, --reserveRatioGapBP <reserveRatioGapBP>', 'reserve ratio gap in basis points', stringToNumber)
110
+ .option('-al, --allowList <allowListEnabled>', 'is allowlist enabled (true/false)', stringToBoolean)
111
+ .action(async (address, { reserveRatioGapBP, allowListEnabled, ...baseOptions }) => {
112
+ const contract = await getFactoryContract(address);
113
+ const { vaultConfig, timelockConfig, commonPoolConfig, CONNECT_DEPOSIT } = await promtBaseVaultConfiguration(baseOptions);
114
+ const allowListEnabledValue = await getBoolean(allowListEnabled, 'AllowList');
115
+ const reserveRatioGapBPValue = await getReserveRatioGapBP(reserveRatioGapBP);
116
+ const confirmationMessage = `Are you sure you want to create a new STV-STETH pool with minting enabled?\n
117
+ ${prepareCreationConfigrationText(vaultConfig, timelockConfig, commonPoolConfig)}
118
+ allowListEnabled: ${allowListEnabledValue}
119
+ reserveRatioGapBP: ${reserveRatioGapBPValue}\n`;
120
+ const confirm = await confirmOperation(confirmationMessage);
121
+ if (!confirm)
122
+ return;
123
+ const result = await callWriteMethodWithReceipt({
124
+ contract,
125
+ methodName: 'createPoolStvStETHStart',
126
+ payload: [
127
+ vaultConfig,
128
+ timelockConfig,
129
+ commonPoolConfig,
130
+ allowListEnabledValue,
131
+ BigInt(reserveRatioGapBPValue),
132
+ ],
133
+ value: CONNECT_DEPOSIT,
134
+ });
135
+ if (!result.receipt || !result.tx) {
136
+ logInfo('Transaction has been sent');
137
+ return;
138
+ }
139
+ const eventData = await getCreatePoolEventData(result.receipt, result.tx);
140
+ await logCreatePoolEventData(eventData);
141
+ await finalizePoolCreation(contract, vaultConfig, timelockConfig, commonPoolConfig, eventData);
142
+ });
143
+ //# sourceMappingURL=create-pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-pool.js","sourceRoot":"","sources":["../../../../../programs/defi-wrapper/use-cases/wrapper-operations/create-pool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './main.js';
2
+ export * from './read.js';
3
+ export * from './create-pool.js';
@@ -0,0 +1,5 @@
1
+ export * from './main.js';
2
+ export * from './read.js';
3
+ export * from './create-pool.js';
4
+ // export * from './write.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../programs/defi-wrapper/use-cases/wrapper-operations/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,8BAA8B"}
@@ -0,0 +1 @@
1
+ export declare const wrapperOperations: import("commander").Command;
@@ -0,0 +1,6 @@
1
+ import { useCases } from '../main.js';
2
+ export const wrapperOperations = useCases
3
+ .command('wrapper-operations')
4
+ .alias('wo')
5
+ .description('defi wrapper operations utilities');
6
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../../programs/defi-wrapper/use-cases/wrapper-operations/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ;KACtC,OAAO,CAAC,oBAAoB,CAAC;KAC7B,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,mCAAmC,CAAC,CAAC"}
@@ -0,0 +1,130 @@
1
+ import { formatEther, formatUnits } from 'viem';
2
+ import { Option } from 'commander';
3
+ import { logInfo, getCommandsJson, stringToAddress, logTable, logResult, formatBP, callReadMethodSilent, } from '../../../../utils/index.js';
4
+ import { getPoolInfo } from '../../../../features/defi-wrapper/index.js';
5
+ import { checkIsReportFresh } from '../../../../features/index.js';
6
+ import { getStvPoolContract } from '../../../../contracts/defi-wrapper/index.js';
7
+ import { wrapperOperations } from './main.js';
8
+ const wrapperOperationsRead = wrapperOperations
9
+ .command('read')
10
+ .aliases(['r'])
11
+ .description('wrapper operations read commands');
12
+ wrapperOperationsRead.addOption(new Option('-cmd2json'));
13
+ wrapperOperationsRead.on('option:-cmd2json', function () {
14
+ logInfo(getCommandsJson(wrapperOperationsRead));
15
+ process.exit();
16
+ });
17
+ wrapperOperationsRead
18
+ .command('info')
19
+ .description('get wrapper info')
20
+ .argument('<address>', 'wrapper address', stringToAddress)
21
+ .action(async (address) => {
22
+ const poolInfo = await getPoolInfo(address);
23
+ logResult({});
24
+ logInfo('Wrapper Info');
25
+ logTable({
26
+ data: [
27
+ ['Vault', poolInfo.vault],
28
+ ['StETH', poolInfo.stETH],
29
+ poolInfo.WSTETH && ['WSTETH', poolInfo.WSTETH],
30
+ ['Dashboard', poolInfo.Dashboard],
31
+ ['VaultHub', poolInfo.VaultHub],
32
+ ['WithdrawalQueue', poolInfo.WithdrawalQueue],
33
+ ['Distributor', poolInfo.Distributor],
34
+ ['PoolType', poolInfo.poolTypeName],
35
+ typeof poolInfo.RESERVE_RATIO_GAP_BP === 'bigint'
36
+ ? ['RESERVE_RATIO_GAP_BP', poolInfo.RESERVE_RATIO_GAP_BP]
37
+ : undefined,
38
+ typeof poolInfo.reserveRatioBP === 'bigint'
39
+ ? [
40
+ 'Reserve Ratio, BP',
41
+ `${poolInfo.reserveRatioBP} (${formatBP(poolInfo.reserveRatioBP)})`,
42
+ ]
43
+ : undefined,
44
+ typeof poolInfo.forcedRebalanceThresholdBP === 'bigint'
45
+ ? [
46
+ 'Forced Rebalance Threshold, BP',
47
+ `${poolInfo.forcedRebalanceThresholdBP} (${formatBP(poolInfo.forcedRebalanceThresholdBP)})`,
48
+ ]
49
+ : undefined,
50
+ typeof poolInfo.maxLossSocializationBP === 'bigint'
51
+ ? [
52
+ 'Max Loss Socialization, BP',
53
+ `${poolInfo.maxLossSocializationBP} (${formatBP(poolInfo.maxLossSocializationBP)})`,
54
+ ]
55
+ : undefined,
56
+ ['Total Nominal Assets', formatEther(poolInfo.totalNominalAssets)],
57
+ ['Total Assets', formatEther(poolInfo.totalAssets)],
58
+ ['Total Supply', formatUnits(poolInfo.totalSupply, poolInfo.decimals)],
59
+ ['Total Liability Shares', formatEther(poolInfo.totalLiabilityShares)],
60
+ typeof poolInfo.totalMintedStethShares === 'bigint'
61
+ ? [
62
+ 'Total Minted Steth Shares',
63
+ formatEther(poolInfo.totalMintedStethShares),
64
+ ]
65
+ : undefined,
66
+ typeof poolInfo.totalExceedingMintedStethShares === 'bigint'
67
+ ? [
68
+ 'Total Exceeding Minted Steth Shares',
69
+ formatEther(poolInfo.totalExceedingMintedStethShares),
70
+ ]
71
+ : undefined,
72
+ typeof poolInfo.totalExceedingMintedSteth === 'bigint'
73
+ ? [
74
+ 'Total Exceeding Minted Steth',
75
+ formatEther(poolInfo.totalExceedingMintedSteth),
76
+ ]
77
+ : undefined,
78
+ [
79
+ 'Total Unassigned Liability Shares',
80
+ formatEther(poolInfo.totalUnassignedLiabilityShares),
81
+ ],
82
+ [
83
+ 'Total Unassigned Liability Steth',
84
+ formatEther(poolInfo.totalUnassignedLiabilitySteth),
85
+ ],
86
+ ['Decimals', poolInfo.decimals],
87
+ ['Is Deposits Paused', poolInfo.isDepositsPaused],
88
+ typeof poolInfo.isMintingPaused === 'boolean'
89
+ ? ['Is Minting Paused', poolInfo.isMintingPaused]
90
+ : undefined,
91
+ ['Is Report Fresh', poolInfo.isReportFresh],
92
+ ['ALLOW_LIST_ENABLED', poolInfo.ALLOW_LIST_ENABLED],
93
+ ['Allow List Size', poolInfo.allowListSize],
94
+ ['DEPOSITS_FEATURE (ID)', poolInfo.DEPOSITS_FEATURE],
95
+ poolInfo.MINTING_FEATURE
96
+ ? ['MINTING_FEATURE (ID)', poolInfo.MINTING_FEATURE]
97
+ : undefined,
98
+ ].filter((item) => item !== undefined),
99
+ });
100
+ });
101
+ wrapperOperationsRead
102
+ .command('report-fresh')
103
+ .description('check if report is fresh')
104
+ .argument('<address>', 'wrapper address', stringToAddress)
105
+ .action(async (address) => {
106
+ const contract = await getStvPoolContract(address);
107
+ const vault = await callReadMethodSilent(contract, 'VAULT');
108
+ const isReportFresh = await checkIsReportFresh(vault);
109
+ logResult({});
110
+ logInfo('Report Fresh');
111
+ logTable({
112
+ data: [['Is Report Fresh', isReportFresh]],
113
+ });
114
+ });
115
+ // TODO: Add wrapper health command
116
+ // wrapperOperationsRead
117
+ // .command('health')
118
+ // .description('get wrapper health')
119
+ // .argument('<address>', 'wrapper address', stringToAddress)
120
+ // .action(async (address: Address) => {
121
+ // const contract = await getStvPoolContract(address);
122
+ // const [vault, dashboard] = await Promise.all([
123
+ // callReadMethodSilent(contract, 'VAULT'),
124
+ // callReadMethodSilent(contract, 'DASHBOARD'),
125
+ // ]);
126
+ // const dashboardContract = await getDashboardContract(dashboard);
127
+ // await checkQuarantine(vault);
128
+ // await getVaultHealthByDashboard(dashboardContract);
129
+ // });
130
+ //# sourceMappingURL=read.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../../../programs/defi-wrapper/use-cases/wrapper-operations/read.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const wrapperOperationsWrite: import("commander").Command;