@lidofinance/lsv-cli 1.0.0-alpha.53 → 1.0.0-alpha.55
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 +3 -3
- package/dist/abi/AccessControlConfirmable.d.ts +331 -0
- package/dist/abi/AccessControlConfirmable.js +430 -0
- package/dist/abi/AccessControlConfirmable.js.map +1 -0
- package/dist/abi/Dashboard.d.ts +813 -374
- package/dist/abi/Dashboard.js +458 -277
- package/dist/abi/Dashboard.js.map +1 -1
- package/dist/abi/LazyOracle.d.ts +604 -0
- package/dist/abi/LazyOracle.js +782 -0
- package/dist/abi/LazyOracle.js.map +1 -0
- package/dist/abi/LidoLocator.d.ts +28 -0
- package/dist/abi/LidoLocator.js +36 -0
- package/dist/abi/LidoLocator.js.map +1 -1
- package/dist/abi/OperatorGrid.d.ts +340 -169
- package/dist/abi/OperatorGrid.js +344 -164
- package/dist/abi/OperatorGrid.js.map +1 -1
- package/dist/abi/PredepositGuarantee.d.ts +371 -56
- package/dist/abi/PredepositGuarantee.js +290 -69
- package/dist/abi/PredepositGuarantee.js.map +1 -1
- package/dist/abi/StakingVault.d.ts +97 -425
- package/dist/abi/StakingVault.js +94 -419
- package/dist/abi/StakingVault.js.map +1 -1
- package/dist/abi/VaultFactory.d.ts +209 -134
- package/dist/abi/VaultFactory.js +66 -10
- package/dist/abi/VaultFactory.js.map +1 -1
- package/dist/abi/VaultHub.d.ts +1109 -445
- package/dist/abi/VaultHub.js +1502 -559
- package/dist/abi/VaultHub.js.map +1 -1
- package/dist/abi/VaultViewer.d.ts +308 -1
- package/dist/abi/VaultViewer.js +399 -1
- package/dist/abi/VaultViewer.js.map +1 -1
- package/dist/abi/index.d.ts +2 -3
- package/dist/abi/index.js +2 -4
- package/dist/abi/index.js.map +1 -1
- package/dist/command/index.js +1 -1
- package/dist/command/index.js.map +1 -1
- package/dist/contracts/index.d.ts +1 -4
- package/dist/contracts/index.js +1 -4
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/lazy-oracle.d.ts +3 -0
- package/dist/contracts/lazy-oracle.js +18 -0
- package/dist/contracts/lazy-oracle.js.map +1 -0
- package/dist/contracts/locator.d.ts +1342 -38
- package/dist/contracts/operator-grid.d.ts +1 -0
- package/dist/contracts/pdg.d.ts +1 -0
- package/dist/contracts/vault-factory.d.ts +8849 -3187
- package/dist/contracts/vault-viewer.d.ts +6467 -73
- package/dist/contracts/vault-viewer.js +1 -1
- package/dist/contracts/vault.d.ts +1 -0
- package/dist/features/dashboard.js +5 -250
- package/dist/features/dashboard.js.map +1 -1
- package/dist/features/deposits/check-bls-deposits.d.ts +3 -0
- package/dist/features/deposits/check-bls-deposits.js +15 -0
- package/dist/features/deposits/check-bls-deposits.js.map +1 -0
- package/dist/features/deposits/index.d.ts +3 -0
- package/dist/features/deposits/index.js +4 -0
- package/dist/features/deposits/index.js.map +1 -0
- package/dist/features/deposits/make-pdg-proof.d.ts +3 -0
- package/dist/features/deposits/make-pdg-proof.js +52 -0
- package/dist/features/deposits/make-pdg-proof.js.map +1 -0
- package/dist/features/deposits/no-pdg.d.ts +21 -0
- package/dist/features/deposits/no-pdg.js +92 -0
- package/dist/features/deposits/no-pdg.js.map +1 -0
- package/dist/features/index.d.ts +4 -0
- package/dist/features/index.js +4 -0
- package/dist/features/index.js.map +1 -1
- package/dist/features/mint-burn/allowance.d.ts +2 -0
- package/dist/features/mint-burn/allowance.js +49 -0
- package/dist/features/mint-burn/allowance.js.map +1 -0
- package/dist/features/mint-burn/burn-shares.d.ts +3 -0
- package/dist/features/mint-burn/burn-shares.js +33 -0
- package/dist/features/mint-burn/burn-shares.js.map +1 -0
- package/dist/features/mint-burn/burn-steth.d.ts +3 -0
- package/dist/features/mint-burn/burn-steth.js +35 -0
- package/dist/features/mint-burn/burn-steth.js.map +1 -0
- package/dist/features/mint-burn/index.d.ts +5 -0
- package/dist/features/mint-burn/index.js +6 -0
- package/dist/features/mint-burn/index.js.map +1 -0
- package/dist/features/mint-burn/mint-shares.d.ts +3 -0
- package/dist/features/mint-burn/mint-shares.js +37 -0
- package/dist/features/mint-burn/mint-shares.js.map +1 -0
- package/dist/features/mint-burn/mint-steth.d.ts +3 -0
- package/dist/features/mint-burn/mint-steth.js +39 -0
- package/dist/features/mint-burn/mint-steth.js.map +1 -0
- package/dist/features/pdg.js +17 -23
- package/dist/features/pdg.js.map +1 -1
- package/dist/features/utils/get-address.d.ts +2 -0
- package/dist/features/utils/get-address.js +16 -0
- package/dist/features/utils/get-address.js.map +1 -0
- package/dist/features/utils/index.d.ts +4 -0
- package/dist/features/utils/index.js +5 -0
- package/dist/features/utils/index.js.map +1 -0
- package/dist/features/utils/liability-shares.d.ts +2 -0
- package/dist/features/utils/liability-shares.js +10 -0
- package/dist/features/utils/liability-shares.js.map +1 -0
- package/dist/features/utils/minting-capacity.d.ts +2 -0
- package/dist/features/utils/minting-capacity.js +11 -0
- package/dist/features/utils/minting-capacity.js.map +1 -0
- package/dist/features/utils/report-fresh.d.ts +2 -0
- package/dist/features/utils/report-fresh.js +18 -0
- package/dist/features/utils/report-fresh.js.map +1 -0
- package/dist/features/vault-factory.d.ts +17 -1
- package/dist/features/vault-factory.js +44 -8
- package/dist/features/vault-factory.js.map +1 -1
- package/dist/features/vault-hub.js +6 -6
- package/dist/features/vault-hub.js.map +1 -1
- package/dist/features/vault-operations/create-vault.d.ts +2 -0
- package/dist/features/vault-operations/create-vault.js +58 -0
- package/dist/features/vault-operations/create-vault.js.map +1 -0
- package/dist/features/vault-operations/dashboard-by-vault.d.ts +11 -0
- package/dist/features/vault-operations/dashboard-by-vault.js +34 -0
- package/dist/features/vault-operations/dashboard-by-vault.js.map +1 -0
- package/dist/features/vault-operations/index.d.ts +7 -0
- package/dist/features/vault-operations/index.js +8 -0
- package/dist/features/vault-operations/index.js.map +1 -0
- package/dist/features/vault-operations/vault-health.d.ts +2 -0
- package/dist/features/vault-operations/vault-health.js +24 -0
- package/dist/features/vault-operations/vault-health.js.map +1 -0
- package/dist/features/vault-operations/vault-info.d.ts +2 -0
- package/dist/features/vault-operations/vault-info.js +107 -0
- package/dist/features/vault-operations/vault-info.js.map +1 -0
- package/dist/features/vault-operations/vault-overview.d.ts +2 -0
- package/dist/features/vault-operations/vault-overview.js +107 -0
- package/dist/features/vault-operations/vault-overview.js.map +1 -0
- package/dist/features/vault-operations/vault-roles.d.ts +6 -0
- package/dist/features/vault-operations/vault-roles.js +62 -0
- package/dist/features/vault-operations/vault-roles.js.map +1 -0
- package/dist/features/vault-operations/vaults-by-role.d.ts +3 -0
- package/dist/features/vault-operations/vaults-by-role.js +45 -0
- package/dist/features/vault-operations/vaults-by-role.js.map +1 -0
- package/dist/features/vault.js +6 -14
- package/dist/features/vault.js.map +1 -1
- package/dist/index.js +16 -1
- package/dist/index.js.map +1 -1
- package/dist/programs/account/read.js +5 -1
- package/dist/programs/account/read.js.map +1 -1
- package/dist/programs/contracts/dashboard/config.d.ts +3 -0
- package/dist/programs/{dashboard → contracts/dashboard}/config.js +43 -35
- package/dist/programs/contracts/dashboard/config.js.map +1 -0
- package/dist/programs/contracts/dashboard/index.js.map +1 -0
- package/dist/programs/contracts/dashboard/main.js +5 -0
- package/dist/programs/contracts/dashboard/main.js.map +1 -0
- package/dist/programs/{dashboard → contracts/dashboard}/read.js +6 -33
- package/dist/programs/contracts/dashboard/read.js.map +1 -0
- package/dist/programs/{dashboard → contracts/dashboard}/write.js +109 -130
- package/dist/programs/contracts/dashboard/write.js.map +1 -0
- package/dist/programs/contracts/hub/config.d.ts +3 -0
- package/dist/programs/contracts/hub/config.js +165 -0
- package/dist/programs/contracts/hub/config.js.map +1 -0
- package/dist/programs/contracts/hub/index.js.map +1 -0
- package/dist/programs/contracts/hub/main.js +5 -0
- package/dist/programs/contracts/hub/main.js.map +1 -0
- package/dist/programs/{hub → contracts/hub}/read.js +13 -18
- package/dist/programs/contracts/hub/read.js.map +1 -0
- package/dist/programs/contracts/hub/write.js +425 -0
- package/dist/programs/contracts/hub/write.js.map +1 -0
- package/dist/programs/contracts/index.d.ts +8 -0
- package/dist/programs/contracts/index.js +9 -0
- package/dist/programs/contracts/index.js.map +1 -0
- package/dist/programs/contracts/main.d.ts +1 -0
- package/dist/programs/contracts/main.js +6 -0
- package/dist/programs/contracts/main.js.map +1 -0
- package/dist/programs/contracts/operator-grid/config.d.ts +3 -0
- package/dist/programs/{operator-grid → contracts/operator-grid}/config.js +40 -34
- package/dist/programs/contracts/operator-grid/config.js.map +1 -0
- package/dist/programs/contracts/operator-grid/index.js.map +1 -0
- package/dist/programs/contracts/operator-grid/main.js +5 -0
- package/dist/programs/contracts/operator-grid/main.js.map +1 -0
- package/dist/programs/{operator-grid → contracts/operator-grid}/read.js +4 -4
- package/dist/programs/contracts/operator-grid/read.js.map +1 -0
- package/dist/programs/{operator-grid → contracts/operator-grid}/write.js +27 -32
- package/dist/programs/contracts/operator-grid/write.js.map +1 -0
- package/dist/programs/contracts/pdg/config.d.ts +3 -0
- package/dist/programs/{pdg → contracts/pdg}/config.js +53 -27
- package/dist/programs/contracts/pdg/config.js.map +1 -0
- package/dist/programs/contracts/pdg/index.js.map +1 -0
- package/dist/programs/contracts/pdg/main.js +5 -0
- package/dist/programs/contracts/pdg/main.js.map +1 -0
- package/dist/programs/{pdg → contracts/pdg}/read.js +4 -4
- package/dist/programs/contracts/pdg/read.js.map +1 -0
- package/dist/programs/{pdg → contracts/pdg}/write.js +38 -20
- package/dist/programs/contracts/pdg/write.js.map +1 -0
- package/dist/programs/contracts/vault/config.d.ts +3 -0
- package/dist/programs/{vault → contracts/vault}/config.js +0 -28
- package/dist/programs/contracts/vault/config.js.map +1 -0
- package/dist/programs/contracts/vault/index.js.map +1 -0
- package/dist/programs/contracts/vault/main.js +3 -0
- package/dist/programs/contracts/vault/main.js.map +1 -0
- package/dist/programs/{vault → contracts/vault}/read.js +4 -4
- package/dist/programs/contracts/vault/read.js.map +1 -0
- package/dist/programs/{vault → contracts/vault}/write.js +37 -70
- package/dist/programs/contracts/vault/write.js.map +1 -0
- package/dist/programs/contracts/vault-factory/config.d.ts +3 -0
- package/dist/programs/contracts/vault-factory/config.js.map +1 -0
- package/dist/programs/contracts/vault-factory/index.js.map +1 -0
- package/dist/programs/contracts/vault-factory/main.js +5 -0
- package/dist/programs/contracts/vault-factory/main.js.map +1 -0
- package/dist/programs/{vault-factory → contracts/vault-factory}/read.js +4 -4
- package/dist/programs/contracts/vault-factory/read.js.map +1 -0
- package/dist/programs/contracts/vault-factory/write.js +126 -0
- package/dist/programs/contracts/vault-factory/write.js.map +1 -0
- package/dist/programs/contracts/vault-viewer/config.d.ts +3 -0
- package/dist/programs/contracts/vault-viewer/config.js.map +1 -0
- package/dist/programs/contracts/vault-viewer/index.js.map +1 -0
- package/dist/programs/contracts/vault-viewer/main.js +5 -0
- package/dist/programs/contracts/vault-viewer/main.js.map +1 -0
- package/dist/programs/contracts/vault-viewer/read.d.ts +1 -0
- package/dist/programs/{vault-viewer → contracts/vault-viewer}/read.js +20 -10
- package/dist/programs/contracts/vault-viewer/read.js.map +1 -0
- package/dist/programs/index.d.ts +2 -9
- package/dist/programs/index.js +2 -9
- package/dist/programs/index.js.map +1 -1
- package/dist/programs/pdg-helpers.js +46 -10
- package/dist/programs/pdg-helpers.js.map +1 -1
- package/dist/programs/use-cases/deposits/index.js.map +1 -0
- package/dist/programs/use-cases/deposits/main.d.ts +1 -0
- package/dist/programs/use-cases/deposits/main.js +6 -0
- package/dist/programs/use-cases/deposits/main.js.map +1 -0
- package/dist/programs/use-cases/deposits/read.js +13 -0
- package/dist/programs/use-cases/deposits/read.js.map +1 -0
- package/dist/programs/use-cases/deposits/write.js +211 -0
- package/dist/programs/use-cases/deposits/write.js.map +1 -0
- package/dist/programs/use-cases/index.d.ts +4 -0
- package/dist/programs/use-cases/index.js +5 -0
- package/dist/programs/use-cases/index.js.map +1 -0
- package/dist/programs/use-cases/metrics/index.js.map +1 -0
- package/dist/programs/use-cases/metrics/main.js +6 -0
- package/dist/programs/use-cases/metrics/main.js.map +1 -0
- package/dist/programs/{metrics → use-cases/metrics}/read.js +29 -23
- package/dist/programs/use-cases/metrics/read.js.map +1 -0
- package/dist/programs/use-cases/report/index.d.ts +3 -0
- package/dist/programs/use-cases/report/index.js +4 -0
- package/dist/programs/use-cases/report/index.js.map +1 -0
- package/dist/programs/use-cases/report/main.js +6 -0
- package/dist/programs/use-cases/report/main.js.map +1 -0
- package/dist/programs/{report → use-cases/report}/read.js +32 -41
- package/dist/programs/use-cases/report/read.js.map +1 -0
- package/dist/programs/{report → use-cases/report}/write.js +33 -42
- package/dist/programs/use-cases/report/write.js.map +1 -0
- package/dist/programs/use-cases/vault-operations/create-vault.js +129 -0
- package/dist/programs/use-cases/vault-operations/create-vault.js.map +1 -0
- package/dist/programs/use-cases/vault-operations/index.d.ts +4 -0
- package/dist/programs/use-cases/vault-operations/index.js +5 -0
- package/dist/programs/use-cases/vault-operations/index.js.map +1 -0
- package/dist/programs/use-cases/vault-operations/main.d.ts +1 -0
- package/dist/programs/use-cases/vault-operations/main.js +6 -0
- package/dist/programs/use-cases/vault-operations/main.js.map +1 -0
- package/dist/programs/use-cases/vault-operations/read.js +46 -0
- package/dist/programs/use-cases/vault-operations/read.js.map +1 -0
- package/dist/programs/use-cases/vault-operations/write.d.ts +1 -0
- package/dist/programs/use-cases/vault-operations/write.js +148 -0
- package/dist/programs/use-cases/vault-operations/write.js.map +1 -0
- package/dist/providers/wallet.d.ts +10 -10
- package/dist/tests/utils/error-handler.test.js +0 -8
- package/dist/tests/utils/error-handler.test.js.map +1 -1
- package/dist/tests/utils/ipfs.test.js +2 -2
- package/dist/tests/utils/ipfs.test.js.map +1 -1
- package/dist/types/common.d.ts +6 -2
- package/dist/utils/arguments.d.ts +1 -0
- package/dist/utils/arguments.js +3 -0
- package/dist/utils/arguments.js.map +1 -1
- package/dist/utils/cache.d.ts +2 -2
- package/dist/utils/cache.js +7 -7
- package/dist/utils/cache.js.map +1 -1
- package/dist/utils/calculate-overview-v2.d.ts +2 -1
- package/dist/utils/calculate-overview-v2.js +2 -4
- package/dist/utils/calculate-overview-v2.js.map +1 -1
- package/dist/utils/calculate-overview.d.ts +0 -1
- package/dist/utils/calculate-overview.js +1 -3
- package/dist/utils/calculate-overview.js.map +1 -1
- package/dist/utils/charts/blessed/charts-apr.js +6 -3
- package/dist/utils/charts/blessed/charts-apr.js.map +1 -1
- package/dist/utils/charts/blessed/charts-rewards.js +3 -3
- package/dist/utils/charts/blessed/charts-rewards.js.map +1 -1
- package/dist/utils/charts/blessed/datasets/prepare-metrics.js +4 -4
- package/dist/utils/charts/blessed/datasets/prepare-metrics.js.map +1 -1
- package/dist/utils/charts/simple/simple-charts.js +5 -5
- package/dist/utils/charts/simple/simple-charts.js.map +1 -1
- package/dist/utils/commands/confirmations.d.ts +20 -8
- package/dist/utils/commands/confirmations.js +30 -14
- package/dist/utils/commands/confirmations.js.map +1 -1
- package/dist/utils/commands/index.d.ts +0 -2
- package/dist/utils/commands/index.js +0 -2
- package/dist/utils/commands/index.js.map +1 -1
- package/dist/utils/commands/report.d.ts +1 -1
- package/dist/utils/commands/report.js +18 -25
- package/dist/utils/commands/report.js.map +1 -1
- package/dist/utils/consts.d.ts +3 -0
- package/dist/utils/consts.js +4 -0
- package/dist/utils/consts.js.map +1 -0
- package/dist/utils/contract.d.ts +2 -0
- package/dist/utils/contract.js +3 -1
- package/dist/utils/contract.js.map +1 -1
- package/dist/utils/fetchCL.d.ts +22 -0
- package/dist/utils/fetchCL.js +12 -0
- package/dist/utils/fetchCL.js.map +1 -1
- package/dist/utils/index.d.ts +2 -1
- package/dist/utils/index.js +2 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/prompts/confirmations.js +2 -2
- package/dist/utils/prompts/confirmations.js.map +1 -1
- package/dist/utils/prompts/default.d.ts +2 -0
- package/dist/utils/prompts/default.js +7 -0
- package/dist/utils/prompts/default.js.map +1 -1
- package/dist/utils/prompts/index.d.ts +1 -1
- package/dist/utils/prompts/index.js +1 -1
- package/dist/utils/prompts/index.js.map +1 -1
- package/dist/utils/prompts/mint-burn/confirm-burn.d.ts +17 -0
- package/dist/utils/prompts/mint-burn/confirm-burn.js +23 -0
- package/dist/utils/prompts/mint-burn/confirm-burn.js.map +1 -0
- package/dist/utils/prompts/{dashboard.d.ts → mint-burn/confirm-mint.d.ts} +0 -15
- package/dist/utils/prompts/mint-burn/confirm-mint.js +23 -0
- package/dist/utils/prompts/mint-burn/confirm-mint.js.map +1 -0
- package/dist/utils/prompts/mint-burn/constants.d.ts +2 -0
- package/dist/utils/prompts/mint-burn/constants.js +6 -0
- package/dist/utils/prompts/mint-burn/constants.js.map +1 -0
- package/dist/utils/prompts/mint-burn/index.d.ts +2 -0
- package/dist/utils/prompts/mint-burn/index.js +3 -0
- package/dist/utils/prompts/mint-burn/index.js.map +1 -0
- package/dist/utils/prompts/operations.d.ts +1 -1
- package/dist/utils/prompts/operations.js +3 -3
- package/dist/utils/prompts/operations.js.map +1 -1
- package/dist/utils/prompts/predeposit-guarantee.d.ts +2 -2
- package/dist/utils/prompts/predeposit-guarantee.js.map +1 -1
- package/dist/utils/proof/create-proof.d.ts +4 -0
- package/dist/utils/proof/create-proof.js +2 -0
- package/dist/utils/proof/create-proof.js.map +1 -1
- package/dist/utils/proof/index.d.ts +0 -1
- package/dist/utils/proof/index.js +0 -1
- package/dist/utils/proof/index.js.map +1 -1
- package/dist/utils/read-programs-by-abi.d.ts +11 -4
- package/dist/utils/read-programs-by-abi.js +4 -3
- package/dist/utils/read-programs-by-abi.js.map +1 -1
- package/dist/utils/report/index.d.ts +2 -1
- package/dist/utils/report/index.js +2 -1
- package/dist/utils/report/index.js.map +1 -1
- package/dist/utils/report/report-proof.d.ts +42 -0
- package/dist/utils/report/report-proof.js +38 -0
- package/dist/utils/report/report-proof.js.map +1 -0
- package/dist/utils/report/report.d.ts +3 -60
- package/dist/utils/report/report.js +14 -8
- package/dist/utils/report/report.js.map +1 -1
- package/dist/utils/report/statistic-data.d.ts +1 -1
- package/dist/utils/report/statistic-data.js +5 -6
- package/dist/utils/report/statistic-data.js.map +1 -1
- package/dist/utils/report/types.d.ts +69 -0
- package/dist/utils/report/types.js +2 -0
- package/dist/utils/report/types.js.map +1 -0
- package/dist/utils/statistic/index.d.ts +1 -0
- package/dist/utils/statistic/index.js +2 -0
- package/dist/utils/statistic/index.js.map +1 -0
- package/dist/utils/{report → statistic}/report-statistic.d.ts +3 -3
- package/dist/utils/{report → statistic}/report-statistic.js +16 -19
- package/dist/utils/statistic/report-statistic.js.map +1 -0
- package/dist/version/index.js +1 -1
- package/package.json +2 -1
- package/dist/abi/BlsHarness.d.ts +0 -178
- package/dist/abi/BlsHarness.js +0 -232
- package/dist/abi/BlsHarness.js.map +0 -1
- package/dist/abi/CLProofVerifier.d.ts +0 -188
- package/dist/abi/CLProofVerifier.js +0 -247
- package/dist/abi/CLProofVerifier.js.map +0 -1
- package/dist/abi/ReportChecker.d.ts +0 -83
- package/dist/abi/ReportChecker.js +0 -109
- package/dist/abi/ReportChecker.js.map +0 -1
- package/dist/contracts/blsHarness.d.ts +0 -947
- package/dist/contracts/blsHarness.js +0 -24
- package/dist/contracts/blsHarness.js.map +0 -1
- package/dist/contracts/clProofVerifier.d.ts +0 -2647
- package/dist/contracts/clProofVerifier.js +0 -23
- package/dist/contracts/clProofVerifier.js.map +0 -1
- package/dist/contracts/reportChecker.d.ts +0 -758
- package/dist/contracts/reportChecker.js +0 -23
- package/dist/contracts/reportChecker.js.map +0 -1
- package/dist/contracts/voting.d.ts +0 -6
- package/dist/contracts/voting.js +0 -19
- package/dist/contracts/voting.js.map +0 -1
- package/dist/programs/dashboard/config.d.ts +0 -2
- package/dist/programs/dashboard/config.js.map +0 -1
- package/dist/programs/dashboard/index.js.map +0 -1
- package/dist/programs/dashboard/main.js +0 -5
- package/dist/programs/dashboard/main.js.map +0 -1
- package/dist/programs/dashboard/read.js.map +0 -1
- package/dist/programs/dashboard/write.js.map +0 -1
- package/dist/programs/hub/config.d.ts +0 -2
- package/dist/programs/hub/config.js +0 -123
- package/dist/programs/hub/config.js.map +0 -1
- package/dist/programs/hub/index.js.map +0 -1
- package/dist/programs/hub/main.js +0 -5
- package/dist/programs/hub/main.js.map +0 -1
- package/dist/programs/hub/read.js.map +0 -1
- package/dist/programs/hub/write.js +0 -246
- package/dist/programs/hub/write.js.map +0 -1
- package/dist/programs/metrics/index.js.map +0 -1
- package/dist/programs/metrics/main.js +0 -3
- package/dist/programs/metrics/main.js.map +0 -1
- package/dist/programs/metrics/read.js.map +0 -1
- package/dist/programs/operator-grid/config.d.ts +0 -2
- package/dist/programs/operator-grid/config.js.map +0 -1
- package/dist/programs/operator-grid/index.js.map +0 -1
- package/dist/programs/operator-grid/main.js +0 -5
- package/dist/programs/operator-grid/main.js.map +0 -1
- package/dist/programs/operator-grid/read.js.map +0 -1
- package/dist/programs/operator-grid/write.js.map +0 -1
- package/dist/programs/pdg/config.d.ts +0 -2
- package/dist/programs/pdg/config.js.map +0 -1
- package/dist/programs/pdg/index.js.map +0 -1
- package/dist/programs/pdg/main.js +0 -5
- package/dist/programs/pdg/main.js.map +0 -1
- package/dist/programs/pdg/read.js.map +0 -1
- package/dist/programs/pdg/write.js.map +0 -1
- package/dist/programs/report/index.js.map +0 -1
- package/dist/programs/report/main.js +0 -3
- package/dist/programs/report/main.js.map +0 -1
- package/dist/programs/report/read.js.map +0 -1
- package/dist/programs/report/write.js.map +0 -1
- package/dist/programs/vault/config.d.ts +0 -2
- package/dist/programs/vault/config.js.map +0 -1
- package/dist/programs/vault/index.js.map +0 -1
- package/dist/programs/vault/main.js +0 -3
- package/dist/programs/vault/main.js.map +0 -1
- package/dist/programs/vault/read.js.map +0 -1
- package/dist/programs/vault/write.js.map +0 -1
- package/dist/programs/vault-factory/config.d.ts +0 -2
- package/dist/programs/vault-factory/config.js.map +0 -1
- package/dist/programs/vault-factory/index.js.map +0 -1
- package/dist/programs/vault-factory/main.js +0 -5
- package/dist/programs/vault-factory/main.js.map +0 -1
- package/dist/programs/vault-factory/read.js.map +0 -1
- package/dist/programs/vault-factory/write.js +0 -86
- package/dist/programs/vault-factory/write.js.map +0 -1
- package/dist/programs/vault-viewer/config.d.ts +0 -2
- package/dist/programs/vault-viewer/config.js.map +0 -1
- package/dist/programs/vault-viewer/index.js.map +0 -1
- package/dist/programs/vault-viewer/main.js +0 -10
- package/dist/programs/vault-viewer/main.js.map +0 -1
- package/dist/programs/vault-viewer/read.js.map +0 -1
- package/dist/tests/__mocks__/@lodestar/types.js +0 -6
- package/dist/tests/__mocks__/@lodestar/types.js.map +0 -1
- package/dist/tests/utils/fetchCL.test.js +0 -57
- package/dist/tests/utils/fetchCL.test.js.map +0 -1
- package/dist/tests/utils/report-proof.test.js +0 -29
- package/dist/tests/utils/report-proof.test.js.map +0 -1
- package/dist/tests/utils/report-statistic.test.d.ts +0 -1
- package/dist/tests/utils/report-statistic.test.js +0 -247
- package/dist/tests/utils/report-statistic.test.js.map +0 -1
- package/dist/tests/utils/required-lock.test.d.ts +0 -1
- package/dist/tests/utils/required-lock.test.js +0 -26
- package/dist/tests/utils/required-lock.test.js.map +0 -1
- package/dist/utils/commands/dashboard.d.ts +0 -6
- package/dist/utils/commands/dashboard.js +0 -145
- package/dist/utils/commands/dashboard.js.map +0 -1
- package/dist/utils/commands/utils.d.ts +0 -6
- package/dist/utils/commands/utils.js +0 -57
- package/dist/utils/commands/utils.js.map +0 -1
- package/dist/utils/prompts/dashboard.js +0 -45
- package/dist/utils/prompts/dashboard.js.map +0 -1
- package/dist/utils/proof/report-proof.d.ts +0 -5
- package/dist/utils/proof/report-proof.js +0 -26
- package/dist/utils/proof/report-proof.js.map +0 -1
- package/dist/utils/report/report-statistic.js.map +0 -1
- package/dist/utils/required-lock.d.ts +0 -5
- package/dist/utils/required-lock.js +0 -21
- package/dist/utils/required-lock.js.map +0 -1
- /package/dist/programs/{dashboard → contracts/dashboard}/index.d.ts +0 -0
- /package/dist/programs/{dashboard → contracts/dashboard}/index.js +0 -0
- /package/dist/programs/{dashboard → contracts/dashboard}/main.d.ts +0 -0
- /package/dist/programs/{dashboard → contracts/dashboard}/read.d.ts +0 -0
- /package/dist/programs/{dashboard → contracts/dashboard}/write.d.ts +0 -0
- /package/dist/programs/{hub → contracts/hub}/index.d.ts +0 -0
- /package/dist/programs/{hub → contracts/hub}/index.js +0 -0
- /package/dist/programs/{hub → contracts/hub}/main.d.ts +0 -0
- /package/dist/programs/{hub → contracts/hub}/read.d.ts +0 -0
- /package/dist/programs/{hub → contracts/hub}/write.d.ts +0 -0
- /package/dist/programs/{operator-grid → contracts/operator-grid}/index.d.ts +0 -0
- /package/dist/programs/{operator-grid → contracts/operator-grid}/index.js +0 -0
- /package/dist/programs/{operator-grid → contracts/operator-grid}/main.d.ts +0 -0
- /package/dist/programs/{metrics → contracts/operator-grid}/read.d.ts +0 -0
- /package/dist/programs/{operator-grid → contracts/operator-grid}/write.d.ts +0 -0
- /package/dist/programs/{pdg → contracts/pdg}/index.d.ts +0 -0
- /package/dist/programs/{pdg → contracts/pdg}/index.js +0 -0
- /package/dist/programs/{pdg → contracts/pdg}/main.d.ts +0 -0
- /package/dist/programs/{operator-grid → contracts/pdg}/read.d.ts +0 -0
- /package/dist/programs/{pdg → contracts/pdg}/write.d.ts +0 -0
- /package/dist/programs/{vault-factory → contracts/vault}/index.d.ts +0 -0
- /package/dist/programs/{vault-factory → contracts/vault}/index.js +0 -0
- /package/dist/programs/{vault → contracts/vault}/main.d.ts +0 -0
- /package/dist/programs/{report → contracts/vault}/read.d.ts +0 -0
- /package/dist/programs/{vault-factory → contracts/vault}/write.d.ts +0 -0
- /package/dist/programs/{vault-factory → contracts/vault-factory}/config.js +0 -0
- /package/dist/programs/{report → contracts/vault-factory}/index.d.ts +0 -0
- /package/dist/programs/{report → contracts/vault-factory}/index.js +0 -0
- /package/dist/programs/{vault-factory → contracts/vault-factory}/main.d.ts +0 -0
- /package/dist/programs/{pdg → contracts/vault-factory}/read.d.ts +0 -0
- /package/dist/programs/{report → contracts/vault-factory}/write.d.ts +0 -0
- /package/dist/programs/{vault-viewer → contracts/vault-viewer}/config.js +0 -0
- /package/dist/programs/{metrics → contracts/vault-viewer}/index.d.ts +0 -0
- /package/dist/programs/{metrics → contracts/vault-viewer}/index.js +0 -0
- /package/dist/programs/{vault-viewer → contracts/vault-viewer}/main.d.ts +0 -0
- /package/dist/programs/{vault → use-cases/deposits}/index.d.ts +0 -0
- /package/dist/programs/{vault → use-cases/deposits}/index.js +0 -0
- /package/dist/programs/{vault-factory → use-cases/deposits}/read.d.ts +0 -0
- /package/dist/programs/{vault → use-cases/deposits}/write.d.ts +0 -0
- /package/dist/programs/{vault-viewer → use-cases/metrics}/index.d.ts +0 -0
- /package/dist/programs/{vault-viewer → use-cases/metrics}/index.js +0 -0
- /package/dist/programs/{metrics → use-cases/metrics}/main.d.ts +0 -0
- /package/dist/programs/{vault-viewer → use-cases/metrics}/read.d.ts +0 -0
- /package/dist/programs/{report → use-cases/report}/main.d.ts +0 -0
- /package/dist/programs/{vault → use-cases/report}/read.d.ts +0 -0
- /package/dist/{tests/__mocks__/@lodestar/types.d.ts → programs/use-cases/report/write.d.ts} +0 -0
- /package/dist/{tests/utils/fetchCL.test.d.ts → programs/use-cases/vault-operations/create-vault.d.ts} +0 -0
- /package/dist/{tests/utils/report-proof.test.d.ts → programs/use-cases/vault-operations/read.d.ts} +0 -0
|
@@ -3,7 +3,7 @@ import { hoodi } from 'viem/chains';
|
|
|
3
3
|
import { VaultViewerAbi } from '../abi/index.js';
|
|
4
4
|
import { getChain, getElUrl } from '../configs/index.js';
|
|
5
5
|
const VaultViewerAddresses = {
|
|
6
|
-
[hoodi.id]: '
|
|
6
|
+
[hoodi.id]: '0xcA7fD5b9bD19B840c20C8a65dd8cFd1273e557c4',
|
|
7
7
|
};
|
|
8
8
|
export const getVaultViewerContract = () => {
|
|
9
9
|
const chainId = getChain().id;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { Address, GetContractReturnType, WalletClient } from 'viem';
|
|
2
2
|
import { StakingVaultAbi } from '../abi/index.js';
|
|
3
3
|
export declare const getStakingVaultContract: (address: Address) => GetContractReturnType<typeof StakingVaultAbi, WalletClient>;
|
|
4
|
+
export type StakingVaultContract = ReturnType<typeof getStakingVaultContract>;
|
|
@@ -1,259 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { getStakingVaultContract, getStethContract, } from '../contracts/index.js';
|
|
3
|
-
import { getPublicClient } from '../providers/index.js';
|
|
4
|
-
import { printError, showSpinner, logResult, fetchAndCalculateVaultHealth, logInfo,
|
|
5
|
-
// calculateOverview,
|
|
6
|
-
calculateOverviewV2, formatBP, formatRatio, logLiabilityBar, logVaultHealthBar, logTable, } from '../utils/index.js';
|
|
1
|
+
import { getVaultHealthByDashboard, getVaultInfoByDashboard, getVaultOverviewByDashboard, getVaultRolesByDashboard, } from './vault-operations/index.js';
|
|
7
2
|
export const getDashboardHealth = async (contract) => {
|
|
8
|
-
|
|
9
|
-
const { healthRatio, isHealthy, totalValueInEth, liabilitySharesInSteth, forceRebalanceThresholdBP, liabilityShares, } = await fetchAndCalculateVaultHealth(contract);
|
|
10
|
-
logResult({});
|
|
11
|
-
logInfo('Vault Health');
|
|
12
|
-
logTable({
|
|
13
|
-
data: [
|
|
14
|
-
['Vault Healthy', isHealthy],
|
|
15
|
-
['Health Rate', `${healthRatio}%`],
|
|
16
|
-
['Total Value, ETH', totalValueInEth],
|
|
17
|
-
['Liability Shares', liabilityShares],
|
|
18
|
-
['Liability Shares in stETH', liabilitySharesInSteth],
|
|
19
|
-
['Rebalance Threshold, %', formatBP(forceRebalanceThresholdBP)],
|
|
20
|
-
],
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
catch (err) {
|
|
24
|
-
if (err instanceof Error) {
|
|
25
|
-
logInfo('Error when getting info:\n', err.message);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
3
|
+
return getVaultHealthByDashboard(contract);
|
|
28
4
|
};
|
|
29
5
|
export const getDashboardOverview = async (contract) => {
|
|
30
|
-
|
|
31
|
-
const publicClient = getPublicClient();
|
|
32
|
-
try {
|
|
33
|
-
const health = await fetchAndCalculateVaultHealth(contract);
|
|
34
|
-
const [vault, nodeOperatorFeeBP, reserveRatioBP, totalMintingCapacity, withdrawableEther, nodeOperatorUnclaimedFee, totalValue,] = await Promise.all([
|
|
35
|
-
contract.read.stakingVault(),
|
|
36
|
-
contract.read.nodeOperatorFeeBP(),
|
|
37
|
-
contract.read.reserveRatioBP(),
|
|
38
|
-
contract.read.totalMintingCapacity(),
|
|
39
|
-
contract.read.withdrawableEther(),
|
|
40
|
-
contract.read.nodeOperatorUnclaimedFee(),
|
|
41
|
-
contract.read.totalValue(),
|
|
42
|
-
]);
|
|
43
|
-
const vaultContract = getStakingVaultContract(vault);
|
|
44
|
-
const stethContract = await getStethContract();
|
|
45
|
-
const locked = await vaultContract.read.locked();
|
|
46
|
-
const balance = await publicClient.getBalance({
|
|
47
|
-
address: vault,
|
|
48
|
-
});
|
|
49
|
-
const totalMintingCapacityStethWei = await stethContract.read.getPooledEthBySharesRoundUp([
|
|
50
|
-
totalMintingCapacity,
|
|
51
|
-
]);
|
|
52
|
-
const overview = calculateOverviewV2({
|
|
53
|
-
totalValue,
|
|
54
|
-
reserveRatioBP,
|
|
55
|
-
liabilitySharesInStethWei: health.liabilitySharesInStethWei,
|
|
56
|
-
liabilitySharesInWei: health.liabilitySharesInWei,
|
|
57
|
-
forceRebalanceThresholdBP: health.forceRebalanceThresholdBP,
|
|
58
|
-
withdrawableEther,
|
|
59
|
-
balance,
|
|
60
|
-
locked,
|
|
61
|
-
nodeOperatorUnclaimedFee,
|
|
62
|
-
totalMintingCapacityStethWei,
|
|
63
|
-
totalMintingCapacitySharesInWei: totalMintingCapacity,
|
|
64
|
-
});
|
|
65
|
-
hideSpinner();
|
|
66
|
-
logResult({});
|
|
67
|
-
logInfo('Overview');
|
|
68
|
-
logTable({
|
|
69
|
-
data: [
|
|
70
|
-
['Health Factor', formatRatio(overview.healthRatio)],
|
|
71
|
-
['Reserve Ratio', formatBP(reserveRatioBP)],
|
|
72
|
-
[
|
|
73
|
-
'Force Rebalance Threshold',
|
|
74
|
-
formatBP(health.forceRebalanceThresholdBP),
|
|
75
|
-
],
|
|
76
|
-
['NO Reward Share', formatBP(nodeOperatorFeeBP)],
|
|
77
|
-
['Utilization Ratio', formatRatio(overview.utilizationRatio)],
|
|
78
|
-
['Total Value, ETH', formatEther(totalValue)],
|
|
79
|
-
['Liability, stETH', formatEther(health.liabilitySharesInStethWei)],
|
|
80
|
-
['Liability, Shares', formatEther(health.liabilitySharesInWei)],
|
|
81
|
-
[
|
|
82
|
-
'Available To Withdrawal, ETH',
|
|
83
|
-
formatEther(overview.AvailableToWithdrawal),
|
|
84
|
-
],
|
|
85
|
-
['Idle Capital, ETH', formatEther(overview.idleCapital)],
|
|
86
|
-
['Total Locked, ETH', formatEther(overview.totalLocked)],
|
|
87
|
-
['Collateral, ETH', formatEther(overview.collateral)],
|
|
88
|
-
['Pending Unlock, ETH', formatEther(overview.PendingUnlock)],
|
|
89
|
-
['No Rewards Accumulated, ETH', formatEther(nodeOperatorUnclaimedFee)],
|
|
90
|
-
['Reserved, ETH', formatEther(overview.reserved)],
|
|
91
|
-
[
|
|
92
|
-
'Total Minting Capacity, stETH',
|
|
93
|
-
formatEther(overview.totalMintingCapacityStethWei),
|
|
94
|
-
],
|
|
95
|
-
[
|
|
96
|
-
'Remaining Minting Capacity, stETH',
|
|
97
|
-
formatEther(overview.remainingMintingCapacitySteth),
|
|
98
|
-
],
|
|
99
|
-
],
|
|
100
|
-
});
|
|
101
|
-
logLiabilityBar({
|
|
102
|
-
totalValue: totalValue,
|
|
103
|
-
stETHLiability: health.liabilitySharesInStethWei,
|
|
104
|
-
reserveRatioBP: reserveRatioBP,
|
|
105
|
-
forceRebalanceThresholdBP: health.forceRebalanceThresholdBP,
|
|
106
|
-
stETHTotalMintingCapacity: totalMintingCapacityStethWei,
|
|
107
|
-
});
|
|
108
|
-
console.info('\n');
|
|
109
|
-
logVaultHealthBar(overview.healthRatio);
|
|
110
|
-
console.info('\n');
|
|
111
|
-
}
|
|
112
|
-
catch (err) {
|
|
113
|
-
hideSpinner();
|
|
114
|
-
printError(err, 'Error when getting overview');
|
|
115
|
-
}
|
|
6
|
+
return getVaultOverviewByDashboard(contract);
|
|
116
7
|
};
|
|
117
8
|
export const getDashboardBaseInfo = async (contract) => {
|
|
118
|
-
|
|
119
|
-
const publicClient = getPublicClient();
|
|
120
|
-
try {
|
|
121
|
-
const [steth, wsteth, vault, vaultHub, accruedRewardsAdjustment, confirmExpiry, nodeOperatorFeeBP, remainingMintingCapacity, reserveRatioBP, shareLimit, totalMintingCapacity, treasuryFeeBP, unreserved, withdrawableEther, manualAccruedRewardsAdjustmentLimit, maxConfirmExpiry, minConfirmExpiry, nodeOperatorUnclaimedFee, totalValue,] = await Promise.all([
|
|
122
|
-
contract.read.STETH(),
|
|
123
|
-
contract.read.WSTETH(),
|
|
124
|
-
contract.read.stakingVault(),
|
|
125
|
-
contract.read.VAULT_HUB(),
|
|
126
|
-
contract.read.accruedRewardsAdjustment(),
|
|
127
|
-
contract.read.getConfirmExpiry(),
|
|
128
|
-
contract.read.nodeOperatorFeeBP(),
|
|
129
|
-
contract.read.remainingMintingCapacity([0n]),
|
|
130
|
-
contract.read.reserveRatioBP(),
|
|
131
|
-
contract.read.shareLimit(),
|
|
132
|
-
contract.read.totalMintingCapacity(),
|
|
133
|
-
contract.read.treasuryFeeBP(),
|
|
134
|
-
contract.read.unreserved(),
|
|
135
|
-
contract.read.withdrawableEther(),
|
|
136
|
-
contract.read.MANUAL_ACCRUED_REWARDS_ADJUSTMENT_LIMIT(),
|
|
137
|
-
contract.read.MAX_CONFIRM_EXPIRY(),
|
|
138
|
-
contract.read.MIN_CONFIRM_EXPIRY(),
|
|
139
|
-
contract.read.nodeOperatorUnclaimedFee(),
|
|
140
|
-
contract.read.totalValue(),
|
|
141
|
-
]);
|
|
142
|
-
const vaultContract = getStakingVaultContract(vault);
|
|
143
|
-
const locked = await vaultContract.read.locked();
|
|
144
|
-
const balance = await publicClient.getBalance({
|
|
145
|
-
address: contract.address,
|
|
146
|
-
});
|
|
147
|
-
hideSpinner();
|
|
148
|
-
logResult({});
|
|
149
|
-
logInfo('Dashboard Base Info');
|
|
150
|
-
logTable({
|
|
151
|
-
data: [
|
|
152
|
-
['stETH address', steth],
|
|
153
|
-
['wstETH address', wsteth],
|
|
154
|
-
['Vault address', vault],
|
|
155
|
-
['Vault Hub address', vaultHub],
|
|
156
|
-
['Reserve Ratio, BP', reserveRatioBP],
|
|
157
|
-
['Reserve Ratio, %', formatBP(reserveRatioBP)],
|
|
158
|
-
['Node Operator Fee, BP', nodeOperatorFeeBP],
|
|
159
|
-
['Node Operator Fee, %', formatBP(nodeOperatorFeeBP)],
|
|
160
|
-
['Treasury Fee, BP', treasuryFeeBP],
|
|
161
|
-
['Treasury Fee, %', formatBP(treasuryFeeBP)],
|
|
162
|
-
['Total Value, ETH', formatEther(totalValue)],
|
|
163
|
-
['Locked, ETH', formatEther(locked)],
|
|
164
|
-
['Balance, ETH', formatEther(balance)],
|
|
165
|
-
['Share Limit, Shares', formatEther(shareLimit)],
|
|
166
|
-
['Total Minting Capacity, Shares', formatEther(totalMintingCapacity)],
|
|
167
|
-
[
|
|
168
|
-
'Node Operator Unclaimed Fee, ETH',
|
|
169
|
-
formatEther(nodeOperatorUnclaimedFee),
|
|
170
|
-
],
|
|
171
|
-
[
|
|
172
|
-
'Accrued Rewards Adjustment, ETH',
|
|
173
|
-
formatEther(accruedRewardsAdjustment),
|
|
174
|
-
],
|
|
175
|
-
[
|
|
176
|
-
'Remaining Minting Capacity, Shares',
|
|
177
|
-
formatEther(remainingMintingCapacity),
|
|
178
|
-
],
|
|
179
|
-
['Unreserved, ETH', formatEther(unreserved)],
|
|
180
|
-
['Withdrawable Ether, ETH', formatEther(withdrawableEther)],
|
|
181
|
-
[
|
|
182
|
-
'Manual Accrued Rewards Adjustment Limit, ETH',
|
|
183
|
-
formatEther(manualAccruedRewardsAdjustmentLimit),
|
|
184
|
-
],
|
|
185
|
-
[
|
|
186
|
-
'Confirm Expiry',
|
|
187
|
-
`${confirmExpiry} (${Number(confirmExpiry) / 3600} hours)`,
|
|
188
|
-
],
|
|
189
|
-
[
|
|
190
|
-
'Max Confirm Expiry',
|
|
191
|
-
`${maxConfirmExpiry} (${Number(maxConfirmExpiry) / 3600} hours)`,
|
|
192
|
-
],
|
|
193
|
-
[
|
|
194
|
-
'Min Confirm Expiry',
|
|
195
|
-
`${minConfirmExpiry} (${Number(minConfirmExpiry) / 3600} hours)`,
|
|
196
|
-
],
|
|
197
|
-
],
|
|
198
|
-
});
|
|
199
|
-
}
|
|
200
|
-
catch (err) {
|
|
201
|
-
hideSpinner();
|
|
202
|
-
printError(err, 'Error when getting base info');
|
|
203
|
-
}
|
|
9
|
+
await getVaultInfoByDashboard(contract);
|
|
204
10
|
};
|
|
205
11
|
export const getDashboardRoles = async (contract) => {
|
|
206
|
-
|
|
207
|
-
try {
|
|
208
|
-
const roleKeys = [
|
|
209
|
-
'BURN_ROLE',
|
|
210
|
-
'DEFAULT_ADMIN_ROLE',
|
|
211
|
-
'FUND_ROLE',
|
|
212
|
-
'LIDO_VAULTHUB_AUTHORIZATION_ROLE',
|
|
213
|
-
'LIDO_VAULTHUB_DEAUTHORIZATION_ROLE',
|
|
214
|
-
'LOCK_ROLE',
|
|
215
|
-
'MINT_ROLE',
|
|
216
|
-
'NODE_OPERATOR_FEE_CLAIM_ROLE',
|
|
217
|
-
'NODE_OPERATOR_MANAGER_ROLE',
|
|
218
|
-
'NODE_OPERATOR_REWARDS_ADJUST_ROLE',
|
|
219
|
-
'OSSIFY_ROLE',
|
|
220
|
-
'PAUSE_BEACON_CHAIN_DEPOSITS_ROLE',
|
|
221
|
-
'PDG_COMPENSATE_PREDEPOSIT_ROLE',
|
|
222
|
-
'PDG_PROVE_VALIDATOR_ROLE',
|
|
223
|
-
'REBALANCE_ROLE',
|
|
224
|
-
'RECOVER_ASSETS_ROLE',
|
|
225
|
-
'REQUEST_TIER_CHANGE_ROLE',
|
|
226
|
-
'REQUEST_VALIDATOR_EXIT_ROLE',
|
|
227
|
-
'RESET_LOCKED_ROLE',
|
|
228
|
-
'RESUME_BEACON_CHAIN_DEPOSITS_ROLE',
|
|
229
|
-
'SET_DEPOSITOR_ROLE',
|
|
230
|
-
'TRIGGER_VALIDATOR_WITHDRAWAL_ROLE',
|
|
231
|
-
'UNGUARANTEED_BEACON_CHAIN_DEPOSIT_ROLE',
|
|
232
|
-
'VOLUNTARY_DISCONNECT_ROLE',
|
|
233
|
-
'WITHDRAW_ROLE',
|
|
234
|
-
];
|
|
235
|
-
const roleValues = await Promise.all(roleKeys.map((key) => contract.read[key]()));
|
|
236
|
-
const roles = Object.fromEntries(roleKeys.map((key, index) => [key, roleValues[index]]));
|
|
237
|
-
const result = await Promise.all(roleKeys.map(async (key) => {
|
|
238
|
-
const accounts = await contract.read.getRoleMembers([roles[key]]);
|
|
239
|
-
return {
|
|
240
|
-
Role: key,
|
|
241
|
-
Keccak: roles[key],
|
|
242
|
-
Members: accounts.length > 0 ? accounts.join(', ') : 'None',
|
|
243
|
-
};
|
|
244
|
-
}));
|
|
245
|
-
hideSpinner();
|
|
246
|
-
logInfo('Dashboard Roles');
|
|
247
|
-
logResult({
|
|
248
|
-
data: result.map(({ Role, Keccak, Members }) => [Role, Keccak, Members]),
|
|
249
|
-
params: {
|
|
250
|
-
head: ['Role', 'Keccak', 'Members'],
|
|
251
|
-
},
|
|
252
|
-
});
|
|
253
|
-
}
|
|
254
|
-
catch (err) {
|
|
255
|
-
hideSpinner();
|
|
256
|
-
printError(err, 'Error when getting roles');
|
|
257
|
-
}
|
|
12
|
+
await getVaultRolesByDashboard(contract);
|
|
258
13
|
};
|
|
259
14
|
//# sourceMappingURL=dashboard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../features/dashboard.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../features/dashboard.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,6BAA6B,CAAC;AAErC,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,QAA2B,EAAE,EAAE;IACtE,OAAO,yBAAyB,CAAC,QAAQ,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,QAA2B,EAAE,EAAE;IACxE,OAAO,2BAA2B,CAAC,QAAQ,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,QAA2B,EAAE,EAAE;IACxE,MAAM,uBAAuB,CAAC,QAAQ,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,QAA2B,EAAE,EAAE;IACrE,MAAM,wBAAwB,CAAC,QAAQ,CAAC,CAAC;AAC3C,CAAC,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { PredepositGuaranteeContract, StakingVaultContract } from '../../contracts/index.js';
|
|
2
|
+
import { Deposit } from '../../types/index.js';
|
|
3
|
+
export declare const checkBLSDeposits: (pdgContract: PredepositGuaranteeContract, vaultContract: StakingVaultContract, deposits: Deposit[]) => Promise<void>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { callReadMethod, isValidBLSDeposit } from '../../utils/index.js';
|
|
2
|
+
export const checkBLSDeposits = async (pdgContract, vaultContract, deposits) => {
|
|
3
|
+
const PREDEPOSIT_AMOUNT = await callReadMethod(pdgContract, 'PREDEPOSIT_AMOUNT');
|
|
4
|
+
const withdrawalCredentials = await callReadMethod(vaultContract, 'withdrawalCredentials');
|
|
5
|
+
for (const deposit of deposits) {
|
|
6
|
+
const isBLSValid = isValidBLSDeposit(deposit, withdrawalCredentials);
|
|
7
|
+
if (deposit.amount !== PREDEPOSIT_AMOUNT) {
|
|
8
|
+
throw new Error(`❌ Deposit amount is not equal to PREDEPOSIT_AMOUNT for pubkey ${deposit.pubkey}`);
|
|
9
|
+
}
|
|
10
|
+
if (!isBLSValid) {
|
|
11
|
+
throw new Error(`❌ Offchain - BLS signature is not valid for Pubkey ${deposit.pubkey}`);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=check-bls-deposits.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-bls-deposits.js","sourceRoot":"","sources":["../../../features/deposits/check-bls-deposits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAI1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,WAAwC,EACxC,aAAmC,EACnC,QAAmB,EACnB,EAAE;IACF,MAAM,iBAAiB,GAAG,MAAM,cAAc,CAC5C,WAAW,EACX,mBAAmB,CACpB,CAAC;IACF,MAAM,qBAAqB,GAAG,MAAM,cAAc,CAChD,aAAa,EACb,uBAAuB,CACxB,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QAErE,IAAI,OAAO,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CACb,iEAAiE,OAAO,CAAC,MAAM,EAAE,CAClF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,sDAAsD,OAAO,CAAC,MAAM,EAAE,CACvE,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../features/deposits/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { ValidatorWitness } from '../../utils/index.js';
|
|
2
|
+
export declare const makePDGProofByIndex: (validatorIndex: number) => Promise<import("../../utils/index.js").ValidatorWitnessWithWC>;
|
|
3
|
+
export declare const makePDGProofByIndexes: (indexes: number[]) => Promise<ValidatorWitness[] | undefined>;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { logInfo, logResult, logTable, printError, showSpinner, createPDGProof, confirmMakeProof, } from '../../utils/index.js';
|
|
2
|
+
export const makePDGProofByIndex = async (validatorIndex) => {
|
|
3
|
+
const hideSpinner = showSpinner({
|
|
4
|
+
type: 'bouncingBar',
|
|
5
|
+
message: 'Making proof...',
|
|
6
|
+
});
|
|
7
|
+
try {
|
|
8
|
+
const packageProof = await createPDGProof(Number(validatorIndex));
|
|
9
|
+
hideSpinner();
|
|
10
|
+
const { proof, pubkey, childBlockTimestamp, withdrawalCredentials, slot, proposerIndex, } = packageProof;
|
|
11
|
+
logResult({});
|
|
12
|
+
logInfo('----------------------proof----------------------');
|
|
13
|
+
logInfo(proof);
|
|
14
|
+
logInfo('-------------------------------------------------');
|
|
15
|
+
logTable({
|
|
16
|
+
data: [
|
|
17
|
+
['Pubkey', pubkey],
|
|
18
|
+
['Child Block Timestamp', childBlockTimestamp],
|
|
19
|
+
['Withdrawal Credentials', withdrawalCredentials],
|
|
20
|
+
['Slot', slot],
|
|
21
|
+
['Proposer Index', proposerIndex],
|
|
22
|
+
],
|
|
23
|
+
});
|
|
24
|
+
logInfo('-----------------------end-----------------------');
|
|
25
|
+
return packageProof;
|
|
26
|
+
}
|
|
27
|
+
catch (err) {
|
|
28
|
+
hideSpinner();
|
|
29
|
+
printError(err, 'Error when making proof');
|
|
30
|
+
throw err;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
export const makePDGProofByIndexes = async (indexes) => {
|
|
34
|
+
const witnesses = [];
|
|
35
|
+
for (const index of indexes) {
|
|
36
|
+
const validatorIndex = await confirmMakeProof(index);
|
|
37
|
+
if (!validatorIndex)
|
|
38
|
+
return;
|
|
39
|
+
const packageProof = await makePDGProofByIndex(validatorIndex);
|
|
40
|
+
const { proof, pubkey, childBlockTimestamp, slot, proposerIndex } = packageProof;
|
|
41
|
+
witnesses.push({
|
|
42
|
+
proof,
|
|
43
|
+
pubkey,
|
|
44
|
+
validatorIndex: BigInt(validatorIndex),
|
|
45
|
+
childBlockTimestamp,
|
|
46
|
+
slot,
|
|
47
|
+
proposerIndex,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
return witnesses;
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=make-pdg-proof.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make-pdg-proof.js","sourceRoot":"","sources":["../../../features/deposits/make-pdg-proof.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,SAAS,EACT,QAAQ,EACR,UAAU,EACV,WAAW,EACX,cAAc,EAEd,gBAAgB,GACjB,MAAM,OAAO,CAAC;AAEf,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,cAAsB,EAAE,EAAE;IAClE,MAAM,WAAW,GAAG,WAAW,CAAC;QAC9B,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,iBAAiB;KAC3B,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;QAClE,WAAW,EAAE,CAAC;QACd,MAAM,EACJ,KAAK,EACL,MAAM,EACN,mBAAmB,EACnB,qBAAqB,EACrB,IAAI,EACJ,aAAa,GACd,GAAG,YAAY,CAAC;QAEjB,SAAS,CAAC,EAAE,CAAC,CAAC;QACd,OAAO,CAAC,mDAAmD,CAAC,CAAC;QAC7D,OAAO,CAAC,KAAK,CAAC,CAAC;QACf,OAAO,CAAC,mDAAmD,CAAC,CAAC;QAC7D,QAAQ,CAAC;YACP,IAAI,EAAE;gBACJ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAClB,CAAC,uBAAuB,EAAE,mBAAmB,CAAC;gBAC9C,CAAC,wBAAwB,EAAE,qBAAqB,CAAC;gBACjD,CAAC,MAAM,EAAE,IAAI,CAAC;gBACd,CAAC,gBAAgB,EAAE,aAAa,CAAC;aAClC;SACF,CAAC,CAAC;QACH,OAAO,CAAC,mDAAmD,CAAC,CAAC;QAE7D,OAAO,YAAY,CAAC;IACtB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,EAAE,CAAC;QACd,UAAU,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;QAC3C,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,OAAiB,EAAE,EAAE;IAC/D,MAAM,SAAS,GAAuB,EAAE,CAAC;IAEzC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,cAAc,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,cAAc;YAAE,OAAO;QAE5B,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,cAAc,CAAC,CAAC;QAC/D,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,aAAa,EAAE,GAC/D,YAAY,CAAC;QAEf,SAAS,CAAC,IAAI,CAAC;YACb,KAAK;YACL,MAAM;YACN,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC;YACtC,mBAAmB;YACnB,IAAI;YACJ,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Address } from 'viem';
|
|
2
|
+
import { PredepositGuaranteeContract, StakingVaultContract } from '../../contracts/index.js';
|
|
3
|
+
export declare const checkNOBalancePDGforDeposit: (pdgContract: PredepositGuaranteeContract, nodeOperator: Address) => Promise<{
|
|
4
|
+
balance: {
|
|
5
|
+
total: bigint;
|
|
6
|
+
locked: bigint;
|
|
7
|
+
};
|
|
8
|
+
unlockedBalance: bigint;
|
|
9
|
+
amountToTopUp: bigint;
|
|
10
|
+
isNeedTopUp: boolean;
|
|
11
|
+
}>;
|
|
12
|
+
export declare const checkNOBalancePDGforDeposits: (pdgContract: PredepositGuaranteeContract, nodeOperator: Address, countOfDeposits: number) => Promise<{
|
|
13
|
+
amountToTopUp: bigint;
|
|
14
|
+
isNeedTopUp: boolean;
|
|
15
|
+
}>;
|
|
16
|
+
export declare const checkNodeOperatorForDeposit: (vault: StakingVaultContract) => Promise<`0x${string}`>;
|
|
17
|
+
export declare const checkAndSpecifyNodeOperatorForTopUp: (vault: StakingVaultContract, pdg: PredepositGuaranteeContract) => Promise<`0x${string}`>;
|
|
18
|
+
export declare const getGuarantor: (pdgContract: PredepositGuaranteeContract) => Promise<{
|
|
19
|
+
newGuarantor: any;
|
|
20
|
+
currentAccount: `0x${string}`;
|
|
21
|
+
}>;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { formatEther } from 'viem';
|
|
2
|
+
import { callReadMethodSilent, confirmOperation, logInfo, numberPrompt, addressPrompt, } from '../../utils/index.js';
|
|
3
|
+
import { getAccount } from '../../providers/index.js';
|
|
4
|
+
export const checkNOBalancePDGforDeposit = async (pdgContract, nodeOperator) => {
|
|
5
|
+
const currentAccount = getAccount();
|
|
6
|
+
const balance = await callReadMethodSilent(pdgContract, 'nodeOperatorBalance', [nodeOperator]);
|
|
7
|
+
const unlockedBalance = await callReadMethodSilent(pdgContract, 'unlockedBalance', [nodeOperator]);
|
|
8
|
+
const nodeOperatorGuarantor = await callReadMethodSilent(pdgContract, 'nodeOperatorGuarantor', [nodeOperator]);
|
|
9
|
+
let amountToTopUp = 0n;
|
|
10
|
+
let isNeedTopUp = false;
|
|
11
|
+
if (balance.total === 0n || unlockedBalance === 0n) {
|
|
12
|
+
logInfo(`Node operator ${nodeOperator} has no unlocked balance in PDG to deposit`);
|
|
13
|
+
if (nodeOperatorGuarantor.toLocaleLowerCase() !==
|
|
14
|
+
currentAccount.address.toLocaleLowerCase()) {
|
|
15
|
+
throw new Error(`You ${currentAccount.address} are not the guarantor ${nodeOperatorGuarantor} of the node operator ${nodeOperator}. You can't top up the balance.`);
|
|
16
|
+
}
|
|
17
|
+
const isTopUp = await confirmOperation(`Do you want to top up NO balance in PDG?`);
|
|
18
|
+
if (!isTopUp)
|
|
19
|
+
throw new Error('A top-up is required for predeposit if the unlocked balance is 0');
|
|
20
|
+
const amount = await numberPrompt('Enter amount to top up (in ETH). Value should multiply of 1 ETH (PREDEPOSIT_AMOUNT)', 'value');
|
|
21
|
+
if (!amount)
|
|
22
|
+
throw new Error('Amount is required');
|
|
23
|
+
amountToTopUp = BigInt(amount.value);
|
|
24
|
+
isNeedTopUp = true;
|
|
25
|
+
}
|
|
26
|
+
return { balance, unlockedBalance, amountToTopUp, isNeedTopUp };
|
|
27
|
+
};
|
|
28
|
+
export const checkNOBalancePDGforDeposits = async (pdgContract, nodeOperator, countOfDeposits) => {
|
|
29
|
+
const PREDEPOSIT_AMOUNT = await callReadMethodSilent(pdgContract, 'PREDEPOSIT_AMOUNT');
|
|
30
|
+
const unlockedBalance = await callReadMethodSilent(pdgContract, 'unlockedBalance', [nodeOperator]);
|
|
31
|
+
const amountToTopUp = PREDEPOSIT_AMOUNT * BigInt(countOfDeposits);
|
|
32
|
+
const isNeedTopUp = unlockedBalance < amountToTopUp;
|
|
33
|
+
if (isNeedTopUp) {
|
|
34
|
+
const isTopUp = await confirmOperation(`Do you want to top up NO balance in PDG? Need to top up ${formatEther(amountToTopUp)} ETH (PREDEPOSIT_AMOUNT * countOfDeposits)`);
|
|
35
|
+
if (!isTopUp)
|
|
36
|
+
throw new Error('A top-up is required for predeposit');
|
|
37
|
+
}
|
|
38
|
+
return { amountToTopUp, isNeedTopUp };
|
|
39
|
+
};
|
|
40
|
+
export const checkNodeOperatorForDeposit = async (vault) => {
|
|
41
|
+
const currentAccount = getAccount();
|
|
42
|
+
const vaultNodeOperator = await callReadMethodSilent(vault, 'nodeOperator');
|
|
43
|
+
if (vaultNodeOperator.toLocaleLowerCase() !==
|
|
44
|
+
currentAccount.address.toLocaleLowerCase()) {
|
|
45
|
+
throw new Error(`You are not the node operator of the vault ${vault.address}. Only node operator can deposit from the vault.`);
|
|
46
|
+
}
|
|
47
|
+
return vaultNodeOperator;
|
|
48
|
+
};
|
|
49
|
+
export const checkAndSpecifyNodeOperatorForTopUp = async (vault, pdg) => {
|
|
50
|
+
const currentAccount = getAccount();
|
|
51
|
+
const vaultNodeOperator = await callReadMethodSilent(vault, 'nodeOperator');
|
|
52
|
+
const noGuarantor = await callReadMethodSilent(pdg, 'nodeOperatorGuarantor', [
|
|
53
|
+
vaultNodeOperator,
|
|
54
|
+
]);
|
|
55
|
+
const isNoGuarantor = noGuarantor.toLocaleLowerCase() ===
|
|
56
|
+
currentAccount.address.toLocaleLowerCase();
|
|
57
|
+
const isNodeOperator = vaultNodeOperator.toLocaleLowerCase() ===
|
|
58
|
+
currentAccount.address.toLocaleLowerCase();
|
|
59
|
+
if (!isNoGuarantor && !isNodeOperator) {
|
|
60
|
+
throw new Error(`You are not the node operator of the vault ${vault.address} or not the guarantor of the node operator.`);
|
|
61
|
+
}
|
|
62
|
+
if (!isNodeOperator && isNoGuarantor) {
|
|
63
|
+
logInfo(`You are not the node operator of the vault ${vault.address}. You are the guarantor of the node operator ${vaultNodeOperator}.`);
|
|
64
|
+
const confirm = await confirmOperation(`Do you want to top up or withdraw the node operator ${vaultNodeOperator} balance?`);
|
|
65
|
+
if (!confirm)
|
|
66
|
+
throw new Error('Top up or withdraw is not confirmed');
|
|
67
|
+
return vaultNodeOperator;
|
|
68
|
+
}
|
|
69
|
+
return vaultNodeOperator;
|
|
70
|
+
};
|
|
71
|
+
export const getGuarantor = async (pdgContract) => {
|
|
72
|
+
const currentAccount = getAccount();
|
|
73
|
+
const balance = await callReadMethodSilent(pdgContract, 'nodeOperatorBalance', [currentAccount.address]);
|
|
74
|
+
if (balance.locked > 0n) {
|
|
75
|
+
throw new Error(`You have locked balance in PDG. You can't change the guarantor.`);
|
|
76
|
+
}
|
|
77
|
+
if (balance.total > 0n) {
|
|
78
|
+
logInfo(`You have balance in PDG. If you change the guarantor, your balance will be refunded to the previous guarantor
|
|
79
|
+
or guarantor can withdraw it before you change the guarantor.`);
|
|
80
|
+
const confirm = await confirmOperation(`Do you want to change the guarantor?`);
|
|
81
|
+
if (!confirm)
|
|
82
|
+
throw new Error('Change the guarantor is not confirmed');
|
|
83
|
+
}
|
|
84
|
+
const newGuarantor = await addressPrompt('Enter new guarantor address', 'value');
|
|
85
|
+
if (!newGuarantor)
|
|
86
|
+
throw new Error('New guarantor address is required');
|
|
87
|
+
return {
|
|
88
|
+
newGuarantor: newGuarantor.value,
|
|
89
|
+
currentAccount: currentAccount.address,
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
//# sourceMappingURL=no-pdg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"no-pdg.js","sourceRoot":"","sources":["../../../features/deposits/no-pdg.ts"],"names":[],"mappings":"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"}
|
package/dist/features/index.d.ts
CHANGED
|
@@ -4,3 +4,7 @@ export * from './vault-hub.js';
|
|
|
4
4
|
export * from './operator-grid.js';
|
|
5
5
|
export * from './pdg.js';
|
|
6
6
|
export * from './vault.js';
|
|
7
|
+
export * from './vault-operations/index.js';
|
|
8
|
+
export * from './utils/index.js';
|
|
9
|
+
export * from './mint-burn/index.js';
|
|
10
|
+
export * from './deposits/index.js';
|
package/dist/features/index.js
CHANGED
|
@@ -4,4 +4,8 @@ export * from './vault-hub.js';
|
|
|
4
4
|
export * from './operator-grid.js';
|
|
5
5
|
export * from './pdg.js';
|
|
6
6
|
export * from './vault.js';
|
|
7
|
+
export * from './vault-operations/index.js';
|
|
8
|
+
export * from './utils/index.js';
|
|
9
|
+
export * from './mint-burn/index.js';
|
|
10
|
+
export * from './deposits/index.js';
|
|
7
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../features/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../features/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { formatEther } from 'viem';
|
|
2
|
+
import { getStethContract, getWstethContract, } from '../../contracts/index.js';
|
|
3
|
+
import { getAccount } from '../../providers/index.js';
|
|
4
|
+
import { callReadMethod, callReadMethodSilent, callWriteMethodWithReceipt, confirmOperation, logInfo, } from '../../utils/index.js';
|
|
5
|
+
export const checkAllowance = async (contract, amount, token) => {
|
|
6
|
+
const accountAddress = getAccount().address;
|
|
7
|
+
const isShares = token === 'shares';
|
|
8
|
+
let currentAmount = amount;
|
|
9
|
+
if (token === 'steth' || isShares) {
|
|
10
|
+
const stethContract = await getStethContract();
|
|
11
|
+
const allowance = await callReadMethod(stethContract, 'allowance', [
|
|
12
|
+
accountAddress,
|
|
13
|
+
contract.address,
|
|
14
|
+
]);
|
|
15
|
+
if (isShares) {
|
|
16
|
+
currentAmount = await callReadMethodSilent(stethContract, 'getPooledEthBySharesRoundUp', [amount]);
|
|
17
|
+
}
|
|
18
|
+
if (allowance < currentAmount) {
|
|
19
|
+
logInfo('Insufficient allowance');
|
|
20
|
+
const confirm = await confirmOperation(`Do you want to set allowance for ${formatEther(amount)} ${token} (${formatEther(currentAmount)} stETH) to ${contract.address} (Dashboard contract)? Current allowance: ${formatEther(allowance)} stETH`);
|
|
21
|
+
if (!confirm)
|
|
22
|
+
throw new Error('Allowance not set');
|
|
23
|
+
await callWriteMethodWithReceipt({
|
|
24
|
+
contract: stethContract,
|
|
25
|
+
methodName: 'approve',
|
|
26
|
+
payload: [contract.address, currentAmount],
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
const wstethContract = await getWstethContract();
|
|
32
|
+
const wstethAllowance = await callReadMethod(wstethContract, 'allowance', [
|
|
33
|
+
accountAddress,
|
|
34
|
+
accountAddress,
|
|
35
|
+
]);
|
|
36
|
+
if (wstethAllowance < amount) {
|
|
37
|
+
logInfo('Insufficient allowance');
|
|
38
|
+
const confirm = await confirmOperation(`Do you want to set allowance for ${formatEther(amount)} ${token} to ${contract.address} (Dashboard contract)? Current allowance: ${formatEther(wstethAllowance)} wstETH`);
|
|
39
|
+
if (!confirm)
|
|
40
|
+
throw new Error('Allowance not set');
|
|
41
|
+
await callWriteMethodWithReceipt({
|
|
42
|
+
contract: wstethContract,
|
|
43
|
+
methodName: 'approve',
|
|
44
|
+
payload: [contract.address, amount],
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=allowance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"allowance.js","sourceRoot":"","sources":["../../../features/mint-burn/allowance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,EACL,gBAAgB,EAEhB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,0BAA0B,EAC1B,gBAAgB,EAChB,OAAO,GACR,MAAM,OAAO,CAAC;AACf,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,QAA2B,EAC3B,MAAc,EACd,KAAoC,EACpC,EAAE;IACF,MAAM,cAAc,GAAG,UAAU,EAAE,CAAC,OAAO,CAAC;IAC5C,MAAM,QAAQ,GAAG,KAAK,KAAK,QAAQ,CAAC;IACpC,IAAI,aAAa,GAAG,MAAM,CAAC;IAE3B,IAAI,KAAK,KAAK,OAAO,IAAI,QAAQ,EAAE,CAAC;QAClC,MAAM,aAAa,GAAG,MAAM,gBAAgB,EAAE,CAAC;QAE/C,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,aAAa,EAAE,WAAW,EAAE;YACjE,cAAc;YACd,QAAQ,CAAC,OAAO;SACjB,CAAC,CAAC;QACH,IAAI,QAAQ,EAAE,CAAC;YACb,aAAa,GAAG,MAAM,oBAAoB,CACxC,aAAa,EACb,6BAA6B,EAC7B,CAAC,MAAM,CAAC,CACT,CAAC;QACJ,CAAC;QAED,IAAI,SAAS,GAAG,aAAa,EAAE,CAAC;YAC9B,OAAO,CAAC,wBAAwB,CAAC,CAAC;YAElC,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,oCAAoC,WAAW,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,WAAW,CAAC,aAAa,CAAC,cAAc,QAAQ,CAAC,OAAO,6CAA6C,WAAW,CAAC,SAAS,CAAC,QAAQ,CACzM,CAAC;YACF,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAEnD,MAAM,0BAA0B,CAAC;gBAC/B,QAAQ,EAAE,aAAa;gBACvB,UAAU,EAAE,SAAS;gBACrB,OAAO,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;aAC3C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,cAAc,GAAG,MAAM,iBAAiB,EAAE,CAAC;QAEjD,MAAM,eAAe,GAAG,MAAM,cAAc,CAAC,cAAc,EAAE,WAAW,EAAE;YACxE,cAAc;YACd,cAAc;SACf,CAAC,CAAC;QACH,IAAI,eAAe,GAAG,MAAM,EAAE,CAAC;YAC7B,OAAO,CAAC,wBAAwB,CAAC,CAAC;YAElC,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,oCAAoC,WAAW,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,QAAQ,CAAC,OAAO,6CAA6C,WAAW,CAAC,eAAe,CAAC,SAAS,CAC1K,CAAC;YACF,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAEnD,MAAM,0BAA0B,CAAC;gBAC/B,QAAQ,EAAE,cAAc;gBACxB,UAAU,EAAE,SAAS;gBACrB,OAAO,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;aACpC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
|