@lidofinance/lsv-cli 1.0.0-alpha.3 → 1.0.0-alpha.30
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 +102 -1
- package/dist/abi/BlsHarness.d.ts +178 -0
- package/dist/abi/BlsHarness.js +232 -0
- package/dist/abi/BlsHarness.js.map +1 -0
- package/dist/abi/CLProofVerifier.d.ts +188 -0
- package/dist/abi/CLProofVerifier.js +247 -0
- package/dist/abi/CLProofVerifier.js.map +1 -0
- package/dist/abi/Dashboard.d.ts +1486 -0
- package/dist/abi/Dashboard.js +1920 -0
- package/dist/abi/Dashboard.js.map +1 -0
- package/dist/abi/LidoLocator.d.ts +330 -0
- package/dist/abi/LidoLocator.js +426 -0
- package/dist/abi/LidoLocator.js.map +1 -0
- package/dist/abi/OperatorGrid.d.ts +914 -0
- package/dist/abi/OperatorGrid.js +1185 -0
- package/dist/abi/OperatorGrid.js.map +1 -0
- package/dist/abi/PredepositGuarantee.d.ts +1382 -0
- package/dist/abi/PredepositGuarantee.js +1789 -0
- package/dist/abi/PredepositGuarantee.js.map +1 -0
- package/dist/abi/ReportChecker.d.ts +83 -0
- package/dist/abi/ReportChecker.js +109 -0
- package/dist/abi/ReportChecker.js.map +1 -0
- package/dist/abi/StEth.d.ts +372 -0
- package/dist/abi/StEth.js +493 -0
- package/dist/abi/StEth.js.map +1 -0
- package/dist/abi/StakingVault.d.ts +864 -0
- package/dist/abi/StakingVault.js +1112 -0
- package/dist/abi/StakingVault.js.map +1 -0
- package/dist/abi/TokenManager.d.ts +577 -0
- package/dist/abi/TokenManager.js +756 -0
- package/dist/abi/TokenManager.js.map +1 -0
- package/dist/abi/VaultFactory.d.ts +160 -0
- package/dist/abi/VaultFactory.js +209 -0
- package/dist/abi/VaultFactory.js.map +1 -0
- package/dist/abi/VaultHub.d.ts +1309 -0
- package/dist/abi/VaultHub.js +1245 -436
- package/dist/abi/VaultHub.js.map +1 -1
- package/dist/abi/VaultViewer.d.ts +223 -0
- package/dist/abi/VaultViewer.js +297 -0
- package/dist/abi/VaultViewer.js.map +1 -0
- package/dist/abi/Voting.d.ts +676 -0
- package/dist/abi/Voting.js +884 -0
- package/dist/abi/Voting.js.map +1 -0
- package/dist/abi/WstEth.d.ts +362 -0
- package/dist/abi/WstEth.js +478 -0
- package/dist/abi/WstEth.js.map +1 -0
- package/dist/abi/index.d.ts +15 -0
- package/dist/abi/index.js +17 -0
- package/dist/abi/index.js.map +1 -0
- package/dist/command/index.d.ts +2 -0
- package/dist/command/index.js +4 -5
- package/dist/command/index.js.map +1 -1
- package/dist/configs/constants.d.ts +36 -0
- package/dist/configs/constants.js +3 -0
- package/dist/configs/constants.js.map +1 -0
- package/dist/configs/deployed.d.ts +17 -0
- package/dist/configs/deployed.js +87 -52
- package/dist/configs/deployed.js.map +1 -1
- package/dist/configs/envs.d.ts +2 -0
- package/dist/configs/envs.js +8 -37
- package/dist/configs/envs.js.map +1 -1
- package/dist/configs/index.d.ts +3 -0
- package/dist/configs/index.js +3 -18
- package/dist/configs/index.js.map +1 -1
- package/dist/configs/utils.d.ts +4 -0
- package/dist/configs/utils.js +22 -0
- package/dist/configs/utils.js.map +1 -0
- package/dist/contracts/blsHarness.d.ts +947 -0
- package/dist/contracts/blsHarness.js +24 -0
- package/dist/contracts/blsHarness.js.map +1 -0
- package/dist/contracts/clProofVerifier.d.ts +2647 -0
- package/dist/contracts/clProofVerifier.js +23 -0
- package/dist/contracts/clProofVerifier.js.map +1 -0
- package/dist/contracts/dashboard.d.ts +4 -0
- package/dist/contracts/dashboard.js +11 -0
- package/dist/contracts/dashboard.js.map +1 -0
- package/dist/contracts/index.d.ts +15 -0
- package/dist/contracts/index.js +15 -17
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/locator.d.ts +6935 -0
- package/dist/contracts/locator.js +16 -0
- package/dist/contracts/locator.js.map +1 -0
- package/dist/contracts/operator-grid.d.ts +3 -0
- package/dist/contracts/operator-grid.js +17 -0
- package/dist/contracts/operator-grid.js.map +1 -0
- package/dist/contracts/pdg.d.ts +3 -0
- package/dist/contracts/pdg.js +17 -0
- package/dist/contracts/pdg.js.map +1 -0
- package/dist/contracts/reportChecker.d.ts +758 -0
- package/dist/contracts/reportChecker.js +23 -0
- package/dist/contracts/reportChecker.js.map +1 -0
- package/dist/contracts/steth.d.ts +27706 -0
- package/dist/contracts/steth.js +18 -0
- package/dist/contracts/steth.js.map +1 -0
- package/dist/contracts/token-manager.d.ts +3 -0
- package/dist/contracts/token-manager.js +13 -0
- package/dist/contracts/token-manager.js.map +1 -0
- package/dist/contracts/vault-factory.d.ts +2678 -0
- package/dist/contracts/vault-factory.js +14 -0
- package/dist/contracts/vault-factory.js.map +1 -0
- package/dist/contracts/vault-hub.d.ts +3 -0
- package/dist/contracts/vault-hub.js +14 -16
- package/dist/contracts/vault-hub.js.map +1 -1
- package/dist/contracts/vault-viewer.d.ts +2681 -0
- package/dist/contracts/vault-viewer.js +23 -0
- package/dist/contracts/vault-viewer.js.map +1 -0
- package/dist/contracts/vault.d.ts +3 -0
- package/dist/contracts/vault.js +11 -0
- package/dist/contracts/vault.js.map +1 -0
- package/dist/contracts/voting.d.ts +6 -0
- package/dist/contracts/voting.js +18 -0
- package/dist/contracts/voting.js.map +1 -0
- package/dist/contracts/wsteth.d.ts +24690 -0
- package/dist/contracts/wsteth.js +18 -0
- package/dist/contracts/wsteth.js.map +1 -0
- package/dist/features/advanced-config.d.ts +5 -0
- package/dist/features/advanced-config.js +17 -0
- package/dist/features/advanced-config.js.map +1 -0
- package/dist/features/dashboard.d.ts +5 -0
- package/dist/features/dashboard.js +210 -0
- package/dist/features/dashboard.js.map +1 -0
- package/dist/features/index.d.ts +8 -0
- package/dist/features/index.js +9 -0
- package/dist/features/index.js.map +1 -0
- package/dist/features/operator-grid.d.ts +2 -0
- package/dist/features/operator-grid.js +57 -0
- package/dist/features/operator-grid.js.map +1 -0
- package/dist/features/pdg.d.ts +2 -0
- package/dist/features/pdg.js +79 -0
- package/dist/features/pdg.js.map +1 -0
- package/dist/features/token-manager.d.ts +1 -0
- package/dist/features/token-manager.js +7 -0
- package/dist/features/token-manager.js.map +1 -0
- package/dist/features/vault-factory.d.ts +8 -0
- package/dist/features/vault-factory.js +52 -0
- package/dist/features/vault-factory.js.map +1 -0
- package/dist/features/vault-hub.d.ts +2 -0
- package/dist/features/vault-hub.js +81 -0
- package/dist/features/vault-hub.js.map +1 -0
- package/dist/features/vault.d.ts +2 -0
- package/dist/features/vault.js +54 -0
- package/dist/features/vault.js.map +1 -0
- package/dist/features/voting.d.ts +7 -0
- package/dist/features/voting.js +125 -0
- package/dist/features/voting.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +8 -5
- package/dist/index.js.map +1 -1
- package/dist/programs/account.d.ts +1 -0
- package/dist/programs/account.js +135 -0
- package/dist/programs/account.js.map +1 -0
- package/dist/programs/config.d.ts +1 -0
- package/dist/programs/config.js +31 -0
- package/dist/programs/config.js.map +1 -0
- package/dist/programs/dashboard/config.d.ts +2 -0
- package/dist/programs/dashboard/config.js +111 -0
- package/dist/programs/dashboard/config.js.map +1 -0
- package/dist/programs/dashboard/index.d.ts +3 -0
- package/dist/programs/dashboard/index.js +4 -0
- package/dist/programs/dashboard/index.js.map +1 -0
- package/dist/programs/dashboard/main.d.ts +1 -0
- package/dist/programs/dashboard/main.js +5 -0
- package/dist/programs/dashboard/main.js.map +1 -0
- package/dist/programs/dashboard/read.d.ts +1 -0
- package/dist/programs/dashboard/read.js +76 -0
- package/dist/programs/dashboard/read.js.map +1 -0
- package/dist/programs/dashboard/write.d.ts +1 -0
- package/dist/programs/dashboard/write.js +408 -0
- package/dist/programs/dashboard/write.js.map +1 -0
- package/dist/programs/hub/config.d.ts +2 -0
- package/dist/programs/hub/config.js +123 -0
- package/dist/programs/hub/config.js.map +1 -0
- package/dist/programs/hub/index.d.ts +3 -0
- package/dist/programs/hub/index.js +4 -0
- package/dist/programs/hub/index.js.map +1 -0
- package/dist/programs/hub/main.d.ts +1 -0
- package/dist/programs/hub/main.js +5 -0
- package/dist/programs/hub/main.js.map +1 -0
- package/dist/programs/hub/read.d.ts +1 -0
- package/dist/programs/hub/read.js +57 -0
- package/dist/programs/hub/read.js.map +1 -0
- package/dist/programs/hub/write.d.ts +1 -0
- package/dist/programs/hub/write.js +217 -0
- package/dist/programs/hub/write.js.map +1 -0
- package/dist/programs/index.d.ts +11 -0
- package/dist/programs/index.js +11 -17
- package/dist/programs/index.js.map +1 -1
- package/dist/programs/operator-grid/config.d.ts +2 -0
- package/dist/programs/operator-grid/config.js +81 -0
- package/dist/programs/operator-grid/config.js.map +1 -0
- package/dist/programs/operator-grid/index.d.ts +3 -0
- package/dist/programs/operator-grid/index.js +4 -0
- package/dist/programs/operator-grid/index.js.map +1 -0
- package/dist/programs/operator-grid/main.d.ts +1 -0
- package/dist/programs/operator-grid/main.js +5 -0
- package/dist/programs/operator-grid/main.js.map +1 -0
- package/dist/programs/operator-grid/read.d.ts +1 -0
- package/dist/programs/operator-grid/read.js +24 -0
- package/dist/programs/operator-grid/read.js.map +1 -0
- package/dist/programs/operator-grid/write.d.ts +1 -0
- package/dist/programs/operator-grid/write.js +109 -0
- package/dist/programs/operator-grid/write.js.map +1 -0
- package/dist/programs/pdg/config.d.ts +2 -0
- package/dist/programs/pdg/config.js +133 -0
- package/dist/programs/pdg/config.js.map +1 -0
- package/dist/programs/pdg/index.d.ts +3 -0
- package/dist/programs/pdg/index.js +4 -0
- package/dist/programs/pdg/index.js.map +1 -0
- package/dist/programs/pdg/main.d.ts +1 -0
- package/dist/programs/pdg/main.js +5 -0
- package/dist/programs/pdg/main.js.map +1 -0
- package/dist/programs/pdg/read.d.ts +1 -0
- package/dist/programs/pdg/read.js +24 -0
- package/dist/programs/pdg/read.js.map +1 -0
- package/dist/programs/pdg/write.d.ts +1 -0
- package/dist/programs/pdg/write.js +311 -0
- package/dist/programs/pdg/write.js.map +1 -0
- package/dist/programs/pdg-helpers.d.ts +1 -0
- package/dist/programs/pdg-helpers.js +207 -0
- package/dist/programs/pdg-helpers.js.map +1 -0
- package/dist/programs/report.d.ts +1 -0
- package/dist/programs/report.js +89 -0
- package/dist/programs/report.js.map +1 -0
- package/dist/programs/vault/config.d.ts +2 -0
- package/dist/programs/vault/config.js +70 -0
- package/dist/programs/vault/config.js.map +1 -0
- package/dist/programs/vault/index.d.ts +3 -0
- package/dist/programs/vault/index.js +4 -0
- package/dist/programs/vault/index.js.map +1 -0
- package/dist/programs/vault/main.d.ts +1 -0
- package/dist/programs/vault/main.js +3 -0
- package/dist/programs/vault/main.js.map +1 -0
- package/dist/programs/vault/read.d.ts +1 -0
- package/dist/programs/vault/read.js +25 -0
- package/dist/programs/vault/read.js.map +1 -0
- package/dist/programs/vault/write.d.ts +1 -0
- package/dist/programs/vault/write.js +203 -0
- package/dist/programs/vault/write.js.map +1 -0
- package/dist/programs/vault-factory/config.d.ts +2 -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.d.ts +3 -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.d.ts +1 -0
- package/dist/programs/vault-factory/main.js +5 -0
- package/dist/programs/vault-factory/main.js.map +1 -0
- package/dist/programs/vault-factory/read.d.ts +1 -0
- package/dist/programs/vault-factory/read.js +24 -0
- package/dist/programs/vault-factory/read.js.map +1 -0
- package/dist/programs/vault-factory/write.d.ts +1 -0
- package/dist/programs/vault-factory/write.js +72 -0
- package/dist/programs/vault-factory/write.js.map +1 -0
- package/dist/programs/vault-viewer/config.d.ts +2 -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.d.ts +2 -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.d.ts +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.d.ts +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.d.ts +1 -0
- package/dist/programs/voting.js +18 -0
- package/dist/programs/voting.js.map +1 -0
- package/dist/providers/index.d.ts +1 -0
- package/dist/providers/index.js +1 -17
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/wallet.d.ts +6897 -0
- package/dist/providers/wallet.js +20 -29
- package/dist/providers/wallet.js.map +1 -1
- package/dist/types/common.d.ts +31 -0
- package/dist/types/common.js +2 -0
- package/dist/types/common.js.map +1 -0
- package/dist/types/config.d.ts +23 -0
- package/dist/types/config.js +2 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/arguments.d.ts +13 -0
- package/dist/utils/arguments.js +67 -0
- package/dist/utils/arguments.js.map +1 -0
- package/dist/utils/bls.d.ts +21 -0
- package/dist/utils/bls.js +101 -0
- package/dist/utils/bls.js.map +1 -0
- package/dist/utils/calculate-overview.d.ts +19 -0
- package/dist/utils/calculate-overview.js +55 -0
- package/dist/utils/calculate-overview.js.map +1 -0
- package/dist/utils/commands/dashboard.d.ts +6 -0
- package/dist/utils/commands/dashboard.js +103 -0
- package/dist/utils/commands/dashboard.js.map +1 -0
- package/dist/utils/commands/index.d.ts +1 -0
- package/dist/utils/commands/index.js +2 -0
- package/dist/utils/commands/index.js.map +1 -0
- package/dist/utils/contract.d.ts +25 -0
- package/dist/utils/contract.js +138 -0
- package/dist/utils/contract.js.map +1 -0
- package/dist/utils/data-validators.d.ts +6 -0
- package/dist/utils/data-validators.js +54 -0
- package/dist/utils/data-validators.js.map +1 -0
- package/dist/utils/error-handler.d.ts +1 -0
- package/dist/utils/error-handler.js +13 -0
- package/dist/utils/error-handler.js.map +1 -0
- package/dist/utils/fetchCL.d.ts +14 -0
- package/dist/utils/fetchCL.js +57 -0
- package/dist/utils/fetchCL.js.map +1 -0
- package/dist/utils/get-commands.d.ts +2 -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.d.ts +7 -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.d.ts +1 -0
- package/dist/utils/get-value.js +5 -11
- package/dist/utils/get-value.js.map +1 -1
- package/dist/utils/health.d.ts +27748 -0
- package/dist/utils/health.js +84 -0
- package/dist/utils/health.js.map +1 -0
- package/dist/utils/index.d.ts +22 -0
- package/dist/utils/index.js +22 -17
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/ipfs.d.ts +6 -0
- package/dist/utils/ipfs.js +54 -0
- package/dist/utils/ipfs.js.map +1 -0
- package/dist/utils/logging/console.d.ts +7 -0
- package/dist/utils/logging/console.js +23 -0
- package/dist/utils/logging/console.js.map +1 -0
- package/dist/utils/logging/constants.d.ts +2 -0
- package/dist/utils/logging/constants.js +12 -0
- package/dist/utils/logging/constants.js.map +1 -0
- package/dist/utils/logging/index.d.ts +1 -0
- package/dist/utils/logging/index.js +2 -0
- package/dist/utils/logging/index.js.map +1 -0
- package/dist/utils/prompts/dashboard.d.ts +29 -0
- package/dist/utils/prompts/dashboard.js +63 -0
- package/dist/utils/prompts/dashboard.js.map +1 -0
- package/dist/utils/prompts/default.d.ts +3 -0
- package/dist/utils/prompts/default.js +17 -0
- package/dist/utils/prompts/default.js.map +1 -0
- package/dist/utils/prompts/index.d.ts +5 -0
- package/dist/utils/prompts/index.js +6 -0
- package/dist/utils/prompts/index.js.map +1 -0
- package/dist/utils/prompts/operations.d.ts +9 -0
- package/dist/utils/prompts/operations.js +41 -0
- package/dist/utils/prompts/operations.js.map +1 -0
- package/dist/utils/prompts/predeposit-guarantee.d.ts +3 -0
- package/dist/utils/prompts/predeposit-guarantee.js +22 -0
- package/dist/utils/prompts/predeposit-guarantee.js.map +1 -0
- package/dist/utils/prompts/vault.d.ts +2 -0
- package/dist/utils/prompts/vault.js +14 -0
- package/dist/utils/prompts/vault.js.map +1 -0
- package/dist/utils/proof/create-proof.d.ts +11 -0
- package/dist/utils/proof/create-proof.js +38 -0
- package/dist/utils/proof/create-proof.js.map +1 -0
- package/dist/utils/proof/first-validator-gindex.d.ts +1 -0
- package/dist/utils/proof/first-validator-gindex.js +27 -0
- package/dist/utils/proof/first-validator-gindex.js.map +1 -0
- package/dist/utils/proof/index.d.ts +4 -0
- package/dist/utils/proof/index.js +5 -0
- package/dist/utils/proof/index.js.map +1 -0
- package/dist/utils/proof/merkle-utils.d.ts +54 -0
- package/dist/utils/proof/merkle-utils.js +173 -0
- package/dist/utils/proof/merkle-utils.js.map +1 -0
- package/dist/utils/proof/proofs.d.ts +305 -0
- package/dist/utils/proof/proofs.js +52 -0
- package/dist/utils/proof/proofs.js.map +1 -0
- package/dist/utils/proof/report-proof.d.ts +5 -0
- package/dist/utils/proof/report-proof.js +26 -0
- package/dist/utils/proof/report-proof.js.map +1 -0
- package/dist/utils/read-programs-by-abi.d.ts +18 -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/report.d.ts +75 -0
- package/dist/utils/report.js +68 -0
- package/dist/utils/report.js.map +1 -0
- package/dist/utils/required-lock.d.ts +5 -0
- package/dist/utils/required-lock.js +21 -0
- package/dist/utils/required-lock.js.map +1 -0
- package/dist/utils/resolve-path.d.ts +1 -0
- package/dist/utils/resolve-path.js +10 -0
- package/dist/utils/resolve-path.js.map +1 -0
- package/dist/utils/sleep.d.ts +1 -0
- package/dist/utils/sleep.js +4 -0
- package/dist/utils/sleep.js.map +1 -0
- package/dist/utils/spinner/index.d.ts +1 -0
- package/dist/utils/spinner/index.js +2 -0
- package/dist/utils/spinner/index.js.map +1 -0
- package/dist/utils/spinner/spinners.d.ts +7 -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.d.ts +1 -0
- package/dist/version/index.js +1 -0
- package/dist/version/index.js.map +1 -0
- package/package.json +61 -12
- package/dist/programs/vault-hub.js +0 -137
- package/dist/programs/vault-hub.js.map +0 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { getContract, createPublicClient, http } from 'viem';
|
|
2
|
+
import { WstEthAbi } from '../abi/index.js';
|
|
3
|
+
import { getChain, getElUrl } from '../configs/index.js';
|
|
4
|
+
import { getLocatorContract } from './index.js';
|
|
5
|
+
export const getWstethContract = async () => {
|
|
6
|
+
const locator = getLocatorContract();
|
|
7
|
+
const elUrl = getElUrl();
|
|
8
|
+
const address = await locator.read.wstETH();
|
|
9
|
+
return getContract({
|
|
10
|
+
address: address,
|
|
11
|
+
abi: WstEthAbi,
|
|
12
|
+
client: createPublicClient({
|
|
13
|
+
chain: getChain(),
|
|
14
|
+
transport: http(elUrl),
|
|
15
|
+
}),
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=wsteth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wsteth.js","sourceRoot":"","sources":["../../contracts/wsteth.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,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;IAC1C,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;IAE5C,OAAO,WAAW,CAAC;QACjB,OAAO,EAAE,OAAO;QAChB,GAAG,EAAE,SAAS;QACd,MAAM,EAAE,kBAAkB,CAAC;YACzB,KAAK,EAAE,QAAQ,EAAE;YACjB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC;SACvB,CAAC;KACH,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
2
|
+
import { logInfo } from '../utils/index.js';
|
|
3
|
+
const advancedConfigStore = new AsyncLocalStorage();
|
|
4
|
+
advancedConfigStore.enterWith({ config: null });
|
|
5
|
+
export const getAdvancedConfig = () => {
|
|
6
|
+
const store = advancedConfigStore.getStore();
|
|
7
|
+
logInfo('getAdvancedConfig::store', store);
|
|
8
|
+
return store;
|
|
9
|
+
};
|
|
10
|
+
export const setAdvancedConfig = async (payload) => {
|
|
11
|
+
const store = getAdvancedConfig();
|
|
12
|
+
if (store) {
|
|
13
|
+
store.config = payload;
|
|
14
|
+
}
|
|
15
|
+
logInfo('setAdvancedConfig::store', store);
|
|
16
|
+
};
|
|
17
|
+
//# 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,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,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,0BAA0B,EAAE,KAAK,CAAC,CAAC;IAC3C,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,OAAe,EAAE,EAAE;IACzD,MAAM,KAAK,GAAG,iBAAiB,EAAE,CAAC;IAClC,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;AAC7C,CAAC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { DashboardContract } from '../contracts/index.js';
|
|
2
|
+
export declare const getDashboardHealth: (contract: DashboardContract) => Promise<void>;
|
|
3
|
+
export declare const getDashboardOverview: (contract: DashboardContract) => Promise<void>;
|
|
4
|
+
export declare const getDashboardBaseInfo: (contract: DashboardContract) => Promise<void>;
|
|
5
|
+
export declare const getDashboardRoles: (contract: DashboardContract) => Promise<void>;
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import { formatEther } from 'viem';
|
|
2
|
+
import { getStakingVaultContract } from '../contracts/index.js';
|
|
3
|
+
import { getPublicClient } from '../providers/index.js';
|
|
4
|
+
import { printError, showSpinner, logResult, fetchAndCalculateVaultHealth, logInfo, calculateOverview, formatBP, formatRatio, BASIS_POINTS_DENOMINATOR, } from '../utils/index.js';
|
|
5
|
+
export const getDashboardHealth = async (contract) => {
|
|
6
|
+
try {
|
|
7
|
+
const { healthRatio, isHealthy, totalValue, totalValueInEth, liabilitySharesInSteth, forceRebalanceThresholdBP, liabilityShares, } = await fetchAndCalculateVaultHealth(contract);
|
|
8
|
+
logInfo('Vault Health');
|
|
9
|
+
logResult({
|
|
10
|
+
'Vault Healthy': isHealthy,
|
|
11
|
+
'Health Rate': `${healthRatio}%`,
|
|
12
|
+
'Total Value, wei': totalValue,
|
|
13
|
+
'Total Value, ether': totalValueInEth,
|
|
14
|
+
'Liability Shares': liabilityShares,
|
|
15
|
+
'Liability Shares in stETH': liabilitySharesInSteth,
|
|
16
|
+
'Rebalance Threshold, BP': forceRebalanceThresholdBP,
|
|
17
|
+
'Rebalance Threshold, %': `${forceRebalanceThresholdBP / 100}%`,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
catch (err) {
|
|
21
|
+
if (err instanceof Error) {
|
|
22
|
+
logInfo('Error when getting info:\n', err.message);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
export const getDashboardOverview = async (contract) => {
|
|
27
|
+
const hideSpinner = showSpinner();
|
|
28
|
+
const publicClient = getPublicClient();
|
|
29
|
+
try {
|
|
30
|
+
const health = await fetchAndCalculateVaultHealth(contract);
|
|
31
|
+
const [vault, nodeOperatorFeeBP, reserveRatioBP, totalMintingCapacity, withdrawableEther, nodeOperatorUnclaimedFee, totalValue,] = await Promise.all([
|
|
32
|
+
contract.read.stakingVault(),
|
|
33
|
+
contract.read.nodeOperatorFeeBP(),
|
|
34
|
+
contract.read.reserveRatioBP(),
|
|
35
|
+
contract.read.totalMintingCapacity(),
|
|
36
|
+
contract.read.withdrawableEther(),
|
|
37
|
+
contract.read.nodeOperatorUnclaimedFee(),
|
|
38
|
+
contract.read.totalValue(),
|
|
39
|
+
]);
|
|
40
|
+
const vaultContract = getStakingVaultContract(vault);
|
|
41
|
+
const locked = await vaultContract.read.locked();
|
|
42
|
+
const balance = await publicClient.getBalance({
|
|
43
|
+
address: contract.address,
|
|
44
|
+
});
|
|
45
|
+
const overview = calculateOverview(totalValue, reserveRatioBP, health.liabilitySharesInWei, health.forceRebalanceThresholdBP, withdrawableEther, balance, locked, nodeOperatorUnclaimedFee, totalMintingCapacity);
|
|
46
|
+
hideSpinner();
|
|
47
|
+
logInfo('Overview');
|
|
48
|
+
logResult({
|
|
49
|
+
'Total Value': `${formatEther(totalValue)} ETH`,
|
|
50
|
+
'Reserve Ratio': formatBP(reserveRatioBP),
|
|
51
|
+
'Health Factor': `${formatRatio(overview.healthRatio)}%`,
|
|
52
|
+
'stETH Liability': `${formatEther(health.liabilitySharesInStethWei)} stETH`,
|
|
53
|
+
'Force Rebalance Threshold': formatBP(health.forceRebalanceThresholdBP),
|
|
54
|
+
'Utilization Ratio': formatRatio(overview.utilizationRatio),
|
|
55
|
+
'Available To Withdrawal': `${formatEther(overview.AvailableToWithdrawal)} ETH`,
|
|
56
|
+
'Idle Capital': `${formatEther(overview.idleCapital)} ETH`,
|
|
57
|
+
'Deposited To Validators': `${formatEther(overview.depositedToValidators)} ETH`,
|
|
58
|
+
'Total Locked': `${formatEther(overview.totalLocked)} ETH`,
|
|
59
|
+
'Locked By Accumulated Fees': `${formatEther(overview.lockedByAccumulatedFees)} ETH`,
|
|
60
|
+
Collateral: `${formatEther(overview.collateral)} ETH`,
|
|
61
|
+
// 'Pending Unlock': `${formatEther(overview.PendingUnlock)} ETH`, // TODO: by report
|
|
62
|
+
'No Reward Share': formatBP(nodeOperatorFeeBP),
|
|
63
|
+
'No Rewards Accumulated': `${formatEther(nodeOperatorUnclaimedFee)} ETH`,
|
|
64
|
+
'Total Reservable': `${formatEther(overview.totalReservable)} ETH`,
|
|
65
|
+
Reserved: `${formatEther(overview.reserved)} ETH`,
|
|
66
|
+
'stETH Minting Capacity Used': `${overview.stethMintingCapacityUsed.toFixed(2)}%`,
|
|
67
|
+
'Total Minting Capacity': `${formatEther(overview.totalMintingCapacity)} stETH`,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
catch (err) {
|
|
71
|
+
hideSpinner();
|
|
72
|
+
printError(err, 'Error when getting overview');
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
export const getDashboardBaseInfo = async (contract) => {
|
|
76
|
+
const hideSpinner = showSpinner();
|
|
77
|
+
const publicClient = getPublicClient();
|
|
78
|
+
try {
|
|
79
|
+
const [steth, wsteth, vault, vaultHub, accruedRewardsAdjustment, confirmExpiry, nodeOperatorFeeBP, remainingMintingCapacity, reserveRatioBP, shareLimit, totalMintingCapacity, treasuryFeeBP, unreserved, withdrawableEther, manualAccruedRewardsAdjustmentLimit, maxConfirmExpiry, minConfirmExpiry, nodeOperatorUnclaimedFee, totalValue,] = await Promise.all([
|
|
80
|
+
contract.read.STETH(),
|
|
81
|
+
contract.read.WSTETH(),
|
|
82
|
+
contract.read.stakingVault(),
|
|
83
|
+
contract.read.VAULT_HUB(),
|
|
84
|
+
contract.read.accruedRewardsAdjustment(),
|
|
85
|
+
contract.read.getConfirmExpiry(),
|
|
86
|
+
contract.read.nodeOperatorFeeBP(),
|
|
87
|
+
contract.read.remainingMintingCapacity([0n]),
|
|
88
|
+
contract.read.reserveRatioBP(),
|
|
89
|
+
contract.read.shareLimit(),
|
|
90
|
+
contract.read.totalMintingCapacity(),
|
|
91
|
+
contract.read.treasuryFeeBP(),
|
|
92
|
+
contract.read.unreserved(),
|
|
93
|
+
contract.read.withdrawableEther(),
|
|
94
|
+
contract.read.MANUAL_ACCRUED_REWARDS_ADJUSTMENT_LIMIT(),
|
|
95
|
+
contract.read.MAX_CONFIRM_EXPIRY(),
|
|
96
|
+
contract.read.MIN_CONFIRM_EXPIRY(),
|
|
97
|
+
contract.read.nodeOperatorUnclaimedFee(),
|
|
98
|
+
contract.read.totalValue(),
|
|
99
|
+
]);
|
|
100
|
+
const vaultContract = getStakingVaultContract(vault);
|
|
101
|
+
const locked = await vaultContract.read.locked();
|
|
102
|
+
const balance = await publicClient.getBalance({
|
|
103
|
+
address: contract.address,
|
|
104
|
+
});
|
|
105
|
+
hideSpinner();
|
|
106
|
+
logInfo('Dashboard Base Info');
|
|
107
|
+
logResult({
|
|
108
|
+
'stETH address': steth,
|
|
109
|
+
'wstETH address': wsteth,
|
|
110
|
+
'Vault address': vault,
|
|
111
|
+
'Vault Hub address': vaultHub,
|
|
112
|
+
'Total Value': `${formatEther(totalValue)} ETH`,
|
|
113
|
+
'Reserve Ratio': formatBP(reserveRatioBP),
|
|
114
|
+
Locked: `${formatEther(locked)} ETH`,
|
|
115
|
+
Balance: `${formatEther(balance)} ETH`,
|
|
116
|
+
'Share Limit': `${formatEther(shareLimit)} Shares`,
|
|
117
|
+
'Share Limit in Wei': shareLimit,
|
|
118
|
+
'Total Minting Capacity': `${formatEther(totalMintingCapacity)} stETH`,
|
|
119
|
+
'Node Operator Unclaimed Fee': `${formatEther(nodeOperatorUnclaimedFee)} ETH`,
|
|
120
|
+
'Accrued Rewards Adjustment': `${formatEther(accruedRewardsAdjustment)} ETH`,
|
|
121
|
+
'Node Operator Fee BP': formatBP(nodeOperatorFeeBP),
|
|
122
|
+
'Remaining Minting Capacity': `${formatEther(remainingMintingCapacity)} stETH`,
|
|
123
|
+
'Treasury Fee BP': treasuryFeeBP,
|
|
124
|
+
'Treasury Fee BP in Percent': `${(Number(treasuryFeeBP) / Number(BASIS_POINTS_DENOMINATOR)) * 100}%`,
|
|
125
|
+
Unreserved: `${formatEther(unreserved)} ETH`,
|
|
126
|
+
'Withdrawable Ether': `${formatEther(withdrawableEther)} ETH`,
|
|
127
|
+
'Manual Accrued Rewards Adjustment Limit': `${formatEther(manualAccruedRewardsAdjustmentLimit)} ETH`,
|
|
128
|
+
'Confirm Expiry': `${confirmExpiry} (${Number(confirmExpiry) / 3600} hours)`,
|
|
129
|
+
'Max Confirm Expiry': `${maxConfirmExpiry} (${Number(maxConfirmExpiry) / 3600} hours)`,
|
|
130
|
+
'Min Confirm Expiry': `${minConfirmExpiry} (${Number(minConfirmExpiry) / 3600} hours)`,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
catch (err) {
|
|
134
|
+
hideSpinner();
|
|
135
|
+
printError(err, 'Error when getting base info');
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
export const getDashboardRoles = async (contract) => {
|
|
139
|
+
const hideSpinner = showSpinner();
|
|
140
|
+
try {
|
|
141
|
+
const BURN_ROLE = await contract.read.BURN_ROLE();
|
|
142
|
+
const DEFAULT_ADMIN_ROLE = await contract.read.DEFAULT_ADMIN_ROLE();
|
|
143
|
+
const FUND_ROLE = await contract.read.FUND_ROLE();
|
|
144
|
+
const LIDO_VAULTHUB_AUTHORIZATION_ROLE = await contract.read.LIDO_VAULTHUB_AUTHORIZATION_ROLE();
|
|
145
|
+
const LIDO_VAULTHUB_DEAUTHORIZATION_ROLE = await contract.read.LIDO_VAULTHUB_DEAUTHORIZATION_ROLE();
|
|
146
|
+
const LOCK_ROLE = await contract.read.LOCK_ROLE();
|
|
147
|
+
const MINT_ROLE = await contract.read.MINT_ROLE();
|
|
148
|
+
const NODE_OPERATOR_FEE_CLAIM_ROLE = await contract.read.NODE_OPERATOR_FEE_CLAIM_ROLE();
|
|
149
|
+
const NODE_OPERATOR_MANAGER_ROLE = await contract.read.NODE_OPERATOR_MANAGER_ROLE();
|
|
150
|
+
const NODE_OPERATOR_REWARDS_ADJUST_ROLE = await contract.read.NODE_OPERATOR_REWARDS_ADJUST_ROLE();
|
|
151
|
+
const OSSIFY_ROLE = await contract.read.OSSIFY_ROLE();
|
|
152
|
+
const PAUSE_BEACON_CHAIN_DEPOSITS_ROLE = await contract.read.PAUSE_BEACON_CHAIN_DEPOSITS_ROLE();
|
|
153
|
+
const PDG_COMPENSATE_PREDEPOSIT_ROLE = await contract.read.PDG_COMPENSATE_PREDEPOSIT_ROLE();
|
|
154
|
+
const PDG_PROVE_VALIDATOR_ROLE = await contract.read.PDG_PROVE_VALIDATOR_ROLE();
|
|
155
|
+
const REBALANCE_ROLE = await contract.read.REBALANCE_ROLE();
|
|
156
|
+
const RECOVER_ASSETS_ROLE = await contract.read.RECOVER_ASSETS_ROLE();
|
|
157
|
+
const REQUEST_TIER_CHANGE_ROLE = await contract.read.REQUEST_TIER_CHANGE_ROLE();
|
|
158
|
+
const REQUEST_VALIDATOR_EXIT_ROLE = await contract.read.REQUEST_VALIDATOR_EXIT_ROLE();
|
|
159
|
+
const RESET_LOCKED_ROLE = await contract.read.RESET_LOCKED_ROLE();
|
|
160
|
+
const RESUME_BEACON_CHAIN_DEPOSITS_ROLE = await contract.read.RESUME_BEACON_CHAIN_DEPOSITS_ROLE();
|
|
161
|
+
const SET_DEPOSITOR_ROLE = await contract.read.SET_DEPOSITOR_ROLE();
|
|
162
|
+
const TRIGGER_VALIDATOR_WITHDRAWAL_ROLE = await contract.read.TRIGGER_VALIDATOR_WITHDRAWAL_ROLE();
|
|
163
|
+
const UNGUARANTEED_BEACON_CHAIN_DEPOSIT_ROLE = await contract.read.UNGUARANTEED_BEACON_CHAIN_DEPOSIT_ROLE();
|
|
164
|
+
const VOLUNTARY_DISCONNECT_ROLE = await contract.read.VOLUNTARY_DISCONNECT_ROLE();
|
|
165
|
+
const WITHDRAW_ROLE = await contract.read.WITHDRAW_ROLE();
|
|
166
|
+
const roles = {
|
|
167
|
+
BURN_ROLE,
|
|
168
|
+
DEFAULT_ADMIN_ROLE,
|
|
169
|
+
FUND_ROLE,
|
|
170
|
+
LIDO_VAULTHUB_AUTHORIZATION_ROLE,
|
|
171
|
+
LIDO_VAULTHUB_DEAUTHORIZATION_ROLE,
|
|
172
|
+
LOCK_ROLE,
|
|
173
|
+
MINT_ROLE,
|
|
174
|
+
NODE_OPERATOR_FEE_CLAIM_ROLE,
|
|
175
|
+
NODE_OPERATOR_MANAGER_ROLE,
|
|
176
|
+
NODE_OPERATOR_REWARDS_ADJUST_ROLE,
|
|
177
|
+
OSSIFY_ROLE,
|
|
178
|
+
PAUSE_BEACON_CHAIN_DEPOSITS_ROLE,
|
|
179
|
+
PDG_COMPENSATE_PREDEPOSIT_ROLE,
|
|
180
|
+
PDG_PROVE_VALIDATOR_ROLE,
|
|
181
|
+
REBALANCE_ROLE,
|
|
182
|
+
RECOVER_ASSETS_ROLE,
|
|
183
|
+
REQUEST_TIER_CHANGE_ROLE,
|
|
184
|
+
REQUEST_VALIDATOR_EXIT_ROLE,
|
|
185
|
+
RESET_LOCKED_ROLE,
|
|
186
|
+
RESUME_BEACON_CHAIN_DEPOSITS_ROLE,
|
|
187
|
+
SET_DEPOSITOR_ROLE,
|
|
188
|
+
TRIGGER_VALIDATOR_WITHDRAWAL_ROLE,
|
|
189
|
+
UNGUARANTEED_BEACON_CHAIN_DEPOSIT_ROLE,
|
|
190
|
+
VOLUNTARY_DISCONNECT_ROLE,
|
|
191
|
+
WITHDRAW_ROLE,
|
|
192
|
+
};
|
|
193
|
+
const result = await Promise.all(Object.entries(roles).map(async ([key, value]) => {
|
|
194
|
+
const accounts = await contract.read.getRoleMembers([value]);
|
|
195
|
+
const roleName = `${key} (${value})`;
|
|
196
|
+
return {
|
|
197
|
+
Role: roleName,
|
|
198
|
+
Members: accounts.length > 0 ? accounts.join(', ') : 'None',
|
|
199
|
+
};
|
|
200
|
+
}));
|
|
201
|
+
hideSpinner();
|
|
202
|
+
logInfo('Dashboard Roles');
|
|
203
|
+
logResult(result);
|
|
204
|
+
}
|
|
205
|
+
catch (err) {
|
|
206
|
+
hideSpinner();
|
|
207
|
+
printError(err, 'Error when getting roles');
|
|
208
|
+
}
|
|
209
|
+
};
|
|
210
|
+
//# sourceMappingURL=dashboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../features/dashboard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './advanced-config.js';
|
|
2
|
+
export * from './vault-factory.js';
|
|
3
|
+
export * from './voting.js';
|
|
4
|
+
export * from './dashboard.js';
|
|
5
|
+
export * from './vault-hub.js';
|
|
6
|
+
export * from './operator-grid.js';
|
|
7
|
+
export * from './pdg.js';
|
|
8
|
+
export * from './vault.js';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './advanced-config.js';
|
|
2
|
+
export * from './vault-factory.js';
|
|
3
|
+
export * from './voting.js';
|
|
4
|
+
export * from './dashboard.js';
|
|
5
|
+
export * from './vault-hub.js';
|
|
6
|
+
export * from './operator-grid.js';
|
|
7
|
+
export * from './pdg.js';
|
|
8
|
+
export * from './vault.js';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -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,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { printError, showSpinner, logResult } from '../utils/index.js';
|
|
2
|
+
import { getOperatorGridContract } from '../contracts/index.js';
|
|
3
|
+
export const getOperatorGridBaseInfo = async () => {
|
|
4
|
+
const hideSpinner = showSpinner();
|
|
5
|
+
try {
|
|
6
|
+
const contract = await getOperatorGridContract();
|
|
7
|
+
const DEFAULT_ADMIN_ROLE = await contract.read.DEFAULT_ADMIN_ROLE();
|
|
8
|
+
const DEFAULT_TIER_ID = await contract.read.DEFAULT_TIER_ID();
|
|
9
|
+
const DEFAULT_TIER_OPERATOR = await contract.read.DEFAULT_TIER_OPERATOR();
|
|
10
|
+
const LIDO_LOCATOR = await contract.read.LIDO_LOCATOR();
|
|
11
|
+
const REGISTRY_ROLE = await contract.read.REGISTRY_ROLE();
|
|
12
|
+
const nodeOperatorCount = await contract.read.nodeOperatorCount();
|
|
13
|
+
const CONTRACT_ADDRESS = contract.address;
|
|
14
|
+
hideSpinner();
|
|
15
|
+
const payload = {
|
|
16
|
+
DEFAULT_ADMIN_ROLE,
|
|
17
|
+
DEFAULT_TIER_ID,
|
|
18
|
+
DEFAULT_TIER_OPERATOR,
|
|
19
|
+
LIDO_LOCATOR,
|
|
20
|
+
REGISTRY_ROLE,
|
|
21
|
+
nodeOperatorCount,
|
|
22
|
+
CONTRACT_ADDRESS,
|
|
23
|
+
};
|
|
24
|
+
logResult(Object.entries(payload));
|
|
25
|
+
}
|
|
26
|
+
catch (err) {
|
|
27
|
+
hideSpinner();
|
|
28
|
+
printError(err, 'Error when getting base info');
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
export const getOperatorGridRoles = async () => {
|
|
32
|
+
const hideSpinner = showSpinner();
|
|
33
|
+
try {
|
|
34
|
+
const contract = await getOperatorGridContract();
|
|
35
|
+
const DEFAULT_ADMIN_ROLE = await contract.read.DEFAULT_ADMIN_ROLE();
|
|
36
|
+
const REGISTRY_ROLE = await contract.read.REGISTRY_ROLE();
|
|
37
|
+
const roles = {
|
|
38
|
+
DEFAULT_ADMIN_ROLE,
|
|
39
|
+
REGISTRY_ROLE,
|
|
40
|
+
};
|
|
41
|
+
const result = await Promise.all(Object.entries(roles).map(async ([key, value]) => {
|
|
42
|
+
const accounts = await contract.read.getRoleMembers([value]);
|
|
43
|
+
const roleName = `${key} (${value})`;
|
|
44
|
+
return {
|
|
45
|
+
Role: roleName,
|
|
46
|
+
Members: accounts.length > 0 ? accounts.join(', ') : 'None',
|
|
47
|
+
};
|
|
48
|
+
}));
|
|
49
|
+
hideSpinner();
|
|
50
|
+
logResult(result);
|
|
51
|
+
}
|
|
52
|
+
catch (err) {
|
|
53
|
+
hideSpinner();
|
|
54
|
+
printError(err, 'Error when getting roles');
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=operator-grid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operator-grid.js","sourceRoot":"","sources":["../../features/operator-grid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAEpD,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,IAAI,EAAE;IAChD,MAAM,WAAW,GAAG,WAAW,EAAE,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,uBAAuB,EAAE,CAAC;QAEjD,MAAM,kBAAkB,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACpE,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9D,MAAM,qBAAqB,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC1E,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QACxD,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QAC1D,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAElE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC;QAE1C,WAAW,EAAE,CAAC;QAEd,MAAM,OAAO,GAAG;YACd,kBAAkB;YAClB,eAAe;YACf,qBAAqB;YACrB,YAAY;YACZ,aAAa;YACb,iBAAiB;YACjB,gBAAgB;SACjB,CAAC;QAEF,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,EAAE,CAAC;QACd,UAAU,CAAC,GAAG,EAAE,8BAA8B,CAAC,CAAC;IAClD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,IAAI,EAAE;IAC7C,MAAM,WAAW,GAAG,WAAW,EAAE,CAAC;IAElC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,uBAAuB,EAAE,CAAC;QAEjD,MAAM,kBAAkB,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACpE,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QAE1D,MAAM,KAAK,GAAG;YACZ,kBAAkB;YAClB,aAAa;SACd,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC/C,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAG,GAAG,GAAG,KAAK,KAAK,GAAG,CAAC;YACrC,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM;aAC5D,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QACF,WAAW,EAAE,CAAC;QACd,SAAS,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,EAAE,CAAC;QACd,UAAU,CAAC,GAAG,EAAE,0BAA0B,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { printError, showSpinner, logResult } from '../utils/index.js';
|
|
2
|
+
import { getPredepositGuaranteeContract } from '../contracts/index.js';
|
|
3
|
+
export const getPdgBaseInfo = async () => {
|
|
4
|
+
const hideSpinner = showSpinner();
|
|
5
|
+
try {
|
|
6
|
+
const contract = await getPredepositGuaranteeContract();
|
|
7
|
+
const DEFAULT_ADMIN_ROLE = await contract.read.DEFAULT_ADMIN_ROLE();
|
|
8
|
+
const BEACON_ROOTS = await contract.read.BEACON_ROOTS();
|
|
9
|
+
const GI_FIRST_VALIDATOR = await contract.read.GI_FIRST_VALIDATOR();
|
|
10
|
+
const GI_FIRST_VALIDATOR_AFTER_CHANGE = await contract.read.GI_FIRST_VALIDATOR_AFTER_CHANGE();
|
|
11
|
+
const GI_PUBKEY_WC_PARENT = await contract.read.GI_PUBKEY_WC_PARENT();
|
|
12
|
+
const GI_STATE_ROOT = await contract.read.GI_STATE_ROOT();
|
|
13
|
+
const MAX_SUPPORTED_WC_VERSION = await contract.read.MAX_SUPPORTED_WC_VERSION();
|
|
14
|
+
const MIN_SUPPORTED_WC_VERSION = await contract.read.MIN_SUPPORTED_WC_VERSION();
|
|
15
|
+
const PREDEPOSIT_AMOUNT = await contract.read.PREDEPOSIT_AMOUNT();
|
|
16
|
+
const SLOT_CHANGE_GI_FIRST_VALIDATOR = await contract.read.SLOT_CHANGE_GI_FIRST_VALIDATOR();
|
|
17
|
+
const isPaused = await contract.read.isPaused();
|
|
18
|
+
const resumeSinceTimestamp = await contract.read.getResumeSinceTimestamp();
|
|
19
|
+
const STATE_ROOT_DEPTH = await contract.read.STATE_ROOT_DEPTH();
|
|
20
|
+
const STATE_ROOT_POSITION = await contract.read.STATE_ROOT_POSITION();
|
|
21
|
+
const WC_PUBKEY_PARENT_DEPTH = await contract.read.WC_PUBKEY_PARENT_DEPTH();
|
|
22
|
+
const WC_PUBKEY_PARENT_POSITION = await contract.read.WC_PUBKEY_PARENT_POSITION();
|
|
23
|
+
const CONTRACT_ADDRESS = contract.address;
|
|
24
|
+
hideSpinner();
|
|
25
|
+
const payload = {
|
|
26
|
+
DEFAULT_ADMIN_ROLE,
|
|
27
|
+
BEACON_ROOTS,
|
|
28
|
+
GI_FIRST_VALIDATOR,
|
|
29
|
+
GI_FIRST_VALIDATOR_AFTER_CHANGE,
|
|
30
|
+
GI_PUBKEY_WC_PARENT,
|
|
31
|
+
GI_STATE_ROOT,
|
|
32
|
+
MAX_SUPPORTED_WC_VERSION,
|
|
33
|
+
MIN_SUPPORTED_WC_VERSION,
|
|
34
|
+
PREDEPOSIT_AMOUNT,
|
|
35
|
+
SLOT_CHANGE_GI_FIRST_VALIDATOR,
|
|
36
|
+
isPaused,
|
|
37
|
+
resumeSinceTimestamp,
|
|
38
|
+
STATE_ROOT_DEPTH,
|
|
39
|
+
STATE_ROOT_POSITION,
|
|
40
|
+
WC_PUBKEY_PARENT_DEPTH,
|
|
41
|
+
WC_PUBKEY_PARENT_POSITION,
|
|
42
|
+
CONTRACT_ADDRESS,
|
|
43
|
+
};
|
|
44
|
+
logResult(Object.entries(payload));
|
|
45
|
+
}
|
|
46
|
+
catch (err) {
|
|
47
|
+
hideSpinner();
|
|
48
|
+
printError(err, 'Error when getting base info');
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
export const getPdgRoles = async () => {
|
|
52
|
+
const hideSpinner = showSpinner();
|
|
53
|
+
try {
|
|
54
|
+
const contract = await getPredepositGuaranteeContract();
|
|
55
|
+
const DEFAULT_ADMIN_ROLE = await contract.read.DEFAULT_ADMIN_ROLE();
|
|
56
|
+
const RESUME_ROLE = await contract.read.RESUME_ROLE();
|
|
57
|
+
const PAUSE_ROLE = await contract.read.PAUSE_ROLE();
|
|
58
|
+
const roles = {
|
|
59
|
+
DEFAULT_ADMIN_ROLE,
|
|
60
|
+
RESUME_ROLE,
|
|
61
|
+
PAUSE_ROLE,
|
|
62
|
+
};
|
|
63
|
+
const result = await Promise.all(Object.entries(roles).map(async ([key, value]) => {
|
|
64
|
+
const accounts = await contract.read.getRoleMembers([value]);
|
|
65
|
+
const roleName = `${key} (${value})`;
|
|
66
|
+
return {
|
|
67
|
+
Role: roleName,
|
|
68
|
+
Members: accounts.length > 0 ? accounts.join(', ') : 'None',
|
|
69
|
+
};
|
|
70
|
+
}));
|
|
71
|
+
hideSpinner();
|
|
72
|
+
logResult(result);
|
|
73
|
+
}
|
|
74
|
+
catch (err) {
|
|
75
|
+
hideSpinner();
|
|
76
|
+
printError(err, 'Error when getting roles');
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
//# sourceMappingURL=pdg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pdg.js","sourceRoot":"","sources":["../../features/pdg.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -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,8 @@
|
|
|
1
|
+
import { RoleAssignment, VaultWithDashboard } from '../types/index.js';
|
|
2
|
+
export declare const createVault: (payload: VaultWithDashboard, otherRoles?: RoleAssignment[]) => Promise<{
|
|
3
|
+
vault: `0x${string}` | undefined;
|
|
4
|
+
dashboard: `0x${string}` | undefined;
|
|
5
|
+
tx: `0x${string}`;
|
|
6
|
+
blockNumber: bigint;
|
|
7
|
+
} | undefined>;
|
|
8
|
+
export declare const getVaultFactoryInfo: () => Promise<void>;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { parseEventLogs, parseEther } from 'viem';
|
|
2
|
+
import { getVaultFactoryContract } from '../contracts/index.js';
|
|
3
|
+
import { VaultFactoryAbi } from '../abi/index.js';
|
|
4
|
+
import { callWriteMethodWithReceipt, logResult, printError, showSpinner, } from '../utils/index.js';
|
|
5
|
+
export const createVault = async (payload, otherRoles = []) => {
|
|
6
|
+
const contract = getVaultFactoryContract();
|
|
7
|
+
const { defaultAdmin, nodeOperator, nodeOperatorManager, nodeOperatorFeeBP, confirmExpiry, } = payload;
|
|
8
|
+
const result = await callWriteMethodWithReceipt(contract, 'createVaultWithDashboard', [
|
|
9
|
+
defaultAdmin,
|
|
10
|
+
nodeOperator,
|
|
11
|
+
nodeOperatorManager,
|
|
12
|
+
nodeOperatorFeeBP,
|
|
13
|
+
confirmExpiry,
|
|
14
|
+
otherRoles,
|
|
15
|
+
'0x',
|
|
16
|
+
], parseEther('1'));
|
|
17
|
+
if (!result)
|
|
18
|
+
return;
|
|
19
|
+
const { receipt, tx } = result;
|
|
20
|
+
const events = parseEventLogs({
|
|
21
|
+
abi: VaultFactoryAbi,
|
|
22
|
+
logs: receipt.logs,
|
|
23
|
+
});
|
|
24
|
+
const vaultEvent = events.find((event) => event.eventName === 'VaultCreated');
|
|
25
|
+
const vault = vaultEvent?.args.vault;
|
|
26
|
+
const dashboard = vaultEvent?.args.owner;
|
|
27
|
+
return {
|
|
28
|
+
vault,
|
|
29
|
+
dashboard,
|
|
30
|
+
tx,
|
|
31
|
+
blockNumber: receipt.blockNumber,
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
export const getVaultFactoryInfo = async () => {
|
|
35
|
+
const contract = getVaultFactoryContract();
|
|
36
|
+
const hideSpinner = showSpinner();
|
|
37
|
+
try {
|
|
38
|
+
const BEACON = await contract.read.BEACON();
|
|
39
|
+
const LIDO_LOCATOR = await contract.read.LIDO_LOCATOR();
|
|
40
|
+
const payload = {
|
|
41
|
+
BEACON,
|
|
42
|
+
LIDO_LOCATOR,
|
|
43
|
+
};
|
|
44
|
+
hideSpinner();
|
|
45
|
+
logResult(Object.entries(payload));
|
|
46
|
+
}
|
|
47
|
+
catch (err) {
|
|
48
|
+
hideSpinner();
|
|
49
|
+
printError(err, 'Error when getting base info');
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
//# 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,UAAU,EAAE,MAAM,MAAM,CAAC;AAElD,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACL,0BAA0B,EAC1B,SAAS,EACT,UAAU,EACV,WAAW,GACZ,MAAM,OAAO,CAAC;AAEf,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC9B,OAA2B,EAC3B,aAA+B,EAAE,EACjC,EAAE;IACF,MAAM,QAAQ,GAAG,uBAAuB,EAAE,CAAC;IAE3C,MAAM,EACJ,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,GACd,GAAG,OAAO,CAAC;IAEZ,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAC7C,QAAQ,EACR,0BAA0B,EAC1B;QACE,YAAY;QACZ,YAAY;QACZ,mBAAmB;QACnB,iBAAiB;QACjB,aAAa;QACb,UAAU;QACV,IAAI;KACL,EACD,UAAU,CAAC,GAAG,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,SAAS,GAAG,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC;IAEzC,OAAO;QACL,KAAK;QACL,SAAS;QACT,EAAE;QACF,WAAW,EAAE,OAAO,CAAC,WAAW;KACjC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,IAAI,EAAE;IAC5C,MAAM,QAAQ,GAAG,uBAAuB,EAAE,CAAC;IAC3C,MAAM,WAAW,GAAG,WAAW,EAAE,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5C,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAExD,MAAM,OAAO,GAAG;YACd,MAAM;YACN,YAAY;SACb,CAAC;QAEF,WAAW,EAAE,CAAC;QAEd,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACrC,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,81 @@
|
|
|
1
|
+
import { printError, showSpinner, logResult } from '../utils/index.js';
|
|
2
|
+
import { getVaultHubContract } from '../contracts/index.js';
|
|
3
|
+
import { formatEther } from 'viem';
|
|
4
|
+
export const getVaultHubBaseInfo = async () => {
|
|
5
|
+
const hideSpinner = showSpinner();
|
|
6
|
+
try {
|
|
7
|
+
const contract = await getVaultHubContract();
|
|
8
|
+
const CONNECT_DEPOSIT = await contract.read.CONNECT_DEPOSIT();
|
|
9
|
+
const DEFAULT_ADMIN_ROLE = await contract.read.DEFAULT_ADMIN_ROLE();
|
|
10
|
+
const LIDO = await contract.read.LIDO();
|
|
11
|
+
const LIDO_LOCATOR = await contract.read.LIDO_LOCATOR();
|
|
12
|
+
const PAUSE_INFINITELY = await contract.read.PAUSE_INFINITELY();
|
|
13
|
+
const PAUSE_ROLE = await contract.read.PAUSE_ROLE();
|
|
14
|
+
const REPORT_FRESHNESS_DELTA = await contract.read.REPORT_FRESHNESS_DELTA();
|
|
15
|
+
const RESUME_ROLE = await contract.read.RESUME_ROLE();
|
|
16
|
+
const VAULT_MASTER_ROLE = await contract.read.VAULT_MASTER_ROLE();
|
|
17
|
+
const VAULT_REGISTRY_ROLE = await contract.read.VAULT_REGISTRY_ROLE();
|
|
18
|
+
const resumeSinceTimestamp = await contract.read.getResumeSinceTimestamp();
|
|
19
|
+
const isPaused = await contract.read.isPaused();
|
|
20
|
+
const operatorGrid = await contract.read.operatorGrid();
|
|
21
|
+
const vaultsCount = await contract.read.vaultsCount();
|
|
22
|
+
const CONTRACT_ADDRESS = contract.address;
|
|
23
|
+
hideSpinner();
|
|
24
|
+
const payload = {
|
|
25
|
+
CONNECT_DEPOSIT: `${formatEther(CONNECT_DEPOSIT)} ETH`,
|
|
26
|
+
DEFAULT_ADMIN_ROLE,
|
|
27
|
+
LIDO,
|
|
28
|
+
LIDO_LOCATOR,
|
|
29
|
+
PAUSE_INFINITELY,
|
|
30
|
+
PAUSE_ROLE,
|
|
31
|
+
REPORT_FRESHNESS_DELTA,
|
|
32
|
+
reportFreshnessDeltaHours: `${Number(REPORT_FRESHNESS_DELTA) / 60 / 60} hours`,
|
|
33
|
+
RESUME_ROLE,
|
|
34
|
+
VAULT_MASTER_ROLE,
|
|
35
|
+
VAULT_REGISTRY_ROLE,
|
|
36
|
+
resumeSinceTimestamp,
|
|
37
|
+
isPaused,
|
|
38
|
+
operatorGrid,
|
|
39
|
+
vaultsCount,
|
|
40
|
+
CONTRACT_ADDRESS,
|
|
41
|
+
};
|
|
42
|
+
logResult(Object.entries(payload));
|
|
43
|
+
}
|
|
44
|
+
catch (err) {
|
|
45
|
+
hideSpinner();
|
|
46
|
+
printError(err, 'Error when getting base info');
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
export const getVaultHubRoles = async () => {
|
|
50
|
+
const hideSpinner = showSpinner();
|
|
51
|
+
try {
|
|
52
|
+
const contract = await getVaultHubContract();
|
|
53
|
+
const DEFAULT_ADMIN_ROLE = await contract.read.DEFAULT_ADMIN_ROLE();
|
|
54
|
+
const PAUSE_ROLE = await contract.read.PAUSE_ROLE();
|
|
55
|
+
const RESUME_ROLE = await contract.read.RESUME_ROLE();
|
|
56
|
+
const VAULT_MASTER_ROLE = await contract.read.VAULT_MASTER_ROLE();
|
|
57
|
+
const VAULT_REGISTRY_ROLE = await contract.read.VAULT_REGISTRY_ROLE();
|
|
58
|
+
const roles = {
|
|
59
|
+
DEFAULT_ADMIN_ROLE,
|
|
60
|
+
PAUSE_ROLE,
|
|
61
|
+
RESUME_ROLE,
|
|
62
|
+
VAULT_MASTER_ROLE,
|
|
63
|
+
VAULT_REGISTRY_ROLE,
|
|
64
|
+
};
|
|
65
|
+
const result = await Promise.all(Object.entries(roles).map(async ([key, value]) => {
|
|
66
|
+
const accounts = await contract.read.getRoleMembers([value]);
|
|
67
|
+
const roleName = `${key} (${value})`;
|
|
68
|
+
return {
|
|
69
|
+
Role: roleName,
|
|
70
|
+
Members: accounts.length > 0 ? accounts.join(', ') : 'None',
|
|
71
|
+
};
|
|
72
|
+
}));
|
|
73
|
+
hideSpinner();
|
|
74
|
+
logResult(result);
|
|
75
|
+
}
|
|
76
|
+
catch (err) {
|
|
77
|
+
hideSpinner();
|
|
78
|
+
printError(err, 'Error when getting roles');
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=vault-hub.js.map
|