@lidofinance/lsv-cli 1.0.0-alpha.60 → 1.0.0-alpha.62

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 (237) hide show
  1. package/README.md +26 -14
  2. package/dist/abi/Dashboard.d.ts +706 -445
  3. package/dist/abi/Dashboard.js +331 -300
  4. package/dist/abi/Dashboard.js.map +1 -1
  5. package/dist/abi/LazyOracle.d.ts +286 -47
  6. package/dist/abi/LazyOracle.js +357 -48
  7. package/dist/abi/LazyOracle.js.map +1 -1
  8. package/dist/abi/LidoLocator.d.ts +28 -0
  9. package/dist/abi/LidoLocator.js +36 -0
  10. package/dist/abi/LidoLocator.js.map +1 -1
  11. package/dist/abi/OperatorGrid.d.ts +166 -1
  12. package/dist/abi/OperatorGrid.js +174 -1
  13. package/dist/abi/OperatorGrid.js.map +1 -1
  14. package/dist/abi/PredepositGuarantee.d.ts +181 -139
  15. package/dist/abi/PredepositGuarantee.js +191 -166
  16. package/dist/abi/PredepositGuarantee.js.map +1 -1
  17. package/dist/abi/StEth.d.ts +1 -1
  18. package/dist/abi/StEth.js +1 -1
  19. package/dist/abi/StEth.js.map +1 -1
  20. package/dist/abi/StakingVault.d.ts +184 -32
  21. package/dist/abi/StakingVault.js +203 -37
  22. package/dist/abi/StakingVault.js.map +1 -1
  23. package/dist/abi/VaultFactory.d.ts +470 -72
  24. package/dist/abi/VaultFactory.js +24 -1
  25. package/dist/abi/VaultFactory.js.map +1 -1
  26. package/dist/abi/VaultHub.d.ts +416 -420
  27. package/dist/abi/VaultHub.js +349 -398
  28. package/dist/abi/VaultHub.js.map +1 -1
  29. package/dist/abi/VaultViewer.d.ts +215 -96
  30. package/dist/abi/VaultViewer.js +258 -106
  31. package/dist/abi/VaultViewer.js.map +1 -1
  32. package/dist/abi/index.d.ts +0 -2
  33. package/dist/abi/index.js +0 -2
  34. package/dist/abi/index.js.map +1 -1
  35. package/dist/command/index.js +2 -0
  36. package/dist/command/index.js.map +1 -1
  37. package/dist/configs/constants.d.ts +1 -0
  38. package/dist/contracts/index.d.ts +0 -1
  39. package/dist/contracts/index.js +0 -1
  40. package/dist/contracts/index.js.map +1 -1
  41. package/dist/contracts/locator.d.ts +1428 -12
  42. package/dist/contracts/steth.d.ts +74 -74
  43. package/dist/contracts/vault-factory.d.ts +15731 -5838
  44. package/dist/contracts/vault-viewer.d.ts +4458 -1744
  45. package/dist/contracts/vault-viewer.js +1 -1
  46. package/dist/features/deposits/no-pdg.js +5 -5
  47. package/dist/features/deposits/no-pdg.js.map +1 -1
  48. package/dist/features/index.d.ts +1 -0
  49. package/dist/features/index.js +1 -0
  50. package/dist/features/index.js.map +1 -1
  51. package/dist/features/lazy-oracle.d.ts +1 -0
  52. package/dist/features/lazy-oracle.js +42 -0
  53. package/dist/features/lazy-oracle.js.map +1 -0
  54. package/dist/features/mint-burn/allowance.js +1 -1
  55. package/dist/features/mint-burn/allowance.js.map +1 -1
  56. package/dist/features/utils/get-address.js +1 -1
  57. package/dist/features/utils/get-address.js.map +1 -1
  58. package/dist/features/vault-hub.js +0 -4
  59. package/dist/features/vault-hub.js.map +1 -1
  60. package/dist/features/vault-operations/create-vault.js +2 -2
  61. package/dist/features/vault-operations/create-vault.js.map +1 -1
  62. package/dist/features/vault-operations/dashboard-by-vault.d.ts +2 -1
  63. package/dist/features/vault-operations/dashboard-by-vault.js +3 -1
  64. package/dist/features/vault-operations/dashboard-by-vault.js.map +1 -1
  65. package/dist/features/vault-operations/vault-health.js +2 -2
  66. package/dist/features/vault-operations/vault-health.js.map +1 -1
  67. package/dist/features/vault-operations/vault-info.js +29 -32
  68. package/dist/features/vault-operations/vault-info.js.map +1 -1
  69. package/dist/features/vault-operations/vault-overview.js +35 -28
  70. package/dist/features/vault-operations/vault-overview.js.map +1 -1
  71. package/dist/features/vault-operations/vault-roles.d.ts +1 -1
  72. package/dist/features/vault-operations/vault-roles.js +10 -8
  73. package/dist/features/vault-operations/vault-roles.js.map +1 -1
  74. package/dist/features/vault-operations/vaults-by-role.d.ts +0 -2
  75. package/dist/features/vault-operations/vaults-by-role.js +8 -6
  76. package/dist/features/vault-operations/vaults-by-role.js.map +1 -1
  77. package/dist/features/vault.js +4 -2
  78. package/dist/features/vault.js.map +1 -1
  79. package/dist/index.js +8 -3
  80. package/dist/index.js.map +1 -1
  81. package/dist/programs/account/read.js +3 -3
  82. package/dist/programs/account/read.js.map +1 -1
  83. package/dist/programs/account/write.js +13 -5
  84. package/dist/programs/account/write.js.map +1 -1
  85. package/dist/programs/contracts/dashboard/config.js +49 -40
  86. package/dist/programs/contracts/dashboard/config.js.map +1 -1
  87. package/dist/programs/contracts/dashboard/read.js +38 -3
  88. package/dist/programs/contracts/dashboard/read.js.map +1 -1
  89. package/dist/programs/contracts/dashboard/write.js +128 -74
  90. package/dist/programs/contracts/dashboard/write.js.map +1 -1
  91. package/dist/programs/contracts/hub/config.js +7 -17
  92. package/dist/programs/contracts/hub/config.js.map +1 -1
  93. package/dist/programs/contracts/hub/write.js +7 -69
  94. package/dist/programs/contracts/hub/write.js.map +1 -1
  95. package/dist/programs/contracts/index.d.ts +1 -0
  96. package/dist/programs/contracts/index.js +1 -0
  97. package/dist/programs/contracts/index.js.map +1 -1
  98. package/dist/programs/contracts/lazy-oracle/config.d.ts +3 -0
  99. package/dist/programs/contracts/lazy-oracle/config.js +62 -0
  100. package/dist/programs/contracts/lazy-oracle/config.js.map +1 -0
  101. package/dist/programs/contracts/lazy-oracle/index.d.ts +2 -0
  102. package/dist/programs/contracts/lazy-oracle/index.js +3 -0
  103. package/dist/programs/contracts/lazy-oracle/index.js.map +1 -0
  104. package/dist/programs/contracts/lazy-oracle/main.d.ts +1 -0
  105. package/dist/programs/contracts/lazy-oracle/main.js +5 -0
  106. package/dist/programs/contracts/lazy-oracle/main.js.map +1 -0
  107. package/dist/programs/contracts/lazy-oracle/read.d.ts +1 -0
  108. package/dist/programs/contracts/lazy-oracle/read.js +24 -0
  109. package/dist/programs/contracts/lazy-oracle/read.js.map +1 -0
  110. package/dist/programs/contracts/operator-grid/config.js +21 -10
  111. package/dist/programs/contracts/operator-grid/config.js.map +1 -1
  112. package/dist/programs/contracts/operator-grid/read.js +21 -1
  113. package/dist/programs/contracts/operator-grid/read.js.map +1 -1
  114. package/dist/programs/contracts/operator-grid/write.js +51 -9
  115. package/dist/programs/contracts/operator-grid/write.js.map +1 -1
  116. package/dist/programs/contracts/pdg/config.js +9 -2
  117. package/dist/programs/contracts/pdg/config.js.map +1 -1
  118. package/dist/programs/contracts/pdg/read.js +16 -1
  119. package/dist/programs/contracts/pdg/read.js.map +1 -1
  120. package/dist/programs/contracts/pdg/write.js +28 -91
  121. package/dist/programs/contracts/pdg/write.js.map +1 -1
  122. package/dist/programs/contracts/vault/config.js +12 -0
  123. package/dist/programs/contracts/vault/config.js.map +1 -1
  124. package/dist/programs/contracts/vault/write.js +84 -20
  125. package/dist/programs/contracts/vault/write.js.map +1 -1
  126. package/dist/programs/contracts/vault-viewer/read.js +4 -4
  127. package/dist/programs/contracts/vault-viewer/read.js.map +1 -1
  128. package/dist/programs/use-cases/deposits/read.js +20 -3
  129. package/dist/programs/use-cases/deposits/read.js.map +1 -1
  130. package/dist/programs/use-cases/deposits/write.js +22 -32
  131. package/dist/programs/use-cases/deposits/write.js.map +1 -1
  132. package/dist/programs/use-cases/metrics/read.js +70 -11
  133. package/dist/programs/use-cases/metrics/read.js.map +1 -1
  134. package/dist/programs/use-cases/report/read.js +14 -7
  135. package/dist/programs/use-cases/report/read.js.map +1 -1
  136. package/dist/programs/use-cases/report/write.js +47 -64
  137. package/dist/programs/use-cases/report/write.js.map +1 -1
  138. package/dist/programs/use-cases/vault-operations/create-vault.js +6 -2
  139. package/dist/programs/use-cases/vault-operations/create-vault.js.map +1 -1
  140. package/dist/programs/use-cases/vault-operations/write.js +127 -15
  141. package/dist/programs/use-cases/vault-operations/write.js.map +1 -1
  142. package/dist/providers/wallet.d.ts +7690 -23
  143. package/dist/providers/wallet.js +25 -5
  144. package/dist/providers/wallet.js.map +1 -1
  145. package/dist/tests/utils/calculate-overview.test.js +1 -1
  146. package/dist/tests/utils/calculate-overview.test.js.map +1 -1
  147. package/dist/tests/utils/health.test.js +2 -2
  148. package/dist/tests/utils/health.test.js.map +1 -1
  149. package/dist/tests/utils/ipfs.test.js +22 -10
  150. package/dist/tests/utils/ipfs.test.js.map +1 -1
  151. package/dist/types/common.d.ts +4 -0
  152. package/dist/types/config.d.ts +1 -0
  153. package/dist/utils/arguments.d.ts +3 -1
  154. package/dist/utils/arguments.js +39 -0
  155. package/dist/utils/arguments.js.map +1 -1
  156. package/dist/utils/calculate-overview-v2.d.ts +4 -2
  157. package/dist/utils/calculate-overview-v2.js +5 -8
  158. package/dist/utils/calculate-overview-v2.js.map +1 -1
  159. package/dist/utils/calculate-overview.d.ts +1 -1
  160. package/dist/utils/calculate-overview.js +2 -2
  161. package/dist/utils/calculate-overview.js.map +1 -1
  162. package/dist/utils/charts/blessed/charts-apr.js +2 -1
  163. package/dist/utils/charts/blessed/charts-apr.js.map +1 -1
  164. package/dist/utils/charts/blessed/charts-rewards.js +2 -1
  165. package/dist/utils/charts/blessed/charts-rewards.js.map +1 -1
  166. package/dist/utils/charts/blessed/datasets/prepare-metrics.d.ts +4 -0
  167. package/dist/utils/charts/blessed/datasets/prepare-metrics.js +15 -1
  168. package/dist/utils/charts/blessed/datasets/prepare-metrics.js.map +1 -1
  169. package/dist/utils/charts/overview.d.ts +1 -1
  170. package/dist/utils/charts/overview.js +1 -1
  171. package/dist/utils/charts/overview.js.map +1 -1
  172. package/dist/utils/charts/simple/simple-charts.js +2 -1
  173. package/dist/utils/charts/simple/simple-charts.js.map +1 -1
  174. package/dist/utils/commands/confirmations.d.ts +9 -5
  175. package/dist/utils/commands/confirmations.js +42 -33
  176. package/dist/utils/commands/confirmations.js.map +1 -1
  177. package/dist/utils/commands/report.js +2 -1
  178. package/dist/utils/commands/report.js.map +1 -1
  179. package/dist/utils/csv-file.d.ts +6 -0
  180. package/dist/utils/csv-file.js +48 -0
  181. package/dist/utils/csv-file.js.map +1 -0
  182. package/dist/utils/health/calculate-health.d.ts +1 -1
  183. package/dist/utils/health/calculate-health.js +2 -2
  184. package/dist/utils/health/calculate-health.js.map +1 -1
  185. package/dist/utils/health/health-utils.d.ts +77 -77
  186. package/dist/utils/health/health-utils.js +11 -10
  187. package/dist/utils/health/health-utils.js.map +1 -1
  188. package/dist/utils/index.d.ts +3 -1
  189. package/dist/utils/index.js +3 -1
  190. package/dist/utils/index.js.map +1 -1
  191. package/dist/utils/ipfs.js +1 -1
  192. package/dist/utils/ipfs.js.map +1 -1
  193. package/dist/utils/logging/console.d.ts +1 -0
  194. package/dist/utils/logging/console.js +9 -1
  195. package/dist/utils/logging/console.js.map +1 -1
  196. package/dist/utils/report/report-proof.d.ts +3 -0
  197. package/dist/utils/report/report-proof.js +2 -2
  198. package/dist/utils/report/report-proof.js.map +1 -1
  199. package/dist/utils/report/report.d.ts +1 -1
  200. package/dist/utils/report/report.js +6 -4
  201. package/dist/utils/report/report.js.map +1 -1
  202. package/dist/utils/report/statistic-data.js +2 -2
  203. package/dist/utils/report/statistic-data.js.map +1 -1
  204. package/dist/utils/report/types.d.ts +11 -2
  205. package/dist/utils/statistic/report-statistic.js +13 -14
  206. package/dist/utils/statistic/report-statistic.js.map +1 -1
  207. package/dist/utils/timestamp.d.ts +1 -1
  208. package/dist/utils/timestamp.js +9 -2
  209. package/dist/utils/timestamp.js.map +1 -1
  210. package/dist/utils/transactions/index.d.ts +3 -0
  211. package/dist/utils/transactions/index.js +4 -0
  212. package/dist/utils/transactions/index.js.map +1 -0
  213. package/dist/utils/transactions/tx-private-key.d.ts +26 -0
  214. package/dist/utils/{contract.js → transactions/tx-private-key.js} +105 -9
  215. package/dist/utils/transactions/tx-private-key.js.map +1 -0
  216. package/dist/utils/transactions/tx-wc.d.ts +34 -0
  217. package/dist/utils/transactions/tx-wc.js +187 -0
  218. package/dist/utils/transactions/tx-wc.js.map +1 -0
  219. package/dist/utils/transactions/types.d.ts +40 -0
  220. package/dist/utils/transactions/types.js +2 -0
  221. package/dist/utils/transactions/types.js.map +1 -0
  222. package/dist/utils/wallet-connect.d.ts +7677 -0
  223. package/dist/utils/wallet-connect.js +179 -0
  224. package/dist/utils/wallet-connect.js.map +1 -0
  225. package/dist/version/index.js +1 -1
  226. package/package.json +19 -5
  227. package/dist/abi/TokenManager.d.ts +0 -577
  228. package/dist/abi/TokenManager.js +0 -756
  229. package/dist/abi/TokenManager.js.map +0 -1
  230. package/dist/abi/Voting.d.ts +0 -676
  231. package/dist/abi/Voting.js +0 -884
  232. package/dist/abi/Voting.js.map +0 -1
  233. package/dist/contracts/token-manager.d.ts +0 -3
  234. package/dist/contracts/token-manager.js +0 -13
  235. package/dist/contracts/token-manager.js.map +0 -1
  236. package/dist/utils/contract.d.ts +0 -59
  237. package/dist/utils/contract.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { formatEther, parseEther } from 'viem';
