@lidofinance/lsv-cli 1.3.1 → 1.4.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (493) hide show
  1. package/dist/abi/AccessControlConfirmable.js.map +1 -1
  2. package/dist/abi/Dashboard.d.ts +24 -0
  3. package/dist/abi/Dashboard.js.map +1 -1
  4. package/dist/abi/LazyOracle.js.map +1 -1
  5. package/dist/abi/LidoLocator.js.map +1 -1
  6. package/dist/abi/OperatorGrid.js.map +1 -1
  7. package/dist/abi/PredepositGuarantee.d.ts +48 -0
  8. package/dist/abi/PredepositGuarantee.js +32 -0
  9. package/dist/abi/PredepositGuarantee.js.map +1 -1
  10. package/dist/abi/StEth.d.ts +1175 -59
  11. package/dist/abi/StEth.js +885 -320
  12. package/dist/abi/StEth.js.map +1 -1
  13. package/dist/abi/StakingVault.js.map +1 -1
  14. package/dist/abi/ValidatorConsolidationRequests.js.map +1 -1
  15. package/dist/abi/VaultFactory.js.map +1 -1
  16. package/dist/abi/VaultHub.js.map +1 -1
  17. package/dist/abi/VaultViewer.js.map +1 -1
  18. package/dist/abi/WstEth.js.map +1 -1
  19. package/dist/abi/defi-wrapper/Distributor.js.map +1 -1
  20. package/dist/abi/defi-wrapper/Factory.d.ts +532 -657
  21. package/dist/abi/defi-wrapper/Factory.js +1083 -647
  22. package/dist/abi/defi-wrapper/Factory.js.map +1 -1
  23. package/dist/abi/defi-wrapper/OssifiableProxy.d.ts +71 -0
  24. package/dist/abi/defi-wrapper/OssifiableProxy.js +93 -0
  25. package/dist/abi/defi-wrapper/OssifiableProxy.js.map +1 -0
  26. package/dist/abi/defi-wrapper/StrategyFactory.d.ts +59 -0
  27. package/dist/abi/defi-wrapper/StrategyFactory.js +37 -0
  28. package/dist/abi/defi-wrapper/StrategyFactory.js.map +1 -0
  29. package/dist/abi/defi-wrapper/StvPool.js.map +1 -1
  30. package/dist/abi/defi-wrapper/StvStETHPool.d.ts +38 -32
  31. package/dist/abi/defi-wrapper/StvStETHPool.js +50 -42
  32. package/dist/abi/defi-wrapper/StvStETHPool.js.map +1 -1
  33. package/dist/abi/defi-wrapper/TimeLock.d.ts +770 -0
  34. package/dist/abi/defi-wrapper/TimeLock.js +999 -0
  35. package/dist/abi/defi-wrapper/TimeLock.js.map +1 -0
  36. package/dist/abi/defi-wrapper/WithdrawalQueue.js.map +1 -1
  37. package/dist/abi/defi-wrapper/index.d.ts +3 -0
  38. package/dist/abi/defi-wrapper/index.js +3 -0
  39. package/dist/abi/defi-wrapper/index.js.map +1 -1
  40. package/dist/command/index.js +11 -0
  41. package/dist/command/index.js.map +1 -1
  42. package/dist/configs/constants.d.ts +4 -4
  43. package/dist/contracts/dashboard-impl.d.ts +4 -3
  44. package/dist/contracts/dashboard-impl.js +5 -8
  45. package/dist/contracts/dashboard-impl.js.map +1 -1
  46. package/dist/contracts/dashboard.d.ts +4 -3
  47. package/dist/contracts/dashboard.js +1 -1
  48. package/dist/contracts/dashboard.js.map +1 -1
  49. package/dist/contracts/defi-wrapper/distributor.d.ts +5 -4
  50. package/dist/contracts/defi-wrapper/distributor.js +2 -2
  51. package/dist/contracts/defi-wrapper/distributor.js.map +1 -1
  52. package/dist/contracts/defi-wrapper/factory.d.ts +5 -4
  53. package/dist/contracts/defi-wrapper/factory.js +2 -2
  54. package/dist/contracts/defi-wrapper/factory.js.map +1 -1
  55. package/dist/contracts/defi-wrapper/index.d.ts +3 -0
  56. package/dist/contracts/defi-wrapper/index.js +3 -0
  57. package/dist/contracts/defi-wrapper/index.js.map +1 -1
  58. package/dist/contracts/defi-wrapper/ossifiable-proxy.d.ts +5 -0
  59. package/dist/contracts/defi-wrapper/ossifiable-proxy.js +12 -0
  60. package/dist/contracts/defi-wrapper/ossifiable-proxy.js.map +1 -0
  61. package/dist/contracts/defi-wrapper/strategy-factory.d.ts +5 -0
  62. package/dist/contracts/defi-wrapper/strategy-factory.js +12 -0
  63. package/dist/contracts/defi-wrapper/strategy-factory.js.map +1 -0
  64. package/dist/contracts/defi-wrapper/stv-pool.d.ts +5 -4
  65. package/dist/contracts/defi-wrapper/stv-pool.js +2 -2
  66. package/dist/contracts/defi-wrapper/stv-pool.js.map +1 -1
  67. package/dist/contracts/defi-wrapper/stv-steth-pool.d.ts +5 -4
  68. package/dist/contracts/defi-wrapper/stv-steth-pool.js +2 -2
  69. package/dist/contracts/defi-wrapper/stv-steth-pool.js.map +1 -1
  70. package/dist/contracts/defi-wrapper/timelock.d.ts +5 -0
  71. package/dist/contracts/defi-wrapper/timelock.js +12 -0
  72. package/dist/contracts/defi-wrapper/timelock.js.map +1 -0
  73. package/dist/contracts/defi-wrapper/withdrawal-queue.d.ts +5 -4
  74. package/dist/contracts/defi-wrapper/withdrawal-queue.js +2 -2
  75. package/dist/contracts/defi-wrapper/withdrawal-queue.js.map +1 -1
  76. package/dist/contracts/lazy-oracle.d.ts +5 -3
  77. package/dist/contracts/lazy-oracle.js +5 -9
  78. package/dist/contracts/lazy-oracle.js.map +1 -1
  79. package/dist/contracts/locator.d.ts +4 -2
  80. package/dist/contracts/locator.js +5 -8
  81. package/dist/contracts/locator.js.map +1 -1
  82. package/dist/contracts/operator-grid.d.ts +5 -4
  83. package/dist/contracts/operator-grid.js +5 -8
  84. package/dist/contracts/operator-grid.js.map +1 -1
  85. package/dist/contracts/pdg.d.ts +5 -4
  86. package/dist/contracts/pdg.js +5 -8
  87. package/dist/contracts/pdg.js.map +1 -1
  88. package/dist/contracts/steth.d.ts +5 -27706
  89. package/dist/contracts/steth.js +6 -10
  90. package/dist/contracts/steth.js.map +1 -1
  91. package/dist/contracts/validator-consolidation-requests.d.ts +3 -3
  92. package/dist/contracts/validator-consolidation-requests.js.map +1 -1
  93. package/dist/contracts/vault-factory.d.ts +5 -3
  94. package/dist/contracts/vault-factory.js +6 -8
  95. package/dist/contracts/vault-factory.js.map +1 -1
  96. package/dist/contracts/vault-hub.d.ts +5 -3
  97. package/dist/contracts/vault-hub.js +5 -9
  98. package/dist/contracts/vault-hub.js.map +1 -1
  99. package/dist/contracts/vault-viewer.d.ts +4 -2
  100. package/dist/contracts/vault-viewer.js +7 -10
  101. package/dist/contracts/vault-viewer.js.map +1 -1
  102. package/dist/contracts/vault.d.ts +5 -4
  103. package/dist/contracts/vault.js +2 -2
  104. package/dist/contracts/vault.js.map +1 -1
  105. package/dist/contracts/wsteth.d.ts +5 -3
  106. package/dist/contracts/wsteth.js +5 -9
  107. package/dist/contracts/wsteth.js.map +1 -1
  108. package/dist/features/consolidation.d.ts +1 -1
  109. package/dist/features/consolidation.js +19 -3
  110. package/dist/features/consolidation.js.map +1 -1
  111. package/dist/features/defi-wrapper/create-vault.js +19 -16
  112. package/dist/features/defi-wrapper/create-vault.js.map +1 -1
  113. package/dist/features/defi-wrapper/defi-wrapper-factory.d.ts +22 -29
  114. package/dist/features/defi-wrapper/defi-wrapper-factory.js +124 -17
  115. package/dist/features/defi-wrapper/defi-wrapper-factory.js.map +1 -1
  116. package/dist/features/defi-wrapper/distributor.d.ts +24 -0
  117. package/dist/features/defi-wrapper/distributor.js +300 -0
  118. package/dist/features/defi-wrapper/distributor.js.map +1 -0
  119. package/dist/features/defi-wrapper/index.d.ts +1 -0
  120. package/dist/features/defi-wrapper/index.js +1 -0
  121. package/dist/features/defi-wrapper/index.js.map +1 -1
  122. package/dist/features/defi-wrapper/pool-info.d.ts +17 -2
  123. package/dist/features/defi-wrapper/pool-info.js +63 -13
  124. package/dist/features/defi-wrapper/pool-info.js.map +1 -1
  125. package/dist/features/defi-wrapper/timelock.d.ts +19 -0
  126. package/dist/features/defi-wrapper/timelock.js +198 -0
  127. package/dist/features/defi-wrapper/timelock.js.map +1 -0
  128. package/dist/features/deposits/check-bls-deposits.js +15 -3
  129. package/dist/features/deposits/check-bls-deposits.js.map +1 -1
  130. package/dist/features/deposits/make-pdg-proof.js +19 -7
  131. package/dist/features/deposits/make-pdg-proof.js.map +1 -1
  132. package/dist/features/deposits/no-pdg.js +50 -14
  133. package/dist/features/deposits/no-pdg.js.map +1 -1
  134. package/dist/features/deposits/pdg.js +5 -1
  135. package/dist/features/deposits/pdg.js.map +1 -1
  136. package/dist/features/deposits/validators.js +1 -1
  137. package/dist/features/deposits/validators.js.map +1 -1
  138. package/dist/features/dev-tools/impersonate.js +5 -1
  139. package/dist/features/dev-tools/impersonate.js.map +1 -1
  140. package/dist/features/metrics.d.ts +3 -0
  141. package/dist/features/metrics.js +49 -6
  142. package/dist/features/metrics.js.map +1 -1
  143. package/dist/features/mint-burn/allowance.js +15 -6
  144. package/dist/features/mint-burn/allowance.js.map +1 -1
  145. package/dist/features/mint-burn/burn-steth.js +5 -1
  146. package/dist/features/mint-burn/burn-steth.js.map +1 -1
  147. package/dist/features/mint-burn/index.d.ts +1 -0
  148. package/dist/features/mint-burn/index.js +1 -0
  149. package/dist/features/mint-burn/index.js.map +1 -1
  150. package/dist/features/mint-burn/mint-limit.d.ts +9 -0
  151. package/dist/features/mint-burn/mint-limit.js +31 -0
  152. package/dist/features/mint-burn/mint-limit.js.map +1 -0
  153. package/dist/features/mint-burn/mint-steth.js +5 -1
  154. package/dist/features/mint-burn/mint-steth.js.map +1 -1
  155. package/dist/features/pdg.js +5 -1
  156. package/dist/features/pdg.js.map +1 -1
  157. package/dist/features/utils/connection.js +5 -1
  158. package/dist/features/utils/connection.js.map +1 -1
  159. package/dist/features/utils/index.d.ts +1 -0
  160. package/dist/features/utils/index.js +1 -0
  161. package/dist/features/utils/index.js.map +1 -1
  162. package/dist/features/utils/liability-shares.js +5 -1
  163. package/dist/features/utils/liability-shares.js.map +1 -1
  164. package/dist/features/utils/minting-capacity.js +4 -3
  165. package/dist/features/utils/minting-capacity.js.map +1 -1
  166. package/dist/features/utils/quarantine.js +5 -1
  167. package/dist/features/utils/quarantine.js.map +1 -1
  168. package/dist/features/utils/report-fresh.js +15 -3
  169. package/dist/features/utils/report-fresh.js.map +1 -1
  170. package/dist/features/utils/try-fetch.d.ts +5 -0
  171. package/dist/features/utils/try-fetch.js +26 -0
  172. package/dist/features/utils/try-fetch.js.map +1 -0
  173. package/dist/features/vault-factory.js +16 -4
  174. package/dist/features/vault-factory.js.map +1 -1
  175. package/dist/features/vault-operations/connect-vault.js +10 -2
  176. package/dist/features/vault-operations/connect-vault.js.map +1 -1
  177. package/dist/features/vault-operations/dashboard-by-vault.js +10 -2
  178. package/dist/features/vault-operations/dashboard-by-vault.js.map +1 -1
  179. package/dist/features/vault-operations/index.d.ts +1 -0
  180. package/dist/features/vault-operations/index.js +1 -0
  181. package/dist/features/vault-operations/index.js.map +1 -1
  182. package/dist/features/vault-operations/roles.js +10 -2
  183. package/dist/features/vault-operations/roles.js.map +1 -1
  184. package/dist/features/vault-operations/share-limit.d.ts +8 -0
  185. package/dist/features/vault-operations/share-limit.js +20 -0
  186. package/dist/features/vault-operations/share-limit.js.map +1 -0
  187. package/dist/features/vault-operations/vault-health.js +5 -1
  188. package/dist/features/vault-operations/vault-health.js.map +1 -1
  189. package/dist/features/vault-operations/vault-info.js +10 -2
  190. package/dist/features/vault-operations/vault-info.js.map +1 -1
  191. package/dist/features/vault-operations/vault-overview.js +25 -5
  192. package/dist/features/vault-operations/vault-overview.js.map +1 -1
  193. package/dist/features/vault-operations/vault-roles.js +10 -2
  194. package/dist/features/vault-operations/vault-roles.js.map +1 -1
  195. package/dist/features/vault-operations/vaults-by-role.d.ts +24 -0
  196. package/dist/features/vault-operations/vaults-by-role.js +78 -27
  197. package/dist/features/vault-operations/vaults-by-role.js.map +1 -1
  198. package/dist/features/with-report.d.ts +1 -1
  199. package/dist/index.js +45 -16
  200. package/dist/index.js.map +1 -1
  201. package/dist/programs/account/main.d.ts +1 -1
  202. package/dist/programs/account/read.js +10 -5
  203. package/dist/programs/account/read.js.map +1 -1
  204. package/dist/programs/account/write.js +29 -2
  205. package/dist/programs/account/write.js.map +1 -1
  206. package/dist/programs/contracts/dashboard/main.d.ts +1 -1
  207. package/dist/programs/contracts/dashboard/read.js +15 -3
  208. package/dist/programs/contracts/dashboard/read.js.map +1 -1
  209. package/dist/programs/contracts/dashboard/write.js +233 -52
  210. package/dist/programs/contracts/dashboard/write.js.map +1 -1
  211. package/dist/programs/contracts/hub/main.d.ts +1 -1
  212. package/dist/programs/contracts/hub/read.js +15 -5
  213. package/dist/programs/contracts/hub/read.js.map +1 -1
  214. package/dist/programs/contracts/hub/write.js +12 -3
  215. package/dist/programs/contracts/hub/write.js.map +1 -1
  216. package/dist/programs/contracts/lazy-oracle/main.d.ts +1 -1
  217. package/dist/programs/contracts/main.d.ts +1 -1
  218. package/dist/programs/contracts/operator-grid/main.d.ts +1 -1
  219. package/dist/programs/contracts/operator-grid/read.js +5 -1
  220. package/dist/programs/contracts/operator-grid/read.js.map +1 -1
  221. package/dist/programs/contracts/operator-grid/write.js +18 -10
  222. package/dist/programs/contracts/operator-grid/write.js.map +1 -1
  223. package/dist/programs/contracts/pdg/main.d.ts +1 -1
  224. package/dist/programs/contracts/pdg/read.js +5 -1
  225. package/dist/programs/contracts/pdg/read.js.map +1 -1
  226. package/dist/programs/contracts/pdg/write.js +34 -4
  227. package/dist/programs/contracts/pdg/write.js.map +1 -1
  228. package/dist/programs/contracts/vault/main.d.ts +1 -1
  229. package/dist/programs/contracts/vault/write.js +5 -1
  230. package/dist/programs/contracts/vault/write.js.map +1 -1
  231. package/dist/programs/contracts/vault-factory/main.d.ts +1 -1
  232. package/dist/programs/contracts/vault-viewer/main.d.ts +1 -1
  233. package/dist/programs/defi-wrapper/contracts/distributor/config.d.ts +1 -1
  234. package/dist/programs/defi-wrapper/contracts/distributor/main.d.ts +1 -1
  235. package/dist/programs/defi-wrapper/contracts/distributor/read.js +19 -7
  236. package/dist/programs/defi-wrapper/contracts/distributor/read.js.map +1 -1
  237. package/dist/programs/defi-wrapper/contracts/distributor/write.js +1 -1
  238. package/dist/programs/defi-wrapper/contracts/factory/config.d.ts +1 -1
  239. package/dist/programs/defi-wrapper/contracts/factory/main.d.ts +1 -1
  240. package/dist/programs/defi-wrapper/contracts/factory/read.js +75 -15
  241. package/dist/programs/defi-wrapper/contracts/factory/read.js.map +1 -1
  242. package/dist/programs/defi-wrapper/contracts/factory/write.js +261 -67
  243. package/dist/programs/defi-wrapper/contracts/factory/write.js.map +1 -1
  244. package/dist/programs/defi-wrapper/contracts/main.d.ts +1 -1
  245. package/dist/programs/defi-wrapper/contracts/stv-pool/config.d.ts +1 -1
  246. package/dist/programs/defi-wrapper/contracts/stv-pool/main.d.ts +1 -1
  247. package/dist/programs/defi-wrapper/contracts/stv-pool/read.js +64 -20
  248. package/dist/programs/defi-wrapper/contracts/stv-pool/read.js.map +1 -1
  249. package/dist/programs/defi-wrapper/contracts/stv-pool/write.js +1 -1
  250. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/config.d.ts +1 -1
  251. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/main.d.ts +1 -1
  252. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/read.js +64 -20
  253. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/read.js.map +1 -1
  254. package/dist/programs/defi-wrapper/contracts/stv-steth-pool/write.js +1 -1
  255. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/config.d.ts +1 -1
  256. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/main.d.ts +1 -1
  257. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/read.js +66 -18
  258. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/read.js.map +1 -1
  259. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/write.js +34 -7
  260. package/dist/programs/defi-wrapper/contracts/withdrawal-queue/write.js.map +1 -1
  261. package/dist/programs/defi-wrapper/main.d.ts +1 -1
  262. package/dist/programs/defi-wrapper/use-cases/distributor/index.d.ts +3 -0
  263. package/dist/programs/defi-wrapper/use-cases/distributor/index.js +4 -0
  264. package/dist/programs/defi-wrapper/use-cases/distributor/index.js.map +1 -0
  265. package/dist/programs/defi-wrapper/use-cases/distributor/main.d.ts +1 -0
  266. package/dist/programs/defi-wrapper/use-cases/distributor/main.js +6 -0
  267. package/dist/programs/defi-wrapper/use-cases/distributor/main.js.map +1 -0
  268. package/dist/programs/defi-wrapper/use-cases/distributor/read.js +86 -0
  269. package/dist/programs/defi-wrapper/use-cases/distributor/read.js.map +1 -0
  270. package/dist/programs/defi-wrapper/use-cases/distributor/write.d.ts +1 -0
  271. package/dist/programs/defi-wrapper/use-cases/distributor/write.js +191 -0
  272. package/dist/programs/defi-wrapper/use-cases/distributor/write.js.map +1 -0
  273. package/dist/programs/defi-wrapper/use-cases/health/main.d.ts +1 -1
  274. package/dist/programs/defi-wrapper/use-cases/health/read.js +73 -23
  275. package/dist/programs/defi-wrapper/use-cases/health/read.js.map +1 -1
  276. package/dist/programs/defi-wrapper/use-cases/health/utils.js +11 -3
  277. package/dist/programs/defi-wrapper/use-cases/health/utils.js.map +1 -1
  278. package/dist/programs/defi-wrapper/use-cases/health/write.js +68 -25
  279. package/dist/programs/defi-wrapper/use-cases/health/write.js.map +1 -1
  280. package/dist/programs/defi-wrapper/use-cases/index.d.ts +2 -0
  281. package/dist/programs/defi-wrapper/use-cases/index.js +2 -0
  282. package/dist/programs/defi-wrapper/use-cases/index.js.map +1 -1
  283. package/dist/programs/defi-wrapper/use-cases/main.d.ts +1 -1
  284. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/index.d.ts +3 -0
  285. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/index.js +4 -0
  286. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/index.js.map +1 -0
  287. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/main.d.ts +1 -0
  288. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/main.js +6 -0
  289. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/main.js.map +1 -0
  290. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/read.d.ts +1 -0
  291. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/read.js +362 -0
  292. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/read.js.map +1 -0
  293. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/write.d.ts +1 -0
  294. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/write.js +86 -0
  295. package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/write.js.map +1 -0
  296. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/index.d.ts +2 -0
  297. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/index.js +3 -0
  298. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/index.js.map +1 -0
  299. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/main.d.ts +1 -0
  300. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/main.js +6 -0
  301. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/main.js.map +1 -0
  302. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/write.d.ts +1 -0
  303. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/write.js +369 -0
  304. package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/write.js.map +1 -0
  305. package/dist/programs/defi-wrapper/use-cases/timelock-governance/index.d.ts +6 -0
  306. package/dist/programs/defi-wrapper/use-cases/timelock-governance/index.js +7 -0
  307. package/dist/programs/defi-wrapper/use-cases/timelock-governance/index.js.map +1 -0
  308. package/dist/programs/defi-wrapper/use-cases/timelock-governance/main.d.ts +1 -0
  309. package/dist/programs/defi-wrapper/use-cases/timelock-governance/main.js +6 -0
  310. package/dist/programs/defi-wrapper/use-cases/timelock-governance/main.js.map +1 -0
  311. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/index.d.ts +2 -0
  312. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/index.js +3 -0
  313. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/index.js.map +1 -0
  314. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/main.d.ts +1 -0
  315. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/main.js +6 -0
  316. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/main.js.map +1 -0
  317. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/write.d.ts +1 -0
  318. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/write.js +184 -0
  319. package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/write.js.map +1 -0
  320. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/index.d.ts +3 -0
  321. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/index.js +4 -0
  322. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/index.js.map +1 -0
  323. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/main.d.ts +1 -0
  324. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/main.js +6 -0
  325. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/main.js.map +1 -0
  326. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/read.d.ts +1 -0
  327. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/read.js +80 -0
  328. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/read.js.map +1 -0
  329. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/write.d.ts +1 -0
  330. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/write.js +139 -0
  331. package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/write.js.map +1 -0
  332. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/index.d.ts +2 -0
  333. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/index.js +3 -0
  334. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/index.js.map +1 -0
  335. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/main.d.ts +1 -0
  336. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/main.js +6 -0
  337. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/main.js.map +1 -0
  338. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/write.d.ts +1 -0
  339. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/write.js +118 -0
  340. package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/write.js.map +1 -0
  341. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/index.d.ts +1 -1
  342. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/index.js +1 -2
  343. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/index.js.map +1 -1
  344. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/main.d.ts +1 -1
  345. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/read.js +334 -12
  346. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/read.js.map +1 -1
  347. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/write.js +449 -2
  348. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/write.js.map +1 -1
  349. package/dist/programs/dev-tools/anvil/main.d.ts +1 -1
  350. package/dist/programs/dev-tools/defi-wrapper/main.d.ts +1 -1
  351. package/dist/programs/dev-tools/defi-wrapper/write.js +42 -12
  352. package/dist/programs/dev-tools/defi-wrapper/write.js.map +1 -1
  353. package/dist/programs/dev-tools/main.d.ts +1 -1
  354. package/dist/programs/pdg-helpers.js +59 -19
  355. package/dist/programs/pdg-helpers.js.map +1 -1
  356. package/dist/programs/use-cases/consolidation/main.d.ts +1 -1
  357. package/dist/programs/use-cases/consolidation/write.d.ts +1 -1
  358. package/dist/programs/use-cases/consolidation/write.js +6 -2
  359. package/dist/programs/use-cases/consolidation/write.js.map +1 -1
  360. package/dist/programs/use-cases/deposits/main.d.ts +1 -1
  361. package/dist/programs/use-cases/deposits/read.js +40 -8
  362. package/dist/programs/use-cases/deposits/read.js.map +1 -1
  363. package/dist/programs/use-cases/deposits/write.js +15 -3
  364. package/dist/programs/use-cases/deposits/write.js.map +1 -1
  365. package/dist/programs/use-cases/metrics/main.d.ts +1 -1
  366. package/dist/programs/use-cases/metrics/read.js +32 -12
  367. package/dist/programs/use-cases/metrics/read.js.map +1 -1
  368. package/dist/programs/use-cases/report/main.d.ts +1 -1
  369. package/dist/programs/use-cases/report/read.js +25 -5
  370. package/dist/programs/use-cases/report/read.js.map +1 -1
  371. package/dist/programs/use-cases/report/write.js +10 -2
  372. package/dist/programs/use-cases/report/write.js.map +1 -1
  373. package/dist/programs/use-cases/vault-operations/main.d.ts +1 -1
  374. package/dist/programs/use-cases/vault-operations/write.js +59 -21
  375. package/dist/programs/use-cases/vault-operations/write.js.map +1 -1
  376. package/dist/providers/index.d.ts +1 -1
  377. package/dist/providers/index.js +1 -1
  378. package/dist/providers/wallet.d.ts +302 -300
  379. package/dist/providers/wallet.js +10 -2
  380. package/dist/providers/wallet.js.map +1 -1
  381. package/dist/tests/integration/deposits.test.js +1 -1
  382. package/dist/tests/integration/deposits.test.js.map +1 -1
  383. package/dist/tests/integration/helpers/test-client.d.ts +150 -150
  384. package/dist/tests/integration/metrics.test.js.map +1 -1
  385. package/dist/tests/integration/mint-burn.test.js.map +1 -1
  386. package/dist/tests/utils/calculate-overview-v2.test.js +1 -1
  387. package/dist/tests/utils/csv-file.test.js +1 -1
  388. package/dist/tests/utils/error-handler.test.js +5 -8
  389. package/dist/tests/utils/error-handler.test.js.map +1 -1
  390. package/dist/tests/utils/lido-apr.test.js +1 -1
  391. package/dist/tests/utils/logging.test.js +30 -14
  392. package/dist/tests/utils/logging.test.js.map +1 -1
  393. package/dist/tests/utils/rate-limit.test.d.ts +1 -0
  394. package/dist/tests/utils/rate-limit.test.js +246 -0
  395. package/dist/tests/utils/rate-limit.test.js.map +1 -0
  396. package/dist/tests/utils/rebase-rewards.test.js +44 -43
  397. package/dist/tests/utils/rebase-rewards.test.js.map +1 -1
  398. package/dist/tests/utils/report-statistic.test.d.ts +1 -0
  399. package/dist/tests/utils/report-statistic.test.js +501 -0
  400. package/dist/tests/utils/report-statistic.test.js.map +1 -0
  401. package/dist/tests/utils/snake-to-camel.test.js +1 -1
  402. package/dist/tests/utils/spinner.test.d.ts +1 -0
  403. package/dist/tests/utils/spinner.test.js +113 -0
  404. package/dist/tests/utils/spinner.test.js.map +1 -0
  405. package/dist/tests/utils/timestamp.test.js +1 -1
  406. package/dist/types/index.d.ts +2 -2
  407. package/dist/types/index.js +2 -2
  408. package/dist/utils/arguments.d.ts +15 -1
  409. package/dist/utils/arguments.js +28 -0
  410. package/dist/utils/arguments.js.map +1 -1
  411. package/dist/utils/cache.d.ts +6 -5
  412. package/dist/utils/cache.js +15 -13
  413. package/dist/utils/cache.js.map +1 -1
  414. package/dist/utils/charts/blessed/charts-apr.js +10 -6
  415. package/dist/utils/charts/blessed/charts-apr.js.map +1 -1
  416. package/dist/utils/charts/blessed/charts-rewards.js +9 -5
  417. package/dist/utils/charts/blessed/charts-rewards.js.map +1 -1
  418. package/dist/utils/charts/blessed/datasets/prepare-metrics.d.ts +6 -6
  419. package/dist/utils/charts/blessed/datasets/prepare-metrics.js +12 -13
  420. package/dist/utils/charts/blessed/datasets/prepare-metrics.js.map +1 -1
  421. package/dist/utils/charts/blessed/utils.js +5 -2
  422. package/dist/utils/charts/blessed/utils.js.map +1 -1
  423. package/dist/utils/charts/simple/simple-charts.js +20 -8
  424. package/dist/utils/charts/simple/simple-charts.js.map +1 -1
  425. package/dist/utils/commands/report.d.ts +5 -2
  426. package/dist/utils/commands/report.js +21 -7
  427. package/dist/utils/commands/report.js.map +1 -1
  428. package/dist/utils/consts.d.ts +1 -0
  429. package/dist/utils/consts.js +5 -0
  430. package/dist/utils/consts.js.map +1 -1
  431. package/dist/utils/error-handler.js +3 -0
  432. package/dist/utils/error-handler.js.map +1 -1
  433. package/dist/utils/fetchCL.d.ts +10 -0
  434. package/dist/utils/fetchCL.js +38 -28
  435. package/dist/utils/fetchCL.js.map +1 -1
  436. package/dist/utils/health/health-utils.d.ts +2 -27707
  437. package/dist/utils/health/health-utils.js +26 -8
  438. package/dist/utils/health/health-utils.js.map +1 -1
  439. package/dist/utils/index.d.ts +2 -0
  440. package/dist/utils/index.js +2 -0
  441. package/dist/utils/index.js.map +1 -1
  442. package/dist/utils/interrupt-handler.js +14 -6
  443. package/dist/utils/interrupt-handler.js.map +1 -1
  444. package/dist/utils/logging/console.d.ts +5 -1
  445. package/dist/utils/logging/console.js +36 -25
  446. package/dist/utils/logging/console.js.map +1 -1
  447. package/dist/utils/prompts/confirmations.d.ts +1 -1
  448. package/dist/utils/prompts/operations.d.ts +1 -1
  449. package/dist/utils/prompts/operations.js +1 -3
  450. package/dist/utils/prompts/operations.js.map +1 -1
  451. package/dist/utils/prompts/predeposit-guarantee.d.ts +1 -1
  452. package/dist/utils/prompts/predeposit-guarantee.js +1 -1
  453. package/dist/utils/proof/create-proof.js +18 -3
  454. package/dist/utils/proof/create-proof.js.map +1 -1
  455. package/dist/utils/rate-limit.d.ts +10 -0
  456. package/dist/utils/rate-limit.js +30 -0
  457. package/dist/utils/rate-limit.js.map +1 -0
  458. package/dist/utils/read-programs-by-abi.js +22 -4
  459. package/dist/utils/read-programs-by-abi.js.map +1 -1
  460. package/dist/utils/rebase-rewards.d.ts +0 -1
  461. package/dist/utils/rebase-rewards.js +12 -3
  462. package/dist/utils/rebase-rewards.js.map +1 -1
  463. package/dist/utils/report/statistic-data.js +31 -10
  464. package/dist/utils/report/statistic-data.js.map +1 -1
  465. package/dist/utils/share-rate.js +16 -4
  466. package/dist/utils/share-rate.js.map +1 -1
  467. package/dist/utils/sleep.js.map +1 -1
  468. package/dist/utils/spinner/spinners.js +5 -3
  469. package/dist/utils/spinner/spinners.js.map +1 -1
  470. package/dist/utils/statistic/report-statistic.d.ts +21 -6
  471. package/dist/utils/statistic/report-statistic.js +65 -25
  472. package/dist/utils/statistic/report-statistic.js.map +1 -1
  473. package/dist/utils/transactions/tx-private-key.d.ts +5 -7
  474. package/dist/utils/transactions/tx-private-key.js +56 -21
  475. package/dist/utils/transactions/tx-private-key.js.map +1 -1
  476. package/dist/utils/transactions/tx-wc.d.ts +12 -11
  477. package/dist/utils/transactions/tx-wc.js +108 -11
  478. package/dist/utils/transactions/tx-wc.js.map +1 -1
  479. package/dist/utils/transactions/types.d.ts +7 -0
  480. package/dist/utils/transactions/utils.d.ts +1 -0
  481. package/dist/utils/transactions/utils.js +13 -2
  482. package/dist/utils/transactions/utils.js.map +1 -1
  483. package/dist/utils/wallet-connect.d.ts +4 -1
  484. package/dist/utils/wallet-connect.js +52 -4
  485. package/dist/utils/wallet-connect.js.map +1 -1
  486. package/dist/utils/with-error.d.ts +7 -0
  487. package/dist/utils/with-error.js +6 -0
  488. package/dist/utils/with-error.js.map +1 -0
  489. package/dist/version/index.js +1 -1
  490. package/package.json +4 -13
  491. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/create-pool.js +0 -180
  492. package/dist/programs/defi-wrapper/use-cases/wrapper-operations/create-pool.js.map +0 -1
  493. /package/dist/programs/defi-wrapper/use-cases/{wrapper-operations/create-pool.d.ts → distributor/read.d.ts} +0 -0
