@lidofinance/lsv-cli 1.4.0 → 1.5.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 (309) hide show
  1. package/dist/abi/Dashboard.d.ts +24 -0
  2. package/dist/abi/PredepositGuarantee.d.ts +48 -0
  3. package/dist/abi/PredepositGuarantee.js +32 -0
  4. package/dist/abi/PredepositGuarantee.js.map +1 -1
  5. package/dist/abi/StEth.d.ts +1175 -59
  6. package/dist/abi/StEth.js +885 -320
  7. package/dist/abi/StEth.js.map +1 -1
  8. package/dist/abi/defi-wrapper/Factory.d.ts +532 -657
  9. package/dist/abi/defi-wrapper/Factory.js +1083 -647
  10. package/dist/abi/defi-wrapper/Factory.js.map +1 -1
  11. package/dist/abi/defi-wrapper/OssifiableProxy.d.ts +71 -0
  12. package/dist/abi/defi-wrapper/OssifiableProxy.js +93 -0
  13. package/dist/abi/defi-wrapper/OssifiableProxy.js.map +1 -0
  14. package/dist/abi/defi-wrapper/StvStETHPool.d.ts +38 -32
  15. package/dist/abi/defi-wrapper/StvStETHPool.js +50 -42
  16. package/dist/abi/defi-wrapper/StvStETHPool.js.map +1 -1
  17. package/dist/abi/defi-wrapper/TimeLock.d.ts +770 -0
  18. package/dist/abi/defi-wrapper/TimeLock.js +999 -0
  19. package/dist/abi/defi-wrapper/TimeLock.js.map +1 -0
  20. package/dist/abi/defi-wrapper/index.d.ts +2 -0
  21. package/dist/abi/defi-wrapper/index.js +2 -0
  22. package/dist/abi/defi-wrapper/index.js.map +1 -1
  23. package/dist/contracts/defi-wrapper/index.d.ts +2 -0
  24. package/dist/contracts/defi-wrapper/index.js +2 -0
  25. package/dist/contracts/defi-wrapper/index.js.map +1 -1
  26. package/dist/contracts/defi-wrapper/ossifiable-proxy.d.ts +4 -0
  27. package/dist/contracts/defi-wrapper/ossifiable-proxy.js +12 -0
  28. package/dist/contracts/defi-wrapper/ossifiable-proxy.js.map +1 -0
  29. package/dist/contracts/defi-wrapper/timelock.d.ts +4 -0
  30. package/dist/contracts/defi-wrapper/timelock.js +12 -0
  31. package/dist/contracts/defi-wrapper/timelock.js.map +1 -0
  32. package/dist/contracts/steth.d.ts +4 -27706
  33. package/dist/contracts/steth.js +2 -2
  34. package/dist/contracts/steth.js.map +1 -1
  35. package/dist/features/consolidation.js +19 -3
  36. package/dist/features/consolidation.js.map +1 -1
  37. package/dist/features/defi-wrapper/create-vault.js +16 -13
  38. package/dist/features/defi-wrapper/create-vault.js.map +1 -1
  39. package/dist/features/defi-wrapper/defi-wrapper-factory.d.ts +10 -27
  40. package/dist/features/defi-wrapper/defi-wrapper-factory.js +105 -15
  41. package/dist/features/defi-wrapper/defi-wrapper-factory.js.map +1 -1
  42. package/dist/features/defi-wrapper/distributor.d.ts +24 -0
  43. package/dist/features/defi-wrapper/distributor.js +300 -0
  44. package/dist/features/defi-wrapper/distributor.js.map +1 -0
  45. package/dist/features/defi-wrapper/index.d.ts +1 -0
  46. package/dist/features/defi-wrapper/index.js +1 -0
  47. package/dist/features/defi-wrapper/index.js.map +1 -1
  48. package/dist/features/defi-wrapper/pool-info.d.ts +17 -2
  49. package/dist/features/defi-wrapper/pool-info.js +63 -13
  50. package/dist/features/defi-wrapper/pool-info.js.map +1 -1
  51. package/dist/features/defi-wrapper/timelock.d.ts +19 -0
  52. package/dist/features/defi-wrapper/timelock.js +198 -0
  53. package/dist/features/defi-wrapper/timelock.js.map +1 -0
  54. package/dist/features/deposits/check-bls-deposits.js +15 -3
  55. package/dist/features/deposits/check-bls-deposits.js.map +1 -1
  56. package/dist/features/deposits/make-pdg-proof.js +15 -3
  57. package/dist/features/deposits/make-pdg-proof.js.map +1 -1
  58. package/dist/features/deposits/no-pdg.js +50 -14
  59. package/dist/features/deposits/no-pdg.js.map +1 -1
  60. package/dist/features/deposits/pdg.js +5 -1
  61. package/dist/features/deposits/pdg.js.map +1 -1
  62. package/dist/features/dev-tools/impersonate.js +5 -1
  63. package/dist/features/dev-tools/impersonate.js.map +1 -1
  64. package/dist/features/metrics.js +24 -6
  65. package/dist/features/metrics.js.map +1 -1
  66. package/dist/features/mint-burn/allowance.js +15 -6
  67. package/dist/features/mint-burn/allowance.js.map +1 -1
  68. package/dist/features/mint-burn/burn-steth.js +5 -1
  69. package/dist/features/mint-burn/burn-steth.js.map +1 -1
  70. package/dist/features/mint-burn/index.d.ts +1 -0
  71. package/dist/features/mint-burn/index.js +1 -0
  72. package/dist/features/mint-burn/index.js.map +1 -1
  73. package/dist/features/mint-burn/mint-limit.d.ts +9 -0
  74. package/dist/features/mint-burn/mint-limit.js +31 -0
  75. package/dist/features/mint-burn/mint-limit.js.map +1 -0
  76. package/dist/features/mint-burn/mint-steth.js +5 -1
  77. package/dist/features/mint-burn/mint-steth.js.map +1 -1
  78. package/dist/features/pdg.js +5 -1
  79. package/dist/features/pdg.js.map +1 -1
  80. package/dist/features/utils/connection.js +5 -1
  81. package/dist/features/utils/connection.js.map +1 -1
  82. package/dist/features/utils/index.d.ts +1 -0
  83. package/dist/features/utils/index.js +1 -0
  84. package/dist/features/utils/index.js.map +1 -1
  85. package/dist/features/utils/liability-shares.js +5 -1
  86. package/dist/features/utils/liability-shares.js.map +1 -1
  87. package/dist/features/utils/minting-capacity.js +4 -3
  88. package/dist/features/utils/minting-capacity.js.map +1 -1
  89. package/dist/features/utils/quarantine.js +5 -1
  90. package/dist/features/utils/quarantine.js.map +1 -1
  91. package/dist/features/utils/report-fresh.js +15 -3
  92. package/dist/features/utils/report-fresh.js.map +1 -1
  93. package/dist/features/utils/try-fetch.d.ts +5 -0
  94. package/dist/features/utils/try-fetch.js +26 -0
  95. package/dist/features/utils/try-fetch.js.map +1 -0
  96. package/dist/features/vault-factory.js +15 -3
  97. package/dist/features/vault-factory.js.map +1 -1
  98. package/dist/features/vault-operations/connect-vault.js +10 -2
  99. package/dist/features/vault-operations/connect-vault.js.map +1 -1
  100. package/dist/features/vault-operations/dashboard-by-vault.js +10 -2
  101. package/dist/features/vault-operations/dashboard-by-vault.js.map +1 -1
  102. package/dist/features/vault-operations/roles.js +10 -2
  103. package/dist/features/vault-operations/roles.js.map +1 -1
  104. package/dist/features/vault-operations/vault-health.js +5 -1
  105. package/dist/features/vault-operations/vault-health.js.map +1 -1
  106. package/dist/features/vault-operations/vault-info.js +10 -2
  107. package/dist/features/vault-operations/vault-info.js.map +1 -1
  108. package/dist/features/vault-operations/vault-overview.js +25 -5
  109. package/dist/features/vault-operations/vault-overview.js.map +1 -1
  110. package/dist/features/vault-operations/vault-roles.js +10 -2
  111. package/dist/features/vault-operations/vault-roles.js.map +1 -1
  112. package/dist/features/vault-operations/vaults-by-role.d.ts +24 -0
  113. package/dist/features/vault-operations/vaults-by-role.js +78 -27
  114. package/dist/features/vault-operations/vaults-by-role.js.map +1 -1
  115. package/dist/index.js +9 -5
  116. package/dist/index.js.map +1 -1
  117. package/dist/programs/account/read.js +10 -5
  118. package/dist/programs/account/read.js.map +1 -1
  119. package/dist/programs/contracts/dashboard/read.js +15 -3
  120. package/dist/programs/contracts/dashboard/read.js.map +1 -1
  121. package/dist/programs/contracts/dashboard/write.js +212 -38
  122. package/dist/programs/contracts/dashboard/write.js.map +1 -1
  123. package/dist/programs/contracts/hub/read.js +15 -5
  124. package/dist/programs/contracts/hub/read.js.map +1 -1
  125. package/dist/programs/contracts/hub/write.js +10 -2
  126. package/dist/programs/contracts/hub/write.js.map +1 -1
  127. package/dist/programs/contracts/operator-grid/read.js +5 -1
  128. package/dist/programs/contracts/operator-grid/read.js.map +1 -1
  129. package/dist/programs/contracts/operator-grid/write.js +5 -1
  130. package/dist/programs/contracts/operator-grid/write.js.map +1 -1
  131. package/dist/programs/contracts/pdg/read.js +5 -1
  132. package/dist/programs/contracts/pdg/read.js.map +1 -1
  133. package/dist/programs/contracts/pdg/write.js +33 -3
  134. package/dist/programs/contracts/pdg/write.js.map +1 -1
  135. package/dist/programs/contracts/vault/write.js +5 -1
  136. package/dist/programs/contracts/vault/write.js.map +1 -1
  137. package/dist/programs/defi-wrapper/contracts/distributor/read.js +17 -5
  138. package/dist/programs/defi-wrapper/contracts/distributor/read.js.map +1 -1
  139. package/dist/programs/defi-wrapper/contracts/factory/read.js +73 -13
  140. package/dist/programs/defi-wrapper/contracts/factory/read.js.map +1 -1
  141. package/dist/programs/defi-wrapper/contracts/factory/write.js +171 -65
  142. package/dist/programs/defi-wrapper/contracts/factory/write.js.map +1 -1
  143. package/dist/programs/defi-wrapper/contracts/stv-pool/read.js +62 -18
  144. package/dist/programs/defi-wrapper/contracts/stv-pool/read.js.map +1 -1
  145. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/read.js +62 -18
  146. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/read.js.map +1 -1
  147. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/read.js +64 -16
  148. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/read.js.map +1 -1
  149. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/write.js +33 -6
  150. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/write.js.map +1 -1
  151. package/dist/programs/defi-wrapper/use-cases/distributor/index.d.ts +3 -0
  152. package/dist/programs/defi-wrapper/use-cases/distributor/index.js +4 -0
  153. package/dist/programs/defi-wrapper/use-cases/distributor/index.js.map +1 -0
  154. package/dist/programs/defi-wrapper/use-cases/distributor/main.d.ts +1 -0
  155. package/dist/programs/defi-wrapper/use-cases/distributor/main.js +6 -0
  156. package/dist/programs/defi-wrapper/use-cases/distributor/main.js.map +1 -0
  157. package/dist/programs/defi-wrapper/use-cases/distributor/read.js +86 -0
  158. package/dist/programs/defi-wrapper/use-cases/distributor/read.js.map +1 -0
  159. package/dist/programs/defi-wrapper/use-cases/distributor/write.d.ts +1 -0
  160. package/dist/programs/defi-wrapper/use-cases/distributor/write.js +191 -0
  161. package/dist/programs/defi-wrapper/use-cases/distributor/write.js.map +1 -0
  162. package/dist/programs/defi-wrapper/use-cases/health/read.js +71 -21
  163. package/dist/programs/defi-wrapper/use-cases/health/read.js.map +1 -1
  164. package/dist/programs/defi-wrapper/use-cases/health/utils.js +10 -2
  165. package/dist/programs/defi-wrapper/use-cases/health/utils.js.map +1 -1
  166. package/dist/programs/defi-wrapper/use-cases/health/write.js +65 -22
  167. package/dist/programs/defi-wrapper/use-cases/health/write.js.map +1 -1
  168. package/dist/programs/defi-wrapper/use-cases/index.d.ts +2 -0
  169. package/dist/programs/defi-wrapper/use-cases/index.js +2 -0
  170. package/dist/programs/defi-wrapper/use-cases/index.js.map +1 -1
  171. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/index.d.ts +3 -0
  172. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/index.js +4 -0
  173. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/index.js.map +1 -0
  174. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/main.d.ts +1 -0
  175. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/main.js +6 -0
  176. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/main.js.map +1 -0
  177. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/read.d.ts +1 -0
  178. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/read.js +362 -0
  179. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/read.js.map +1 -0
  180. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/write.d.ts +1 -0
  181. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/write.js +86 -0
  182. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/write.js.map +1 -0
  183. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/index.d.ts +2 -0
  184. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/index.js +3 -0
  185. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/index.js.map +1 -0
  186. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/main.d.ts +1 -0
  187. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/main.js +6 -0
  188. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/main.js.map +1 -0
  189. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/write.d.ts +1 -0
  190. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/write.js +369 -0
  191. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/write.js.map +1 -0
  192. package/dist/programs/defi-wrapper/use-cases/timelock-governance/index.d.ts +6 -0
  193. package/dist/programs/defi-wrapper/use-cases/timelock-governance/index.js +7 -0
  194. package/dist/programs/defi-wrapper/use-cases/timelock-governance/index.js.map +1 -0
  195. package/dist/programs/defi-wrapper/use-cases/timelock-governance/main.d.ts +1 -0
  196. package/dist/programs/defi-wrapper/use-cases/timelock-governance/main.js +6 -0
  197. package/dist/programs/defi-wrapper/use-cases/timelock-governance/main.js.map +1 -0
  198. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/index.d.ts +2 -0
  199. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/index.js +3 -0
  200. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/index.js.map +1 -0
  201. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/main.d.ts +1 -0
  202. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/main.js +6 -0
  203. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/main.js.map +1 -0
  204. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/write.d.ts +1 -0
  205. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/write.js +184 -0
  206. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/write.js.map +1 -0
  207. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/index.d.ts +3 -0
  208. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/index.js +4 -0
  209. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/index.js.map +1 -0
  210. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/main.d.ts +1 -0
  211. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/main.js +6 -0
  212. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/main.js.map +1 -0
  213. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/read.d.ts +1 -0
  214. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/read.js +80 -0
  215. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/read.js.map +1 -0
  216. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/write.d.ts +1 -0
  217. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/write.js +139 -0
  218. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/write.js.map +1 -0
  219. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/index.d.ts +2 -0
  220. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/index.js +3 -0
  221. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/index.js.map +1 -0
  222. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/main.d.ts +1 -0
  223. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/main.js +6 -0
  224. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/main.js.map +1 -0
  225. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/write.d.ts +1 -0
  226. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/write.js +118 -0
  227. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/write.js.map +1 -0
  228. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/index.d.ts +1 -1
  229. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/index.js +1 -2
  230. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/index.js.map +1 -1
  231. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/read.js +333 -11
  232. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/read.js.map +1 -1
  233. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/write.js +463 -2
  234. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/write.js.map +1 -1
  235. package/dist/programs/dev-tools/defi-wrapper/write.js +41 -11
  236. package/dist/programs/dev-tools/defi-wrapper/write.js.map +1 -1
  237. package/dist/programs/pdg-helpers.js +55 -19
  238. package/dist/programs/pdg-helpers.js.map +1 -1
  239. package/dist/programs/use-cases/consolidation/write.js +5 -1
  240. package/dist/programs/use-cases/consolidation/write.js.map +1 -1
  241. package/dist/programs/use-cases/deposits/read.js +40 -8
  242. package/dist/programs/use-cases/deposits/read.js.map +1 -1
  243. package/dist/programs/use-cases/deposits/write.js +15 -3
  244. package/dist/programs/use-cases/deposits/write.js.map +1 -1
  245. package/dist/programs/use-cases/metrics/read.js +25 -5
  246. package/dist/programs/use-cases/metrics/read.js.map +1 -1
  247. package/dist/programs/use-cases/report/read.js +25 -5
  248. package/dist/programs/use-cases/report/read.js.map +1 -1
  249. package/dist/programs/use-cases/report/write.js +10 -2
  250. package/dist/programs/use-cases/report/write.js.map +1 -1
  251. package/dist/programs/use-cases/vault-operations/write.js +30 -6
  252. package/dist/programs/use-cases/vault-operations/write.js.map +1 -1
  253. package/dist/providers/index.d.ts +1 -1
  254. package/dist/providers/index.js +1 -1
  255. package/dist/tests/utils/rate-limit.test.d.ts +1 -0
  256. package/dist/tests/utils/rate-limit.test.js +246 -0
  257. package/dist/tests/utils/rate-limit.test.js.map +1 -0
  258. package/dist/types/index.d.ts +2 -2
  259. package/dist/types/index.js +2 -2
  260. package/dist/utils/arguments.d.ts +14 -0
  261. package/dist/utils/arguments.js +28 -0
  262. package/dist/utils/arguments.js.map +1 -1
  263. package/dist/utils/cache.d.ts +6 -4
  264. package/dist/utils/cache.js +14 -11
  265. package/dist/utils/cache.js.map +1 -1
  266. package/dist/utils/charts/blessed/charts-apr.js +5 -1
  267. package/dist/utils/charts/blessed/charts-apr.js.map +1 -1
  268. package/dist/utils/charts/blessed/charts-rewards.js +5 -1
  269. package/dist/utils/charts/blessed/charts-rewards.js.map +1 -1
  270. package/dist/utils/charts/simple/simple-charts.js +5 -1
  271. package/dist/utils/charts/simple/simple-charts.js.map +1 -1
  272. package/dist/utils/commands/report.d.ts +5 -2
  273. package/dist/utils/commands/report.js +21 -7
  274. package/dist/utils/commands/report.js.map +1 -1
  275. package/dist/utils/consts.d.ts +1 -0
  276. package/dist/utils/consts.js +5 -0
  277. package/dist/utils/consts.js.map +1 -1
  278. package/dist/utils/fetchCL.d.ts +10 -0
  279. package/dist/utils/fetchCL.js +19 -0
  280. package/dist/utils/fetchCL.js.map +1 -1
  281. package/dist/utils/health/health-utils.d.ts +2 -27707
  282. package/dist/utils/health/health-utils.js +26 -8
  283. package/dist/utils/health/health-utils.js.map +1 -1
  284. package/dist/utils/index.d.ts +1 -0
  285. package/dist/utils/index.js +1 -0
  286. package/dist/utils/index.js.map +1 -1
  287. package/dist/utils/prompts/operations.js +1 -3
  288. package/dist/utils/prompts/operations.js.map +1 -1
  289. package/dist/utils/rate-limit.d.ts +10 -0
  290. package/dist/utils/rate-limit.js +30 -0
  291. package/dist/utils/rate-limit.js.map +1 -0
  292. package/dist/utils/read-programs-by-abi.js +22 -4
  293. package/dist/utils/read-programs-by-abi.js.map +1 -1
  294. package/dist/utils/report/statistic-data.js +8 -2
  295. package/dist/utils/report/statistic-data.js.map +1 -1
  296. package/dist/utils/share-rate.js +16 -4
  297. package/dist/utils/share-rate.js.map +1 -1
  298. package/dist/utils/sleep.js.map +1 -1
  299. package/dist/utils/transactions/tx-private-key.d.ts +3 -5
  300. package/dist/utils/transactions/tx-private-key.js +13 -10
  301. package/dist/utils/transactions/tx-private-key.js.map +1 -1
  302. package/dist/utils/transactions/types.d.ts +7 -0
  303. package/dist/utils/transactions/utils.js +2 -2
  304. package/dist/utils/transactions/utils.js.map +1 -1
  305. package/dist/version/index.js +1 -1
  306. package/package.json +3 -12
  307. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/create-pool.js +0 -180
  308. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/create-pool.js.map +0 -1
  309. /package/dist/programs/defi-wrapper/use-cases/{wrapper-operations/create-pool.d.ts → distributor/read.d.ts} +0 -0