2
2
  import { Option } from 'commander';
3
- import { logInfo, getCommandsJson, stringToAddress, confirmOperation, callWriteMethodWithReceipt, parseDepositArray, expandBLSSignature, confirmMakeProof, stringToNumberArray, stringToNumber, etherToWei, } from '../../../utils/index.js';
3
+ import { logInfo, getCommandsJson, stringToAddress, confirmOperation, callWriteMethodWithReceipt, parseDepositArray, expandBLSSignature, confirmMakeProof, stringToNumberArray, stringToNumber, etherToWei, stringToBigIntArray, parseValidatorTopUpArray, } from '../../../utils/index.js';
4
4
  import { chooseVaultAndGetDashboard, checkBLSDeposits, makePDGProofByIndex, makePDGProofByIndexes, checkNOBalancePDGforDeposit, getAddress, checkNodeOperatorForDeposit, checkAndSpecifyNodeOperatorForTopUpOrWithdraw, getGuarantor, } from '../../../features/index.js';
5
5
  import { getPredepositGuaranteeContract, getStakingVaultContract, } from '../../../contracts/index.js';
6
6
  import { deposits } from './main.js';
@@ -64,7 +64,7 @@ depositsWrite
64
64
  depositsWrite
65
65
  .command('proof-and-prove')
