@lidofinance/lsv-cli 1.3.0 → 1.4.0-alpha.1

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 (493) hide show
  1. package/dist/abi/AccessControlConfirmable.js.map +1 -1
  2. package/dist/abi/Dashboard.d.ts +24 -0
  3. package/dist/abi/Dashboard.js.map +1 -1
  4. package/dist/abi/LazyOracle.js.map +1 -1
  5. package/dist/abi/LidoLocator.js.map +1 -1
  6. package/dist/abi/OperatorGrid.js.map +1 -1
  7. package/dist/abi/PredepositGuarantee.d.ts +48 -0
  8. package/dist/abi/PredepositGuarantee.js +32 -0
  9. package/dist/abi/PredepositGuarantee.js.map +1 -1
  10. package/dist/abi/StEth.d.ts +1175 -59
  11. package/dist/abi/StEth.js +885 -320
  12. package/dist/abi/StEth.js.map +1 -1
  13. package/dist/abi/StakingVault.js.map +1 -1
  14. package/dist/abi/ValidatorConsolidationRequests.js.map +1 -1
  15. package/dist/abi/VaultFactory.js.map +1 -1
  16. package/dist/abi/VaultHub.js.map +1 -1
  17. package/dist/abi/VaultViewer.js.map +1 -1
  18. package/dist/abi/WstEth.js.map +1 -1
  19. package/dist/abi/defi-wrapper/Distributor.js.map +1 -1
  20. package/dist/abi/defi-wrapper/Factory.d.ts +532 -657
  21. package/dist/abi/defi-wrapper/Factory.js +1083 -647
  22. package/dist/abi/defi-wrapper/Factory.js.map +1 -1
  23. package/dist/abi/defi-wrapper/OssifiableProxy.d.ts +71 -0
  24. package/dist/abi/defi-wrapper/OssifiableProxy.js +93 -0
  25. package/dist/abi/defi-wrapper/OssifiableProxy.js.map +1 -0
  26. package/dist/abi/defi-wrapper/StrategyFactory.d.ts +59 -0
  27. package/dist/abi/defi-wrapper/StrategyFactory.js +37 -0
  28. package/dist/abi/defi-wrapper/StrategyFactory.js.map +1 -0
  29. package/dist/abi/defi-wrapper/StvPool.js.map +1 -1
  30. package/dist/abi/defi-wrapper/StvStETHPool.d.ts +38 -32
  31. package/dist/abi/defi-wrapper/StvStETHPool.js +50 -42
  32. package/dist/abi/defi-wrapper/StvStETHPool.js.map +1 -1
  33. package/dist/abi/defi-wrapper/TimeLock.d.ts +770 -0
  34. package/dist/abi/defi-wrapper/TimeLock.js +999 -0
  35. package/dist/abi/defi-wrapper/TimeLock.js.map +1 -0
  36. package/dist/abi/defi-wrapper/WithdrawalQueue.js.map +1 -1
  37. package/dist/abi/defi-wrapper/index.d.ts +3 -0
  38. package/dist/abi/defi-wrapper/index.js +3 -0
  39. package/dist/abi/defi-wrapper/index.js.map +1 -1
  40. package/dist/command/index.js +12 -1
  41. package/dist/command/index.js.map +1 -1
  42. package/dist/configs/constants.d.ts +4 -4
  43. package/dist/contracts/dashboard-impl.d.ts +4 -3
  44. package/dist/contracts/dashboard-impl.js +5 -8
  45. package/dist/contracts/dashboard-impl.js.map +1 -1
  46. package/dist/contracts/dashboard.d.ts +4 -3
  47. package/dist/contracts/dashboard.js +1 -1
  48. package/dist/contracts/dashboard.js.map +1 -1
  49. package/dist/contracts/defi-wrapper/distributor.d.ts +5 -4
  50. package/dist/contracts/defi-wrapper/distributor.js +2 -2
  51. package/dist/contracts/defi-wrapper/distributor.js.map +1 -1
  52. package/dist/contracts/defi-wrapper/factory.d.ts +5 -4
  53. package/dist/contracts/defi-wrapper/factory.js +2 -2
  54. package/dist/contracts/defi-wrapper/factory.js.map +1 -1
  55. package/dist/contracts/defi-wrapper/index.d.ts +3 -0
  56. package/dist/contracts/defi-wrapper/index.js +3 -0
  57. package/dist/contracts/defi-wrapper/index.js.map +1 -1
  58. package/dist/contracts/defi-wrapper/ossifiable-proxy.d.ts +5 -0
  59. package/dist/contracts/defi-wrapper/ossifiable-proxy.js +12 -0
  60. package/dist/contracts/defi-wrapper/ossifiable-proxy.js.map +1 -0
  61. package/dist/contracts/defi-wrapper/strategy-factory.d.ts +5 -0
  62. package/dist/contracts/defi-wrapper/strategy-factory.js +12 -0
  63. package/dist/contracts/defi-wrapper/strategy-factory.js.map +1 -0
  64. package/dist/contracts/defi-wrapper/stv-pool.d.ts +5 -4
  65. package/dist/contracts/defi-wrapper/stv-pool.js +2 -2
  66. package/dist/contracts/defi-wrapper/stv-pool.js.map +1 -1
  67. package/dist/contracts/defi-wrapper/stv-steth-pool.d.ts +5 -4
  68. package/dist/contracts/defi-wrapper/stv-steth-pool.js +2 -2
  69. package/dist/contracts/defi-wrapper/stv-steth-pool.js.map +1 -1
  70. package/dist/contracts/defi-wrapper/timelock.d.ts +5 -0
  71. package/dist/contracts/defi-wrapper/timelock.js +12 -0
  72. package/dist/contracts/defi-wrapper/timelock.js.map +1 -0
  73. package/dist/contracts/defi-wrapper/withdrawal-queue.d.ts +5 -4
  74. package/dist/contracts/defi-wrapper/withdrawal-queue.js +2 -2
  75. package/dist/contracts/defi-wrapper/withdrawal-queue.js.map +1 -1
  76. package/dist/contracts/lazy-oracle.d.ts +5 -3
  77. package/dist/contracts/lazy-oracle.js +5 -9
  78. package/dist/contracts/lazy-oracle.js.map +1 -1
  79. package/dist/contracts/locator.d.ts +4 -2
  80. package/dist/contracts/locator.js +5 -8
  81. package/dist/contracts/locator.js.map +1 -1
  82. package/dist/contracts/operator-grid.d.ts +5 -4
  83. package/dist/contracts/operator-grid.js +5 -8
  84. package/dist/contracts/operator-grid.js.map +1 -1
  85. package/dist/contracts/pdg.d.ts +5 -4
  86. package/dist/contracts/pdg.js +5 -8
  87. package/dist/contracts/pdg.js.map +1 -1
  88. package/dist/contracts/steth.d.ts +5 -27706
  89. package/dist/contracts/steth.js +6 -10
  90. package/dist/contracts/steth.js.map +1 -1
  91. package/dist/contracts/validator-consolidation-requests.d.ts +3 -3
  92. package/dist/contracts/validator-consolidation-requests.js.map +1 -1
  93. package/dist/contracts/vault-factory.d.ts +5 -3
  94. package/dist/contracts/vault-factory.js +6 -8
  95. package/dist/contracts/vault-factory.js.map +1 -1
  96. package/dist/contracts/vault-hub.d.ts +5 -3
  97. package/dist/contracts/vault-hub.js +5 -9
  98. package/dist/contracts/vault-hub.js.map +1 -1
  99. package/dist/contracts/vault-viewer.d.ts +4 -2
  100. package/dist/contracts/vault-viewer.js +7 -10
  101. package/dist/contracts/vault-viewer.js.map +1 -1
  102. package/dist/contracts/vault.d.ts +5 -4
  103. package/dist/contracts/vault.js +2 -2
  104. package/dist/contracts/vault.js.map +1 -1
  105. package/dist/contracts/wsteth.d.ts +5 -3
  106. package/dist/contracts/wsteth.js +5 -9
  107. package/dist/contracts/wsteth.js.map +1 -1
  108. package/dist/features/consolidation.d.ts +1 -1
  109. package/dist/features/consolidation.js +19 -3
  110. package/dist/features/consolidation.js.map +1 -1
  111. package/dist/features/defi-wrapper/create-vault.js +19 -16
  112. package/dist/features/defi-wrapper/create-vault.js.map +1 -1
  113. package/dist/features/defi-wrapper/defi-wrapper-factory.d.ts +22 -29
  114. package/dist/features/defi-wrapper/defi-wrapper-factory.js +124 -17
  115. package/dist/features/defi-wrapper/defi-wrapper-factory.js.map +1 -1
  116. package/dist/features/defi-wrapper/distributor.d.ts +24 -0
  117. package/dist/features/defi-wrapper/distributor.js +300 -0
  118. package/dist/features/defi-wrapper/distributor.js.map +1 -0
  119. package/dist/features/defi-wrapper/index.d.ts +1 -0
  120. package/dist/features/defi-wrapper/index.js +1 -0
  121. package/dist/features/defi-wrapper/index.js.map +1 -1
  122. package/dist/features/defi-wrapper/pool-info.d.ts +17 -2
  123. package/dist/features/defi-wrapper/pool-info.js +63 -13
  124. package/dist/features/defi-wrapper/pool-info.js.map +1 -1
  125. package/dist/features/defi-wrapper/timelock.d.ts +19 -0
  126. package/dist/features/defi-wrapper/timelock.js +198 -0
  127. package/dist/features/defi-wrapper/timelock.js.map +1 -0
  128. package/dist/features/deposits/check-bls-deposits.js +15 -3
  129. package/dist/features/deposits/check-bls-deposits.js.map +1 -1
  130. package/dist/features/deposits/make-pdg-proof.js +19 -7
  131. package/dist/features/deposits/make-pdg-proof.js.map +1 -1
  132. package/dist/features/deposits/no-pdg.js +50 -14
  133. package/dist/features/deposits/no-pdg.js.map +1 -1
  134. package/dist/features/deposits/pdg.js +5 -1
  135. package/dist/features/deposits/pdg.js.map +1 -1
  136. package/dist/features/deposits/validators.js +1 -1
  137. package/dist/features/deposits/validators.js.map +1 -1
  138. package/dist/features/dev-tools/impersonate.js +5 -1
  139. package/dist/features/dev-tools/impersonate.js.map +1 -1
  140. package/dist/features/metrics.d.ts +3 -0
  141. package/dist/features/metrics.js +49 -6
  142. package/dist/features/metrics.js.map +1 -1
  143. package/dist/features/mint-burn/allowance.js +15 -6
  144. package/dist/features/mint-burn/allowance.js.map +1 -1
  145. package/dist/features/mint-burn/burn-steth.js +5 -1
  146. package/dist/features/mint-burn/burn-steth.js.map +1 -1
  147. package/dist/features/mint-burn/index.d.ts +1 -0
  148. package/dist/features/mint-burn/index.js +1 -0
  149. package/dist/features/mint-burn/index.js.map +1 -1
  150. package/dist/features/mint-burn/mint-limit.d.ts +9 -0
  151. package/dist/features/mint-burn/mint-limit.js +31 -0
  152. package/dist/features/mint-burn/mint-limit.js.map +1 -0
  153. package/dist/features/mint-burn/mint-steth.js +5 -1
  154. package/dist/features/mint-burn/mint-steth.js.map +1 -1
  155. package/dist/features/pdg.js +5 -1
  156. package/dist/features/pdg.js.map +1 -1
  157. package/dist/features/utils/connection.js +5 -1
  158. package/dist/features/utils/connection.js.map +1 -1
  159. package/dist/features/utils/index.d.ts +1 -0
  160. package/dist/features/utils/index.js +1 -0
  161. package/dist/features/utils/index.js.map +1 -1
  162. package/dist/features/utils/liability-shares.js +5 -1
  163. package/dist/features/utils/liability-shares.js.map +1 -1
  164. package/dist/features/utils/minting-capacity.js +4 -3
  165. package/dist/features/utils/minting-capacity.js.map +1 -1
  166. package/dist/features/utils/quarantine.js +5 -1
  167. package/dist/features/utils/quarantine.js.map +1 -1
  168. package/dist/features/utils/report-fresh.js +15 -3
  169. package/dist/features/utils/report-fresh.js.map +1 -1
  170. package/dist/features/utils/try-fetch.d.ts +5 -0
  171. package/dist/features/utils/try-fetch.js +26 -0
  172. package/dist/features/utils/try-fetch.js.map +1 -0
  173. package/dist/features/vault-factory.js +16 -4
  174. package/dist/features/vault-factory.js.map +1 -1
  175. package/dist/features/vault-operations/connect-vault.js +10 -2
  176. package/dist/features/vault-operations/connect-vault.js.map +1 -1
  177. package/dist/features/vault-operations/dashboard-by-vault.js +10 -2
  178. package/dist/features/vault-operations/dashboard-by-vault.js.map +1 -1
  179. package/dist/features/vault-operations/index.d.ts +1 -0
  180. package/dist/features/vault-operations/index.js +1 -0
  181. package/dist/features/vault-operations/index.js.map +1 -1
  182. package/dist/features/vault-operations/roles.js +10 -2
  183. package/dist/features/vault-operations/roles.js.map +1 -1
  184. package/dist/features/vault-operations/share-limit.d.ts +8 -0
  185. package/dist/features/vault-operations/share-limit.js +20 -0
  186. package/dist/features/vault-operations/share-limit.js.map +1 -0
  187. package/dist/features/vault-operations/vault-health.js +5 -1
  188. package/dist/features/vault-operations/vault-health.js.map +1 -1
  189. package/dist/features/vault-operations/vault-info.js +10 -2
  190. package/dist/features/vault-operations/vault-info.js.map +1 -1
  191. package/dist/features/vault-operations/vault-overview.js +25 -5
  192. package/dist/features/vault-operations/vault-overview.js.map +1 -1
  193. package/dist/features/vault-operations/vault-roles.js +10 -2
  194. package/dist/features/vault-operations/vault-roles.js.map +1 -1
  195. package/dist/features/vault-operations/vaults-by-role.d.ts +24 -0
  196. package/dist/features/vault-operations/vaults-by-role.js +78 -27
  197. package/dist/features/vault-operations/vaults-by-role.js.map +1 -1
  198. package/dist/features/with-report.d.ts +1 -1
  199. package/dist/index.js +45 -16
  200. package/dist/index.js.map +1 -1
  201. package/dist/programs/account/main.d.ts +1 -1
  202. package/dist/programs/account/read.js +10 -5
  203. package/dist/programs/account/read.js.map +1 -1
  204. package/dist/programs/account/write.js +29 -2
  205. package/dist/programs/account/write.js.map +1 -1
  206. package/dist/programs/contracts/dashboard/main.d.ts +1 -1
  207. package/dist/programs/contracts/dashboard/read.js +15 -3
  208. package/dist/programs/contracts/dashboard/read.js.map +1 -1
  209. package/dist/programs/contracts/dashboard/write.js +233 -52
  210. package/dist/programs/contracts/dashboard/write.js.map +1 -1
  211. package/dist/programs/contracts/hub/main.d.ts +1 -1
  212. package/dist/programs/contracts/hub/read.js +15 -5
  213. package/dist/programs/contracts/hub/read.js.map +1 -1
  214. package/dist/programs/contracts/hub/write.js +12 -3
  215. package/dist/programs/contracts/hub/write.js.map +1 -1
  216. package/dist/programs/contracts/lazy-oracle/main.d.ts +1 -1
  217. package/dist/programs/contracts/main.d.ts +1 -1
  218. package/dist/programs/contracts/operator-grid/main.d.ts +1 -1
  219. package/dist/programs/contracts/operator-grid/read.js +5 -1
  220. package/dist/programs/contracts/operator-grid/read.js.map +1 -1
  221. package/dist/programs/contracts/operator-grid/write.js +18 -10
  222. package/dist/programs/contracts/operator-grid/write.js.map +1 -1
  223. package/dist/programs/contracts/pdg/main.d.ts +1 -1
  224. package/dist/programs/contracts/pdg/read.js +5 -1
  225. package/dist/programs/contracts/pdg/read.js.map +1 -1
  226. package/dist/programs/contracts/pdg/write.js +34 -4
  227. package/dist/programs/contracts/pdg/write.js.map +1 -1
  228. package/dist/programs/contracts/vault/main.d.ts +1 -1
  229. package/dist/programs/contracts/vault/write.js +5 -1
  230. package/dist/programs/contracts/vault/write.js.map +1 -1
  231. package/dist/programs/contracts/vault-factory/main.d.ts +1 -1
  232. package/dist/programs/contracts/vault-viewer/main.d.ts +1 -1
  233. package/dist/programs/defi-wrapper/contracts/distributor/config.d.ts +1 -1
  234. package/dist/programs/defi-wrapper/contracts/distributor/main.d.ts +1 -1
  235. package/dist/programs/defi-wrapper/contracts/distributor/read.js +19 -7
  236. package/dist/programs/defi-wrapper/contracts/distributor/read.js.map +1 -1
  237. package/dist/programs/defi-wrapper/contracts/distributor/write.js +1 -1
  238. package/dist/programs/defi-wrapper/contracts/factory/config.d.ts +1 -1
  239. package/dist/programs/defi-wrapper/contracts/factory/main.d.ts +1 -1
  240. package/dist/programs/defi-wrapper/contracts/factory/read.js +75 -15
  241. package/dist/programs/defi-wrapper/contracts/factory/read.js.map +1 -1
  242. package/dist/programs/defi-wrapper/contracts/factory/write.js +261 -67
  243. package/dist/programs/defi-wrapper/contracts/factory/write.js.map +1 -1
  244. package/dist/programs/defi-wrapper/contracts/main.d.ts +1 -1
  245. package/dist/programs/defi-wrapper/contracts/stv-pool/config.d.ts +1 -1
  246. package/dist/programs/defi-wrapper/contracts/stv-pool/main.d.ts +1 -1
  247. package/dist/programs/defi-wrapper/contracts/stv-pool/read.js +64 -20
  248. package/dist/programs/defi-wrapper/contracts/stv-pool/read.js.map +1 -1
  249. package/dist/programs/defi-wrapper/contracts/stv-pool/write.js +1 -1
  250. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/config.d.ts +1 -1
  251. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/main.d.ts +1 -1
  252. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/read.js +64 -20
  253. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/read.js.map +1 -1
  254. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/write.js +1 -1
  255. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/config.d.ts +1 -1
  256. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/main.d.ts +1 -1
  257. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/read.js +66 -18
  258. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/read.js.map +1 -1
  259. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/write.js +34 -7
  260. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/write.js.map +1 -1
  261. package/dist/programs/defi-wrapper/main.d.ts +1 -1
  262. package/dist/programs/defi-wrapper/use-cases/distributor/index.d.ts +3 -0
  263. package/dist/programs/defi-wrapper/use-cases/distributor/index.js +4 -0
  264. package/dist/programs/defi-wrapper/use-cases/distributor/index.js.map +1 -0
  265. package/dist/programs/defi-wrapper/use-cases/distributor/main.d.ts +1 -0
  266. package/dist/programs/defi-wrapper/use-cases/distributor/main.js +6 -0
  267. package/dist/programs/defi-wrapper/use-cases/distributor/main.js.map +1 -0
  268. package/dist/programs/defi-wrapper/use-cases/distributor/read.js +86 -0
  269. package/dist/programs/defi-wrapper/use-cases/distributor/read.js.map +1 -0
  270. package/dist/programs/defi-wrapper/use-cases/distributor/write.d.ts +1 -0
  271. package/dist/programs/defi-wrapper/use-cases/distributor/write.js +191 -0
  272. package/dist/programs/defi-wrapper/use-cases/distributor/write.js.map +1 -0
  273. package/dist/programs/defi-wrapper/use-cases/health/main.d.ts +1 -1
  274. package/dist/programs/defi-wrapper/use-cases/health/read.js +73 -23
  275. package/dist/programs/defi-wrapper/use-cases/health/read.js.map +1 -1
  276. package/dist/programs/defi-wrapper/use-cases/health/utils.js +11 -3
  277. package/dist/programs/defi-wrapper/use-cases/health/utils.js.map +1 -1
  278. package/dist/programs/defi-wrapper/use-cases/health/write.js +68 -25
  279. package/dist/programs/defi-wrapper/use-cases/health/write.js.map +1 -1
  280. package/dist/programs/defi-wrapper/use-cases/index.d.ts +2 -0
  281. package/dist/programs/defi-wrapper/use-cases/index.js +2 -0
  282. package/dist/programs/defi-wrapper/use-cases/index.js.map +1 -1
  283. package/dist/programs/defi-wrapper/use-cases/main.d.ts +1 -1
  284. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/index.d.ts +3 -0
  285. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/index.js +4 -0
  286. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/index.js.map +1 -0
  287. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/main.d.ts +1 -0
  288. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/main.js +6 -0
  289. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/main.js.map +1 -0
  290. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/read.d.ts +1 -0
  291. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/read.js +362 -0
  292. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/read.js.map +1 -0
  293. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/write.d.ts +1 -0
  294. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/write.js +86 -0
  295. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/write.js.map +1 -0
  296. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/index.d.ts +2 -0
  297. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/index.js +3 -0
  298. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/index.js.map +1 -0
  299. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/main.d.ts +1 -0
  300. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/main.js +6 -0
  301. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/main.js.map +1 -0
  302. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/write.d.ts +1 -0
  303. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/write.js +369 -0
  304. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/write.js.map +1 -0
  305. package/dist/programs/defi-wrapper/use-cases/timelock-governance/index.d.ts +6 -0
  306. package/dist/programs/defi-wrapper/use-cases/timelock-governance/index.js +7 -0
  307. package/dist/programs/defi-wrapper/use-cases/timelock-governance/index.js.map +1 -0
  308. package/dist/programs/defi-wrapper/use-cases/timelock-governance/main.d.ts +1 -0
  309. package/dist/programs/defi-wrapper/use-cases/timelock-governance/main.js +6 -0
  310. package/dist/programs/defi-wrapper/use-cases/timelock-governance/main.js.map +1 -0
  311. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/index.d.ts +2 -0
  312. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/index.js +3 -0
  313. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/index.js.map +1 -0
  314. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/main.d.ts +1 -0
  315. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/main.js +6 -0
  316. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/main.js.map +1 -0
  317. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/write.d.ts +1 -0
  318. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/write.js +184 -0
  319. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/write.js.map +1 -0
  320. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/index.d.ts +3 -0
  321. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/index.js +4 -0
  322. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/index.js.map +1 -0
  323. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/main.d.ts +1 -0
  324. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/main.js +6 -0
  325. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/main.js.map +1 -0
  326. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/read.d.ts +1 -0
  327. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/read.js +80 -0
  328. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/read.js.map +1 -0
  329. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/write.d.ts +1 -0
  330. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/write.js +139 -0
  331. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/write.js.map +1 -0
  332. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/index.d.ts +2 -0
  333. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/index.js +3 -0
  334. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/index.js.map +1 -0
  335. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/main.d.ts +1 -0
  336. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/main.js +6 -0
  337. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/main.js.map +1 -0
  338. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/write.d.ts +1 -0
  339. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/write.js +118 -0
  340. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/write.js.map +1 -0
  341. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/index.d.ts +1 -1
  342. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/index.js +1 -2
  343. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/index.js.map +1 -1
  344. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/main.d.ts +1 -1
  345. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/read.js +334 -12
  346. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/read.js.map +1 -1
  347. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/write.js +449 -2
  348. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/write.js.map +1 -1
  349. package/dist/programs/dev-tools/anvil/main.d.ts +1 -1
  350. package/dist/programs/dev-tools/defi-wrapper/main.d.ts +1 -1
  351. package/dist/programs/dev-tools/defi-wrapper/write.js +42 -12
  352. package/dist/programs/dev-tools/defi-wrapper/write.js.map +1 -1
  353. package/dist/programs/dev-tools/main.d.ts +1 -1
  354. package/dist/programs/pdg-helpers.js +59 -19
  355. package/dist/programs/pdg-helpers.js.map +1 -1
  356. package/dist/programs/use-cases/consolidation/main.d.ts +1 -1
  357. package/dist/programs/use-cases/consolidation/write.d.ts +1 -1
  358. package/dist/programs/use-cases/consolidation/write.js +6 -2
  359. package/dist/programs/use-cases/consolidation/write.js.map +1 -1
  360. package/dist/programs/use-cases/deposits/main.d.ts +1 -1
  361. package/dist/programs/use-cases/deposits/read.js +40 -8
  362. package/dist/programs/use-cases/deposits/read.js.map +1 -1
  363. package/dist/programs/use-cases/deposits/write.js +15 -3
  364. package/dist/programs/use-cases/deposits/write.js.map +1 -1
  365. package/dist/programs/use-cases/metrics/main.d.ts +1 -1
  366. package/dist/programs/use-cases/metrics/read.js +32 -12
  367. package/dist/programs/use-cases/metrics/read.js.map +1 -1
  368. package/dist/programs/use-cases/report/main.d.ts +1 -1
  369. package/dist/programs/use-cases/report/read.js +25 -5
  370. package/dist/programs/use-cases/report/read.js.map +1 -1
  371. package/dist/programs/use-cases/report/write.js +13 -5
  372. package/dist/programs/use-cases/report/write.js.map +1 -1
  373. package/dist/programs/use-cases/vault-operations/main.d.ts +1 -1
  374. package/dist/programs/use-cases/vault-operations/write.js +60 -23
  375. package/dist/programs/use-cases/vault-operations/write.js.map +1 -1
  376. package/dist/providers/index.d.ts +1 -1
  377. package/dist/providers/index.js +1 -1
  378. package/dist/providers/wallet.d.ts +302 -300
  379. package/dist/providers/wallet.js +10 -2
  380. package/dist/providers/wallet.js.map +1 -1
  381. package/dist/tests/integration/deposits.test.js +1 -1
  382. package/dist/tests/integration/deposits.test.js.map +1 -1
  383. package/dist/tests/integration/helpers/test-client.d.ts +150 -150
  384. package/dist/tests/integration/metrics.test.js.map +1 -1
  385. package/dist/tests/integration/mint-burn.test.js.map +1 -1
  386. package/dist/tests/utils/calculate-overview-v2.test.js +1 -1
  387. package/dist/tests/utils/csv-file.test.js +1 -1
  388. package/dist/tests/utils/error-handler.test.js +5 -8
  389. package/dist/tests/utils/error-handler.test.js.map +1 -1
  390. package/dist/tests/utils/lido-apr.test.js +1 -1
  391. package/dist/tests/utils/logging.test.js +30 -14
  392. package/dist/tests/utils/logging.test.js.map +1 -1
  393. package/dist/tests/utils/rate-limit.test.d.ts +1 -0
  394. package/dist/tests/utils/rate-limit.test.js +246 -0
  395. package/dist/tests/utils/rate-limit.test.js.map +1 -0
  396. package/dist/tests/utils/rebase-rewards.test.js +44 -43
  397. package/dist/tests/utils/rebase-rewards.test.js.map +1 -1
  398. package/dist/tests/utils/report-statistic.test.d.ts +1 -0
  399. package/dist/tests/utils/report-statistic.test.js +501 -0
  400. package/dist/tests/utils/report-statistic.test.js.map +1 -0
  401. package/dist/tests/utils/snake-to-camel.test.js +1 -1
  402. package/dist/tests/utils/spinner.test.d.ts +1 -0
  403. package/dist/tests/utils/spinner.test.js +113 -0
  404. package/dist/tests/utils/spinner.test.js.map +1 -0
  405. package/dist/tests/utils/timestamp.test.js +1 -1
  406. package/dist/types/index.d.ts +2 -2
  407. package/dist/types/index.js +2 -2
  408. package/dist/utils/arguments.d.ts +15 -1
  409. package/dist/utils/arguments.js +28 -0
  410. package/dist/utils/arguments.js.map +1 -1
  411. package/dist/utils/cache.d.ts +6 -5
  412. package/dist/utils/cache.js +15 -13
  413. package/dist/utils/cache.js.map +1 -1
  414. package/dist/utils/charts/blessed/charts-apr.js +10 -6
  415. package/dist/utils/charts/blessed/charts-apr.js.map +1 -1
  416. package/dist/utils/charts/blessed/charts-rewards.js +9 -5
  417. package/dist/utils/charts/blessed/charts-rewards.js.map +1 -1
  418. package/dist/utils/charts/blessed/datasets/prepare-metrics.d.ts +6 -6
  419. package/dist/utils/charts/blessed/datasets/prepare-metrics.js +12 -13
  420. package/dist/utils/charts/blessed/datasets/prepare-metrics.js.map +1 -1
  421. package/dist/utils/charts/blessed/utils.js +5 -2
  422. package/dist/utils/charts/blessed/utils.js.map +1 -1
  423. package/dist/utils/charts/simple/simple-charts.js +20 -8
  424. package/dist/utils/charts/simple/simple-charts.js.map +1 -1
  425. package/dist/utils/commands/report.d.ts +5 -2
  426. package/dist/utils/commands/report.js +21 -7
  427. package/dist/utils/commands/report.js.map +1 -1
  428. package/dist/utils/consts.d.ts +1 -0
  429. package/dist/utils/consts.js +5 -0
  430. package/dist/utils/consts.js.map +1 -1
  431. package/dist/utils/error-handler.js +3 -0
  432. package/dist/utils/error-handler.js.map +1 -1
  433. package/dist/utils/fetchCL.d.ts +10 -0
  434. package/dist/utils/fetchCL.js +38 -28
  435. package/dist/utils/fetchCL.js.map +1 -1
  436. package/dist/utils/health/health-utils.d.ts +2 -27707
  437. package/dist/utils/health/health-utils.js +26 -8
  438. package/dist/utils/health/health-utils.js.map +1 -1
  439. package/dist/utils/index.d.ts +2 -0
  440. package/dist/utils/index.js +2 -0
  441. package/dist/utils/index.js.map +1 -1
  442. package/dist/utils/interrupt-handler.js +14 -6
  443. package/dist/utils/interrupt-handler.js.map +1 -1
  444. package/dist/utils/logging/console.d.ts +5 -1
  445. package/dist/utils/logging/console.js +36 -25
  446. package/dist/utils/logging/console.js.map +1 -1
  447. package/dist/utils/prompts/confirmations.d.ts +1 -1
  448. package/dist/utils/prompts/operations.d.ts +1 -1
  449. package/dist/utils/prompts/operations.js +1 -3
  450. package/dist/utils/prompts/operations.js.map +1 -1
  451. package/dist/utils/prompts/predeposit-guarantee.d.ts +1 -1
  452. package/dist/utils/prompts/predeposit-guarantee.js +1 -1
  453. package/dist/utils/proof/create-proof.js +18 -3
  454. package/dist/utils/proof/create-proof.js.map +1 -1
  455. package/dist/utils/rate-limit.d.ts +10 -0
  456. package/dist/utils/rate-limit.js +30 -0
  457. package/dist/utils/rate-limit.js.map +1 -0
  458. package/dist/utils/read-programs-by-abi.js +22 -4
  459. package/dist/utils/read-programs-by-abi.js.map +1 -1
  460. package/dist/utils/rebase-rewards.d.ts +0 -1
  461. package/dist/utils/rebase-rewards.js +12 -3
  462. package/dist/utils/rebase-rewards.js.map +1 -1
  463. package/dist/utils/report/statistic-data.js +31 -10
  464. package/dist/utils/report/statistic-data.js.map +1 -1
  465. package/dist/utils/share-rate.js +16 -4
  466. package/dist/utils/share-rate.js.map +1 -1
  467. package/dist/utils/sleep.js.map +1 -1
  468. package/dist/utils/spinner/spinners.js +5 -3
  469. package/dist/utils/spinner/spinners.js.map +1 -1
  470. package/dist/utils/statistic/report-statistic.d.ts +21 -6
  471. package/dist/utils/statistic/report-statistic.js +65 -25
  472. package/dist/utils/statistic/report-statistic.js.map +1 -1
  473. package/dist/utils/transactions/tx-private-key.d.ts +5 -7
  474. package/dist/utils/transactions/tx-private-key.js +56 -21
  475. package/dist/utils/transactions/tx-private-key.js.map +1 -1
  476. package/dist/utils/transactions/tx-wc.d.ts +12 -11
  477. package/dist/utils/transactions/tx-wc.js +108 -11
  478. package/dist/utils/transactions/tx-wc.js.map +1 -1
  479. package/dist/utils/transactions/types.d.ts +7 -0
  480. package/dist/utils/transactions/utils.d.ts +1 -0
  481. package/dist/utils/transactions/utils.js +13 -2
  482. package/dist/utils/transactions/utils.js.map +1 -1
  483. package/dist/utils/wallet-connect.d.ts +4 -1
  484. package/dist/utils/wallet-connect.js +52 -4
  485. package/dist/utils/wallet-connect.js.map +1 -1
  486. package/dist/utils/with-error.d.ts +7 -0
  487. package/dist/utils/with-error.js +6 -0
  488. package/dist/utils/with-error.js.map +1 -0
  489. package/dist/version/index.js +1 -1
  490. package/package.json +4 -13
  491. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/create-pool.js +0 -180
  492. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/create-pool.js.map +0 -1
  493. /package/dist/programs/defi-wrapper/use-cases/{wrapper-operations/create-pool.d.ts → distributor/read.d.ts} +0 -0
