@lidofinance/lsv-cli 1.0.0-alpha.3 → 1.0.0-alpha.31

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 (401) hide show
  1. package/README.md +102 -1
  2. package/dist/abi/BlsHarness.d.ts +178 -0
  3. package/dist/abi/BlsHarness.js +232 -0
  4. package/dist/abi/BlsHarness.js.map +1 -0
  5. package/dist/abi/CLProofVerifier.d.ts +188 -0
  6. package/dist/abi/CLProofVerifier.js +247 -0
  7. package/dist/abi/CLProofVerifier.js.map +1 -0
  8. package/dist/abi/Dashboard.d.ts +1486 -0
  9. package/dist/abi/Dashboard.js +1920 -0
  10. package/dist/abi/Dashboard.js.map +1 -0
  11. package/dist/abi/LidoLocator.d.ts +330 -0
  12. package/dist/abi/LidoLocator.js +426 -0
  13. package/dist/abi/LidoLocator.js.map +1 -0
  14. package/dist/abi/OperatorGrid.d.ts +914 -0
  15. package/dist/abi/OperatorGrid.js +1185 -0
  16. package/dist/abi/OperatorGrid.js.map +1 -0
  17. package/dist/abi/PredepositGuarantee.d.ts +1382 -0
  18. package/dist/abi/PredepositGuarantee.js +1789 -0
  19. package/dist/abi/PredepositGuarantee.js.map +1 -0
  20. package/dist/abi/ReportChecker.d.ts +83 -0
  21. package/dist/abi/ReportChecker.js +109 -0
  22. package/dist/abi/ReportChecker.js.map +1 -0
  23. package/dist/abi/StEth.d.ts +372 -0
  24. package/dist/abi/StEth.js +493 -0
  25. package/dist/abi/StEth.js.map +1 -0
  26. package/dist/abi/StakingVault.d.ts +864 -0
  27. package/dist/abi/StakingVault.js +1112 -0
  28. package/dist/abi/StakingVault.js.map +1 -0
  29. package/dist/abi/TokenManager.d.ts +577 -0
  30. package/dist/abi/TokenManager.js +756 -0
  31. package/dist/abi/TokenManager.js.map +1 -0
  32. package/dist/abi/VaultFactory.d.ts +160 -0
  33. package/dist/abi/VaultFactory.js +209 -0
  34. package/dist/abi/VaultFactory.js.map +1 -0
  35. package/dist/abi/VaultHub.d.ts +1309 -0
  36. package/dist/abi/VaultHub.js +1245 -436
  37. package/dist/abi/VaultHub.js.map +1 -1
  38. package/dist/abi/VaultViewer.d.ts +223 -0
  39. package/dist/abi/VaultViewer.js +297 -0
  40. package/dist/abi/VaultViewer.js.map +1 -0
  41. package/dist/abi/Voting.d.ts +676 -0
  42. package/dist/abi/Voting.js +884 -0
  43. package/dist/abi/Voting.js.map +1 -0
  44. package/dist/abi/WstEth.d.ts +362 -0
  45. package/dist/abi/WstEth.js +478 -0
  46. package/dist/abi/WstEth.js.map +1 -0
  47. package/dist/abi/index.d.ts +15 -0
  48. package/dist/abi/index.js +17 -0
  49. package/dist/abi/index.js.map +1 -0
  50. package/dist/command/index.d.ts +2 -0
  51. package/dist/command/index.js +4 -5
  52. package/dist/command/index.js.map +1 -1
  53. package/dist/configs/constants.d.ts +36 -0
  54. package/dist/configs/constants.js +3 -0
  55. package/dist/configs/constants.js.map +1 -0
  56. package/dist/configs/deployed.d.ts +17 -0
  57. package/dist/configs/deployed.js +87 -52
  58. package/dist/configs/deployed.js.map +1 -1
  59. package/dist/configs/envs.d.ts +2 -0
  60. package/dist/configs/envs.js +8 -37
  61. package/dist/configs/envs.js.map +1 -1
  62. package/dist/configs/index.d.ts +3 -0
  63. package/dist/configs/index.js +3 -18
  64. package/dist/configs/index.js.map +1 -1
  65. package/dist/configs/utils.d.ts +4 -0
  66. package/dist/configs/utils.js +22 -0
  67. package/dist/configs/utils.js.map +1 -0
  68. package/dist/contracts/blsHarness.d.ts +947 -0
  69. package/dist/contracts/blsHarness.js +24 -0
  70. package/dist/contracts/blsHarness.js.map +1 -0
  71. package/dist/contracts/clProofVerifier.d.ts +2647 -0
  72. package/dist/contracts/clProofVerifier.js +23 -0
  73. package/dist/contracts/clProofVerifier.js.map +1 -0
  74. package/dist/contracts/dashboard.d.ts +4 -0
  75. package/dist/contracts/dashboard.js +11 -0
  76. package/dist/contracts/dashboard.js.map +1 -0
  77. package/dist/contracts/index.d.ts +15 -0
  78. package/dist/contracts/index.js +15 -17
  79. package/dist/contracts/index.js.map +1 -1
  80. package/dist/contracts/locator.d.ts +6935 -0
  81. package/dist/contracts/locator.js +16 -0
  82. package/dist/contracts/locator.js.map +1 -0
  83. package/dist/contracts/operator-grid.d.ts +3 -0
  84. package/dist/contracts/operator-grid.js +17 -0
  85. package/dist/contracts/operator-grid.js.map +1 -0
  86. package/dist/contracts/pdg.d.ts +3 -0
  87. package/dist/contracts/pdg.js +17 -0
  88. package/dist/contracts/pdg.js.map +1 -0
  89. package/dist/contracts/reportChecker.d.ts +758 -0
  90. package/dist/contracts/reportChecker.js +23 -0
  91. package/dist/contracts/reportChecker.js.map +1 -0
  92. package/dist/contracts/steth.d.ts +27706 -0
  93. package/dist/contracts/steth.js +18 -0
  94. package/dist/contracts/steth.js.map +1 -0
  95. package/dist/contracts/token-manager.d.ts +3 -0
  96. package/dist/contracts/token-manager.js +13 -0
  97. package/dist/contracts/token-manager.js.map +1 -0
  98. package/dist/contracts/vault-factory.d.ts +2678 -0
  99. package/dist/contracts/vault-factory.js +14 -0
  100. package/dist/contracts/vault-factory.js.map +1 -0
  101. package/dist/contracts/vault-hub.d.ts +3 -0
  102. package/dist/contracts/vault-hub.js +14 -16
  103. package/dist/contracts/vault-hub.js.map +1 -1
  104. package/dist/contracts/vault-viewer.d.ts +2681 -0
  105. package/dist/contracts/vault-viewer.js +23 -0
  106. package/dist/contracts/vault-viewer.js.map +1 -0
  107. package/dist/contracts/vault.d.ts +3 -0
  108. package/dist/contracts/vault.js +11 -0
  109. package/dist/contracts/vault.js.map +1 -0
  110. package/dist/contracts/voting.d.ts +6 -0
  111. package/dist/contracts/voting.js +19 -0
  112. package/dist/contracts/voting.js.map +1 -0
  113. package/dist/contracts/wsteth.d.ts +24690 -0
  114. package/dist/contracts/wsteth.js +18 -0
  115. package/dist/contracts/wsteth.js.map +1 -0
  116. package/dist/features/advanced-config.d.ts +5 -0
  117. package/dist/features/advanced-config.js +17 -0
  118. package/dist/features/advanced-config.js.map +1 -0
  119. package/dist/features/dashboard.d.ts +5 -0
  120. package/dist/features/dashboard.js +210 -0
  121. package/dist/features/dashboard.js.map +1 -0
  122. package/dist/features/index.d.ts +8 -0
  123. package/dist/features/index.js +9 -0
  124. package/dist/features/index.js.map +1 -0
  125. package/dist/features/operator-grid.d.ts +2 -0
  126. package/dist/features/operator-grid.js +57 -0
  127. package/dist/features/operator-grid.js.map +1 -0
  128. package/dist/features/pdg.d.ts +2 -0
  129. package/dist/features/pdg.js +79 -0
  130. package/dist/features/pdg.js.map +1 -0
  131. package/dist/features/token-manager.d.ts +0 -0
  132. package/dist/features/token-manager.js +7 -0
  133. package/dist/features/token-manager.js.map +1 -0
  134. package/dist/features/vault-factory.d.ts +8 -0
  135. package/dist/features/vault-factory.js +52 -0
  136. package/dist/features/vault-factory.js.map +1 -0
  137. package/dist/features/vault-hub.d.ts +2 -0
  138. package/dist/features/vault-hub.js +81 -0
  139. package/dist/features/vault-hub.js.map +1 -0
  140. package/dist/features/vault.d.ts +2 -0
  141. package/dist/features/vault.js +54 -0
  142. package/dist/features/vault.js.map +1 -0
  143. package/dist/features/voting.d.ts +7 -0
  144. package/dist/features/voting.js +125 -0
  145. package/dist/features/voting.js.map +1 -0
  146. package/dist/index.d.ts +3 -0
  147. package/dist/index.js +8 -5
  148. package/dist/index.js.map +1 -1
  149. package/dist/programs/account.d.ts +1 -0
  150. package/dist/programs/account.js +135 -0
  151. package/dist/programs/account.js.map +1 -0
  152. package/dist/programs/config.d.ts +1 -0
  153. package/dist/programs/config.js +31 -0
  154. package/dist/programs/config.js.map +1 -0
  155. package/dist/programs/dashboard/config.d.ts +2 -0
  156. package/dist/programs/dashboard/config.js +111 -0
  157. package/dist/programs/dashboard/config.js.map +1 -0
  158. package/dist/programs/dashboard/index.d.ts +3 -0
  159. package/dist/programs/dashboard/index.js +4 -0
  160. package/dist/programs/dashboard/index.js.map +1 -0
  161. package/dist/programs/dashboard/main.d.ts +1 -0
  162. package/dist/programs/dashboard/main.js +5 -0
  163. package/dist/programs/dashboard/main.js.map +1 -0
  164. package/dist/programs/dashboard/read.d.ts +1 -0
  165. package/dist/programs/dashboard/read.js +76 -0
  166. package/dist/programs/dashboard/read.js.map +1 -0
  167. package/dist/programs/dashboard/write.d.ts +1 -0
  168. package/dist/programs/dashboard/write.js +408 -0
  169. package/dist/programs/dashboard/write.js.map +1 -0
  170. package/dist/programs/hub/config.d.ts +2 -0
  171. package/dist/programs/hub/config.js +123 -0
  172. package/dist/programs/hub/config.js.map +1 -0
  173. package/dist/programs/hub/index.d.ts +3 -0
  174. package/dist/programs/hub/index.js +4 -0
  175. package/dist/programs/hub/index.js.map +1 -0
  176. package/dist/programs/hub/main.d.ts +1 -0
  177. package/dist/programs/hub/main.js +5 -0
  178. package/dist/programs/hub/main.js.map +1 -0
  179. package/dist/programs/hub/read.d.ts +1 -0
  180. package/dist/programs/hub/read.js +57 -0
  181. package/dist/programs/hub/read.js.map +1 -0
  182. package/dist/programs/hub/write.d.ts +1 -0
  183. package/dist/programs/hub/write.js +217 -0
  184. package/dist/programs/hub/write.js.map +1 -0
  185. package/dist/programs/index.d.ts +11 -0
  186. package/dist/programs/index.js +11 -17
  187. package/dist/programs/index.js.map +1 -1
  188. package/dist/programs/operator-grid/config.d.ts +2 -0
  189. package/dist/programs/operator-grid/config.js +81 -0
  190. package/dist/programs/operator-grid/config.js.map +1 -0
  191. package/dist/programs/operator-grid/index.d.ts +3 -0
  192. package/dist/programs/operator-grid/index.js +4 -0
  193. package/dist/programs/operator-grid/index.js.map +1 -0
  194. package/dist/programs/operator-grid/main.d.ts +1 -0
  195. package/dist/programs/operator-grid/main.js +5 -0
  196. package/dist/programs/operator-grid/main.js.map +1 -0
  197. package/dist/programs/operator-grid/read.d.ts +1 -0
  198. package/dist/programs/operator-grid/read.js +24 -0
  199. package/dist/programs/operator-grid/read.js.map +1 -0
  200. package/dist/programs/operator-grid/write.d.ts +1 -0
  201. package/dist/programs/operator-grid/write.js +109 -0
  202. package/dist/programs/operator-grid/write.js.map +1 -0
  203. package/dist/programs/pdg/config.d.ts +2 -0
  204. package/dist/programs/pdg/config.js +133 -0
  205. package/dist/programs/pdg/config.js.map +1 -0
  206. package/dist/programs/pdg/index.d.ts +3 -0
  207. package/dist/programs/pdg/index.js +4 -0
  208. package/dist/programs/pdg/index.js.map +1 -0
  209. package/dist/programs/pdg/main.d.ts +1 -0
  210. package/dist/programs/pdg/main.js +5 -0
  211. package/dist/programs/pdg/main.js.map +1 -0
  212. package/dist/programs/pdg/read.d.ts +1 -0
  213. package/dist/programs/pdg/read.js +24 -0
  214. package/dist/programs/pdg/read.js.map +1 -0
  215. package/dist/programs/pdg/write.d.ts +1 -0
  216. package/dist/programs/pdg/write.js +311 -0
  217. package/dist/programs/pdg/write.js.map +1 -0
  218. package/dist/programs/pdg-helpers.d.ts +1 -0
  219. package/dist/programs/pdg-helpers.js +207 -0
  220. package/dist/programs/pdg-helpers.js.map +1 -0
  221. package/dist/programs/report.d.ts +1 -0
  222. package/dist/programs/report.js +89 -0
  223. package/dist/programs/report.js.map +1 -0
  224. package/dist/programs/vault/config.d.ts +2 -0
  225. package/dist/programs/vault/config.js +70 -0
  226. package/dist/programs/vault/config.js.map +1 -0
  227. package/dist/programs/vault/index.d.ts +3 -0
  228. package/dist/programs/vault/index.js +4 -0
  229. package/dist/programs/vault/index.js.map +1 -0
  230. package/dist/programs/vault/main.d.ts +1 -0
  231. package/dist/programs/vault/main.js +3 -0
  232. package/dist/programs/vault/main.js.map +1 -0
  233. package/dist/programs/vault/read.d.ts +1 -0
  234. package/dist/programs/vault/read.js +25 -0
  235. package/dist/programs/vault/read.js.map +1 -0
  236. package/dist/programs/vault/write.d.ts +1 -0
  237. package/dist/programs/vault/write.js +203 -0
  238. package/dist/programs/vault/write.js.map +1 -0
  239. package/dist/programs/vault-factory/config.d.ts +2 -0
  240. package/dist/programs/vault-factory/config.js +2 -0
  241. package/dist/programs/vault-factory/config.js.map +1 -0
  242. package/dist/programs/vault-factory/index.d.ts +3 -0
  243. package/dist/programs/vault-factory/index.js +4 -0
  244. package/dist/programs/vault-factory/index.js.map +1 -0
  245. package/dist/programs/vault-factory/main.d.ts +1 -0
  246. package/dist/programs/vault-factory/main.js +5 -0
  247. package/dist/programs/vault-factory/main.js.map +1 -0
  248. package/dist/programs/vault-factory/read.d.ts +1 -0
  249. package/dist/programs/vault-factory/read.js +24 -0
  250. package/dist/programs/vault-factory/read.js.map +1 -0
  251. package/dist/programs/vault-factory/write.d.ts +1 -0
  252. package/dist/programs/vault-factory/write.js +72 -0
  253. package/dist/programs/vault-factory/write.js.map +1 -0
  254. package/dist/programs/vault-viewer/config.d.ts +2 -0
  255. package/dist/programs/vault-viewer/config.js +85 -0
  256. package/dist/programs/vault-viewer/config.js.map +1 -0
  257. package/dist/programs/vault-viewer/index.d.ts +2 -0
  258. package/dist/programs/vault-viewer/index.js +3 -0
  259. package/dist/programs/vault-viewer/index.js.map +1 -0
  260. package/dist/programs/vault-viewer/main.d.ts +1 -0
  261. package/dist/programs/vault-viewer/main.js +10 -0
  262. package/dist/programs/vault-viewer/main.js.map +1 -0
  263. package/dist/programs/vault-viewer/read.d.ts +1 -0
  264. package/dist/programs/vault-viewer/read.js +55 -0
  265. package/dist/programs/vault-viewer/read.js.map +1 -0
  266. package/dist/programs/voting.d.ts +1 -0
  267. package/dist/programs/voting.js +18 -0
  268. package/dist/programs/voting.js.map +1 -0
  269. package/dist/providers/index.d.ts +1 -0
  270. package/dist/providers/index.js +1 -17
  271. package/dist/providers/index.js.map +1 -1
  272. package/dist/providers/wallet.d.ts +6897 -0
  273. package/dist/providers/wallet.js +20 -29
  274. package/dist/providers/wallet.js.map +1 -1
  275. package/dist/types/common.d.ts +31 -0
  276. package/dist/types/common.js +2 -0
  277. package/dist/types/common.js.map +1 -0
  278. package/dist/types/config.d.ts +23 -0
  279. package/dist/types/config.js +2 -0
  280. package/dist/types/config.js.map +1 -0
  281. package/dist/types/index.d.ts +2 -0
  282. package/dist/types/index.js +3 -0
  283. package/dist/types/index.js.map +1 -0
  284. package/dist/utils/arguments.d.ts +13 -0
  285. package/dist/utils/arguments.js +67 -0
  286. package/dist/utils/arguments.js.map +1 -0
  287. package/dist/utils/bls.d.ts +21 -0
  288. package/dist/utils/bls.js +101 -0
  289. package/dist/utils/bls.js.map +1 -0
  290. package/dist/utils/calculate-overview.d.ts +19 -0
  291. package/dist/utils/calculate-overview.js +55 -0
  292. package/dist/utils/calculate-overview.js.map +1 -0
  293. package/dist/utils/commands/dashboard.d.ts +6 -0
  294. package/dist/utils/commands/dashboard.js +103 -0
  295. package/dist/utils/commands/dashboard.js.map +1 -0
  296. package/dist/utils/commands/index.d.ts +1 -0
  297. package/dist/utils/commands/index.js +2 -0
  298. package/dist/utils/commands/index.js.map +1 -0
  299. package/dist/utils/contract.d.ts +25 -0
  300. package/dist/utils/contract.js +138 -0
  301. package/dist/utils/contract.js.map +1 -0
  302. package/dist/utils/data-validators.d.ts +6 -0
  303. package/dist/utils/data-validators.js +54 -0
  304. package/dist/utils/data-validators.js.map +1 -0
  305. package/dist/utils/error-handler.d.ts +1 -0
  306. package/dist/utils/error-handler.js +13 -0
  307. package/dist/utils/error-handler.js.map +1 -0
  308. package/dist/utils/fetchCL.d.ts +14 -0
  309. package/dist/utils/fetchCL.js +57 -0
  310. package/dist/utils/fetchCL.js.map +1 -0
  311. package/dist/utils/get-commands.d.ts +2 -0
  312. package/dist/utils/get-commands.js +11 -0
  313. package/dist/utils/get-commands.js.map +1 -0
  314. package/dist/utils/get-deposit-data-root.d.ts +7 -0
  315. package/dist/utils/get-deposit-data-root.js +40 -0
  316. package/dist/utils/get-deposit-data-root.js.map +1 -0
  317. package/dist/utils/get-value.d.ts +1 -0
  318. package/dist/utils/get-value.js +5 -11
  319. package/dist/utils/get-value.js.map +1 -1
  320. package/dist/utils/health.d.ts +27748 -0
  321. package/dist/utils/health.js +84 -0
  322. package/dist/utils/health.js.map +1 -0
  323. package/dist/utils/index.d.ts +22 -0
  324. package/dist/utils/index.js +22 -17
  325. package/dist/utils/index.js.map +1 -1
  326. package/dist/utils/ipfs.d.ts +6 -0
  327. package/dist/utils/ipfs.js +54 -0
  328. package/dist/utils/ipfs.js.map +1 -0
  329. package/dist/utils/logging/console.d.ts +7 -0
  330. package/dist/utils/logging/console.js +23 -0
  331. package/dist/utils/logging/console.js.map +1 -0
  332. package/dist/utils/logging/constants.d.ts +2 -0
  333. package/dist/utils/logging/constants.js +12 -0
  334. package/dist/utils/logging/constants.js.map +1 -0
  335. package/dist/utils/logging/index.d.ts +1 -0
  336. package/dist/utils/logging/index.js +2 -0
  337. package/dist/utils/logging/index.js.map +1 -0
  338. package/dist/utils/prompts/dashboard.d.ts +29 -0
  339. package/dist/utils/prompts/dashboard.js +63 -0
  340. package/dist/utils/prompts/dashboard.js.map +1 -0
  341. package/dist/utils/prompts/default.d.ts +3 -0
  342. package/dist/utils/prompts/default.js +17 -0
  343. package/dist/utils/prompts/default.js.map +1 -0
  344. package/dist/utils/prompts/index.d.ts +5 -0
  345. package/dist/utils/prompts/index.js +6 -0
  346. package/dist/utils/prompts/index.js.map +1 -0
  347. package/dist/utils/prompts/operations.d.ts +9 -0
  348. package/dist/utils/prompts/operations.js +41 -0
  349. package/dist/utils/prompts/operations.js.map +1 -0
  350. package/dist/utils/prompts/predeposit-guarantee.d.ts +3 -0
  351. package/dist/utils/prompts/predeposit-guarantee.js +22 -0
  352. package/dist/utils/prompts/predeposit-guarantee.js.map +1 -0
  353. package/dist/utils/prompts/vault.d.ts +2 -0
  354. package/dist/utils/prompts/vault.js +14 -0
  355. package/dist/utils/prompts/vault.js.map +1 -0
  356. package/dist/utils/proof/create-proof.d.ts +11 -0
  357. package/dist/utils/proof/create-proof.js +38 -0
  358. package/dist/utils/proof/create-proof.js.map +1 -0
  359. package/dist/utils/proof/first-validator-gindex.d.ts +1 -0
  360. package/dist/utils/proof/first-validator-gindex.js +27 -0
  361. package/dist/utils/proof/first-validator-gindex.js.map +1 -0
  362. package/dist/utils/proof/index.d.ts +4 -0
  363. package/dist/utils/proof/index.js +5 -0
  364. package/dist/utils/proof/index.js.map +1 -0
  365. package/dist/utils/proof/merkle-utils.d.ts +54 -0
  366. package/dist/utils/proof/merkle-utils.js +173 -0
  367. package/dist/utils/proof/merkle-utils.js.map +1 -0
  368. package/dist/utils/proof/proofs.d.ts +305 -0
  369. package/dist/utils/proof/proofs.js +52 -0
  370. package/dist/utils/proof/proofs.js.map +1 -0
  371. package/dist/utils/proof/report-proof.d.ts +5 -0
  372. package/dist/utils/proof/report-proof.js +26 -0
  373. package/dist/utils/proof/report-proof.js.map +1 -0
  374. package/dist/utils/read-programs-by-abi.d.ts +18 -0
  375. package/dist/utils/read-programs-by-abi.js +87 -0
  376. package/dist/utils/read-programs-by-abi.js.map +1 -0
  377. package/dist/utils/report.d.ts +75 -0
  378. package/dist/utils/report.js +68 -0
  379. package/dist/utils/report.js.map +1 -0
  380. package/dist/utils/required-lock.d.ts +5 -0
  381. package/dist/utils/required-lock.js +21 -0
  382. package/dist/utils/required-lock.js.map +1 -0
  383. package/dist/utils/resolve-path.d.ts +1 -0
  384. package/dist/utils/resolve-path.js +10 -0
  385. package/dist/utils/resolve-path.js.map +1 -0
  386. package/dist/utils/sleep.d.ts +1 -0
  387. package/dist/utils/sleep.js +4 -0
  388. package/dist/utils/sleep.js.map +1 -0
  389. package/dist/utils/spinner/index.d.ts +1 -0
  390. package/dist/utils/spinner/index.js +2 -0
  391. package/dist/utils/spinner/index.js.map +1 -0
  392. package/dist/utils/spinner/spinners.d.ts +7 -0
  393. package/dist/utils/spinner/spinners.js +16 -0
  394. package/dist/utils/spinner/spinners.js.map +1 -0
  395. package/dist/utils/spinner/spinners.json +119 -0
  396. package/dist/version/index.d.ts +1 -0
  397. package/dist/version/index.js +1 -0
  398. package/dist/version/index.js.map +1 -0
  399. package/package.json +61 -12
  400. package/dist/programs/vault-hub.js +0 -137
  401. package/dist/programs/vault-hub.js.map +0 -1
