@lidofinance/lsv-cli 1.3.1 → 1.4.0-alpha.2
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/dist/abi/AccessControlConfirmable.js.map +1 -1
- package/dist/abi/Dashboard.d.ts +24 -0
- package/dist/abi/Dashboard.js.map +1 -1
- package/dist/abi/LazyOracle.js.map +1 -1
- package/dist/abi/LidoLocator.js.map +1 -1
- package/dist/abi/OperatorGrid.js.map +1 -1
- package/dist/abi/PredepositGuarantee.d.ts +48 -0
- package/dist/abi/PredepositGuarantee.js +32 -0
- package/dist/abi/PredepositGuarantee.js.map +1 -1
- package/dist/abi/StEth.d.ts +1175 -59
- package/dist/abi/StEth.js +885 -320
- package/dist/abi/StEth.js.map +1 -1
- package/dist/abi/StakingVault.js.map +1 -1
- package/dist/abi/ValidatorConsolidationRequests.js.map +1 -1
- package/dist/abi/VaultFactory.js.map +1 -1
- package/dist/abi/VaultHub.js.map +1 -1
- package/dist/abi/VaultViewer.js.map +1 -1
- package/dist/abi/WstEth.js.map +1 -1
- package/dist/abi/defi-wrapper/Distributor.js.map +1 -1
- package/dist/abi/defi-wrapper/Factory.d.ts +532 -657
- package/dist/abi/defi-wrapper/Factory.js +1083 -647
- package/dist/abi/defi-wrapper/Factory.js.map +1 -1
- package/dist/abi/defi-wrapper/OssifiableProxy.d.ts +71 -0
- package/dist/abi/defi-wrapper/OssifiableProxy.js +93 -0
- package/dist/abi/defi-wrapper/OssifiableProxy.js.map +1 -0
- package/dist/abi/defi-wrapper/StrategyFactory.d.ts +59 -0
- package/dist/abi/defi-wrapper/StrategyFactory.js +37 -0
- package/dist/abi/defi-wrapper/StrategyFactory.js.map +1 -0
- package/dist/abi/defi-wrapper/StvPool.js.map +1 -1
- package/dist/abi/defi-wrapper/StvStETHPool.d.ts +38 -32
- package/dist/abi/defi-wrapper/StvStETHPool.js +50 -42
- package/dist/abi/defi-wrapper/StvStETHPool.js.map +1 -1
- package/dist/abi/defi-wrapper/TimeLock.d.ts +770 -0
- package/dist/abi/defi-wrapper/TimeLock.js +999 -0
- package/dist/abi/defi-wrapper/TimeLock.js.map +1 -0
- package/dist/abi/defi-wrapper/WithdrawalQueue.js.map +1 -1
- package/dist/abi/defi-wrapper/index.d.ts +3 -0
- package/dist/abi/defi-wrapper/index.js +3 -0
- package/dist/abi/defi-wrapper/index.js.map +1 -1
- package/dist/command/index.js +11 -0
- package/dist/command/index.js.map +1 -1
- package/dist/configs/constants.d.ts +4 -4
- package/dist/contracts/dashboard-impl.d.ts +4 -3
- package/dist/contracts/dashboard-impl.js +5 -8
- package/dist/contracts/dashboard-impl.js.map +1 -1
- package/dist/contracts/dashboard.d.ts +4 -3
- package/dist/contracts/dashboard.js +1 -1
- package/dist/contracts/dashboard.js.map +1 -1
- package/dist/contracts/defi-wrapper/distributor.d.ts +5 -4
- package/dist/contracts/defi-wrapper/distributor.js +2 -2
- package/dist/contracts/defi-wrapper/distributor.js.map +1 -1
- package/dist/contracts/defi-wrapper/factory.d.ts +5 -4
- package/dist/contracts/defi-wrapper/factory.js +2 -2
- package/dist/contracts/defi-wrapper/factory.js.map +1 -1
- package/dist/contracts/defi-wrapper/index.d.ts +3 -0
- package/dist/contracts/defi-wrapper/index.js +3 -0
- package/dist/contracts/defi-wrapper/index.js.map +1 -1
- package/dist/contracts/defi-wrapper/ossifiable-proxy.d.ts +5 -0
- package/dist/contracts/defi-wrapper/ossifiable-proxy.js +12 -0
- package/dist/contracts/defi-wrapper/ossifiable-proxy.js.map +1 -0
- package/dist/contracts/defi-wrapper/strategy-factory.d.ts +5 -0
- package/dist/contracts/defi-wrapper/strategy-factory.js +12 -0
- package/dist/contracts/defi-wrapper/strategy-factory.js.map +1 -0
- package/dist/contracts/defi-wrapper/stv-pool.d.ts +5 -4
- package/dist/contracts/defi-wrapper/stv-pool.js +2 -2
- package/dist/contracts/defi-wrapper/stv-pool.js.map +1 -1
- package/dist/contracts/defi-wrapper/stv-steth-pool.d.ts +5 -4
- package/dist/contracts/defi-wrapper/stv-steth-pool.js +2 -2
- package/dist/contracts/defi-wrapper/stv-steth-pool.js.map +1 -1
- package/dist/contracts/defi-wrapper/timelock.d.ts +5 -0
- package/dist/contracts/defi-wrapper/timelock.js +12 -0
- package/dist/contracts/defi-wrapper/timelock.js.map +1 -0
- package/dist/contracts/defi-wrapper/withdrawal-queue.d.ts +5 -4
- package/dist/contracts/defi-wrapper/withdrawal-queue.js +2 -2
- package/dist/contracts/defi-wrapper/withdrawal-queue.js.map +1 -1
- package/dist/contracts/lazy-oracle.d.ts +5 -3
- package/dist/contracts/lazy-oracle.js +5 -9
- package/dist/contracts/lazy-oracle.js.map +1 -1
- package/dist/contracts/locator.d.ts +4 -2
- package/dist/contracts/locator.js +5 -8
- package/dist/contracts/locator.js.map +1 -1
- package/dist/contracts/operator-grid.d.ts +5 -4
- package/dist/contracts/operator-grid.js +5 -8
- package/dist/contracts/operator-grid.js.map +1 -1
- package/dist/contracts/pdg.d.ts +5 -4
- package/dist/contracts/pdg.js +5 -8
- package/dist/contracts/pdg.js.map +1 -1
- package/dist/contracts/steth.d.ts +5 -27706
- package/dist/contracts/steth.js +6 -10
- package/dist/contracts/steth.js.map +1 -1
- package/dist/contracts/validator-consolidation-requests.d.ts +3 -3
- package/dist/contracts/validator-consolidation-requests.js.map +1 -1
- package/dist/contracts/vault-factory.d.ts +5 -3
- package/dist/contracts/vault-factory.js +6 -8
- package/dist/contracts/vault-factory.js.map +1 -1
- package/dist/contracts/vault-hub.d.ts +5 -3
- package/dist/contracts/vault-hub.js +5 -9
- package/dist/contracts/vault-hub.js.map +1 -1
- package/dist/contracts/vault-viewer.d.ts +4 -2
- package/dist/contracts/vault-viewer.js +7 -10
- package/dist/contracts/vault-viewer.js.map +1 -1
- package/dist/contracts/vault.d.ts +5 -4
- package/dist/contracts/vault.js +2 -2
- package/dist/contracts/vault.js.map +1 -1
- package/dist/contracts/wsteth.d.ts +5 -3
- package/dist/contracts/wsteth.js +5 -9
- package/dist/contracts/wsteth.js.map +1 -1
- package/dist/features/consolidation.d.ts +1 -1
- package/dist/features/consolidation.js +19 -3
- package/dist/features/consolidation.js.map +1 -1
- package/dist/features/defi-wrapper/create-vault.js +19 -16
- package/dist/features/defi-wrapper/create-vault.js.map +1 -1
- package/dist/features/defi-wrapper/defi-wrapper-factory.d.ts +22 -29
- package/dist/features/defi-wrapper/defi-wrapper-factory.js +124 -17
- package/dist/features/defi-wrapper/defi-wrapper-factory.js.map +1 -1
- package/dist/features/defi-wrapper/distributor.d.ts +24 -0
- package/dist/features/defi-wrapper/distributor.js +300 -0
- package/dist/features/defi-wrapper/distributor.js.map +1 -0
- package/dist/features/defi-wrapper/index.d.ts +1 -0
- package/dist/features/defi-wrapper/index.js +1 -0
- package/dist/features/defi-wrapper/index.js.map +1 -1
- package/dist/features/defi-wrapper/pool-info.d.ts +17 -2
- package/dist/features/defi-wrapper/pool-info.js +63 -13
- package/dist/features/defi-wrapper/pool-info.js.map +1 -1
- package/dist/features/defi-wrapper/timelock.d.ts +19 -0
- package/dist/features/defi-wrapper/timelock.js +198 -0
- package/dist/features/defi-wrapper/timelock.js.map +1 -0
- package/dist/features/deposits/check-bls-deposits.js +15 -3
- package/dist/features/deposits/check-bls-deposits.js.map +1 -1
- package/dist/features/deposits/make-pdg-proof.js +19 -7
- package/dist/features/deposits/make-pdg-proof.js.map +1 -1
- package/dist/features/deposits/no-pdg.js +50 -14
- package/dist/features/deposits/no-pdg.js.map +1 -1
- package/dist/features/deposits/pdg.js +5 -1
- package/dist/features/deposits/pdg.js.map +1 -1
- package/dist/features/deposits/validators.js +1 -1
- package/dist/features/deposits/validators.js.map +1 -1
- package/dist/features/dev-tools/impersonate.js +5 -1
- package/dist/features/dev-tools/impersonate.js.map +1 -1
- package/dist/features/metrics.d.ts +3 -0
- package/dist/features/metrics.js +49 -6
- package/dist/features/metrics.js.map +1 -1
- package/dist/features/mint-burn/allowance.js +15 -6
- package/dist/features/mint-burn/allowance.js.map +1 -1
- package/dist/features/mint-burn/burn-steth.js +5 -1
- package/dist/features/mint-burn/burn-steth.js.map +1 -1
- package/dist/features/mint-burn/index.d.ts +1 -0
- package/dist/features/mint-burn/index.js +1 -0
- package/dist/features/mint-burn/index.js.map +1 -1
- package/dist/features/mint-burn/mint-limit.d.ts +9 -0
- package/dist/features/mint-burn/mint-limit.js +31 -0
- package/dist/features/mint-burn/mint-limit.js.map +1 -0
- package/dist/features/mint-burn/mint-steth.js +5 -1
- package/dist/features/mint-burn/mint-steth.js.map +1 -1
- package/dist/features/pdg.js +5 -1
- package/dist/features/pdg.js.map +1 -1
- package/dist/features/utils/connection.js +5 -1
- package/dist/features/utils/connection.js.map +1 -1
- package/dist/features/utils/index.d.ts +1 -0
- package/dist/features/utils/index.js +1 -0
- package/dist/features/utils/index.js.map +1 -1
- package/dist/features/utils/liability-shares.js +5 -1
- package/dist/features/utils/liability-shares.js.map +1 -1
- package/dist/features/utils/minting-capacity.js +4 -3
- package/dist/features/utils/minting-capacity.js.map +1 -1
- package/dist/features/utils/quarantine.js +5 -1
- package/dist/features/utils/quarantine.js.map +1 -1
- package/dist/features/utils/report-fresh.js +15 -3
- package/dist/features/utils/report-fresh.js.map +1 -1
- package/dist/features/utils/try-fetch.d.ts +5 -0
- package/dist/features/utils/try-fetch.js +26 -0
- package/dist/features/utils/try-fetch.js.map +1 -0
- package/dist/features/vault-factory.js +16 -4
- package/dist/features/vault-factory.js.map +1 -1
- package/dist/features/vault-operations/connect-vault.js +10 -2
- package/dist/features/vault-operations/connect-vault.js.map +1 -1
- package/dist/features/vault-operations/dashboard-by-vault.js +10 -2
- package/dist/features/vault-operations/dashboard-by-vault.js.map +1 -1
- package/dist/features/vault-operations/index.d.ts +1 -0
- package/dist/features/vault-operations/index.js +1 -0
- package/dist/features/vault-operations/index.js.map +1 -1
- package/dist/features/vault-operations/roles.js +10 -2
- package/dist/features/vault-operations/roles.js.map +1 -1
- package/dist/features/vault-operations/share-limit.d.ts +8 -0
- package/dist/features/vault-operations/share-limit.js +20 -0
- package/dist/features/vault-operations/share-limit.js.map +1 -0
- package/dist/features/vault-operations/vault-health.js +5 -1
- package/dist/features/vault-operations/vault-health.js.map +1 -1
- package/dist/features/vault-operations/vault-info.js +10 -2
- package/dist/features/vault-operations/vault-info.js.map +1 -1
- package/dist/features/vault-operations/vault-overview.js +25 -5
- package/dist/features/vault-operations/vault-overview.js.map +1 -1
- package/dist/features/vault-operations/vault-roles.js +10 -2
- package/dist/features/vault-operations/vault-roles.js.map +1 -1
- package/dist/features/vault-operations/vaults-by-role.d.ts +24 -0
- package/dist/features/vault-operations/vaults-by-role.js +78 -27
- package/dist/features/vault-operations/vaults-by-role.js.map +1 -1
- package/dist/features/with-report.d.ts +1 -1
- package/dist/index.js +45 -16
- package/dist/index.js.map +1 -1
- package/dist/programs/account/main.d.ts +1 -1
- package/dist/programs/account/read.js +10 -5
- package/dist/programs/account/read.js.map +1 -1
- package/dist/programs/account/write.js +29 -2
- package/dist/programs/account/write.js.map +1 -1
- package/dist/programs/contracts/dashboard/main.d.ts +1 -1
- package/dist/programs/contracts/dashboard/read.js +15 -3
- package/dist/programs/contracts/dashboard/read.js.map +1 -1
- package/dist/programs/contracts/dashboard/write.js +233 -52
- package/dist/programs/contracts/dashboard/write.js.map +1 -1
- package/dist/programs/contracts/hub/main.d.ts +1 -1
- package/dist/programs/contracts/hub/read.js +15 -5
- package/dist/programs/contracts/hub/read.js.map +1 -1
- package/dist/programs/contracts/hub/write.js +12 -3
- package/dist/programs/contracts/hub/write.js.map +1 -1
- package/dist/programs/contracts/lazy-oracle/main.d.ts +1 -1
- package/dist/programs/contracts/main.d.ts +1 -1
- package/dist/programs/contracts/operator-grid/main.d.ts +1 -1
- package/dist/programs/contracts/operator-grid/read.js +5 -1
- package/dist/programs/contracts/operator-grid/read.js.map +1 -1
- package/dist/programs/contracts/operator-grid/write.js +18 -10
- package/dist/programs/contracts/operator-grid/write.js.map +1 -1
- package/dist/programs/contracts/pdg/main.d.ts +1 -1
- package/dist/programs/contracts/pdg/read.js +5 -1
- package/dist/programs/contracts/pdg/read.js.map +1 -1
- package/dist/programs/contracts/pdg/write.js +34 -4
- package/dist/programs/contracts/pdg/write.js.map +1 -1
- package/dist/programs/contracts/vault/main.d.ts +1 -1
- package/dist/programs/contracts/vault/write.js +5 -1
- package/dist/programs/contracts/vault/write.js.map +1 -1
- package/dist/programs/contracts/vault-factory/main.d.ts +1 -1
- package/dist/programs/contracts/vault-viewer/main.d.ts +1 -1
- package/dist/programs/defi-wrapper/contracts/distributor/config.d.ts +1 -1
- package/dist/programs/defi-wrapper/contracts/distributor/main.d.ts +1 -1
- package/dist/programs/defi-wrapper/contracts/distributor/read.js +19 -7
- package/dist/programs/defi-wrapper/contracts/distributor/read.js.map +1 -1
- package/dist/programs/defi-wrapper/contracts/distributor/write.js +1 -1
- package/dist/programs/defi-wrapper/contracts/factory/config.d.ts +1 -1
- package/dist/programs/defi-wrapper/contracts/factory/main.d.ts +1 -1
- package/dist/programs/defi-wrapper/contracts/factory/read.js +75 -15
- package/dist/programs/defi-wrapper/contracts/factory/read.js.map +1 -1
- package/dist/programs/defi-wrapper/contracts/factory/write.js +261 -67
- package/dist/programs/defi-wrapper/contracts/factory/write.js.map +1 -1
- package/dist/programs/defi-wrapper/contracts/main.d.ts +1 -1
- package/dist/programs/defi-wrapper/contracts/stv-pool/config.d.ts +1 -1
- package/dist/programs/defi-wrapper/contracts/stv-pool/main.d.ts +1 -1
- package/dist/programs/defi-wrapper/contracts/stv-pool/read.js +64 -20
- package/dist/programs/defi-wrapper/contracts/stv-pool/read.js.map +1 -1
- package/dist/programs/defi-wrapper/contracts/stv-pool/write.js +1 -1
- package/dist/programs/defi-wrapper/contracts/stv-steth-pool/config.d.ts +1 -1
- package/dist/programs/defi-wrapper/contracts/stv-steth-pool/main.d.ts +1 -1
- package/dist/programs/defi-wrapper/contracts/stv-steth-pool/read.js +64 -20
- package/dist/programs/defi-wrapper/contracts/stv-steth-pool/read.js.map +1 -1
- package/dist/programs/defi-wrapper/contracts/stv-steth-pool/write.js +1 -1
- package/dist/programs/defi-wrapper/contracts/withdrawal-queue/config.d.ts +1 -1
- package/dist/programs/defi-wrapper/contracts/withdrawal-queue/main.d.ts +1 -1
- package/dist/programs/defi-wrapper/contracts/withdrawal-queue/read.js +66 -18
- package/dist/programs/defi-wrapper/contracts/withdrawal-queue/read.js.map +1 -1
- package/dist/programs/defi-wrapper/contracts/withdrawal-queue/write.js +34 -7
- package/dist/programs/defi-wrapper/contracts/withdrawal-queue/write.js.map +1 -1
- package/dist/programs/defi-wrapper/main.d.ts +1 -1
- package/dist/programs/defi-wrapper/use-cases/distributor/index.d.ts +3 -0
- package/dist/programs/defi-wrapper/use-cases/distributor/index.js +4 -0
- package/dist/programs/defi-wrapper/use-cases/distributor/index.js.map +1 -0
- package/dist/programs/defi-wrapper/use-cases/distributor/main.d.ts +1 -0
- package/dist/programs/defi-wrapper/use-cases/distributor/main.js +6 -0
- package/dist/programs/defi-wrapper/use-cases/distributor/main.js.map +1 -0
- package/dist/programs/defi-wrapper/use-cases/distributor/read.js +86 -0
- package/dist/programs/defi-wrapper/use-cases/distributor/read.js.map +1 -0
- package/dist/programs/defi-wrapper/use-cases/distributor/write.d.ts +1 -0
- package/dist/programs/defi-wrapper/use-cases/distributor/write.js +191 -0
- package/dist/programs/defi-wrapper/use-cases/distributor/write.js.map +1 -0
- package/dist/programs/defi-wrapper/use-cases/health/main.d.ts +1 -1
- package/dist/programs/defi-wrapper/use-cases/health/read.js +73 -23
- package/dist/programs/defi-wrapper/use-cases/health/read.js.map +1 -1
- package/dist/programs/defi-wrapper/use-cases/health/utils.js +11 -3
- package/dist/programs/defi-wrapper/use-cases/health/utils.js.map +1 -1
- package/dist/programs/defi-wrapper/use-cases/health/write.js +68 -25
- package/dist/programs/defi-wrapper/use-cases/health/write.js.map +1 -1
- package/dist/programs/defi-wrapper/use-cases/index.d.ts +2 -0
- package/dist/programs/defi-wrapper/use-cases/index.js +2 -0
- package/dist/programs/defi-wrapper/use-cases/index.js.map +1 -1
- package/dist/programs/defi-wrapper/use-cases/main.d.ts +1 -1
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/index.d.ts +3 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/index.js +4 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/index.js.map +1 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/main.d.ts +1 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/main.js +6 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/main.js.map +1 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/read.d.ts +1 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/read.js +362 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/read.js.map +1 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/write.d.ts +1 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/write.js +86 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/common/write.js.map +1 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/index.d.ts +2 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/index.js +3 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/index.js.map +1 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/main.d.ts +1 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/main.js +6 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/main.js.map +1 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/write.d.ts +1 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/write.js +369 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/dashboard/write.js.map +1 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/index.d.ts +6 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/index.js +7 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/index.js.map +1 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/main.d.ts +1 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/main.js +6 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/main.js.map +1 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/index.d.ts +2 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/index.js +3 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/index.js.map +1 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/main.d.ts +1 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/main.js +6 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/main.js.map +1 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/write.d.ts +1 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/write.js +184 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/pool/write.js.map +1 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/index.d.ts +3 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/index.js +4 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/index.js.map +1 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/main.d.ts +1 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/main.js +6 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/main.js.map +1 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/read.d.ts +1 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/read.js +80 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/read.js.map +1 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/write.d.ts +1 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/write.js +139 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/proxy/write.js.map +1 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/index.d.ts +2 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/index.js +3 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/index.js.map +1 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/main.d.ts +1 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/main.js +6 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/main.js.map +1 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/write.d.ts +1 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/write.js +118 -0
- package/dist/programs/defi-wrapper/use-cases/timelock-governance/withdrawal-queue/write.js.map +1 -0
- package/dist/programs/defi-wrapper/use-cases/wrapper-operations/index.d.ts +1 -1
- package/dist/programs/defi-wrapper/use-cases/wrapper-operations/index.js +1 -2
- package/dist/programs/defi-wrapper/use-cases/wrapper-operations/index.js.map +1 -1
- package/dist/programs/defi-wrapper/use-cases/wrapper-operations/main.d.ts +1 -1
- package/dist/programs/defi-wrapper/use-cases/wrapper-operations/read.js +334 -12
- package/dist/programs/defi-wrapper/use-cases/wrapper-operations/read.js.map +1 -1
- package/dist/programs/defi-wrapper/use-cases/wrapper-operations/write.js +449 -2
- package/dist/programs/defi-wrapper/use-cases/wrapper-operations/write.js.map +1 -1
- package/dist/programs/dev-tools/anvil/main.d.ts +1 -1
- package/dist/programs/dev-tools/defi-wrapper/main.d.ts +1 -1
- package/dist/programs/dev-tools/defi-wrapper/write.js +42 -12
- package/dist/programs/dev-tools/defi-wrapper/write.js.map +1 -1
- package/dist/programs/dev-tools/main.d.ts +1 -1
- package/dist/programs/pdg-helpers.js +59 -19
- package/dist/programs/pdg-helpers.js.map +1 -1
- package/dist/programs/use-cases/consolidation/main.d.ts +1 -1
- package/dist/programs/use-cases/consolidation/write.d.ts +1 -1
- package/dist/programs/use-cases/consolidation/write.js +6 -2
- package/dist/programs/use-cases/consolidation/write.js.map +1 -1
- package/dist/programs/use-cases/deposits/main.d.ts +1 -1
- package/dist/programs/use-cases/deposits/read.js +40 -8
- package/dist/programs/use-cases/deposits/read.js.map +1 -1
- package/dist/programs/use-cases/deposits/write.js +15 -3
- package/dist/programs/use-cases/deposits/write.js.map +1 -1
- package/dist/programs/use-cases/metrics/main.d.ts +1 -1
- package/dist/programs/use-cases/metrics/read.js +32 -12
- package/dist/programs/use-cases/metrics/read.js.map +1 -1
- package/dist/programs/use-cases/report/main.d.ts +1 -1
- package/dist/programs/use-cases/report/read.js +25 -5
- package/dist/programs/use-cases/report/read.js.map +1 -1
- package/dist/programs/use-cases/report/write.js +10 -2
- package/dist/programs/use-cases/report/write.js.map +1 -1
- package/dist/programs/use-cases/vault-operations/main.d.ts +1 -1
- package/dist/programs/use-cases/vault-operations/write.js +59 -21
- package/dist/programs/use-cases/vault-operations/write.js.map +1 -1
- package/dist/providers/index.d.ts +1 -1
- package/dist/providers/index.js +1 -1
- package/dist/providers/wallet.d.ts +302 -300
- package/dist/providers/wallet.js +10 -2
- package/dist/providers/wallet.js.map +1 -1
- package/dist/tests/integration/deposits.test.js +1 -1
- package/dist/tests/integration/deposits.test.js.map +1 -1
- package/dist/tests/integration/helpers/test-client.d.ts +150 -150
- package/dist/tests/integration/metrics.test.js.map +1 -1
- package/dist/tests/integration/mint-burn.test.js.map +1 -1
- package/dist/tests/utils/calculate-overview-v2.test.js +1 -1
- package/dist/tests/utils/csv-file.test.js +1 -1
- package/dist/tests/utils/error-handler.test.js +5 -8
- package/dist/tests/utils/error-handler.test.js.map +1 -1
- package/dist/tests/utils/lido-apr.test.js +1 -1
- package/dist/tests/utils/logging.test.js +30 -14
- package/dist/tests/utils/logging.test.js.map +1 -1
- package/dist/tests/utils/rate-limit.test.d.ts +1 -0
- package/dist/tests/utils/rate-limit.test.js +246 -0
- package/dist/tests/utils/rate-limit.test.js.map +1 -0
- package/dist/tests/utils/rebase-rewards.test.js +44 -43
- package/dist/tests/utils/rebase-rewards.test.js.map +1 -1
- package/dist/tests/utils/report-statistic.test.d.ts +1 -0
- package/dist/tests/utils/report-statistic.test.js +501 -0
- package/dist/tests/utils/report-statistic.test.js.map +1 -0
- package/dist/tests/utils/snake-to-camel.test.js +1 -1
- package/dist/tests/utils/spinner.test.d.ts +1 -0
- package/dist/tests/utils/spinner.test.js +113 -0
- package/dist/tests/utils/spinner.test.js.map +1 -0
- package/dist/tests/utils/timestamp.test.js +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.js +2 -2
- package/dist/utils/arguments.d.ts +15 -1
- package/dist/utils/arguments.js +28 -0
- package/dist/utils/arguments.js.map +1 -1
- package/dist/utils/cache.d.ts +6 -5
- package/dist/utils/cache.js +15 -13
- package/dist/utils/cache.js.map +1 -1
- package/dist/utils/charts/blessed/charts-apr.js +10 -6
- package/dist/utils/charts/blessed/charts-apr.js.map +1 -1
- package/dist/utils/charts/blessed/charts-rewards.js +9 -5
- package/dist/utils/charts/blessed/charts-rewards.js.map +1 -1
- package/dist/utils/charts/blessed/datasets/prepare-metrics.d.ts +6 -6
- package/dist/utils/charts/blessed/datasets/prepare-metrics.js +12 -13
- package/dist/utils/charts/blessed/datasets/prepare-metrics.js.map +1 -1
- package/dist/utils/charts/blessed/utils.js +5 -2
- package/dist/utils/charts/blessed/utils.js.map +1 -1
- package/dist/utils/charts/simple/simple-charts.js +20 -8
- package/dist/utils/charts/simple/simple-charts.js.map +1 -1
- package/dist/utils/commands/report.d.ts +5 -2
- package/dist/utils/commands/report.js +21 -7
- package/dist/utils/commands/report.js.map +1 -1
- package/dist/utils/consts.d.ts +1 -0
- package/dist/utils/consts.js +5 -0
- package/dist/utils/consts.js.map +1 -1
- package/dist/utils/error-handler.js +3 -0
- package/dist/utils/error-handler.js.map +1 -1
- package/dist/utils/fetchCL.d.ts +10 -0
- package/dist/utils/fetchCL.js +38 -28
- package/dist/utils/fetchCL.js.map +1 -1
- package/dist/utils/health/health-utils.d.ts +2 -27707
- package/dist/utils/health/health-utils.js +26 -8
- package/dist/utils/health/health-utils.js.map +1 -1
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/interrupt-handler.js +14 -6
- package/dist/utils/interrupt-handler.js.map +1 -1
- package/dist/utils/logging/console.d.ts +5 -1
- package/dist/utils/logging/console.js +36 -25
- package/dist/utils/logging/console.js.map +1 -1
- package/dist/utils/prompts/confirmations.d.ts +1 -1
- package/dist/utils/prompts/operations.d.ts +1 -1
- package/dist/utils/prompts/operations.js +1 -3
- package/dist/utils/prompts/operations.js.map +1 -1
- package/dist/utils/prompts/predeposit-guarantee.d.ts +1 -1
- package/dist/utils/prompts/predeposit-guarantee.js +1 -1
- package/dist/utils/proof/create-proof.js +18 -3
- package/dist/utils/proof/create-proof.js.map +1 -1
- package/dist/utils/rate-limit.d.ts +10 -0
- package/dist/utils/rate-limit.js +30 -0
- package/dist/utils/rate-limit.js.map +1 -0
- package/dist/utils/read-programs-by-abi.js +22 -4
- package/dist/utils/read-programs-by-abi.js.map +1 -1
- package/dist/utils/rebase-rewards.d.ts +0 -1
- package/dist/utils/rebase-rewards.js +12 -3
- package/dist/utils/rebase-rewards.js.map +1 -1
- package/dist/utils/report/statistic-data.js +31 -10
- package/dist/utils/report/statistic-data.js.map +1 -1
- package/dist/utils/share-rate.js +16 -4
- package/dist/utils/share-rate.js.map +1 -1
- package/dist/utils/sleep.js.map +1 -1
- package/dist/utils/spinner/spinners.js +5 -3
- package/dist/utils/spinner/spinners.js.map +1 -1
- package/dist/utils/statistic/report-statistic.d.ts +21 -6
- package/dist/utils/statistic/report-statistic.js +65 -25
- package/dist/utils/statistic/report-statistic.js.map +1 -1
- package/dist/utils/transactions/tx-private-key.d.ts +5 -7
- package/dist/utils/transactions/tx-private-key.js +56 -21
- package/dist/utils/transactions/tx-private-key.js.map +1 -1
- package/dist/utils/transactions/tx-wc.d.ts +12 -11
- package/dist/utils/transactions/tx-wc.js +108 -11
- package/dist/utils/transactions/tx-wc.js.map +1 -1
- package/dist/utils/transactions/types.d.ts +7 -0
- package/dist/utils/transactions/utils.d.ts +1 -0
- package/dist/utils/transactions/utils.js +13 -2
- package/dist/utils/transactions/utils.js.map +1 -1
- package/dist/utils/wallet-connect.d.ts +4 -1
- package/dist/utils/wallet-connect.js +52 -4
- package/dist/utils/wallet-connect.js.map +1 -1
- package/dist/utils/with-error.d.ts +7 -0
- package/dist/utils/with-error.js +6 -0
- package/dist/utils/with-error.js.map +1 -0
- package/dist/version/index.js +1 -1
- package/package.json +4 -13
- package/dist/programs/defi-wrapper/use-cases/wrapper-operations/create-pool.js +0 -180
- package/dist/programs/defi-wrapper/use-cases/wrapper-operations/create-pool.js.map +0 -1
- /package/dist/programs/defi-wrapper/use-cases/{wrapper-operations/create-pool.d.ts → distributor/read.d.ts} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { parseEther, formatEther } from 'viem';
|
|
2
2
|
import { Option } from 'commander';
|
|
3
3
|
import { getDashboardContract, getOperatorGridContract, getPredepositGuaranteeContract, getStakingVaultContract, } from '../../../contracts/index.js';
|
|
4
|
-
import { mintShares, burnShares, mintSteth, burnSteth, checkBLSDeposits, checkPdgIsPaused, callWriteMethodsWithReportFresh, checkValidatorInfo, } from '../../../features/index.js';
|
|
4
|
+
import { mintShares, burnShares, mintSteth, burnSteth, checkBLSDeposits, checkPdgIsPaused, callWriteMethodsWithReportFresh, checkValidatorInfo, resolveStethShareLimit, } from '../../../features/index.js';
|
|
5
5
|
import { callReadMethod, callWriteMethodWithReceipt, jsonToRoleAssignment, confirmOperation, stringToBigInt, parseDepositArray, logInfo, getCommandsJson, stringToAddress, createPDGProof, confirmProposal, formatBP, callReadMethodSilent, showSpinner, stringToBigIntArrayWei, stringToHexArray, etherToWei, stringToNumber, logError, } from '../../../utils/index.js';
|
|
6
6
|
import { dashboard } from './main.js';
|
|
7
7
|
const dashboardWrite = dashboard
|
|
@@ -21,7 +21,11 @@ dashboardWrite
|
|
|
21
21
|
.argument('<newOwner>', 'address of the new owner', stringToAddress)
|
|
22
22
|
.action(async (address, newOwner) => {
|
|
23
23
|
const contract = await getDashboardContract(address);
|
|
24
|
-
const vault = await callReadMethod(
|
|
24
|
+
const vault = await callReadMethod({
|
|
25
|
+
contract,
|
|
26
|
+
methodName: 'stakingVault',
|
|
27
|
+
payload: [],
|
|
28
|
+
});
|
|
25
29
|
const confirm = await confirmOperation(`Are you sure you want to transfer ownership of the staking vault ${vault} to ${newOwner}?`);
|
|
26
30
|
if (!confirm)
|
|
27
31
|
return;
|
|
@@ -37,7 +41,11 @@ dashboardWrite
|
|
|
37
41
|
.argument('<address>', 'dashboard address', stringToAddress)
|
|
38
42
|
.action(async (address) => {
|
|
39
43
|
const contract = await getDashboardContract(address);
|
|
40
|
-
const vault = await callReadMethod(
|
|
44
|
+
const vault = await callReadMethod({
|
|
45
|
+
contract,
|
|
46
|
+
methodName: 'stakingVault',
|
|
47
|
+
payload: [],
|
|
48
|
+
});
|
|
41
49
|
const confirm = await confirmOperation(`Are you sure you want to disconnect the staking vault ${vault}?`);
|
|
42
50
|
if (!confirm)
|
|
43
51
|
return;
|
|
@@ -55,7 +63,11 @@ dashboardWrite
|
|
|
55
63
|
.argument('<ether>', 'amount of ether to be funded (in ETH)')
|
|
56
64
|
.action(async (address, ether) => {
|
|
57
65
|
const contract = await getDashboardContract(address);
|
|
58
|
-
const vault = await callReadMethod(
|
|
66
|
+
const vault = await callReadMethod({
|
|
67
|
+
contract,
|
|
68
|
+
methodName: 'stakingVault',
|
|
69
|
+
payload: [],
|
|
70
|
+
});
|
|
59
71
|
const confirm = await confirmOperation(`Are you sure you want to fund the staking vault ${vault} with ${ether} ether?`);
|
|
60
72
|
if (!confirm)
|
|
61
73
|
return;
|
|
@@ -74,7 +86,11 @@ dashboardWrite
|
|
|
74
86
|
.argument('<eth>', 'amount of ether to withdraw (in ETH)')
|
|
75
87
|
.action(async (address, recipient, ether) => {
|
|
76
88
|
const contract = await getDashboardContract(address);
|
|
77
|
-
const vault = await callReadMethod(
|
|
89
|
+
const vault = await callReadMethod({
|
|
90
|
+
contract,
|
|
91
|
+
methodName: 'stakingVault',
|
|
92
|
+
payload: [],
|
|
93
|
+
});
|
|
78
94
|
const confirm = await confirmOperation(`Are you sure you want to withdraw ${ether} from the staking vault ${vault} to ${recipient}?`);
|
|
79
95
|
if (!confirm)
|
|
80
96
|
return;
|
|
@@ -92,7 +108,11 @@ dashboardWrite
|
|
|
92
108
|
.argument('<validatorPubKey>', 'public key of the validator to exit')
|
|
93
109
|
.action(async (address, validatorPubKey) => {
|
|
94
110
|
const contract = await getDashboardContract(address);
|
|
95
|
-
const vault = await callReadMethod(
|
|
111
|
+
const vault = await callReadMethod({
|
|
112
|
+
contract,
|
|
113
|
+
methodName: 'stakingVault',
|
|
114
|
+
payload: [],
|
|
115
|
+
});
|
|
96
116
|
const confirm = await confirmOperation(`Are you sure you want to exit the validator ${validatorPubKey} from the staking vault ${vault}?`);
|
|
97
117
|
if (!confirm)
|
|
98
118
|
return;
|
|
@@ -110,11 +130,20 @@ dashboardWrite
|
|
|
110
130
|
.argument('<amounts>', 'amounts of ether to withdraw. Comma separated list of amounts', stringToBigIntArrayWei)
|
|
111
131
|
.argument('<recipient>', 'address of the recipient', stringToAddress)
|
|
112
132
|
.action(async (address, pubkeys, amounts, recipient) => {
|
|
113
|
-
const mergedPubkeys =
|
|
133
|
+
const mergedPubkeys = ('0x' +
|
|
134
|
+
pubkeys.map((pubkey) => pubkey.replace(/^0x/, '')).join(''));
|
|
114
135
|
const contract = await getDashboardContract(address);
|
|
115
|
-
const vault = await callReadMethod(
|
|
136
|
+
const vault = await callReadMethod({
|
|
137
|
+
contract,
|
|
138
|
+
methodName: 'stakingVault',
|
|
139
|
+
payload: [],
|
|
140
|
+
});
|
|
116
141
|
const vaultContract = await getStakingVaultContract(vault);
|
|
117
|
-
const fee = await callReadMethod(
|
|
142
|
+
const fee = await callReadMethod({
|
|
143
|
+
contract: vaultContract,
|
|
144
|
+
methodName: 'calculateValidatorWithdrawalFee',
|
|
145
|
+
payload: [[BigInt(amounts.length)]],
|
|
146
|
+
});
|
|
118
147
|
const confirmationMessage = `Are you sure you want to trigger the withdrawal of the validators
|
|
119
148
|
${pubkeys.join(', ')}
|
|
120
149
|
from the staking vault ${vault} to ${recipient}
|
|
@@ -139,7 +168,11 @@ dashboardWrite
|
|
|
139
168
|
.argument('<amountOfShares>', 'amount of shares to mint (in Shares)')
|
|
140
169
|
.action(async (address, recipient, amountOfShares) => {
|
|
141
170
|
const contract = await getDashboardContract(address);
|
|
142
|
-
const vault = await callReadMethod(
|
|
171
|
+
const vault = await callReadMethod({
|
|
172
|
+
contract,
|
|
173
|
+
methodName: 'stakingVault',
|
|
174
|
+
payload: [],
|
|
175
|
+
});
|
|
143
176
|
await mintShares(contract, recipient, parseEther(amountOfShares), vault, 'mintShares');
|
|
144
177
|
});
|
|
145
178
|
dashboardWrite
|
|
@@ -150,7 +183,11 @@ dashboardWrite
|
|
|
150
183
|
.argument('<amountOfSteth>', 'amount of stETH to mint')
|
|
151
184
|
.action(async (address, recipient, amountOfSteth) => {
|
|
152
185
|
const contract = await getDashboardContract(address);
|
|
153
|
-
const vault = await callReadMethod(
|
|
186
|
+
const vault = await callReadMethod({
|
|
187
|
+
contract,
|
|
188
|
+
methodName: 'stakingVault',
|
|
189
|
+
payload: [],
|
|
190
|
+
});
|
|
154
191
|
await mintSteth(contract, recipient, parseEther(amountOfSteth), vault);
|
|
155
192
|
});
|
|
156
193
|
dashboardWrite
|
|
@@ -161,7 +198,11 @@ dashboardWrite
|
|
|
161
198
|
.argument('<amountOfWsteth>', 'amount of wstETH to mint')
|
|
162
199
|
.action(async (address, recipient, amountOfWsteth) => {
|
|
163
200
|
const contract = await getDashboardContract(address);
|
|
164
|
-
const vault = await callReadMethod(
|
|
201
|
+
const vault = await callReadMethod({
|
|
202
|
+
contract,
|
|
203
|
+
methodName: 'stakingVault',
|
|
204
|
+
payload: [],
|
|
205
|
+
});
|
|
165
206
|
await mintShares(contract, recipient, parseEther(amountOfWsteth), vault, 'mintWstETH');
|
|
166
207
|
});
|
|
167
208
|
dashboardWrite
|
|
@@ -172,7 +213,11 @@ dashboardWrite
|
|
|
172
213
|
.argument('<amountOfShares>', 'amount of shares to burn (in Shares)')
|
|
173
214
|
.action(async (address, amountOfShares) => {
|
|
174
215
|
const contract = await getDashboardContract(address);
|
|
175
|
-
const vault = await callReadMethod(
|
|
216
|
+
const vault = await callReadMethod({
|
|
217
|
+
contract,
|
|
218
|
+
methodName: 'stakingVault',
|
|
219
|
+
payload: [],
|
|
220
|
+
});
|
|
176
221
|
await burnShares(contract, parseEther(amountOfShares), vault, 'burnShares');
|
|
177
222
|
});
|
|
178
223
|
dashboardWrite
|
|
@@ -182,7 +227,11 @@ dashboardWrite
|
|
|
182
227
|
.argument('<amountOfShares>', 'amount of shares to burn (in stETH)')
|
|
183
228
|
.action(async (address, amountOfShares) => {
|
|
184
229
|
const contract = await getDashboardContract(address);
|
|
185
|
-
const vault = await callReadMethod(
|
|
230
|
+
const vault = await callReadMethod({
|
|
231
|
+
contract,
|
|
232
|
+
methodName: 'stakingVault',
|
|
233
|
+
payload: [],
|
|
234
|
+
});
|
|
186
235
|
await burnSteth(contract, parseEther(amountOfShares), vault);
|
|
187
236
|
});
|
|
188
237
|
dashboardWrite
|
|
@@ -192,7 +241,11 @@ dashboardWrite
|
|
|
192
241
|
.argument('<tokens>', 'amount of wstETH tokens to burn (in wstETH)')
|
|
193
242
|
.action(async (address, tokens) => {
|
|
194
243
|
const contract = await getDashboardContract(address);
|
|
195
|
-
const vault = await callReadMethod(
|
|
244
|
+
const vault = await callReadMethod({
|
|
245
|
+
contract,
|
|
246
|
+
methodName: 'stakingVault',
|
|
247
|
+
payload: [],
|
|
248
|
+
});
|
|
196
249
|
await burnShares(contract, parseEther(tokens), vault, 'burnWstETH');
|
|
197
250
|
});
|
|
198
251
|
dashboardWrite
|
|
@@ -202,7 +255,11 @@ dashboardWrite
|
|
|
202
255
|
.argument('<ether>', 'amount of ether to rebalance (in ETH)', etherToWei)
|
|
203
256
|
.action(async (address, ether) => {
|
|
204
257
|
const contract = await getDashboardContract(address);
|
|
205
|
-
const vault = await callReadMethod(
|
|
258
|
+
const vault = await callReadMethod({
|
|
259
|
+
contract,
|
|
260
|
+
methodName: 'stakingVault',
|
|
261
|
+
payload: [],
|
|
262
|
+
});
|
|
206
263
|
const confirm = await confirmOperation(`Are you sure you want to rebalance the vault ${vault} with ${formatEther(ether)} ether by transferring?`);
|
|
207
264
|
if (!confirm)
|
|
208
265
|
return;
|
|
@@ -220,7 +277,11 @@ dashboardWrite
|
|
|
220
277
|
.argument('<shares>', 'amount of shares to rebalance (in shares)', etherToWei)
|
|
221
278
|
.action(async (address, shares) => {
|
|
222
279
|
const contract = await getDashboardContract(address);
|
|
223
|
-
const vault = await callReadMethod(
|
|
280
|
+
const vault = await callReadMethod({
|
|
281
|
+
contract,
|
|
282
|
+
methodName: 'stakingVault',
|
|
283
|
+
payload: [],
|
|
284
|
+
});
|
|
224
285
|
const confirm = await confirmOperation(`Are you sure you want to rebalance the vault ${vault} with ${formatEther(shares)} shares?`);
|
|
225
286
|
if (!confirm)
|
|
226
287
|
return;
|
|
@@ -272,7 +333,11 @@ dashboardWrite
|
|
|
272
333
|
.argument('<address>', 'dashboard address', stringToAddress)
|
|
273
334
|
.action(async (address) => {
|
|
274
335
|
const contract = await getDashboardContract(address);
|
|
275
|
-
const vault = await callReadMethod(
|
|
336
|
+
const vault = await callReadMethod({
|
|
337
|
+
contract,
|
|
338
|
+
methodName: 'stakingVault',
|
|
339
|
+
payload: [],
|
|
340
|
+
});
|
|
276
341
|
const confirm = await confirmOperation(`Are you sure you want to pause beacon chain deposits on the staking vault ${vault}?`);
|
|
277
342
|
if (!confirm)
|
|
278
343
|
return;
|
|
@@ -288,7 +353,11 @@ dashboardWrite
|
|
|
288
353
|
.argument('<address>', 'dashboard address', stringToAddress)
|
|
289
354
|
.action(async (address) => {
|
|
290
355
|
const contract = await getDashboardContract(address);
|
|
291
|
-
const vault = await callReadMethod(
|
|
356
|
+
const vault = await callReadMethod({
|
|
357
|
+
contract,
|
|
358
|
+
methodName: 'stakingVault',
|
|
359
|
+
payload: [],
|
|
360
|
+
});
|
|
292
361
|
const confirm = await confirmOperation(`Are you sure you want to resume beacon chain deposits on the staking vault ${vault}?`);
|
|
293
362
|
if (!confirm)
|
|
294
363
|
return;
|
|
@@ -315,7 +384,11 @@ dashboardWrite
|
|
|
315
384
|
if (!Array.isArray(roleAssignment)) {
|
|
316
385
|
throw new Error('the 2nd argument should be an array of role assignments');
|
|
317
386
|
}
|
|
318
|
-
const vault = await callReadMethod(
|
|
387
|
+
const vault = await callReadMethod({
|
|
388
|
+
contract,
|
|
389
|
+
methodName: 'stakingVault',
|
|
390
|
+
payload: [],
|
|
391
|
+
});
|
|
319
392
|
const confirm = await confirmOperation(`Are you sure you want to grant the roles ${roleAssignment.map((i) => JSON.stringify(i))} in the vault ${vault}?`);
|
|
320
393
|
if (!confirm)
|
|
321
394
|
return;
|
|
@@ -342,7 +415,11 @@ dashboardWrite
|
|
|
342
415
|
if (!Array.isArray(roleAssignment)) {
|
|
343
416
|
throw new Error('the 2nd argument should be an array of role assignments');
|
|
344
417
|
}
|
|
345
|
-
const vault = await callReadMethod(
|
|
418
|
+
const vault = await callReadMethod({
|
|
419
|
+
contract,
|
|
420
|
+
methodName: 'stakingVault',
|
|
421
|
+
payload: [],
|
|
422
|
+
});
|
|
346
423
|
const confirm = await confirmOperation(`Are you sure you want to revoke the roles ${roleAssignment.map((i) => JSON.stringify(i))} in the vault ${vault}?`);
|
|
347
424
|
if (!confirm)
|
|
348
425
|
return;
|
|
@@ -370,7 +447,11 @@ dashboardWrite
|
|
|
370
447
|
...]'`)
|
|
371
448
|
.action(async (address, deposits, { blsCheck }) => {
|
|
372
449
|
const contract = await getDashboardContract(address);
|
|
373
|
-
const vault = await callReadMethod(
|
|
450
|
+
const vault = await callReadMethod({
|
|
451
|
+
contract,
|
|
452
|
+
methodName: 'stakingVault',
|
|
453
|
+
payload: [],
|
|
454
|
+
});
|
|
374
455
|
const vaultContract = await getStakingVaultContract(vault);
|
|
375
456
|
const confirm = await confirmOperation(`Are you sure you want to unguaranteed deposit ${deposits.length} deposits to the beacon chain in the staking vault ${vault}?
|
|
376
457
|
Pubkeys: ${deposits.map((i) => i.pubkey).join(', ')}`);
|
|
@@ -395,14 +476,26 @@ dashboardWrite
|
|
|
395
476
|
getDashboardContract(address),
|
|
396
477
|
getPredepositGuaranteeContract(),
|
|
397
478
|
]);
|
|
398
|
-
const vault = await callReadMethod(
|
|
479
|
+
const vault = await callReadMethod({
|
|
480
|
+
contract: dashboardContract,
|
|
481
|
+
methodName: 'stakingVault',
|
|
482
|
+
payload: [],
|
|
483
|
+
});
|
|
399
484
|
const vaultContract = await getStakingVaultContract(vault);
|
|
400
|
-
const pdgContractAddress = await callReadMethodSilent(
|
|
485
|
+
const pdgContractAddress = await callReadMethodSilent({
|
|
486
|
+
contract: vaultContract,
|
|
487
|
+
methodName: 'depositor',
|
|
488
|
+
payload: [],
|
|
489
|
+
});
|
|
401
490
|
const isPaused = await checkPdgIsPaused(pdgContract);
|
|
402
491
|
if (isPaused)
|
|
403
492
|
return;
|
|
404
493
|
const payload = [];
|
|
405
|
-
const pdgPolicy = await callReadMethodSilent(
|
|
494
|
+
const pdgPolicy = await callReadMethodSilent({
|
|
495
|
+
contract: dashboardContract,
|
|
496
|
+
methodName: 'pdgPolicy',
|
|
497
|
+
payload: [],
|
|
498
|
+
});
|
|
406
499
|
const isAllowed = pdgPolicy === 2;
|
|
407
500
|
if (!isAllowed) {
|
|
408
501
|
throw new Error(`Dashboard PDG policy is not set to allow proving unknown validators to PDG`);
|
|
@@ -453,7 +546,11 @@ dashboardWrite
|
|
|
453
546
|
.argument('<newOwner>', 'new owner address', stringToAddress)
|
|
454
547
|
.action(async (address, newOwner) => {
|
|
455
548
|
const contract = await getDashboardContract(address);
|
|
456
|
-
const vault = await callReadMethod(
|
|
549
|
+
const vault = await callReadMethod({
|
|
550
|
+
contract,
|
|
551
|
+
methodName: 'stakingVault',
|
|
552
|
+
payload: [],
|
|
553
|
+
});
|
|
457
554
|
const confirm = await confirmOperation(`Are you sure you want to abandon the dashboard ${address} (vault: ${vault})?`);
|
|
458
555
|
if (!confirm)
|
|
459
556
|
return;
|
|
@@ -471,8 +568,16 @@ dashboardWrite
|
|
|
471
568
|
.addHelpText('after', `Reverts if settledGrowth is not corrected after the vault is disconnected`)
|
|
472
569
|
.action(async (address) => {
|
|
473
570
|
const contract = await getDashboardContract(address);
|
|
474
|
-
const vault = await callReadMethod(
|
|
475
|
-
|
|
571
|
+
const vault = await callReadMethod({
|
|
572
|
+
contract,
|
|
573
|
+
methodName: 'stakingVault',
|
|
574
|
+
payload: [],
|
|
575
|
+
});
|
|
576
|
+
const currentSettledGrowth = await callReadMethodSilent({
|
|
577
|
+
contract,
|
|
578
|
+
methodName: 'settledGrowth',
|
|
579
|
+
payload: [],
|
|
580
|
+
});
|
|
476
581
|
const confirm = await confirmOperation(`Are you sure you want to connect the dashboard ${address} (vault: ${vault}) to VaultHub?
|
|
477
582
|
Current settled growth: ${formatEther(currentSettledGrowth)}`);
|
|
478
583
|
if (!confirm)
|
|
@@ -491,8 +596,16 @@ dashboardWrite
|
|
|
491
596
|
.addHelpText('after', `Reverts if settledGrowth is not corrected after the vault is disconnected`)
|
|
492
597
|
.action(async (address) => {
|
|
493
598
|
const contract = await getDashboardContract(address);
|
|
494
|
-
const vault = await callReadMethod(
|
|
495
|
-
|
|
599
|
+
const vault = await callReadMethod({
|
|
600
|
+
contract,
|
|
601
|
+
methodName: 'stakingVault',
|
|
602
|
+
payload: [],
|
|
603
|
+
});
|
|
604
|
+
const currentSettledGrowth = await callReadMethodSilent({
|
|
605
|
+
contract,
|
|
606
|
+
methodName: 'settledGrowth',
|
|
607
|
+
payload: [],
|
|
608
|
+
});
|
|
496
609
|
const confirm = await confirmOperation(`Are you sure you want to reconnect the dashboard ${address} (vault: ${vault}) to VaultHub?
|
|
497
610
|
Current settled growth: ${formatEther(currentSettledGrowth)}`);
|
|
498
611
|
if (!confirm)
|
|
@@ -509,22 +622,32 @@ dashboardWrite
|
|
|
509
622
|
.description('changes the tier of the vault and connects to VaultHub')
|
|
510
623
|
.argument('<address>', 'dashboard address', stringToAddress)
|
|
511
624
|
.argument('<tier>', 'tier to change to', stringToBigInt)
|
|
512
|
-
.argument('<requestedShareLimit>', 'requested new share limit for the vault (in shares)', etherToWei)
|
|
625
|
+
.argument('<requestedShareLimit>', 'requested new share limit for the vault (in shares by default, or in stETH if --steth flag is provided)', etherToWei)
|
|
513
626
|
.option('-f, --fund', 'optional fund the vault with 1 ETH', false)
|
|
627
|
+
.option('--steth', 'interpret requestedShareLimit as stETH value and convert to shares on-chain', false)
|
|
514
628
|
.addHelpText('after', `Reverts if settledGrowth is not corrected after the vault is disconnected`)
|
|
515
|
-
.action(async (address, tier, requestedShareLimit, { fund }) => {
|
|
629
|
+
.action(async (address, tier, requestedShareLimit, { fund, steth }) => {
|
|
516
630
|
const contract = await getDashboardContract(address);
|
|
517
|
-
const vault = await callReadMethod(
|
|
518
|
-
|
|
631
|
+
const vault = await callReadMethod({
|
|
632
|
+
contract,
|
|
633
|
+
methodName: 'stakingVault',
|
|
634
|
+
payload: [],
|
|
635
|
+
});
|
|
636
|
+
const currentSettledGrowth = await callReadMethodSilent({
|
|
637
|
+
contract,
|
|
638
|
+
methodName: 'settledGrowth',
|
|
639
|
+
payload: [],
|
|
640
|
+
});
|
|
641
|
+
const { shares: resolvedShareLimit, label: shareLimitLabel } = await resolveStethShareLimit(requestedShareLimit, steth);
|
|
519
642
|
const confirm = await confirmOperation(`Are you sure you want to change the tier of the vault ${vault} to ${tier} and connect to VaultHub?
|
|
520
|
-
Requested share limit: ${
|
|
643
|
+
Requested share limit: ${shareLimitLabel}
|
|
521
644
|
Current settled growth: ${formatEther(currentSettledGrowth)}`);
|
|
522
645
|
if (!confirm)
|
|
523
646
|
return;
|
|
524
647
|
await callWriteMethodWithReceipt({
|
|
525
648
|
contract,
|
|
526
649
|
methodName: 'connectAndAcceptTier',
|
|
527
|
-
payload: [tier,
|
|
650
|
+
payload: [tier, resolvedShareLimit],
|
|
528
651
|
value: fund ? parseEther('1') : undefined,
|
|
529
652
|
});
|
|
530
653
|
});
|
|
@@ -576,7 +699,11 @@ dashboardWrite
|
|
|
576
699
|
.argument('<address>', 'dashboard address', stringToAddress)
|
|
577
700
|
.action(async (address) => {
|
|
578
701
|
const contract = await getDashboardContract(address);
|
|
579
|
-
const vault = await callReadMethodSilent(
|
|
702
|
+
const vault = await callReadMethodSilent({
|
|
703
|
+
contract,
|
|
704
|
+
methodName: 'stakingVault',
|
|
705
|
+
payload: [],
|
|
706
|
+
});
|
|
580
707
|
const operatorGridContract = await getOperatorGridContract();
|
|
581
708
|
const log = await confirmProposal({
|
|
582
709
|
contract: contract,
|
|
@@ -631,6 +758,28 @@ dashboardWrite
|
|
|
631
758
|
payload: [fee],
|
|
632
759
|
});
|
|
633
760
|
});
|
|
761
|
+
dashboardWrite
|
|
762
|
+
.command('add-fee-exemption')
|
|
763
|
+
.description('Adds a fee exemption to exclude this value from node operator fee base. The exemption works by increasing the settled growth, effectively treating the exempted amount as if fees were already paid on it.')
|
|
764
|
+
.argument('<address>', 'dashboard address', stringToAddress)
|
|
765
|
+
.argument('<amount>', 'fee exemption amount to add (in ETH)', etherToWei)
|
|
766
|
+
.action(async (address, amount) => {
|
|
767
|
+
const contract = await getDashboardContract(address);
|
|
768
|
+
const settledGrowth = await callReadMethodSilent({
|
|
769
|
+
contract,
|
|
770
|
+
methodName: 'settledGrowth',
|
|
771
|
+
payload: [],
|
|
772
|
+
});
|
|
773
|
+
const confirm = await confirmOperation(`Are you sure you want to add a fee exemption of ${formatEther(amount)} ETH?
|
|
774
|
+
Current settled growth: ${formatEther(settledGrowth)} ETH`);
|
|
775
|
+
if (!confirm)
|
|
776
|
+
return;
|
|
777
|
+
await callWriteMethodWithReceipt({
|
|
778
|
+
contract,
|
|
779
|
+
methodName: 'addFeeExemption',
|
|
780
|
+
payload: [amount],
|
|
781
|
+
});
|
|
782
|
+
});
|
|
634
783
|
dashboardWrite
|
|
635
784
|
.command('disburse-node-operator-fee')
|
|
636
785
|
.description('transfers the node-operator`s accrued fee (if any) to nodeOperatorFeeRecipient')
|
|
@@ -638,8 +787,16 @@ dashboardWrite
|
|
|
638
787
|
.action(async (address) => {
|
|
639
788
|
const contract = await getDashboardContract(address);
|
|
640
789
|
const [nodeOperatorFeeRecipient, accruedFee] = await Promise.all([
|
|
641
|
-
callReadMethodSilent(
|
|
642
|
-
|
|
790
|
+
callReadMethodSilent({
|
|
791
|
+
contract,
|
|
792
|
+
methodName: 'feeRecipient',
|
|
793
|
+
payload: [],
|
|
794
|
+
}),
|
|
795
|
+
callReadMethodSilent({
|
|
796
|
+
contract,
|
|
797
|
+
methodName: 'accruedFee',
|
|
798
|
+
payload: [],
|
|
799
|
+
}),
|
|
643
800
|
]);
|
|
644
801
|
if (accruedFee === 0n) {
|
|
645
802
|
logError('The node operator has no accrued fee');
|
|
@@ -660,17 +817,23 @@ dashboardWrite
|
|
|
660
817
|
.description('vault tier change with multi-role confirmation')
|
|
661
818
|
.argument('<address>', 'dashboard address', stringToAddress)
|
|
662
819
|
.argument('<tierId>', 'tier id', stringToBigInt)
|
|
663
|
-
.argument('<requestedShareLimit>', 'requested share limit (in shares)', etherToWei)
|
|
664
|
-
.
|
|
820
|
+
.argument('<requestedShareLimit>', 'requested share limit (in shares by default, or in stETH if --steth flag is provided)', etherToWei)
|
|
821
|
+
.option('--steth', 'interpret requestedShareLimit as stETH value and convert to shares on-chain', false)
|
|
822
|
+
.action(async (address, tierId, requestedShareLimit, { steth }) => {
|
|
665
823
|
const contract = await getDashboardContract(address);
|
|
666
|
-
const vault = await callReadMethod(
|
|
667
|
-
|
|
824
|
+
const vault = await callReadMethod({
|
|
825
|
+
contract,
|
|
826
|
+
methodName: 'stakingVault',
|
|
827
|
+
payload: [],
|
|
828
|
+
});
|
|
829
|
+
const { shares: shareLimit, label: shareLimitLabel } = await resolveStethShareLimit(requestedShareLimit, steth);
|
|
830
|
+
const confirm = await confirmOperation(`Are you sure you want to change the current tier to tier ID ${tierId} for vault ${vault} with share limit ${shareLimitLabel}?`);
|
|
668
831
|
if (!confirm)
|
|
669
832
|
return;
|
|
670
833
|
await callWriteMethodWithReceipt({
|
|
671
834
|
contract,
|
|
672
835
|
methodName: 'changeTier',
|
|
673
|
-
payload: [tierId,
|
|
836
|
+
payload: [tierId, shareLimit],
|
|
674
837
|
});
|
|
675
838
|
});
|
|
676
839
|
dashboardWrite
|
|
@@ -684,7 +847,11 @@ dashboardWrite
|
|
|
684
847
|
- Confirmations expire after the configured period (default: 1 day)`)
|
|
685
848
|
.action(async (address) => {
|
|
686
849
|
const contract = await getDashboardContract(address);
|
|
687
|
-
const vault = await callReadMethod(
|
|
850
|
+
const vault = await callReadMethod({
|
|
851
|
+
contract,
|
|
852
|
+
methodName: 'stakingVault',
|
|
853
|
+
payload: [],
|
|
854
|
+
});
|
|
688
855
|
const confirm = await confirmOperation(`Are you sure you want to sync the tier of the vault ${vault}?`);
|
|
689
856
|
if (!confirm)
|
|
690
857
|
return;
|
|
@@ -699,17 +866,23 @@ dashboardWrite
|
|
|
699
866
|
.alias('usl')
|
|
700
867
|
.description('requests a change of share limit on the OperatorGrid')
|
|
701
868
|
.argument('<address>', 'dashboard address', stringToAddress)
|
|
702
|
-
.argument('<shareLimit>', 'share limit', etherToWei)
|
|
703
|
-
.
|
|
869
|
+
.argument('<shareLimit>', 'share limit (in shares by default, or in stETH if --steth flag is provided)', etherToWei)
|
|
870
|
+
.option('--steth', 'interpret shareLimit as stETH value and convert to shares on-chain', false)
|
|
871
|
+
.action(async (address, shareLimit, { steth }) => {
|
|
704
872
|
const contract = await getDashboardContract(address);
|
|
705
|
-
const vault = await callReadMethod(
|
|
706
|
-
|
|
873
|
+
const vault = await callReadMethod({
|
|
874
|
+
contract,
|
|
875
|
+
methodName: 'stakingVault',
|
|
876
|
+
payload: [],
|
|
877
|
+
});
|
|
878
|
+
const { shares: resolvedShareLimit, label: shareLimitLabel } = await resolveStethShareLimit(shareLimit, steth);
|
|
879
|
+
const confirm = await confirmOperation(`Are you sure you want to request a change of share limit on the OperatorGrid for the vault ${vault} to ${shareLimitLabel}?`);
|
|
707
880
|
if (!confirm)
|
|
708
881
|
return;
|
|
709
882
|
await callWriteMethodWithReceipt({
|
|
710
883
|
contract,
|
|
711
884
|
methodName: 'updateShareLimit',
|
|
712
|
-
payload: [
|
|
885
|
+
payload: [resolvedShareLimit],
|
|
713
886
|
});
|
|
714
887
|
});
|
|
715
888
|
dashboardWrite
|
|
@@ -734,7 +907,11 @@ dashboardWrite
|
|
|
734
907
|
.argument('<newSettledGrowth>', 'new settled growth (in ETH)', etherToWei)
|
|
735
908
|
.action(async (address, newSettledGrowth) => {
|
|
736
909
|
const contract = await getDashboardContract(address);
|
|
737
|
-
const currentSettledGrowth = await callReadMethodSilent(
|
|
910
|
+
const currentSettledGrowth = await callReadMethodSilent({
|
|
911
|
+
contract,
|
|
912
|
+
methodName: 'settledGrowth',
|
|
913
|
+
payload: [],
|
|
914
|
+
});
|
|
738
915
|
const confirm = await confirmOperation(`Are you sure you want to correct the settled growth to ${newSettledGrowth}?
|
|
739
916
|
Current settled growth: ${formatEther(currentSettledGrowth)}`);
|
|
740
917
|
if (!confirm)
|
|
@@ -752,7 +929,11 @@ dashboardWrite
|
|
|
752
929
|
.argument('<address>', 'dashboard address', stringToAddress)
|
|
753
930
|
.action(async (address) => {
|
|
754
931
|
const contract = await getDashboardContract(address);
|
|
755
|
-
const feeLeftover = await callReadMethodSilent(
|
|
932
|
+
const feeLeftover = await callReadMethodSilent({
|
|
933
|
+
contract,
|
|
934
|
+
methodName: 'feeLeftover',
|
|
935
|
+
payload: [],
|
|
936
|
+
});
|
|
756
937
|
const confirm = await confirmOperation(`Are you sure you want to recover the fee leftover from the dashboard contract ${address}?
|
|
757
938
|
Fee leftover: ${formatEther(feeLeftover)}`);
|
|
758
939
|
if (!confirm)
|