@lidofinance/lsv-cli 1.0.0-alpha.13 → 1.0.0-alpha.15

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 (143) hide show
  1. package/README.md +244 -120
  2. package/dist/abi/CLProofVerifier.js +279 -0
  3. package/dist/abi/CLProofVerifier.js.map +1 -0
  4. package/dist/abi/Dashboard.js +1060 -942
  5. package/dist/abi/Dashboard.js.map +1 -1
  6. package/dist/abi/Delegation.js +1260 -1129
  7. package/dist/abi/Delegation.js.map +1 -1
  8. package/dist/abi/LidoLocator.js +311 -270
  9. package/dist/abi/LidoLocator.js.map +1 -1
  10. package/dist/abi/PredepositGuarantee.js +1733 -0
  11. package/dist/abi/PredepositGuarantee.js.map +1 -0
  12. package/dist/abi/StakingVault.js +723 -528
  13. package/dist/abi/StakingVault.js.map +1 -1
  14. package/dist/abi/VaultFactory.js +164 -144
  15. package/dist/abi/VaultFactory.js.map +1 -1
  16. package/dist/abi/VaultHubViewer.js +297 -0
  17. package/dist/abi/VaultHubViewer.js.map +1 -0
  18. package/dist/abi/index.js +12 -9
  19. package/dist/abi/index.js.map +1 -1
  20. package/dist/configs/constants.js +2 -2
  21. package/dist/configs/constants.js.map +1 -1
  22. package/dist/contracts/clProofVerifier.js +29 -0
  23. package/dist/contracts/clProofVerifier.js.map +1 -0
  24. package/dist/contracts/dashboard.js.map +1 -1
  25. package/dist/contracts/index.js +12 -9
  26. package/dist/contracts/index.js.map +1 -1
  27. package/dist/contracts/locator.js +2 -2
  28. package/dist/contracts/locator.js.map +1 -1
  29. package/dist/contracts/pdg.js +17 -0
  30. package/dist/contracts/pdg.js.map +1 -0
  31. package/dist/contracts/vault-factory.js +5 -9
  32. package/dist/contracts/vault-factory.js.map +1 -1
  33. package/dist/contracts/vault-hub-viewer.js +14 -0
  34. package/dist/contracts/vault-hub-viewer.js.map +1 -0
  35. package/dist/features/dashboard-delegation.js +4 -1
  36. package/dist/features/dashboard-delegation.js.map +1 -1
  37. package/dist/features/vault-factory.js +6 -10
  38. package/dist/features/vault-factory.js.map +1 -1
  39. package/dist/features/voting.js +6 -14
  40. package/dist/features/voting.js.map +1 -1
  41. package/dist/index.js +6 -3
  42. package/dist/index.js.map +1 -1
  43. package/dist/programs/account.js +3 -1
  44. package/dist/programs/account.js.map +1 -1
  45. package/dist/programs/dashboard/config.js +65 -0
  46. package/dist/programs/dashboard/config.js.map +1 -0
  47. package/dist/programs/dashboard/index.js +4 -0
  48. package/dist/programs/dashboard/index.js.map +1 -0
  49. package/dist/programs/dashboard/main.js +12 -0
  50. package/dist/programs/dashboard/main.js.map +1 -0
  51. package/dist/programs/dashboard/read.js +25 -0
  52. package/dist/programs/dashboard/read.js.map +1 -0
  53. package/dist/programs/{dashboard.js → dashboard/write.js} +78 -136
  54. package/dist/programs/dashboard/write.js.map +1 -0
  55. package/dist/programs/delegation/config.js +33 -0
  56. package/dist/programs/delegation/config.js.map +1 -0
  57. package/dist/programs/delegation/index.js +4 -0
  58. package/dist/programs/delegation/index.js.map +1 -0
  59. package/dist/programs/delegation/main.js +12 -0
  60. package/dist/programs/delegation/main.js.map +1 -0
  61. package/dist/programs/delegation/read.js +98 -0
  62. package/dist/programs/delegation/read.js.map +1 -0
  63. package/dist/programs/delegation/write.js +327 -0
  64. package/dist/programs/delegation/write.js.map +1 -0
  65. package/dist/programs/index.js +7 -4
  66. package/dist/programs/index.js.map +1 -1
  67. package/dist/programs/pdg/config.js +2 -0
  68. package/dist/programs/pdg/config.js.map +1 -0
  69. package/dist/programs/pdg/index.js +4 -0
  70. package/dist/programs/pdg/index.js.map +1 -0
  71. package/dist/programs/pdg/main.js +12 -0
  72. package/dist/programs/pdg/main.js.map +1 -0
  73. package/dist/programs/pdg/read.js +7 -0
  74. package/dist/programs/pdg/read.js.map +1 -0
  75. package/dist/programs/pdg/write.js +64 -0
  76. package/dist/programs/pdg/write.js.map +1 -0
  77. package/dist/programs/pdg-helpers.js +73 -0
  78. package/dist/programs/pdg-helpers.js.map +1 -0
  79. package/dist/programs/vault/config.js +66 -0
  80. package/dist/programs/vault/config.js.map +1 -0
  81. package/dist/programs/vault/index.js +4 -0
  82. package/dist/programs/vault/index.js.map +1 -0
  83. package/dist/programs/vault/main.js +10 -0
  84. package/dist/programs/vault/main.js.map +1 -0
  85. package/dist/programs/vault/read.js +53 -0
  86. package/dist/programs/vault/read.js.map +1 -0
  87. package/dist/programs/vault/write.js +123 -0
  88. package/dist/programs/vault/write.js.map +1 -0
  89. package/dist/programs/vault-factory/config.js +2 -0
  90. package/dist/programs/vault-factory/config.js.map +1 -0
  91. package/dist/programs/vault-factory/index.js +4 -0
  92. package/dist/programs/vault-factory/index.js.map +1 -0
  93. package/dist/programs/vault-factory/main.js +12 -0
  94. package/dist/programs/vault-factory/main.js.map +1 -0
  95. package/dist/programs/vault-factory/read.js +26 -0
  96. package/dist/programs/vault-factory/read.js.map +1 -0
  97. package/dist/programs/{vault-factory.js → vault-factory/write.js} +22 -37
  98. package/dist/programs/vault-factory/write.js.map +1 -0
  99. package/dist/programs/vault-hub-viewer.js +52 -0
  100. package/dist/programs/vault-hub-viewer.js.map +1 -0
  101. package/dist/programs/vault-hub.js +20 -52
  102. package/dist/programs/vault-hub.js.map +1 -1
  103. package/dist/programs/voting.js +11 -33
  104. package/dist/programs/voting.js.map +1 -1
  105. package/dist/utils/contract.js +63 -2
  106. package/dist/utils/contract.js.map +1 -1
  107. package/dist/utils/get-commands.js +11 -0
  108. package/dist/utils/get-commands.js.map +1 -0
  109. package/dist/utils/index.js +5 -0
  110. package/dist/utils/index.js.map +1 -1
  111. package/dist/utils/prompts/default.js +17 -0
  112. package/dist/utils/prompts/default.js.map +1 -0
  113. package/dist/utils/prompts/delegation-dashboard.js +29 -0
  114. package/dist/utils/prompts/delegation-dashboard.js.map +1 -0
  115. package/dist/utils/prompts/index.js +4 -0
  116. package/dist/utils/prompts/index.js.map +1 -0
  117. package/dist/utils/prompts/predeposit-guarantee.js +25 -0
  118. package/dist/utils/prompts/predeposit-guarantee.js.map +1 -0
  119. package/dist/utils/proof/create-proof.js +62 -0
  120. package/dist/utils/proof/create-proof.js.map +1 -0
  121. package/dist/utils/proof/first-validator-gindex.js +26 -0
  122. package/dist/utils/proof/first-validator-gindex.js.map +1 -0
  123. package/dist/utils/proof/index.js +4 -0
  124. package/dist/utils/proof/index.js.map +1 -0
  125. package/dist/utils/proof/merkle-utils.js +131 -0
  126. package/dist/utils/proof/merkle-utils.js.map +1 -0
  127. package/dist/utils/proof/proofs.js +52 -0
  128. package/dist/utils/proof/proofs.js.map +1 -0
  129. package/dist/utils/read-programs-by-abi.js +83 -0
  130. package/dist/utils/read-programs-by-abi.js.map +1 -0
  131. package/dist/utils/spinner/index.js +2 -0
  132. package/dist/utils/spinner/index.js.map +1 -0
  133. package/dist/utils/spinner/spinners.js +16 -0
  134. package/dist/utils/spinner/spinners.js.map +1 -0
  135. package/dist/utils/spinner/spinners.json +119 -0
  136. package/dist/version/index.js +1 -1
  137. package/package.json +11 -4
  138. package/dist/programs/dashboard.js.map +0 -1
  139. package/dist/programs/delegation.js +0 -581
  140. package/dist/programs/delegation.js.map +0 -1
  141. package/dist/programs/vault-factory.js.map +0 -1
  142. package/dist/programs/vault.js +0 -375
  143. package/dist/programs/vault.js.map +0 -1
