@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
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Option } from 'commander';
|
|
2
|
-
import { program } from '
|
|
3
|
-
import { callReadMethod, fetchAndVerifyFile, getAllVaultsReports, getCommandsJson,
|
|
4
|
-
import {
|
|
2
|
+
import { program } from '../../../command/index.js';
|
|
3
|
+
import { callReadMethod, fetchAndVerifyFile, getAllVaultsReports, getCommandsJson, getVaultReport, logInfo, getReportProofByVault, } from '../../../utils/index.js';
|
|
4
|
+
import { getLazyOracleContract } from '../../../contracts/index.js';
|
|
5
|
+
import { chooseVaultAndGetDashboard } from '../../../features/index.js';
|
|
5
6
|
import { report } from './main.js';
|
|
6
7
|
const reportRead = report
|
|
7
8
|
.command('read')
|
|
@@ -12,18 +13,28 @@ reportRead.on('option:-cmd2json', function () {
|
|
|
12
13
|
logInfo(getCommandsJson(reportRead));
|
|
13
14
|
process.exit();
|
|
14
15
|
});
|
|
16
|
+
reportRead
|
|
17
|
+
.command('latest-report-data')
|
|
18
|
+
.aliases(['lrd'])
|
|
19
|
+
.description('get the latest report data')
|
|
20
|
+
.action(async () => {
|
|
21
|
+
const lazyOracleContract = await getLazyOracleContract();
|
|
22
|
+
const [timestamp, root, cid] = await callReadMethod(lazyOracleContract, 'latestReportData');
|
|
23
|
+
logInfo(timestamp, root, cid);
|
|
24
|
+
});
|
|
15
25
|
reportRead
|
|
16
26
|
.command('by-vault')
|
|
17
27
|
.description('get report by vault')
|
|
18
|
-
.
|
|
28
|
+
.option('-v, --vault <string>', 'vault address')
|
|
19
29
|
.option('-g, --gateway', 'ipfs gateway url')
|
|
20
|
-
.action(async (vault,
|
|
21
|
-
const
|
|
22
|
-
const
|
|
30
|
+
.action(async ({ vault, gateway }) => {
|
|
31
|
+
const { vault: vaultAddress } = await chooseVaultAndGetDashboard({ vault });
|
|
32
|
+
const lazyOracleContract = await getLazyOracleContract();
|
|
33
|
+
const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(lazyOracleContract, 'latestReportData');
|
|
23
34
|
await fetchAndVerifyFile(vaultsDataReportCid, gateway);
|
|
24
35
|
const { cacheUse } = program.opts();
|
|
25
36
|
const report = await getVaultReport({
|
|
26
|
-
vault,
|
|
37
|
+
vault: vaultAddress,
|
|
27
38
|
cid: vaultsDataReportCid,
|
|
28
39
|
gateway: gateway,
|
|
29
40
|
}, cacheUse);
|
|
@@ -32,18 +43,18 @@ reportRead
|
|
|
32
43
|
reportRead
|
|
33
44
|
.command('proof-by-vault')
|
|
34
45
|
.description('get proof by vault')
|
|
35
|
-
.
|
|
46
|
+
.option('-v, --vault <string>', 'vault address')
|
|
36
47
|
.option('-g, --gateway', 'ipfs gateway url')
|
|
37
|
-
.action(async (vault,
|
|
38
|
-
const
|
|
39
|
-
const
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
48
|
+
.action(async ({ vault, gateway }) => {
|
|
49
|
+
const { vault: vaultAddress } = await chooseVaultAndGetDashboard({ vault });
|
|
50
|
+
const lazyOracleContract = await getLazyOracleContract();
|
|
51
|
+
const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(lazyOracleContract, 'latestReportData');
|
|
52
|
+
await fetchAndVerifyFile(vaultsDataReportCid, gateway);
|
|
53
|
+
const proof = await getReportProofByVault({
|
|
54
|
+
vault: vaultAddress,
|
|
43
55
|
cid: vaultsDataReportCid,
|
|
44
56
|
gateway,
|
|
45
|
-
}
|
|
46
|
-
await fetchAndVerifyFile(vaultsDataReportCid, gateway);
|
|
57
|
+
});
|
|
47
58
|
logInfo(proof);
|
|
48
59
|
});
|
|
49
60
|
reportRead
|
|
@@ -51,8 +62,8 @@ reportRead
|
|
|
51
62
|
.description('get all reports')
|
|
52
63
|
.option('-g, --gateway', 'ipfs gateway url')
|
|
53
64
|
.action(async ({ gateway }) => {
|
|
54
|
-
const
|
|
55
|
-
const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(
|
|
65
|
+
const lazyOracleContract = await getLazyOracleContract();
|
|
66
|
+
const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(lazyOracleContract, 'latestReportData');
|
|
56
67
|
await fetchAndVerifyFile(vaultsDataReportCid, gateway);
|
|
57
68
|
const { cacheUse } = program.opts();
|
|
58
69
|
const allVaultsReports = await getAllVaultsReports({
|
|
@@ -66,28 +77,8 @@ reportRead
|
|
|
66
77
|
.description('check ipfs CID')
|
|
67
78
|
.option('-u, --url', 'ipfs gateway url')
|
|
68
79
|
.action(async ({ url }) => {
|
|
69
|
-
const
|
|
70
|
-
const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(
|
|
80
|
+
const lazyOracleContract = await getLazyOracleContract();
|
|
81
|
+
const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(lazyOracleContract, 'latestReportData');
|
|
71
82
|
await fetchAndVerifyFile(vaultsDataReportCid, url);
|
|
72
83
|
});
|
|
73
|
-
reportRead
|
|
74
|
-
.command('make-leaf')
|
|
75
|
-
.description('make leaf')
|
|
76
|
-
.argument('<vault>', 'vault address')
|
|
77
|
-
.option('-g, --gateway', 'ipfs gateway url')
|
|
78
|
-
.action(async (vault, { gateway }) => {
|
|
79
|
-
const vaultHubContract = await getVaultHubContract();
|
|
80
|
-
const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(vaultHubContract, 'latestReportData');
|
|
81
|
-
await fetchAndVerifyFile(vaultsDataReportCid, gateway);
|
|
82
|
-
const { cacheUse } = program.opts();
|
|
83
|
-
const report = await getVaultReport({
|
|
84
|
-
vault,
|
|
85
|
-
cid: vaultsDataReportCid,
|
|
86
|
-
gateway,
|
|
87
|
-
}, cacheUse);
|
|
88
|
-
const reportLeaf = getReportLeaf(report.data);
|
|
89
|
-
logInfo('local leaf', reportLeaf);
|
|
90
|
-
logInfo('ipfs leaf', report.leaf);
|
|
91
|
-
logInfo('ipfs merkle tree root', report.merkleTreeRoot);
|
|
92
|
-
});
|
|
93
84
|
//# sourceMappingURL=read.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../../../programs/use-cases/report/read.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { Option
|
|
1
|
+
import { Option } from 'commander';
|
|
2
2
|
import cliProgress from 'cli-progress';
|
|
3
|
-
import {
|
|
4
|
-
import { callWriteMethodWithReceipt, callReadMethod, logInfo, getCommandsJson, logError,
|
|
3
|
+
import { getLazyOracleContract } from '../../../contracts/index.js';
|
|
4
|
+
import { callWriteMethodWithReceipt, callReadMethod, logInfo, getCommandsJson, logError, fetchAndVerifyFile, withInterruptHandling, submitReport, getReportProofByVaults, getReportProofs, } from '../../../utils/index.js';
|
|
5
|
+
import { chooseVaultAndGetDashboard } from '../../../features/index.js';
|
|
5
6
|
import { report } from './main.js';
|
|
6
7
|
const reportWrite = report
|
|
7
8
|
.command('write')
|
|
@@ -16,10 +17,11 @@ reportWrite
|
|
|
16
17
|
.command('by-vault-submit')
|
|
17
18
|
.alias('submit')
|
|
18
19
|
.description('submit report by vault')
|
|
19
|
-
.
|
|
20
|
+
.option('-v, --vault <string>', 'vault address')
|
|
20
21
|
.option('-g, --gateway', 'ipfs gateway url')
|
|
21
|
-
.action(async (vault,
|
|
22
|
-
await
|
|
22
|
+
.action(async ({ vault, gateway }) => {
|
|
23
|
+
const { vault: vaultAddress } = await chooseVaultAndGetDashboard({ vault });
|
|
24
|
+
await submitReport({ vault: vaultAddress, gateway });
|
|
23
25
|
});
|
|
24
26
|
reportWrite
|
|
25
27
|
.command('by-vaults-submit')
|
|
@@ -28,40 +30,35 @@ reportWrite
|
|
|
28
30
|
.option('-g, --gateway', 'ipfs gateway url')
|
|
29
31
|
.option('-e, --skip-error', 'skip error')
|
|
30
32
|
.action(withInterruptHandling(async (vaults, { gateway, skipError }) => {
|
|
31
|
-
const
|
|
32
|
-
const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(
|
|
33
|
-
const { cacheUse } = program.opts();
|
|
33
|
+
const lazyOracleContract = await getLazyOracleContract();
|
|
34
|
+
const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(lazyOracleContract, 'latestReportData');
|
|
34
35
|
await fetchAndVerifyFile(vaultsDataReportCid, gateway);
|
|
35
|
-
const
|
|
36
|
+
const proofs = await getReportProofByVaults({
|
|
36
37
|
cid: vaultsDataReportCid,
|
|
37
38
|
gateway,
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
const allVaultsProofs = await getAllVaultsReportProofs({
|
|
41
|
-
cid: proofsCID,
|
|
42
|
-
gateway,
|
|
43
|
-
}, cacheUse);
|
|
39
|
+
vaults,
|
|
40
|
+
});
|
|
44
41
|
const progressBar = new cliProgress.SingleBar({
|
|
45
42
|
format: 'Progress |{bar}| {percentage}% || {value}/{total} Vaults Updated',
|
|
46
43
|
stopOnComplete: true,
|
|
47
44
|
}, cliProgress.Presets.shades_classic);
|
|
48
45
|
progressBar.start(vaults.length, 0);
|
|
49
46
|
for (const [_index, vault] of vaults.entries()) {
|
|
50
|
-
const vaultReport =
|
|
47
|
+
const vaultReport = proofs.find((v) => v.data.vaultAddress === vault);
|
|
51
48
|
if (!vaultReport) {
|
|
52
49
|
logError(`Vault ${vault} not found`);
|
|
53
50
|
continue;
|
|
54
51
|
}
|
|
55
52
|
await callWriteMethodWithReceipt({
|
|
56
|
-
contract:
|
|
53
|
+
contract: lazyOracleContract,
|
|
57
54
|
methodName: 'updateVaultData',
|
|
58
55
|
payload: [
|
|
59
56
|
vault,
|
|
60
|
-
BigInt(vaultReport.
|
|
61
|
-
BigInt(vaultReport.
|
|
62
|
-
BigInt(vaultReport.
|
|
63
|
-
BigInt(vaultReport.
|
|
64
|
-
|
|
57
|
+
BigInt(vaultReport.data.totalValueWei),
|
|
58
|
+
BigInt(vaultReport.data.fee),
|
|
59
|
+
BigInt(vaultReport.data.liabilityShares),
|
|
60
|
+
BigInt(vaultReport.data.slashingReserve),
|
|
61
|
+
vaultReport.proof,
|
|
65
62
|
],
|
|
66
63
|
withSpinner: false,
|
|
67
64
|
silent: true,
|
|
@@ -77,35 +74,29 @@ reportWrite
|
|
|
77
74
|
.option('-g, --gateway', 'ipfs gateway url')
|
|
78
75
|
.option('-e, --skip-error', 'skip error')
|
|
79
76
|
.action(withInterruptHandling(async ({ gateway, skipError }) => {
|
|
80
|
-
const
|
|
81
|
-
const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(
|
|
77
|
+
const lazyOracleContract = await getLazyOracleContract();
|
|
78
|
+
const [_vaultsDataTimestamp, _vaultsDataTreeRoot, vaultsDataReportCid] = await callReadMethod(lazyOracleContract, 'latestReportData');
|
|
82
79
|
await fetchAndVerifyFile(vaultsDataReportCid, gateway);
|
|
83
|
-
const
|
|
84
|
-
const { vaultReports, proofsCID } = await getAllVaultsReports({
|
|
80
|
+
const proofs = await getReportProofs({
|
|
85
81
|
cid: vaultsDataReportCid,
|
|
86
82
|
gateway,
|
|
87
|
-
}
|
|
88
|
-
await fetchAndVerifyFile(proofsCID, gateway);
|
|
89
|
-
const allVaultsProofs = await getAllVaultsReportProofs({
|
|
90
|
-
cid: proofsCID,
|
|
91
|
-
gateway,
|
|
92
|
-
}, cacheUse);
|
|
83
|
+
});
|
|
93
84
|
const progressBar = new cliProgress.SingleBar({
|
|
94
85
|
format: 'Progress |{bar}| {percentage}% || {value}/{total} Vaults Updated',
|
|
95
86
|
}, cliProgress.Presets.shades_classic);
|
|
96
|
-
progressBar.start(
|
|
97
|
-
for (const [_index, report] of
|
|
87
|
+
progressBar.start(proofs.length, 0);
|
|
88
|
+
for (const [_index, report] of proofs.entries()) {
|
|
98
89
|
try {
|
|
99
90
|
await callWriteMethodWithReceipt({
|
|
100
|
-
contract:
|
|
91
|
+
contract: lazyOracleContract,
|
|
101
92
|
methodName: 'updateVaultData',
|
|
102
93
|
payload: [
|
|
103
|
-
report.
|
|
104
|
-
BigInt(report.
|
|
105
|
-
BigInt(report.
|
|
106
|
-
BigInt(report.
|
|
107
|
-
BigInt(report.
|
|
108
|
-
|
|
94
|
+
report.data.vaultAddress,
|
|
95
|
+
BigInt(report.data.totalValueWei),
|
|
96
|
+
BigInt(report.data.fee),
|
|
97
|
+
BigInt(report.data.liabilityShares),
|
|
98
|
+
BigInt(report.data.slashingReserve),
|
|
99
|
+
report.proof,
|
|
109
100
|
],
|
|
110
101
|
withSpinner: false,
|
|
111
102
|
silent: true,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write.js","sourceRoot":"","sources":["../../../../programs/use-cases/report/write.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { program } from '../../../command/index.js';
|
|
2
|
+
import { createVault, prepareCreateVaultPayload, getAddress, getConfirmExpiry, getNodeOperatorFeeRate, } from '../../../features/index.js';
|
|
3
|
+
import { confirmCreateVaultParams, logResult, logInfo, jsonToRoleAssignment, logCancel, logTable, stringToNumber, } from '../../../utils/index.js';
|
|
4
|
+
import { vaultOperationsWrite } from './write.js';
|
|
5
|
+
const vaultOperationsCreateVault = vaultOperationsWrite
|
|
6
|
+
.command('create-vault')
|
|
7
|
+
.description('creates a new StakingVault and Dashboard contracts');
|
|
8
|
+
vaultOperationsCreateVault
|
|
9
|
+
.command('create')
|
|
10
|
+
.description('creates a new StakingVault and Dashboard contracts')
|
|
11
|
+
.option('-da, --defaultAdmin <defaultAdmin>', 'default admin address')
|
|
12
|
+
.option('-no, --nodeOperator <nodeOperator>', 'node operator address')
|
|
13
|
+
.option('-nom, --nodeOperatorManager <nodeOperatorManager>', 'node operator manager address')
|
|
14
|
+
.option('-ce, --confirmExpiry <confirmExpiry>', 'confirm expiry in seconds', stringToNumber)
|
|
15
|
+
.option('-nof , --nodeOperatorFeeRate <nodeOperatorFeeRate>', 'Node operator fee rate in basis points, for e.g. 100 == 1%', stringToNumber)
|
|
16
|
+
.argument('[quantity]', 'quantity of vaults to create, default 1', '1')
|
|
17
|
+
.option('-r, --roles <roles>', 'other roles to assign to the vault', jsonToRoleAssignment)
|
|
18
|
+
.action(async (quantity, { defaultAdmin, nodeOperator, nodeOperatorManager, confirmExpiry, nodeOperatorFeeRate, roles, }) => {
|
|
19
|
+
const defaultAdminAddress = await getAddress(defaultAdmin, 'Default Admin');
|
|
20
|
+
const nodeOperatorAddress = await getAddress(nodeOperator, 'Node Operator');
|
|
21
|
+
const nodeOperatorManagerAddress = await getAddress(nodeOperatorManager, 'Node Operator Manager');
|
|
22
|
+
const confirmExpiryValue = await getConfirmExpiry(confirmExpiry);
|
|
23
|
+
const nodeOperatorFeeRateValue = await getNodeOperatorFeeRate(nodeOperatorFeeRate);
|
|
24
|
+
const createVaultData = prepareCreateVaultPayload({
|
|
25
|
+
defaultAdmin: defaultAdminAddress,
|
|
26
|
+
nodeOperator: nodeOperatorAddress,
|
|
27
|
+
nodeOperatorManager: nodeOperatorManagerAddress,
|
|
28
|
+
confirmExpiry: confirmExpiryValue,
|
|
29
|
+
nodeOperatorFeeRate: nodeOperatorFeeRateValue,
|
|
30
|
+
quantity,
|
|
31
|
+
roles,
|
|
32
|
+
});
|
|
33
|
+
if (!createVaultData)
|
|
34
|
+
return;
|
|
35
|
+
const { payload, list, otherRoles } = createVaultData;
|
|
36
|
+
const transactions = [];
|
|
37
|
+
const confirm = await confirmCreateVaultParams(payload, otherRoles);
|
|
38
|
+
if (!confirm)
|
|
39
|
+
return logCancel('Vault creation cancelled');
|
|
40
|
+
try {
|
|
41
|
+
for (const _ of list) {
|
|
42
|
+
const tx = await createVault(payload, otherRoles);
|
|
43
|
+
transactions.push(tx);
|
|
44
|
+
}
|
|
45
|
+
logResult({});
|
|
46
|
+
transactions.forEach((tx) => {
|
|
47
|
+
if (program.opts().populateTx) {
|
|
48
|
+
logInfo('Populated transaction data:', tx);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
logTable({
|
|
52
|
+
data: [
|
|
53
|
+
['Vault Address', tx?.vault],
|
|
54
|
+
['Dashboard Address', tx?.dashboard],
|
|
55
|
+
['Owner Address', tx?.owner],
|
|
56
|
+
['Transaction Hash', tx?.tx],
|
|
57
|
+
['Block Number', tx?.blockNumber],
|
|
58
|
+
],
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
if (err instanceof Error) {
|
|
64
|
+
logInfo('Error occurred while creating vaults', err.message);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
vaultOperationsCreateVault
|
|
69
|
+
.command('create-without-connecting')
|
|
70
|
+
.description('creates a new StakingVault and Dashboard contracts without connecting to VaultHub')
|
|
71
|
+
.option('-da, --defaultAdmin <defaultAdmin>', 'default admin address')
|
|
72
|
+
.option('-no, --nodeOperator <nodeOperator>', 'node operator address')
|
|
73
|
+
.option('-nom, --nodeOperatorManager <nodeOperatorManager>', 'node operator manager address')
|
|
74
|
+
.option('-ce, --confirmExpiry <confirmExpiry>', 'confirm expiry in seconds', stringToNumber)
|
|
75
|
+
.option('-nof , --nodeOperatorFeeRate <nodeOperatorFeeRate>', 'Node operator fee rate in basis points, for e.g. 100 == 1%', stringToNumber)
|
|
76
|
+
.argument('[quantity]', 'quantity of vaults to create, default 1', '1')
|
|
77
|
+
.option('-r, --roles <roles>', 'other roles to assign to the vault', jsonToRoleAssignment)
|
|
78
|
+
.action(async (quantity, { defaultAdmin, nodeOperator, nodeOperatorManager, confirmExpiry, nodeOperatorFeeRate, roles, }) => {
|
|
79
|
+
const defaultAdminAddress = await getAddress(defaultAdmin, 'Default Admin');
|
|
80
|
+
const nodeOperatorAddress = await getAddress(nodeOperator, 'Node Operator');
|
|
81
|
+
const nodeOperatorManagerAddress = await getAddress(nodeOperatorManager, 'Node Operator Manager');
|
|
82
|
+
const confirmExpiryValue = await getConfirmExpiry(confirmExpiry);
|
|
83
|
+
const nodeOperatorFeeRateValue = await getNodeOperatorFeeRate(nodeOperatorFeeRate);
|
|
84
|
+
const createVaultData = prepareCreateVaultPayload({
|
|
85
|
+
defaultAdmin: defaultAdminAddress,
|
|
86
|
+
nodeOperator: nodeOperatorAddress,
|
|
87
|
+
nodeOperatorManager: nodeOperatorManagerAddress,
|
|
88
|
+
confirmExpiry: confirmExpiryValue,
|
|
89
|
+
nodeOperatorFeeRate: nodeOperatorFeeRateValue,
|
|
90
|
+
quantity,
|
|
91
|
+
roles,
|
|
92
|
+
});
|
|
93
|
+
if (!createVaultData)
|
|
94
|
+
return;
|
|
95
|
+
const { payload, list, otherRoles } = createVaultData;
|
|
96
|
+
const transactions = [];
|
|
97
|
+
const confirm = await confirmCreateVaultParams(payload, otherRoles);
|
|
98
|
+
if (!confirm)
|
|
99
|
+
return logCancel('Vault creation cancelled');
|
|
100
|
+
try {
|
|
101
|
+
for (const _ of list) {
|
|
102
|
+
const tx = await createVault(payload, otherRoles, 'createVaultWithDashboardWithoutConnectingToVaultHub');
|
|
103
|
+
transactions.push(tx);
|
|
104
|
+
}
|
|
105
|
+
logResult({});
|
|
106
|
+
// eslint-disable-next-line sonarjs/no-identical-functions
|
|
107
|
+
transactions.forEach((tx) => {
|
|
108
|
+
if (program.opts().populateTx) {
|
|
109
|
+
logInfo('Populated transaction data:', tx);
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
logTable({
|
|
113
|
+
data: [
|
|
114
|
+
['Vault Address', tx?.vault],
|
|
115
|
+
['Dashboard Address', tx?.dashboard],
|
|
116
|
+
['Owner Address', tx?.owner],
|
|
117
|
+
['Transaction Hash', tx?.tx],
|
|
118
|
+
['Block Number', tx?.blockNumber],
|
|
119
|
+
],
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
catch (err) {
|
|
124
|
+
if (err instanceof Error) {
|
|
125
|
+
logInfo('Error occurred while creating vaults', err.message);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
//# sourceMappingURL=create-vault.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-vault.js","sourceRoot":"","sources":["../../../../programs/use-cases/vault-operations/create-vault.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../programs/use-cases/vault-operations/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const vaultOperations: import("commander").Command;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../programs/use-cases/vault-operations/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO;KACnC,OAAO,CAAC,kBAAkB,CAAC;KAC3B,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,4BAA4B,CAAC,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Option } from 'commander';
|
|
2
|
+
import { getCommandsJson, logInfo } from '../../../utils/index.js';
|
|
3
|
+
import { vaultOperations } from './main.js';
|
|
4
|
+
import { getVaultHealthByDashboard, chooseVaultAndGetDashboard, getVaultInfoByDashboard, getVaultOverviewByDashboard, getVaultRolesByDashboard, } from '../../../features/index.js';
|
|
5
|
+
const vaultOperationsRead = vaultOperations
|
|
6
|
+
.command('read')
|
|
7
|
+
.aliases(['r'])
|
|
8
|
+
.description('vault operations read commands');
|
|
9
|
+
vaultOperationsRead.addOption(new Option('-cmd2json'));
|
|
10
|
+
vaultOperationsRead.on('option:-cmd2json', function () {
|
|
11
|
+
logInfo(getCommandsJson(vaultOperationsRead));
|
|
12
|
+
process.exit();
|
|
13
|
+
});
|
|
14
|
+
vaultOperationsRead
|
|
15
|
+
.command('info')
|
|
16
|
+
.description('get vault info')
|
|
17
|
+
.option('-v, --vault <string>', 'vault address')
|
|
18
|
+
.action(async ({ vault }) => {
|
|
19
|
+
const { contract } = await chooseVaultAndGetDashboard({ vault });
|
|
20
|
+
await getVaultInfoByDashboard(contract);
|
|
21
|
+
});
|
|
22
|
+
vaultOperationsRead
|
|
23
|
+
.command('health')
|
|
24
|
+
.description('get vault health')
|
|
25
|
+
.option('-v, --vault <string>', 'vault address')
|
|
26
|
+
.action(async ({ vault }) => {
|
|
27
|
+
const { contract } = await chooseVaultAndGetDashboard({ vault });
|
|
28
|
+
await getVaultHealthByDashboard(contract);
|
|
29
|
+
});
|
|
30
|
+
vaultOperationsRead
|
|
31
|
+
.command('overview')
|
|
32
|
+
.description('get vault overview')
|
|
33
|
+
.option('-v, --vault <string>', 'vault address')
|
|
34
|
+
.action(async ({ vault }) => {
|
|
35
|
+
const { contract } = await chooseVaultAndGetDashboard({ vault });
|
|
36
|
+
await getVaultOverviewByDashboard(contract);
|
|
37
|
+
});
|
|
38
|
+
vaultOperationsRead
|
|
39
|
+
.command('roles')
|
|
40
|
+
.description('get vault roles')
|
|
41
|
+
.option('-v, --vault <string>', 'vault address')
|
|
42
|
+
.action(async ({ vault }) => {
|
|
43
|
+
const { contract } = await chooseVaultAndGetDashboard({ vault });
|
|
44
|
+
await getVaultRolesByDashboard(contract);
|
|
45
|
+
});
|
|
46
|
+
//# sourceMappingURL=read.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../../../programs/use-cases/vault-operations/read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,EACvB,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,UAAU,CAAC;AAElB,MAAM,mBAAmB,GAAG,eAAe;KACxC,OAAO,CAAC,MAAM,CAAC;KACf,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;KACd,WAAW,CAAC,gCAAgC,CAAC,CAAC;AAEjD,mBAAmB,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AACvD,mBAAmB,CAAC,EAAE,CAAC,kBAAkB,EAAE;IACzC,OAAO,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC;AAEH,mBAAmB;KAChB,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,gBAAgB,CAAC;KAC7B,MAAM,CAAC,sBAAsB,EAAE,eAAe,CAAC;KAC/C,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAsB,EAAE,EAAE;IAC9C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,0BAA0B,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAEjE,MAAM,uBAAuB,CAAC,QAAQ,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC;AAEL,mBAAmB;KAChB,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,kBAAkB,CAAC;KAC/B,MAAM,CAAC,sBAAsB,EAAE,eAAe,CAAC;KAC/C,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAsB,EAAE,EAAE;IAC9C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,0BAA0B,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAEjE,MAAM,yBAAyB,CAAC,QAAQ,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC;AAEL,mBAAmB;KAChB,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,oBAAoB,CAAC;KACjC,MAAM,CAAC,sBAAsB,EAAE,eAAe,CAAC;KAC/C,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAsB,EAAE,EAAE;IAC9C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,0BAA0B,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAEjE,MAAM,2BAA2B,CAAC,QAAQ,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEL,mBAAmB;KAChB,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,iBAAiB,CAAC;KAC9B,MAAM,CAAC,sBAAsB,EAAE,eAAe,CAAC;KAC/C,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAsB,EAAE,EAAE;IAC9C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,0BAA0B,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAEjE,MAAM,wBAAwB,CAAC,QAAQ,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const vaultOperationsWrite: import("commander").Command;
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { formatEther } from 'viem';
|
|
2
|
+
import { Option } from 'commander';
|
|
3
|
+
import { logInfo, getCommandsJson, etherToWei, stringToAddress, confirmOperation, callWriteMethodWithReceipt, } from '../../../utils/index.js';
|
|
4
|
+
import { chooseVaultAndGetDashboard, getAddress, mintShares, checkIsReportFresh, mintSteth, burnShares, burnSteth, checkVaultRole, checkAllowance, } from '../../../features/index.js';
|
|
5
|
+
import { getAccount } from '../../../providers/index.js';
|
|
6
|
+
import { vaultOperations } from './main.js';
|
|
7
|
+
export const vaultOperationsWrite = vaultOperations
|
|
8
|
+
.command('write')
|
|
9
|
+
.aliases(['w'])
|
|
10
|
+
.description('vault operations write commands');
|
|
11
|
+
vaultOperationsWrite.addOption(new Option('-cmd2json'));
|
|
12
|
+
vaultOperationsWrite.on('option:-cmd2json', function () {
|
|
13
|
+
logInfo(getCommandsJson(vaultOperationsWrite));
|
|
14
|
+
process.exit();
|
|
15
|
+
});
|
|
16
|
+
vaultOperationsWrite
|
|
17
|
+
.command('fund')
|
|
18
|
+
.description('fund vaults')
|
|
19
|
+
.argument('<ether>', 'amount of ether to be funded (in ETH)', etherToWei)
|
|
20
|
+
.option('-v, --vault <string>', 'vault address', stringToAddress)
|
|
21
|
+
.action(async (ether, { vault }) => {
|
|
22
|
+
const { contract, vault: vaultAddress } = await chooseVaultAndGetDashboard({
|
|
23
|
+
vault,
|
|
24
|
+
});
|
|
25
|
+
const account = getAccount();
|
|
26
|
+
await checkVaultRole(contract, 'FUND_ROLE', account.address);
|
|
27
|
+
const confirm = await confirmOperation(`Are you sure you want to fund the staking vault ${vaultAddress} with ${formatEther(ether)} ether?`);
|
|
28
|
+
if (!confirm)
|
|
29
|
+
return;
|
|
30
|
+
await callWriteMethodWithReceipt({
|
|
31
|
+
contract,
|
|
32
|
+
methodName: 'fund',
|
|
33
|
+
payload: [],
|
|
34
|
+
value: ether,
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
vaultOperationsWrite
|
|
38
|
+
.command('withdraw')
|
|
39
|
+
.description('withdraws ether from the staking vault to a recipient')
|
|
40
|
+
.argument('<eth>', 'amount of ether to withdraw (in ETH)', etherToWei)
|
|
41
|
+
.option('-r, --recipient <string>', 'address of the recipient', stringToAddress)
|
|
42
|
+
.option('-v, --vault <string>', 'vault address', stringToAddress)
|
|
43
|
+
.action(async (ether, { vault, recipient }) => {
|
|
44
|
+
const recipientAddress = await getAddress(recipient, 'recipient');
|
|
45
|
+
const { contract, vault: vaultAddress } = await chooseVaultAndGetDashboard({ vault });
|
|
46
|
+
const account = getAccount();
|
|
47
|
+
await checkVaultRole(contract, 'WITHDRAW_ROLE', account.address);
|
|
48
|
+
const confirm = await confirmOperation(`Are you sure you want to withdraw ${formatEther(ether)} from the staking vault ${vaultAddress} to ${recipientAddress}?`);
|
|
49
|
+
if (!confirm)
|
|
50
|
+
return;
|
|
51
|
+
const isReportFresh = await checkIsReportFresh(vaultAddress);
|
|
52
|
+
if (!isReportFresh)
|
|
53
|
+
return;
|
|
54
|
+
await callWriteMethodWithReceipt({
|
|
55
|
+
contract,
|
|
56
|
+
methodName: 'withdraw',
|
|
57
|
+
payload: [recipientAddress, ether],
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
// Mint commands
|
|
61
|
+
vaultOperationsWrite
|
|
62
|
+
.command('mint-shares')
|
|
63
|
+
.alias('mint')
|
|
64
|
+
.description('mints stETH tokens backed by the vault to a recipient')
|
|
65
|
+
.argument('<amountOfShares>', 'amount of shares to mint (in Shares)', etherToWei)
|
|
66
|
+
.option('-r, --recipient <string>', 'address of the recipient', stringToAddress)
|
|
67
|
+
.option('-v, --vault <string>', 'vault address', stringToAddress)
|
|
68
|
+
.action(async (amountOfShares, { vault, recipient }) => {
|
|
69
|
+
const recipientAddress = await getAddress(recipient, 'recipient');
|
|
70
|
+
const { contract, vault: vaultAddress } = await chooseVaultAndGetDashboard({ vault });
|
|
71
|
+
const account = getAccount();
|
|
72
|
+
await checkVaultRole(contract, 'MINT_ROLE', account.address);
|
|
73
|
+
const confirm = await confirmOperation(`Are you sure you want to mint ${formatEther(amountOfShares)} shares to ${recipientAddress} in the staking vault ${vaultAddress}?`);
|
|
74
|
+
if (!confirm)
|
|
75
|
+
return;
|
|
76
|
+
await mintShares(contract, recipientAddress, amountOfShares, vaultAddress, 'mintShares');
|
|
77
|
+
});
|
|
78
|
+
vaultOperationsWrite
|
|
79
|
+
.command('mint-wsteth')
|
|
80
|
+
.description('mints wstETH tokens backed by the vault to a recipient')
|
|
81
|
+
.argument('<amountOfWsteth>', 'amount of wstETH to mint', etherToWei)
|
|
82
|
+
.option('-r, --recipient <string>', 'address of the recipient', stringToAddress)
|
|
83
|
+
.option('-v, --vault <string>', 'vault address', stringToAddress)
|
|
84
|
+
.action(async (amountOfWsteth, { vault, recipient }) => {
|
|
85
|
+
const recipientAddress = await getAddress(recipient, 'recipient');
|
|
86
|
+
const { contract, vault: vaultAddress } = await chooseVaultAndGetDashboard({ vault });
|
|
87
|
+
const account = getAccount();
|
|
88
|
+
await checkVaultRole(contract, 'MINT_ROLE', account.address);
|
|
89
|
+
await mintShares(contract, recipientAddress, amountOfWsteth, vaultAddress, 'mintWstETH');
|
|
90
|
+
});
|
|
91
|
+
vaultOperationsWrite
|
|
92
|
+
.command('mint-steth')
|
|
93
|
+
.description('mints stETH tokens backed by the vault to a recipient')
|
|
94
|
+
.argument('<amountOfSteth>', 'amount of stETH to mint', etherToWei)
|
|
95
|
+
.option('-r, --recipient <string>', 'address of the recipient', stringToAddress)
|
|
96
|
+
.option('-v, --vault <string>', 'vault address', stringToAddress)
|
|
97
|
+
.action(async (amountOfSteth, { vault, recipient }) => {
|
|
98
|
+
const recipientAddress = await getAddress(recipient, 'recipient');
|
|
99
|
+
const { contract, vault: vaultAddress } = await chooseVaultAndGetDashboard({ vault });
|
|
100
|
+
const account = getAccount();
|
|
101
|
+
await checkVaultRole(contract, 'MINT_ROLE', account.address);
|
|
102
|
+
await mintSteth(contract, recipientAddress, amountOfSteth, vaultAddress);
|
|
103
|
+
});
|
|
104
|
+
// Burn commands
|
|
105
|
+
vaultOperationsWrite
|
|
106
|
+
.command('burn-shares')
|
|
107
|
+
.alias('burn')
|
|
108
|
+
.description('Burns stETH shares from the sender backed by the vault. Expects corresponding amount of stETH approved to this contract')
|
|
109
|
+
.option('-v, --vault <string>', 'vault address', stringToAddress)
|
|
110
|
+
.argument('<amountOfShares>', 'amount of shares to burn (in Shares)', etherToWei)
|
|
111
|
+
.action(async (amountOfShares, { vault }) => {
|
|
112
|
+
const { contract, vault: vaultAddress } = await chooseVaultAndGetDashboard({
|
|
113
|
+
vault,
|
|
114
|
+
});
|
|
115
|
+
const account = getAccount();
|
|
116
|
+
await checkVaultRole(contract, 'BURN_ROLE', account.address);
|
|
117
|
+
await checkAllowance(contract, amountOfShares, 'shares');
|
|
118
|
+
await burnShares(contract, amountOfShares, vaultAddress, 'burnShares');
|
|
119
|
+
});
|
|
120
|
+
vaultOperationsWrite
|
|
121
|
+
.command('burn-steth')
|
|
122
|
+
.description('Burns stETH shares from the sender backed by the vault. Expects stETH amount approved to this contract.')
|
|
123
|
+
.argument('<amountOfSteth>', 'amount of stETH to burn (in stETH)', etherToWei)
|
|
124
|
+
.option('-v, --vault <string>', 'vault address', stringToAddress)
|
|
125
|
+
.action(async (amountOfSteth, { vault }) => {
|
|
126
|
+
const { contract, vault: vaultAddress } = await chooseVaultAndGetDashboard({
|
|
127
|
+
vault,
|
|
128
|
+
});
|
|
129
|
+
const account = getAccount();
|
|
130
|
+
await checkVaultRole(contract, 'BURN_ROLE', account.address);
|
|
131
|
+
await checkAllowance(contract, amountOfSteth, 'steth');
|
|
132
|
+
await burnSteth(contract, amountOfSteth, vaultAddress);
|
|
133
|
+
});
|
|
134
|
+
vaultOperationsWrite
|
|
135
|
+
.command('burn-wsteth')
|
|
136
|
+
.description('burn wstETH tokens from the sender backed by the vault')
|
|
137
|
+
.argument('<amountOfWsteth>', 'amount of wstETH tokens to burn (in wstETH)', etherToWei)
|
|
138
|
+
.option('-v, --vault <string>', 'vault address', stringToAddress)
|
|
139
|
+
.action(async (amountOfWsteth, { vault }) => {
|
|
140
|
+
const { contract, vault: vaultAddress } = await chooseVaultAndGetDashboard({
|
|
141
|
+
vault,
|
|
142
|
+
});
|
|
143
|
+
const account = getAccount();
|
|
144
|
+
await checkVaultRole(contract, 'BURN_ROLE', account.address);
|
|
145
|
+
await checkAllowance(contract, amountOfWsteth, 'wsteth');
|
|
146
|
+
await burnShares(contract, amountOfWsteth, vaultAddress, 'burnWstETH');
|
|
147
|
+
});
|
|
148
|
+
//# sourceMappingURL=write.js.map
|