@@ -0,0 +1,109 @@
1
+ import { Option } from 'commander';
2
+ import { getOperatorGridContract } from '../../contracts/index.js';
3
+ import { callWriteMethodWithReceipt, confirmOperation, stringToBigInt, callReadMethod, parseTiers, parseTier, logInfo, getCommandsJson, } from '../../utils/index.js';
4
+ import { operatorGrid } from './main.js';
5
+ const operatorGridWrite = operatorGrid
6
+ .command('write')
7
+ .aliases(['w'])
8
+ .description('operator grid write commands');
9
+ operatorGridWrite.addOption(new Option('-cmd2json'));
10
+ operatorGridWrite.on('option:-cmd2json', function () {
11
+ logInfo(getCommandsJson(operatorGridWrite));
12
+ process.exit();
13
+ });
14
+ operatorGridWrite
15
+ .command('register-group')
16
+ .alias('rg')
17
+ .description('register a group')
18
+ .argument('<nodeOperator>', 'node operator address')
19
+ .argument('<shareLimit>', 'share limit', stringToBigInt)
20
+ .action(async (nodeOperator, shareLimit) => {
21
+ const operatorGridContract = await getOperatorGridContract();
22
+ const confirm = await confirmOperation(`Are you sure you want to register group with node operator ${nodeOperator} and share limit ${shareLimit}?`);
23
+ if (!confirm)
24
+ return;
25
+ await callWriteMethodWithReceipt(operatorGridContract, 'registerGroup', [
26
+ nodeOperator,
27
+ shareLimit,
28
+ ]);
29
+ });
30
+ operatorGridWrite
31
+ .command('update-group-share-limit')
32
+ .alias('update-sl')
33
+ .description('update group share limit')
34
+ .argument('<nodeOperator>', 'node operator address')
35
+ .argument('<shareLimit>', 'share limit', stringToBigInt)
36
+ .action(async (nodeOperator, shareLimit) => {
37
+ const operatorGridContract = await getOperatorGridContract();
38
+ const group = await callReadMethod(operatorGridContract, 'group', [
39
+ nodeOperator,
40
+ ]);
41
+ const confirm = await confirmOperation(`Are you sure you want to update group share limit for group node operator ${nodeOperator} to ${shareLimit}? Old share limit: ${group.shareLimit}`);
42
+ if (!confirm)
43
+ return;
44
+ await callWriteMethodWithReceipt(operatorGridContract, 'updateGroupShareLimit', [nodeOperator, shareLimit]);
45
+ });
46
+ operatorGridWrite
47
+ .command('register-tiers')
48
+ .alias('rt')
49
+ .description('register new tiers')
50
+ .argument('<nodeOperator>', 'node operator address')
51
+ .argument('<tiers>', 'tiers', parseTiers)
52
+ .action(async (nodeOperator, tiers) => {
53
+ const operatorGridContract = await getOperatorGridContract();
54
+ await callReadMethod(operatorGridContract, 'group', [nodeOperator]);
55
+ const confirm = await confirmOperation(`Are you sure you want to register tiers for node operator ${nodeOperator} group?`);
56
+ if (!confirm)
57
+ return;
58
+ await callWriteMethodWithReceipt(operatorGridContract, 'registerTiers', [
59
+ nodeOperator,
60
+ tiers,
61
+ ]);
62
+ });
63
+ operatorGridWrite
64
+ .command('alter-tier')
65
+ .alias('at')
66
+ .description('alter tier')
67
+ .argument('<tierId>', 'tier id', stringToBigInt)
68
+ .argument('<tier>', 'tier', parseTier)
69
+ .action(async (tierId, tier) => {
70
+ const operatorGridContract = await getOperatorGridContract();
71
+ await callReadMethod(operatorGridContract, 'tier', [tierId]);
72
+ const confirm = await confirmOperation(`Are you sure you want to alter tier ${tierId}?
73
+ New tier: ${JSON.stringify(tier)}`);
74
+ if (!confirm)
75
+ return;
76
+ await callWriteMethodWithReceipt(operatorGridContract, 'alterTier', [
77
+ tierId,
78
+ tier,
79
+ ]);
80
+ });
81
+ operatorGridWrite
82
+ .command('request-tier-change')
83
+ .alias('rtc')
84
+ .description('request tier change')
85
+ .argument('<vault>', 'vault address')
86
+ .argument('<tierId>', 'tier id', stringToBigInt)
87
+ .action(async (vault, tierId) => {
88
+ const operatorGridContract = await getOperatorGridContract();
89
+ await callReadMethod(operatorGridContract, 'tier', [tierId]);
90
+ const confirm = await confirmOperation(`Are you sure you want to request change tier ${tierId} for vault ${vault}?`);
91
+ if (!confirm)
92
+ return;
93
+ await callWriteMethodWithReceipt(operatorGridContract, 'requestTierChange', [vault, tierId]);
94
+ });
95
+ operatorGridWrite
96
+ .command('confirm-tier-change')
97
+ .alias('ctc')
98
+ .description('confirm tier change')
99
+ .argument('<vault>', 'vault address')
100
+ .argument('<tierId>', 'tier id to confirm', stringToBigInt)
101
+ .action(async (vault, tierId) => {
102
+ const operatorGridContract = await getOperatorGridContract();
103
+ await callReadMethod(operatorGridContract, 'tier', [tierId]);
104
+ const confirm = await confirmOperation(`Are you sure you want to confirm tier ${tierId} change for vault ${vault}?`);
105
+ if (!confirm)
106
+ return;
107
+ await callWriteMethodWithReceipt(operatorGridContract, 'confirmTierChange', [vault, tierId]);
108
+ });
109
+ //# sourceMappingURL=write.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["../../../programs/operator-grid/write.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EACL,0BAA0B,EAC1B,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,UAAU,EACV,SAAS,EACT,OAAO,EACP,eAAe,GAChB,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,iBAAiB,GAAG,YAAY;KACnC,OAAO,CAAC,OAAO,CAAC;KAChB,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;KACd,WAAW,CAAC,8BAA8B,CAAC,CAAC;AAE/C,iBAAiB,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AACrD,iBAAiB,CAAC,EAAE,CAAC,kBAAkB,EAAE;IACvC,OAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC5C,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC;AAEH,iBAAiB;KACd,OAAO,CAAC,gBAAgB,CAAC;KACzB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,kBAAkB,CAAC;KAC/B,QAAQ,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;KACnD,QAAQ,CAAC,cAAc,EAAE,aAAa,EAAE,cAAc,CAAC;KACvD,MAAM,CAAC,KAAK,EAAE,YAAqB,EAAE,UAAkB,EAAE,EAAE;IAC1D,MAAM,oBAAoB,GAAG,MAAM,uBAAuB,EAAE,CAAC;IAE7D,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,8DAA8D,YAAY,oBAAoB,UAAU,GAAG,CAC5G,CAAC;IACF,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,MAAM,0BAA0B,CAAC,oBAAoB,EAAE,eAAe,EAAE;QACtE,YAAY;QACZ,UAAU;KACX,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,iBAAiB;KACd,OAAO,CAAC,0BAA0B,CAAC;KACnC,KAAK,CAAC,WAAW,CAAC;KAClB,WAAW,CAAC,0BAA0B,CAAC;KACvC,QAAQ,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;KACnD,QAAQ,CAAC,cAAc,EAAE,aAAa,EAAE,cAAc,CAAC;KACvD,MAAM,CAAC,KAAK,EAAE,YAAqB,EAAE,UAAkB,EAAE,EAAE;IAC1D,MAAM,oBAAoB,GAAG,MAAM,uBAAuB,EAAE,CAAC;IAC7D,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,oBAAoB,EAAE,OAAO,EAAE;QAChE,YAAY;KACb,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,6EAA6E,YAAY,OAAO,UAAU,sBAAsB,KAAK,CAAC,UAAU,EAAE,CACnJ,CAAC;IACF,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,MAAM,0BAA0B,CAC9B,oBAAoB,EACpB,uBAAuB,EACvB,CAAC,YAAY,EAAE,UAAU,CAAC,CAC3B,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,iBAAiB;KACd,OAAO,CAAC,gBAAgB,CAAC;KACzB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,oBAAoB,CAAC;KACjC,QAAQ,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;KACnD,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC;KACxC,MAAM,CAAC,KAAK,EAAE,YAAqB,EAAE,KAAa,EAAE,EAAE;IACrD,MAAM,oBAAoB,GAAG,MAAM,uBAAuB,EAAE,CAAC;IAC7D,MAAM,cAAc,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEpE,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,6DAA6D,YAAY,SAAS,CACnF,CAAC;IACF,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,MAAM,0BAA0B,CAAC,oBAAoB,EAAE,eAAe,EAAE;QACtE,YAAY;QACZ,KAAK;KACN,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,iBAAiB;KACd,OAAO,CAAC,YAAY,CAAC;KACrB,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,YAAY,CAAC;KACzB,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,cAAc,CAAC;KAC/C,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC;KACrC,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,IAAU,EAAE,EAAE;IAC3C,MAAM,oBAAoB,GAAG,MAAM,uBAAuB,EAAE,CAAC;IAC7D,MAAM,cAAc,CAAC,oBAAoB,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAE7D,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,uCAAuC,MAAM;kBACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CACnC,CAAC;IACF,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,MAAM,0BAA0B,CAAC,oBAAoB,EAAE,WAAW,EAAE;QAClE,MAAM;QACN,IAAI;KACL,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,iBAAiB;KACd,OAAO,CAAC,qBAAqB,CAAC;KAC9B,KAAK,CAAC,KAAK,CAAC;KACZ,WAAW,CAAC,qBAAqB,CAAC;KAClC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;KACpC,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,cAAc,CAAC;KAC/C,MAAM,CAAC,KAAK,EAAE,KAAc,EAAE,MAAc,EAAE,EAAE;IAC/C,MAAM,oBAAoB,GAAG,MAAM,uBAAuB,EAAE,CAAC;IAC7D,MAAM,cAAc,CAAC,oBAAoB,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAE7D,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,gDAAgD,MAAM,cAAc,KAAK,GAAG,CAC7E,CAAC;IACF,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,MAAM,0BAA0B,CAC9B,oBAAoB,EACpB,mBAAmB,EACnB,CAAC,KAAK,EAAE,MAAM,CAAC,CAChB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,iBAAiB;KACd,OAAO,CAAC,qBAAqB,CAAC;KAC9B,KAAK,CAAC,KAAK,CAAC;KACZ,WAAW,CAAC,qBAAqB,CAAC;KAClC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;KACpC,QAAQ,CAAC,UAAU,EAAE,oBAAoB,EAAE,cAAc,CAAC;KAC1D,MAAM,CAAC,KAAK,EAAE,KAAc,EAAE,MAAc,EAAE,EAAE;IAC/C,MAAM,oBAAoB,GAAG,MAAM,uBAAuB,EAAE,CAAC;IAC7D,MAAM,cAAc,CAAC,oBAAoB,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAE7D,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,yCAAyC,MAAM,qBAAqB,KAAK,GAAG,CAC7E,CAAC;IACF,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,MAAM,0BAA0B,CAC9B,oBAAoB,EACpB,mBAAmB,EACnB,CAAC,KAAK,EAAE,MAAM,CAAC,CAChB,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { ReadProgramCommandConfig } from '../../utils/index.js';
2
+ export declare const readCommandConfig: ReadProgramCommandConfig;
@@ -0,0 +1,133 @@
1
+ export const readCommandConfig = {
2
+ DEFAULT_ADMIN_ROLE: {
3
+ name: 'DEFAULT_ADMIN_ROLE',
4
+ description: 'get default admin role',
5
+ },
6
+ BEACON_ROOTS: {
7
+ name: 'BEACON_ROOTS',
8
+ description: 'get beacon roots address',
9
+ },
10
+ GI_FIRST_VALIDATOR: {
11
+ name: 'GI_FIRST_VALIDATOR',
12
+ description: 'get first validator gIndex',
13
+ },
14
+ GI_FIRST_VALIDATOR_AFTER_CHANGE: {
15
+ name: 'GI_FIRST_VALIDATOR_AFTER_CHANGE',
16
+ description: 'get first validator gIndex after change',
17
+ },
18
+ SLOT_CHANGE_GI_FIRST_VALIDATOR: {
19
+ name: 'SLOT_CHANGE_GI_FIRST_VALIDATOR',
20
+ description: 'get slot change first validator gIndex',
21
+ },
22
+ GI_PUBKEY_WC_PARENT: {
23
+ name: 'GI_PUBKEY_WC_PARENT',
24
+ description: 'get pubkey wc parent gIndex',
25
+ },
26
+ GI_STATE_ROOT: {
27
+ name: 'GI_STATE_ROOT',
28
+ description: 'get state root gIndex',
29
+ },
30
+ MAX_SUPPORTED_WC_VERSION: {
31
+ name: 'MAX_SUPPORTED_WC_VERSION',
32
+ description: 'get max supported wc version',
33
+ },
34
+ MIN_SUPPORTED_WC_VERSION: {
35
+ name: 'MIN_SUPPORTED_WC_VERSION',
36
+ description: 'get min supported wc version',
37
+ },
38
+ PAUSE_INFINITELY: {
39
+ name: 'PAUSE_INFINITELY',
40
+ description: 'get special value for the infinite pause',
41
+ },
42
+ PAUSE_ROLE: {
43
+ name: 'PAUSE_ROLE',
44
+ description: 'get pause role',
45
+ },
46
+ RESUME_ROLE: {
47
+ name: 'RESUME_ROLE',
48
+ description: 'get resume role',
49
+ },
50
+ PREDEPOSIT_AMOUNT: {
51
+ name: 'PREDEPOSIT_AMOUNT',
52
+ description: 'get amount of ether that is predeposited with each validator',
53
+ },
54
+ PREDEPOSIT_ROLE: {
55
+ name: 'PREDEPOSIT_ROLE',
56
+ description: 'get predeposit role',
57
+ },
58
+ STATE_ROOT_DEPTH: {
59
+ name: 'STATE_ROOT_DEPTH',
60
+ description: 'get state root depth',
61
+ },
62
+ STATE_ROOT_POSITION: {
63
+ name: 'STATE_ROOT_POSITION',
64
+ description: 'get state root position',
65
+ },
66
+ WC_PUBKEY_PARENT_DEPTH: {
67
+ name: 'WC_PUBKEY_PARENT_DEPTH',
68
+ description: 'get wc pubkey parent depth',
69
+ },
70
+ WC_PUBKEY_PARENT_POSITION: {
71
+ name: 'WC_PUBKEY_PARENT_POSITION',
72
+ description: 'get wc pubkey parent position',
73
+ },
74
+ isPaused: {
75
+ name: 'is-paused',
76
+ description: 'get is paused boolean',
77
+ },
78
+ nodeOperatorBalance: {
79
+ name: 'no-bal',
80
+ description: 'get node operator balance by address',
81
+ arguments: {
82
+ _nodeOperator: {
83
+ name: 'address',
84
+ description: 'address of the node operator',
85
+ },
86
+ },
87
+ },
88
+ unlockedBalance: {
89
+ name: 'un-bal',
90
+ description: 'get unlocked balance',
91
+ arguments: {
92
+ _nodeOperator: {
93
+ name: 'address',
94
+ description: 'address of the node operator',
95
+ },
96
+ },
97
+ },
98
+ nodeOperatorGuarantor: {
99
+ name: 'no-g',
100
+ description: 'get node operator guarantor',
101
+ arguments: {
102
+ _nodeOperator: {
103
+ name: 'address',
104
+ description: 'address of the node operator',
105
+ },
106
+ },
107
+ },
108
+ validatorStatus: {
109
+ name: 'v-status',
110
+ description: 'get validator status',
111
+ arguments: {
112
+ _validatorPubkey: {
113
+ name: 'pubkey',
114
+ description: 'validator pubkey',
115
+ },
116
+ },
117
+ },
118
+ getResumeSinceTimestamp: {
119
+ name: 'resume-since-ts',
120
+ description: 'get resume since timestamp',
121
+ },
122
+ claimableRefund: {
123
+ name: 'claimable-r',
124
+ description: 'get claimable refund',
125
+ arguments: {
126
+ _guarantor: {
127
+ name: 'guarantor',
128
+ description: 'guarantor address',
129
+ },
130
+ },
131
+ },
132
+ };
133
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../programs/pdg/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './main.js';
2
+ export * from './read.js';
3
+ export * from './write.js';
@@ -0,0 +1,4 @@
1
+ export * from './main.js';
2
+ export * from './read.js';
3
+ export * from './write.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../programs/pdg/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const pdg: import("commander").Command;
@@ -0,0 +1,5 @@
1
+ import { program } from '../../command/index.js';
2
+ export const pdg = program
3
+ .command('pdg')
4
+ .description('predeposit guarantee contract');
5
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../programs/pdg/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,CAAC,MAAM,GAAG,GAAG,OAAO;KACvB,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,+BAA+B,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,24 @@
1
+ import { Option } from 'commander';
2
+ import { generateReadCommands, getCommandsJson, logInfo } from '../../utils/index.js';
3
+ import { getPredepositGuaranteeContract } from '../../contracts/index.js';
4
+ import { PredepositGuaranteeAbi } from '../../abi/index.js';
5
+ import { getPdgBaseInfo, getPdgRoles } from '../../features/index.js';
6
+ import { pdg } from './main.js';
7
+ import { readCommandConfig } from './config.js';
8
+ const pdgRead = pdg
9
+ .command('read')
10
+ .aliases(['r'])
11
+ .description('pdg read commands');
12
+ pdgRead.addOption(new Option('-cmd2json'));
13
+ pdgRead.on('option:-cmd2json', function () {
14
+ logInfo(getCommandsJson(pdgRead));
15
+ process.exit();
16
+ });
17
+ pdgRead.command('info').action(async () => {
18
+ await getPdgBaseInfo();
19
+ });
20
+ pdgRead.command('roles').action(async () => {
21
+ await getPdgRoles();
22
+ });
23
+ generateReadCommands(PredepositGuaranteeAbi, getPredepositGuaranteeContract, pdgRead, readCommandConfig);
24
+ //# sourceMappingURL=read.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../programs/pdg/read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvE,OAAO,EAAE,8BAA8B,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,KAAK,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvD,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,OAAO,GAAG,GAAG;KAChB,OAAO,CAAC,MAAM,CAAC;KACf,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;KACd,WAAW,CAAC,mBAAmB,CAAC,CAAC;AAEpC,OAAO,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AAC3C,OAAO,CAAC,EAAE,CAAC,kBAAkB,EAAE;IAC7B,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IAClC,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;IACxC,MAAM,cAAc,EAAE,CAAC;AACzB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;IACzC,MAAM,WAAW,EAAE,CAAC;AACtB,CAAC,CAAC,CAAC;AAEH,oBAAoB,CAClB,sBAAsB,EACtB,8BAA8B,EAC9B,OAAO,EACP,iBAAiB,CAClB,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,311 @@
1
+ import { formatEther } from 'viem';
2
+ import { Option } from 'commander';
3
+ import { getAccount } from '../../providers/index.js';
4
+ import { getPredepositGuaranteeContract, getStakingVaultContract, } from '../../contracts/index.js';
5
+ import { callWriteMethodWithReceipt, createPDGProof, showSpinner, printError, parseDepositArray, stringToBigInt, stringToBigIntArray, etherToWei, callReadMethod, logResult, logInfo, confirmOperation, confirmMakeProof, getCommandsJson, isValidBLSDeposit, expandBLSSignature, } from '../../utils/index.js';
6
+ import { pdg } from './main.js';
7
+ const pdgWrite = pdg
8
+ .command('write')
9
+ .aliases(['w'])
10
+ .description('pdg write commands');
11
+ pdgWrite.addOption(new Option('-cmd2json'));
12
+ pdgWrite.on('option:-cmd2json', function () {
13
+ logInfo(getCommandsJson(pdgWrite));
14
+ process.exit();
15
+ });
16
+ pdgWrite
17
+ .command('predeposit')
18
+ .description('predeposit')
19
+ .argument('<vault>', 'vault address')
20
+ .argument('<deposits>', 'deposits', parseDepositArray)
21
+ .option('--no-bls-check', 'skip bls signature check')
22
+ .action(async (vault, deposits, options) => {
23
+ const pdgContract = await getPredepositGuaranteeContract();
24
+ if (options.blsCheck) {
25
+ const PREDEPOSIT_AMOUNT = await callReadMethod(pdgContract, 'PREDEPOSIT_AMOUNT');
26
+ const vaultContract = getStakingVaultContract(vault);
27
+ const withdrawalCredentials = await callReadMethod(vaultContract, 'withdrawalCredentials');
28
+ for (const deposit of deposits) {
29
+ const isBLSValid = isValidBLSDeposit(deposit, withdrawalCredentials);
30
+ if (deposit.amount !== PREDEPOSIT_AMOUNT) {
31
+ console.info(`❌ Deposit amount is not equal to PREDEPOSIT_AMOUNT for pubkey ${deposit.pubkey}`);
32
+ }
33
+ if (!isBLSValid) {
34
+ console.info(`❌ Offchain - BLS signature is not valid for Pubkey ${deposit.pubkey}`);
35
+ }
36
+ }
37
+ }
38
+ const depositsY = deposits.map((deposit) => {
39
+ const expanded = expandBLSSignature(deposit.signature, deposit.pubkey);
40
+ return {
41
+ pubkeyY: { a: expanded.pubkeyY_a, b: expanded.pubkeyY_b },
42
+ signatureY: {
43
+ c0_a: expanded.sigY_c0_a,
44
+ c0_b: expanded.sigY_c0_b,
45
+ c1_a: expanded.sigY_c1_a,
46
+ c1_b: expanded.sigY_c1_b,
47
+ },
48
+ };
49
+ });
50
+ const confirm = await confirmOperation(`Are you sure you want to predeposit ${deposits.length} deposits to the vault ${vault}?
51
+ Pubkeys: ${deposits.map((i) => i.pubkey).join(', ')}`);
52
+ if (!confirm)
53
+ return;
54
+ await callWriteMethodWithReceipt(pdgContract, 'predeposit', [
55
+ vault,
56
+ deposits,
57
+ depositsY,
58
+ ]);
59
+ });
60
+ pdgWrite
61
+ .command('proof-and-prove')
62
+ .aliases(['prove'])
63
+ .description('make proof and prove')
64
+ .argument('<index>', 'validator index', stringToBigInt)
65
+ .action(async (index) => {
66
+ const pdgContract = await getPredepositGuaranteeContract();
67
+ const validatorIndex = await confirmMakeProof(index);
68
+ if (!validatorIndex)
69
+ return;
70
+ const hideSpinner = showSpinner({
71
+ type: 'bouncingBar',
72
+ message: 'Making proof...',
73
+ });
74
+ try {
75
+ const packageProof = await createPDGProof(Number(validatorIndex));
76
+ hideSpinner();
77
+ const { proof, pubkey, childBlockTimestamp, withdrawalCredentials } = packageProof;
78
+ logInfo('----------------------proof----------------------');
79
+ logInfo(proof);
80
+ logInfo('---------------------pubkey---------------------');
81
+ logResult(pubkey);
82
+ logInfo('---------------childBlockTimestamp---------------');
83
+ logResult(childBlockTimestamp);
84
+ logInfo('--------------withdrawalCredentials--------------');
85
+ logResult(withdrawalCredentials);
86
+ logInfo('------------------------------------------------');
87
+ logInfo('-----------------------end-----------------------');
88
+ await callWriteMethodWithReceipt(pdgContract, 'proveValidatorWC', [
89
+ { proof, pubkey, validatorIndex, childBlockTimestamp },
90
+ ]);
91
+ }
92
+ catch (err) {
93
+ hideSpinner();
94
+ printError(err, 'Error when making proof');
95
+ }
96
+ });
97
+ pdgWrite
98
+ .command('prove-and-deposit')
99
+ .description('prove and deposit')
100
+ .argument('<indexes>', 'validator indexes', stringToBigIntArray)
101
+ .argument('<vault>', 'vault address')
102
+ .argument('<deposits>', 'deposits', parseDepositArray)
103
+ .action(async (indexes, vault, deposits) => {
104
+ const pdgContract = await getPredepositGuaranteeContract();
105
+ const witnesses = [];
106
+ for (const index of indexes) {
107
+ const validatorIndex = await confirmMakeProof(index);
108
+ if (!validatorIndex)
109
+ return;
110
+ const hideSpinner = showSpinner({
111
+ type: 'bouncingBar',
112
+ message: 'Making proof...',
113
+ });
114
+ try {
115
+ const packageProof = await createPDGProof(Number(validatorIndex));
116
+ hideSpinner();
117
+ const { proof, pubkey, childBlockTimestamp, withdrawalCredentials } = packageProof;
118
+ witnesses.push({
119
+ proof,
120
+ pubkey,
121
+ validatorIndex,
122
+ childBlockTimestamp,
123
+ });
124
+ logInfo('----------------------proof----------------------');
125
+ logInfo(proof);
126
+ logInfo('---------------------pubkey---------------------');
127
+ logResult(pubkey);
128
+ logInfo('---------------childBlockTimestamp---------------');
129
+ logResult(childBlockTimestamp);
130
+ logInfo('--------------withdrawalCredentials--------------');
131
+ logResult(withdrawalCredentials);
132
+ logInfo('------------------------------------------------');
133
+ logInfo('-----------------------end-----------------------');
134
+ }
135
+ catch (err) {
136
+ hideSpinner();
137
+ printError(err, 'Error when making proof');
138
+ }
139
+ }
140
+ await callWriteMethodWithReceipt(pdgContract, 'proveAndDeposit', [
141
+ witnesses,
142
+ deposits,
143
+ vault,
144
+ ]);
145
+ });
146
+ pdgWrite
147
+ .command('deposit-to-beacon-chain')
148
+ .description('deposit to beacon chain')
149
+ .argument('<vault>', 'vault address')
150
+ .argument('<deposits>', 'deposits', parseDepositArray)
151
+ .action(async (vault, deposits) => {
152
+ const pdgContract = await getPredepositGuaranteeContract();
153
+ const confirm = await confirmOperation(`Are you sure you want to deposit ${deposits.length} deposits to the vault ${vault}?`);
154
+ if (!confirm)
155
+ return;
156
+ await callWriteMethodWithReceipt(pdgContract, 'depositToBeaconChain', [
157
+ vault,
158
+ deposits,
159
+ ]);
160
+ });
161
+ pdgWrite
162
+ .command('top-up')
163
+ .description('top up no balance')
164
+ .argument('<nodeOperator>', 'node operator address')
165
+ .argument('<amount>', 'amount in ETH', etherToWei)
166
+ .action(async (nodeOperator, amount) => {
167
+ const pdgContract = await getPredepositGuaranteeContract();
168
+ const confirm = await confirmOperation(`Are you sure you want to top up the node operator ${nodeOperator} with ${formatEther(amount)} ETH?`);
169
+ if (!confirm)
170
+ return;
171
+ await callWriteMethodWithReceipt(pdgContract, 'topUpNodeOperatorBalance', [nodeOperator], amount);
172
+ });
173
+ pdgWrite
174
+ .command('prove-unknown-validator')
175
+ .description('prove unknown validator')
176
+ .argument('<index>', 'validator index', stringToBigInt)
177
+ .argument('<vault>', 'vault address')
178
+ .action(async (index, vault) => {
179
+ const pdgContract = await getPredepositGuaranteeContract();
180
+ const validatorIndex = await confirmMakeProof(index);
181
+ if (!validatorIndex)
182
+ return;
183
+ const hideSpinner = showSpinner({
184
+ type: 'bouncingBar',
185
+ message: 'Making proof...',
186
+ });
187
+ try {
188
+ const packageProof = await createPDGProof(Number(validatorIndex));
189
+ hideSpinner();
190
+ const { proof, pubkey, childBlockTimestamp, withdrawalCredentials } = packageProof;
191
+ logInfo('----------------------proof----------------------');
192
+ logInfo(proof);
193
+ logInfo('---------------------pubkey---------------------');
194
+ logResult(pubkey);
195
+ logInfo('---------------childBlockTimestamp---------------');
196
+ logResult(childBlockTimestamp);
197
+ logInfo('--------------withdrawalCredentials--------------');
198
+ logResult(withdrawalCredentials);
199
+ logInfo('------------------------------------------------');
200
+ logInfo('-----------------------end-----------------------');
201
+ await callWriteMethodWithReceipt(pdgContract, 'proveUnknownValidator', [
202
+ { proof, pubkey, validatorIndex, childBlockTimestamp },
203
+ vault,
204
+ ]);
205
+ }
206
+ catch (err) {
207
+ hideSpinner();
208
+ printError(err, 'Error when proving unknown validator');
209
+ }
210
+ });
211
+ pdgWrite
212
+ .command('prove-invalid-validator-wc')
213
+ .description('prove invalid validator withdrawal credentials')
214
+ .argument('<index>', 'validator index', stringToBigInt)
215
+ .argument('<invalidWithdrawalCredentials>', 'invalid withdrawal credentials')
216
+ .action(async (index, invalidWithdrawalCredentials) => {
217
+ const pdgContract = await getPredepositGuaranteeContract();
218
+ const validatorIndex = await confirmMakeProof(index);
219
+ if (!validatorIndex)
220
+ return;
221
+ const hideSpinner = showSpinner({
222
+ type: 'bouncingBar',
223
+ message: 'Making proof...',
224
+ });
225
+ try {
226
+ const packageProof = await createPDGProof(Number(validatorIndex));
227
+ hideSpinner();
228
+ const { proof, pubkey, childBlockTimestamp, withdrawalCredentials } = packageProof;
229
+ logInfo('----------------------proof----------------------');
230
+ logInfo(proof);
231
+ logInfo('---------------------pubkey---------------------');
232
+ logResult(pubkey);
233
+ logInfo('---------------childBlockTimestamp---------------');
234
+ logResult(childBlockTimestamp);
235
+ logInfo('--------------withdrawalCredentials--------------');
236
+ logResult(withdrawalCredentials);
237
+ logInfo('------------------------------------------------');
238
+ logInfo('invalid withdrawal credentials');
239
+ logResult(invalidWithdrawalCredentials);
240
+ logInfo('-----------------------end-----------------------');
241
+ if (withdrawalCredentials !== invalidWithdrawalCredentials) {
242
+ logInfo('withdrawal credentials are valid. Operation cancelled');
243
+ return;
244
+ }
245
+ await callWriteMethodWithReceipt(pdgContract, 'proveInvalidValidatorWC', [
246
+ { proof, pubkey, validatorIndex, childBlockTimestamp },
247
+ invalidWithdrawalCredentials,
248
+ ]);
249
+ }
250
+ catch (err) {
251
+ hideSpinner();
252
+ printError(err, 'Error when making proof');
253
+ }
254
+ });
255
+ pdgWrite
256
+ .command('withdraw-no-balance')
257
+ .description('withdraw node operator balance')
258
+ .argument('<nodeOperator>', 'node operator address')
259
+ .argument('<amount>', 'amount in ETH', etherToWei)
260
+ .argument('<recipient>', 'recipient address')
261
+ .action(async (nodeOperator, amount, recipient) => {
262
+ const pdgContract = await getPredepositGuaranteeContract();
263
+ const confirm = await confirmOperation(`Are you sure you want to withdraw the node operator ${nodeOperator} balance ${amount} ETH to ${recipient}?`);
264
+ if (!confirm)
265
+ return;
266
+ await callWriteMethodWithReceipt(pdgContract, 'withdrawNodeOperatorBalance', [nodeOperator, amount, recipient]);
267
+ });
268
+ pdgWrite
269
+ .command('set-no-guarantor')
270
+ .aliases(['set-no-g'])
271
+ .description('set node operator guarantor')
272
+ .argument('<guarantor>', 'new guarantor address')
273
+ .action(async (guarantor) => {
274
+ const pdgContract = await getPredepositGuaranteeContract();
275
+ const account = getAccount();
276
+ const confirm = await confirmOperation(`Are you sure you want to set the node operator (${account.address}) guarantor to ${guarantor}?`);
277
+ if (!confirm)
278
+ return;
279
+ await callWriteMethodWithReceipt(pdgContract, 'setNodeOperatorGuarantor', [
280
+ guarantor,
281
+ ]);
282
+ });
283
+ pdgWrite
284
+ .command('claim-guarantor-refund')
285
+ .aliases(['claim-g-refund'])
286
+ .description('claim guarantor refund')
287
+ .argument('<recipient>', 'recipient address')
288
+ .action(async (recipient) => {
289
+ const pdgContract = await getPredepositGuaranteeContract();
290
+ const account = getAccount();
291
+ const confirm = await confirmOperation(`Are you sure you want to claim the guarantor ${account.address} refund for ${recipient}?`);
292
+ if (!confirm)
293
+ return;
294
+ await callWriteMethodWithReceipt(pdgContract, 'claimGuarantorRefund', [
295
+ recipient,
296
+ ]);
297
+ });
298
+ pdgWrite
299
+ .command('compensate-disproven-predeposit')
300
+ .aliases(['compensate'])
301
+ .description('compensate disproven predeposit')
302
+ .argument('<pubkey>', 'validator pubkey')
303
+ .argument('<recipient>', 'recipient address')
304
+ .action(async (pubkey, recipient) => {
305
+ const pdgContract = await getPredepositGuaranteeContract();
306
+ const confirm = await confirmOperation(`Are you sure you want to compensate the disproven predeposit for validator ${pubkey} to ${recipient}?`);
307
+ if (!confirm)
308
+ return;
309
+ await callWriteMethodWithReceipt(pdgContract, 'compensateDisprovenPredeposit', [pubkey, recipient]);
310
+ });
311
+ //# sourceMappingURL=write.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["../../../programs/pdg/write.ts"],"names":[],"mappings":"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"}