@@ -1,581 +0,0 @@
1
- import { program } from '../command/index.js';
2
- import { getDelegationContract, getStakingVaultContract } from '../contracts/index.js';
3
- import { callWriteMethod, callReadMethod } from '../utils/index.js';
4
- import { getBaseInfo } from '../features/index.js';
5
- const delegation = program
6
- .command('delegation')
7
- .description('delegation contract');
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
- try {
15
- const CURATOR_ROLE = await contract.read.CURATOR_ROLE();
16
- const NODE_OPERATOR_MANAGER_ROLE = await contract.read.NODE_OPERATOR_MANAGER_ROLE();
17
- const NODE_OPERATOR_FEE_CLAIMER_ROLE = await contract.read.NODE_OPERATOR_FEE_CLAIMER_ROLE();
18
- const FUND_ROLE = await contract.read.FUND_ROLE();
19
- const WITHDRAW_ROLE = await contract.read.WITHDRAW_ROLE();
20
- const MINT_ROLE = await contract.read.MINT_ROLE();
21
- const BURN_ROLE = await contract.read.BURN_ROLE();
22
- const REBALANCE_ROLE = await contract.read.REBALANCE_ROLE();
23
- const PAUSE_BEACON_CHAIN_DEPOSITS_ROLE = await contract.read.PAUSE_BEACON_CHAIN_DEPOSITS_ROLE();
24
- const RESUME_BEACON_CHAIN_DEPOSITS_ROLE = await contract.read.RESUME_BEACON_CHAIN_DEPOSITS_ROLE();
25
- const REQUEST_VALIDATOR_EXIT_ROLE = await contract.read.REQUEST_VALIDATOR_EXIT_ROLE();
26
- const VOLUNTARY_DISCONNECT_ROLE = await contract.read.VOLUNTARY_DISCONNECT_ROLE();
27
- const payload = {
28
- CURATOR_ROLE,
29
- NODE_OPERATOR_MANAGER_ROLE,
30
- NODE_OPERATOR_FEE_CLAIMER_ROLE,
31
- FUND_ROLE,
32
- WITHDRAW_ROLE,
33
- MINT_ROLE,
34
- BURN_ROLE,
35
- REBALANCE_ROLE,
36
- PAUSE_BEACON_CHAIN_DEPOSITS_ROLE,
37
- RESUME_BEACON_CHAIN_DEPOSITS_ROLE,
38
- REQUEST_VALIDATOR_EXIT_ROLE,
39
- VOLUNTARY_DISCONNECT_ROLE,
40
- };
41
- console.table(Object.entries(payload));
42
- }
43
- catch (err) {
44
- if (err instanceof Error) {
45
- console.info('Error when getting roles:\n', err.message);
46
- }
47
- }
48
- });
49
- delegation
50
- .command('base-info')
51
- .description('get delegation base info')
52
- .argument('<address>', 'delegation address')
53
- .action(async (address) => {
54
- const contract = getDelegationContract(address);
55
- await getBaseInfo(contract);
56
- });
57
- delegation
58
- .command('voting-lifetime')
59
- .description("get committee's voting lifetime period")
60
- .argument('<address>', 'delegation contract address')
61
- .action(async (address) => {
62
- const contract = getDelegationContract(address);
63
- await callReadMethod(contract, 'voteLifetime');
64
- });
65
- delegation
66
- .command('is-healthy')
67
- .description('get vault healthy info')
68
- .argument('<address>', 'vault address')
69
- .action(async (address) => {
70
- const contract = getDelegationContract(address);
71
- try {
72
- const valuation = await contract.read.valuation();
73
- const curatorUnclaimedFee = await contract.read.curatorUnclaimedFee();
74
- const nodeOperatorUnclaimedFee = await contract.read.nodeOperatorUnclaimedFee();
75
- const minted = await contract.read.sharesMinted();
76
- const { vault } = await contract.read.vaultSocket();
77
- const vaultContract = getStakingVaultContract(vault);
78
- const locked = await vaultContract.read.locked();
79
- const reserved = locked + curatorUnclaimedFee + nodeOperatorUnclaimedFee;
80
- const valuationPerc = (valuation / (reserved + minted)) * 100n;
81
- const isHealthy = valuationPerc >= 100n;
82
- console.table({
83
- 'Vault Healthy': isHealthy,
84
- Valuation: valuation,
85
- 'Curator Unclaimed Fee': curatorUnclaimedFee,
86
- 'Node Operator Unclaimed Fee': nodeOperatorUnclaimedFee,
87
- Minted: minted,
88
- Reserved: reserved,
89
- });
90
- }
91
- catch (err) {
92
- if (err instanceof Error) {
93
- console.info('Error when getting info:\n', err.message);
94
- }
95
- }
96
- });
97
- delegation
98
- .command('voting-info')
99
- .description('get committee votes')
100
- .argument('<address>', 'delegation contract address')
101
- .argument('<callId>', 'voting id')
102
- .argument('<role>', 'role that voted')
103
- .action(async (address, callId, role) => {
104
- const contract = getDelegationContract(address);
105
- await callReadMethod(contract, 'votings', [callId, role]);
106
- });
107
- delegation
108
- .command('cf')
109
- .description('Curator fee in basis points')
110
- .argument('<address>', 'delegation contract address')
111
- .action(async (address) => {
112
- const contract = getDelegationContract(address);
113
- await callReadMethod(contract, 'curatorFeeBP');
114
- });
115
- delegation
116
- .command('cf-report')
117
- .description('The last report for which curator fee was claimed. Updated on each claim.')
118
- .argument('<address>', 'delegation contract address')
119
- .action(async (address) => {
120
- const contract = getDelegationContract(address);
121
- await callReadMethod(contract, 'curatorFeeClaimedReport');
122
- });
123
- delegation
124
- .command('cf-unclaimed')
125
- .description(`Returns the accumulated unclaimed curator fee in ether,
126
- calculated as: U = (R * F) / T
127
- where:
128
- - U is the curator unclaimed fee;
129
- - R is the StakingVault rewards accrued since the last curator fee claim;
130
- - F is curatorFeeBP
131
- - T is the total basis points, 10,000.`)
132
- .argument('<address>', 'delegation contract address')
133
- .action(async (address) => {
134
- const contract = getDelegationContract(address);
135
- await callReadMethod(contract, 'curatorUnclaimedFee');
136
- });
137
- delegation
138
- .command('cf-set')
139
- .description('sets the curator fee')
140
- .argument('<address>', 'delegation contract address')
141
- .argument('<newCuratorFee>', 'curator fee in basis points')
142
- .action(async (address, newCuratorFee) => {
143
- const contract = getDelegationContract(address);
144
- await callWriteMethod(contract, 'setCuratorFeeBP', [BigInt(newCuratorFee)]);
145
- });
146
- delegation
147
- .command('cf-claim')
148
- .description('claims the curator fee')
149
- .argument('<address>', 'delegation contract address')
150
- .argument('<recipient>', 'address to which the curator fee will be sent')
151
- .action(async (address, recipient) => {
152
- const contract = getDelegationContract(address);
153
- await callWriteMethod(contract, 'claimCuratorFee', [recipient]);
154
- });
155
- delegation
156
- .command('nof')
157
- .description('Node operator fee in basis points')
158
- .argument('<address>', 'delegation contract address')
159
- .action(async (address) => {
160
- const contract = getDelegationContract(address);
161
- try {
162
- const nodeOperatorFeeBP = await contract.read.nodeOperatorFeeBP();
163
- console.table({ 'Node Operator Fee BP:': nodeOperatorFeeBP });
164
- }
165
- catch (err) {
166
- if (err instanceof Error) {
167
- console.info('Error when getting Node Operator Fee BP:\n', err.message);
168
- }
169
- }
170
- });
171
- delegation
172
- .command('nof-report')
173
- .description('The last report for which node operator fee was claimed. Updated on each claim.')
174
- .argument('<address>', 'delegation contract address')
175
- .action(async (address) => {
176
- const contract = getDelegationContract(address);
177
- await callReadMethod(contract, 'nodeOperatorFeeClaimedReport');
178
- });
179
- delegation
180
- .command('nof-unclaimed')
181
- .description(`Returns the accumulated unclaimed node operator fee in ether,
182
- calculated as: U = (R * F) / T
183
- where:
184
- - U is the node operator unclaimed fee;
185
- - R is the StakingVault rewards accrued since the last node operator fee claim;
186
- - F is nodeOperatorFeeBP
187
- - T is the total basis points, 10,000.`)
188
- .argument('<address>', 'delegation contract address')
189
- .action(async (address) => {
190
- const contract = getDelegationContract(address);
191
- await callReadMethod(contract, 'nodeOperatorUnclaimedFee');
192
- });
193
- delegation
194
- .command('nof-set')
195
- .description('sets the node operator fee')
196
- .argument('<address>', 'delegation contract address')
197
- .argument('<newNodeOperatorFeeBP>', 'The new node operator fee in basis points')
198
- .action(async (address, newNodeOperatorFeeBP) => {
199
- const contract = getDelegationContract(address);
200
- await callWriteMethod(contract, 'setNodeOperatorFeeBP', [
201
- BigInt(newNodeOperatorFeeBP),
202
- ]);
203
- });
204
- delegation
205
- .command('nof-claim')
206
- .description('claims the node operator fee')
207
- .argument('<address>', 'delegation contract address')
208
- .argument('<recipient>', 'address to which the node operator fee will be sent')
209
- .action(async (address, recipient) => {
210
- const contract = getDelegationContract(address);
211
- await callWriteMethod(contract, 'claimNodeOperatorFee', [recipient]);
212
- });
213
- delegation
214
- .command('unreserved')
215
- .description('returns the unreserved amount of ether')
216
- .argument('<address>', 'delegation contract address')
217
- .action(async (address) => {
218
- const contract = getDelegationContract(address);
219
- await callReadMethod(contract, 'unreserved');
220
- });
221
- delegation
222
- .command('vc')
223
- .description('returns the voting committee')
224
- .argument('<address>', 'delegation contract address')
225
- .action(async (address) => {
226
- const contract = getDelegationContract(address);
227
- const committeeList = await callReadMethod(contract, 'votingCommittee');
228
- const committee = {
229
- CURATOR_ROLE: committeeList[0],
230
- NODE_OPERATOR_MANAGER_ROLE: committeeList[1],
231
- };
232
- console.table({ committee });
233
- });
234
- delegation
235
- .command('fund')
236
- .description('funds the StakingVault with ether')
237
- .argument('<address>', 'delegation contract address')
238
- .argument('<wei>', 'ether to fund (in WEI)')
239
- .action(async (address, ether) => {
240
- const contract = getDelegationContract(address);
241
- await callWriteMethod(contract, 'fund', [], BigInt(ether));
242
- });
243
- delegation
244
- .command('withdraw')
245
- .description('withdraws ether from the StakingVault')
246
- .argument('<address>', 'delegation contract address')
247
- .argument('<recipient>', 'address to which the ether will be sent')
248
- .argument('<wei>', 'ether to found (in WEI)')
249
- .action(async (address, recipient, ether) => {
250
- const contract = getDelegationContract(address);
251
- await callWriteMethod(contract, 'withdraw', [recipient, BigInt(ether)]);
252
- });
253
- delegation
254
- .command('rebalance')
255
- .description('rebalances the StakingVault with a given amount of ether')
256
- .argument('<address>', 'delegation contract address')
257
- .argument('<ether>', 'amount of ether to rebalance with')
258
- .action(async (address, ether) => {
259
- const contract = getDelegationContract(address);
260
- await callWriteMethod(contract, 'rebalanceVault', [BigInt(ether)]);
261
- });
262
- delegation
263
- .command('set-vote-lt')
264
- .description('sets the vote lifetime')
265
- .argument('<address>', 'delegation contract address')
266
- .argument('<newVoteLifetime>', 'new vote lifetime in seconds')
267
- .action(async (address, newVoteLifetime) => {
268
- const contract = getDelegationContract(address);
269
- await callWriteMethod(contract, 'setVoteLifetime', [
270
- BigInt(newVoteLifetime),
271
- ]);
272
- });
273
- // TODO: test without voting
274
- delegation
275
- .command('t-ownership')
276
- .description('transfers the ownership of the StakingVault')
277
- .argument('<address>', 'delegation contract address')
278
- .argument('<newOwner>', 'address to which the ownership will be transferred')
279
- .action(async (address, newOwner) => {
280
- const contract = getDelegationContract(address);
281
- await callWriteMethod(contract, 'transferStakingVaultOwnership', [
282
- newOwner,
283
- ]);
284
- });
285
- delegation
286
- .command('disconnect')
287
- .description('voluntarily disconnects a StakingVault from VaultHub')
288
- .argument('<address>', 'delegation contract address')
289
- .action(async (address) => {
290
- const contract = getDelegationContract(address);
291
- await callWriteMethod(contract, 'voluntaryDisconnect', []);
292
- });
293
- delegation
294
- .command('deposit-pause')
295
- .description('Pauses deposits to beacon chain from the StakingVault.')
296
- .argument('<address>', 'delegation contract address')
297
- .action(async (address) => {
298
- const contract = getDelegationContract(address);
299
- await callWriteMethod(contract, 'pauseBeaconChainDeposits', []);
300
- });
301
- delegation
302
- .command('deposit-resume')
303
- .description('Resumes deposits to beacon chain from the StakingVault.')
304
- .argument('<address>', 'delegation contract address')
305
- .action(async (address) => {
306
- const contract = getDelegationContract(address);
307
- await callWriteMethod(contract, 'resumeBeaconChainDeposits', []);
308
- });
309
- delegation
310
- .command('vault')
311
- .description('vault info')
312
- .argument('<address>', 'delegation address')
313
- .action(async (address) => {
314
- const contract = getDelegationContract(address);
315
- await callReadMethod(contract, 'vaultSocket');
316
- });
317
- delegation
318
- .command('s-limit')
319
- .description('shares limit')
320
- .argument('<address>', 'delegation address')
321
- .action(async (address) => {
322
- const contract = getDelegationContract(address);
323
- await callReadMethod(contract, 'shareLimit');
324
- });
325
- delegation
326
- .command('s-minted')
327
- .description('shares minted')
328
- .argument('<address>', 'delegation address')
329
- .action(async (address) => {
330
- const contract = getDelegationContract(address);
331
- await callReadMethod(contract, 'sharesMinted');
332
- });
333
- delegation
334
- .command('reserve-ratio')
335
- .description('vault reserve ratio of the vault')
336
- .argument('<address>', 'delegation address')
337
- .action(async (address) => {
338
- const contract = getDelegationContract(address);
339
- await callReadMethod(contract, 'reserveRatioBP');
340
- });
341
- delegation
342
- .command('t-reserve-ratio')
343
- .description('threshold reserve ratio of the vault')
344
- .argument('<address>', 'delegation address')
345
- .action(async (address) => {
346
- const contract = getDelegationContract(address);
347
- await callReadMethod(contract, 'thresholdReserveRatioBP');
348
- });
349
- delegation
350
- .command('t-fee')
351
- .description('treasury fee basis points')
352
- .argument('<address>', 'delegation address')
353
- .action(async (address) => {
354
- const contract = getDelegationContract(address);
355
- await callReadMethod(contract, 'treasuryFee');
356
- });
357
- delegation
358
- .command('valuation')
359
- .description('valuation of the vault in ether')
360
- .argument('<address>', 'delegation address')
361
- .action(async (address) => {
362
- const contract = getDelegationContract(address);
363
- await callReadMethod(contract, 'valuation');
364
- });
365
- delegation
366
- .command('t-shares')
367
- .description('total of shares that can be minted on the vault')
368
- .argument('<address>', 'delegation address')
369
- .action(async (address) => {
370
- const contract = getDelegationContract(address);
371
- await callReadMethod(contract, 'totalMintableShares');
372
- });
373
- delegation
374
- .command('get-shares')
375
- .description('maximum number of shares that can be minted with deposited ether')
376
- .argument('<address>', 'delegation address')
377
- .argument('<ether>', 'amount of ether to be funded')
378
- .action(async (address, ether) => {
379
- const contract = getDelegationContract(address);
380
- await callReadMethod(contract, 'projectedNewMintableShares', [
381
- BigInt(ether),
382
- ]);
383
- });
384
- delegation
385
- .command('withdrawable-eth')
386
- .description('amount of ether that can be withdrawn from the staking vault')
387
- .argument('<address>', 'delegation address')
388
- .action(async (address) => {
389
- const contract = getDelegationContract(address);
390
- await callReadMethod(contract, 'withdrawableEther');
391
- });
392
- delegation
393
- .command('fund-weth')
394
- .description('funds the staking vault with wrapped ether')
395
- .argument('<address>', 'delegation address')
396
- .argument('<wethAmount>', 'amount of weth to be funded')
397
- .action(async (address, wethAmount) => {
398
- const contract = getDelegationContract(address);
399
- await callWriteMethod(contract, 'fundWeth', [BigInt(wethAmount)]);
400
- });
401
- delegation
402
- .command('withdraw-weth')
403
- .description('withdraws stETH tokens from the staking vault to wrapped ether')
404
- .argument('<address>', 'delegation address')
405
- .argument('<recipient>', 'address of the recipient')
406
- .argument('<ether>', 'amount of ether to withdraw')
407
- .action(async (address, recipient, ether) => {
408
- const contract = getDelegationContract(address);
409
- await callWriteMethod(contract, 'withdrawWETH', [recipient, BigInt(ether)]);
410
- });
411
- delegation
412
- .command('exit')
413
- .description('requests the exit of a validator from the staking vault')
414
- .argument('<address>', 'delegation address')
415
- .argument('<validatorPubKey>', 'public key of the validator to exit')
416
- .action(async (address, validatorPubKey) => {
417
- const contract = getDelegationContract(address);
418
- await callWriteMethod(contract, 'requestValidatorExit', [validatorPubKey]);
419
- });
420
- delegation
421
- .command('mint-shares')
422
- .description('mints stETH tokens backed by the vault to a recipient')
423
- .argument('<address>', 'delegation address')
424
- .argument('<recipient>', 'address of the recipient')
425
- .argument('<amountOfShares>', 'amount of shares to mint')
426
- .action(async (address, recipient, amountOfShares) => {
427
- const contract = getDelegationContract(address);
428
- await callWriteMethod(contract, 'mintShares', [
429
- recipient,
430
- BigInt(amountOfShares),
431
- ]);
432
- });
433
- delegation
434
- .command('mint-steth')
435
- .description('mints stETH tokens backed by the vault to a recipient')
436
- .argument('<address>', 'delegation address')
437
- .argument('<recipient>', 'address of the recipient')
438
- .argument('<amountOfShares>', 'amount of shares to mint')
439
- .action(async (address, recipient, amountOfShares) => {
440
- const contract = getDelegationContract(address);
441
- await callWriteMethod(contract, 'mintStETH', [
442
- recipient,
443
- BigInt(amountOfShares),
444
- ]);
445
- });
446
- delegation
447
- .command('mint-wsteth')
448
- .description('mints wstETH tokens backed by the vault to a recipient')
449
- .argument('<address>', 'delegation address')
450
- .argument('<recipient>', 'address of the recipient')
451
- .argument('<tokens>', 'amount of tokens to mint')
452
- .action(async (address, recipient, tokens) => {
453
- const contract = getDelegationContract(address);
454
- await callWriteMethod(contract, 'mintWstETH', [recipient, BigInt(tokens)]);
455
- });
456
- delegation
457
- .command('burn-shares')
458
- .description('Burns stETH shares from the sender backed by the vault. Expects corresponding amount of stETH approved to this contract')
459
- .argument('<address>', 'delegation address')
460
- .argument('<amountOfShares>', 'amount of shares to burn')
461
- .action(async (address, amountOfShares) => {
462
- const contract = getDelegationContract(address);
463
- await callWriteMethod(contract, 'burnShares', [BigInt(amountOfShares)]);
464
- });
465
- delegation
466
- .command('burn-steth')
467
- .description('Burns stETH shares from the sender backed by the vault. Expects stETH amount approved to this contract.')
468
- .argument('<address>', 'delegation address')
469
- .argument('<amountOfShares>', 'amount of shares to burn')
470
- .action(async (address, amountOfShares) => {
471
- const contract = getDelegationContract(address);
472
- await callWriteMethod(contract, 'burnStETH', [BigInt(amountOfShares)]);
473
- });
474
- delegation
475
- .command('burn-wsteth')
476
- .description('burn wstETH tokens from the sender backed by the vault')
477
- .argument('<address>', 'delegation address')
478
- .argument('<tokens>', 'amount of wstETH tokens to burn')
479
- .action(async (address, tokens) => {
480
- const contract = getDelegationContract(address);
481
- await callWriteMethod(contract, 'burnWstETH', [BigInt(tokens)]);
482
- });
483
- delegation
484
- .command('burn-shares-permit')
485
- .description('Burns stETH tokens (in shares) backed by the vault from the sender using permit (with value in stETH).')
486
- .argument('<address>', 'delegation address')
487
- .argument('<tokens>', 'amount of stETH tokens to burn')
488
- .argument('<permitJSON>', 'JSON data required for the stETH.permit() method to set the allowance')
489
- .action(async (address, tokens, permitJSON) => {
490
- const permit = JSON.parse(permitJSON);
491
- const contract = getDelegationContract(address);
492
- await callWriteMethod(contract, 'burnSharesWithPermit', [
493
- BigInt(tokens),
494
- permit,
495
- ]);
496
- });
497
- delegation
498
- .command('burn-steth-permit')
499
- .description('Burns stETH tokens backed by the vault from the sender using permit.')
500
- .argument('<address>', 'delegation address')
501
- .argument('<tokens>', 'amount of stETH tokens to burn')
502
- .argument('<permitJSON>', 'JSON data required for the stETH.permit() method to set the allowance')
503
- .action(async (address, tokens, permitJSON) => {
504
- const permit = JSON.parse(permitJSON);
505
- const contract = getDelegationContract(address);
506
- await callWriteMethod(contract, 'burnStETHWithPermit', [
507
- BigInt(tokens),
508
- permit,
509
- ]);
510
- });
511
- delegation
512
- .command('burn-wsteth-permit')
513
- .description('burn wstETH tokens from the sender backed by the vault using EIP-2612 Permit')
514
- .argument('<address>', 'delegation address')
515
- .argument('<tokens>', 'amount of wstETH tokens to burn')
516
- .argument('<permitJSON>', 'JSON data required for the wstETH.permit() method to set the allowance')
517
- .action(async (address, tokens, permitJSON) => {
518
- const permit = JSON.parse(permitJSON);
519
- const contract = getDelegationContract(address);
520
- await callWriteMethod(contract, 'burnWstETHWithPermit', [
521
- BigInt(tokens),
522
- permit,
523
- ]);
524
- });
525
- delegation
526
- .command('recover-erc20')
527
- .description('recovers ERC20 tokens or ether from the delegation contract to sender')
528
- .argument('<address>', 'delegation address')
529
- .argument('<token>', 'Address of the token to recover or 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee for ether')
530
- .argument('<recipient>', 'Address of the recovery recipient')
531
- .argument('<amount>', 'amount of ether to recover')
532
- .action(async (address, token, recipient, amount) => {
533
- const contract = getDelegationContract(address);
534
- await callWriteMethod(contract, 'recoverERC20', [
535
- token,
536
- recipient,
537
- BigInt(amount),
538
- ]);
539
- });
540
- delegation
541
- .command('recover-erc721')
542
- .description('Transfers a given token_id of an ERC721-compatible NFT (defined by the token contract address)')
543
- .argument('<address>', 'delegation address')
544
- .argument('<token>', 'an ERC721-compatible token')
545
- .argument('<tokenId>', 'token id to recover')
546
- .argument('<recipient>', 'Address of the recovery recipient')
547
- .action(async (address, token, tokenId, recipient) => {
548
- const contract = getDelegationContract(address);
549
- await callWriteMethod(contract, 'recoverERC721', [
550
- token,
551
- BigInt(tokenId),
552
- recipient,
553
- ]);
554
- });
555
- delegation
556
- .command('role-grant')
557
- .description('Mass-revokes multiple roles from multiple accounts.')
558
- .argument('<address>', 'delegation address')
559
- .argument('<roleAssignmentJSON>', 'JSON array of role assignments')
560
- .action(async (address, roleAssignmentJSON) => {
561
- const contract = getDelegationContract(address);
562
- const payload = JSON.parse(roleAssignmentJSON);
563
- if (!Array.isArray(payload)) {
564
- throw new Error('the 2nd argument should be an array of role assignments');
565
- }
566
- await callWriteMethod(contract, 'grantRoles', [payload]);
567
- });
568
- delegation
569
- .command('role-revoke')
570
- .description('Resumes beacon chain deposits on the staking vault.')
571
- .argument('<address>', 'delegation address')
572
- .argument('<roleAssignmentJSON>', 'JSON array of role assignments')
573
- .action(async (address, roleAssignmentJSON) => {
574
- const contract = getDelegationContract(address);
575
- const payload = JSON.parse(roleAssignmentJSON);
576
- if (!Array.isArray(payload)) {
577
- throw new Error('the 2nd argument should be an array of role assignments');
578
- }
579
- await callWriteMethod(contract, 'revokeRoles', [payload]);
580
- });
581
- //# sourceMappingURL=delegation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"delegation.js","sourceRoot":"","sources":["../../programs/delegation.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"vault-factory.js","sourceRoot":"","sources":["../../programs/vault-factory.ts"],"names":[],"mappings":"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"}