@lidofinance/lsv-cli 1.0.0-alpha.22 → 1.0.0-alpha.24

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 (224) hide show
  1. package/README.md +15 -44
  2. package/dist/abi/BlsHarness.js +232 -0
  3. package/dist/abi/BlsHarness.js.map +1 -0
  4. package/dist/abi/CLProofVerifier.js +47 -79
  5. package/dist/abi/CLProofVerifier.js.map +1 -1
  6. package/dist/abi/Dashboard.js +618 -196
  7. package/dist/abi/Dashboard.js.map +1 -1
  8. package/dist/abi/LidoLocator.js +7 -7
  9. package/dist/abi/LidoLocator.js.map +1 -1
  10. package/dist/abi/{Delegation.js → OperatorGrid.js} +466 -1067
  11. package/dist/abi/OperatorGrid.js.map +1 -0
  12. package/dist/abi/PredepositGuarantee.js +69 -13
  13. package/dist/abi/PredepositGuarantee.js.map +1 -1
  14. package/dist/abi/ReportChecker.js +109 -0
  15. package/dist/abi/ReportChecker.js.map +1 -0
  16. package/dist/abi/StEth.js +341 -341
  17. package/dist/abi/StEth.js.map +1 -1
  18. package/dist/abi/StakingVault.js +207 -73
  19. package/dist/abi/StakingVault.js.map +1 -1
  20. package/dist/abi/VaultFactory.js +67 -104
  21. package/dist/abi/VaultFactory.js.map +1 -1
  22. package/dist/abi/VaultHub.js +347 -237
  23. package/dist/abi/VaultHub.js.map +1 -1
  24. package/dist/abi/WstEth.js +478 -0
  25. package/dist/abi/WstEth.js.map +1 -0
  26. package/dist/abi/index.js +6 -2
  27. package/dist/abi/index.js.map +1 -1
  28. package/dist/configs/constants.js +2 -2
  29. package/dist/configs/constants.js.map +1 -1
  30. package/dist/configs/deployed.js +21 -47
  31. package/dist/configs/deployed.js.map +1 -1
  32. package/dist/configs/envs.js +5 -6
  33. package/dist/configs/envs.js.map +1 -1
  34. package/dist/configs/utils.js +4 -8
  35. package/dist/configs/utils.js.map +1 -1
  36. package/dist/contracts/blsHarness.js +24 -0
  37. package/dist/contracts/blsHarness.js.map +1 -0
  38. package/dist/contracts/clProofVerifier.js +4 -10
  39. package/dist/contracts/clProofVerifier.js.map +1 -1
  40. package/dist/contracts/index.js +4 -1
  41. package/dist/contracts/index.js.map +1 -1
  42. package/dist/contracts/locator.js +3 -3
  43. package/dist/contracts/locator.js.map +1 -1
  44. package/dist/contracts/operator-grid.js +17 -0
  45. package/dist/contracts/operator-grid.js.map +1 -0
  46. package/dist/contracts/pdg.js +2 -2
  47. package/dist/contracts/pdg.js.map +1 -1
  48. package/dist/contracts/reportChecker.js +23 -0
  49. package/dist/contracts/reportChecker.js.map +1 -0
  50. package/dist/contracts/steth.js +8 -5
  51. package/dist/contracts/steth.js.map +1 -1
  52. package/dist/contracts/token-manager.js +3 -3
  53. package/dist/contracts/token-manager.js.map +1 -1
  54. package/dist/contracts/vault-factory.js +2 -2
  55. package/dist/contracts/vault-factory.js.map +1 -1
  56. package/dist/contracts/vault-hub.js +3 -3
  57. package/dist/contracts/vault-hub.js.map +1 -1
  58. package/dist/contracts/vault-viewer.js +4 -6
  59. package/dist/contracts/vault-viewer.js.map +1 -1
  60. package/dist/contracts/vault.js +2 -2
  61. package/dist/contracts/vault.js.map +1 -1
  62. package/dist/contracts/voting.js +3 -3
  63. package/dist/contracts/voting.js.map +1 -1
  64. package/dist/contracts/wsteth.js +18 -0
  65. package/dist/contracts/wsteth.js.map +1 -0
  66. package/dist/features/advanced-config.js +3 -2
  67. package/dist/features/advanced-config.js.map +1 -1
  68. package/dist/features/dashboard.js +131 -0
  69. package/dist/features/dashboard.js.map +1 -0
  70. package/dist/features/index.js +8 -4
  71. package/dist/features/index.js.map +1 -1
  72. package/dist/features/operator-grid.js +57 -0
  73. package/dist/features/operator-grid.js.map +1 -0
  74. package/dist/features/pdg.js +79 -0
  75. package/dist/features/pdg.js.map +1 -0
  76. package/dist/features/vault-factory.js +33 -6
  77. package/dist/features/vault-factory.js.map +1 -1
  78. package/dist/features/vault-hub.js +81 -0
  79. package/dist/features/vault-hub.js.map +1 -0
  80. package/dist/features/vault.js +54 -0
  81. package/dist/features/vault.js.map +1 -0
  82. package/dist/features/voting.js +5 -5
  83. package/dist/features/voting.js.map +1 -1
  84. package/dist/index.js +2 -1
  85. package/dist/index.js.map +1 -1
  86. package/dist/programs/account.js +107 -5
  87. package/dist/programs/account.js.map +1 -1
  88. package/dist/programs/config.js +2 -2
  89. package/dist/programs/config.js.map +1 -1
  90. package/dist/programs/dashboard/config.js +63 -17
  91. package/dist/programs/dashboard/config.js.map +1 -1
  92. package/dist/programs/dashboard/main.js +0 -7
  93. package/dist/programs/dashboard/main.js.map +1 -1
  94. package/dist/programs/dashboard/read.js +76 -16
  95. package/dist/programs/dashboard/read.js.map +1 -1
  96. package/dist/programs/dashboard/write.js +274 -168
  97. package/dist/programs/dashboard/write.js.map +1 -1
  98. package/dist/programs/hub/config.js +28 -32
  99. package/dist/programs/hub/config.js.map +1 -1
  100. package/dist/programs/hub/main.js +0 -7
  101. package/dist/programs/hub/main.js.map +1 -1
  102. package/dist/programs/hub/read.js +30 -35
  103. package/dist/programs/hub/read.js.map +1 -1
  104. package/dist/programs/hub/write.js +150 -42
  105. package/dist/programs/hub/write.js.map +1 -1
  106. package/dist/programs/index.js +2 -1
  107. package/dist/programs/index.js.map +1 -1
  108. package/dist/programs/operator-grid/config.js +81 -0
  109. package/dist/programs/operator-grid/config.js.map +1 -0
  110. package/dist/programs/operator-grid/index.js.map +1 -0
  111. package/dist/programs/operator-grid/main.js +5 -0
  112. package/dist/programs/operator-grid/main.js.map +1 -0
  113. package/dist/programs/operator-grid/read.js +24 -0
  114. package/dist/programs/operator-grid/read.js.map +1 -0
  115. package/dist/programs/operator-grid/write.js +109 -0
  116. package/dist/programs/operator-grid/write.js.map +1 -0
  117. package/dist/programs/pdg/config.js +49 -13
  118. package/dist/programs/pdg/config.js.map +1 -1
  119. package/dist/programs/pdg/main.js +0 -7
  120. package/dist/programs/pdg/main.js.map +1 -1
  121. package/dist/programs/pdg/read.js +20 -3
  122. package/dist/programs/pdg/read.js.map +1 -1
  123. package/dist/programs/pdg/write.js +155 -92
  124. package/dist/programs/pdg/write.js.map +1 -1
  125. package/dist/programs/pdg-helpers.js +155 -38
  126. package/dist/programs/pdg-helpers.js.map +1 -1
  127. package/dist/programs/report.js +89 -0
  128. package/dist/programs/report.js.map +1 -0
  129. package/dist/programs/vault/config.js +6 -2
  130. package/dist/programs/vault/config.js.map +1 -1
  131. package/dist/programs/vault/main.js +0 -7
  132. package/dist/programs/vault/main.js.map +1 -1
  133. package/dist/programs/vault/read.js +16 -44
  134. package/dist/programs/vault/read.js.map +1 -1
  135. package/dist/programs/vault/write.js +125 -45
  136. package/dist/programs/vault/write.js.map +1 -1
  137. package/dist/programs/vault-factory/main.js +0 -7
  138. package/dist/programs/vault-factory/main.js.map +1 -1
  139. package/dist/programs/vault-factory/read.js +17 -19
  140. package/dist/programs/vault-factory/read.js.map +1 -1
  141. package/dist/programs/vault-factory/write.js +31 -69
  142. package/dist/programs/vault-factory/write.js.map +1 -1
  143. package/dist/programs/vault-viewer/main.js +2 -2
  144. package/dist/programs/vault-viewer/main.js.map +1 -1
  145. package/dist/programs/voting.js +8 -23
  146. package/dist/programs/voting.js.map +1 -1
  147. package/dist/providers/wallet.js +4 -4
  148. package/dist/providers/wallet.js.map +1 -1
  149. package/dist/utils/arguments.js +67 -0
  150. package/dist/utils/arguments.js.map +1 -0
  151. package/dist/utils/bls.js +101 -0
  152. package/dist/utils/bls.js.map +1 -0
  153. package/dist/utils/commands/dashboard.js +103 -0
  154. package/dist/utils/commands/dashboard.js.map +1 -0
  155. package/dist/utils/commands/index.js +2 -0
  156. package/dist/utils/commands/index.js.map +1 -0
  157. package/dist/utils/contract.js +54 -14
  158. package/dist/utils/contract.js.map +1 -1
  159. package/dist/utils/data-validators.js +7 -22
  160. package/dist/utils/data-validators.js.map +1 -1
  161. package/dist/utils/error-handler.js +7 -1
  162. package/dist/utils/error-handler.js.map +1 -1
  163. package/dist/utils/fetchCL.js +57 -0
  164. package/dist/utils/fetchCL.js.map +1 -0
  165. package/dist/utils/get-deposit-data-root.js +3 -3
  166. package/dist/utils/health.js +80 -0
  167. package/dist/utils/health.js.map +1 -0
  168. package/dist/utils/index.js +9 -1
  169. package/dist/utils/index.js.map +1 -1
  170. package/dist/utils/ipfs.js +54 -0
  171. package/dist/utils/ipfs.js.map +1 -0
  172. package/dist/utils/logging/console.js +23 -0
  173. package/dist/utils/logging/console.js.map +1 -0
  174. package/dist/utils/logging/constants.js +12 -0
  175. package/dist/utils/logging/constants.js.map +1 -0
  176. package/dist/utils/logging/index.js +2 -0
  177. package/dist/utils/logging/index.js.map +1 -0
  178. package/dist/utils/prompts/dashboard.js +63 -0
  179. package/dist/utils/prompts/dashboard.js.map +1 -0
  180. package/dist/utils/prompts/index.js +2 -1
  181. package/dist/utils/prompts/index.js.map +1 -1
  182. package/dist/utils/prompts/operations.js +41 -0
  183. package/dist/utils/prompts/operations.js.map +1 -0
  184. package/dist/utils/prompts/predeposit-guarantee.js +10 -13
  185. package/dist/utils/prompts/predeposit-guarantee.js.map +1 -1
  186. package/dist/utils/prompts/vault.js +4 -1
  187. package/dist/utils/prompts/vault.js.map +1 -1
  188. package/dist/utils/proof/create-proof.js +5 -29
  189. package/dist/utils/proof/create-proof.js.map +1 -1
  190. package/dist/utils/proof/first-validator-gindex.js +2 -1
  191. package/dist/utils/proof/first-validator-gindex.js.map +1 -1
  192. package/dist/utils/proof/index.js +1 -0
  193. package/dist/utils/proof/index.js.map +1 -1
  194. package/dist/utils/proof/merkle-utils.js +15 -3
  195. package/dist/utils/proof/merkle-utils.js.map +1 -1
  196. package/dist/utils/proof/report-proof.js +26 -0
  197. package/dist/utils/proof/report-proof.js.map +1 -0
  198. package/dist/utils/read-programs-by-abi.js +2 -2
  199. package/dist/utils/read-programs-by-abi.js.map +1 -1
  200. package/dist/utils/report.js +68 -0
  201. package/dist/utils/report.js.map +1 -0
  202. package/dist/utils/required-lock.js +21 -0
  203. package/dist/utils/required-lock.js.map +1 -0
  204. package/dist/version/index.js +1 -1
  205. package/package.json +11 -7
  206. package/dist/abi/Delegation.js.map +0 -1
  207. package/dist/contracts/delegation.js +0 -11
  208. package/dist/contracts/delegation.js.map +0 -1
  209. package/dist/features/dashboard-delegation.js +0 -25
  210. package/dist/features/dashboard-delegation.js.map +0 -1
  211. package/dist/programs/delegation/config.js +0 -33
  212. package/dist/programs/delegation/config.js.map +0 -1
  213. package/dist/programs/delegation/index.js.map +0 -1
  214. package/dist/programs/delegation/main.js +0 -12
  215. package/dist/programs/delegation/main.js.map +0 -1
  216. package/dist/programs/delegation/read.js +0 -98
  217. package/dist/programs/delegation/read.js.map +0 -1
  218. package/dist/programs/delegation/write.js +0 -327
  219. package/dist/programs/delegation/write.js.map +0 -1
  220. package/dist/utils/parse-string.js +0 -20
  221. package/dist/utils/parse-string.js.map +0 -1
  222. package/dist/utils/prompts/delegation-dashboard.js +0 -29
  223. package/dist/utils/prompts/delegation-dashboard.js.map +0 -1
  224. /package/dist/programs/{delegation → operator-grid}/index.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report-proof.js","sourceRoot":"","sources":["../../../utils/proof/report-proof.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAO,SAAS,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAGtE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAS,EAAO,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAM,EAAE,CAAM,EAAO,EAAE;IAC9C,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG;IACf,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE;IAC1C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,iBAAiB,EAAE;IAC5C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE;IACzC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;IAChC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,EAAE;CAC9C,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,KAAqB,EAAE,EAAE,CAAC;IAC9C,KAAK,CAAC,aAAa;IACnB,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC;IAC7B,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;IAC1B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;IACjB,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAqB,EAAO,EAAE;IAC1D,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IAEnE,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { callReadMethod } from './index.js';