@@ -0,0 +1,362 @@
1
+ import { Option } from 'commander';
2
+ import { logInfo, getCommandsJson, stringToAddress, callReadMethodSilent, logResult, addressPrompt, logError, stringToBigInt, } from '../../../../../utils/index.js';
3
+ import { common } from './main.js';
4
+ import { decodeFunctionData } from 'viem';
5
+ import { getStvPoolContract } from '../../../../../contracts/defi-wrapper/index.js';
6
+ import { getPromptTimelock, OPERATION_ID_ARGUMENT, promptOperationId, TIMELOCK_ARGUMENT, waitTimeTo, } from '../../../../../features/defi-wrapper/timelock.js';
7
+ import { getPublicClient } from '../../../../../providers/index.js';
8
+ import { DashboardAbi } from '../../../../../abi/index.js';
9
+ import { StvPoolAbi } from '../../../../../abi/defi-wrapper/StvPool.js';
10
+ import { StvStETHPoolAbi } from '../../../../../abi/defi-wrapper/StvStETHPool.js';
11
+ import { WithdrawalQueueAbi } from '../../../../../abi/defi-wrapper/WithdrawalQueue.js';
12
+ import { OssifiableProxyAbi } from '../../../../../abi/defi-wrapper/OssifiableProxy.js';
13
+ import { TimeLockAbi } from '../../../../../abi/defi-wrapper/TimeLock.js';
14
+ import { DistributorAbi } from '../../../../../abi/defi-wrapper/Distributor.js';
15
+ // all abis of expected timelock governed contracts
16
+ const mixAbi = [
17
+ ...DashboardAbi,
18
+ ...StvPoolAbi,
19
+ ...StvStETHPoolAbi,
20
+ ...WithdrawalQueueAbi,
21
+ ...OssifiableProxyAbi,
22
+ ...TimeLockAbi,
23
+ ...DistributorAbi,
24
+ ];
25
+ const commonRead = common
26
+ .command('read')
27
+ .alias('r')
28
+ .description('common timelock read commands');
29
+ commonRead.addOption(new Option('-cmd2json'));
30
+ commonRead.on('option:-cmd2json', function () {
31
+ logInfo(getCommandsJson(commonRead));
32
+ process.exit();
33
+ });
34
+ commonRead
35
+ .command('get-timelock-address')
36
+ .description('get address of timelock governance contract based on pool address')
37
+ .argument('[pool]', 'pool contract address', stringToAddress)
38
+ .action(async (pool) => {
39
+ if (!pool) {
40
+ const poolPrompt = await addressPrompt('Enter pool contract address', 'pool');
41
+ pool = poolPrompt.pool;
42
+ }
43
+ const stvPoolContract = await getStvPoolContract(pool);
44
+ const defaultAdminRole = await callReadMethodSilent({
45
+ contract: stvPoolContract,
46
+ methodName: 'DEFAULT_ADMIN_ROLE',
47
+ payload: [],
48
+ });
49
+ const admins = await callReadMethodSilent({
50
+ contract: stvPoolContract,
51
+ methodName: 'getRoleMembers',
52
+ payload: [[defaultAdminRole]],
53
+ });
54
+ if (admins.length === 0) {
55
+ logError('No timelock governance found for the pool');
56
+ return;
57
+ }
58
+ if (admins.length === 1) {
59
+ logResult({
60
+ data: [['Timelock Governance Address', admins[0]]],
61
+ });
62
+ }
63
+ if (admins.length > 1) {
64
+ logError('Multiple admins found for the pool; Invalid configuration:');
65
+ const data = admins.map((addr, index) => [`Admin ${index + 1}`, addr]);
66
+ logResult({ data });
67
+ }
68
+ });
69
+ commonRead
70
+ .command('get-last-operations')
71
+ .description('get last timelock operations')
72
+ .argument(...TIMELOCK_ARGUMENT)
73
+ .option('-n, --number <number>', 'number of blocks to look back', stringToBigInt, 5000n)
74
+ .action(async (timelockAddress, options) => {
75
+ const client = await getPublicClient();
76
+ const timelock = await getPromptTimelock(timelockAddress);
77
+ const currentBlock = await client.getBlock({ blockTag: 'latest' });
78
+ const toBlock = currentBlock.number;
79
+ let fromBlock = toBlock - options.number;
80
+ if (fromBlock < 0n)
81
+ fromBlock = 0n;
82
+ const events = await timelock.getEvents.CallScheduled(undefined, {
83
+ toBlock,
84
+ fromBlock,
85
+ strict: true,
86
+ });
87
+ logInfo(`Found ${events.length} CallScheduled events from block ${fromBlock} to ${toBlock}:`);
88
+ for (const event of events) {
89
+ const { data, delay, id, index, predecessor, target, value } = event.args;
90
+ let waitTime = 0n;
91
+ const timestamp = 0n;
92
+ const state = await callReadMethodSilent({
93
+ contract: timelock,
94
+ methodName: 'getOperationState',
95
+ payload: [[id]],
96
+ });
97
+ if (state === 1) {
98
+ const timestamp = await callReadMethodSilent({
99
+ contract: timelock,
100
+ methodName: 'getTimestamp',
101
+ payload: [[id]],
102
+ });
103
+ waitTime = waitTimeTo(timestamp);
104
+ }
105
+ const stateNames = ['Unset', 'Waiting', 'Ready', 'Done'];
106
+ const stateName = stateNames[state] || 'Unknown';
107
+ let args, functionName;
108
+ try {
109
+ const decodeResult = decodeFunctionData({
110
+ abi: mixAbi,
111
+ data,
112
+ });
113
+ args = decodeResult.args;
114
+ functionName = decodeResult.functionName;
115
+ }
116
+ catch (e) {
117
+ args = [];
118
+ functionName = 'Unknown function';
119
+ }
120
+ logResult({
121
+ data: [
122
+ ['Operation ID', id],
123
+ ['Operation Index', index.toString()],
124
+ ['State', stateName],
125
+ ['Target', target],
126
+ ['Value (ETH)', value.toString()],
127
+ ['Data', data],
128
+ ['Function', functionName],
129
+ [
130
+ 'Arguments',
131
+ JSON.stringify(args, (_key, value) => typeof value === 'bigint' ? value.toString() + 'n' : value),
132
+ ],
133
+ ['Delay (seconds)', delay.toString()],
134
+ ['Predecessor', predecessor],
135
+ ['Wait Time (seconds)', waitTime.toString()],
136
+ ['Ready Timestamp', timestamp.toString()],
137
+ ],
138
+ });
139
+ }
140
+ });
141
+ commonRead
142
+ .command('get-operation-state')
143
+ .description('get the state of a timelock operation')
144
+ .argument(...TIMELOCK_ARGUMENT)
145
+ .argument(...OPERATION_ID_ARGUMENT)
146
+ .action(async (timelock, operationIdInput) => {
147
+ const timelockContract = await getPromptTimelock(timelock);
148
+ const operationId = await promptOperationId(operationIdInput);
149
+ const state = await callReadMethodSilent({
150
+ contract: timelockContract,
151
+ methodName: 'getOperationState',
152
+ payload: [[operationId]],
153
+ });
154
+ // OperationState: Unset=0, Waiting=1, Ready=2, Done=3
155
+ const stateNames = ['Unset', 'Waiting', 'Ready', 'Done'];
156
+ const stateName = stateNames[state] || 'Unknown';
157
+ logResult({
158
+ data: [
159
+ ['Operation ID', operationId],
160
+ ['State', `${state} (${stateName})`],
161
+ ],
162
+ });
163
+ if (state === 1) {
164
+ const timestamp = await callReadMethodSilent({
165
+ contract: timelockContract,
166
+ methodName: 'getTimestamp',
167
+ payload: [[operationId]],
168
+ });
169
+ const waitTime = waitTimeTo(timestamp);
170
+ logInfo(`Will be ready at timestamp ${timestamp} (in ${waitTime} seconds)`);
171
+ }
172
+ });
173
+ commonRead
174
+ .command('get-timestamp')
175
+ .description('get the timestamp when an operation will be ready')
176
+ .argument(...TIMELOCK_ARGUMENT)
177
+ .argument(...OPERATION_ID_ARGUMENT)
178
+ .action(async (timelock, operationIdInput) => {
179
+ const timelockContract = await getPromptTimelock(timelock);
180
+ const operationId = await promptOperationId(operationIdInput);
181
+ const timestamp = await callReadMethodSilent({
182
+ contract: timelockContract,
183
+ methodName: 'getTimestamp',
184
+ payload: [[operationId]],
185
+ });
186
+ const waitTime = waitTimeTo(timestamp);
187
+ const readyDate = new Date(Number(timestamp) * 1000).toLocaleString();
188
+ logResult({
189
+ data: [
190
+ ['Operation ID', operationId],
191
+ ['Timestamp', timestamp.toString()],
192
+ ['Ready Date', readyDate],
193
+ ['Wait Time (seconds)', waitTime.toString()],
194
+ ],
195
+ });
196
+ });
197
+ commonRead
198
+ .command('get-min-delay')
199
+ .description('get the minimum delay for timelock operations')
200
+ .argument(...TIMELOCK_ARGUMENT)
201
+ .action(async (timelock) => {
202
+ const timelockContract = await getPromptTimelock(timelock);
203
+ const minDelay = await callReadMethodSilent({
204
+ contract: timelockContract,
205
+ methodName: 'getMinDelay',
206
+ payload: [],
207
+ });
208
+ logResult({
209
+ data: [
210
+ ['Timelock', timelock],
211
+ ['Min Delay (seconds)', minDelay.toString()],
212
+ ['Min Delay (hours)', (Number(minDelay) / 3600).toFixed(2)],
213
+ ],
214
+ });
215
+ });
216
+ commonRead
217
+ .command('is-operation')
218
+ .description('check if an operation is registered')
219
+ .argument(...TIMELOCK_ARGUMENT)
220
+ .argument(...OPERATION_ID_ARGUMENT)
221
+ .action(async (timelock, operationIdInput) => {
222
+ const timelockContract = await getPromptTimelock(timelock);
223
+ const operationId = await promptOperationId(operationIdInput);
224
+ const isOp = await callReadMethodSilent({
225
+ contract: timelockContract,
226
+ methodName: 'isOperation',
227
+ payload: [[operationId]],
228
+ });
229
+ logResult({
230
+ data: [
231
+ ['Operation ID', operationId],
232
+ ['Is Operation', isOp ? '✅ Yes' : '❌ No'],
233
+ ],
234
+ });
235
+ });
236
+ commonRead
237
+ .command('is-operation-pending')
238
+ .description('check if an operation is pending (waiting or ready)')
239
+ .argument(...TIMELOCK_ARGUMENT)
240
+ .argument(...OPERATION_ID_ARGUMENT)
241
+ .action(async (timelock, operationIdInput) => {
242
+ const timelockContract = await getPromptTimelock(timelock);
243
+ const operationId = await promptOperationId(operationIdInput);
244
+ const isPending = await callReadMethodSilent({
245
+ contract: timelockContract,
246
+ methodName: 'isOperationPending',
247
+ payload: [[operationId]],
248
+ });
249
+ logResult({
250
+ data: [
251
+ ['Operation ID', operationId],
252
+ ['Is Pending', isPending ? '✅ Yes' : '❌ No'],
253
+ ],
254
+ });
255
+ });
256
+ commonRead
257
+ .command('is-operation-ready')
258
+ .description('check if an operation is ready for execution')
259
+ .argument(...TIMELOCK_ARGUMENT)
260
+ .argument(...OPERATION_ID_ARGUMENT)
261
+ .action(async (timelock, operationIdInput) => {
262
+ const timelockContract = await getPromptTimelock(timelock);
263
+ const operationId = await promptOperationId(operationIdInput);
264
+ const isReady = await callReadMethodSilent({
265
+ contract: timelockContract,
266
+ methodName: 'isOperationReady',
267
+ payload: [[operationId]],
268
+ });
269
+ logResult({
270
+ data: [
271
+ ['Operation ID', operationId],
272
+ ['Is Ready', isReady ? '✅ Yes' : '❌ No'],
273
+ ],
274
+ });
275
+ });
276
+ commonRead
277
+ .command('is-operation-done')
278
+ .description('check if an operation is done (executed)')
279
+ .argument(...TIMELOCK_ARGUMENT)
280
+ .argument(...OPERATION_ID_ARGUMENT)
281
+ .action(async (timelock, operationIdInput) => {
282
+ const timelockContract = await getPromptTimelock(timelock);
283
+ const operationId = await promptOperationId(operationIdInput);
284
+ const isDone = await callReadMethodSilent({
285
+ contract: timelockContract,
286
+ methodName: 'isOperationDone',
287
+ payload: [[operationId]],
288
+ });
289
+ logResult({
290
+ data: [
291
+ ['Operation ID', operationId],
292
+ ['Is Done', isDone ? '✅ Yes' : '❌ No'],
293
+ ],
294
+ });
295
+ });
296
+ commonRead
297
+ .command('get-operation-info')
298
+ .description('get comprehensive information about an operation')
299
+ .argument(...TIMELOCK_ARGUMENT)
300
+ .argument(...OPERATION_ID_ARGUMENT)
301
+ .action(async (timelock, operationIdInput) => {
302
+ const timelockContract = await getPromptTimelock(timelock);
303
+ const operationId = await promptOperationId(operationIdInput);
304
+ const publicClient = await getPublicClient();
305
+ const currentBlock = await publicClient.getBlock({ blockTag: 'latest' });
306
+ const now = currentBlock.timestamp;
307
+ const [state, timestamp, isOp, isPending, isReady, isDone] = await Promise.all([
308
+ callReadMethodSilent({
309
+ contract: timelockContract,
310
+ methodName: 'getOperationState',
311
+ payload: [[operationId]],
312
+ }),
313
+ callReadMethodSilent({
314
+ contract: timelockContract,
315
+ methodName: 'getTimestamp',
316
+ payload: [[operationId]],
317
+ }),
318
+ callReadMethodSilent({
319
+ contract: timelockContract,
320
+ methodName: 'isOperation',
321
+ payload: [[operationId]],
322
+ }),
323
+ callReadMethodSilent({
324
+ contract: timelockContract,
325
+ methodName: 'isOperationPending',
326
+ payload: [[operationId]],
327
+ }),
328
+ callReadMethodSilent({
329
+ contract: timelockContract,
330
+ methodName: 'isOperationReady',
331
+ payload: [[operationId]],
332
+ }),
333
+ callReadMethodSilent({
334
+ contract: timelockContract,
335
+ methodName: 'isOperationDone',
336
+ payload: [[operationId]],
337
+ }),
338
+ ]);
339
+ const stateNames = ['Unset', 'Waiting', 'Ready', 'Done'];
340
+ const stateName = stateNames[state] || 'Unknown';
341
+ const waitTime = timestamp > 0n && timestamp !== 1n && timestamp > now
342
+ ? timestamp - now
343
+ : 0n;
344
+ const readyDate = timestamp > 0n && timestamp !== 1n
345
+ ? new Date(Number(timestamp) * 1000).toLocaleString()
346
+ : 'N/A';
347
+ logResult({
348
+ data: [
349
+ ['Operation ID', operationId],
350
+ ['State', `${state} (${stateName})`],
351
+ ['Timestamp', timestamp.toString()],
352
+ ['Ready Date', readyDate],
353
+ ['Is Operation', isOp ? '✅ Yes' : '❌ No'],
354
+ ['Is Pending', isPending ? '✅ Yes' : '❌ No'],
355
+ ['Is Ready', isReady ? '✅ Yes' : '❌ No'],
356
+ ['Is Done', isDone ? '✅ Yes' : '❌ No'],
357
+ ['Current Block Timestamp', now.toString()],
358
+ ['Wait Time (seconds)', waitTime.toString()],
359
+ ],
360
+ });
361
+ });
362
+ //# sourceMappingURL=read.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../../../../programs/defi-wrapper/use-cases/timelock-governance/common/read.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ import { Option } from 'commander';
2
+ import { logInfo, getCommandsJson, stringToAddress, callWriteMethodWithReceipt, confirmOperation, callReadMethodSilent, addressPrompt, textPrompt, stringToBigInt, } from '../../../../../utils/index.js';
3
+ import { common } from './main.js';
4
+ import { stringToHex, isHex } from 'viem';
5
+ import { DEFAULT_PREDECESSOR, executeOperation, getPromptTimelock, OPERATION_ID_ARGUMENT, processSalt, promptOperationId, SALT_OPTION, TIMELOCK_ARGUMENT, } from '../../../../../features/defi-wrapper/index.js';
6
+ const commonWrite = common
7
+ .command('write')
8
+ .alias('w')
9
+ .description('common timelock write commands');
10
+ commonWrite.addOption(new Option('-cmd2json'));
11
+ commonWrite.on('option:-cmd2json', function () {
12
+ logInfo(getCommandsJson(commonWrite));
13
+ process.exit();
14
+ });
15
+ commonWrite
16
+ .command('execute')
17
+ .description('execute a scheduled timelock operation')
18
+ .argument(...TIMELOCK_ARGUMENT)
19
+ .argument('[target]', 'target contract address', stringToAddress)
20
+ .argument('[value]', 'ETH value to send (in wei, default: 0)', stringToBigInt, 0n)
21
+ .argument('[payload]', 'call data payload (hex)')
22
+ .option('-p, --predecessor <predecessor>', 'predecessor operation ID (bytes32 hex, default: 0x0)')
23
+ .option(...SALT_OPTION)
24
+ .action(async (timelock, target, value, payloadInput, options) => {
25
+ // Interactive prompts for missing parameters
26
+ const timelockContract = await getPromptTimelock(timelock);
27
+ if (!target) {
28
+ const targetPrompt = await addressPrompt('Enter target contract address', 'target');
29
+ target = targetPrompt.target;
30
+ }
31
+ const finalValue = value ?? 0n;
32
+ let payload;
33
+ if (!payloadInput) {
34
+ const payloadPrompt = await textPrompt('Enter call data payload (hex)', 'payload');
35
+ payloadInput = payloadPrompt.payload;
36
+ }
37
+ // Validate and convert to hex - if already hex, use as is
38
+ if (isHex(payloadInput)) {
39
+ payload = payloadInput;
40
+ }
41
+ else {
42
+ payload = stringToHex(payloadInput);
43
+ }
44
+ const predecessor = options?.predecessor
45
+ ? isHex(options.predecessor)
46
+ ? options.predecessor
47
+ : stringToHex(options.predecessor)
48
+ : DEFAULT_PREDECESSOR;
49
+ const salt = processSalt(options?.salt);
50
+ await executeOperation(timelockContract.address, target, payload, salt, 'Unknown execute operation', `Are you sure you want to execute this operation on target ${target}?`, finalValue, predecessor);
51
+ });
52
+ commonWrite
53
+ .command('cancel')
54
+ .description('cancel a scheduled timelock operation')
55
+ .argument(...TIMELOCK_ARGUMENT)
56
+ .argument(...OPERATION_ID_ARGUMENT)
57
+ .action(async (timelock, operationIdInput) => {
58
+ // Interactive prompts for missing parameters
59
+ const timelockContract = await getPromptTimelock(timelock);
60
+ const operationId = await promptOperationId(operationIdInput);
61
+ // Check operation state
62
+ const state = await callReadMethodSilent({
63
+ contract: timelockContract,
64
+ methodName: 'getOperationState',
65
+ payload: [[operationId]],
66
+ });
67
+ if (state === 0) {
68
+ logInfo('❌ Operation not found (Unset)');
69
+ return;
70
+ }
71
+ if (state === 3) {
72
+ logInfo('❌ Cannot cancel: operation already executed (Done)');
73
+ return;
74
+ }
75
+ const confirmationMessage = `Are you sure you want to cancel this operation?
76
+ Operation ID: ${operationId}`;
77
+ const confirm = await confirmOperation(confirmationMessage);
78
+ if (!confirm)
79
+ return;
80
+ await callWriteMethodWithReceipt({
81
+ contract: timelockContract,
82
+ methodName: 'cancel',
83
+ payload: [operationId],
84
+ });
85
+ });
86
+ //# sourceMappingURL=write.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["../../../../../../programs/defi-wrapper/use-cases/timelock-governance/common/write.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './main.js';
2
+ export * from './write.js';
@@ -0,0 +1,3 @@
1
+ export * from './main.js';
2
+ export * from './write.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../programs/defi-wrapper/use-cases/timelock-governance/dashboard/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const dashboardTimelockGovernance: import("commander").Command;
@@ -0,0 +1,6 @@
1
+ import { timelockGovernance } from '../main.js';
2
+ export const dashboardTimelockGovernance = timelockGovernance
3
+ .command('dashboard')
4
+ .alias('d')
5
+ .description('dashboard timelock governance commands');
6
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../../../programs/defi-wrapper/use-cases/timelock-governance/dashboard/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,CAAC,MAAM,2BAA2B,GAAG,kBAAkB;KAC1D,OAAO,CAAC,WAAW,CAAC;KACpB,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC,wCAAwC,CAAC,CAAC"}