@lidofinance/lsv-cli 1.0.0-alpha.1 → 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.
- package/README.md +372 -1
- package/dist/abi/Dashboard.js +1383 -0
- package/dist/abi/Dashboard.js.map +1 -0
- package/dist/abi/Delegation.js +1658 -0
- package/dist/abi/Delegation.js.map +1 -0
- package/dist/abi/LidoLocator.js +388 -0
- package/dist/abi/LidoLocator.js.map +1 -0
- package/dist/abi/StEth.js +496 -0
- package/dist/abi/StEth.js.map +1 -0
- package/dist/abi/StakingVault.js +786 -0
- package/dist/abi/StakingVault.js.map +1 -0
- package/dist/abi/TokenManager.js +759 -0
- package/dist/abi/TokenManager.js.map +1 -0
- package/dist/abi/VaultFactory.js +229 -0
- package/dist/abi/VaultFactory.js.map +1 -0
- package/dist/abi/VaultHub.js +923 -586
- package/dist/abi/VaultHub.js.map +1 -1
- package/dist/abi/Voting.js +887 -0
- package/dist/abi/Voting.js.map +1 -0
- package/dist/abi/index.js +26 -0
- package/dist/abi/index.js.map +1 -0
- package/dist/command/index.js +16 -0
- package/dist/command/index.js.map +1 -1
- package/dist/configs/constants.js +6 -0
- package/dist/configs/constants.js.map +1 -0
- package/dist/configs/deployed.js +118 -24
- package/dist/configs/deployed.js.map +1 -1
- package/dist/configs/envs.js +26 -8
- package/dist/configs/envs.js.map +1 -1
- package/dist/configs/index.js +1 -0
- package/dist/configs/index.js.map +1 -1
- package/dist/configs/utils.js +32 -0
- package/dist/configs/utils.js.map +1 -0
- package/dist/contracts/dashboard.js +15 -0
- package/dist/contracts/dashboard.js.map +1 -0
- package/dist/contracts/delegation.js +15 -0
- package/dist/contracts/delegation.js.map +1 -0
- package/dist/contracts/index.js +8 -0
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/locator.js +20 -0
- package/dist/contracts/locator.js.map +1 -0
- package/dist/contracts/steth.js +19 -0
- package/dist/contracts/steth.js.map +1 -0
- package/dist/contracts/token-manager.js +20 -0
- package/dist/contracts/token-manager.js.map +1 -0
- package/dist/contracts/vault-factory.js +22 -0
- package/dist/contracts/vault-factory.js.map +1 -0
- package/dist/contracts/vault-hub.js +10 -9
- package/dist/contracts/vault-hub.js.map +1 -1
- package/dist/contracts/vault.js +18 -0
- package/dist/contracts/vault.js.map +1 -0
- package/dist/contracts/voting.js +22 -0
- package/dist/contracts/voting.js.map +1 -0
- package/dist/features/advanced-config.js +21 -0
- package/dist/features/advanced-config.js.map +1 -0
- package/dist/features/dashboard-delegation.js +26 -0
- package/dist/features/dashboard-delegation.js.map +1 -0
- package/dist/features/index.js +21 -0
- package/dist/features/index.js.map +1 -0
- package/dist/features/token-manager.js +6 -0
- package/dist/features/token-manager.js.map +1 -0
- package/dist/features/vault-factory.js +36 -0
- package/dist/features/vault-factory.js.map +1 -0
- package/dist/features/voting.js +136 -0
- package/dist/features/voting.js.map +1 -0
- package/dist/programs/config.js +33 -0
- package/dist/programs/config.js.map +1 -0
- package/dist/programs/dashboard.js +362 -0
- package/dist/programs/dashboard.js.map +1 -0
- package/dist/programs/delegation.js +605 -0
- package/dist/programs/delegation.js.map +1 -0
- package/dist/programs/index.js +5 -0
- package/dist/programs/index.js.map +1 -1
- package/dist/programs/vault-factory.js +84 -0
- package/dist/programs/vault-factory.js.map +1 -0
- package/dist/programs/vault-hub.js +331 -116
- package/dist/programs/vault-hub.js.map +1 -1
- package/dist/programs/vault.js +378 -0
- package/dist/programs/vault.js.map +1 -0
- package/dist/programs/voting.js +53 -0
- package/dist/programs/voting.js.map +1 -0
- package/dist/providers/wallet.js +21 -25
- package/dist/providers/wallet.js.map +1 -1
- package/dist/types/common.js +3 -0
- package/dist/types/common.js.map +1 -0
- package/dist/types/config.js +3 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/index.js +19 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/call-contract.js +35 -0
- package/dist/utils/call-contract.js.map +1 -0
- package/dist/utils/data-validators.js +51 -0
- package/dist/utils/data-validators.js.map +1 -0
- package/dist/utils/error-handler.js +11 -0
- package/dist/utils/error-handler.js.map +1 -0
- package/dist/utils/index.js +5 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/resolve-path.js +13 -0
- package/dist/utils/resolve-path.js.map +1 -0
- package/dist/utils/sleep.js +8 -0
- package/dist/utils/sleep.js.map +1 -0
- package/package.json +7 -3
|
@@ -0,0 +1,362 @@
|
|
|
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 dashboard = _command_1.program
|
|
8
|
+
.command("dashboard")
|
|
9
|
+
.description("dashboard contract");
|
|
10
|
+
dashboard
|
|
11
|
+
.command("info")
|
|
12
|
+
.description("get dashboard base info")
|
|
13
|
+
.argument("<address>", "dashboard address")
|
|
14
|
+
.action(async (address) => {
|
|
15
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
16
|
+
await (0, _features_1.getBaseInfo)(contract);
|
|
17
|
+
});
|
|
18
|
+
dashboard
|
|
19
|
+
.command("committee")
|
|
20
|
+
.description("voting committee info")
|
|
21
|
+
.argument("<address>", "dashboard address")
|
|
22
|
+
.action(async (address) => {
|
|
23
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
24
|
+
await (0, _utils_1.callReadMethod)(contract, "votingCommittee");
|
|
25
|
+
});
|
|
26
|
+
dashboard
|
|
27
|
+
.command("vault")
|
|
28
|
+
.description("vault info")
|
|
29
|
+
.argument("<address>", "dashboard address")
|
|
30
|
+
.action(async (address) => {
|
|
31
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
32
|
+
await (0, _utils_1.callReadMethod)(contract, "vaultSocket");
|
|
33
|
+
});
|
|
34
|
+
dashboard
|
|
35
|
+
.command("s-limit")
|
|
36
|
+
.description("shares limit")
|
|
37
|
+
.argument("<address>", "dashboard address")
|
|
38
|
+
.action(async (address) => {
|
|
39
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
40
|
+
await (0, _utils_1.callReadMethod)(contract, "shareLimit");
|
|
41
|
+
});
|
|
42
|
+
dashboard
|
|
43
|
+
.command("s-minted")
|
|
44
|
+
.description("shares minted")
|
|
45
|
+
.argument("<address>", "dashboard address")
|
|
46
|
+
.action(async (address) => {
|
|
47
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
48
|
+
await (0, _utils_1.callReadMethod)(contract, "sharesMinted");
|
|
49
|
+
});
|
|
50
|
+
dashboard
|
|
51
|
+
.command("reserve-ratio")
|
|
52
|
+
.description("vault reserve ratio of the vault")
|
|
53
|
+
.argument("<address>", "dashboard address")
|
|
54
|
+
.action(async (address) => {
|
|
55
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
56
|
+
await (0, _utils_1.callReadMethod)(contract, "reserveRatioBP");
|
|
57
|
+
});
|
|
58
|
+
dashboard
|
|
59
|
+
.command("t-reserve-ratio")
|
|
60
|
+
.description("threshold reserve ratio of the vault")
|
|
61
|
+
.argument("<address>", "dashboard address")
|
|
62
|
+
.action(async (address) => {
|
|
63
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
64
|
+
await (0, _utils_1.callReadMethod)(contract, "thresholdReserveRatioBP");
|
|
65
|
+
});
|
|
66
|
+
dashboard
|
|
67
|
+
.command("t-fee")
|
|
68
|
+
.description("treasury fee basis points")
|
|
69
|
+
.argument("<address>", "dashboard address")
|
|
70
|
+
.action(async (address) => {
|
|
71
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
72
|
+
await (0, _utils_1.callReadMethod)(contract, "treasuryFee");
|
|
73
|
+
});
|
|
74
|
+
dashboard
|
|
75
|
+
.command("valuation")
|
|
76
|
+
.description("valuation of the vault in ether")
|
|
77
|
+
.argument("<address>", "dashboard address")
|
|
78
|
+
.action(async (address) => {
|
|
79
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
80
|
+
await (0, _utils_1.callReadMethod)(contract, "valuation");
|
|
81
|
+
});
|
|
82
|
+
dashboard
|
|
83
|
+
.command("t-shares")
|
|
84
|
+
.description("total of shares that can be minted on the vault")
|
|
85
|
+
.argument("<address>", "dashboard address")
|
|
86
|
+
.action(async (address) => {
|
|
87
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
88
|
+
await (0, _utils_1.callReadMethod)(contract, "totalMintableShares");
|
|
89
|
+
});
|
|
90
|
+
dashboard
|
|
91
|
+
.command("get-shares")
|
|
92
|
+
.description("maximum number of shares that can be minted with deposited ether")
|
|
93
|
+
.argument("<address>", "dashboard address")
|
|
94
|
+
.argument("<ether>", "amount of ether to be funded")
|
|
95
|
+
.action(async (address, ether) => {
|
|
96
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
97
|
+
await (0, _utils_1.callReadMethod)(contract, "projectedNewMintableShares", [
|
|
98
|
+
BigInt(ether),
|
|
99
|
+
]);
|
|
100
|
+
});
|
|
101
|
+
dashboard
|
|
102
|
+
.command("withdrawable-eth")
|
|
103
|
+
.description("amount of ether that can be withdrawn from the staking vault")
|
|
104
|
+
.argument("<address>", "dashboard address")
|
|
105
|
+
.action(async (address) => {
|
|
106
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
107
|
+
await (0, _utils_1.callReadMethod)(contract, "withdrawableEther");
|
|
108
|
+
});
|
|
109
|
+
// TODO: test without voting
|
|
110
|
+
dashboard
|
|
111
|
+
.command("ownership")
|
|
112
|
+
.description("transfers ownership of the staking vault to a new owner")
|
|
113
|
+
.argument("<address>", "dashboard address")
|
|
114
|
+
.argument("<newOwner>", "address of the new owner")
|
|
115
|
+
.action(async (address, newOwner) => {
|
|
116
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
117
|
+
await (0, _utils_1.callWriteMethod)(contract, "transferStakingVaultOwnership", [
|
|
118
|
+
newOwner,
|
|
119
|
+
]);
|
|
120
|
+
});
|
|
121
|
+
dashboard
|
|
122
|
+
.command("disconnect")
|
|
123
|
+
.description("disconnects the staking vault from the vault hub")
|
|
124
|
+
.argument("<address>", "dashboard address")
|
|
125
|
+
.action(async (address) => {
|
|
126
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
127
|
+
await (0, _utils_1.callWriteMethod)(contract, "voluntaryDisconnect", []);
|
|
128
|
+
});
|
|
129
|
+
dashboard
|
|
130
|
+
.command("fund")
|
|
131
|
+
.description("funds the staking vault with ether")
|
|
132
|
+
.argument("<address>", "dashboard address")
|
|
133
|
+
.argument("<ether>", "amount of ether to be funded")
|
|
134
|
+
.action(async (address, ether) => {
|
|
135
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
136
|
+
await (0, _utils_1.callWriteMethod)(contract, "fund", [], BigInt(ether));
|
|
137
|
+
});
|
|
138
|
+
dashboard
|
|
139
|
+
.command("fund-weth")
|
|
140
|
+
.description("funds the staking vault with wrapped ether")
|
|
141
|
+
.argument("<address>", "dashboard address")
|
|
142
|
+
.argument("<wethAmount>", "amount of weth to be funded")
|
|
143
|
+
.action(async (address, wethAmount) => {
|
|
144
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
145
|
+
await (0, _utils_1.callWriteMethod)(contract, "fundWeth", [BigInt(wethAmount)]);
|
|
146
|
+
});
|
|
147
|
+
dashboard
|
|
148
|
+
.command("withdraw")
|
|
149
|
+
.description("withdraws ether from the staking vault to a recipient")
|
|
150
|
+
.argument("<address>", "dashboard address")
|
|
151
|
+
.argument("<recipient>", "address of the recipient")
|
|
152
|
+
.argument("<ether>", "amount of ether to withdraw")
|
|
153
|
+
.action(async (address, recipient, ether) => {
|
|
154
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
155
|
+
await (0, _utils_1.callWriteMethod)(contract, "withdraw", [recipient, BigInt(ether)]);
|
|
156
|
+
});
|
|
157
|
+
dashboard
|
|
158
|
+
.command("withdraw-weth")
|
|
159
|
+
.description("withdraws stETH tokens from the staking vault to wrapped ether")
|
|
160
|
+
.argument("<address>", "dashboard address")
|
|
161
|
+
.argument("<recipient>", "address of the recipient")
|
|
162
|
+
.argument("<ether>", "amount of ether to withdraw")
|
|
163
|
+
.action(async (address, recipient, ether) => {
|
|
164
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
165
|
+
await (0, _utils_1.callWriteMethod)(contract, "withdrawWETH", [recipient, BigInt(ether)]);
|
|
166
|
+
});
|
|
167
|
+
dashboard
|
|
168
|
+
.command("exit")
|
|
169
|
+
.description("requests the exit of a validator from the staking vault")
|
|
170
|
+
.argument("<address>", "dashboard address")
|
|
171
|
+
.argument("<validatorPubKey>", "public key of the validator to exit")
|
|
172
|
+
.action(async (address, validatorPubKey) => {
|
|
173
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
174
|
+
await (0, _utils_1.callWriteMethod)(contract, "requestValidatorExit", [validatorPubKey]);
|
|
175
|
+
});
|
|
176
|
+
dashboard
|
|
177
|
+
.command("mint-shares")
|
|
178
|
+
.description("mints stETH tokens backed by the vault to a recipient")
|
|
179
|
+
.argument("<address>", "dashboard address")
|
|
180
|
+
.argument("<recipient>", "address of the recipient")
|
|
181
|
+
.argument("<amountOfShares>", "amount of shares to mint")
|
|
182
|
+
.action(async (address, recipient, amountOfShares) => {
|
|
183
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
184
|
+
await (0, _utils_1.callWriteMethod)(contract, "mintShares", [
|
|
185
|
+
recipient,
|
|
186
|
+
BigInt(amountOfShares),
|
|
187
|
+
]);
|
|
188
|
+
});
|
|
189
|
+
dashboard
|
|
190
|
+
.command("mint-steth")
|
|
191
|
+
.description("mints stETH tokens backed by the vault to a recipient")
|
|
192
|
+
.argument("<address>", "dashboard address")
|
|
193
|
+
.argument("<recipient>", "address of the recipient")
|
|
194
|
+
.argument("<amountOfShares>", "amount of shares to mint")
|
|
195
|
+
.action(async (address, recipient, amountOfShares) => {
|
|
196
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
197
|
+
await (0, _utils_1.callWriteMethod)(contract, "mintStETH", [
|
|
198
|
+
recipient,
|
|
199
|
+
BigInt(amountOfShares),
|
|
200
|
+
]);
|
|
201
|
+
});
|
|
202
|
+
dashboard
|
|
203
|
+
.command("mint-wsteth")
|
|
204
|
+
.description("mints wstETH tokens backed by the vault to a recipient")
|
|
205
|
+
.argument("<address>", "dashboard address")
|
|
206
|
+
.argument("<recipient>", "address of the recipient")
|
|
207
|
+
.argument("<tokens>", "amount of tokens to mint")
|
|
208
|
+
.action(async (address, recipient, tokens) => {
|
|
209
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
210
|
+
await (0, _utils_1.callWriteMethod)(contract, "mintWstETH", [recipient, BigInt(tokens)]);
|
|
211
|
+
});
|
|
212
|
+
dashboard
|
|
213
|
+
.command("burn-shares")
|
|
214
|
+
.description("Burns stETH shares from the sender backed by the vault. Expects corresponding amount of stETH approved to this contract")
|
|
215
|
+
.argument("<address>", "dashboard address")
|
|
216
|
+
.argument("<amountOfShares>", "amount of shares to burn")
|
|
217
|
+
.action(async (address, amountOfShares) => {
|
|
218
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
219
|
+
await (0, _utils_1.callWriteMethod)(contract, "burnShares", [BigInt(amountOfShares)]);
|
|
220
|
+
});
|
|
221
|
+
dashboard
|
|
222
|
+
.command("burn-steth")
|
|
223
|
+
.description("Burns stETH shares from the sender backed by the vault. Expects stETH amount approved to this contract.")
|
|
224
|
+
.argument("<address>", "dashboard address")
|
|
225
|
+
.argument("<amountOfShares>", "amount of shares to burn")
|
|
226
|
+
.action(async (address, amountOfShares) => {
|
|
227
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
228
|
+
await (0, _utils_1.callWriteMethod)(contract, "burnStETH", [BigInt(amountOfShares)]);
|
|
229
|
+
});
|
|
230
|
+
dashboard
|
|
231
|
+
.command("burn-wsteth")
|
|
232
|
+
.description("burn wstETH tokens from the sender backed by the vault")
|
|
233
|
+
.argument("<address>", "dashboard address")
|
|
234
|
+
.argument("<tokens>", "amount of wstETH tokens to burn")
|
|
235
|
+
.action(async (address, tokens) => {
|
|
236
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
237
|
+
await (0, _utils_1.callWriteMethod)(contract, "burnWstETH", [BigInt(tokens)]);
|
|
238
|
+
});
|
|
239
|
+
dashboard
|
|
240
|
+
.command("burn-shares-permit")
|
|
241
|
+
.description("Burns stETH tokens (in shares) backed by the vault from the sender using permit (with value in stETH).")
|
|
242
|
+
.argument("<address>", "dashboard address")
|
|
243
|
+
.argument("<tokens>", "amount of stETH tokens to burn")
|
|
244
|
+
.argument("<permitJSON>", "JSON data required for the stETH.permit() method to set the allowance")
|
|
245
|
+
.action(async (address, tokens, permitJSON) => {
|
|
246
|
+
const permit = JSON.parse(permitJSON);
|
|
247
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
248
|
+
await (0, _utils_1.callWriteMethod)(contract, "burnSharesWithPermit", [
|
|
249
|
+
BigInt(tokens),
|
|
250
|
+
permit,
|
|
251
|
+
]);
|
|
252
|
+
});
|
|
253
|
+
dashboard
|
|
254
|
+
.command("burn-steth-permit")
|
|
255
|
+
.description("Burns stETH tokens backed by the vault from the sender using permit.")
|
|
256
|
+
.argument("<address>", "dashboard address")
|
|
257
|
+
.argument("<tokens>", "amount of stETH tokens to burn")
|
|
258
|
+
.argument("<permitJSON>", "JSON data required for the stETH.permit() method to set the allowance")
|
|
259
|
+
.action(async (address, tokens, permitJSON) => {
|
|
260
|
+
const permit = JSON.parse(permitJSON);
|
|
261
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
262
|
+
await (0, _utils_1.callWriteMethod)(contract, "burnStETHWithPermit", [
|
|
263
|
+
BigInt(tokens),
|
|
264
|
+
permit,
|
|
265
|
+
]);
|
|
266
|
+
});
|
|
267
|
+
dashboard
|
|
268
|
+
.command("burn-wsteth-permit")
|
|
269
|
+
.description("burn wstETH tokens from the sender backed by the vault using EIP-2612 Permit")
|
|
270
|
+
.argument("<address>", "dashboard address")
|
|
271
|
+
.argument("<tokens>", "amount of wstETH tokens to burn")
|
|
272
|
+
.argument("<permitJSON>", "JSON data required for the wstETH.permit() method to set the allowance")
|
|
273
|
+
.action(async (address, tokens, permitJSON) => {
|
|
274
|
+
const permit = JSON.parse(permitJSON);
|
|
275
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
276
|
+
await (0, _utils_1.callWriteMethod)(contract, "burnWstETHWithPermit", [
|
|
277
|
+
BigInt(tokens),
|
|
278
|
+
permit,
|
|
279
|
+
]);
|
|
280
|
+
});
|
|
281
|
+
dashboard
|
|
282
|
+
.command("rebalance")
|
|
283
|
+
.description("rebalance the vault by transferring ether")
|
|
284
|
+
.argument("<address>", "dashboard address")
|
|
285
|
+
.argument("<ether>", "amount of ether to rebalance")
|
|
286
|
+
.action(async (address, ether) => {
|
|
287
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
288
|
+
await (0, _utils_1.callWriteMethod)(contract, "rebalanceVault", [BigInt(ether)]);
|
|
289
|
+
});
|
|
290
|
+
dashboard
|
|
291
|
+
.command("recover-erc20")
|
|
292
|
+
.description("recovers ERC20 tokens or ether from the dashboard contract to sender")
|
|
293
|
+
.argument("<address>", "dashboard address")
|
|
294
|
+
.argument("<token>", "Address of the token to recover or 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee for ether")
|
|
295
|
+
.argument("<recipient>", "Address of the recovery recipient")
|
|
296
|
+
.argument("<amount>", "amount of ether to recover")
|
|
297
|
+
.action(async (address, token, recipient, amount) => {
|
|
298
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
299
|
+
await (0, _utils_1.callWriteMethod)(contract, "recoverERC20", [
|
|
300
|
+
token,
|
|
301
|
+
recipient,
|
|
302
|
+
BigInt(amount),
|
|
303
|
+
]);
|
|
304
|
+
});
|
|
305
|
+
dashboard
|
|
306
|
+
.command("recover-erc721")
|
|
307
|
+
.description("Transfers a given token_id of an ERC721-compatible NFT (defined by the token contract address)")
|
|
308
|
+
.argument("<address>", "dashboard address")
|
|
309
|
+
.argument("<token>", "an ERC721-compatible token")
|
|
310
|
+
.argument("<tokenId>", "token id to recover")
|
|
311
|
+
.argument("<recipient>", "Address of the recovery recipient")
|
|
312
|
+
.action(async (address, token, tokenId, recipient) => {
|
|
313
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
314
|
+
await (0, _utils_1.callWriteMethod)(contract, "recoverERC721", [
|
|
315
|
+
token,
|
|
316
|
+
BigInt(tokenId),
|
|
317
|
+
recipient,
|
|
318
|
+
]);
|
|
319
|
+
});
|
|
320
|
+
dashboard
|
|
321
|
+
.command("deposit-pause")
|
|
322
|
+
.description("Pauses beacon chain deposits on the staking vault.")
|
|
323
|
+
.argument("<address>", "dashboard address")
|
|
324
|
+
.action(async (address) => {
|
|
325
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
326
|
+
await (0, _utils_1.callWriteMethod)(contract, "pauseBeaconChainDeposits", []);
|
|
327
|
+
});
|
|
328
|
+
dashboard
|
|
329
|
+
.command("deposit-resume")
|
|
330
|
+
.description("Mass-grants multiple roles to multiple accounts.")
|
|
331
|
+
.argument("<address>", "dashboard address")
|
|
332
|
+
.action(async (address) => {
|
|
333
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
334
|
+
await (0, _utils_1.callWriteMethod)(contract, "resumeBeaconChainDeposits", []);
|
|
335
|
+
});
|
|
336
|
+
dashboard
|
|
337
|
+
.command("role-grant")
|
|
338
|
+
.description("Mass-revokes multiple roles from multiple accounts.")
|
|
339
|
+
.argument("<address>", "dashboard address")
|
|
340
|
+
.argument("<roleAssignmentJSON>", "JSON array of role assignments")
|
|
341
|
+
.action(async (address, roleAssignmentJSON) => {
|
|
342
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
343
|
+
const payload = JSON.parse(roleAssignmentJSON);
|
|
344
|
+
if (!Array.isArray(payload)) {
|
|
345
|
+
throw new Error("the 2nd argument should be an array of role assignments");
|
|
346
|
+
}
|
|
347
|
+
await (0, _utils_1.callWriteMethod)(contract, "grantRoles", [payload]);
|
|
348
|
+
});
|
|
349
|
+
dashboard
|
|
350
|
+
.command("role-revoke")
|
|
351
|
+
.description("Resumes beacon chain deposits on the staking vault.")
|
|
352
|
+
.argument("<address>", "dashboard address")
|
|
353
|
+
.argument("<roleAssignmentJSON>", "JSON array of role assignments")
|
|
354
|
+
.action(async (address, roleAssignmentJSON) => {
|
|
355
|
+
const contract = (0, _contracts_1.getDashboardContract)(address);
|
|
356
|
+
const payload = JSON.parse(roleAssignmentJSON);
|
|
357
|
+
if (!Array.isArray(payload)) {
|
|
358
|
+
throw new Error("the 2nd argument should be an array of role assignments");
|
|
359
|
+
}
|
|
360
|
+
await (0, _utils_1.callWriteMethod)(contract, "revokeRoles", [payload]);
|
|
361
|
+
});
|
|
362
|
+
//# sourceMappingURL=dashboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../programs/dashboard.ts"],"names":[],"mappings":"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"}
|