1
+ import { callReadMethod, stringToAddress } from './index.js';
2
2
  /**
3
3
  * Generates a CLI command based on the provided ABI.
4
4
  * Only functions with stateMutability === 'view' or 'pure' are taken.
@@ -33,7 +33,7 @@ export function generateReadCommands(abi, createContractOrContract, command, com
33
33
  methods.push(fnName);
34
34
  // If the contract needs an address, add the <address> argument
35
35
  if (isNeedsAddress) {
36
- fnCommand.argument('<address>', 'Contract address');
36
+ fnCommand.argument('<address>', 'Contract address', stringToAddress);
37
37
  }
38
38
  // Add arguments for each function parameter
39
39
  inputs.forEach((input, index) => {
@@ -1 +1 @@
1
- {"version":3,"file":"read-programs-by-abi.js","sourceRoot":"","sources":["../../utils/read-programs-by-abi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read-programs-by-abi.js","sourceRoot":"","sources":["../../utils/read-programs-by-abi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import { fetchIPFS, IPFS_GATEWAY } from './index.js';
2
+ export const getReport = async (CID, url = IPFS_GATEWAY) => {
3
+ const data = await fetchIPFS(CID, url);
4
+ return data;
5
+ };
6
+ export const getVaultReport = async (vault, cid, url = IPFS_GATEWAY) => {
7
+ const report = await getReport(cid, url);
8
+ const vaultData = getVaultData(report, vault);
9
+ return vaultData;
10
+ };
11
+ const getVaultData = (report, vault) => {
12
+ const match = report.values.find((entry) => entry.value[0]?.toLowerCase() === vault.toLowerCase());
13
+ if (!match)
14
+ throw new Error('Vault not found');
15
+ const leaf = report.tree[match.treeIndex];
16
+ if (!leaf)
17
+ throw new Error('Leaf not found');
18
+ const data = {
19
+ vault_address: '',
20
+ in_out_delta: '',
21
+ fee: '',
22
+ total_value_wei: '',
23
+ liability_shares: '',
24
+ };
25
+ for (const [index, fieldName] of Object.entries(report.leafIndexToData)) {
26
+ const value = match.value[Number(index)];
27
+ if (value === undefined) {
28
+ throw new Error(`Missing value at index ${index} for field "${fieldName}"`);
29
+ }
30
+ data[fieldName] = value.toString();
31
+ }
32
+ return {
33
+ data,
34
+ leaf,
35
+ refSlot: report.refSlot,
36
+ blockNumber: report.blockNumber,
37
+ timestamp: report.timestamp,
38
+ proofsCID: report.proofsCID,
39
+ merkleTreeRoot: report.merkleTreeRoot,
40
+ prevTreeCID: report.prevTreeCID,
41
+ };
42
+ };
43
+ export const getReportProofByVault = async (vault, cid) => {
44
+ const report = await getReport(cid);
45
+ const proofCID = report.proofsCID;
46
+ const response = await fetchIPFS(proofCID);
47
+ if (!response.ok) {
48
+ throw new Error(`Failed to fetch IPFS proof: ${response.statusText}`);
49
+ }
50
+ const data = await response.json();
51
+ const proofByVault = data.proofs[vault];
52
+ if (!proofByVault)
53
+ throw new Error('Proof not found');
54
+ return proofByVault;
55
+ };
56
+ export const getReportProofByCid = async (vault, proofCID) => {
57
+ const proof = await fetchIPFS(proofCID);
58
+ const proofByVault = proof.proofs[vault];
59
+ if (!proofByVault)
60
+ throw new Error('Proof not found');
61
+ return proofByVault;
62
+ };
63
+ export const getAllVaultsReports = async (CID, url = IPFS_GATEWAY) => {
64
+ const report = await getReport(CID, url);
65
+ const vaultReports = report.values.map((value) => getVaultData(report, value.value[0]).data);
66
+ return vaultReports;
67
+ };
68
+ //# sourceMappingURL=report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../utils/report.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { parseEther } from 'viem';
2
+ import { getStethContract, getDashboardContract, getStakingVaultContract, } from '../contracts/index.js';
3
+ import { callReadMethodSilent } from './index.js';
4
+ export const getRequiredLockByShares = async (address, newShares) => {
5
+ const contract = getDashboardContract(address);
6
+ const [stETHContract, socket, vault] = await Promise.all([
7
+ getStethContract(),
8
+ callReadMethodSilent(contract, 'vaultSocket'),
9
+ callReadMethodSilent(contract, 'stakingVault'),
10
+ ]);
11
+ const pooledEthByShares = await stETHContract.read.getPooledEthByShares([
12
+ socket.liabilityShares + parseEther(newShares),
13
+ ]);
14
+ const vaultContract = getStakingVaultContract(vault);
15
+ const currentLock = await callReadMethodSilent(vaultContract, 'locked');
16
+ const totalBasisPoints = 10000n;
17
+ const requiredLock = (pooledEthByShares * totalBasisPoints) /
18
+ (totalBasisPoints - BigInt(socket.reserveRatioBP));
19
+ return { requiredLock, currentLock };
20
+ };
21
+ //# sourceMappingURL=required-lock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"required-lock.js","sourceRoot":"","sources":["../../utils/required-lock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,UAAU,EAAE,MAAM,MAAM,CAAC;AAE3C,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAE7C,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAC1C,OAAgB,EAChB,SAAiB,EACjB,EAAE;IACF,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACvD,gBAAgB,EAAE;QAClB,oBAAoB,CAAC,QAAQ,EAAE,aAAa,CAAC;QAC7C,oBAAoB,CAAC,QAAQ,EAAE,cAAc,CAAC;KAC/C,CAAC,CAAC;IACH,MAAM,iBAAiB,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC;QACtE,MAAM,CAAC,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC;KAC/C,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAExE,MAAM,gBAAgB,GAAG,MAAM,CAAC;IAEhC,MAAM,YAAY,GAChB,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QACtC,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;IAErD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;AACvC,CAAC,CAAC"}
@@ -1 +1 @@
1
- export const version = 'v1.0.0-alpha.22'
1
+ export const version = 'v1.0.0-alpha.24'
package/package.json CHANGED
@@ -1,16 +1,14 @@
1
1
  {
2
2
  "name": "@lidofinance/lsv-cli",
3
- "version": "1.0.0-alpha.22",
3
+ "version": "1.0.0-alpha.24",
4
4
  "main": "dist/index.js",
5
5
  "files": [
6
6
  "dist"
7
7
  ],
8
8
  "type": "module",
9
- "bin": {
10
- "lsv-cli": "dist/index.js"
11
- },
9
+ "bin": "dist/index.js",
12
10
  "scripts": {
13
- "start": "ts-node ./index.ts",
11
+ "start": "tsx ./index.ts",
14
12
  "build": "npx tsc && tsc-alias",
15
13
  "types": "echo 'No types yet'",
16
14
  "lint": "eslint . --ext .ts --max-warnings 0",
@@ -33,14 +31,19 @@
33
31
  "provenance": true
34
32
  },
35
33
  "dependencies": {
34
+ "@chainsafe/blst": "^2.2.0",
36
35
  "@chainsafe/persistent-merkle-tree": "^1.0.1",
37
36
  "@chainsafe/ssz": "^1.0.2",
38
37
  "@lodestar/types": "^1.27.1",
38
+ "blockstore-core": "^5.0.2",
39
+ "chalk": "^5.4.1",
39
40
  "cli-progress": "^3.12.0",
40
41
  "commander": "^12.1.0",
41
42
  "dotenv": "^16.4.5",
42
43
  "fs-extra": "^11.3.0",
44
+ "ipfs-unixfs-importer": "^15.3.2",
43
45
  "log-update": "^6.1.0",
46
+ "multiformats": "^13.3.2",
44
47
  "prompts": "^2.4.2",
45
48
  "viem": "^2.21.37"
46
49
  },
@@ -49,11 +52,11 @@
49
52
  "@commitlint/config-conventional": "^17.4.4",
50
53
  "@commitlint/prompt": "^17.4.4",
51
54
  "@lidofinance/eslint-config": "^0.48.0",
52
- "@swc/core": "^1.7.42",
55
+ "@swc/core": "^1.11.21",
53
56
  "@types/cli-progress": "^3.11.6",
54
57
  "@types/fs-extra": "^11.0.4",
55
58
  "@types/log-update": "^3.1.0",
56
- "@types/node": "^22.10.2",
59
+ "@types/node": "^22.14.1",
57
60
  "@types/prompts": "^2.4.9",
58
61
  "@typescript-eslint/eslint-plugin": "^5",
59
62
  "@typescript-eslint/parser": "^5.46.0",
@@ -76,6 +79,7 @@
76
79
  "ts-node": "^10.9.2",
77
80
  "tsc-alias": "^1.8.10",
78
81
  "tsconfig-paths": "^4.2.0",
82
+ "tsx": "^4.19.3",
79
83
  "typescript": "^5.7.2"
80
84
  },
81
85
  "lint-staged": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"Delegation.js","sourceRoot":"","sources":["../../abi/Delegation.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import { getContract } from 'viem';
2
- import { DelegationAbi } from '../abi/index.js';
3
- import { getPublicClient } from '../providers/index.js';
4
- export const getDelegationContract = (address) => {
5
- return getContract({
6
- address: address,
7
- abi: DelegationAbi,
8
- client: getPublicClient(),
9
- });
10
- };
11
- //# sourceMappingURL=delegation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"delegation.js","sourceRoot":"","sources":["../../contracts/delegation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAW,MAAM,MAAM,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAAgB,EAAE,EAAE;IACxD,OAAO,WAAW,CAAC;QACjB,OAAO,EAAE,OAAO;QAChB,GAAG,EAAE,aAAa;QAClB,MAAM,EAAE,eAAe,EAAE;KAC1B,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1,25 +0,0 @@
1
- import { printError, showSpinner } from '../utils/index.js';
2
- export const getBaseInfo = async (contract) => {
3
- const hideSpinner = showSpinner();
4
- try {
5
- const steth = await contract.read.STETH();
6
- const wsteth = await contract.read.WSTETH();
7
- const weth = await contract.read.WETH();
8
- const isInit = await contract.read.initialized();
9
- const vault = await contract.read.stakingVault();
10
- hideSpinner();
11
- const payload = {
12
- steth,
13
- wsteth,
14
- weth,
15
- vault,
16
- isInit,
17
- };
18
- console.table(Object.entries(payload));
19
- }
20
- catch (err) {
21
- hideSpinner();
22
- printError(err, 'Error when getting base info');
23
- }
24
- };
25
- //# sourceMappingURL=dashboard-delegation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dashboard-delegation.js","sourceRoot":"","sources":["../../features/dashboard-delegation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAGhD,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC9B,QAAgD,EAChD,EAAE;IACF,MAAM,WAAW,GAAG,WAAW,EAAE,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAEjD,WAAW,EAAE,CAAC;QAEd,MAAM,OAAO,GAAG;YACd,KAAK;YACL,MAAM;YACN,IAAI;YACJ,KAAK;YACL,MAAM;SACP,CAAC;QAEF,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,EAAE,CAAC;QACd,UAAU,CAAC,GAAG,EAAE,8BAA8B,CAAC,CAAC;IAClD,CAAC;AACH,CAAC,CAAC"}
@@ -1,33 +0,0 @@
1
- import { readCommandConfig as dashboardReadCommandConfig } from '../../programs/dashboard/config.js';
2
- export const readCommandConfig = {
3
- ...dashboardReadCommandConfig,
4
- nodeOperatorFeeBP: {
5
- name: 'no-fee',
6
- description: 'get node operator fee in basis points',
7
- },
8
- nodeOperatorFeeClaimedReport: {
9
- name: 'no-fee-report',
10
- description: 'get node operator fee claimed report',
11
- },
12
- nodeOperatorUnclaimedFee: {
13
- name: 'no-unclaimed-fee',
14
- description: `Returns the accumulated unclaimed node operator fee in ether,
15
- calculated as: U = (R * F) / T
16
- where:
17
- - U is the node operator unclaimed fee;
18
- - R is the StakingVault rewards accrued since the last node operator fee claim;
19
- - F is nodeOperatorFeeBP
20
- - T is the total basis points, 10,000.`,
21
- },
22
- curatorUnclaimedFee: {
23
- name: 'cf-unclaimed',
24
- description: `Returns the accumulated unclaimed curator fee in ether,
25
- calculated as: U = (R * F) / T
26
- where:
27
- - U is the curator unclaimed fee;
28
- - R is the StakingVault rewards accrued since the last curator fee claim;
29
- - F is curatorFeeBP
30
- - T is the total basis points, 10,000.`,
31
- },
32
- };
33
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../programs/delegation/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,IAAI,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE/F,MAAM,CAAC,MAAM,iBAAiB,GAA6B;IACzD,GAAG,0BAA0B;IAC7B,iBAAiB,EAAE;QACjB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,uCAAuC;KACrD;IACD,4BAA4B,EAAE;QAC5B,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,sCAAsC;KACpD;IACD,wBAAwB,EAAE;QACxB,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE;;;;;;uDAMsC;KACpD;IACD,mBAAmB,EAAE;QACnB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE;;;;;;uDAMsC;KACpD;CACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../programs/delegation/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
@@ -1,12 +0,0 @@
1
- import { program } from '../../command/index.js';
2
- import { Option } from 'commander';
3
- import { getCommandsJson } from '../../utils/index.js';
4
- export const delegation = program
5
- .command('delegation')
6
- .description('delegation contract');
7
- delegation.addOption(new Option('-cmd2json'));
8
- delegation.on('option:-cmd2json', function () {
9
- console.info(getCommandsJson(delegation));
10
- process.exit();
11
- });
12
- //# sourceMappingURL=main.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../programs/delegation/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAExC,MAAM,CAAC,MAAM,UAAU,GAAG,OAAO;KAC9B,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,qBAAqB,CAAC,CAAC;AAEtC,UAAU,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AAC9C,UAAU,CAAC,EAAE,CAAC,kBAAkB,EAAE;IAChC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC"}
@@ -1,98 +0,0 @@
1
- import { DelegationAbi } from '../../abi/index.js';
2
- import { getDelegationContract, getStakingVaultContract } from '../../contracts/index.js';
3
- import { generateReadCommands } from '../../utils/index.js';
4
- import { getBaseInfo } from '../../features/index.js';
5
- import { delegation } from './main.js';
6
- import { readCommandConfig } from './config.js';
7
- generateReadCommands(DelegationAbi, getDelegationContract, delegation, readCommandConfig);
8
- delegation
9
- .command('roles')
10
- .description('get delegation contract roles info')
11
- .argument('<address>', 'delegation contract address')
12
- .action(async (address) => {
13
- const contract = getDelegationContract(address);
14
- // TODO: check roles
15
- try {
16
- const CURATOR_FEE_CLAIM_ROLE = await contract.read.CURATOR_FEE_CLAIM_ROLE();
17
- const CURATOR_FEE_SET_ROLE = await contract.read.CURATOR_FEE_SET_ROLE();
18
- const NODE_OPERATOR_MANAGER_ROLE = await contract.read.NODE_OPERATOR_MANAGER_ROLE();
19
- const NODE_OPERATOR_FEE_CLAIMER_ROLE = await contract.read.NODE_OPERATOR_FEE_CLAIM_ROLE();
20
- const FUND_ROLE = await contract.read.FUND_ROLE();
21
- const WITHDRAW_ROLE = await contract.read.WITHDRAW_ROLE();
22
- const MINT_ROLE = await contract.read.MINT_ROLE();
23
- const BURN_ROLE = await contract.read.BURN_ROLE();
24
- const REBALANCE_ROLE = await contract.read.REBALANCE_ROLE();
25
- const PAUSE_BEACON_CHAIN_DEPOSITS_ROLE = await contract.read.PAUSE_BEACON_CHAIN_DEPOSITS_ROLE();
26
- const RESUME_BEACON_CHAIN_DEPOSITS_ROLE = await contract.read.RESUME_BEACON_CHAIN_DEPOSITS_ROLE();
27
- const REQUEST_VALIDATOR_EXIT_ROLE = await contract.read.REQUEST_VALIDATOR_EXIT_ROLE();
28
- const VOLUNTARY_DISCONNECT_ROLE = await contract.read.VOLUNTARY_DISCONNECT_ROLE();
29
- const TRIGGER_VALIDATOR_WITHDRAWAL_ROLE = await contract.read.TRIGGER_VALIDATOR_WITHDRAWAL_ROLE();
30
- const PDG_WITHDRAWAL_ROLE = await contract.read.PDG_WITHDRAWAL_ROLE();
31
- const ASSET_RECOVERY_ROLE = await contract.read.ASSET_RECOVERY_ROLE();
32
- const payload = {
33
- CURATOR_FEE_CLAIM_ROLE,
34
- CURATOR_FEE_SET_ROLE,
35
- NODE_OPERATOR_MANAGER_ROLE,
36
- NODE_OPERATOR_FEE_CLAIMER_ROLE,
37
- FUND_ROLE,
38
- WITHDRAW_ROLE,
39
- MINT_ROLE,
40
- BURN_ROLE,
41
- REBALANCE_ROLE,
42
- PAUSE_BEACON_CHAIN_DEPOSITS_ROLE,
43
- RESUME_BEACON_CHAIN_DEPOSITS_ROLE,
44
- REQUEST_VALIDATOR_EXIT_ROLE,
45
- VOLUNTARY_DISCONNECT_ROLE,
46
- TRIGGER_VALIDATOR_WITHDRAWAL_ROLE,
47
- PDG_WITHDRAWAL_ROLE,
48
- ASSET_RECOVERY_ROLE,
49
- };
50
- console.table(Object.entries(payload));
51
- }
52
- catch (err) {
53
- if (err instanceof Error) {
54
- console.info('Error when getting roles:\n', err.message);
55
- }
56
- }
57
- });
58
- delegation
59
- .command('base-info')
60
- .description('get delegation base info')
61
- .argument('<address>', 'delegation address')
62
- .action(async (address) => {
63
- const contract = getDelegationContract(address);
64
- await getBaseInfo(contract);
65
- });
66
- delegation
67
- .command('is-healthy')
68
- .description('get vault healthy info')
69
- .argument('<address>', 'vault address')
70
- .action(async (address) => {
71
- const contract = getDelegationContract(address);
72
- try {
73
- const valuation = await contract.read.valuation();
74
- const curatorUnclaimedFee = await contract.read.curatorUnclaimedFee();
75
- const nodeOperatorUnclaimedFee = await contract.read.nodeOperatorUnclaimedFee();
76
- const minted = await contract.read.sharesMinted();
77
- const { vault } = await contract.read.vaultSocket();
78
- const vaultContract = getStakingVaultContract(vault);
79
- const locked = await vaultContract.read.locked();
80
- const reserved = locked + curatorUnclaimedFee + nodeOperatorUnclaimedFee;
81
- const valuationPerc = (valuation / (reserved + minted)) * 100n;
82
- const isHealthy = valuationPerc >= 100n;
83
- console.table({
84
- 'Vault Healthy': isHealthy,
85
- Valuation: valuation,
86
- 'Curator Unclaimed Fee': curatorUnclaimedFee,
87
- 'Node Operator Unclaimed Fee': nodeOperatorUnclaimedFee,
88
- Minted: minted,
89
- Reserved: reserved,
90
- });
91
- }
92
- catch (err) {
93
- if (err instanceof Error) {
94
- console.info('Error when getting info:\n', err.message);
95
- }
96
- }
97
- });
98
- //# sourceMappingURL=read.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../programs/delegation/read.ts"],"names":[],"mappings":"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"}