@lidofinance/lsv-cli 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (421) hide show
  1. package/dist/abi/Dashboard.d.ts +23 -3
  2. package/dist/abi/Dashboard.js +8 -3
  3. package/dist/abi/Dashboard.js.map +1 -1
  4. package/dist/abi/LazyOracle.d.ts +364 -0
  5. package/dist/abi/LazyOracle.js +2 -0
  6. package/dist/abi/LazyOracle.js.map +1 -1
  7. package/dist/abi/OperatorGrid.d.ts +24 -0
  8. package/dist/abi/OperatorGrid.js +16 -0
  9. package/dist/abi/OperatorGrid.js.map +1 -1
  10. package/dist/abi/ValidatorConsolidationRequests.d.ts +121 -0
  11. package/dist/abi/ValidatorConsolidationRequests.js +159 -0
  12. package/dist/abi/ValidatorConsolidationRequests.js.map +1 -0
  13. package/dist/abi/VaultFactory.d.ts +16 -0
  14. package/dist/abi/VaultViewer.d.ts +0 -14
  15. package/dist/abi/VaultViewer.js +0 -19
  16. package/dist/abi/VaultViewer.js.map +1 -1
  17. package/dist/abi/defi-wrapper/Distributor.d.ts +40 -2
  18. package/dist/abi/defi-wrapper/Distributor.js +52 -2
  19. package/dist/abi/defi-wrapper/Distributor.js.map +1 -1
  20. package/dist/abi/defi-wrapper/Factory.d.ts +973 -550
  21. package/dist/abi/defi-wrapper/Factory.js +720 -763
  22. package/dist/abi/defi-wrapper/Factory.js.map +1 -1
  23. package/dist/abi/defi-wrapper/StvPool.d.ts +121 -325
  24. package/dist/abi/defi-wrapper/StvPool.js +143 -413
  25. package/dist/abi/defi-wrapper/StvPool.js.map +1 -1
  26. package/dist/abi/defi-wrapper/StvStETHPool.d.ts +398 -381
  27. package/dist/abi/defi-wrapper/StvStETHPool.js +448 -433
  28. package/dist/abi/defi-wrapper/StvStETHPool.js.map +1 -1
  29. package/dist/abi/defi-wrapper/WithdrawalQueue.d.ts +309 -175
  30. package/dist/abi/defi-wrapper/WithdrawalQueue.js +381 -206
  31. package/dist/abi/defi-wrapper/WithdrawalQueue.js.map +1 -1
  32. package/dist/abi/defi-wrapper/index.d.ts +0 -1
  33. package/dist/abi/defi-wrapper/index.js +0 -1
  34. package/dist/abi/defi-wrapper/index.js.map +1 -1
  35. package/dist/abi/index.d.ts +1 -0
  36. package/dist/abi/index.js +1 -0
  37. package/dist/abi/index.js.map +1 -1
  38. package/dist/configs/constants.d.ts +44 -2
  39. package/dist/configs/constants.js +2 -2
  40. package/dist/configs/constants.js.map +1 -1
  41. package/dist/configs/deployed.d.ts +2 -2
  42. package/dist/configs/deployed.js +48 -6
  43. package/dist/configs/deployed.js.map +1 -1
  44. package/dist/configs/utils.d.ts +1 -0
  45. package/dist/configs/utils.js +8 -0
  46. package/dist/configs/utils.js.map +1 -1
  47. package/dist/contracts/dashboard-impl.d.ts +2 -2
  48. package/dist/contracts/dashboard-impl.js +3 -2
  49. package/dist/contracts/dashboard-impl.js.map +1 -1
  50. package/dist/contracts/dashboard.d.ts +2 -2
  51. package/dist/contracts/dashboard.js +3 -2
  52. package/dist/contracts/dashboard.js.map +1 -1
  53. package/dist/contracts/defi-wrapper/distributor.d.ts +1 -1
  54. package/dist/contracts/defi-wrapper/distributor.js +3 -2
  55. package/dist/contracts/defi-wrapper/distributor.js.map +1 -1
  56. package/dist/contracts/defi-wrapper/factory.d.ts +1 -1
  57. package/dist/contracts/defi-wrapper/factory.js +3 -2
  58. package/dist/contracts/defi-wrapper/factory.js.map +1 -1
  59. package/dist/contracts/defi-wrapper/index.d.ts +0 -1
  60. package/dist/contracts/defi-wrapper/index.js +0 -1
  61. package/dist/contracts/defi-wrapper/index.js.map +1 -1
  62. package/dist/contracts/defi-wrapper/stv-pool.d.ts +2 -2
  63. package/dist/contracts/defi-wrapper/stv-pool.js +3 -2
  64. package/dist/contracts/defi-wrapper/stv-pool.js.map +1 -1
  65. package/dist/contracts/defi-wrapper/stv-steth-pool.d.ts +1 -1
  66. package/dist/contracts/defi-wrapper/stv-steth-pool.js +3 -2
  67. package/dist/contracts/defi-wrapper/stv-steth-pool.js.map +1 -1
  68. package/dist/contracts/defi-wrapper/withdrawal-queue.d.ts +1 -1
  69. package/dist/contracts/defi-wrapper/withdrawal-queue.js +3 -2
  70. package/dist/contracts/defi-wrapper/withdrawal-queue.js.map +1 -1
  71. package/dist/contracts/index.d.ts +1 -0
  72. package/dist/contracts/index.js +1 -0
  73. package/dist/contracts/index.js.map +1 -1
  74. package/dist/contracts/lazy-oracle.js +3 -2
  75. package/dist/contracts/lazy-oracle.js.map +1 -1
  76. package/dist/contracts/locator.d.ts +3 -9655
  77. package/dist/contracts/locator.js +4 -3
  78. package/dist/contracts/locator.js.map +1 -1
  79. package/dist/contracts/operator-grid.d.ts +1 -1
  80. package/dist/contracts/operator-grid.js +3 -2
  81. package/dist/contracts/operator-grid.js.map +1 -1
  82. package/dist/contracts/pdg.js +3 -2
  83. package/dist/contracts/pdg.js.map +1 -1
  84. package/dist/contracts/steth.d.ts +54 -54
  85. package/dist/contracts/steth.js +3 -2
  86. package/dist/contracts/steth.js.map +1 -1
  87. package/dist/contracts/validator-consolidation-requests.d.ts +5 -0
  88. package/dist/contracts/validator-consolidation-requests.js +13 -0
  89. package/dist/contracts/validator-consolidation-requests.js.map +1 -0
  90. package/dist/contracts/vault-factory.d.ts +3 -28346
  91. package/dist/contracts/vault-factory.js +4 -3
  92. package/dist/contracts/vault-factory.js.map +1 -1
  93. package/dist/contracts/vault-hub.js +3 -2
  94. package/dist/contracts/vault-hub.js.map +1 -1
  95. package/dist/contracts/vault-viewer.d.ts +3 -9661
  96. package/dist/contracts/vault-viewer.js +9 -7
  97. package/dist/contracts/vault-viewer.js.map +1 -1
  98. package/dist/contracts/vault.d.ts +2 -2
  99. package/dist/contracts/vault.js +3 -2
  100. package/dist/contracts/vault.js.map +1 -1
  101. package/dist/contracts/wsteth.d.ts +3 -24690
  102. package/dist/contracts/wsteth.js +4 -3
  103. package/dist/contracts/wsteth.js.map +1 -1
  104. package/dist/features/consolidation.d.ts +18 -0
  105. package/dist/features/consolidation.js +199 -0
  106. package/dist/features/consolidation.js.map +1 -0
  107. package/dist/features/defi-wrapper/create-vault.d.ts +17 -0
  108. package/dist/features/defi-wrapper/create-vault.js +137 -0
  109. package/dist/features/defi-wrapper/create-vault.js.map +1 -0
  110. package/dist/features/defi-wrapper/defi-wrapper-factory.d.ts +112 -0
  111. package/dist/features/defi-wrapper/defi-wrapper-factory.js +228 -0
  112. package/dist/features/defi-wrapper/defi-wrapper-factory.js.map +1 -0
  113. package/dist/features/defi-wrapper/index.d.ts +3 -0
  114. package/dist/features/defi-wrapper/index.js +4 -0
  115. package/dist/features/defi-wrapper/index.js.map +1 -0
  116. package/dist/features/defi-wrapper/pool-info.d.ts +35 -0
  117. package/dist/features/defi-wrapper/pool-info.js +97 -0
  118. package/dist/features/defi-wrapper/pool-info.js.map +1 -0
  119. package/dist/features/deposits/check-bls-deposits.js +2 -2
  120. package/dist/features/deposits/check-bls-deposits.js.map +1 -1
  121. package/dist/features/deposits/index.d.ts +1 -0
  122. package/dist/features/deposits/index.js +1 -0
  123. package/dist/features/deposits/index.js.map +1 -1
  124. package/dist/features/deposits/make-pdg-proof.js +1 -1
  125. package/dist/features/deposits/make-pdg-proof.js.map +1 -1
  126. package/dist/features/deposits/no-pdg.d.ts +1 -1
  127. package/dist/features/deposits/no-pdg.js +6 -3
  128. package/dist/features/deposits/no-pdg.js.map +1 -1
  129. package/dist/features/deposits/pdg.d.ts +2 -0
  130. package/dist/features/deposits/pdg.js +18 -0
  131. package/dist/features/deposits/pdg.js.map +1 -0
  132. package/dist/features/dev-tools/impersonate.d.ts +14 -0
  133. package/dist/features/dev-tools/impersonate.js +64 -0
  134. package/dist/features/dev-tools/impersonate.js.map +1 -0
  135. package/dist/features/dev-tools/index.d.ts +1 -0
  136. package/dist/features/dev-tools/index.js +2 -0
  137. package/dist/features/dev-tools/index.js.map +1 -0
  138. package/dist/features/index.d.ts +4 -1
  139. package/dist/features/index.js +4 -1
  140. package/dist/features/index.js.map +1 -1
  141. package/dist/features/metrics.d.ts +4 -0
  142. package/dist/features/metrics.js +48 -0
  143. package/dist/features/metrics.js.map +1 -0
  144. package/dist/features/pdg.js +4 -0
  145. package/dist/features/pdg.js.map +1 -1
  146. package/dist/features/utils/get-boolean.d.ts +1 -0
  147. package/dist/features/utils/get-boolean.js +13 -0
  148. package/dist/features/utils/get-boolean.js.map +1 -0
  149. package/dist/features/utils/index.d.ts +1 -0
  150. package/dist/features/utils/index.js +1 -0
  151. package/dist/features/utils/index.js.map +1 -1
  152. package/dist/features/utils/quarantine.js +2 -0
  153. package/dist/features/utils/quarantine.js.map +1 -1
  154. package/dist/features/utils/report-fresh.js +2 -3
  155. package/dist/features/utils/report-fresh.js.map +1 -1
  156. package/dist/features/vault-factory.js +2 -2
  157. package/dist/features/vault-factory.js.map +1 -1
  158. package/dist/features/vault-operations/create-vault.d.ts +4 -2
  159. package/dist/features/vault-operations/create-vault.js +11 -3
  160. package/dist/features/vault-operations/create-vault.js.map +1 -1
  161. package/dist/features/vault-operations/dashboard-by-vault.js +4 -4
  162. package/dist/features/vault-operations/dashboard-by-vault.js.map +1 -1
  163. package/dist/features/vault-operations/vault-info.js +1 -1
  164. package/dist/features/vault-operations/vault-info.js.map +1 -1
  165. package/dist/features/vault-operations/vault-overview.js +1 -1
  166. package/dist/features/vault-operations/vault-overview.js.map +1 -1
  167. package/dist/features/vault-operations/vault-roles.js +3 -0
  168. package/dist/features/vault-operations/vault-roles.js.map +1 -1
  169. package/dist/features/vault-operations/vaults-by-role.js +29 -10
  170. package/dist/features/vault-operations/vaults-by-role.js.map +1 -1
  171. package/dist/features/vault.js +4 -2
  172. package/dist/features/vault.js.map +1 -1
  173. package/dist/index.js +7 -2
  174. package/dist/index.js.map +1 -1
  175. package/dist/programs/account/read.js +1 -1
  176. package/dist/programs/account/read.js.map +1 -1
  177. package/dist/programs/account/write.js +14 -0
  178. package/dist/programs/account/write.js.map +1 -1
  179. package/dist/programs/contracts/dashboard/read.js +7 -7
  180. package/dist/programs/contracts/dashboard/read.js.map +1 -1
  181. package/dist/programs/contracts/dashboard/write.js +42 -42
  182. package/dist/programs/contracts/dashboard/write.js.map +1 -1
  183. package/dist/programs/contracts/hub/config.js +0 -10
  184. package/dist/programs/contracts/hub/config.js.map +1 -1
  185. package/dist/programs/contracts/hub/read.js +63 -2
  186. package/dist/programs/contracts/hub/read.js.map +1 -1
  187. package/dist/programs/contracts/hub/write.js +1 -1
  188. package/dist/programs/contracts/hub/write.js.map +1 -1
  189. package/dist/programs/contracts/pdg/read.js +2 -1
  190. package/dist/programs/contracts/pdg/read.js.map +1 -1
  191. package/dist/programs/contracts/pdg/write.js +37 -3
  192. package/dist/programs/contracts/pdg/write.js.map +1 -1
  193. package/dist/programs/contracts/vault/write.js +16 -16
  194. package/dist/programs/contracts/vault/write.js.map +1 -1
  195. package/dist/programs/contracts/vault-factory/write.js +2 -2
  196. package/dist/programs/contracts/vault-factory/write.js.map +1 -1
  197. package/dist/programs/defi-wrapper/contracts/distributor/read.js +1 -1
  198. package/dist/programs/defi-wrapper/contracts/distributor/read.js.map +1 -1
  199. package/dist/programs/defi-wrapper/contracts/distributor/write.js +3 -3
  200. package/dist/programs/defi-wrapper/contracts/distributor/write.js.map +1 -1
  201. package/dist/programs/defi-wrapper/contracts/factory/read.js +2 -8
  202. package/dist/programs/defi-wrapper/contracts/factory/read.js.map +1 -1
  203. package/dist/programs/defi-wrapper/contracts/factory/write.js +90 -273
  204. package/dist/programs/defi-wrapper/contracts/factory/write.js.map +1 -1
  205. package/dist/programs/defi-wrapper/contracts/index.d.ts +0 -1
  206. package/dist/programs/defi-wrapper/contracts/index.js +0 -1
  207. package/dist/programs/defi-wrapper/contracts/index.js.map +1 -1
  208. package/dist/programs/defi-wrapper/contracts/stv-pool/config.js +22 -32
  209. package/dist/programs/defi-wrapper/contracts/stv-pool/config.js.map +1 -1
  210. package/dist/programs/defi-wrapper/contracts/stv-pool/read.js +17 -24
  211. package/dist/programs/defi-wrapper/contracts/stv-pool/read.js.map +1 -1
  212. package/dist/programs/defi-wrapper/contracts/stv-pool/write.js +25 -174
  213. package/dist/programs/defi-wrapper/contracts/stv-pool/write.js.map +1 -1
  214. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/config.js +0 -90
  215. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/config.js.map +1 -1
  216. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/read.js +16 -23
  217. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/read.js.map +1 -1
  218. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/write.js +34 -231
  219. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/write.js.map +1 -1
  220. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/config.js +1 -91
  221. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/config.js.map +1 -1
  222. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/read.js +8 -27
  223. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/read.js.map +1 -1
  224. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/write.js +55 -24
  225. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/write.js.map +1 -1
  226. package/dist/programs/defi-wrapper/index.d.ts +1 -0
  227. package/dist/programs/defi-wrapper/index.js +1 -0
  228. package/dist/programs/defi-wrapper/index.js.map +1 -1
  229. package/dist/programs/defi-wrapper/use-cases/health/index.js.map +1 -0
  230. package/dist/programs/defi-wrapper/use-cases/health/main.d.ts +1 -0
  231. package/dist/programs/defi-wrapper/use-cases/health/main.js +6 -0
  232. package/dist/programs/defi-wrapper/use-cases/health/main.js.map +1 -0
  233. package/dist/programs/defi-wrapper/use-cases/health/read.js +338 -0
  234. package/dist/programs/defi-wrapper/use-cases/health/read.js.map +1 -0
  235. package/dist/programs/defi-wrapper/use-cases/health/utils.d.ts +56 -0
  236. package/dist/programs/defi-wrapper/use-cases/health/utils.js +389 -0
  237. package/dist/programs/defi-wrapper/use-cases/health/utils.js.map +1 -0
  238. package/dist/programs/defi-wrapper/use-cases/health/write.js +254 -0
  239. package/dist/programs/defi-wrapper/use-cases/health/write.js.map +1 -0
  240. package/dist/programs/defi-wrapper/use-cases/index.d.ts +3 -0
  241. package/dist/programs/defi-wrapper/use-cases/index.js +4 -0
  242. package/dist/programs/defi-wrapper/use-cases/index.js.map +1 -0
  243. package/dist/programs/defi-wrapper/use-cases/main.d.ts +1 -0
  244. package/dist/programs/defi-wrapper/use-cases/main.js +6 -0
  245. package/dist/programs/defi-wrapper/use-cases/main.js.map +1 -0
  246. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/create-pool.d.ts +1 -0
  247. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/create-pool.js +143 -0
  248. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/create-pool.js.map +1 -0
  249. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/index.d.ts +3 -0
  250. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/index.js +5 -0
  251. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/index.js.map +1 -0
  252. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/main.d.ts +1 -0
  253. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/main.js +6 -0
  254. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/main.js.map +1 -0
  255. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/read.d.ts +1 -0
  256. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/read.js +130 -0
  257. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/read.js.map +1 -0
  258. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/write.d.ts +1 -0
  259. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/write.js +13 -0
  260. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/write.js.map +1 -0
  261. package/dist/programs/dev-tools/anvil/index.d.ts +2 -0
  262. package/dist/programs/dev-tools/anvil/index.js +3 -0
  263. package/dist/programs/dev-tools/anvil/index.js.map +1 -0
  264. package/dist/programs/dev-tools/anvil/main.d.ts +1 -0
  265. package/dist/programs/dev-tools/anvil/main.js +5 -0
  266. package/dist/programs/dev-tools/anvil/main.js.map +1 -0
  267. package/dist/programs/dev-tools/anvil/write.d.ts +1 -0
  268. package/dist/programs/dev-tools/anvil/write.js +122 -0
  269. package/dist/programs/dev-tools/anvil/write.js.map +1 -0
  270. package/dist/programs/dev-tools/defi-wrapper/index.d.ts +2 -0
  271. package/dist/programs/dev-tools/defi-wrapper/index.js +3 -0
  272. package/dist/programs/dev-tools/defi-wrapper/index.js.map +1 -0
  273. package/dist/programs/dev-tools/defi-wrapper/main.d.ts +1 -0
  274. package/dist/programs/dev-tools/defi-wrapper/main.js +6 -0
  275. package/dist/programs/dev-tools/defi-wrapper/main.js.map +1 -0
  276. package/dist/programs/dev-tools/defi-wrapper/write.d.ts +1 -0
  277. package/dist/programs/dev-tools/defi-wrapper/write.js +77 -0
  278. package/dist/programs/dev-tools/defi-wrapper/write.js.map +1 -0
  279. package/dist/programs/dev-tools/index.d.ts +3 -0
  280. package/dist/programs/dev-tools/index.js +4 -0
  281. package/dist/programs/dev-tools/index.js.map +1 -0
  282. package/dist/programs/dev-tools/main.d.ts +1 -0
  283. package/dist/programs/dev-tools/main.js +6 -0
  284. package/dist/programs/dev-tools/main.js.map +1 -0
  285. package/dist/programs/index.d.ts +1 -0
  286. package/dist/programs/index.js +1 -0
  287. package/dist/programs/index.js.map +1 -1
  288. package/dist/programs/pdg-helpers.js +19 -15
  289. package/dist/programs/pdg-helpers.js.map +1 -1
  290. package/dist/programs/use-cases/consolidation/index.d.ts +2 -0
  291. package/dist/programs/use-cases/consolidation/index.js +3 -0
  292. package/dist/programs/use-cases/consolidation/index.js.map +1 -0
  293. package/dist/programs/use-cases/consolidation/main.d.ts +1 -0
  294. package/dist/programs/use-cases/consolidation/main.js +5 -0
  295. package/dist/programs/use-cases/consolidation/main.js.map +1 -0
  296. package/dist/programs/use-cases/consolidation/write.d.ts +1 -0
  297. package/dist/programs/use-cases/consolidation/write.js +78 -0
  298. package/dist/programs/use-cases/consolidation/write.js.map +1 -0
  299. package/dist/programs/use-cases/deposits/read.js +4 -0
  300. package/dist/programs/use-cases/deposits/read.js.map +1 -1
  301. package/dist/programs/use-cases/deposits/write.js +41 -11
  302. package/dist/programs/use-cases/deposits/write.js.map +1 -1
  303. package/dist/programs/use-cases/index.d.ts +1 -0
  304. package/dist/programs/use-cases/index.js +1 -0
  305. package/dist/programs/use-cases/index.js.map +1 -1
  306. package/dist/programs/use-cases/metrics/read.js +9 -20
  307. package/dist/programs/use-cases/metrics/read.js.map +1 -1
  308. package/dist/programs/use-cases/vault-operations/create-vault.js +2 -2
  309. package/dist/programs/use-cases/vault-operations/create-vault.js.map +1 -1
  310. package/dist/providers/wallet.d.ts +14539 -63
  311. package/dist/providers/wallet.js +14 -4
  312. package/dist/providers/wallet.js.map +1 -1
  313. package/dist/tests/utils/bigInt.test.d.ts +1 -0
  314. package/dist/tests/utils/bigInt.test.js +61 -0
  315. package/dist/tests/utils/bigInt.test.js.map +1 -0
  316. package/dist/types/config.d.ts +1 -0
  317. package/dist/utils/arguments.d.ts +4 -0
  318. package/dist/utils/arguments.js +40 -1
  319. package/dist/utils/arguments.js.map +1 -1
  320. package/dist/utils/bigInt.d.ts +2 -0
  321. package/dist/utils/bigInt.js +3 -0
  322. package/dist/utils/bigInt.js.map +1 -0
  323. package/dist/utils/bls.d.ts +2 -2
  324. package/dist/utils/bls.js +8 -7
  325. package/dist/utils/bls.js.map +1 -1
  326. package/dist/utils/cache.d.ts +30 -0
  327. package/dist/utils/cache.js +140 -3
  328. package/dist/utils/cache.js.map +1 -1
  329. package/dist/utils/calculate-overview-v2.js +1 -2
  330. package/dist/utils/calculate-overview-v2.js.map +1 -1
  331. package/dist/utils/calculate-overview.js +1 -2
  332. package/dist/utils/calculate-overview.js.map +1 -1
  333. package/dist/utils/charts/blessed/charts-apr.js +8 -18
  334. package/dist/utils/charts/blessed/charts-apr.js.map +1 -1
  335. package/dist/utils/charts/blessed/charts-rewards.js +7 -17
  336. package/dist/utils/charts/blessed/charts-rewards.js.map +1 -1
  337. package/dist/utils/charts/blessed/datasets/prepare-metrics.d.ts +5 -5
  338. package/dist/utils/charts/blessed/datasets/prepare-metrics.js +11 -11
  339. package/dist/utils/charts/blessed/datasets/prepare-metrics.js.map +1 -1
  340. package/dist/utils/charts/simple/simple-charts.js +8 -18
  341. package/dist/utils/charts/simple/simple-charts.js.map +1 -1
  342. package/dist/utils/commands/confirmations.js +1 -1
  343. package/dist/utils/commands/confirmations.js.map +1 -1
  344. package/dist/utils/commands/report.d.ts +1 -1
  345. package/dist/utils/commands/report.js +3 -2
  346. package/dist/utils/commands/report.js.map +1 -1
  347. package/dist/utils/consolidation/checks.d.ts +7 -0
  348. package/dist/utils/consolidation/checks.js +40 -0
  349. package/dist/utils/consolidation/checks.js.map +1 -0
  350. package/dist/utils/consolidation/confirms.d.ts +4 -0
  351. package/dist/utils/consolidation/confirms.js +41 -0
  352. package/dist/utils/consolidation/confirms.js.map +1 -0
  353. package/dist/utils/consolidation/index.d.ts +6 -0
  354. package/dist/utils/consolidation/index.js +7 -0
  355. package/dist/utils/consolidation/index.js.map +1 -0
  356. package/dist/utils/consolidation/logs.d.ts +3 -0
  357. package/dist/utils/consolidation/logs.js +41 -0
  358. package/dist/utils/consolidation/logs.js.map +1 -0
  359. package/dist/utils/consolidation/pubkeys.d.ts +8 -0
  360. package/dist/utils/consolidation/pubkeys.js +40 -0
  361. package/dist/utils/consolidation/pubkeys.js.map +1 -0
  362. package/dist/utils/consolidation/types.d.ts +11 -0
  363. package/dist/utils/consolidation/types.js +2 -0
  364. package/dist/utils/consolidation/types.js.map +1 -0
  365. package/dist/utils/consolidation/validator-info.d.ts +4 -0
  366. package/dist/utils/consolidation/validator-info.js +34 -0
  367. package/dist/utils/consolidation/validator-info.js.map +1 -0
  368. package/dist/utils/consolidation/validators-checks.d.ts +10 -0
  369. package/dist/utils/consolidation/validators-checks.js +58 -0
  370. package/dist/utils/consolidation/validators-checks.js.map +1 -0
  371. package/dist/utils/fetchCL.d.ts +35 -14
  372. package/dist/utils/fetchCL.js +78 -5
  373. package/dist/utils/fetchCL.js.map +1 -1
  374. package/dist/utils/health/health-utils.d.ts +54 -54
  375. package/dist/utils/index.d.ts +1 -0
  376. package/dist/utils/index.js +1 -0
  377. package/dist/utils/index.js.map +1 -1
  378. package/dist/utils/read-programs-by-abi.d.ts +1 -1
  379. package/dist/utils/read-programs-by-abi.js +4 -18
  380. package/dist/utils/read-programs-by-abi.js.map +1 -1
  381. package/dist/utils/report/report.js +1 -1
  382. package/dist/utils/report/report.js.map +1 -1
  383. package/dist/utils/report/statistic-data.js +3 -3
  384. package/dist/utils/report/statistic-data.js.map +1 -1
  385. package/dist/utils/statistic/report-statistic.d.ts +6 -5
  386. package/dist/utils/statistic/report-statistic.js +15 -16
  387. package/dist/utils/statistic/report-statistic.js.map +1 -1
  388. package/dist/utils/transactions/tx-private-key.js +14 -9
  389. package/dist/utils/transactions/tx-private-key.js.map +1 -1
  390. package/dist/utils/transactions/tx-wc.d.ts +5 -3
  391. package/dist/utils/transactions/tx-wc.js +21 -10
  392. package/dist/utils/transactions/tx-wc.js.map +1 -1
  393. package/dist/utils/transactions/types.d.ts +4 -2
  394. package/dist/utils/wallet-connect.js +3 -3
  395. package/dist/utils/wallet-connect.js.map +1 -1
  396. package/dist/version/index.js +1 -1
  397. package/package.json +2 -2
  398. package/dist/abi/defi-wrapper/StvStrategyPool.d.ts +0 -1769
  399. package/dist/abi/defi-wrapper/StvStrategyPool.js +0 -2319
  400. package/dist/abi/defi-wrapper/StvStrategyPool.js.map +0 -1
  401. package/dist/contracts/defi-wrapper/stv-strategy-pool.d.ts +0 -4
  402. package/dist/contracts/defi-wrapper/stv-strategy-pool.js +0 -11
  403. package/dist/contracts/defi-wrapper/stv-strategy-pool.js.map +0 -1
  404. package/dist/features/defi-wrapper-factory.d.ts +0 -18
  405. package/dist/features/defi-wrapper-factory.js +0 -28
  406. package/dist/features/defi-wrapper-factory.js.map +0 -1
  407. package/dist/programs/defi-wrapper/contracts/stv-strategy-pool/config.d.ts +0 -3
  408. package/dist/programs/defi-wrapper/contracts/stv-strategy-pool/config.js +0 -214
  409. package/dist/programs/defi-wrapper/contracts/stv-strategy-pool/config.js.map +0 -1
  410. package/dist/programs/defi-wrapper/contracts/stv-strategy-pool/index.js.map +0 -1
  411. package/dist/programs/defi-wrapper/contracts/stv-strategy-pool/main.d.ts +0 -1
  412. package/dist/programs/defi-wrapper/contracts/stv-strategy-pool/main.js +0 -6
  413. package/dist/programs/defi-wrapper/contracts/stv-strategy-pool/main.js.map +0 -1
  414. package/dist/programs/defi-wrapper/contracts/stv-strategy-pool/read.js +0 -77
  415. package/dist/programs/defi-wrapper/contracts/stv-strategy-pool/read.js.map +0 -1
  416. package/dist/programs/defi-wrapper/contracts/stv-strategy-pool/write.js +0 -370
  417. package/dist/programs/defi-wrapper/contracts/stv-strategy-pool/write.js.map +0 -1
  418. /package/dist/programs/defi-wrapper/{contracts/stv-strategy-pool → use-cases/health}/index.d.ts +0 -0
  419. /package/dist/programs/defi-wrapper/{contracts/stv-strategy-pool → use-cases/health}/index.js +0 -0
  420. /package/dist/programs/defi-wrapper/{contracts/stv-strategy-pool → use-cases/health}/read.d.ts +0 -0
  421. /package/dist/programs/defi-wrapper/{contracts/stv-strategy-pool → use-cases/health}/write.d.ts +0 -0