@@ -1,9 +1,10 @@
1
- import { parseEventLogs, fromHex, isAddressEqual, zeroAddress, } from 'viem';
2
- import { FactoryAbi } from '../../abi/defi-wrapper/Factory.js';
3
- import { program } from '../../command/index.js';
1
+ import { parseEventLogs, fromHex, isAddressEqual, zeroAddress, encodeFunctionData, } from 'viem';
2
+ import { FactoryAbi } from 'abi/defi-wrapper/Factory.js';
4
3
  import { getVaultHubContract } from '../../contracts/index.js';
5
- import { getAddress, getConfirmExpiry, getMinDelaySeconds, getMinWithdrawalDelayTime, getNodeOperatorFeeRate, getPoolTokenName, getPoolTokenSymbol, } from '../index.js';
4
+ import { getAddress, getBoolean, getConfirmExpiry, getMinDelaySeconds, getMinWithdrawalDelayTime, getNodeOperatorFeeRate, getPoolTokenName, getPoolTokenSymbol, } from '../index.js';
6
5
  import { logInfo, logResult, logError, callWriteMethodWithReceipt, } from '../../utils/index.js';
6
+ import { getAccount, getPublicClient } from 'providers/wallet.js';
7
+ export const MELLOW_VAULTS_STRATEGY_ID = 'strategy.mellow.v1';
7
8
  // сommon filaliztion step between two pools