@@ -0,0 +1,184 @@
1
+ import { Option } from 'commander';
2
+ import { ACCOUNT_GRANT_ARGUMENT, ACCOUNT_REVOKE_ARGUMENT, executeOperation, getPromptTimelock, processSalt, promptAccount, promptRole, proposeOperation, ROLE_ARGUMENT, SALT_OPTION, TIMELOCK_ARGUMENT, } from 'features/defi-wrapper/index.js';
3
+ import { logInfo, getCommandsJson, stringToAddress, addressPrompt, textPrompt, } from '../../../../../utils/index.js';
4
+ import { pool } from './main.js';
5
+ import { encodeFunctionData, maxUint16 } from 'viem';
6
+ import { getStvStethPoolContract } from 'contracts/defi-wrapper/index.js';
7
+ import { StvPoolAbi, StvStETHPoolAbi } from 'abi/defi-wrapper/index.js';
8
+ // Common helpers
9
+ const POOL_ARGUMENT = [
10
+ '[pool]',
11
+ 'pool contract address',
12
+ stringToAddress,
13
+ ];
14
+ const MAX_SOCIALIZABLE_PORTION_BP_ARGUMENT = [
15
+ '[maxSocializablePortionBP]',
16
+ 'max socializable portion in basis points (uint16)',
17
+ (v) => (v ? Number(v) : undefined),
18
+ ];
19
+ const promptPool = async (poolAddress) => {
20
+ if (!poolAddress) {
21
+ const poolPrompt = await addressPrompt('Enter pool contract address', 'pool');
22
+ poolAddress = poolPrompt.pool;
23
+ }
24
+ return getStvStethPoolContract(poolAddress);
25
+ };
26
+ const promptMaxSocializablePortionBP = async (maxSocializablePortionBPInput) => {
27
+ let maxSocializablePortionBP;
28
+ if (maxSocializablePortionBPInput === undefined) {
29
+ const bpPrompt = await textPrompt('Enter max socializable portion in basis points (uint16, e.g., 100 = 1%)', 'maxSocializablePortionBP');
30
+ maxSocializablePortionBP = Number(bpPrompt.maxSocializablePortionBP);
31
+ }
32
+ else {
33
+ maxSocializablePortionBP = maxSocializablePortionBPInput;
34
+ }
35
+ if (maxSocializablePortionBP < 0 || maxSocializablePortionBP > maxUint16) {
36
+ throw new Error(`maxSocializablePortionBP must be between 0 and ${maxUint16} (uint16)`);
37
+ }
38
+ return maxSocializablePortionBP;
39
+ };
40
+ // Command definitions
41
+ const poolWrite = pool
42
+ .command('write')
43
+ .alias('w')
44
+ .description('pool timelock write commands');
45
+ poolWrite.addOption(new Option('-cmd2json'));
46
+ poolWrite.on('option:-cmd2json', function () {
47
+ logInfo(getCommandsJson(poolWrite));
48
+ process.exit();
49
+ });
50
+ poolWrite
51
+ .command('propose-grant-role')
52
+ .description('propose granting a role on Pool via Timelock')
53
+ .argument(...TIMELOCK_ARGUMENT)
54
+ .argument(...POOL_ARGUMENT)
55
+ .argument(...ROLE_ARGUMENT)
56
+ .argument(...ACCOUNT_GRANT_ARGUMENT)
57
+ .option(...SALT_OPTION)
58
+ .action(async (timelock, poolAddress, roleInput, accountInput, options) => {
59
+ // Interactive prompts for missing parameters
60
+ const timelockContract = await getPromptTimelock(timelock);
61
+ const poolContract = await promptPool(poolAddress);
62
+ const role = await promptRole(roleInput, poolContract);
63
+ const finalSalt = processSalt(options?.salt);
64
+ const account = await promptAccount(accountInput, 'Enter account address to grant role to');
65
+ // Encode grantRole call
66
+ const data = encodeFunctionData({
67
+ abi: StvPoolAbi,
68
+ functionName: 'grantRole',
69
+ args: [role, account],
70
+ });
71
+ await proposeOperation(timelockContract.address, poolContract.address, data, finalSalt, 'grantRole', `Are you sure you want to propose granting role ${role} to ${account} on pool ${poolContract.address}?`);
72
+ });
73
+ poolWrite
74
+ .command('execute-grant-role')
75
+ .description('execute granting a role on Pool via Timelock')
76
+ .argument(...TIMELOCK_ARGUMENT)
77
+ .argument(...POOL_ARGUMENT)
78
+ .argument(...ROLE_ARGUMENT)
79
+ .argument(...ACCOUNT_GRANT_ARGUMENT)
80
+ .option(...SALT_OPTION)
81
+ .action(async (timelock, poolAddress, roleInput, accountInput, options) => {
82
+ // Interactive prompts for missing parameters
83
+ const timelockContract = await getPromptTimelock(timelock);
84
+ const poolContract = await promptPool(poolAddress);
85
+ const role = await promptRole(roleInput, poolContract);
86
+ const finalSalt = processSalt(options?.salt);
87
+ const account = await promptAccount(accountInput, 'Enter account address to grant role to');
88
+ // Encode grantRole call (same as in propose)
89
+ const data = encodeFunctionData({
90
+ abi: StvPoolAbi,
91
+ functionName: 'grantRole',
92
+ args: [role, account],
93
+ });
94
+ await executeOperation(timelockContract.address, poolContract.address, data, finalSalt, 'grantRole', `Are you sure you want to execute granting role ${role} to ${account} on pool ${poolContract.address}?`);
95
+ });
96
+ poolWrite
97
+ .command('propose-revoke-role')
98
+ .description('propose revoking a role on Pool via Timelock')
99
+ .argument(...TIMELOCK_ARGUMENT)
100
+ .argument(...POOL_ARGUMENT)
101
+ .argument(...ROLE_ARGUMENT)
102
+ .argument(...ACCOUNT_REVOKE_ARGUMENT)
103
+ .option(...SALT_OPTION)
104
+ .action(async (timelock, poolAddress, roleInput, accountInput, options) => {
105
+ // Interactive prompts for missing parameters
106
+ const timelockContract = await getPromptTimelock(timelock);
107
+ const poolContract = await promptPool(poolAddress);
108
+ const role = await promptRole(roleInput, poolContract);
109
+ const finalSalt = processSalt(options?.salt);
110
+ const account = await promptAccount(accountInput, 'Enter account address to revoke role from');
111
+ // Encode revokeRole call
112
+ const data = encodeFunctionData({
113
+ abi: StvPoolAbi,
114
+ functionName: 'revokeRole',
115
+ args: [role, account],
116
+ });
117
+ await proposeOperation(timelockContract.address, poolContract.address, data, finalSalt, 'revokeRole', `Are you sure you want to propose revoking role ${role} from ${account} on pool ${poolContract.address}?`);
118
+ });
119
+ poolWrite
120
+ .command('execute-revoke-role')
121
+ .description('execute revoking a role on Pool via Timelock')
122
+ .argument(...TIMELOCK_ARGUMENT)
123
+ .argument(...POOL_ARGUMENT)
124
+ .argument(...ROLE_ARGUMENT)
125
+ .argument(...ACCOUNT_REVOKE_ARGUMENT)
126
+ .option(...SALT_OPTION)
127
+ .action(async (timelock, poolAddress, roleInput, accountInput, options) => {
128
+ // Interactive prompts for missing parameters
129
+ const timelockContract = await getPromptTimelock(timelock);
130
+ const poolContract = await promptPool(poolAddress);
131
+ const role = await promptRole(roleInput, poolContract);
132
+ const finalSalt = processSalt(options?.salt);
133
+ const account = await promptAccount(accountInput, 'Enter account address to revoke role from');
134
+ // Encode revokeRole call
135
+ const data = encodeFunctionData({
136
+ abi: StvPoolAbi,
137
+ functionName: 'revokeRole',
138
+ args: [role, account],
139
+ });
140
+ await executeOperation(timelockContract.address, poolContract.address, data, finalSalt, 'revokeRole', `Are you sure you want to execute revoking role ${role} from ${account} on pool ${poolContract.address}?`);
141
+ });
142
+ poolWrite
143
+ .command('propose-set-max-loss-socialization-bp')
144
+ .description('propose setting maxLossSocializationBP on StvStETHPool via Timelock')
145
+ .argument(...TIMELOCK_ARGUMENT)
146
+ .argument(...POOL_ARGUMENT)
147
+ .argument(...MAX_SOCIALIZABLE_PORTION_BP_ARGUMENT)
148
+ .option(...SALT_OPTION)
149
+ .action(async (timelock, poolAddress, maxSocializablePortionBPInput, options) => {
150
+ // Interactive prompts for missing parameters
151
+ const timelockContract = await getPromptTimelock(timelock);
152
+ const poolContract = await promptPool(poolAddress);
153
+ const maxSocializablePortionBP = await promptMaxSocializablePortionBP(maxSocializablePortionBPInput);
154
+ const finalSalt = processSalt(options?.salt);
155
+ // Encode setMaxLossSocializationBP call
156
+ const data = encodeFunctionData({
157
+ abi: StvStETHPoolAbi,
158
+ functionName: 'setMaxLossSocializationBP',
159
+ args: [maxSocializablePortionBP],
160
+ });
161
+ await proposeOperation(timelockContract.address, poolContract.address, data, finalSalt, `setMaxLossSocializationBP(${maxSocializablePortionBP})`, `Are you sure you want to propose setting maxLossSocializationBP to ${maxSocializablePortionBP} BP on pool ${poolContract.address}?`);
162
+ });
163
+ poolWrite
164
+ .command('execute-set-max-loss-socialization-bp')
165
+ .description('execute setting maxLossSocializationBP on StvStETHPool via Timelock')
166
+ .argument(...TIMELOCK_ARGUMENT)
167
+ .argument(...POOL_ARGUMENT)
168
+ .argument(...MAX_SOCIALIZABLE_PORTION_BP_ARGUMENT)
169
+ .option(...SALT_OPTION)
170
+ .action(async (timelock, poolAddress, maxSocializablePortionBPInput, options) => {
171
+ // Interactive prompts for missing parameters
172
+ const timelockContract = await getPromptTimelock(timelock);
173
+ const poolContract = await promptPool(poolAddress);
174
+ const maxSocializablePortionBP = await promptMaxSocializablePortionBP(maxSocializablePortionBPInput);
175
+ const finalSalt = processSalt(options?.salt);
176
+ // Encode setMaxLossSocializationBP call (same as in propose)
177
+ const data = encodeFunctionData({
178
+ abi: StvStETHPoolAbi,
179
+ functionName: 'setMaxLossSocializationBP',
180
+ args: [maxSocializablePortionBP],
181
+ });
182
+ await proposeOperation(timelockContract.address, poolContract.address, data, finalSalt, `setMaxLossSocializationBP(${maxSocializablePortionBP})`, `Are you sure you want to execute setting maxLossSocializationBP to ${maxSocializablePortionBP} BP on pool ${poolContract.address}?`);
183
+ });
184
+ //# sourceMappingURL=write.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["../../../../../../programs/defi-wrapper/use-cases/timelock-governance/pool/write.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,iBAAiB,GAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,OAAO,EACP,eAAe,EACf,eAAe,EACf,aAAa,EACb,UAAU,GACX,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAW,kBAAkB,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAExE,iBAAiB;AAEjB,MAAM,aAAa,GAAG;IACpB,QAAQ;IACR,uBAAuB;IACvB,eAAe;CACP,CAAC;AAEX,MAAM,oCAAoC,GAAG;IAC3C,4BAA4B;IAC5B,mDAAmD;IACnD,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;CAClC,CAAC;AAEX,MAAM,UAAU,GAAG,KAAK,EAAE,WAAqB,EAAE,EAAE;IACjD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,UAAU,GAAG,MAAM,aAAa,CACpC,6BAA6B,EAC7B,MAAM,CACP,CAAC;QACF,WAAW,GAAG,UAAU,CAAC,IAAe,CAAC;IAC3C,CAAC;IACD,OAAO,uBAAuB,CAAC,WAAW,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,8BAA8B,GAAG,KAAK,EAC1C,6BAAsC,EACrB,EAAE;IACnB,IAAI,wBAAgC,CAAC;IACrC,IAAI,6BAA6B,KAAK,SAAS,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,MAAM,UAAU,CAC/B,yEAAyE,EACzE,0BAA0B,CAC3B,CAAC;QACF,wBAAwB,GAAG,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IACvE,CAAC;SAAM,CAAC;QACN,wBAAwB,GAAG,6BAA6B,CAAC;IAC3D,CAAC;IAED,IAAI,wBAAwB,GAAG,CAAC,IAAI,wBAAwB,GAAG,SAAS,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CACb,kDAAkD,SAAS,WAAW,CACvE,CAAC;IACJ,CAAC;IACD,OAAO,wBAAwB,CAAC;AAClC,CAAC,CAAC;AAEF,sBAAsB;AAEtB,MAAM,SAAS,GAAG,IAAI;KACnB,OAAO,CAAC,OAAO,CAAC;KAChB,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC,8BAA8B,CAAC,CAAC;AAE/C,SAAS,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AAC7C,SAAS,CAAC,EAAE,CAAC,kBAAkB,EAAE;IAC/B,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;IACpC,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC;AAEH,SAAS;KACN,OAAO,CAAC,oBAAoB,CAAC;KAC7B,WAAW,CAAC,8CAA8C,CAAC;KAC3D,QAAQ,CAAC,GAAG,iBAAiB,CAAC;KAC9B,QAAQ,CAAC,GAAG,aAAa,CAAC;KAC1B,QAAQ,CAAC,GAAG,aAAa,CAAC;KAC1B,QAAQ,CAAC,GAAG,sBAAsB,CAAC;KACnC,MAAM,CAAC,GAAG,WAAW,CAAC;KACtB,MAAM,CACL,KAAK,EACH,QAAkB,EAClB,WAAqB,EACrB,SAAkB,EAClB,YAAqB,EACrB,OAA2B,EAC3B,EAAE;IACF,6CAA6C;IAC7C,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAE3D,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC;IAEnD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAEvD,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAE7C,MAAM,OAAO,GAAG,MAAM,aAAa,CACjC,YAAY,EACZ,wCAAwC,CACzC,CAAC;IAEF,wBAAwB;IACxB,MAAM,IAAI,GAAG,kBAAkB,CAAC;QAC9B,GAAG,EAAE,UAAU;QACf,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC;KACtB,CAAC,CAAC;IAEH,MAAM,gBAAgB,CACpB,gBAAgB,CAAC,OAAO,EACxB,YAAY,CAAC,OAAO,EACpB,IAAI,EACJ,SAAS,EACT,WAAW,EACX,kDAAkD,IAAI,OAAO,OAAO,YAAY,YAAY,CAAC,OAAO,GAAG,CACxG,CAAC;AACJ,CAAC,CACF,CAAC;AAEJ,SAAS;KACN,OAAO,CAAC,oBAAoB,CAAC;KAC7B,WAAW,CAAC,8CAA8C,CAAC;KAC3D,QAAQ,CAAC,GAAG,iBAAiB,CAAC;KAC9B,QAAQ,CAAC,GAAG,aAAa,CAAC;KAC1B,QAAQ,CAAC,GAAG,aAAa,CAAC;KAC1B,QAAQ,CAAC,GAAG,sBAAsB,CAAC;KACnC,MAAM,CAAC,GAAG,WAAW,CAAC;KACtB,MAAM,CACL,KAAK,EACH,QAAkB,EAClB,WAAqB,EACrB,SAAkB,EAClB,YAAqB,EACrB,OAA2B,EAC3B,EAAE;IACF,6CAA6C;IAC7C,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAE3D,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC;IAEnD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAEvD,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAE7C,MAAM,OAAO,GAAG,MAAM,aAAa,CACjC,YAAY,EACZ,wCAAwC,CACzC,CAAC;IAEF,6CAA6C;IAC7C,MAAM,IAAI,GAAG,kBAAkB,CAAC;QAC9B,GAAG,EAAE,UAAU;QACf,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC;KACtB,CAAC,CAAC;IAEH,MAAM,gBAAgB,CACpB,gBAAgB,CAAC,OAAO,EACxB,YAAY,CAAC,OAAO,EACpB,IAAI,EACJ,SAAS,EACT,WAAW,EACX,kDAAkD,IAAI,OAAO,OAAO,YAAY,YAAY,CAAC,OAAO,GAAG,CACxG,CAAC;AACJ,CAAC,CACF,CAAC;AAEJ,SAAS;KACN,OAAO,CAAC,qBAAqB,CAAC;KAC9B,WAAW,CAAC,8CAA8C,CAAC;KAC3D,QAAQ,CAAC,GAAG,iBAAiB,CAAC;KAC9B,QAAQ,CAAC,GAAG,aAAa,CAAC;KAC1B,QAAQ,CAAC,GAAG,aAAa,CAAC;KAC1B,QAAQ,CAAC,GAAG,uBAAuB,CAAC;KACpC,MAAM,CAAC,GAAG,WAAW,CAAC;KACtB,MAAM,CACL,KAAK,EACH,QAAkB,EAClB,WAAqB,EACrB,SAAkB,EAClB,YAAqB,EACrB,OAA2B,EAC3B,EAAE;IACF,6CAA6C;IAC7C,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAE3D,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC;IAEnD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAEvD,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAE7C,MAAM,OAAO,GAAG,MAAM,aAAa,CACjC,YAAY,EACZ,2CAA2C,CAC5C,CAAC;IAEF,yBAAyB;IACzB,MAAM,IAAI,GAAG,kBAAkB,CAAC;QAC9B,GAAG,EAAE,UAAU;QACf,YAAY,EAAE,YAAY;QAC1B,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC;KACtB,CAAC,CAAC;IAEH,MAAM,gBAAgB,CACpB,gBAAgB,CAAC,OAAO,EACxB,YAAY,CAAC,OAAO,EACpB,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,kDAAkD,IAAI,SAAS,OAAO,YAAY,YAAY,CAAC,OAAO,GAAG,CAC1G,CAAC;AACJ,CAAC,CACF,CAAC;AAEJ,SAAS;KACN,OAAO,CAAC,qBAAqB,CAAC;KAC9B,WAAW,CAAC,8CAA8C,CAAC;KAC3D,QAAQ,CAAC,GAAG,iBAAiB,CAAC;KAC9B,QAAQ,CAAC,GAAG,aAAa,CAAC;KAC1B,QAAQ,CAAC,GAAG,aAAa,CAAC;KAC1B,QAAQ,CAAC,GAAG,uBAAuB,CAAC;KACpC,MAAM,CAAC,GAAG,WAAW,CAAC;KACtB,MAAM,CACL,KAAK,EACH,QAAkB,EAClB,WAAqB,EACrB,SAAkB,EAClB,YAAqB,EACrB,OAA2B,EAC3B,EAAE;IACF,6CAA6C;IAC7C,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAE3D,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC;IAEnD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAEvD,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAE7C,MAAM,OAAO,GAAG,MAAM,aAAa,CACjC,YAAY,EACZ,2CAA2C,CAC5C,CAAC;IAEF,yBAAyB;IACzB,MAAM,IAAI,GAAG,kBAAkB,CAAC;QAC9B,GAAG,EAAE,UAAU;QACf,YAAY,EAAE,YAAY;QAC1B,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC;KACtB,CAAC,CAAC;IAEH,MAAM,gBAAgB,CACpB,gBAAgB,CAAC,OAAO,EACxB,YAAY,CAAC,OAAO,EACpB,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,kDAAkD,IAAI,SAAS,OAAO,YAAY,YAAY,CAAC,OAAO,GAAG,CAC1G,CAAC;AACJ,CAAC,CACF,CAAC;AAEJ,SAAS;KACN,OAAO,CAAC,uCAAuC,CAAC;KAChD,WAAW,CACV,qEAAqE,CACtE;KACA,QAAQ,CAAC,GAAG,iBAAiB,CAAC;KAC9B,QAAQ,CAAC,GAAG,aAAa,CAAC;KAC1B,QAAQ,CAAC,GAAG,oCAAoC,CAAC;KACjD,MAAM,CAAC,GAAG,WAAW,CAAC;KACtB,MAAM,CACL,KAAK,EACH,QAAkB,EAClB,WAAqB,EACrB,6BAAsC,EACtC,OAA2B,EAC3B,EAAE;IACF,6CAA6C;IAC7C,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAE3D,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC;IAEnD,MAAM,wBAAwB,GAAG,MAAM,8BAA8B,CACnE,6BAA6B,CAC9B,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAE7C,wCAAwC;IACxC,MAAM,IAAI,GAAG,kBAAkB,CAAC;QAC9B,GAAG,EAAE,eAAe;QACpB,YAAY,EAAE,2BAA2B;QACzC,IAAI,EAAE,CAAC,wBAAwB,CAAC;KACjC,CAAC,CAAC;IAEH,MAAM,gBAAgB,CACpB,gBAAgB,CAAC,OAAO,EACxB,YAAY,CAAC,OAAO,EACpB,IAAI,EACJ,SAAS,EACT,6BAA6B,wBAAwB,GAAG,EACxD,sEAAsE,wBAAwB,eAAe,YAAY,CAAC,OAAO,GAAG,CACrI,CAAC;AACJ,CAAC,CACF,CAAC;AAEJ,SAAS;KACN,OAAO,CAAC,uCAAuC,CAAC;KAChD,WAAW,CACV,qEAAqE,CACtE;KACA,QAAQ,CAAC,GAAG,iBAAiB,CAAC;KAC9B,QAAQ,CAAC,GAAG,aAAa,CAAC;KAC1B,QAAQ,CAAC,GAAG,oCAAoC,CAAC;KACjD,MAAM,CAAC,GAAG,WAAW,CAAC;KACtB,MAAM,CACL,KAAK,EACH,QAAkB,EAClB,WAAqB,EACrB,6BAAsC,EACtC,OAA2B,EAC3B,EAAE;IACF,6CAA6C;IAC7C,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAE3D,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC;IAEnD,MAAM,wBAAwB,GAAG,MAAM,8BAA8B,CACnE,6BAA6B,CAC9B,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAE7C,6DAA6D;IAC7D,MAAM,IAAI,GAAG,kBAAkB,CAAC;QAC9B,GAAG,EAAE,eAAe;QACpB,YAAY,EAAE,2BAA2B;QACzC,IAAI,EAAE,CAAC,wBAAwB,CAAC;KACjC,CAAC,CAAC;IAEH,MAAM,gBAAgB,CACpB,gBAAgB,CAAC,OAAO,EACxB,YAAY,CAAC,OAAO,EACpB,IAAI,EACJ,SAAS,EACT,6BAA6B,wBAAwB,GAAG,EACxD,sEAAsE,wBAAwB,eAAe,YAAY,CAAC,OAAO,GAAG,CACrI,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './main.js';
2
+ export * from './write.js';
3
+ export * from './read.js';
@@ -0,0 +1,4 @@
1
+ export * from './main.js';
2
+ export * from './write.js';
3
+ export * from './read.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../programs/defi-wrapper/use-cases/timelock-governance/proxy/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const proxy: import("node_modules/commander/typings/index.js").Command;
@@ -0,0 +1,6 @@
1
+ import { timelockGovernance } from '../main.js';
2
+ export const proxy = timelockGovernance
3
+ .command('proxy')
4
+ .alias('px')
5
+ .description('proxy 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/proxy/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,CAAC,MAAM,KAAK,GAAG,kBAAkB;KACpC,OAAO,CAAC,OAAO,CAAC;KAChB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,oCAAoC,CAAC,CAAC"}
@@ -0,0 +1,80 @@
1
+ import { Option } from 'commander';
2
+ import { logInfo, getCommandsJson, stringToAddress, callReadMethodSilent, logResult, addressPrompt, } from '../../../../../utils/index.js';
3
+ import { proxy } from './main.js';
4
+ import { getOssifiableProxyContract } from 'contracts/defi-wrapper/index.js';
5
+ const proxyRead = proxy
6
+ .command('read')
7
+ .alias('r')
8
+ .description('proxy timelock read commands');
9
+ proxyRead.addOption(new Option('-cmd2json'));
10
+ proxyRead.on('option:-cmd2json', function () {
11
+ logInfo(getCommandsJson(proxyRead));
12
+ process.exit();
13
+ });
14
+ proxyRead
15
+ .command('get-admin')
16
+ .description('get the admin of a proxy contract')
17
+ .argument('[proxy]', 'proxy contract address', stringToAddress)
18
+ .action(async (proxyAddress) => {
19
+ if (!proxyAddress) {
20
+ const proxyPrompt = await addressPrompt('Enter proxy contract address', 'proxy');
21
+ proxyAddress = proxyPrompt.proxy;
22
+ }
23
+ const proxyContract = await getOssifiableProxyContract(proxyAddress);
24
+ const admin = await callReadMethodSilent({
25
+ contract: proxyContract,
26
+ methodName: 'proxy__getAdmin',
27
+ payload: [],
28
+ });
29
+ logResult({
30
+ data: [
31
+ ['Proxy Address', proxyAddress],
32
+ ['Admin', admin],
33
+ ],
34
+ });
35
+ });
36
+ proxyRead
37
+ .command('get-implementation')
38
+ .description('get the implementation address of a proxy contract')
39
+ .argument('[proxy]', 'proxy contract address', stringToAddress)
40
+ .action(async (proxyAddress) => {
41
+ if (!proxyAddress) {
42
+ const proxyPrompt = await addressPrompt('Enter proxy contract address', 'proxy');
43
+ proxyAddress = proxyPrompt.proxy;
44
+ }
45
+ const proxyContract = await getOssifiableProxyContract(proxyAddress);
46
+ const implementation = await callReadMethodSilent({
47
+ contract: proxyContract,
48
+ methodName: 'proxy__getImplementation',
49
+ payload: [],
50
+ });
51
+ logResult({
52
+ data: [
53
+ ['Proxy Address', proxyAddress],
54
+ ['Implementation', implementation],
55
+ ],
56
+ });
57
+ });
58
+ proxyRead
59
+ .command('get-is-ossified')
60
+ .description('check if a proxy contract is ossified (permanently locked)')
61
+ .argument('[proxy]', 'proxy contract address', stringToAddress)
62
+ .action(async (proxyAddress) => {
63
+ if (!proxyAddress) {
64
+ const proxyPrompt = await addressPrompt('Enter proxy contract address', 'proxy');
65
+ proxyAddress = proxyPrompt.proxy;
66
+ }
67
+ const proxyContract = await getOssifiableProxyContract(proxyAddress);
68
+ const isOssified = await callReadMethodSilent({
69
+ contract: proxyContract,
70
+ methodName: 'proxy__getIsOssified',
71
+ payload: [],
72
+ });
73
+ logResult({
74
+ data: [
75
+ ['Proxy Address', proxyAddress],
76
+ ['Is Ossified', isOssified ? '✅ Yes' : '❌ No'],
77
+ ],
78
+ });
79
+ });
80
+ //# sourceMappingURL=read.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../../../../programs/defi-wrapper/use-cases/timelock-governance/proxy/read.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,139 @@
1
+ import { Option } from 'commander';
2
+ import { proposeOperation, executeOperation, processSalt, TIMELOCK_ARGUMENT, getPromptTimelock, SALT_OPTION, } from 'features/defi-wrapper/index.js';
3
+ import { logInfo, getCommandsJson, stringToAddress, addressPrompt, textPrompt, stringToHex, } from '../../../../../utils/index.js';
4
+ import { proxy } from './main.js';
5
+ import { encodeFunctionData } from 'viem';
6
+ import { OssifiableProxyAbi } from 'abi/defi-wrapper/index.js';
7
+ import { getOssifiableProxyContract } from 'contracts/defi-wrapper/index.js';
8
+ // Common helpers
9
+ const PROXY_ARGUMENT = [
10
+ '[proxy]',
11
+ 'proxy contract address',
12
+ stringToAddress,
13
+ ];
14
+ const NEW_IMPLEMENTATION_ARGUMENT = [
15
+ '[newImplementation]',
16
+ 'new implementation address',
17
+ stringToAddress,
18
+ ];
19
+ const SETUP_CALLDATA_ARGUMENT = [
20
+ '[setupCalldata]',
21
+ 'setup calldata (hex)',
22
+ stringToHex,
23
+ ];
24
+ const promptProxy = async (proxyAddress) => {
25
+ if (!proxyAddress) {
26
+ const proxyPrompt = await addressPrompt('Enter proxy contract address', 'proxy');
27
+ proxyAddress = proxyPrompt.proxy;
28
+ }
29
+ return getOssifiableProxyContract(proxyAddress);
30
+ };
31
+ const promptNewImplementation = async (newImplementationInput) => {
32
+ if (!newImplementationInput) {
33
+ const newImplementationPrompt = await addressPrompt('Enter new implementation address', 'newImplementation');
34
+ newImplementationInput =
35
+ newImplementationPrompt.newImplementation;
36
+ }
37
+ return stringToAddress(newImplementationInput);
38
+ };
39
+ const promptSetupCalldata = async (setupCalldataInput) => {
40
+ if (!setupCalldataInput) {
41
+ const setupCalldataPrompt = await textPrompt('Enter setup calldata (hex)', 'setupCalldata');
42
+ setupCalldataInput = setupCalldataPrompt.setupCalldata;
43
+ }
44
+ return setupCalldataInput;
45
+ };
46
+ const proxyWrite = proxy
47
+ .command('write')
48
+ .alias('w')
49
+ .description('proxy timelock write commands');
50
+ proxyWrite.addOption(new Option('-cmd2json'));
51
+ proxyWrite.on('option:-cmd2json', function () {
52
+ logInfo(getCommandsJson(proxyWrite));
53
+ process.exit();
54
+ });
55
+ // propose-upgrade-to
56
+ proxyWrite
57
+ .command('propose-upgrade-to')
58
+ .description('propose upgrading proxy implementation via Timelock')
59
+ .argument(...TIMELOCK_ARGUMENT)
60
+ .argument(...PROXY_ARGUMENT)
61
+ .argument(...NEW_IMPLEMENTATION_ARGUMENT)
62
+ .option(...SALT_OPTION)
63
+ .action(async (timelock, proxyAddress, newImplementationInput, options) => {
64
+ const timelockContract = await getPromptTimelock(timelock);
65
+ const proxyContract = await promptProxy(proxyAddress);
66
+ const newImplementation = await promptNewImplementation(newImplementationInput);
67
+ const finalSalt = processSalt(options?.salt);
68
+ const data = encodeFunctionData({
69
+ abi: OssifiableProxyAbi,
70
+ functionName: 'proxy__upgradeTo',
71
+ args: [newImplementation],
72
+ });
73
+ await proposeOperation(timelockContract.address, proxyContract.address, data, finalSalt, `proxy__upgradeTo(${newImplementation})`, `Are you sure you want to propose upgrading proxy ${proxyContract.address} to implementation ${newImplementation}?`);
74
+ });
75
+ // execute-upgrade-to
76
+ proxyWrite
77
+ .command('execute-upgrade-to')
78
+ .description('execute upgrading proxy implementation via Timelock')
79
+ .argument(...TIMELOCK_ARGUMENT)
80
+ .argument(...PROXY_ARGUMENT)
81
+ .argument(...NEW_IMPLEMENTATION_ARGUMENT)
82
+ .option(...SALT_OPTION)
83
+ .action(async (timelock, proxyAddress, newImplementationInput, options) => {
84
+ const timelockContract = await getPromptTimelock(timelock);
85
+ const proxyContract = await promptProxy(proxyAddress);
86
+ const newImplementation = await promptNewImplementation(newImplementationInput);
87
+ const finalSalt = processSalt(options?.salt);
88
+ const data = encodeFunctionData({
89
+ abi: OssifiableProxyAbi,
90
+ functionName: 'proxy__upgradeTo',
91
+ args: [newImplementation],
92
+ });
93
+ await executeOperation(timelockContract.address, proxyContract.address, data, finalSalt, `proxy__upgradeTo(${newImplementation})`, `Are you sure you want to execute upgrading proxy ${proxyContract.address} to implementation ${newImplementation}?`);
94
+ });
95
+ // propose-upgrade-to-and-call
96
+ proxyWrite
97
+ .command('propose-upgrade-to-and-call')
98
+ .description('propose upgrading proxy implementation with setup call via Timelock')
99
+ .argument(...TIMELOCK_ARGUMENT)
100
+ .argument(...PROXY_ARGUMENT)
101
+ .argument(...NEW_IMPLEMENTATION_ARGUMENT)
102
+ .argument(...SETUP_CALLDATA_ARGUMENT)
103
+ .option(...SALT_OPTION)
104
+ .action(async (timelock, proxyAddress, newImplementationInput, setupCalldataInput, options) => {
105
+ const timelockContract = await getPromptTimelock(timelock);
106
+ const proxyContract = await promptProxy(proxyAddress);
107
+ const newImplementation = await promptNewImplementation(newImplementationInput);
108
+ const setupCalldata = await promptSetupCalldata(setupCalldataInput);
109
+ const finalSalt = processSalt(options?.salt);
110
+ const data = encodeFunctionData({
111
+ abi: OssifiableProxyAbi,
112
+ functionName: 'proxy__upgradeToAndCall',
113
+ args: [newImplementation, setupCalldata],
114
+ });
115
+ await proposeOperation(timelockContract.address, proxyContract.address, data, finalSalt, `proxy__upgradeToAndCall(${newImplementation}, ${setupCalldata})`, `Are you sure you want to propose upgrading proxy ${proxyContract.address} to implementation ${newImplementation} with setup call?`);
116
+ });
117
+ // execute-upgrade-to-and-call
118
+ proxyWrite
119
+ .command('execute-upgrade-to-and-call')
120
+ .description('execute upgrading proxy implementation with setup call via Timelock')
121
+ .argument(...TIMELOCK_ARGUMENT)
122
+ .argument(...PROXY_ARGUMENT)
123
+ .argument(...NEW_IMPLEMENTATION_ARGUMENT)
124
+ .argument(...SETUP_CALLDATA_ARGUMENT)
125
+ .option(...SALT_OPTION)
126
+ .action(async (timelock, proxyAddress, newImplementationInput, setupCalldataInput, options) => {
127
+ const timelockContract = await getPromptTimelock(timelock);
128
+ const proxyContract = await promptProxy(proxyAddress);
129
+ const newImplementation = await promptNewImplementation(newImplementationInput);
130
+ const setupCalldata = await promptSetupCalldata(setupCalldataInput);
131
+ const finalSalt = processSalt(options?.salt);
132
+ const data = encodeFunctionData({
133
+ abi: OssifiableProxyAbi,
134
+ functionName: 'proxy__upgradeToAndCall',
135
+ args: [newImplementation, setupCalldata],
136
+ });
137
+ await executeOperation(timelockContract.address, proxyContract.address, data, finalSalt, `proxy__upgradeToAndCall(${newImplementation}, ${setupCalldata})`, `Are you sure you want to execute upgrading proxy ${proxyContract.address} to implementation ${newImplementation} with setup call?`);
138
+ });
139
+ //# sourceMappingURL=write.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["../../../../../../programs/defi-wrapper/use-cases/timelock-governance/proxy/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/withdrawal-queue/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const withdrawalQueueTimelockGovernance: import("node_modules/commander/typings/index.js").Command;
@@ -0,0 +1,6 @@
1
+ import { timelockGovernance } from '../main.js';
2
+ export const withdrawalQueueTimelockGovernance = timelockGovernance
3
+ .command('withdrawal-queue')
4
+ .alias('wq')
5
+ .description('withdrawal queue 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/withdrawal-queue/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,CAAC,MAAM,iCAAiC,GAAG,kBAAkB;KAChE,OAAO,CAAC,kBAAkB,CAAC;KAC3B,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,+CAA+C,CAAC,CAAC"}
@@ -0,0 +1,118 @@
1
+ import { Option } from 'commander';
2
+ import { proposeOperation, executeOperation, processSalt, TIMELOCK_ARGUMENT, getPromptTimelock, SALT_OPTION, ROLE_ARGUMENT, ACCOUNT_GRANT_ARGUMENT, ACCOUNT_REVOKE_ARGUMENT, promptRole, promptAccount, } from 'features/defi-wrapper/index.js';
3
+ import { logInfo, getCommandsJson, stringToAddress, addressPrompt, } from '../../../../../utils/index.js';
4
+ import { withdrawalQueueTimelockGovernance } from './main.js';
5
+ import { encodeFunctionData } from 'viem';
6
+ import { getWithdrawalQueueContract } from 'contracts/defi-wrapper/index.js';
7
+ import { WithdrawalQueueAbi } from 'abi/defi-wrapper/index.js';
8
+ // Common helpers
9
+ const WITHDRAWAL_QUEUE_ARGUMENT = [
10
+ '[withdrawalQueue]',
11
+ 'withdrawal queue contract address',
12
+ stringToAddress,
13
+ ];
14
+ const promptWithdrawalQueue = async (withdrawalQueueAddress) => {
15
+ if (!withdrawalQueueAddress) {
16
+ const withdrawalQueuePrompt = await addressPrompt('Enter withdrawal queue contract address', 'withdrawalQueue');
17
+ withdrawalQueueAddress = withdrawalQueuePrompt.withdrawalQueue;
18
+ }
19
+ return getWithdrawalQueueContract(withdrawalQueueAddress);
20
+ };
21
+ const withdrawalQueueWrite = withdrawalQueueTimelockGovernance
22
+ .command('write')
23
+ .alias('w')
24
+ .description('withdrawal queue timelock write commands');
25
+ withdrawalQueueWrite.addOption(new Option('-cmd2json'));
26
+ withdrawalQueueWrite.on('option:-cmd2json', function () {
27
+ logInfo(getCommandsJson(withdrawalQueueWrite));
28
+ process.exit();
29
+ });
30
+ // propose-grant-role
31
+ withdrawalQueueWrite
32
+ .command('propose-grant-role')
33
+ .description('propose granting a role on WithdrawalQueue via Timelock')
34
+ .argument(...TIMELOCK_ARGUMENT)
35
+ .argument(...WITHDRAWAL_QUEUE_ARGUMENT)
36
+ .argument(...ROLE_ARGUMENT)
37
+ .argument(...ACCOUNT_GRANT_ARGUMENT)
38
+ .option(...SALT_OPTION)
39
+ .action(async (timelock, withdrawalQueueAddress, roleInput, accountInput, options) => {
40
+ const timelockContract = await getPromptTimelock(timelock);
41
+ const withdrawalQueueContract = await promptWithdrawalQueue(withdrawalQueueAddress);
42
+ const role = await promptRole(roleInput, withdrawalQueueContract);
43
+ const finalSalt = processSalt(options?.salt);
44
+ const account = await promptAccount(accountInput, 'Enter account address to grant role to');
45
+ const data = encodeFunctionData({
46
+ abi: WithdrawalQueueAbi,
47
+ functionName: 'grantRole',
48
+ args: [role, account],
49
+ });
50
+ await proposeOperation(timelockContract.address, withdrawalQueueContract.address, data, finalSalt, `grantRole(${role}, ${account})`, `Are you sure you want to propose granting role ${role} to ${account} on withdrawal queue ${withdrawalQueueContract.address}?`);
51
+ });
52
+ // execute-grant-role
53
+ withdrawalQueueWrite
54
+ .command('execute-grant-role')
55
+ .description('execute granting a role on WithdrawalQueue via Timelock')
56
+ .argument(...TIMELOCK_ARGUMENT)
57
+ .argument(...WITHDRAWAL_QUEUE_ARGUMENT)
58
+ .argument(...ROLE_ARGUMENT)
59
+ .argument(...ACCOUNT_GRANT_ARGUMENT)
60
+ .option(...SALT_OPTION)
61
+ .action(async (timelock, withdrawalQueueAddress, roleInput, accountInput, options) => {
62
+ const timelockContract = await getPromptTimelock(timelock);
63
+ const withdrawalQueueContract = await promptWithdrawalQueue(withdrawalQueueAddress);
64
+ const role = await promptRole(roleInput, withdrawalQueueContract);
65
+ const finalSalt = processSalt(options?.salt);
66
+ const account = await promptAccount(accountInput, 'Enter account address to grant role to');
67
+ const data = encodeFunctionData({
68
+ abi: WithdrawalQueueAbi,
69
+ functionName: 'grantRole',
70
+ args: [role, account],
71
+ });
72
+ await executeOperation(timelockContract.address, withdrawalQueueContract.address, data, finalSalt, `grantRole(${role}, ${account})`, `Are you sure you want to execute granting role ${role} to ${account} on withdrawal queue ${withdrawalQueueContract.address}?`);
73
+ });
74
+ // propose-revoke-role
75
+ withdrawalQueueWrite
76
+ .command('propose-revoke-role')
77
+ .description('propose revoking a role on WithdrawalQueue via Timelock')
78
+ .argument(...TIMELOCK_ARGUMENT)
79
+ .argument(...WITHDRAWAL_QUEUE_ARGUMENT)
80
+ .argument(...ROLE_ARGUMENT)
81
+ .argument(...ACCOUNT_REVOKE_ARGUMENT)
82
+ .option(...SALT_OPTION)
83
+ .action(async (timelock, withdrawalQueueAddress, roleInput, accountInput, options) => {
84
+ const timelockContract = await getPromptTimelock(timelock);
85
+ const withdrawalQueueContract = await promptWithdrawalQueue(withdrawalQueueAddress);
86
+ const role = await promptRole(roleInput, withdrawalQueueContract);
87
+ const finalSalt = processSalt(options?.salt);
88
+ const account = await promptAccount(accountInput, 'Enter account address to revoke role from');
89
+ const data = encodeFunctionData({
90
+ abi: WithdrawalQueueAbi,
91
+ functionName: 'revokeRole',
92
+ args: [role, account],
93
+ });
94
+ await proposeOperation(timelockContract.address, withdrawalQueueContract.address, data, finalSalt, `revokeRole(${role}, ${account})`, `Are you sure you want to propose revoking role ${role} from ${account} on withdrawal queue ${withdrawalQueueContract.address}?`);
95
+ });
96
+ // execute-revoke-role
97
+ withdrawalQueueWrite
98
+ .command('execute-revoke-role')
99
+ .description('execute revoking a role on WithdrawalQueue via Timelock')
100
+ .argument(...TIMELOCK_ARGUMENT)
101
+ .argument(...WITHDRAWAL_QUEUE_ARGUMENT)
102
+ .argument(...ROLE_ARGUMENT)
103
+ .argument(...ACCOUNT_REVOKE_ARGUMENT)
104
+ .option(...SALT_OPTION)
105
+ .action(async (timelock, withdrawalQueueAddress, roleInput, accountInput, options) => {
106
+ const timelockContract = await getPromptTimelock(timelock);
107
+ const withdrawalQueueContract = await promptWithdrawalQueue(withdrawalQueueAddress);
108
+ const role = await promptRole(roleInput, withdrawalQueueContract);
109
+ const finalSalt = processSalt(options?.salt);
110
+ const account = await promptAccount(accountInput, 'Enter account address to revoke role from');
111
+ const data = encodeFunctionData({
112
+ abi: WithdrawalQueueAbi,
113
+ functionName: 'revokeRole',
114
+ args: [role, account],
115
+ });
116
+ await executeOperation(timelockContract.address, withdrawalQueueContract.address, data, finalSalt, `revokeRole(${role}, ${account})`, `Are you sure you want to execute revoking role ${role} from ${account} on withdrawal queue ${withdrawalQueueContract.address}?`);
117
+ });
118
+ //# sourceMappingURL=write.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["../../../../../../programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/write.ts"],"names":[],"mappings":"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"}