@@ -1,16 +1,17 @@
1
- import { getContract, createPublicClient, http } from 'viem';
1
+ import { getContract, createPublicClient, http, } from 'viem';
2
2
  import { WstEthAbi } from '../abi/index.js';
3
3
  import { getChain, getElUrl } from '../configs/index.js';
4
4
  import { getLocatorContract } from './index.js';
5
5
  export const getWstethContract = async () => {
6
- const locator = getLocatorContract();
6
+ const locator = await getLocatorContract();
7
7
  const elUrl = getElUrl();
8
+ const chain = await getChain();
8
9
  const address = await locator.read.wstETH();
9
10
  return getContract({
10
11
  address: address,
11
12
  abi: WstEthAbi,
12
13
  client: createPublicClient({
13
- chain: getChain(),
14
+ chain,
14
15
  transport: http(elUrl),
15
16
  }),
16
17
  });
@@ -1 +1 @@
1
- {"version":3,"file":"wsteth.js","sourceRoot":"","sources":["../../contracts/wsteth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;IAC1C,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAE5C,OAAO,WAAW,CAAC;QACjB,OAAO,EAAE,OAAO;QAChB,GAAG,EAAE,SAAS;QACd,MAAM,EAAE,kBAAkB,CAAC;YACzB,KAAK,EAAE,QAAQ,EAAE;YACjB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC;SACvB,CAAC;KACH,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"wsteth.js","sourceRoot":"","sources":["../../contracts/wsteth.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,IAAI,GAGL,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,IAEpC,EAAE;IACF,MAAM,OAAO,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAE5C,OAAO,WAAW,CAAC;QACjB,OAAO,EAAE,OAAO;QAChB,GAAG,EAAE,SAAS;QACd,MAAM,EAAE,kBAAkB,CAAC;YACzB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC;SACvB,CAAC;KACH,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { Address } from 'viem';
2
+ import { DashboardContract } from '../contracts/index.js';
3
+ import { PopulatedTx } from '../utils/index.js';
4
+ import { TargetAndSourceValidators } from '../utils/consolidation/types.js';
5
+ export declare const consolidationRequestsAndIncreaseFeeExemption: ({ targetAndSourceValidators, feeExemption, dashboard, }: {
6
+ targetAndSourceValidators: TargetAndSourceValidators;
7
+ feeExemption: bigint;
8
+ dashboard: Address;
9
+ }) => Promise<PopulatedTx[]>;
10
+ export declare const consolidateAndIncreaseFeeExemptionWithoutBatching: ({ targetAndSourceValidators, feeExemption, dashboard, }: {
11
+ targetAndSourceValidators: TargetAndSourceValidators;
12
+ feeExemption: bigint;
13
+ dashboard: Address;
14
+ }) => Promise<void>;
15
+ export declare const confirmNewFeeExemption: (dashboardContract: DashboardContract, newFeeExemption: bigint) => Promise<{
16
+ isNeedToIncreaseFeeExemption: boolean;
17
+ settledGrowth: bigint;
18
+ }>;
@@ -0,0 +1,199 @@
1
+ import { hexToBigInt, decodeFunctionData, isHex, formatEther, } from 'viem';
2
+ import { getPublicClient } from '../providers/index.js';
3
+ import { getDashboardContract, getValidatorConsolidationRequestsContract, } from '../contracts/index.js';
4
+ import { callReadMethodSilent, showSpinner, callWriteMethodWithReceipt, printError, confirmOperation, callWriteMethodWithReceiptBatchCalls, flattenSourcePubkeys, getSourceAndTargetPubkeysFromEncodedCall, addDummyTargetAndSourceValidator, logCancel, } from '../utils/index.js';
5
+ import { DashboardAbi } from '../abi/index.js';
6
+ // https://eips.ethereum.org/EIPS/eip-7251
7
+ const CONSOLIDATION_REQUEST_PREDEPLOY_ADDRESS = '0x0000BBdDc7CE488642fb579F8B00f3a590007251';
8
+ const getConsolidationRequestFee = async () => {
9
+ const publicClient = await getPublicClient();
10
+ const hideSpinnerGetFeePerRequest = showSpinner();
11
+ const { data: feePerRequestData } = await publicClient.call({
12
+ to: CONSOLIDATION_REQUEST_PREDEPLOY_ADDRESS,
13
+ data: '0x',
14
+ blockTag: 'latest',
15
+ });
16
+ hideSpinnerGetFeePerRequest();
17
+ if (!feePerRequestData || feePerRequestData === '0x') {
18
+ throw new Error('Fee read returned empty or invalid data');
19
+ }
20
+ if (!isHex(feePerRequestData)) {
21
+ throw new Error(`Unexpected data format: ${feePerRequestData}`);
22
+ }
23
+ const hexBody = feePerRequestData.startsWith('0x')
24
+ ? feePerRequestData.slice(2)
25
+ : feePerRequestData;
26
+ if (hexBody.length !== 64) {
27
+ throw new Error(`Unexpected data length (${hexBody.length} hex chars, expected 64)`);
28
+ }
29
+ return hexToBigInt(feePerRequestData);
30
+ };
31
+ const consolidateRequest = async ({ encodedCall, feePerRequest, }) => {
32
+ const populatedTx = {
33
+ to: CONSOLIDATION_REQUEST_PREDEPLOY_ADDRESS,
34
+ data: encodedCall,
35
+ value: feePerRequest,
36
+ };
37
+ await callWriteMethodWithReceiptBatchCalls({
38
+ calls: [populatedTx],
39
+ withSpinner: true,
40
+ silent: false,
41
+ skipError: false,
42
+ });
43
+ };
44
+ const addFeeExemption = async ({ feeExemptionEncodedCall, balanceToAdjust, dashboard, }) => {
45
+ const { functionName, args } = decodeFunctionData({
46
+ abi: DashboardAbi,
47
+ data: feeExemptionEncodedCall,
48
+ });
49
+ if (functionName !== 'addFeeExemption')
50
+ throw new Error('functionName is not addFeeExemption');
51
+ const decodedBalanceToAdjust = args[0];
52
+ if (decodedBalanceToAdjust !== balanceToAdjust)
53
+ throw new Error('decodedBalanceToAdjust is not equal to balanceToAdjust');
54
+ await callWriteMethodWithReceipt({
55
+ contract: await getDashboardContract(dashboard),
56
+ methodName: 'addFeeExemption',
57
+ payload: [balanceToAdjust],
58
+ });
59
+ };
60
+ export const consolidationRequestsAndIncreaseFeeExemption = async ({ targetAndSourceValidators, feeExemption, dashboard, }) => {
61
+ const publicClient = await getPublicClient();
62
+ const targetPubkeys = [...targetAndSourceValidators.keys()];
63
+ const sourcePubkeysFlattened = flattenSourcePubkeys(targetAndSourceValidators);
64
+ const consolidationContract = await getValidatorConsolidationRequestsContract();
65
+ const { data } = await publicClient.call({
66
+ to: CONSOLIDATION_REQUEST_PREDEPLOY_ADDRESS,
67
+ data: '0x',
68
+ blockTag: 'latest',
69
+ });
70
+ if (!data)
71
+ throw new Error('Fee per request read method returned empty data');
72
+ const feePerRequest = hexToBigInt(data);
73
+ let feeExemptionEncodedCall;
74
+ let populatedTxs = [];
75
+ if (targetAndSourceValidators.size > 0) {
76
+ // 1. Fetch consolidation request encoded calls and increase fee exemption amount encoded call.
77
+ const [feeExemptionEncodedCallResult, consolidationRequestEncodedCalls] = await callReadMethodSilent(consolidationContract, 'getConsolidationRequestsAndFeeExemptionEncodedCalls', [sourcePubkeysFlattened, targetPubkeys, dashboard, feeExemption]);
78
+ feeExemptionEncodedCall = feeExemptionEncodedCallResult;
79
+ // 2. Create populated transactions for consolidation requests
80
+ populatedTxs = consolidationRequestEncodedCalls.map((call) => {
81
+ return {
82
+ to: CONSOLIDATION_REQUEST_PREDEPLOY_ADDRESS,
83
+ data: call,
84
+ value: feePerRequest,
85
+ };
86
+ });
87
+ }
88
+ else {
89
+ addDummyTargetAndSourceValidator(targetAndSourceValidators, feeExemption);
90
+ [feeExemptionEncodedCall] =
91
+ await getConsolidationRequestsAndFeeExemptionEncodedCalls(targetAndSourceValidators, dashboard, feeExemption);
92
+ }
93
+ // 3. Create populated transaction to increase the fee exemption amount
94
+ if (feeExemption > 0n) {
95
+ populatedTxs.push({
96
+ to: dashboard,
97
+ data: feeExemptionEncodedCall,
98
+ });
99
+ }
100
+ return populatedTxs;
101
+ };
102
+ const getConsolidationRequestsAndFeeExemptionEncodedCalls = async (targetAndSourceValidators, dashboard, feeExemption) => {
103
+ const targetPubkeys = [...targetAndSourceValidators.keys()];
104
+ const sourcePubkeysFlattened = flattenSourcePubkeys(targetAndSourceValidators);
105
+ const consolidationContract = await getValidatorConsolidationRequestsContract();
106
+ const [feeExemptionEncodedCall, consolidationRequestEncodedCalls] = await callReadMethodSilent(consolidationContract, 'getConsolidationRequestsAndFeeExemptionEncodedCalls', [sourcePubkeysFlattened, targetPubkeys, dashboard, feeExemption]);
107
+ return [feeExemptionEncodedCall, consolidationRequestEncodedCalls];
108
+ };
109
+ export const consolidateAndIncreaseFeeExemptionWithoutBatching = async ({ targetAndSourceValidators, feeExemption, dashboard, }) => {
110
+ let currentFeeExemption = 0n;
111
+ const consolidatedSourcePubkeys = [];
112
+ try {
113
+ let feeExemptionEncodedCall;
114
+ let consolidationRequestEncodedCalls;
115
+ if (targetAndSourceValidators.size > 0) {
116
+ [feeExemptionEncodedCall, consolidationRequestEncodedCalls] =
117
+ await getConsolidationRequestsAndFeeExemptionEncodedCalls(targetAndSourceValidators, dashboard, feeExemption);
118
+ for (const encodedCall of consolidationRequestEncodedCalls) {
119
+ const { sourcePubkey, targetPubkey } = getSourceAndTargetPubkeysFromEncodedCall(encodedCall);
120
+ const feePerRequest = await getConsolidationRequestFee();
121
+ const lines = [
122
+ 'Are you sure you want to consolidate the following validators?\n',
123
+ `Source: ${sourcePubkey}\nTarget: ${targetPubkey}\n`,
124
+ `Fee Per Request: ${formatEther(feePerRequest)} ETH (wei: ${feePerRequest})`,
125
+ ];
126
+ const confirmFileContent = await confirmOperation(lines.join('\n'));
127
+ if (!confirmFileContent)
128
+ throw new Error('User cancelled consolidation');
129
+ await consolidateRequest({
130
+ encodedCall: encodedCall,
131
+ feePerRequest: feePerRequest,
132
+ });
133
+ currentFeeExemption +=
134
+ targetAndSourceValidators
135
+ .get(targetPubkey)
136
+ ?.sourceValidators.get(sourcePubkey)?.balance ?? 0n;
137
+ consolidatedSourcePubkeys.push(sourcePubkey);
138
+ }
139
+ }
140
+ else {
141
+ // If there are no validators to consolidate,
142
+ // add a dummy target and source validator to call addFeeExemption method only
143
+ addDummyTargetAndSourceValidator(targetAndSourceValidators, feeExemption);
144
+ [feeExemptionEncodedCall] =
145
+ await getConsolidationRequestsAndFeeExemptionEncodedCalls(targetAndSourceValidators, dashboard, feeExemption);
146
+ }
147
+ if (feeExemption > 0n) {
148
+ const lines = [
149
+ 'Are you sure you want to increase the fee exemption amount?\n',
150
+ `Balance To Adjust: ${formatEther(feeExemption)} ETH (wei: ${feeExemption})`,
151
+ ];
152
+ const confirmFileContent = await confirmOperation(lines.join('\n'));
153
+ if (!confirmFileContent)
154
+ throw new Error('User cancelled increasing fee exemption amount');
155
+ await addFeeExemption({
156
+ feeExemptionEncodedCall: feeExemptionEncodedCall,
157
+ balanceToAdjust: feeExemption,
158
+ dashboard: dashboard,
159
+ });
160
+ }
161
+ }
162
+ catch (error) {
163
+ const message = `Error when consolidating and increasing fee exemption without batching.
164
+ ${feeExemption > 0n ? `The balance that should be consolidated is ${formatEther(feeExemption)} ETH.` : ''}
165
+ ${feeExemption > 0n ? `The balance you have consolidated is ${formatEther(currentFeeExemption)} ETH.` : ''}
166
+ ${feeExemption > 0n ? `The remaining balance to be consolidated is ${formatEther(feeExemption - currentFeeExemption)} ETH.` : ''}
167
+ ${consolidatedSourcePubkeys.length > 0 ? `Source pubkeys that were consolidated: ${consolidatedSourcePubkeys.join('\n')}` : ''}
168
+ `;
169
+ printError(error, message);
170
+ }
171
+ };
172
+ export const confirmNewFeeExemption = async (dashboardContract, newFeeExemption) => {
173
+ const settledGrowth = await callReadMethodSilent(dashboardContract, 'settledGrowth');
174
+ if (settledGrowth < newFeeExemption) {
175
+ return {
176
+ isNeedToIncreaseFeeExemption: true,
177
+ settledGrowth: settledGrowth,
178
+ };
179
+ }
180
+ const confirmNewFeeExemption = await confirmOperation(`Do you want to increase the fee exemption to ${formatEther(newFeeExemption)} ETH?
181
+ Current settled growth: ${formatEther(settledGrowth)} ETH`);
182
+ if (!confirmNewFeeExemption) {
183
+ const confirmUseSettledGrowth = await confirmOperation(`Do you want to skip increasing fee exemption and use current settled growth?
184
+ Current settled growth: ${formatEther(settledGrowth)} ETH`);
185
+ if (!confirmUseSettledGrowth) {
186
+ logCancel('The user has canceled the use of settled growth');
187
+ throw new Error('User cancelled consolidation');
188
+ }
189
+ return {
190
+ isNeedToIncreaseFeeExemption: false,
191
+ settledGrowth: settledGrowth,
192
+ };
193
+ }
194
+ return {
195
+ isNeedToIncreaseFeeExemption: true,
196
+ settledGrowth: settledGrowth,
197
+ };
198
+ };
199
+ //# sourceMappingURL=consolidation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consolidation.js","sourceRoot":"","sources":["../../features/consolidation.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,WAAW,EACX,kBAAkB,EAClB,KAAK,EACL,WAAW,GACZ,MAAM,MAAM,CAAC;AAEd,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EACL,oBAAoB,EACpB,yCAAyC,GAE1C,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,oBAAoB,EAEpB,WAAW,EACX,0BAA0B,EAC1B,UAAU,EACV,gBAAgB,EAChB,oCAAoC,EACpC,oBAAoB,EACpB,wCAAwC,EACxC,gCAAgC,EAChC,SAAS,GACV,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AAGnC,0CAA0C;AAC1C,MAAM,uCAAuC,GAC3C,4CAA4C,CAAC;AAE/C,MAAM,0BAA0B,GAAG,KAAK,IAAqB,EAAE;IAC7D,MAAM,YAAY,GAAG,MAAM,eAAe,EAAE,CAAC;IAE7C,MAAM,2BAA2B,GAAG,WAAW,EAAE,CAAC;IAElD,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC;QAC1D,EAAE,EAAE,uCAAuC;QAC3C,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAC;IAEH,2BAA2B,EAAE,CAAC;IAE9B,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,2BAA2B,iBAAiB,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC;QAChD,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5B,CAAC,CAAC,iBAAiB,CAAC;IAEtB,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,2BAA2B,OAAO,CAAC,MAAM,0BAA0B,CACpE,CAAC;IACJ,CAAC;IAED,OAAO,WAAW,CAAC,iBAAiB,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,KAAK,EAAE,EAChC,WAAW,EACX,aAAa,GAId,EAAiB,EAAE;IAClB,MAAM,WAAW,GAAgB;QAC/B,EAAE,EAAE,uCAAuC;QAC3C,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,aAAa;KACrB,CAAC;IACF,MAAM,oCAAoC,CAAC;QACzC,KAAK,EAAE,CAAC,WAAW,CAAC;QACpB,WAAW,EAAE,IAAI;QACjB,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,KAAK;KACjB,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,KAAK,EAAE,EAC7B,uBAAuB,EACvB,eAAe,EACf,SAAS,GAKV,EAAiB,EAAE;IAClB,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC;QAChD,GAAG,EAAE,YAAY;QACjB,IAAI,EAAE,uBAAuB;KAC9B,CAAC,CAAC;IAEH,IAAI,YAAY,KAAK,iBAAiB;QACpC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAEzD,MAAM,sBAAsB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACvC,IAAI,sBAAsB,KAAK,eAAe;QAC5C,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAE5E,MAAM,0BAA0B,CAAC;QAC/B,QAAQ,EAAE,MAAM,oBAAoB,CAAC,SAAS,CAAC;QAC/C,UAAU,EAAE,iBAAiB;QAC7B,OAAO,EAAE,CAAC,eAAe,CAAC;KAC3B,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,4CAA4C,GAAG,KAAK,EAAE,EACjE,yBAAyB,EACzB,YAAY,EACZ,SAAS,GAKV,EAAE,EAAE;IACH,MAAM,YAAY,GAAG,MAAM,eAAe,EAAE,CAAC;IAE7C,MAAM,aAAa,GAAG,CAAC,GAAG,yBAAyB,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,sBAAsB,GAAG,oBAAoB,CACjD,yBAAyB,CAC1B,CAAC;IAEF,MAAM,qBAAqB,GACzB,MAAM,yCAAyC,EAAE,CAAC;IAEpD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC;QACvC,EAAE,EAAE,uCAAuC;QAC3C,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAC9E,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,uBAA4B,CAAC;IACjC,IAAI,YAAY,GAAkB,EAAE,CAAC;IAErC,IAAI,yBAAyB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACvC,+FAA+F;QAC/F,MAAM,CAAC,6BAA6B,EAAE,gCAAgC,CAAC,GACrE,MAAM,oBAAoB,CACxB,qBAAqB,EACrB,qDAAqD,EACrD,CAAC,sBAAsB,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,CAAC,CACjE,CAAC;QACJ,uBAAuB,GAAG,6BAA6B,CAAC;QAExD,8DAA8D;QAC9D,YAAY,GAAG,gCAAgC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3D,OAAO;gBACL,EAAE,EAAE,uCAAuC;gBAC3C,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,aAAa;aACrB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,gCAAgC,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC;QAC1E,CAAC,uBAAuB,CAAC;YACvB,MAAM,mDAAmD,CACvD,yBAAyB,EACzB,SAAS,EACT,YAAY,CACb,CAAC;IACN,CAAC;IAED,uEAAuE;IACvE,IAAI,YAAY,GAAG,EAAE,EAAE,CAAC;QACtB,YAAY,CAAC,IAAI,CAAC;YAChB,EAAE,EAAE,SAAS;YACb,IAAI,EAAE,uBAAuB;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,mDAAmD,GAAG,KAAK,EAC/D,yBAAoD,EACpD,SAAkB,EAClB,YAAoB,EACY,EAAE;IAClC,MAAM,aAAa,GAAG,CAAC,GAAG,yBAAyB,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5D,MAAM,sBAAsB,GAAG,oBAAoB,CACjD,yBAAyB,CAC1B,CAAC;IAEF,MAAM,qBAAqB,GACzB,MAAM,yCAAyC,EAAE,CAAC;IAEpD,MAAM,CAAC,uBAAuB,EAAE,gCAAgC,CAAC,GAC/D,MAAM,oBAAoB,CACxB,qBAAqB,EACrB,qDAAqD,EACrD,CAAC,sBAAsB,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,CAAC,CACjE,CAAC;IACJ,OAAO,CAAC,uBAAuB,EAAE,gCAAgC,CAAC,CAAC;AACrE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iDAAiD,GAAG,KAAK,EAAE,EACtE,yBAAyB,EACzB,YAAY,EACZ,SAAS,GAKV,EAAE,EAAE;IACH,IAAI,mBAAmB,GAAG,EAAE,CAAC;IAC7B,MAAM,yBAAyB,GAAU,EAAE,CAAC;IAE5C,IAAI,CAAC;QACH,IAAI,uBAA4B,CAAC;QACjC,IAAI,gCAAgD,CAAC;QAErD,IAAI,yBAAyB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACvC,CAAC,uBAAuB,EAAE,gCAAgC,CAAC;gBACzD,MAAM,mDAAmD,CACvD,yBAAyB,EACzB,SAAS,EACT,YAAY,CACb,CAAC;YAEJ,KAAK,MAAM,WAAW,IAAI,gCAAgC,EAAE,CAAC;gBAC3D,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAClC,wCAAwC,CAAC,WAAW,CAAC,CAAC;gBACxD,MAAM,aAAa,GAAG,MAAM,0BAA0B,EAAE,CAAC;gBAEzD,MAAM,KAAK,GAAG;oBACZ,kEAAkE;oBAClE,WAAW,YAAY,aAAa,YAAY,IAAI;oBACpD,oBAAoB,WAAW,CAAC,aAAa,CAAC,cAAc,aAAa,GAAG;iBAC7E,CAAC;gBACF,MAAM,kBAAkB,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpE,IAAI,CAAC,kBAAkB;oBACrB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAElD,MAAM,kBAAkB,CAAC;oBACvB,WAAW,EAAE,WAAW;oBACxB,aAAa,EAAE,aAAa;iBAC7B,CAAC,CAAC;gBAEH,mBAAmB;oBACjB,yBAAyB;yBACtB,GAAG,CAAC,YAAY,CAAC;wBAClB,EAAE,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;gBAExD,yBAAyB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,6CAA6C;YAC7C,8EAA8E;YAC9E,gCAAgC,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC;YAC1E,CAAC,uBAAuB,CAAC;gBACvB,MAAM,mDAAmD,CACvD,yBAAyB,EACzB,SAAS,EACT,YAAY,CACb,CAAC;QACN,CAAC;QACD,IAAI,YAAY,GAAG,EAAE,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG;gBACZ,+DAA+D;gBAC/D,sBAAsB,WAAW,CAAC,YAAY,CAAC,cAAc,YAAY,GAAG;aAC7E,CAAC;YACF,MAAM,kBAAkB,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,kBAAkB;gBACrB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;YAEpE,MAAM,eAAe,CAAC;gBACpB,uBAAuB,EAAE,uBAAuB;gBAChD,eAAe,EAAE,YAAY;gBAC7B,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG;MACd,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,8CAA8C,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;MACvG,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,wCAAwC,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;MACxG,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,+CAA+C,WAAW,CAAC,YAAY,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;MAC9H,yBAAyB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,0CAA0C,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;KAC7H,CAAC;QAEF,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EACzC,iBAAoC,EACpC,eAAuB,EACvB,EAAE;IACF,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAC9C,iBAAiB,EACjB,eAAe,CAChB,CAAC;IAEF,IAAI,aAAa,GAAG,eAAe,EAAE,CAAC;QACpC,OAAO;YACL,4BAA4B,EAAE,IAAI;YAClC,aAAa,EAAE,aAAa;SAC7B,CAAC;IACJ,CAAC;IAED,MAAM,sBAAsB,GAAG,MAAM,gBAAgB,CACnD,gDAAgD,WAAW,CAAC,eAAe,CAAC;8BAClD,WAAW,CAAC,aAAa,CAAC,MAAM,CAC3D,CAAC;IAEF,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC5B,MAAM,uBAAuB,GAAG,MAAM,gBAAgB,CACpD;gCAC0B,WAAW,CAAC,aAAa,CAAC,MAAM,CAC3D,CAAC;QACF,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC7B,SAAS,CAAC,iDAAiD,CAAC,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,OAAO;YACL,4BAA4B,EAAE,KAAK;YACnC,aAAa,EAAE,aAAa;SAC7B,CAAC;IACJ,CAAC;IAED,OAAO;QACL,4BAA4B,EAAE,IAAI;QAClC,aAAa,EAAE,aAAa;KAC7B,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { type CommonPoolConfig, type TimelockConfig, type VaultConfig } from './defi-wrapper-factory.js';
2
+ /**
3
+ * Get the min withdrawal delay time
4
+ * @param minWithdrawalDelayTime - The min withdrawal delay time
5
+ * @returns The min withdrawal delay time in seconds
6
+ */
7
+ export declare const getMinWithdrawalDelayTime: (minWithdrawalDelayTime?: number) => Promise<number>;
8
+ /**
9
+ * Get the min delay seconds
10
+ * @param minDelaySeconds - The min delay seconds
11
+ * @returns The min delay seconds in seconds
12
+ */
13
+ export declare const getMinDelaySeconds: (minDelaySeconds?: number) => Promise<number>;
14
+ export declare const getPoolTokenName: (name?: string) => Promise<string>;
15
+ export declare const getPoolTokenSymbol: (symbol?: string) => Promise<string>;
16
+ export declare const getReserveRatioGapBP: (reserveRatioGapBP?: number) => Promise<number>;
17
+ export declare const prepareCreationConfigrationText: (vaultConfig: VaultConfig, timelockConfig: TimelockConfig, commonPoolConfig: CommonPoolConfig) => string;
@@ -0,0 +1,137 @@
1
+ import { getOperatorGridContract } from '../../contracts/index.js';
2
+ import { callReadMethodSilent, numberPrompt, textPrompt } from '../../utils/index.js';
3
+ const MIN_TIME_IN_HOURS = 60 * 60; // 1 hour
4
+ const MAX_TIME_IN_HOURS = 24 * 60 * 60 * 30; // 30 days
5
+ const MAX_POOL_TOKEN_NAME_LENGTH = 14;
6
+ const MIN_POOL_TOKEN_NAME_LENGTH = 3;
7
+ const MAX_POOL_TOKEN_SYMBOL_LENGTH = 8;
8
+ const MIN_POOL_TOKEN_SYMBOL_LENGTH = 3;
9
+ const MAX_BASIS_POINTS = 10000;
10
+ /**
11
+ * Validate the pool token symbol
12
+ * @param symbol - The pool token symbol
13
+ * @throws Error if the pool token symbol is invalid
14
+ */
15
+ const validatePoolTokenSymbol = (symbol) => {
16
+ if (symbol.length < MIN_POOL_TOKEN_SYMBOL_LENGTH)
17
+ throw new Error(`Pool token symbol must be at least ${MIN_POOL_TOKEN_SYMBOL_LENGTH} characters long`);
18
+ if (symbol.length > MAX_POOL_TOKEN_SYMBOL_LENGTH)
19
+ throw new Error(`Pool token symbol must be less than ${MAX_POOL_TOKEN_SYMBOL_LENGTH} characters long`);
20
+ };
21
+ /**
22
+ * Validate the pool token name
23
+ * @param name - The pool token name
24
+ * @throws Error if the pool token name is invalid
25
+ */
26
+ const validatePoolTokenName = (name) => {
27
+ if (name.length < MIN_POOL_TOKEN_NAME_LENGTH)
28
+ throw new Error(`Pool token name must be at least ${MIN_POOL_TOKEN_NAME_LENGTH} characters long`);
29
+ if (name.length > MAX_POOL_TOKEN_NAME_LENGTH)
30
+ throw new Error(`Pool token name must be less than ${MAX_POOL_TOKEN_NAME_LENGTH} characters long`);
31
+ };
32
+ /**
33
+ * Validate the time in hours
34
+ * @param timeInHours - The time in hours
35
+ * @param name - The name of the time
36
+ * @throws Error if the time is invalid
37
+ */
38
+ const validateTimeInHours = (timeInHours, name) => {
39
+ const minInHours = MIN_TIME_IN_HOURS / 3600;
40
+ const maxInHours = MAX_TIME_IN_HOURS / 3600;
41
+ if (timeInHours < minInHours)
42
+ throw new Error(`${name} must be greater than ${minInHours} hours. Current value: ${timeInHours} hours (${timeInHours * 3600} seconds)`);
43
+ if (timeInHours > maxInHours)
44
+ throw new Error(`${name} must be less than ${maxInHours} hours. Current value: ${timeInHours} hours (${timeInHours * 3600} seconds)`);
45
+ if (timeInHours % 1 !== 0)
46
+ throw new Error(`${name} must be a multiple of hours`);
47
+ };
48
+ /**
49
+ * Get the min withdrawal delay time
50
+ * @param minWithdrawalDelayTime - The min withdrawal delay time
51
+ * @returns The min withdrawal delay time in seconds
52
+ */
53
+ export const getMinWithdrawalDelayTime = async (minWithdrawalDelayTime) => {
54
+ if (!minWithdrawalDelayTime) {
55
+ const minWithdrawalDelayTimeValue = await numberPrompt(`Enter the min withdrawal delay time (in hours) (min: ${MIN_TIME_IN_HOURS / 3600} hours, max: ${MAX_TIME_IN_HOURS / 3600} hours)`, 'value');
56
+ if (!minWithdrawalDelayTimeValue.value)
57
+ throw new Error('Invalid min withdrawal delay time');
58
+ validateTimeInHours(minWithdrawalDelayTimeValue.value, 'Min withdrawal delay time');
59
+ return minWithdrawalDelayTimeValue.value * 3600;
60
+ }
61
+ validateTimeInHours(minWithdrawalDelayTime / 3600, 'Min withdrawal delay time');
62
+ return minWithdrawalDelayTime;
63
+ };
64
+ /**
65
+ * Get the min delay seconds
66
+ * @param minDelaySeconds - The min delay seconds
67
+ * @returns The min delay seconds in seconds
68
+ */
69
+ export const getMinDelaySeconds = async (minDelaySeconds) => {
70
+ if (!minDelaySeconds) {
71
+ const minDelaySecondsValue = await numberPrompt(`Enter the min execution delay for timelock governance (min: ${MIN_TIME_IN_HOURS / 3600} hours, max: ${MAX_TIME_IN_HOURS / 3600} hours)`, 'value');
72
+ if (!minDelaySecondsValue.value)
73
+ throw new Error('Invalid min delay seconds');
74
+ validateTimeInHours(minDelaySecondsValue.value, 'Min delay seconds');
75
+ return minDelaySecondsValue.value * 3600;
76
+ }
77
+ validateTimeInHours(minDelaySeconds / 3600, 'Min delay seconds');
78
+ return minDelaySeconds;
79
+ };
80
+ export const getPoolTokenName = async (name) => {
81
+ if (!name) {
82
+ const nameValue = await textPrompt(`Enter the pool token name (min: ${MIN_POOL_TOKEN_NAME_LENGTH} characters, max: ${MAX_POOL_TOKEN_NAME_LENGTH} characters)`, 'value');
83
+ if (!nameValue.value)
84
+ throw new Error('Invalid pool token name');
85
+ validatePoolTokenName(nameValue.value);
86
+ return nameValue.value;
87
+ }
88
+ validatePoolTokenName(name);
89
+ return name;
90
+ };
91
+ export const getPoolTokenSymbol = async (symbol) => {
92
+ if (!symbol) {
93
+ const symbolValue = await textPrompt(`Enter the pool token symbol (min: ${MIN_POOL_TOKEN_SYMBOL_LENGTH} characters, max: ${MAX_POOL_TOKEN_SYMBOL_LENGTH} characters)`, 'value');
94
+ if (!symbolValue.value)
95
+ throw new Error('Invalid pool token symbol');
96
+ validatePoolTokenSymbol(symbolValue.value);
97
+ return symbolValue.value;
98
+ }
99
+ validatePoolTokenSymbol(symbol);
100
+ return symbol;
101
+ };
102
+ export const getReserveRatioGapBP = async (reserveRatioGapBP) => {
103
+ if (!reserveRatioGapBP) {
104
+ const reserveRatioGapBPValue = await numberPrompt(`Enter the reserve ratio gap (in basis points) (max: ${MAX_BASIS_POINTS} basis points)`, 'value');
105
+ if (!reserveRatioGapBPValue.value)
106
+ throw new Error('Invalid reserve ratio gap');
107
+ await validateReserveRatioGapBP(reserveRatioGapBPValue.value);
108
+ return reserveRatioGapBPValue.value;
109
+ }
110
+ await validateReserveRatioGapBP(reserveRatioGapBP);
111
+ return reserveRatioGapBP;
112
+ };
113
+ const validateReserveRatioGapBP = async (reserveRatioGapBP) => {
114
+ const operatorGrid = await getOperatorGridContract();
115
+ const defaultTier = await callReadMethodSilent(operatorGrid, 'tier', [0n]);
116
+ if (!defaultTier)
117
+ throw new Error('Default tier not found. Cannot validate reserve ratio gap.');
118
+ const { reserveRatioBP } = defaultTier;
119
+ const expectedResult = reserveRatioBP + reserveRatioGapBP;
120
+ if (expectedResult > MAX_BASIS_POINTS)
121
+ throw new Error(`Reserve ratio gap must be less than ${MAX_BASIS_POINTS - reserveRatioBP} basis points. Current value: ${reserveRatioGapBP}`);
122
+ };
123
+ // common text for vault configuration conformatin
124
+ export const prepareCreationConfigrationText = (vaultConfig, timelockConfig, commonPoolConfig) => {
125
+ return `nodeOperator: ${vaultConfig.nodeOperator}
126
+ nodeOperatorManager: ${vaultConfig.nodeOperatorManager}
127
+ nodeOperatorFeeBP: ${vaultConfig.nodeOperatorFeeBP}
128
+ confirmExpiry: ${vaultConfig.confirmExpiry}
129
+ minDelaySeconds: ${timelockConfig.minDelaySeconds}
130
+ proposer: ${timelockConfig.proposer}
131
+ executor: ${timelockConfig.executor}
132
+ emergencyCommittee: ${commonPoolConfig.emergencyCommittee}
133
+ minWithdrawalDelayTime: ${commonPoolConfig.minWithdrawalDelayTime}
134
+ name: ${commonPoolConfig.name}
135
+ symbol: ${commonPoolConfig.symbol}`;
136
+ };
137
+ //# sourceMappingURL=create-vault.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-vault.js","sourceRoot":"","sources":["../../../features/defi-wrapper/create-vault.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,112 @@
1
+ import { TransactionReceipt, Hex, Address } from 'viem';
2
+ import { getFactoryContract } from '../../contracts/defi-wrapper/index.js';
3
+ export type VaultConfig = {
4
+ nodeOperator: Address;
5
+ nodeOperatorManager: Address;
6
+ nodeOperatorFeeBP: bigint;
7
+ confirmExpiry: bigint;
8
+ };
9
+ export type TimelockConfig = {
10
+ minDelaySeconds: bigint;
11
+ proposer: Address;
12
+ executor: Address;
13
+ };
14
+ export type CommonPoolConfig = {
15
+ minWithdrawalDelayTime: bigint;
16
+ name: string;
17
+ symbol: string;
18
+ emergencyCommittee: Address;
19
+ };
20
+ export type BaseFactoryOptions = {
21
+ nodeOperator?: Address;
22
+ nodeOperatorManager?: Address;
23
+ nodeOperatorFeeRate?: number;
24
+ confirmExpiry?: number;
25
+ minDelaySeconds?: number;
26
+ emergencyCommittee?: Address;
27
+ proposer?: Address;
28
+ executor?: Address;
29
+ minWithdrawalDelayTime?: number;
30
+ name?: string;
31
+ symbol?: string;
32
+ };
33
+ export declare const finalizePoolCreation: (contract: Awaited<ReturnType<typeof getFactoryContract>>, vaultConfig: VaultConfig, timelockConfig: TimelockConfig, commonPoolConfig: CommonPoolConfig, creationEventData: Awaited<ReturnType<typeof getCreatePoolEventData>>) => Promise<void>;
34
+ export declare const getCreatePoolEventData: (receipt: TransactionReceipt, tx: Hex) => Promise<{
35
+ tx: `0x${string}`;
36
+ sender?: undefined;
37
+ vaultConfig?: undefined;
38
+ commonPoolConfig?: undefined;
39
+ auxiliaryConfig?: undefined;
40
+ timelockConfig?: undefined;
41
+ strategyFactory?: undefined;
42
+ strategyDeployBytes?: undefined;
43
+ intermediate?: undefined;
44
+ finishDeadline?: undefined;
45
+ blockNumber?: undefined;
46
+ } | {
47
+ sender: `0x${string}` | undefined;
48
+ vaultConfig: {
49
+ nodeOperator: `0x${string}`;
50
+ nodeOperatorManager: `0x${string}`;
51
+ nodeOperatorFeeBP: bigint;
52
+ confirmExpiry: bigint;
53
+ } | undefined;
54
+ commonPoolConfig: {
55
+ minWithdrawalDelayTime: bigint;
56
+ name: string;
57
+ symbol: string;
58
+ emergencyCommittee: `0x${string}`;
59
+ } | undefined;
60
+ auxiliaryConfig: {
61
+ allowlistEnabled: boolean;
62
+ mintingEnabled: boolean;
63
+ reserveRatioGapBP: bigint;
64
+ } | undefined;
65
+ timelockConfig: {
66
+ minDelaySeconds: bigint;
67
+ proposer: `0x${string}`;
68
+ executor: `0x${string}`;
69
+ } | undefined;
70
+ strategyFactory: `0x${string}` | undefined;
71
+ strategyDeployBytes: `0x${string}` | undefined;
72
+ intermediate: {
73
+ dashboard: `0x${string}`;
74
+ poolProxy: `0x${string}`;
75
+ poolImpl: `0x${string}`;
76
+ withdrawalQueueProxy: `0x${string}`;
77
+ wqImpl: `0x${string}`;
78
+ timelock: `0x${string}`;
79
+ } | undefined;
80
+ finishDeadline: bigint | undefined;
81
+ tx: `0x${string}`;
82
+ blockNumber: bigint;
83
+ }>;
84
+ export declare const logCreatePoolEventData: (eventData: Awaited<ReturnType<typeof getCreatePoolEventData>>) => Promise<void>;
85
+ export declare const getFinalizePoolEventData: (receipt: TransactionReceipt, tx: Hex) => Promise<{
86
+ tx: `0x${string}`;
87
+ vault?: undefined;
88
+ pool?: undefined;
89
+ poolType?: undefined;
90
+ withdrawalQueue?: undefined;
91
+ strategyFactory?: undefined;
92
+ strategyDeployBytes?: undefined;
93
+ strategy?: undefined;
94
+ blockNumber?: undefined;
95
+ } | {
96
+ vault: `0x${string}` | undefined;
97
+ pool: `0x${string}` | undefined;
98
+ poolType: `0x${string}` | undefined;
99
+ withdrawalQueue: `0x${string}` | undefined;
100
+ strategyFactory: `0x${string}` | undefined;
101
+ strategyDeployBytes: `0x${string}` | undefined;
102
+ strategy: `0x${string}` | undefined;
103
+ tx: `0x${string}`;
104
+ blockNumber: bigint;
105
+ }>;
106
+ export declare const logFinalizePoolEventData: (createEventData: Awaited<ReturnType<typeof getCreatePoolEventData>>, finalizeEventData: Awaited<ReturnType<typeof getFinalizePoolEventData>>) => Promise<void>;
107
+ export declare const promtBaseVaultConfiguration: ({ nodeOperator, nodeOperatorManager, nodeOperatorFeeRate, confirmExpiry, minDelaySeconds, proposer, executor, emergencyCommittee, minWithdrawalDelayTime, name, symbol, }: BaseFactoryOptions) => Promise<{
108
+ vaultConfig: VaultConfig;
109
+ timelockConfig: TimelockConfig;
110
+ commonPoolConfig: CommonPoolConfig;
111
+ CONNECT_DEPOSIT: bigint;
112
+ }>;