@lidofinance/lsv-cli 1.0.0-alpha.2 → 1.0.0-alpha.21
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 +578 -1
- package/dist/abi/CLProofVerifier.js +279 -0
- package/dist/abi/CLProofVerifier.js.map +1 -0
- package/dist/abi/Dashboard.js +1498 -0
- package/dist/abi/Dashboard.js.map +1 -0
- package/dist/abi/Delegation.js +1786 -0
- package/dist/abi/Delegation.js.map +1 -0
- package/dist/abi/LidoLocator.js +426 -0
- package/dist/abi/LidoLocator.js.map +1 -0
- package/dist/abi/PredepositGuarantee.js +1733 -0
- package/dist/abi/PredepositGuarantee.js.map +1 -0
- package/dist/abi/StEth.js +493 -0
- package/dist/abi/StEth.js.map +1 -0
- package/dist/abi/StakingVault.js +978 -0
- package/dist/abi/StakingVault.js.map +1 -0
- package/dist/abi/TokenManager.js +756 -0
- package/dist/abi/TokenManager.js.map +1 -0
- package/dist/abi/VaultFactory.js +246 -0
- package/dist/abi/VaultFactory.js.map +1 -0
- package/dist/abi/VaultHub.js +1138 -439
- package/dist/abi/VaultHub.js.map +1 -1
- package/dist/abi/VaultViewer.js +297 -0
- package/dist/abi/VaultViewer.js.map +1 -0
- package/dist/abi/Voting.js +884 -0
- package/dist/abi/Voting.js.map +1 -0
- package/dist/abi/index.js +13 -0
- package/dist/abi/index.js.map +1 -0
- package/dist/command/index.js +4 -5
- package/dist/command/index.js.map +1 -1
- package/dist/configs/constants.js +3 -0
- package/dist/configs/constants.js.map +1 -0
- package/dist/configs/deployed.js +114 -53
- package/dist/configs/deployed.js.map +1 -1
- package/dist/configs/envs.js +10 -28
- package/dist/configs/envs.js.map +1 -1
- package/dist/configs/index.js +3 -18
- package/dist/configs/index.js.map +1 -1
- package/dist/configs/utils.js +26 -0
- package/dist/configs/utils.js.map +1 -0
- package/dist/contracts/clProofVerifier.js +29 -0
- package/dist/contracts/clProofVerifier.js.map +1 -0
- package/dist/contracts/dashboard.js +11 -0
- package/dist/contracts/dashboard.js.map +1 -0
- package/dist/contracts/delegation.js +11 -0
- package/dist/contracts/delegation.js.map +1 -0
- package/dist/contracts/index.js +12 -17
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/locator.js +16 -0
- package/dist/contracts/locator.js.map +1 -0
- package/dist/contracts/pdg.js +17 -0
- package/dist/contracts/pdg.js.map +1 -0
- package/dist/contracts/steth.js +15 -0
- package/dist/contracts/steth.js.map +1 -0
- package/dist/contracts/token-manager.js +16 -0
- package/dist/contracts/token-manager.js.map +1 -0
- package/dist/contracts/vault-factory.js +14 -0
- package/dist/contracts/vault-factory.js.map +1 -0
- package/dist/contracts/vault-hub.js +14 -17
- package/dist/contracts/vault-hub.js.map +1 -1
- package/dist/contracts/vault-viewer.js +25 -0
- package/dist/contracts/vault-viewer.js.map +1 -0
- package/dist/contracts/vault.js +14 -0
- package/dist/contracts/vault.js.map +1 -0
- package/dist/contracts/voting.js +18 -0
- package/dist/contracts/voting.js.map +1 -0
- package/dist/features/advanced-config.js +16 -0
- package/dist/features/advanced-config.js.map +1 -0
- package/dist/features/dashboard-delegation.js +25 -0
- package/dist/features/dashboard-delegation.js.map +1 -0
- package/dist/features/index.js +5 -0
- package/dist/features/index.js.map +1 -0
- package/dist/features/token-manager.js +7 -0
- package/dist/features/token-manager.js.map +1 -0
- package/dist/features/vault-factory.js +25 -0
- package/dist/features/vault-factory.js.map +1 -0
- package/dist/features/voting.js +125 -0
- package/dist/features/voting.js.map +1 -0
- package/dist/index.js +6 -5
- package/dist/index.js.map +1 -1
- package/dist/programs/account.js +29 -0
- package/dist/programs/account.js.map +1 -0
- package/dist/programs/config.js +31 -0
- package/dist/programs/config.js.map +1 -0
- package/dist/programs/dashboard/config.js +65 -0
- package/dist/programs/dashboard/config.js.map +1 -0
- package/dist/programs/dashboard/index.js +4 -0
- package/dist/programs/dashboard/index.js.map +1 -0
- package/dist/programs/dashboard/main.js +12 -0
- package/dist/programs/dashboard/main.js.map +1 -0
- package/dist/programs/dashboard/read.js +25 -0
- package/dist/programs/dashboard/read.js.map +1 -0
- package/dist/programs/dashboard/write.js +302 -0
- package/dist/programs/dashboard/write.js.map +1 -0
- package/dist/programs/delegation/config.js +33 -0
- package/dist/programs/delegation/config.js.map +1 -0
- package/dist/programs/delegation/index.js +4 -0
- package/dist/programs/delegation/index.js.map +1 -0
- package/dist/programs/delegation/main.js +12 -0
- package/dist/programs/delegation/main.js.map +1 -0
- package/dist/programs/delegation/read.js +98 -0
- package/dist/programs/delegation/read.js.map +1 -0
- package/dist/programs/delegation/write.js +327 -0
- package/dist/programs/delegation/write.js.map +1 -0
- package/dist/programs/hub/config.js +127 -0
- package/dist/programs/hub/config.js.map +1 -0
- package/dist/programs/hub/index.js +4 -0
- package/dist/programs/hub/index.js.map +1 -0
- package/dist/programs/hub/main.js +12 -0
- package/dist/programs/hub/main.js.map +1 -0
- package/dist/programs/hub/read.js +62 -0
- package/dist/programs/hub/read.js.map +1 -0
- package/dist/programs/hub/write.js +109 -0
- package/dist/programs/hub/write.js.map +1 -0
- package/dist/programs/index.js +10 -17
- package/dist/programs/index.js.map +1 -1
- package/dist/programs/pdg/config.js +97 -0
- package/dist/programs/pdg/config.js.map +1 -0
- package/dist/programs/pdg/index.js +4 -0
- package/dist/programs/pdg/index.js.map +1 -0
- package/dist/programs/pdg/main.js +12 -0
- package/dist/programs/pdg/main.js.map +1 -0
- package/dist/programs/pdg/read.js +7 -0
- package/dist/programs/pdg/read.js.map +1 -0
- package/dist/programs/pdg/write.js +114 -0
- package/dist/programs/pdg/write.js.map +1 -0
- package/dist/programs/pdg-helpers.js +90 -0
- package/dist/programs/pdg-helpers.js.map +1 -0
- package/dist/programs/vault/config.js +66 -0
- package/dist/programs/vault/config.js.map +1 -0
- package/dist/programs/vault/index.js +4 -0
- package/dist/programs/vault/index.js.map +1 -0
- package/dist/programs/vault/main.js +10 -0
- package/dist/programs/vault/main.js.map +1 -0
- package/dist/programs/vault/read.js +53 -0
- package/dist/programs/vault/read.js.map +1 -0
- package/dist/programs/vault/write.js +123 -0
- package/dist/programs/vault/write.js.map +1 -0
- package/dist/programs/vault-factory/config.js +2 -0
- package/dist/programs/vault-factory/config.js.map +1 -0
- package/dist/programs/vault-factory/index.js +4 -0
- package/dist/programs/vault-factory/index.js.map +1 -0
- package/dist/programs/vault-factory/main.js +12 -0
- package/dist/programs/vault-factory/main.js.map +1 -0
- package/dist/programs/vault-factory/read.js +26 -0
- package/dist/programs/vault-factory/read.js.map +1 -0
- package/dist/programs/vault-factory/write.js +110 -0
- package/dist/programs/vault-factory/write.js.map +1 -0
- package/dist/programs/vault-viewer/config.js +85 -0
- package/dist/programs/vault-viewer/config.js.map +1 -0
- package/dist/programs/vault-viewer/index.js +3 -0
- package/dist/programs/vault-viewer/index.js.map +1 -0
- package/dist/programs/vault-viewer/main.js +10 -0
- package/dist/programs/vault-viewer/main.js.map +1 -0
- package/dist/programs/vault-viewer/read.js +55 -0
- package/dist/programs/vault-viewer/read.js.map +1 -0
- package/dist/programs/voting.js +33 -0
- package/dist/programs/voting.js.map +1 -0
- package/dist/providers/index.js +1 -17
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/wallet.js +20 -32
- package/dist/providers/wallet.js.map +1 -1
- package/dist/types/common.js +2 -0
- package/dist/types/common.js.map +1 -0
- package/dist/types/config.js +2 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/contract.js +98 -0
- package/dist/utils/contract.js.map +1 -0
- package/dist/utils/data-validators.js +69 -0
- package/dist/utils/data-validators.js.map +1 -0
- package/dist/utils/error-handler.js +7 -0
- package/dist/utils/error-handler.js.map +1 -0
- package/dist/utils/get-commands.js +11 -0
- package/dist/utils/get-commands.js.map +1 -0
- package/dist/utils/get-deposit-data-root.js +40 -0
- package/dist/utils/get-deposit-data-root.js.map +1 -0
- package/dist/utils/get-value.js +5 -11
- package/dist/utils/get-value.js.map +1 -1
- package/dist/utils/index.js +13 -17
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/parse-string.js +20 -0
- package/dist/utils/parse-string.js.map +1 -0
- package/dist/utils/prompts/default.js +17 -0
- package/dist/utils/prompts/default.js.map +1 -0
- package/dist/utils/prompts/delegation-dashboard.js +29 -0
- package/dist/utils/prompts/delegation-dashboard.js.map +1 -0
- package/dist/utils/prompts/index.js +5 -0
- package/dist/utils/prompts/index.js.map +1 -0
- package/dist/utils/prompts/predeposit-guarantee.js +25 -0
- package/dist/utils/prompts/predeposit-guarantee.js.map +1 -0
- package/dist/utils/prompts/vault.js +11 -0
- package/dist/utils/prompts/vault.js.map +1 -0
- package/dist/utils/proof/create-proof.js +62 -0
- package/dist/utils/proof/create-proof.js.map +1 -0
- package/dist/utils/proof/first-validator-gindex.js +26 -0
- package/dist/utils/proof/first-validator-gindex.js.map +1 -0
- package/dist/utils/proof/index.js +4 -0
- package/dist/utils/proof/index.js.map +1 -0
- package/dist/utils/proof/merkle-utils.js +161 -0
- package/dist/utils/proof/merkle-utils.js.map +1 -0
- package/dist/utils/proof/proofs.js +52 -0
- package/dist/utils/proof/proofs.js.map +1 -0
- package/dist/utils/read-programs-by-abi.js +87 -0
- package/dist/utils/read-programs-by-abi.js.map +1 -0
- package/dist/utils/resolve-path.js +10 -0
- package/dist/utils/resolve-path.js.map +1 -0
- package/dist/utils/sleep.js +4 -0
- package/dist/utils/sleep.js.map +1 -0
- package/dist/utils/spinner/index.js +2 -0
- package/dist/utils/spinner/index.js.map +1 -0
- package/dist/utils/spinner/spinners.js +16 -0
- package/dist/utils/spinner/spinners.js.map +1 -0
- package/dist/utils/spinner/spinners.json +119 -0
- package/dist/version/index.js +1 -0
- package/dist/version/index.js.map +1 -0
- package/package.json +52 -7
- package/dist/programs/vault-hub.js +0 -137
- package/dist/programs/vault-hub.js.map +0 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { getStakingVaultContract } from '../../contracts/index.js';
|
|
2
|
+
import { getPublicClient } from '../../providers/index.js';
|
|
3
|
+
import { StakingVaultAbi } from '../../abi/index.js';
|
|
4
|
+
import { generateReadCommands, isContractAddress, printError } from '../../utils/index.js';
|
|
5
|
+
import { vault } from './main.js';
|
|
6
|
+
import { readCommandConfig } from './config.js';
|
|
7
|
+
vault
|
|
8
|
+
.command('info')
|
|
9
|
+
.description('get vault base info')
|
|
10
|
+
.argument('<address>', 'vault address')
|
|
11
|
+
.action(async (address) => {
|
|
12
|
+
const contract = getStakingVaultContract(address);
|
|
13
|
+
const publicClient = getPublicClient();
|
|
14
|
+
try {
|
|
15
|
+
const withdrawalCredentials = await contract.read.withdrawalCredentials();
|
|
16
|
+
const inOutDelta = await contract.read.inOutDelta();
|
|
17
|
+
const balance = await publicClient.getBalance({ address });
|
|
18
|
+
const valuation = await contract.read.valuation();
|
|
19
|
+
const version = await contract.read.version();
|
|
20
|
+
const initializedVersion = await contract.read.getInitializedVersion();
|
|
21
|
+
const depositContract = await contract.read.DEPOSIT_CONTRACT();
|
|
22
|
+
const vaultHub = await contract.read.vaultHub();
|
|
23
|
+
const nodeOperator = await contract.read.nodeOperator();
|
|
24
|
+
const owner = await contract.read.owner();
|
|
25
|
+
const locked = await contract.read.locked();
|
|
26
|
+
const unlocked = await contract.read.unlocked();
|
|
27
|
+
const isBeaconChainDepositsPaused = await contract.read.beaconChainDepositsPaused();
|
|
28
|
+
const isOwnerContract = await isContractAddress(owner);
|
|
29
|
+
const payload = {
|
|
30
|
+
vault: address,
|
|
31
|
+
withdrawalCredentials,
|
|
32
|
+
inOutDelta,
|
|
33
|
+
balance,
|
|
34
|
+
valuation,
|
|
35
|
+
locked,
|
|
36
|
+
unlocked,
|
|
37
|
+
isBeaconChainDepositsPaused,
|
|
38
|
+
version,
|
|
39
|
+
initializedVersion,
|
|
40
|
+
depositContract,
|
|
41
|
+
vaultHub,
|
|
42
|
+
nodeOperator,
|
|
43
|
+
owner,
|
|
44
|
+
isOwnerContract,
|
|
45
|
+
};
|
|
46
|
+
console.table(payload);
|
|
47
|
+
}
|
|
48
|
+
catch (err) {
|
|
49
|
+
printError(err, 'Error when calling read method "info"');
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
generateReadCommands(StakingVaultAbi, getStakingVaultContract, vault, readCommandConfig);
|
|
53
|
+
//# sourceMappingURL=read.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../../programs/vault/read.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAE5E,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,KAAK;KACF,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,qBAAqB,CAAC;KAClC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;KACtC,MAAM,CAAC,KAAK,EAAE,OAAgB,EAAE,EAAE;IACjC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IAEvC,IAAI,CAAC;QACH,MAAM,qBAAqB,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC1E,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC9C,MAAM,kBAAkB,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACvE,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC/D,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChD,MAAM,2BAA2B,GAC/B,MAAM,QAAQ,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAClD,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAEvD,MAAM,OAAO,GAAG;YACd,KAAK,EAAE,OAAO;YACd,qBAAqB;YACrB,UAAU;YACV,OAAO;YACP,SAAS;YACT,MAAM;YACN,QAAQ;YACR,2BAA2B;YAC3B,OAAO;YACP,kBAAkB;YAClB,eAAe;YACf,QAAQ;YACR,YAAY;YACZ,KAAK;YACL,eAAe;SAChB,CAAC;QAEF,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,UAAU,CAAC,GAAG,EAAE,uCAAuC,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,oBAAoB,CAClB,eAAe,EACf,uBAAuB,EACvB,KAAK,EACL,iBAAiB,CAClB,CAAC"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { getStakingVaultContract } from '../../contracts/index.js';
|
|
2
|
+
import { callWriteMethodWithReceipt, confirmFund } from '../../utils/index.js';
|
|
3
|
+
import { vault } from './main.js';
|
|
4
|
+
vault
|
|
5
|
+
.command('fund')
|
|
6
|
+
.description('fund vault')
|
|
7
|
+
.option('-a, --address <address>', 'vault address')
|
|
8
|
+
.option('-e, --ether <ether>', 'amount of ether to be funded (in WEI)')
|
|
9
|
+
.action(async ({ address, ether }) => {
|
|
10
|
+
const { address: vault, amount } = await confirmFund(address, ether);
|
|
11
|
+
if (!vault || !amount)
|
|
12
|
+
return;
|
|
13
|
+
const contract = getStakingVaultContract(address);
|
|
14
|
+
await callWriteMethodWithReceipt(contract, 'fund', [], BigInt(amount));
|
|
15
|
+
});
|
|
16
|
+
// TODO: investigate why only owner can fund vault
|
|
17
|
+
vault
|
|
18
|
+
.command('withdraw')
|
|
19
|
+
.description('withdraw from vault')
|
|
20
|
+
.argument('<address>', 'vault address')
|
|
21
|
+
.argument('<recipient>', 'recipient address')
|
|
22
|
+
.argument('<wei>', 'amount to withdraw (in WEI)')
|
|
23
|
+
.action(async (address, recipient, amount) => {
|
|
24
|
+
const contract = getStakingVaultContract(address);
|
|
25
|
+
await callWriteMethodWithReceipt(contract, 'withdraw', [
|
|
26
|
+
recipient,
|
|
27
|
+
BigInt(amount),
|
|
28
|
+
]);
|
|
29
|
+
});
|
|
30
|
+
// NOs
|
|
31
|
+
// TODO: get more details
|
|
32
|
+
vault
|
|
33
|
+
.command('no-deposit-beacon')
|
|
34
|
+
.description('deposit to beacon chain')
|
|
35
|
+
.argument('<address>', 'vault address')
|
|
36
|
+
.argument('<amountOfDeposit>', 'amount of deposits')
|
|
37
|
+
.argument('<pubkey>', 'pubkey')
|
|
38
|
+
.argument('<signature>', 'signature')
|
|
39
|
+
.argument('<depositDataRoot>', 'depositDataRoot')
|
|
40
|
+
.action(async (vault, amountOfDeposit, pubkey, signature, depositDataRoot) => {
|
|
41
|
+
const amount = BigInt(amountOfDeposit);
|
|
42
|
+
const contract = getStakingVaultContract(vault);
|
|
43
|
+
const payload = [
|
|
44
|
+
{
|
|
45
|
+
pubkey,
|
|
46
|
+
signature,
|
|
47
|
+
amount,
|
|
48
|
+
depositDataRoot,
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
await callWriteMethodWithReceipt(contract, 'depositToBeaconChain', [
|
|
52
|
+
payload,
|
|
53
|
+
]);
|
|
54
|
+
});
|
|
55
|
+
// TODO: get more details
|
|
56
|
+
vault
|
|
57
|
+
.command('no-val-exit')
|
|
58
|
+
.description('request to exit validator')
|
|
59
|
+
.argument('<address>', 'vault address')
|
|
60
|
+
.argument('<validatorPublicKey>', 'validator public key')
|
|
61
|
+
.action(async (address, validatorPublicKey) => {
|
|
62
|
+
const contract = getStakingVaultContract(address);
|
|
63
|
+
await callWriteMethodWithReceipt(contract, 'requestValidatorExit', [
|
|
64
|
+
validatorPublicKey,
|
|
65
|
+
]);
|
|
66
|
+
});
|
|
67
|
+
vault
|
|
68
|
+
.command('bc-resume')
|
|
69
|
+
.description('Resumes deposits to beacon chain')
|
|
70
|
+
.argument('<address>', 'vault address')
|
|
71
|
+
.action(async (address) => {
|
|
72
|
+
const contract = getStakingVaultContract(address);
|
|
73
|
+
await callWriteMethodWithReceipt(contract, 'resumeBeaconChainDeposits', []);
|
|
74
|
+
});
|
|
75
|
+
vault
|
|
76
|
+
.command('bc-pause')
|
|
77
|
+
.description('Pauses deposits to beacon chain')
|
|
78
|
+
.argument('<address>', 'vault address')
|
|
79
|
+
.action(async (address) => {
|
|
80
|
+
const contract = getStakingVaultContract(address);
|
|
81
|
+
await callWriteMethodWithReceipt(contract, 'pauseBeaconChainDeposits', []);
|
|
82
|
+
});
|
|
83
|
+
vault
|
|
84
|
+
.command('report')
|
|
85
|
+
.description('Submits a report containing valuation, inOutDelta, and locked amount')
|
|
86
|
+
.argument('<address>', 'vault address')
|
|
87
|
+
.argument('<valuation>', 'New total valuation: validator balances + StakingVault balance')
|
|
88
|
+
.argument('<inOutDelta>', 'New net difference between funded and withdrawn ether')
|
|
89
|
+
.argument('<locked>', 'New amount of locked ether')
|
|
90
|
+
.action(async (address, valuation, inOutDelta, locked) => {
|
|
91
|
+
const contract = getStakingVaultContract(address);
|
|
92
|
+
await callWriteMethodWithReceipt(contract, 'report', [
|
|
93
|
+
BigInt(valuation),
|
|
94
|
+
BigInt(inOutDelta),
|
|
95
|
+
BigInt(locked),
|
|
96
|
+
]);
|
|
97
|
+
});
|
|
98
|
+
vault
|
|
99
|
+
.command('rebalance')
|
|
100
|
+
.description('Rebalances the vault')
|
|
101
|
+
.argument('<address>', 'vault address')
|
|
102
|
+
.argument('<amount>', 'amount to rebalance (in WEI)')
|
|
103
|
+
.action(async (address, amount) => {
|
|
104
|
+
const contract = getStakingVaultContract(address);
|
|
105
|
+
await callWriteMethodWithReceipt(contract, 'rebalance', [BigInt(amount)]);
|
|
106
|
+
});
|
|
107
|
+
vault
|
|
108
|
+
.command('trigger-v-w')
|
|
109
|
+
.description('Trigger validator withdrawal')
|
|
110
|
+
.argument('<address>', 'vault address')
|
|
111
|
+
.argument('<pubkeys>', 'validator public keys')
|
|
112
|
+
.argument('<amounts>', 'amounts to withdraw (in WEI)')
|
|
113
|
+
.argument('<refundRecipient>', 'refund recipient address')
|
|
114
|
+
.action(async (address, pubkeys, amount, refundRecipient) => {
|
|
115
|
+
const contract = getStakingVaultContract(address);
|
|
116
|
+
const concatenatedPubkeys = pubkeys.join('');
|
|
117
|
+
await callWriteMethodWithReceipt(contract, 'triggerValidatorWithdrawal', [
|
|
118
|
+
concatenatedPubkeys,
|
|
119
|
+
amount.map((a) => BigInt(a)),
|
|
120
|
+
refundRecipient,
|
|
121
|
+
]);
|
|
122
|
+
});
|
|
123
|
+
//# sourceMappingURL=write.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write.js","sourceRoot":"","sources":["../../../programs/vault/write.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../programs/vault-factory/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAA6B,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../programs/vault-factory/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { program } from '../../command/index.js';
|
|
2
|
+
import { Option } from 'commander';
|
|
3
|
+
import { getCommandsJson } from '../../utils/index.js';
|
|
4
|
+
export const vaultFactory = program
|
|
5
|
+
.command('factory')
|
|
6
|
+
.description('vault factory contract');
|
|
7
|
+
vaultFactory.addOption(new Option('-cmd2json'));
|
|
8
|
+
vaultFactory.on('option:-cmd2json', function () {
|
|
9
|
+
console.info(getCommandsJson(vaultFactory));
|
|
10
|
+
process.exit();
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../programs/vault-factory/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAExC,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO;KAChC,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,wBAAwB,CAAC,CAAC;AAEzC,YAAY,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AAChD,YAAY,CAAC,EAAE,CAAC,kBAAkB,EAAE;IAClC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;IAC5C,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { getVaultFactoryContract } from '../../contracts/index.js';
|
|
2
|
+
import { VaultFactoryAbi } from '../../abi/index.js';
|
|
3
|
+
import { generateReadCommands } from '../../utils/index.js';
|
|
4
|
+
import { vaultFactory } from './main.js';
|
|
5
|
+
import { readCommandConfig } from './config.js';
|
|
6
|
+
vaultFactory
|
|
7
|
+
.command('constants')
|
|
8
|
+
.description('get vault factory constants info')
|
|
9
|
+
.action(async () => {
|
|
10
|
+
const contract = getVaultFactoryContract();
|
|
11
|
+
try {
|
|
12
|
+
const beaconAddress = await contract.read.BEACON();
|
|
13
|
+
const delegationImplAddress = await contract.read.DELEGATION_IMPL();
|
|
14
|
+
console.table({
|
|
15
|
+
beaconAddress,
|
|
16
|
+
delegationImplAddress,
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
catch (err) {
|
|
20
|
+
if (err instanceof Error) {
|
|
21
|
+
console.info('Error when getting constants:\n', err.message);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
generateReadCommands(VaultFactoryAbi, getVaultFactoryContract, vaultFactory, readCommandConfig);
|
|
26
|
+
//# sourceMappingURL=read.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../../programs/vault-factory/read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,YAAY;KACT,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,kCAAkC,CAAC;KAC/C,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,QAAQ,GAAG,uBAAuB,EAAE,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACnD,MAAM,qBAAqB,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;QAEpE,OAAO,CAAC,KAAK,CAAC;YACZ,aAAa;YACb,qBAAqB;SACtB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,iCAAiC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,oBAAoB,CAClB,eAAe,EACf,uBAAuB,EACvB,YAAY,EACZ,iBAAiB,CAClB,CAAC"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { program } from '../../command/index.js';
|
|
2
|
+
import { createVault } from '../../features/index.js';
|
|
3
|
+
import { validateAddressesMap, validateAddressMap, transformAddressesToArray, confirmCreateVaultParams, } from '../../utils/index.js';
|
|
4
|
+
import { vaultFactory } from './main.js';
|
|
5
|
+
vaultFactory
|
|
6
|
+
.command('create-vault')
|
|
7
|
+
.description('create vault contract')
|
|
8
|
+
.option('-f, --funders <funders>', 'funders role address')
|
|
9
|
+
.option('-w, --withdrawers <withdrawers>', 'withdrawers role address')
|
|
10
|
+
.option('-m, --minters <minters>', 'minters role address')
|
|
11
|
+
.option('-b, --burners <burners>', 'burners role address')
|
|
12
|
+
.option('-r, --rebalancers <rebalancers>', 'rebalancers role address')
|
|
13
|
+
.option('-p, --depositPausers <depositPausers>', 'depositPausers role address')
|
|
14
|
+
.option('-d, --depositResumers <depositResumers>', 'depositResumers role address')
|
|
15
|
+
.option('-e, --exitRequesters <exitRequesters>', 'exitRequesters role address')
|
|
16
|
+
.option('-u, --disconnecters <disconnecters>', 'disconnecters role address')
|
|
17
|
+
.option('-c, --curators <curators>', 'curators role address')
|
|
18
|
+
.option('-ve, --validatorExitRequesters <validatorExitRequesters>', 'validator exit requesters role addresses')
|
|
19
|
+
.option('-vt, --validatorWithdrawalTriggerers <validatorWithdrawalTriggerers>', 'validator withdrawal triggerers role address')
|
|
20
|
+
.option('-o, --nodeOperatorFeeClaimer <nodeOperatorFeeClaimer>', 'node operator fee claimer address')
|
|
21
|
+
.option('-cfs, --curatorFeeSetters <curatorFeeSetters>', 'curator fee setters role addresses')
|
|
22
|
+
.option('-cfc, --curatorFeeClaimers <curatorFeeClaimers>', 'curator fee claimers role addresses')
|
|
23
|
+
.option('-nofc, --nodeOperatorFeeClaimers <nodeOperatorFeeClaimers>', 'node operator fee claimers role addresses')
|
|
24
|
+
.argument('<defaultAdmin>', 'default admin address')
|
|
25
|
+
.argument('<nodeOperatorManager>', 'node operator manager address')
|
|
26
|
+
.argument('<assetRecoverer>', 'asset recoverer address')
|
|
27
|
+
.argument('<confirmExpiry>', 'confirm expiry')
|
|
28
|
+
.argument('<curatorFeeBP>', 'Vault curator fee, for e.g. 100 == 1%')
|
|
29
|
+
.argument('<nodeOperatorFeeBP>', 'Node operator fee, for e.g. 100 == 1%')
|
|
30
|
+
.argument('[quantity]', 'quantity of vaults to create, default 1', '1')
|
|
31
|
+
.action(async (defaultAdmin, nodeOperatorManager, assetRecoverer, confirmExpiry, curatorFeeBP, nodeOperatorFeeBP, quantity, options) => {
|
|
32
|
+
const curatorFee = parseInt(curatorFeeBP);
|
|
33
|
+
const nodeOperatorFee = parseInt(nodeOperatorFeeBP);
|
|
34
|
+
const confirmExpiryNumber = Number(confirmExpiry);
|
|
35
|
+
const qnt = parseInt(quantity);
|
|
36
|
+
if (isNaN(curatorFee) || curatorFee < 0) {
|
|
37
|
+
program.error('curator fee must be a positive number', { exitCode: 1 });
|
|
38
|
+
}
|
|
39
|
+
if (isNaN(nodeOperatorFee) || nodeOperatorFee < 0) {
|
|
40
|
+
program.error('operator fee must be a positive number', {
|
|
41
|
+
exitCode: 1,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
if (isNaN(confirmExpiryNumber) || confirmExpiryNumber < 0) {
|
|
45
|
+
program.error('confirm expiry must be a positive number', {
|
|
46
|
+
exitCode: 1,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
if (isNaN(qnt)) {
|
|
50
|
+
program.error('quantity must be a number', { exitCode: 1 });
|
|
51
|
+
}
|
|
52
|
+
const extraKeys = [
|
|
53
|
+
'funders',
|
|
54
|
+
'withdrawers',
|
|
55
|
+
'minters',
|
|
56
|
+
'burners',
|
|
57
|
+
'rebalancers',
|
|
58
|
+
'depositPausers',
|
|
59
|
+
'depositResumers',
|
|
60
|
+
'validatorExitRequesters',
|
|
61
|
+
'validatorWithdrawalTriggerers',
|
|
62
|
+
'disconnecters',
|
|
63
|
+
'curatorFeeSetters',
|
|
64
|
+
'curatorFeeClaimers',
|
|
65
|
+
'nodeOperatorFeeClaimers',
|
|
66
|
+
];
|
|
67
|
+
const addresses = transformAddressesToArray(options, extraKeys);
|
|
68
|
+
const errorsAddressesList = validateAddressesMap(addresses);
|
|
69
|
+
const errorsList = [
|
|
70
|
+
...errorsAddressesList,
|
|
71
|
+
...validateAddressMap([
|
|
72
|
+
assetRecoverer,
|
|
73
|
+
defaultAdmin,
|
|
74
|
+
nodeOperatorManager,
|
|
75
|
+
]),
|
|
76
|
+
];
|
|
77
|
+
if (errorsList.length > 0) {
|
|
78
|
+
errorsList.forEach((error) => program.error(error));
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
// eslint-disable-next-line unicorn/new-for-builtins
|
|
82
|
+
const list = Array.from(Array(qnt));
|
|
83
|
+
const payload = {
|
|
84
|
+
...options,
|
|
85
|
+
...addresses,
|
|
86
|
+
defaultAdmin,
|
|
87
|
+
nodeOperatorManager,
|
|
88
|
+
assetRecoverer,
|
|
89
|
+
confirmExpiry: BigInt(confirmExpiry),
|
|
90
|
+
curatorFeeBP: curatorFee,
|
|
91
|
+
nodeOperatorFeeBP: nodeOperatorFee,
|
|
92
|
+
};
|
|
93
|
+
const transactions = [];
|
|
94
|
+
const { confirm } = await confirmCreateVaultParams(payload);
|
|
95
|
+
if (!confirm)
|
|
96
|
+
program.error('Vault creation cancelled', { exitCode: 1 });
|
|
97
|
+
try {
|
|
98
|
+
for (const _ of list) {
|
|
99
|
+
const tx = await createVault(payload);
|
|
100
|
+
transactions.push(tx);
|
|
101
|
+
}
|
|
102
|
+
console.table(transactions);
|
|
103
|
+
}
|
|
104
|
+
catch (err) {
|
|
105
|
+
if (err instanceof Error) {
|
|
106
|
+
console.info('Error occurred while creating vaults', err.message);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
//# sourceMappingURL=write.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write.js","sourceRoot":"","sources":["../../../programs/vault-factory/write.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
export const readCommandConfig = {
|
|
2
|
+
vaultsConnected: {
|
|
3
|
+
name: 'connected',
|
|
4
|
+
description: 'get vaults connected to vault hub',
|
|
5
|
+
},
|
|
6
|
+
vaultsByRole: {
|
|
7
|
+
name: 'by-ra',
|
|
8
|
+
description: 'get vaults by role and address',
|
|
9
|
+
arguments: {
|
|
10
|
+
_role: {
|
|
11
|
+
name: 'role',
|
|
12
|
+
description: 'role',
|
|
13
|
+
},
|
|
14
|
+
_member: {
|
|
15
|
+
name: 'member',
|
|
16
|
+
description: 'member address',
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
vaultsConnectedBound: {
|
|
21
|
+
name: 'connected-bound',
|
|
22
|
+
description: 'get vaults connected to vault hub - bound',
|
|
23
|
+
arguments: {
|
|
24
|
+
_from: {
|
|
25
|
+
name: 'from',
|
|
26
|
+
description: 'from',
|
|
27
|
+
},
|
|
28
|
+
_to: {
|
|
29
|
+
name: 'to',
|
|
30
|
+
description: 'to',
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
vaultsByRoleBound: {
|
|
35
|
+
name: 'by-ra-bound',
|
|
36
|
+
description: 'get vaults by role and address - bound',
|
|
37
|
+
arguments: {
|
|
38
|
+
_role: {
|
|
39
|
+
name: 'role',
|
|
40
|
+
description: 'role',
|
|
41
|
+
},
|
|
42
|
+
_member: {
|
|
43
|
+
name: 'member',
|
|
44
|
+
description: 'member address',
|
|
45
|
+
},
|
|
46
|
+
_from: {
|
|
47
|
+
name: 'from',
|
|
48
|
+
description: 'from',
|
|
49
|
+
},
|
|
50
|
+
_to: {
|
|
51
|
+
name: 'to',
|
|
52
|
+
description: 'to',
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
vaultsByOwner: {
|
|
57
|
+
name: 'by-owner',
|
|
58
|
+
description: 'get vaults by owner',
|
|
59
|
+
arguments: {
|
|
60
|
+
_owner: {
|
|
61
|
+
name: 'owner',
|
|
62
|
+
description: 'owner address',
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
vaultsByOwnerBound: {
|
|
67
|
+
name: 'by-owner-bound',
|
|
68
|
+
description: 'get vaults by owner - bound',
|
|
69
|
+
arguments: {
|
|
70
|
+
_owner: {
|
|
71
|
+
name: 'owner',
|
|
72
|
+
description: 'owner address',
|
|
73
|
+
},
|
|
74
|
+
_from: {
|
|
75
|
+
name: 'from',
|
|
76
|
+
description: 'from',
|
|
77
|
+
},
|
|
78
|
+
_to: {
|
|
79
|
+
name: 'to',
|
|
80
|
+
description: 'to',
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../programs/vault-viewer/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAA6B;IACzD,eAAe,EAAE;QACf,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,mCAAmC;KACjD;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,gCAAgC;QAC7C,SAAS,EAAE;YACT,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,MAAM;aACpB;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,gBAAgB;aAC9B;SACF;KACF;IACD,oBAAoB,EAAE;QACpB,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,2CAA2C;QACxD,SAAS,EAAE;YACT,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,MAAM;aACpB;YACD,GAAG,EAAE;gBACH,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,IAAI;aAClB;SACF;KACF;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,wCAAwC;QACrD,SAAS,EAAE;YACT,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,MAAM;aACpB;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,gBAAgB;aAC9B;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,MAAM;aACpB;YACD,GAAG,EAAE;gBACH,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,IAAI;aAClB;SACF;KACF;IACD,aAAa,EAAE;QACb,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,qBAAqB;QAClC,SAAS,EAAE;YACT,MAAM,EAAE;gBACN,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,eAAe;aAC7B;SACF;KACF;IACD,kBAAkB,EAAE;QAClB,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,6BAA6B;QAC1C,SAAS,EAAE;YACT,MAAM,EAAE;gBACN,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,eAAe;aAC7B;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,MAAM;aACpB;YACD,GAAG,EAAE;gBACH,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,IAAI;aAClB;SACF;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../programs/vault-viewer/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { program } from '../../command/index.js';
|
|
2
|
+
import { Option } from 'commander';
|
|
3
|
+
import { getCommandsJson } from '../../utils/index.js';
|
|
4
|
+
export const vaultViewer = program.command('v-v').description('vault viewer');
|
|
5
|
+
vaultViewer.addOption(new Option('-cmd2json'));
|
|
6
|
+
vaultViewer.on('option:-cmd2json', function () {
|
|
7
|
+
console.info(getCommandsJson(vaultViewer));
|
|
8
|
+
process.exit();
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../programs/vault-viewer/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAExC,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;AAE9E,WAAW,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AAC/C,WAAW,CAAC,EAAE,CAAC,kBAAkB,EAAE;IACjC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;IAC3C,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { getVaultViewerContract } from '../../contracts/index.js';
|
|
2
|
+
import { getAccount } from '../../providers/index.js';
|
|
3
|
+
import { VaultViewerAbi } from '../../abi/index.js';
|
|
4
|
+
import { generateReadCommands, callReadMethod } from '../../utils/index.js';
|
|
5
|
+
import { vaultViewer } from './main.js';
|
|
6
|
+
import { readCommandConfig } from './config.js';
|
|
7
|
+
generateReadCommands(VaultViewerAbi, getVaultViewerContract, vaultViewer, readCommandConfig);
|
|
8
|
+
vaultViewer
|
|
9
|
+
.command('my')
|
|
10
|
+
.description('get my vaults')
|
|
11
|
+
.action(async () => {
|
|
12
|
+
const contract = getVaultViewerContract();
|
|
13
|
+
const account = getAccount();
|
|
14
|
+
await callReadMethod(contract, 'vaultsByOwner', [account.address]);
|
|
15
|
+
});
|
|
16
|
+
vaultViewer
|
|
17
|
+
.command('my-bound')
|
|
18
|
+
.description('get my vaults - bound')
|
|
19
|
+
.argument('<from>', 'from')
|
|
20
|
+
.argument('<to>', 'to')
|
|
21
|
+
.action(async (from, to) => {
|
|
22
|
+
const contract = getVaultViewerContract();
|
|
23
|
+
const account = getAccount();
|
|
24
|
+
await callReadMethod(contract, 'vaultsByOwnerBound', [
|
|
25
|
+
account.address,
|
|
26
|
+
from,
|
|
27
|
+
to,
|
|
28
|
+
]);
|
|
29
|
+
});
|
|
30
|
+
vaultViewer
|
|
31
|
+
.command('my-by-role')
|
|
32
|
+
.description('get my vaults by role')
|
|
33
|
+
.argument('<role>', 'role')
|
|
34
|
+
.action(async (role) => {
|
|
35
|
+
const contract = getVaultViewerContract();
|
|
36
|
+
const account = getAccount();
|
|
37
|
+
await callReadMethod(contract, 'vaultsByRole', [role, account.address]);
|
|
38
|
+
});
|
|
39
|
+
vaultViewer
|
|
40
|
+
.command('my-by-role-bound')
|
|
41
|
+
.description('get my vaults by role - bound')
|
|
42
|
+
.argument('<role>', 'role')
|
|
43
|
+
.argument('<from>', 'from')
|
|
44
|
+
.argument('<to>', 'to')
|
|
45
|
+
.action(async (role, from, to) => {
|
|
46
|
+
const contract = getVaultViewerContract();
|
|
47
|
+
const account = getAccount();
|
|
48
|
+
await callReadMethod(contract, 'vaultsByRoleBound', [
|
|
49
|
+
role,
|
|
50
|
+
account.address,
|
|
51
|
+
from,
|
|
52
|
+
to,
|
|
53
|
+
]);
|
|
54
|
+
});
|
|
55
|
+
//# sourceMappingURL=read.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../../programs/vault-viewer/read.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,oBAAoB,CAClB,cAAc,EACd,sBAAsB,EACtB,WAAW,EACX,iBAAiB,CAClB,CAAC;AAEF,WAAW;KACR,OAAO,CAAC,IAAI,CAAC;KACb,WAAW,CAAC,eAAe,CAAC;KAC5B,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,MAAM,cAAc,CAAC,QAAQ,EAAE,eAAe,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC;AAEL,WAAW;KACR,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,uBAAuB,CAAC;KACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC1B,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;KACtB,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,EAAU,EAAE,EAAE;IACzC,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,MAAM,cAAc,CAAC,QAAQ,EAAE,oBAAoB,EAAE;QACnD,OAAO,CAAC,OAAO;QACf,IAAI;QACJ,EAAE;KACH,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,WAAW;KACR,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,uBAAuB,CAAC;KACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC1B,MAAM,CAAC,KAAK,EAAE,IAAa,EAAE,EAAE;IAC9B,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,MAAM,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC;AAEL,WAAW;KACR,OAAO,CAAC,kBAAkB,CAAC;KAC3B,WAAW,CAAC,+BAA+B,CAAC;KAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC1B,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;KACtB,MAAM,CAAC,KAAK,EAAE,IAAa,EAAE,IAAY,EAAE,EAAU,EAAE,EAAE;IACxD,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,MAAM,cAAc,CAAC,QAAQ,EAAE,mBAAmB,EAAE;QAClD,IAAI;QACJ,OAAO,CAAC,OAAO;QACf,IAAI;QACJ,EAAE;KACH,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { program } from '../command/index.js';
|
|
2
|
+
import {
|
|
3
|
+
// getTokenManagerContract,
|
|
4
|
+
getVaultHubContract, getVotingContract, } from '../contracts/index.js';
|
|
5
|
+
import { voteLastVoting } from '../features/index.js';
|
|
6
|
+
import { callWriteMethodWithReceipt, callReadMethod } from '../utils/index.js';
|
|
7
|
+
const voting = program.command('vote').description('voting contract');
|
|
8
|
+
voting
|
|
9
|
+
.command('connect-vault')
|
|
10
|
+
.description('vote and connect vault to the hub')
|
|
11
|
+
.description('connects a vault to the hub (vault master role needed)')
|
|
12
|
+
.argument('<address>', 'vault address')
|
|
13
|
+
.argument('<shareLimit>', 'maximum number of stETH shares that can be minted by the vault')
|
|
14
|
+
.argument('<reserveRatio>', 'minimum Reserve ratio in basis points')
|
|
15
|
+
.argument('<reserveRatioThreshold>', 'reserve ratio that makes possible to force rebalance on the vault (in basis points)')
|
|
16
|
+
.argument('<treasuryFeeBP>', 'treasury fee in basis points')
|
|
17
|
+
.action(async (address, shareLimit, reserveRatio, reserveRatioThreshold, treasuryFeeBP) => {
|
|
18
|
+
const contract = await getVaultHubContract();
|
|
19
|
+
await callWriteMethodWithReceipt(contract, 'connectVault', [
|
|
20
|
+
address,
|
|
21
|
+
shareLimit,
|
|
22
|
+
reserveRatio,
|
|
23
|
+
reserveRatioThreshold,
|
|
24
|
+
treasuryFeeBP,
|
|
25
|
+
]);
|
|
26
|
+
});
|
|
27
|
+
voting.command('get-lv').action(async () => {
|
|
28
|
+
const { contract } = getVotingContract();
|
|
29
|
+
const tx = await callReadMethod(contract, 'votesLength');
|
|
30
|
+
console.info({ 'Votes length': tx });
|
|
31
|
+
});
|
|
32
|
+
voting.command('connect-and-vote').action(async () => await voteLastVoting());
|
|
33
|
+
//# sourceMappingURL=voting.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voting.js","sourceRoot":"","sources":["../../programs/voting.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO;AACL,2BAA2B;AAC3B,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEnE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;AAEtE,MAAM;KACH,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,mCAAmC,CAAC;KAChD,WAAW,CAAC,wDAAwD,CAAC;KACrE,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;KACtC,QAAQ,CACP,cAAc,EACd,gEAAgE,CACjE;KACA,QAAQ,CAAC,gBAAgB,EAAE,uCAAuC,CAAC;KACnE,QAAQ,CACP,yBAAyB,EACzB,qFAAqF,CACtF;KACA,QAAQ,CAAC,iBAAiB,EAAE,8BAA8B,CAAC;KAC3D,MAAM,CACL,KAAK,EACH,OAAgB,EAChB,UAAkB,EAClB,YAAoB,EACpB,qBAA6B,EAC7B,aAAqB,EACrB,EAAE;IACF,MAAM,QAAQ,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAE7C,MAAM,0BAA0B,CAAC,QAAQ,EAAE,cAAc,EAAE;QACzD,OAAO;QACP,UAAU;QACV,YAAY;QACZ,qBAAqB;QACrB,aAAa;KACd,CAAC,CAAC;AACL,CAAC,CACF,CAAC;AAEJ,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;IACzC,MAAM,EAAE,QAAQ,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAEzC,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAEzD,OAAO,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,cAAc,EAAE,CAAC,CAAC"}
|
package/dist/providers/index.js
CHANGED
|
@@ -1,18 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./wallet"), exports);
|
|
1
|
+
export * from "./wallet.js";
|
|
18
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../providers/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../providers/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
|