@lidofinance/lsv-cli 1.0.0-alpha.2 → 1.0.0-alpha.20
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 +542 -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/VaultHubViewer.js +297 -0
- package/dist/abi/VaultHubViewer.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-viewer.js +14 -0
- package/dist/contracts/vault-hub-viewer.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.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 +73 -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-hub-viewer.js +52 -0
- package/dist/programs/vault-hub-viewer.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-value.js +5 -11
- package/dist/utils/get-value.js.map +1 -1
- package/dist/utils/index.js +12 -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 +131 -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,14 @@
|
|
|
1
|
+
import { getContract, createPublicClient, http } from 'viem';
|
|
2
|
+
import { VaultFactoryAbi } from '../abi/index.js';
|
|
3
|
+
import { getDeployedAddress, getRpcUrl, getChain } from '../configs/index.js';
|
|
4
|
+
export const getVaultFactoryContract = () => {
|
|
5
|
+
return getContract({
|
|
6
|
+
address: getDeployedAddress('stakingVaultFactory'),
|
|
7
|
+
abi: VaultFactoryAbi,
|
|
8
|
+
client: createPublicClient({
|
|
9
|
+
chain: getChain(),
|
|
10
|
+
transport: http(getRpcUrl()),
|
|
11
|
+
}),
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=vault-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vault-factory.js","sourceRoot":"","sources":["../../contracts/vault-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAElE,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,EAAE;IAC1C,OAAO,WAAW,CAAC;QACjB,OAAO,EAAE,kBAAkB,CAAC,qBAAqB,CAAC;QAClD,GAAG,EAAE,eAAe;QACpB,MAAM,EAAE,kBAAkB,CAAC;YACzB,KAAK,EAAE,QAAQ,EAAE;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;SAC7B,CAAC;KACH,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { getContract, createPublicClient, http } from 'viem';
|
|
2
|
+
import { VaultHubViewerAbi } from '../abi/index.js';
|
|
3
|
+
import { getChain, getRpcUrl } from '../configs/index.js';
|
|
4
|
+
export const getVaultHubViewerContract = (address) => {
|
|
5
|
+
return getContract({
|
|
6
|
+
address,
|
|
7
|
+
abi: VaultHubViewerAbi,
|
|
8
|
+
client: createPublicClient({
|
|
9
|
+
chain: getChain(),
|
|
10
|
+
transport: http(getRpcUrl()),
|
|
11
|
+
}),
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=vault-hub-viewer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vault-hub-viewer.js","sourceRoot":"","sources":["../../contracts/vault-hub-viewer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,IAAI,EAAW,MAAM,MAAM,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAE9C,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,OAAgB,EAAE,EAAE;IAC5D,OAAO,WAAW,CAAC;QACjB,OAAO;QACP,GAAG,EAAE,iBAAiB;QACtB,MAAM,EAAE,kBAAkB,CAAC;YACzB,KAAK,EAAE,QAAQ,EAAE;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;SAC7B,CAAC;KACH,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -1,21 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
transport: (0, viem_1.http)(rpcUrl),
|
|
1
|
+
import { getContract, createPublicClient, http } from 'viem';
|
|
2
|
+
import { VaultHubAbi } from '../abi/index.js';
|
|
3
|
+
import { getChain, getRpcUrl } from '../configs/index.js';
|
|
4
|
+
import { getLocatorContract } from './index.js';
|
|
5
|
+
export const getVaultHubContract = async () => {
|
|
6
|
+
const rpcUrl = getRpcUrl();
|
|
7
|
+
const locator = getLocatorContract();
|
|
8
|
+
const address = await locator.read.vaultHub();
|
|
9
|
+
return getContract({
|
|
10
|
+
address,
|
|
11
|
+
abi: VaultHubAbi,
|
|
12
|
+
client: createPublicClient({
|
|
13
|
+
chain: getChain(),
|
|
14
|
+
transport: http(rpcUrl),
|
|
16
15
|
}),
|
|
17
16
|
});
|
|
18
|
-
return vaultHubContract;
|
|
19
17
|
};
|
|
20
|
-
exports.getVaultHubContract = getVaultHubContract;
|
|
21
18
|
//# sourceMappingURL=vault-hub.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vault-hub.js","sourceRoot":"","sources":["../../contracts/vault-hub.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vault-hub.js","sourceRoot":"","sources":["../../contracts/vault-hub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,IAAI,EAAE;IAC5C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAE9C,OAAO,WAAW,CAAC;QACjB,OAAO;QACP,GAAG,EAAE,WAAW;QAChB,MAAM,EAAE,kBAAkB,CAAC;YACzB,KAAK,EAAE,QAAQ,EAAE;YACjB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC;SACxB,CAAC;KACH,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { getContract, createPublicClient, http } from 'viem';
|
|
2
|
+
import { StakingVaultAbi } from '../abi/index.js';
|
|
3
|
+
import { getChain, getRpcUrl } from '../configs/index.js';
|
|
4
|
+
export const getStakingVaultContract = (address) => {
|
|
5
|
+
return getContract({
|
|
6
|
+
address,
|
|
7
|
+
abi: StakingVaultAbi,
|
|
8
|
+
client: createPublicClient({
|
|
9
|
+
chain: getChain(),
|
|
10
|
+
transport: http(getRpcUrl()),
|
|
11
|
+
}),
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=vault.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vault.js","sourceRoot":"","sources":["../../contracts/vault.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,IAAI,EAAW,MAAM,MAAM,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAE9C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,OAAgB,EAAE,EAAE;IAC1D,OAAO,WAAW,CAAC;QACjB,OAAO;QACP,GAAG,EAAE,eAAe;QACpB,MAAM,EAAE,kBAAkB,CAAC;YACzB,KAAK,EAAE,QAAQ,EAAE;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;SAC7B,CAAC;KACH,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { getContract, createPublicClient, http } from 'viem';
|
|
2
|
+
import { votingAbi } from '../abi/index.js';
|
|
3
|
+
import { getChain, getRpcUrl, getVotingAddress } from '../configs/index.js';
|
|
4
|
+
export const getVotingContract = () => {
|
|
5
|
+
const rpcUrl = getRpcUrl();
|
|
6
|
+
const address = getVotingAddress();
|
|
7
|
+
const client = createPublicClient({
|
|
8
|
+
chain: getChain(),
|
|
9
|
+
transport: http(rpcUrl),
|
|
10
|
+
});
|
|
11
|
+
const contract = getContract({
|
|
12
|
+
abi: votingAbi,
|
|
13
|
+
address,
|
|
14
|
+
client,
|
|
15
|
+
});
|
|
16
|
+
return { client, contract };
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=voting.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voting.js","sourceRoot":"","sources":["../../contracts/voting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhE,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,kBAAkB,CAAC;QAChC,KAAK,EAAE,QAAQ,EAAE;QACjB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC;KACxB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,WAAW,CAAC;QAC3B,GAAG,EAAE,SAAS;QACd,OAAO;QACP,MAAM;KACP,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC9B,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
2
|
+
const advancedConfigStore = new AsyncLocalStorage();
|
|
3
|
+
advancedConfigStore.enterWith({ config: null });
|
|
4
|
+
export const getAdvancedConfig = () => {
|
|
5
|
+
const store = advancedConfigStore.getStore();
|
|
6
|
+
console.info('getAdvancedConfig::store', store);
|
|
7
|
+
return store;
|
|
8
|
+
};
|
|
9
|
+
export const setAdvancedConfig = async (payload) => {
|
|
10
|
+
const store = getAdvancedConfig();
|
|
11
|
+
if (store) {
|
|
12
|
+
store.config = payload;
|
|
13
|
+
}
|
|
14
|
+
console.info('setAdvancedConfig::store', store);
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=advanced-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"advanced-config.js","sourceRoot":"","sources":["../../features/advanced-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,MAAM,mBAAmB,GAAG,IAAI,iBAAiB,EAE7C,CAAC;AACL,mBAAmB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAEhD,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,MAAM,KAAK,GAAG,mBAAmB,CAAC,QAAQ,EAAE,CAAC;IAC7C,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;IAChD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,OAAmB,EAAE,EAAE;IAC7D,MAAM,KAAK,GAAG,iBAAiB,EAAE,CAAC;IAClC,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;AAClD,CAAC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { printError, showSpinner } from '../utils/index.js';
|
|
2
|
+
export const getBaseInfo = async (contract) => {
|
|
3
|
+
const hideSpinner = showSpinner();
|
|
4
|
+
try {
|
|
5
|
+
const steth = await contract.read.STETH();
|
|
6
|
+
const wsteth = await contract.read.WSTETH();
|
|
7
|
+
const weth = await contract.read.WETH();
|
|
8
|
+
const isInit = await contract.read.initialized();
|
|
9
|
+
const vault = await contract.read.stakingVault();
|
|
10
|
+
hideSpinner();
|
|
11
|
+
const payload = {
|
|
12
|
+
steth,
|
|
13
|
+
wsteth,
|
|
14
|
+
weth,
|
|
15
|
+
vault,
|
|
16
|
+
isInit,
|
|
17
|
+
};
|
|
18
|
+
console.table(Object.entries(payload));
|
|
19
|
+
}
|
|
20
|
+
catch (err) {
|
|
21
|
+
hideSpinner();
|
|
22
|
+
printError(err, 'Error when getting base info');
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=dashboard-delegation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard-delegation.js","sourceRoot":"","sources":["../../features/dashboard-delegation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAGhD,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC9B,QAAgD,EAChD,EAAE;IACF,MAAM,WAAW,GAAG,WAAW,EAAE,CAAC;IAClC,IAAI,CAAC;QACH,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,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAEjD,WAAW,EAAE,CAAC;QAEd,MAAM,OAAO,GAAG;YACd,KAAK;YACL,MAAM;YACN,IAAI;YACJ,KAAK;YACL,MAAM;SACP,CAAC;QAEF,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,EAAE,CAAC;QACd,UAAU,CAAC,GAAG,EAAE,8BAA8B,CAAC,CAAC;IAClD,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../features/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-manager.js","sourceRoot":"","sources":["../../features/token-manager.ts"],"names":[],"mappings":";AAAA,0CAA0C;AAC1C;;;KAGK"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { parseEventLogs } from 'viem';
|
|
2
|
+
import { getVaultFactoryContract } from '../contracts/index.js';
|
|
3
|
+
import { VaultFactoryAbi } from '../abi/index.js';
|
|
4
|
+
import { callWriteMethodWithReceipt } from '../utils/index.js';
|
|
5
|
+
export const createVault = async (payload) => {
|
|
6
|
+
const contract = getVaultFactoryContract();
|
|
7
|
+
const result = await callWriteMethodWithReceipt(contract, 'createVaultWithDelegation', [payload, '0x']);
|
|
8
|
+
if (!result)
|
|
9
|
+
return;
|
|
10
|
+
const { receipt, tx } = result;
|
|
11
|
+
const events = parseEventLogs({
|
|
12
|
+
abi: VaultFactoryAbi,
|
|
13
|
+
logs: receipt.logs,
|
|
14
|
+
});
|
|
15
|
+
const vaultEvent = events.find((event) => event.eventName === 'VaultCreated');
|
|
16
|
+
const vault = vaultEvent?.args.vault;
|
|
17
|
+
const delegation = vaultEvent?.args.owner;
|
|
18
|
+
return {
|
|
19
|
+
vault,
|
|
20
|
+
delegation,
|
|
21
|
+
tx,
|
|
22
|
+
blockNumber: receipt.blockNumber,
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=vault-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vault-factory.js","sourceRoot":"","sources":["../../features/vault-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAEtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,OAAO,CAAC;AAEnD,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,OAA4B,EAAE,EAAE;IAChE,MAAM,QAAQ,GAAG,uBAAuB,EAAE,CAAC;IAE3C,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAC7C,QAAQ,EACR,2BAA2B,EAC3B,CAAC,OAAO,EAAE,IAAI,CAAC,CAChB,CAAC;IACF,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;IAE/B,MAAM,MAAM,GAAG,cAAc,CAAC;QAC5B,GAAG,EAAE,eAAe;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,cAAc,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAG,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC;IACrC,MAAM,UAAU,GAAG,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC;IAE1C,OAAO;QACL,KAAK;QACL,UAAU;QACV,EAAE;QACF,WAAW,EAAE,OAAO,CAAC,WAAW;KACjC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import progress from 'cli-progress';
|
|
2
|
+
import { getVotingContract } from '../contracts/index.js';
|
|
3
|
+
import { sleep, callReadMethod, callWriteMethodWithReceipt } from '../utils/index.js';
|
|
4
|
+
const voteAbi = [
|
|
5
|
+
{
|
|
6
|
+
name: 'open',
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
name: 'executed',
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
name: 'startDate',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
name: 'snapshotBlock',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'supportRequired',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
name: 'minAcceptQuorum',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: 'yea',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
name: 'nay',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: 'votingPower',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
name: 'script',
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: 'phase',
|
|
37
|
+
},
|
|
38
|
+
];
|
|
39
|
+
export const voteLastVoting = async () => {
|
|
40
|
+
const { contract } = getVotingContract();
|
|
41
|
+
const votesLength = await callReadMethod(contract, 'votesLength');
|
|
42
|
+
const lastVoteId = votesLength - 1n;
|
|
43
|
+
if (lastVoteId === -1n) {
|
|
44
|
+
console.warn('No votes');
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const lastVote = await contract.read.getVote([lastVoteId]);
|
|
48
|
+
const voteMap = createVoteMap(lastVote);
|
|
49
|
+
console.info('voteLastVoting');
|
|
50
|
+
console.info('voteMap', voteMap);
|
|
51
|
+
if (!voteMap.open) {
|
|
52
|
+
console.warn('Vote is not open');
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
if (voteMap.phase !== 0n) {
|
|
56
|
+
console.warn('Wrong phase');
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
await voteFor(lastVoteId);
|
|
60
|
+
await waitForEnd(lastVoteId);
|
|
61
|
+
await executeVote(lastVoteId);
|
|
62
|
+
};
|
|
63
|
+
export const voteFor = async (voteId) => {
|
|
64
|
+
const { contract } = getVotingContract();
|
|
65
|
+
await callWriteMethodWithReceipt(contract, 'vote', [voteId, true, false]);
|
|
66
|
+
console.info('Vote voted', voteId);
|
|
67
|
+
};
|
|
68
|
+
export const executeVote = async (voteId) => {
|
|
69
|
+
const { contract } = getVotingContract();
|
|
70
|
+
await callWriteMethodWithReceipt(contract, 'executeVote', [voteId]);
|
|
71
|
+
console.info('Vote executed', voteId);
|
|
72
|
+
};
|
|
73
|
+
export const waitForEnd = async (voteId, progressBar) => {
|
|
74
|
+
const { contract, client } = getVotingContract();
|
|
75
|
+
const [vote, voteTime, block] = await Promise.all([
|
|
76
|
+
contract.read.getVote([voteId]),
|
|
77
|
+
contract.read.voteTime(),
|
|
78
|
+
client.getBlock(),
|
|
79
|
+
]);
|
|
80
|
+
if (!block)
|
|
81
|
+
throw new Error('Can not get latest block');
|
|
82
|
+
const voteMap = createVoteMap(vote);
|
|
83
|
+
const voteStart = Number(voteMap.startDate);
|
|
84
|
+
const voteEnd = voteStart + Number(voteTime);
|
|
85
|
+
const bTimestamp = Number(block.timestamp);
|
|
86
|
+
const secondsLeft = Math.max(0, voteEnd - bTimestamp);
|
|
87
|
+
const currentPosition = Math.min(bTimestamp - voteStart, Number(voteTime));
|
|
88
|
+
if (!voteMap.open) {
|
|
89
|
+
progressBar?.update(currentPosition, { secondsLeft });
|
|
90
|
+
progressBar?.stop();
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
if (progressBar) {
|
|
94
|
+
progressBar.update(currentPosition, { secondsLeft });
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
progressBar = new progress.SingleBar({
|
|
98
|
+
format: `Vote #${voteId} in progress |{bar}| {percentage}% | {secondsLeft}s left`,
|
|
99
|
+
}, progress.Presets.shades_classic);
|
|
100
|
+
progressBar.start(Number(voteTime), currentPosition, { secondsLeft });
|
|
101
|
+
}
|
|
102
|
+
await sleep(10_000);
|
|
103
|
+
await waitForEnd(voteId, progressBar);
|
|
104
|
+
};
|
|
105
|
+
export const createVoteMap = (vote) => {
|
|
106
|
+
return vote.reduce((acc, item, index) => {
|
|
107
|
+
if (voteAbi[index]) {
|
|
108
|
+
acc[voteAbi[index].name] = item;
|
|
109
|
+
}
|
|
110
|
+
return acc;
|
|
111
|
+
}, {});
|
|
112
|
+
};
|
|
113
|
+
// export const checkTmCanForward = async () => {
|
|
114
|
+
// const vContract = getVotingContract();
|
|
115
|
+
// const signerAddress = await getSignerAddress(tmContract);
|
|
116
|
+
// const canForward = await tmContract.canForward(signerAddress, '0x');
|
|
117
|
+
//
|
|
118
|
+
// if (!canForward) {
|
|
119
|
+
// console.warn('TM can not forward, check your LDO balance');
|
|
120
|
+
// return false;
|
|
121
|
+
// }
|
|
122
|
+
//
|
|
123
|
+
// return true;
|
|
124
|
+
// };
|
|
125
|
+
//# sourceMappingURL=voting.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voting.js","sourceRoot":"","sources":["../../features/voting.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
#! /usr/bin/env node
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
import { program } from './command/index.js';
|
|
3
|
+
import './programs/index.js';
|
|
4
|
+
program.parseAsync(process.argv).catch((error) => {
|
|
5
|
+
console.error('CLI Error:', error);
|
|
6
|
+
process.exit(1);
|
|
7
|
+
});
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,qBAAqB,CAAC;AAE7B,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IAC/C,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { formatEther } from 'viem';
|
|
2
|
+
import { program } from '../command/index.js';
|
|
3
|
+
import { getWalletWithAccount, getPublicClient } from '../providers/index.js';
|
|
4
|
+
import { printError, showSpinner } from '../utils/index.js';
|
|
5
|
+
const account = program
|
|
6
|
+
.command('account')
|
|
7
|
+
.description('connected account info');
|
|
8
|
+
account
|
|
9
|
+
.command('info')
|
|
10
|
+
.description('general account info')
|
|
11
|
+
.action(async () => {
|
|
12
|
+
const walletClient = getWalletWithAccount();
|
|
13
|
+
const publicClient = getPublicClient();
|
|
14
|
+
const { address } = walletClient.account;
|
|
15
|
+
try {
|
|
16
|
+
const hideSpinner = showSpinner();
|
|
17
|
+
const balance = await publicClient.getBalance({ address });
|
|
18
|
+
hideSpinner();
|
|
19
|
+
console.table({
|
|
20
|
+
address,
|
|
21
|
+
balanceWEI: balance,
|
|
22
|
+
balanceETH: formatEther(balance),
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
catch (err) {
|
|
26
|
+
printError(err, 'Error when getting account info');
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=account.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account.js","sourceRoot":"","sources":["../../programs/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEzD,MAAM,OAAO,GAAG,OAAO;KACpB,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,wBAAwB,CAAC,CAAC;AAEzC,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,sBAAsB,CAAC;KACnC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,YAAY,GAAG,oBAAoB,EAAE,CAAC;IAC5C,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC;IAEzC,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,WAAW,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3D,WAAW,EAAE,CAAC;QAEd,OAAO,CAAC,KAAK,CAAC;YACZ,OAAO;YACP,UAAU,EAAE,OAAO;YACnB,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC;SACjC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,UAAU,CAAC,GAAG,EAAE,iCAAiC,CAAC,CAAC;IACrD,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { readFileSync, existsSync } from 'node:fs';
|
|
2
|
+
import { resolve } from 'node:path';
|
|
3
|
+
import { program } from '../command/index.js';
|
|
4
|
+
import { validateConfig } from '../utils/index.js';
|
|
5
|
+
program
|
|
6
|
+
.command('conf <path>')
|
|
7
|
+
.description('Load and validate a JSON configuration file')
|
|
8
|
+
.action((filePath) => {
|
|
9
|
+
try {
|
|
10
|
+
const absolutePath = resolve(filePath);
|
|
11
|
+
if (!existsSync(absolutePath)) {
|
|
12
|
+
program.error(`File not found: ${absolutePath}`, { exitCode: 1 });
|
|
13
|
+
}
|
|
14
|
+
const rawData = readFileSync(absolutePath, 'utf-8');
|
|
15
|
+
const config = JSON.parse(rawData);
|
|
16
|
+
const errors = validateConfig(config);
|
|
17
|
+
const errorKeys = Object.keys(errors);
|
|
18
|
+
if (errorKeys.length > 0) {
|
|
19
|
+
errorKeys.forEach((key) => program.error(`${key} - ${errors[key]}`));
|
|
20
|
+
process.exit(1);
|
|
21
|
+
}
|
|
22
|
+
console.info('Configuration is valid!');
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
if (error instanceof Error) {
|
|
26
|
+
console.error('Error loading or validating JSON file:', error.message);
|
|
27
|
+
}
|
|
28
|
+
process.exit(1);
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../programs/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO;KACJ,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,6CAA6C,CAAC;KAC1D,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;IACnB,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,KAAK,CAAC,mBAAmB,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEnC,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CACxB,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,MAAM,CAAC,GAAuB,CAAC,EAAE,CAAC,CAC7D,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
export const readCommandConfig = {
|
|
2
|
+
withdrawableEther: {
|
|
3
|
+
name: 'w-ether',
|
|
4
|
+
description: 'get amount of ether that can be withdrawn from the staking vault',
|
|
5
|
+
},
|
|
6
|
+
vaultSocket: {
|
|
7
|
+
name: 'socket',
|
|
8
|
+
description: 'get vault socket',
|
|
9
|
+
},
|
|
10
|
+
vaultHub: {
|
|
11
|
+
name: 'hub',
|
|
12
|
+
description: 'get vaultHub address',
|
|
13
|
+
},
|
|
14
|
+
valuation: {
|
|
15
|
+
name: 'valuation',
|
|
16
|
+
description: 'get vault valuation',
|
|
17
|
+
},
|
|
18
|
+
treasuryFeeBP: {
|
|
19
|
+
name: 't-fee',
|
|
20
|
+
description: 'get treasury fee in basis points',
|
|
21
|
+
},
|
|
22
|
+
totalMintableShares: {
|
|
23
|
+
name: 'total-mintable-shares',
|
|
24
|
+
description: 'get total of shares that can be minted on the vault',
|
|
25
|
+
},
|
|
26
|
+
supportsInterface: {
|
|
27
|
+
name: 'supports-interface',
|
|
28
|
+
description: 'get supports interface by id',
|
|
29
|
+
},
|
|
30
|
+
stakingVault: {
|
|
31
|
+
name: 'vault',
|
|
32
|
+
description: 'get staking vault address',
|
|
33
|
+
},
|
|
34
|
+
sharesMinted: {
|
|
35
|
+
name: 's-minted',
|
|
36
|
+
description: 'get shares minted',
|
|
37
|
+
},
|
|
38
|
+
shareLimit: {
|
|
39
|
+
name: 's-limit',
|
|
40
|
+
description: 'get share limit',
|
|
41
|
+
},
|
|
42
|
+
reserveRatioBP: {
|
|
43
|
+
name: 'reserve-ratio',
|
|
44
|
+
description: 'get reserve ratio in basis points',
|
|
45
|
+
},
|
|
46
|
+
rebalanceThresholdBP: {
|
|
47
|
+
name: 'r-threshold',
|
|
48
|
+
description: 'get rebalance threshold in basis points',
|
|
49
|
+
},
|
|
50
|
+
projectedNewMintableShares: {
|
|
51
|
+
name: 'projected-new-mintable-shares',
|
|
52
|
+
description: 'get projected new mintable shares',
|
|
53
|
+
arguments: {
|
|
54
|
+
_etherToFund: {
|
|
55
|
+
name: 'etherToFund',
|
|
56
|
+
description: 'ether to fund',
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
hasRole: {
|
|
61
|
+
name: 'has-role',
|
|
62
|
+
description: 'get has role by role and account',
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../programs/dashboard/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAA6B;IACzD,iBAAiB,EAAE;QACjB,IAAI,EAAE,SAAS;QACf,WAAW,EACT,kEAAkE;KACrE;IACD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,kBAAkB;KAChC;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,sBAAsB;KACpC;IACD,SAAS,EAAE;QACT,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,qBAAqB;KACnC;IACD,aAAa,EAAE;QACb,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,kCAAkC;KAChD;IACD,mBAAmB,EAAE;QACnB,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,qDAAqD;KACnE;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,8BAA8B;KAC5C;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,2BAA2B;KACzC;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,mBAAmB;KACjC;IACD,UAAU,EAAE;QACV,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,iBAAiB;KAC/B;IACD,cAAc,EAAE;QACd,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,mCAAmC;KACjD;IACD,oBAAoB,EAAE;QACpB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,yCAAyC;KACvD;IACD,0BAA0B,EAAE;QAC1B,IAAI,EAAE,+BAA+B;QACrC,WAAW,EAAE,mCAAmC;QAChD,SAAS,EAAE;YACT,YAAY,EAAE;gBACZ,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,eAAe;aAC7B;SACF;KACF;IACD,OAAO,EAAE;QACP,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,kCAAkC;KAChD;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../programs/dashboard/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 dashboard = program
|
|
5
|
+
.command('dashboard')
|
|
6
|
+
.description('dashboard contract');
|
|
7
|
+
dashboard.addOption(new Option('-cmd2json'));
|
|
8
|
+
dashboard.on('option:-cmd2json', function () {
|
|
9
|
+
console.info(getCommandsJson(dashboard));
|
|
10
|
+
process.exit();
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../programs/dashboard/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,SAAS,GAAG,OAAO;KAC7B,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,oBAAoB,CAAC,CAAC;AAErC,SAAS,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AAC7C,SAAS,CAAC,EAAE,CAAC,kBAAkB,EAAE;IAC/B,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;IACzC,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { getDashboardContract } from '../../contracts/index.js';
|
|
2
|
+
import { DashboardAbi } from '../../abi/index.js';
|
|
3
|
+
import { generateReadCommands, textPrompt } from '../../utils/index.js';
|
|
4
|
+
import { getBaseInfo } from '../../features/index.js';
|
|
5
|
+
import { dashboard } from './main.js';
|
|
6
|
+
import { readCommandConfig } from './config.js';
|
|
7
|
+
dashboard
|
|
8
|
+
.command('info')
|
|
9
|
+
.description('get dashboard base info')
|
|
10
|
+
.option('-a, --address <address>', 'dashboard address')
|
|
11
|
+
.action(async ({ address }) => {
|
|
12
|
+
let dashboardAddress = address;
|
|
13
|
+
if (!dashboardAddress) {
|
|
14
|
+
const answer = await textPrompt('Enter dashboard address', 'address');
|
|
15
|
+
dashboardAddress = answer.address;
|
|
16
|
+
if (!dashboardAddress) {
|
|
17
|
+
console.info('Command cancelled');
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
const contract = getDashboardContract(dashboardAddress);
|
|
22
|
+
await getBaseInfo(contract);
|
|
23
|
+
});
|
|
24
|
+
generateReadCommands(DashboardAbi, getDashboardContract, dashboard, readCommandConfig);
|
|
25
|
+
//# sourceMappingURL=read.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../../programs/dashboard/read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,SAAS;KACN,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,yBAAyB,CAAC;KACtC,MAAM,CAAC,yBAAyB,EAAE,mBAAmB,CAAC;KACtD,MAAM,CAAC,KAAK,EAAE,EAAE,OAAO,EAAwB,EAAE,EAAE;IAClD,IAAI,gBAAgB,GAAG,OAAO,CAAC;IAE/B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,yBAAyB,EAAE,SAAS,CAAC,CAAC;QACtE,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC;QAElC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IAExD,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEL,oBAAoB,CAClB,YAAY,EACZ,oBAAoB,EACpB,SAAS,EACT,iBAAiB,CAClB,CAAC"}
|