66
66
  .aliases(['prove'])
67
- .description('make proof and prove')
67
+ .description('permissionless method to prove correct Withdrawal Credentials for the validator and to send the activation deposit')
68
68
  .option('-i, --index <index>', 'validator index', stringToNumber)
69
69
  .action(async ({ index }) => {
70
70
  const pdgContract = await getPredepositGuaranteeContract();
@@ -74,7 +74,7 @@ depositsWrite
74
74
  const { proof, pubkey, childBlockTimestamp, slot, proposerIndex } = await makePDGProofByIndex(validatorIndex);
75
75
  await callWriteMethodWithReceipt({
76
76
  contract: pdgContract,
77
- methodName: 'proveValidatorWC',
77
+ methodName: 'proveWCAndActivate',
78
78
  payload: [
79
79
  {
80
80
  proof,
@@ -88,21 +88,12 @@ depositsWrite
88
88
  });
89
89
  });
90
90
  depositsWrite
91
- .command('prove-and-deposit')
92
- .description('shortcut for the node operator: prove, top up and deposit to proven validators')
91
+ .command('prove-and-top-up')
92
+ .description('prove validators to unlock NO balance, activate the validators from stash, and optionally top up NO balance')
93
93
  .argument('<indexes>', 'validator indexes', stringToNumberArray)
94
- .argument('<deposits>', 'deposits', parseDepositArray)
94
+ .argument('<amounts>', 'array of amounts to top up NO balance', stringToBigIntArray)
95
95
  .option('-v, --vault <string>', 'vault address', stringToAddress)
96
- .addHelpText('after', `Deposit format:
97
- '[{
98
- "pubkey": "...",
99
- "signature": "...",
100
- "amount": "...",
101
- "deposit_data_root": "..."
102
- }
103
- {second deposit}
104
- ...]'`)
105
- .action(async (indexes, deposits, { vault }) => {
96
+ .action(async (indexes, amounts, { vault }) => {
106
97
  const { vault: vaultAddress } = await chooseVaultAndGetDashboard({
107
98
  vault,
108
99
  });
@@ -114,41 +105,40 @@ depositsWrite
114
105
  return;
115
106
  await callWriteMethodWithReceipt({
116
107
  contract: pdgContract,
117
- methodName: 'proveAndDeposit',
118
- payload: [witnesses, deposits, vaultAddress],
108
+ methodName: 'proveWCActivateAndTopUpValidators',
109
+ payload: [witnesses, amounts],
119
110
  });
120
111
  });
121
112
  depositsWrite
122
- .command('deposit-to-beacon-chain')
113
+ .command('top-up-existing-validators')
114
+ .aliases(['top-up-val'])
123
115
  .description('deposits ether to proven validators from staking vault')
124
- .argument('<deposits>', 'deposits', parseDepositArray)
116
+ .argument('<topUps>', 'array of ValidatorTopUp structs with pubkey and amounts', parseValidatorTopUpArray)
125
117
  .option('-v, --vault <string>', 'vault address', stringToAddress)
126
- .addHelpText('after', `Deposit format:
118
+ .addHelpText('after', `ValidatorTopUp format:
127
119
  '[{
128
120
  "pubkey": "...",
129
- "signature": "...",
130
121
  "amount": "...",
131
- "deposit_data_root": "..."
132
122
  }
133
- {second deposit}
123
+ {second topUp}
134
124
  ...]'`)
135
- .action(async (deposits, { vault }) => {
125
+ .action(async (topUps, { vault }) => {
136
126
  const { vault: vaultAddress } = await chooseVaultAndGetDashboard({ vault });
137
127
  const pdgContract = await getPredepositGuaranteeContract();
138
128
  const vaultContract = getStakingVaultContract(vaultAddress);
139
129
  await checkNodeOperatorForDeposit(vaultContract);
140
- const confirm = await confirmOperation(`Are you sure you want to deposit ${deposits.length} deposits to the vault ${vaultAddress}?`);
130
+ const confirm = await confirmOperation(`Are you sure you want to top up ${topUps.length} validators with ${topUps.map((topUp) => formatEther(topUp.amount)).join(', ')} ETH?`);
141
131
  if (!confirm)
142
132
  return;
143
133
  await callWriteMethodWithReceipt({
144
134
  contract: pdgContract,
145
- methodName: 'depositToBeaconChain',
146
- payload: [vaultAddress, deposits],
135
+ methodName: 'topUpExistingValidators',
136
+ payload: [topUps],
147
137
  });
148
138
  });
149
139
  depositsWrite
150
- .command('top-up')
151
- .description('top up no balance')
140
+ .command('top-up-no')
141
+ .description('top up Node Operator balance')
152
142
  .argument('<amount>', 'amount in ETH', etherToWei)
153
143
  .option('-v, --vault <string>', 'vault address', stringToAddress)
154
144
  .action(async (amount, { vault }) => {
@@ -171,7 +161,7 @@ depositsWrite
171
161
  });
172
162
  depositsWrite
173
163
  .command('withdraw-no-balance')
174
- .description('withdraw node operator balance')
164
+ .description('withdraw Node Operator balance')
175
165
  .argument('<amount>', 'amount in ETH', etherToWei)
176
166
  .option('-v, --vault <string>', 'vault address', stringToAddress)
177
167
  .option('-r, --recipient <string>', 'address of the recipient', stringToAddress)
@@ -196,7 +186,7 @@ depositsWrite
196
186
  depositsWrite
197
187
  .command('set-no-guarantor')
198
188
  .aliases(['set-no-g'])
199
- .description('set node operator guarantor')
189
+ .description('set Node Operator guarantor')
200
190
  .action(async () => {
201
191
  const pdgContract = await getPredepositGuaranteeContract();
202
192
  const { newGuarantor, currentAccount } = await getGuarantor(pdgContract);
@@ -1 +1 @@
1
- {"version":3,"file":"write.js","sourceRoot":"","sources":["../../../../programs/use-cases/deposits/write.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["../../../../programs/use-cases/deposits/write.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { formatEther } from 'viem';
2
2
  import { Option } from 'commander';
3
3
  import { program } from '../../../command/index.js';
4
4
  import { getLazyOracleContract } from '../../../contracts/index.js';
5
- import { logInfo, getCommandsJson, getVaultReport, callReadMethod, getReportStatisticData, getVaultPreviousReport, logResult, formatRatio, fetchAprChartsData, renderAprCharts, fetchRewardsChartsData, renderRewardsCharts, stringToNumber, renderSimpleCharts, getVaultReportHistory, prepareGrossStakingRewards, prepareNodeOperatorRewards, prepareNetStakingRewards, callReadMethodSilent, cache, prepareGrossStakingAPR, prepareNetStakingAPR, prepareCarrySpread, prepareBottomLine, formatTimestamp, } from '../../../utils/index.js';
5
+ import { logInfo, getCommandsJson, getVaultReport, callReadMethod, getReportStatisticData, getVaultPreviousReport, logResult, formatRatio, fetchAprChartsData, renderAprCharts, fetchRewardsChartsData, renderRewardsCharts, stringToNumber, renderSimpleCharts, getVaultReportHistory, prepareGrossStakingRewards, prepareNodeOperatorRewards, prepareNetStakingRewards, callReadMethodSilent, cache, prepareGrossStakingAPR, prepareNetStakingAPR, prepareCarrySpread, prepareBottomLine, prepareDailyLidoFees, formatTimestamp, } from '../../../utils/index.js';
6
6
  import { checkQuarantine, chooseVaultAndGetDashboard } from '../../../features/index.js';
7
7
  import { metrics } from './main.js';
8
8
  const metricsRead = metrics
@@ -23,8 +23,8 @@ metricsRead
23
23
  const { address: dashboardAddress, vault: vaultAddress } = await chooseVaultAndGetDashboard({ vault });
24
24
  await checkQuarantine(vaultAddress);
25
25
  const lazyOracleContract = await getLazyOracleContract();
26
- const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(lazyOracleContract, 'latestReportData');
27
- const { cacheUse } = program.opts();
26
+ const [_vaultsDataTimestamp, _vaultsDataRefSlot, _vaultsDataTreeRoot, vaultsDataReportCid,] = await callReadMethod(lazyOracleContract, 'latestReportData');
27
+ const { cacheUse, csv } = program.opts();
28
28
  const reportCurrent = await getVaultReport({
29
29
  vault: vaultAddress,
30
30
  cid: vaultsDataReportCid,
@@ -65,6 +65,7 @@ metricsRead
65
65
  ['Carry Spread, %', formatRatio(statisticData.carrySpread.apr_percent)],
66
66
  ['Bottom Line, ETH', formatEther(statisticData.bottomLine)],
67
67
  ],
68
+ csvPath: csv,
68
69
  });
69
70
  });
70
71
  metricsRead
@@ -73,12 +74,13 @@ metricsRead
73
74
  .argument('<count>', 'count of reports', stringToNumber)
74
75
  .option('-v, --vault <string>', 'vault address')
75
76
  .option('-g, --gateway', 'ipfs gateway url')
76
- .action(async (count, { vault, gateway }) => {
77
+ .option('--no-utc', 'do not use UTC time zone')
78
+ .action(async (count, { vault, gateway, utc }) => {
77
79
  const { contract: dashboardContract, vault: vaultAddress } = await chooseVaultAndGetDashboard({ vault });
78
80
  await checkQuarantine(vaultAddress);
79
81
  const lazyOracleContract = await getLazyOracleContract();
80
- const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(lazyOracleContract, 'latestReportData');
81
- const { cacheUse } = program.opts();
82
+ const [_vaultsDataTimestamp, _vaultsDataRefSlot, _vaultsDataTreeRoot, vaultsDataReportCid,] = await callReadMethod(lazyOracleContract, 'latestReportData');
83
+ const { cacheUse, csv } = program.opts();
82
84
  const history = await getVaultReportHistory({
83
85
  vault: vaultAddress,
84
86
  cid: vaultsDataReportCid,
@@ -91,14 +93,15 @@ metricsRead
91
93
  for (const r of history) {
92
94
  let fee = await cache.getNodeOperatorFeeRate(vault, r.blockNumber);
93
95
  if (fee === null) {
94
- fee = await callReadMethodSilent(dashboardContract, 'nodeOperatorFeeRate', {
96
+ const feeRate = await callReadMethodSilent(dashboardContract, 'feeRate', {
95
97
  blockNumber: BigInt(r.blockNumber),
96
98
  });
99
+ fee = BigInt(feeRate);
97
100
  await cache.setNodeOperatorFeeRate(vault, r.blockNumber, fee);
98
101
  }
99
102
  nodeOperatorFeeBPs.push(fee);
100
103
  }
101
- const [grossStakingRewards, nodeOperatorRewards, netStakingRewards, grossStakingAPR, netStakingAPR, carrySpread, bottomLine,] = await Promise.all([
104
+ const [grossStakingRewards, nodeOperatorRewards, netStakingRewards, grossStakingAPR, netStakingAPR, carrySpread, bottomLine, dailyLidoFees,] = await Promise.all([
102
105
  prepareGrossStakingRewards(history),
103
106
  prepareNodeOperatorRewards(history, nodeOperatorFeeBPs),
104
107
  prepareNetStakingRewards(history, nodeOperatorFeeBPs),
@@ -106,6 +109,7 @@ metricsRead
106
109
  prepareNetStakingAPR(history, nodeOperatorFeeBPs),
107
110
  prepareCarrySpread(history, nodeOperatorFeeBPs, vaultAddress),
108
111
  prepareBottomLine(history, nodeOperatorFeeBPs, vaultAddress),
112
+ prepareDailyLidoFees(history),
109
113
  ]);
110
114
  logResult({
111
115
  data: [
@@ -116,11 +120,66 @@ metricsRead
116
120
  ['Net Staking APR, %', ...netStakingAPR.values.map(formatRatio)],
117
121
  ['Carry Spread, %', ...carrySpread.values.map(formatRatio)],
118
122
  ['Bottom Line, WEI', ...bottomLine.values],
123
+ ['Daily Lido Fees, ETH', ...dailyLidoFees.values],
124
+ ['Timestamp', ...grossStakingRewards.timestamp],
125
+ ],
126
+ params: {
127
+ head: [
128
+ 'Metric',
129
+ ...grossStakingRewards.timestamp.map((ts) => formatTimestamp(ts, 'dd.mm hh:mm', utc ? 'UTC' : 'local')),
130
+ ],
131
+ },
132
+ csvPath: csv,
133
+ });
134
+ });
135
+ metricsRead
136
+ .command('report-data')
137
+ .description('get report data for Vault from N last reports')
138
+ .argument('<count>', 'count of reports', stringToNumber)
139
+ .option('-v, --vault <string>', 'vault address')
140
+ .option('-g, --gateway', 'ipfs gateway url')
141
+ .option('--no-utc', 'do not use UTC time zone')
142
+ .action(async (count, { vault, gateway, utc }) => {
143
+ const { vault: vaultAddress } = await chooseVaultAndGetDashboard({ vault });
144
+ await checkQuarantine(vaultAddress);
145
+ const lazyOracleContract = await getLazyOracleContract();
146
+ const [_vaultsDataTimestamp, _vaultsDataRefSlot, _vaultsDataTreeRoot, vaultsDataReportCid,] = await callReadMethod(lazyOracleContract, 'latestReportData');
147
+ const { cacheUse } = program.opts();
148
+ const history = await getVaultReportHistory({
149
+ vault: vaultAddress,
150
+ cid: vaultsDataReportCid,
151
+ limit: count,
152
+ direction: 'asc',
153
+ gateway,
154
+ }, cacheUse);
155
+ logResult({
156
+ data: [
157
+ ['Vault Address', ...history.map((r) => r.data.vaultAddress)],
158
+ ['Total Value, WEI', ...history.map((r) => r.data.totalValueWei)],
159
+ ['Fee, WEI', ...history.map((r) => r.data.fee)],
160
+ [
161
+ 'Liability Shares, WEI',
162
+ ...history.map((r) => r.data.liabilityShares),
163
+ ],
164
+ [
165
+ 'Slashing Reserve, WEI',
166
+ ...history.map((r) => r.data.slashingReserve),
167
+ ],
168
+ ['In/Out Delta, WEI', ...history.map((r) => r.extraData.inOutDelta)],
169
+ ['Prev Fee, WEI', ...history.map((r) => r.extraData.prevFee)],
170
+ ['Infra Fee, WEI', ...history.map((r) => r.extraData.infraFee)],
171
+ ['Liquidity Fee, WEI', ...history.map((r) => r.extraData.liquidityFee)],
172
+ [
173
+ 'Reservation Fee, WEI',
174
+ ...history.map((r) => r.extraData.reservationFee),
175
+ ],
176
+ ['Timestamp', ...history.map((r) => r.timestamp)],
177
+ ['CID', ...history.map((r) => r.cid)],
119
178
  ],
120
179
  params: {
121
180
  head: [
122
181
  'Metric',
123
- ...grossStakingRewards.timestamp.map((ts) => formatTimestamp(ts, 'dd.mm hh:mm')),
182
+ ...history.map((r) => formatTimestamp(r.timestamp, 'dd.mm hh:mm', utc ? 'UTC' : 'local')),
124
183
  ],
125
184
  },
126
185
  });
@@ -137,7 +196,7 @@ metricsRead
137
196
  });
138
197
  await checkQuarantine(vaultAddress);
139
198
  const lazyOracleContract = await getLazyOracleContract();
140
- const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(lazyOracleContract, 'latestReportData');
199
+ const [_vaultsDataTimestamp, _vaultsDataRefSlot, _vaultsDataTreeRoot, vaultsDataReportCid,] = await callReadMethod(lazyOracleContract, 'latestReportData');
141
200
  const { cacheUse } = program.opts();
142
201
  if (simplified) {
143
202
  await renderSimpleCharts({
@@ -168,7 +227,7 @@ metricsRead
168
227
  });
169
228
  await checkQuarantine(vaultAddress);
170
229
  const lazyOracleContract = await getLazyOracleContract();
171
- const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(lazyOracleContract, 'latestReportData');
230
+ const [_vaultsDataTimestamp, _vaultsDataRefSlot, _vaultsDataTreeRoot, vaultsDataReportCid,] = await callReadMethod(lazyOracleContract, 'latestReportData');
172
231
  const { cacheUse } = program.opts();
173
232
  const chartsData = await fetchRewardsChartsData({
174
233
  cid: vaultsDataReportCid,
@@ -1 +1 @@
1
- {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../../programs/use-cases/metrics/read.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../../programs/use-cases/metrics/read.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Option } from 'commander';
2
2
  import { program } from '../../../command/index.js';
3
- import { callReadMethod, getAllVaultsReports, getCommandsJson, getVaultReport, logInfo, getReportProofByVault, callReadMethodSilent, fetchIPFS, } from '../../../utils/index.js';
3
+ import { getAllVaultsReports, getCommandsJson, getVaultReport, logInfo, getReportProofByVault, callReadMethodSilent, fetchIPFS, logTable, } from '../../../utils/index.js';
4
4
  import { getLazyOracleContract } from '../../../contracts/index.js';
5
5
  import { checkQuarantine, chooseVaultAndGetDashboard } from '../../../features/index.js';
6
6
  import { report } from './main.js';
@@ -19,8 +19,15 @@ reportRead
19
19
  .description('get the latest report data')
20
20
  .action(async () => {
21
21
  const lazyOracleContract = await getLazyOracleContract();
22
- const [timestamp, root, cid] = await callReadMethod(lazyOracleContract, 'latestReportData');
23
- logInfo(timestamp, root, cid);
22
+ const [timestamp, refSlot, root, cid] = await callReadMethodSilent(lazyOracleContract, 'latestReportData');
23
+ logTable({
24
+ data: [
25
+ ['Timestamp', timestamp],
26
+ ['Ref Slot', refSlot],
27
+ ['Root', root],
28
+ ['CID', cid],
29
+ ],
30
+ });
24
31
  });
25
32
  reportRead
26
33
  .command('by-vault')
@@ -31,7 +38,7 @@ reportRead
31
38
  const { vault: vaultAddress } = await chooseVaultAndGetDashboard({ vault });
32
39
  await checkQuarantine(vaultAddress);
33
40
  const lazyOracleContract = await getLazyOracleContract();
34
- const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethodSilent(lazyOracleContract, 'latestReportData');
41
+ const [_vaultsDataTimestamp, _vaultsDataRefSlot, _vaultsDataTreeRoot, vaultsDataReportCid,] = await callReadMethodSilent(lazyOracleContract, 'latestReportData');
35
42
  const { cacheUse } = program.opts();
36
43
  const report = await getVaultReport({
37
44
  vault: vaultAddress,
@@ -54,7 +61,7 @@ reportRead
54
61
  const { vault: vaultAddress } = await chooseVaultAndGetDashboard({ vault });
55
62
  await checkQuarantine(vaultAddress);
56
63
  const lazyOracleContract = await getLazyOracleContract();
57
- const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethodSilent(lazyOracleContract, 'latestReportData');
64
+ const [_vaultsDataTimestamp, _vaultsDataRefSlot, _vaultsDataTreeRoot, vaultsDataReportCid,] = await callReadMethodSilent(lazyOracleContract, 'latestReportData');
58
65
  const { cacheUse } = program.opts();
59
66
  const proof = await getReportProofByVault({
60
67
  vault: vaultAddress,
@@ -74,7 +81,7 @@ reportRead
74
81
  .option('-g, --gateway', 'ipfs gateway url')
75
82
  .action(async ({ gateway }) => {
76
83
  const lazyOracleContract = await getLazyOracleContract();
77
- const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethodSilent(lazyOracleContract, 'latestReportData');
84
+ const [_vaultsDataTimestamp, _vaultsDataRefSlot, _vaultsDataTreeRoot, vaultsDataReportCid,] = await callReadMethodSilent(lazyOracleContract, 'latestReportData');
78
85
  const { cacheUse } = program.opts();
79
86
  const allVaultsReports = await getAllVaultsReports({
80
87
  cid: vaultsDataReportCid,
@@ -93,7 +100,7 @@ reportRead
93
100
  .option('-u, --url', 'ipfs gateway url')
94
101
  .action(async ({ url }) => {
95
102
  const lazyOracleContract = await getLazyOracleContract();
96
- const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethodSilent(lazyOracleContract, 'latestReportData');
103
+ const [_vaultsDataTimestamp, _vaultsDataRefSlot, _vaultsDataTreeRoot, vaultsDataReportCid,] = await callReadMethodSilent(lazyOracleContract, 'latestReportData');
97
104
  logInfo({
98
105
  vaultsDataTreeRoot: _vaultsDataTreeRoot,
99
106
  vaultsDataTimestamp: _vaultsDataTimestamp,
@@ -1 +1 @@
1
- {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../../programs/use-cases/report/read.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../../programs/use-cases/report/read.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { Option } from 'commander';
2
- import cliProgress from 'cli-progress';
3
2
  import { getLazyOracleContract } from '../../../contracts/index.js';
4
- import { callWriteMethodWithReceipt, callReadMethod, logInfo, getCommandsJson, logError, withInterruptHandling, submitReport, getReportProofByVaults, getReportProofs, } from '../../../utils/index.js';
3
+ import { callWriteMethodWithReceiptBatchPayloads, callReadMethod, logInfo, getCommandsJson, withInterruptHandling, submitReport, getReportProofByVaults, getReportProofs, logError, } from '../../../utils/index.js';
5
4
  import { chooseVaultAndGetDashboard, checkQuarantine } from '../../../features/index.js';
6
5
  import { report } from './main.js';
7
6
  const reportWrite = report
@@ -32,42 +31,30 @@ reportWrite
32
31
  .option('-e, --skip-error', 'skip error')
33
32
  .action(withInterruptHandling(async (vaults, { gateway, skipError }) => {
34
33
  const lazyOracleContract = await getLazyOracleContract();
35
- const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(lazyOracleContract, 'latestReportData');
34
+ const [_vaultsDataTimestamp, _vaultsDataRefSlot, _vaultsDataTreeRoot, vaultsDataReportCid,] = await callReadMethod(lazyOracleContract, 'latestReportData');
36
35
  const proofs = await getReportProofByVaults({
37
36
  cid: vaultsDataReportCid,
38
37
  gateway,
39
38
  vaults,
40
39
  });
41
- const progressBar = new cliProgress.SingleBar({
42
- format: 'Progress |{bar}| {percentage}% || {value}/{total} Vaults Updated',
43
- stopOnComplete: true,
44
- }, cliProgress.Presets.shades_classic);
45
- progressBar.start(vaults.length, 0);
46
- for (const [_index, vault] of vaults.entries()) {
47
- const vaultReport = proofs.find((v) => v.data.vaultAddress === vault);
48
- if (!vaultReport) {
49
- logError(`Vault ${vault} not found`);
50
- continue;
51
- }
52
- await checkQuarantine(vault);
53
- await callWriteMethodWithReceipt({
54
- contract: lazyOracleContract,
55
- methodName: 'updateVaultData',
56
- payload: [
57
- vault,
58
- BigInt(vaultReport.data.totalValueWei),
59
- BigInt(vaultReport.data.fee),
60
- BigInt(vaultReport.data.liabilityShares),
61
- BigInt(vaultReport.data.slashingReserve),
62
- vaultReport.proof,
63
- ],
64
- withSpinner: false,
65
- silent: true,
66
- skipError,
67
- });
68
- progressBar.increment();
69
- }
70
- progressBar.stop();
40
+ const payloads = proofs.map((report) => [
41
+ report.data.vaultAddress,
42
+ BigInt(report.data.totalValueWei),
43
+ BigInt(report.data.fee),
44
+ BigInt(report.data.liabilityShares),
45
+ BigInt(report.data.maxLiabilityShares),
46
+ BigInt(report.data.slashingReserve),
47
+ report.proof,
48
+ ]);
49
+ // TODO: await checkQuarantine(vault);
50
+ await callWriteMethodWithReceiptBatchPayloads({
51
+ contract: lazyOracleContract,
52
+ methodName: 'updateVaultData',
53
+ payloads,
54
+ withSpinner: false,
55
+ silent: true,
56
+ skipError,
57
+ });
71
58
  }));
72
59
  reportWrite
73
60
  .command('submit-all')
@@ -76,41 +63,37 @@ reportWrite
76
63
  .option('-e, --skip-error', 'skip error')
77
64
  .action(withInterruptHandling(async ({ gateway, skipError }) => {
78
65
  const lazyOracleContract = await getLazyOracleContract();
79
- const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(lazyOracleContract, 'latestReportData');
66
+ const [_vaultsDataTimestamp, _vaultsDataRefSlot, _vaultsDataTreeRoot, vaultsDataReportCid,] = await callReadMethod(lazyOracleContract, 'latestReportData');
80
67
  const proofs = await getReportProofs({
81
68
  cid: vaultsDataReportCid,
82
69
  gateway,
83
70
  });
84
- const progressBar = new cliProgress.SingleBar({
85
- format: 'Progress |{bar}| {percentage}% || {value}/{total} Vaults Updated',
86
- }, cliProgress.Presets.shades_classic);
87
- progressBar.start(proofs.length, 0);
88
- for (const [_index, report] of proofs.entries()) {
89
- try {
90
- await callWriteMethodWithReceipt({
91
- contract: lazyOracleContract,
92
- methodName: 'updateVaultData',
93
- payload: [
94
- report.data.vaultAddress,
95
- BigInt(report.data.totalValueWei),
96
- BigInt(report.data.fee),
97
- BigInt(report.data.liabilityShares),
98
- BigInt(report.data.slashingReserve),
99
- report.proof,
100
- ],
101
- withSpinner: false,
102
- silent: true,
103
- skipError,
104
- });
105
- }
106
- catch (err) {
107
- if ('shortMessage' in err)
108
- logError(err.shortMessage, 'Error when submitting report');
109
- else
110
- logError('Error when submitting report');
111
- }
112
- progressBar.increment();
71
+ const payloads =
72
+ // eslint-disable-next-line sonarjs/no-identical-functions
73
+ proofs.map((report) => [
74
+ report.data.vaultAddress,
75
+ BigInt(report.data.totalValueWei),
76
+ BigInt(report.data.fee),
77
+ BigInt(report.data.liabilityShares),
78
+ BigInt(report.data.maxLiabilityShares),
79
+ BigInt(report.data.slashingReserve),
80
+ report.proof,
81
+ ]);
82
+ try {
83
+ await callWriteMethodWithReceiptBatchPayloads({
84
+ contract: lazyOracleContract,
85
+ methodName: 'updateVaultData',
86
+ payloads,
87
+ withSpinner: false,
88
+ silent: true,
89
+ skipError,
90
+ });
91
+ }
92
+ catch (err) {
93
+ if ('shortMessage' in err)
94
+ logError(err.shortMessage, 'Error when submitting report');
95
+ else
96
+ logError('Error when submitting report');
113
97
  }
114
- progressBar.stop();
115
98
  }));
116
99
  //# sourceMappingURL=write.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"write.js","sourceRoot":"","sources":["../../../../programs/use-cases/report/write.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["../../../../programs/use-cases/report/write.ts"],"names":[],"mappings":"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"}