@lidofinance/lsv-cli 0.0.0 → 1.0.0-alpha.10

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