8
9
  export const finalizePoolCreation = async (contract, creationEventData) => {
9
10
  if (!creationEventData.auxiliaryConfig ||
@@ -34,16 +35,13 @@ export const finalizePoolCreation = async (contract, creationEventData) => {
34
35
  value: CONNECT_DEPOSIT,
35
36
  });
36
37
  if (!finalizeResult.receipt || !finalizeResult.tx) {
37
- logInfo('Transaction has been sent. Use "log-finalizing-pool-data" command to get the Pool data after the transaction is signed and executed');
38
+ logInfo('Transaction has been sent. Use "dw c f r log-creating-pool-data" command to get the Pool data after the transaction is signed and executed');
38
39
  return;
39
40
  }
40
41
  const finalizeEventData = await getFinalizePoolEventData(finalizeResult.receipt, finalizeResult.tx);
41
- await logFinalizePoolEventData(creationEventData, finalizeEventData);
42
+ logFinalizePoolEventData(creationEventData, finalizeEventData);
42
43
  };
43
44
  export const getCreatePoolEventData = async (receipt, tx) => {
44
- if (program.opts().populateTx) {
45
- return { tx };
46
- }
47
45
  const events = parseEventLogs({
48
46
  abi: FactoryAbi,
49
47
  logs: receipt.logs,
@@ -73,7 +71,7 @@ export const getCreatePoolEventData = async (receipt, tx) => {
73
71
  blockNumber: receipt.blockNumber,
74
72
  };
75
73
  };
76
- export const logCreatePoolEventData = async (eventData) => {
74
+ export const logCreatePoolEventData = (eventData) => {
77
75
  logInfo('Pool Creation Started');
78
76
  logResult({
79
77
  data: [
@@ -108,7 +106,7 @@ export const logCreatePoolEventData = async (eventData) => {
108
106
  logInfo('Auxiliary Config');
109
107
  logResult({
110
108
  data: [
111
- ['Allowlist Enabled', eventData.auxiliaryConfig?.allowlistEnabled],
109
+ ['Allowlist Enabled', eventData.auxiliaryConfig?.allowListEnabled],
112
110
  ['Minting Enabled', eventData.auxiliaryConfig?.mintingEnabled],
113
111
  ['Reserve Ratio Gap BP', eventData.auxiliaryConfig?.reserveRatioGapBP],
114
112
  ],
@@ -132,9 +130,6 @@ export const logCreatePoolEventData = async (eventData) => {
132
130
  });
133
131
  };
134
132
  export const getFinalizePoolEventData = async (receipt, tx) => {
135
- if (program.opts().populateTx) {
136
- return { tx };
137
- }
138
133
  const events = parseEventLogs({
139
134
  abi: FactoryAbi,
140
135
  logs: receipt.logs,
@@ -159,7 +154,7 @@ export const getFinalizePoolEventData = async (receipt, tx) => {
159
154
  blockNumber: receipt.blockNumber,
160
155
  };
161
156
  };
162
- export const logFinalizePoolEventData = async (createEventData, finalizeEventData) => {
157
+ export const logFinalizePoolEventData = (createEventData, finalizeEventData) => {
163
158
  const poolType = finalizeEventData.poolType &&
164
159
  fromHex(finalizeEventData.poolType, 'string').replace(/\W/g, '');
165
160
  logInfo('Pool Creation Finalized');
@@ -191,10 +186,14 @@ export const logFinalizePoolEventData = async (createEventData, finalizeEventDat
191
186
  ],
192
187
  });
193
188
  };
194
- export const promtBaseVaultConfiguration = async ({ nodeOperator, nodeOperatorManager, nodeOperatorFeeRate, confirmExpiry, minDelaySeconds, proposer, executor, emergencyCommittee, minWithdrawalDelayTime, name, symbol, }) => {
189
+ export const promptBaseVaultConfiguration = async ({ nodeOperator, nodeOperatorManager, nodeOperatorFeeRateBP, confirmExpiry, minDelaySeconds, proposer, executor, emergencyCommittee, minWithdrawalDelayTime, name, symbol, simulationOnly, skipSimulation, }) => {
190
+ // validate incompatible options
191
+ if (skipSimulation && simulationOnly) {
192
+ throw new Error('Cannot use both --skip-simulation and --simulation-only options together');
193
+ }
195
194
  const nodeOperatorAddress = await getAddress(nodeOperator, 'Node Operator');
196
195
  const nodeOperatorManagerAddress = await getAddress(nodeOperatorManager, 'Node Operator Manager');
197
- const nodeOperatorFeeRateValue = await getNodeOperatorFeeRate(nodeOperatorFeeRate);
196
+ const nodeOperatorFeeRateValue = await getNodeOperatorFeeRate(nodeOperatorFeeRateBP);
198
197
  const confirmExpiryValue = await getConfirmExpiry({
199
198
  confirmExpiry,
200
199
  });
@@ -228,4 +227,112 @@ export const promtBaseVaultConfiguration = async ({ nodeOperator, nodeOperatorMa
228
227
  commonPoolConfig,
229
228
  };
230
229
  };
230
+ export const promptAllowListConfiguration = async ({ allowList, allowListManager, promptAllowListManager = true, }) => {
231
+ const allowListEnabledValue = await getBoolean(allowList, 'AllowList');
232
+ // disallow specifying an allowListManager option if allowList is disabled
233
+ if (allowListManager && !allowListEnabledValue) {
234
+ throw new Error('Cannot specify an AllowList Manager when AllowList is disabled');
235
+ }
236
+ // only promt for manager if allowList is on and supports manager(e.g. strategy does not)
237
+ let allowListManagerAddress = zeroAddress;
238
+ if (promptAllowListManager && allowListEnabledValue) {
239
+ allowListManagerAddress = await getAddress(allowListManager, 'AllowList Manager');
240
+ }
241
+ return {
242
+ allowListEnabled: allowListEnabledValue,
243
+ allowListManager: allowListManagerAddress,
244
+ };
245
+ };
246
+ const logAndThrowEthSimulateV1Error = (error) => {
247
+ logError('Could not simulate pool creation. Use `--skip-simulation true` to skip it.');
248
+ logInfo('Some RPC providers do not support eth_simulateV1. Consider switching to another RPC provider.');
249
+ throw error;
250
+ };
251
+ export const simulatePoolCreation = async (contract, creationMethodName, creationPayload, logSimulation = false) => {
252
+ const publicClient = await getPublicClient();
253
+ const account = await getAccount();
254
+ const CONNECT_DEPOSIT = await (await getVaultHubContract()).read.CONNECT_DEPOSIT();
255
+ const creationCalls = await publicClient
256
+ .simulateCalls({
257
+ account: account.address,
258
+ calls: [
259
+ {
260
+ to: contract.address,
261
+ data: encodeFunctionData({
262
+ abi: FactoryAbi,
263
+ functionName: creationMethodName,
264
+ args: creationPayload,
265
+ }),
266
+ },
267
+ ],
268
+ })
269
+ .catch(logAndThrowEthSimulateV1Error);
270
+ const creationTx = creationCalls.results[0];
271
+ // check for step 1 simulation success
272
+ if (creationTx.status !== 'success') {
273
+ logError('Pool creation simulation failed');
274
+ throw creationTx.error;
275
+ }
276
+ const creationEventData = await getCreatePoolEventData({
277
+ logs: creationTx.logs,
278
+ blockNumber: 0n,
279
+ transactionHash: zeroAddress,
280
+ }, zeroAddress);
281
+ if (!creationEventData.strategyFactory ||
282
+ !creationEventData.vaultConfig ||
283
+ !creationEventData.timelockConfig ||
284
+ !creationEventData.commonPoolConfig ||
285
+ !creationEventData.auxiliaryConfig ||
286
+ !creationEventData.strategyDeployBytes ||
287
+ !creationEventData.intermediate) {
288
+ throw new Error('Failed to parse strategy factory from simulation');
289
+ }
290
+ const fullCalls = await publicClient
291
+ .simulateCalls({
292
+ account: account.address,
293
+ calls: [
294
+ {
295
+ to: contract.address,
296
+ data: encodeFunctionData({
297
+ abi: FactoryAbi,
298
+ functionName: creationMethodName,
299
+ args: creationPayload,
300
+ }),
301
+ },
302
+ {
303
+ to: contract.address,
304
+ value: CONNECT_DEPOSIT,
305
+ data: encodeFunctionData({
306
+ abi: FactoryAbi,
307
+ functionName: 'createPoolFinish',
308
+ args: [
309
+ creationEventData.vaultConfig,
310
+ creationEventData.timelockConfig,
311
+ creationEventData.commonPoolConfig,
312
+ creationEventData.auxiliaryConfig,
313
+ creationEventData.strategyFactory,
314
+ creationEventData.strategyDeployBytes,
315
+ creationEventData.intermediate,
316
+ ],
317
+ }),
318
+ },
319
+ ],
320
+ })
321
+ .catch(logAndThrowEthSimulateV1Error);
322
+ if (fullCalls.results[1].status !== 'success') {
323
+ logError('Pool finalization simulation failed');
324
+ throw fullCalls.results[1].error;
325
+ }
326
+ logInfo('Pool creation simulation succeeded');
327
+ if (logSimulation) {
328
+ const finalizeEventData = await getFinalizePoolEventData({
329
+ logs: fullCalls.results[1].logs,
330
+ blockNumber: 0n,
331
+ transactionHash: zeroAddress,
332
+ }, zeroAddress);
333
+ logInfo('Results of the simulated pool creation:');
334
+ logFinalizePoolEventData(creationEventData, finalizeEventData);
335
+ logInfo('⚠️⚠️⚠️ This is a simulation only. No real contracts were created. Real contract addresses might not match the simulation ⚠️⚠️⚠️');
336
+ }
337
+ };
231
338
  //# sourceMappingURL=defi-wrapper-factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defi-wrapper-factory.js","sourceRoot":"","sources":["../../../features/defi-wrapper/defi-wrapper-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defi-wrapper-factory.js","sourceRoot":"","sources":["../../../features/defi-wrapper/defi-wrapper-factory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { StandardMerkleTree } from '@openzeppelin/merkle-tree';
2
+ import { Address } from 'viem';
3
+ type GenerateDistributionParams = {
4
+ poolAddress: Address;
5
+ tokens: {
6
+ address: Address;
7
+ amount: bigint;
8
+ }[];
9
+ blacklist?: Address[];
10
+ ipfsGateway?: string;
11
+ toBlock?: bigint;
12
+ fromBlock?: bigint;
13
+ maxBatchSize?: bigint;
14
+ };
15
+ export declare const generateDistribution: ({ tokens: tokensArg, poolAddress, blacklist, toBlock, fromBlock, ipfsGateway, maxBatchSize, }: GenerateDistributionParams) => Promise<{
16
+ distributorAddress: `0x${string}`;
17
+ cidPrev: string;
18
+ merkleRootPrev: `0x${string}`;
19
+ newProcessedBlock: bigint;
20
+ merkleTree: StandardMerkleTree<[`0x${string}`, `0x${string}`, bigint]>;
21
+ totalDistributed: Record<`0x${string}`, bigint>;
22
+ newDistributed: Record<`0x${string}`, bigint>;
23
+ }>;
24
+ export {};
@@ -0,0 +1,300 @@
1
+ import { StandardMerkleTree } from '@openzeppelin/merkle-tree';
2
+ import { getDistributorContract } from 'contracts/defi-wrapper/distributor.js';
3
+ import { getStvPoolContract, } from 'contracts/defi-wrapper/stv-pool.js';
4
+ import { getPublicClient } from '../../providers/index.js';
5
+ import { fetchIPFS, getIndexedEventsFromCache, logError, logInfo, V3_START_BLOCKS, } from '../../utils/index.js';
6
+ import { bigIntMax } from 'utils/bigInt.js';
7
+ import { zeroAddress, zeroHash } from 'viem';
8
+ const treeFromData = (data) => {
9
+ return StandardMerkleTree.load({
10
+ ...data,
11
+ leafEncoding: ['address', 'address', 'uint256'],
12
+ });
13
+ };
14
+ const treeFromValues = (values) => {
15
+ if (values.length === 0) {
16
+ throw new Error('No values to generate Merkle Tree with');
17
+ }
18
+ return StandardMerkleTree.of(values, ['address', 'address', 'uint256']);
19
+ };
20
+ const fetchEventsForBlocks = async ({ blocks, poolAddress, batchSize = 30000n, }) => {
21
+ const poolContract = await getStvPoolContract(poolAddress);
22
+ const eventsMap = new Map();
23
+ // Initialize empty events for each block
24
+ for (const block of blocks) {
25
+ eventsMap.set(block, {
26
+ transfer: [],
27
+ minted: [],
28
+ burned: [],
29
+ });
30
+ }
31
+ if (blocks.length === 0)
32
+ return eventsMap;
33
+ // Split blocks into batches based on block range
34
+ const batches = [];
35
+ let currentBatch = [];
36
+ let batchStartBlock = blocks[0];
37
+ for (const block of blocks) {
38
+ // If block is within batch size range from start, add to current batch
39
+ if (block - batchStartBlock < batchSize) {
40
+ currentBatch.push(block);
41
+ }
42
+ else {
43
+ // Start new batch
44
+ batches.push(currentBatch);
45
+ currentBatch = [block];
46
+ batchStartBlock = block;
47
+ }
48
+ }
49
+ if (currentBatch.length > 0) {
50
+ batches.push(currentBatch);
51
+ }
52
+ logInfo(`Fetching events for ${blocks.length} blocks in ${batches.length} batch(es) (max ${batchSize} blocks per batch)...`);
53
+ // Fetch each batch
54
+ for (let i = 0; i < batches.length; i++) {
55
+ const batch = batches[i];
56
+ if (!batch || batch.length === 0)
57
+ continue;
58
+ const blocksSet = new Set(batch);
59
+ const minBlock = batch[0];
60
+ const maxBlock = batch[batch.length - 1];
61
+ logInfo(`Batch ${i + 1}/${batches.length}: fetching blocks ${minBlock} to ${maxBlock} (${batch.length} blocks)...`);
62
+ try {
63
+ const transferLogs = await poolContract.getEvents.Transfer(undefined, {
64
+ fromBlock: minBlock,
65
+ toBlock: maxBlock,
66
+ });
67
+ logInfo(`Found ${transferLogs.length} Transfer events`);
68
+ // Group Transfer events by block
69
+ for (const log of transferLogs) {
70
+ const blockNumber = log.blockNumber;
71
+ if (blockNumber && blocksSet.has(blockNumber) && log.args) {
72
+ const blockEvents = eventsMap.get(blockNumber);
73
+ if (blockEvents) {
74
+ const args = log.args;
75
+ if (args.from && args.to && args.value !== undefined) {
76
+ blockEvents.transfer.push({
77
+ blockNumber: blockNumber.toString(),
78
+ from: args.from,
79
+ to: args.to,
80
+ value: args.value.toString(),
81
+ });
82
+ }
83
+ }
84
+ }
85
+ }
86
+ }
87
+ catch (error) {
88
+ logError(error, `Error fetching events for batch ${i + 1}: ${error}`);
89
+ throw new Error(`Failed to fetch events for batch ${i + 1}: ${error}`);
90
+ }
91
+ }
92
+ logInfo(`Processed events for ${eventsMap.size} blocks`);
93
+ return eventsMap;
94
+ };
95
+ const getUserShares = async (poolContract, blackListSet, fromBlock, toBlock, batchSize) => {
96
+ const publicClient = await getPublicClient();
97
+ const userSharesMap = new Map();
98
+ const blockBeforeFrom = fromBlock > 0n ? fromBlock - 1n : 0n;
99
+ const earliestBlock = V3_START_BLOCKS[publicClient.chain.id];
100
+ if (!earliestBlock) {
101
+ throw new Error(`V3 start block not defined for chain id ${publicClient.chain.id}`);
102
+ }
103
+ const fetchEvents = async (from, to) => {
104
+ const events = await getIndexedEventsFromCache({
105
+ poolAddress: poolContract.address,
106
+ cacheSuffix: '_ONLY_TRANSFER',
107
+ startBlock: from,
108
+ endBlock: to,
109
+ fetchEventsForBlocks: (blocks) => fetchEventsForBlocks({
110
+ blocks,
111
+ poolAddress: poolContract.address,
112
+ batchSize,
113
+ }),
114
+ });
115
+ return events.transfer.map((e) => ({
116
+ to: e.to.toLowerCase(),
117
+ from: e.from.toLowerCase(),
118
+ value: BigInt(e.value),
119
+ blockNumber: BigInt(e.blockNumber),
120
+ }));
121
+ };
122
+ const eventsBefore = await fetchEvents(earliestBlock, blockBeforeFrom);
123
+ // accumulate balances before fromBlock as well as whole user base
124
+ // parsing ALL events from contract creation is the only way to get full and correct user list
125
+ for (const { to, from, value } of eventsBefore) {
126
+ const old = userSharesMap.get(to);
127
+ if (!blackListSet.has(to)) {
128
+ userSharesMap.set(to, {
129
+ accumulatedShare: 0n,
130
+ balance: (old?.balance ?? 0n) + value,
131
+ lastBlock: blockBeforeFrom,
132
+ });
133
+ }
134
+ if (!blackListSet.has(from)) {
135
+ userSharesMap.set(from, {
136
+ accumulatedShare: 0n,
137
+ balance: (old?.balance ?? 0n) - value,
138
+ lastBlock: blockBeforeFrom,
139
+ });
140
+ }
141
+ }
142
+ const events = await fetchEvents(fromBlock, toBlock);
143
+ // accumulate balances and shares between fromBlock and toBlock
144
+ // each user's share is balance * number of blocks held since last change
145
+ for (const { to, from, value, blockNumber: currentBlock } of events) {
146
+ if (!blackListSet.has(to)) {
147
+ const lastValue = userSharesMap.get(to);
148
+ const lastBalance = lastValue?.balance ?? 0n;
149
+ const lastBlock = lastValue?.lastBlock ?? blockBeforeFrom;
150
+ const lastAccumulatedShare = lastValue?.accumulatedShare ?? 0n;
151
+ userSharesMap.set(to, {
152
+ accumulatedShare: lastBalance * (currentBlock - lastBlock) + lastAccumulatedShare,
153
+ balance: lastBalance + value,
154
+ lastBlock: currentBlock,
155
+ });
156
+ }
157
+ if (!blackListSet.has(from)) {
158
+ const lastValue = userSharesMap.get(from);
159
+ const lastBalance = lastValue?.balance ?? 0n;
160
+ const lastBlock = lastValue?.lastBlock ?? blockBeforeFrom;
161
+ const lastAccumulatedShare = lastValue?.accumulatedShare ?? 0n;
162
+ userSharesMap.set(from, {
163
+ accumulatedShare: lastBalance * (currentBlock - lastBlock) + lastAccumulatedShare,
164
+ balance: lastBalance - value,
165
+ lastBlock: currentBlock,
166
+ });
167
+ }
168
+ }
169
+ // last pass to accumulate shares until toBlock
170
+ // user who had no events in the period will get their full balance counted from fromBlock to toBlock
171
+ // denominator is total shares to be used in distribution calculation
172
+ let denominator = 0n;
173
+ for (const [address, info] of userSharesMap) {
174
+ const lastBalance = info.balance;
175
+ const lastBlock = info.lastBlock;
176
+ const newShare = lastBalance * (toBlock - lastBlock) + info.accumulatedShare;
177
+ userSharesMap.set(address, {
178
+ accumulatedShare: newShare,
179
+ balance: lastBalance,
180
+ lastBlock: lastBlock,
181
+ });
182
+ denominator += newShare;
183
+ }
184
+ return { userSharesMap, denominator };
185
+ };
186
+ export const generateDistribution = async ({ tokens: tokensArg, poolAddress, blacklist = [], toBlock, fromBlock, ipfsGateway, maxBatchSize, }) => {
187
+ // Contracts
188
+ const publicClient = await getPublicClient();
189
+ const pool = await getStvPoolContract(poolAddress);
190
+ const distributorAddress = await pool.read.DISTRIBUTOR();
191
+ const withdrawalQueueAddress = await pool.read.WITHDRAWAL_QUEUE();
192
+ const distributor = await getDistributorContract(distributorAddress);
193
+ // Blacklist
194
+ const blackListSet = new Set(blacklist.map((addr) => addr.toLowerCase()));
195
+ [
196
+ distributorAddress,
197
+ withdrawalQueueAddress,
198
+ poolAddress,
199
+ zeroAddress,
200
+ ].forEach((address) => blackListSet.add(address.toLowerCase()));
201
+ // allow user to provider their own block or rely on last processed block from distributor(can be zero for first time)
202
+ let fromBlockNumber = fromBlock ?? (await distributor.read.lastProcessedBlock());
203
+ // this ensures we never go before V3 start block
204
+ fromBlockNumber = bigIntMax(fromBlockNumber, V3_START_BLOCKS[publicClient.chain.id] ?? 0n);
205
+ const currentBlock = await publicClient.getBlock({
206
+ blockNumber: toBlock,
207
+ blockTag: toBlock ? 'latest' : undefined,
208
+ // getBlock does not allow double options, so we cast to any
209
+ });
210
+ if (fromBlockNumber >= currentBlock.number) {
211
+ throw new Error(`No new blocks to process. Last processed block: ${fromBlockNumber}, current block: ${currentBlock.number}`);
212
+ }
213
+ //Prev distribution data
214
+ const cidPrev = await distributor.read.cid();
215
+ const merkleRootPrev = await distributor.read.root();
216
+ let treePrev = null;
217
+ if (cidPrev === '' && merkleRootPrev !== zeroHash) {
218
+ const dataPrev = await fetchIPFS({
219
+ cid: cidPrev,
220
+ bigNumberType: 'bigint',
221
+ gateway: ipfsGateway,
222
+ });
223
+ treePrev = treeFromData(dataPrev);
224
+ if (merkleRootPrev !== treePrev.root) {
225
+ throw new Error(`Previous distribution data from IPFS(${cidPrev}) does not match the on-chain merkle root(${merkleRootPrev})`);
226
+ }
227
+ }
228
+ // Create map of previous claims for cumulative calculation
229
+ const prevClaims = new Map();
230
+ if (treePrev) {
231
+ for (const [_, value] of treePrev.entries()) {
232
+ const recipient = value[0].toLowerCase();
233
+ const token = value[1].toLowerCase();
234
+ const amount = value[2];
235
+ let claim = prevClaims.get(recipient);
236
+ if (!claim) {
237
+ claim = prevClaims.set(recipient, new Map()).get(recipient);
238
+ }
239
+ claim.set(token, amount);
240
+ }
241
+ }
242
+ const { userSharesMap, denominator } = await getUserShares(pool, blackListSet, fromBlockNumber + 1n, BigInt(currentBlock.number), maxBatchSize);
243
+ const newMerkleValues = [];
244
+ const totalDistributed = {};
245
+ const newDistributed = {};
246
+ // for all users accounted for in the distribution period
247
+ for (const [userAddress, { accumulatedShare }] of userSharesMap) {
248
+ // for all tokens to distribute
249
+ for (const { address: tokenAddress, amount: tokenAmount } of tokensArg) {
250
+ const prevClaim = prevClaims.get(userAddress)?.get(tokenAddress);
251
+ const hasPrevClaim = prevClaim !== undefined;
252
+ // new amount is previous claim + newly accumulated share portion
253
+ const newAmount = (prevClaim ?? 0n) + (accumulatedShare * tokenAmount) / denominator;
254
+ // clean up previous claim entry, what's left over will be added as is
255
+ if (hasPrevClaim) {
256
+ prevClaims.get(userAddress)?.delete(tokenAddress);
257
+ if (prevClaims.get(userAddress)?.size === 0) {
258
+ prevClaims.delete(userAddress);
259
+ }
260
+ }
261
+ if (newAmount === 0n) {
262
+ continue; //skip zero amounts
263
+ }
264
+ newMerkleValues.push([userAddress, tokenAddress, newAmount]);
265
+ totalDistributed[tokenAddress] =
266
+ (totalDistributed[tokenAddress] ?? 0n) + newAmount;
267
+ newDistributed[tokenAddress] =
268
+ (newDistributed[tokenAddress] ?? 0n) + newAmount;
269
+ }
270
+ }
271
+ // mix in unaltered previous claims
272
+ for (const [address, tokenMap] of prevClaims.entries()) {
273
+ for (const [tokenAddress, amount] of tokenMap.entries()) {
274
+ if (amount === 0n) {
275
+ continue; //skip zero amounts
276
+ }
277
+ newMerkleValues.push([address, tokenAddress, amount]);
278
+ totalDistributed[tokenAddress] =
279
+ (totalDistributed[tokenAddress] ?? 0n) + amount;
280
+ }
281
+ }
282
+ newMerkleValues.sort((a, b) => {
283
+ const addrCompare = a[0].localeCompare(b[0]);
284
+ if (addrCompare !== 0)
285
+ return addrCompare;
286
+ return a[1].localeCompare(b[1]);
287
+ });
288
+ const merkleTree = treeFromValues(newMerkleValues);
289
+ return {
290
+ distributorAddress,
291
+ cidPrev,
292
+ merkleRootPrev,
293
+ newProcessedBlock: BigInt(currentBlock.number),
294
+ merkleTree,
295
+ totalDistributed,
296
+ // this will be the source of truth for transfer txs amounts due to Apportionment Problem
297
+ newDistributed,
298
+ };
299
+ };
300
+ //# sourceMappingURL=distributor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distributor.js","sourceRoot":"","sources":["../../../features/defi-wrapper/distributor.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export * from './create-vault.js';
2
2
  export * from './defi-wrapper-factory.js';
3
3
  export * from './pool-info.js';
4
+ export * from './timelock.js';
@@ -1,4 +1,5 @@
1
1
  export * from './create-vault.js';
2
2
  export * from './defi-wrapper-factory.js';
3
3
  export * from './pool-info.js';
4
+ export * from './timelock.js';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../features/defi-wrapper/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../features/defi-wrapper/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC"}
@@ -1,18 +1,27 @@
1
1
  import { Address } from 'viem';
2
+ export declare const STV_POOL_NAME = "StvPool";
3
+ export declare const STV_STETH_POOL_NAME = "StvStETHPool";
4
+ export declare const STV_STRATEGY_POOL_NAME = "StvStrategyPool";
5
+ export declare const areVaultParamsInSync: (poolAddress: Address) => Promise<boolean>;
2
6
  export declare const getPoolInfo: (address: Address) => Promise<{
3
7
  poolTypeName: string;
4
8
  isStvStethPool: boolean;
5
9
  isStvPool: boolean;
6
10
  WSTETH?: `0x${string}` | undefined;
11
+ DASHBOARD?: `0x${string}` | undefined;
7
12
  RESERVE_RATIO_GAP_BP?: bigint | undefined;
8
13
  totalMintedStethShares?: bigint | undefined;
9
- reserveRatioBP?: bigint | undefined;
10
- forcedRebalanceThresholdBP?: bigint | undefined;
14
+ poolReserveRatioBP?: bigint | undefined;
15
+ poolForcedRebalanceThresholdBP?: bigint | undefined;
11
16
  totalExceedingMintedStethShares?: bigint | undefined;
12
17
  totalExceedingMintedSteth?: bigint | undefined;
18
+ liabilityShares?: bigint | undefined;
19
+ remainingMintingCapacityShares?: bigint | undefined;
20
+ totalMintingCapacityShares?: bigint | undefined;
13
21
  maxLossSocializationBP?: bigint | undefined;
14
22
  isMintingPaused?: boolean | undefined;
15
23
  MINTING_FEATURE?: `0x${string}` | undefined;
24
+ isInSync?: boolean | undefined;
16
25
  vault: `0x${string}`;
17
26
  stETH: `0x${string}`;
18
27
  Dashboard: `0x${string}`;
@@ -24,12 +33,18 @@ export declare const getPoolInfo: (address: Address) => Promise<{
24
33
  totalAssets: bigint;
25
34
  totalSupply: bigint;
26
35
  totalLiabilityShares: bigint;
36
+ totalLiabilitySteth: string;
37
+ healthRatio: number;
38
+ isHealthy: boolean;
27
39
  totalUnassignedLiabilityShares: bigint;
28
40
  totalUnassignedLiabilitySteth: bigint;
41
+ unfinalizedAssets: bigint;
42
+ availableVaultBalance: bigint;
29
43
  decimals: number;
30
44
  isDepositsPaused: boolean;
31
45
  ALLOW_LIST_ENABLED: boolean;
32
46
  DEPOSITS_FEATURE: `0x${string}`;
33
47
  allowListSize: bigint;
34
48
  isReportFresh: boolean;
49
+ availableAssetsForCLDeposit: bigint;
35
50
  }>;