@lidofinance/lsv-cli 1.0.0-alpha.8 → 1.0.0
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/LICENSE +1 -1
- package/README.md +49 -232
- 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 +2542 -0
- package/dist/abi/Dashboard.js +1699 -971
- package/dist/abi/Dashboard.js.map +1 -1
- package/dist/abi/LazyOracle.d.ts +843 -0
- package/dist/abi/LazyOracle.js +1091 -0
- package/dist/abi/LazyOracle.js.map +1 -0
- package/dist/abi/LidoLocator.d.ts +386 -0
- package/dist/abi/LidoLocator.js +383 -273
- package/dist/abi/LidoLocator.js.map +1 -1
- package/dist/abi/OperatorGrid.d.ts +1973 -0
- package/dist/abi/OperatorGrid.js +1574 -0
- package/dist/abi/OperatorGrid.js.map +1 -0
- package/dist/abi/PredepositGuarantee.d.ts +1710 -0
- package/dist/abi/PredepositGuarantee.js +2004 -0
- package/dist/abi/PredepositGuarantee.js.map +1 -0
- package/dist/abi/StEth.d.ts +372 -0
- package/dist/abi/StEth.js +342 -345
- package/dist/abi/StEth.js.map +1 -1
- package/dist/abi/StakingVault.d.ts +901 -0
- package/dist/abi/StakingVault.js +712 -547
- package/dist/abi/StakingVault.js.map +1 -1
- package/dist/abi/VaultFactory.d.ts +1147 -0
- package/dist/abi/VaultFactory.js +252 -171
- package/dist/abi/VaultFactory.js.map +1 -1
- package/dist/abi/VaultHub.d.ts +2538 -0
- package/dist/abi/VaultHub.js +2226 -845
- package/dist/abi/VaultHub.js.map +1 -1
- package/dist/abi/VaultViewer.d.ts +649 -0
- package/dist/abi/VaultViewer.js +847 -0
- package/dist/abi/VaultViewer.js.map +1 -0
- package/dist/abi/WstEth.d.ts +362 -0
- package/dist/abi/WstEth.js +478 -0
- package/dist/abi/WstEth.js.map +1 -0
- package/dist/abi/index.d.ts +12 -0
- package/dist/abi/index.js +12 -25
- package/dist/abi/index.js.map +1 -1
- package/dist/command/index.d.ts +2 -0
- package/dist/command/index.js +9 -21
- package/dist/command/index.js.map +1 -1
- package/dist/configs/constants.d.ts +35 -0
- package/dist/configs/constants.js +2 -5
- package/dist/configs/constants.js.map +1 -1
- package/dist/configs/deployed.d.ts +17 -0
- package/dist/configs/deployed.js +67 -126
- package/dist/configs/deployed.js.map +1 -1
- package/dist/configs/envs.d.ts +2 -0
- package/dist/configs/envs.js +13 -45
- package/dist/configs/envs.js.map +1 -1
- package/dist/configs/index.d.ts +3 -0
- package/dist/configs/index.js +3 -19
- package/dist/configs/index.js.map +1 -1
- package/dist/configs/utils.d.ts +4 -0
- package/dist/configs/utils.js +13 -23
- package/dist/configs/utils.js.map +1 -1
- package/dist/contracts/dashboard.d.ts +4 -0
- package/dist/contracts/dashboard.js +7 -15
- package/dist/contracts/dashboard.js.map +1 -1
- package/dist/contracts/index.d.ts +11 -0
- package/dist/contracts/index.js +11 -25
- 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 +9655 -0
- package/dist/contracts/locator.js +11 -15
- package/dist/contracts/locator.js.map +1 -1
- package/dist/contracts/operator-grid.d.ts +4 -0
- package/dist/contracts/operator-grid.js +17 -0
- package/dist/contracts/operator-grid.js.map +1 -0
- package/dist/contracts/pdg.d.ts +4 -0
- package/dist/contracts/pdg.js +17 -0
- package/dist/contracts/pdg.js.map +1 -0
- package/dist/contracts/steth.d.ts +27706 -0
- package/dist/contracts/steth.js +14 -15
- package/dist/contracts/steth.js.map +1 -1
- package/dist/contracts/vault-factory.d.ts +27674 -0
- package/dist/contracts/vault-factory.js +11 -19
- package/dist/contracts/vault-factory.js.map +1 -1
- package/dist/contracts/vault-hub.d.ts +3 -0
- package/dist/contracts/vault-hub.js +13 -17
- package/dist/contracts/vault-hub.js.map +1 -1
- package/dist/contracts/vault-viewer.d.ts +11789 -0
- package/dist/contracts/vault-viewer.js +23 -0
- package/dist/contracts/vault-viewer.js.map +1 -0
- package/dist/contracts/vault.d.ts +4 -0
- package/dist/contracts/vault.js +7 -14
- package/dist/contracts/vault.js.map +1 -1
- package/dist/contracts/wsteth.d.ts +24690 -0
- package/dist/contracts/wsteth.js +18 -0
- package/dist/contracts/wsteth.js.map +1 -0
- package/dist/features/dashboard.d.ts +5 -0
- package/dist/features/dashboard.js +14 -0
- package/dist/features/dashboard.js.map +1 -0
- 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 +22 -0
- package/dist/features/deposits/no-pdg.js +103 -0
- package/dist/features/deposits/no-pdg.js.map +1 -0
- package/dist/features/index.d.ts +11 -0
- package/dist/features/index.js +11 -19
- package/dist/features/index.js.map +1 -1
- package/dist/features/lazy-oracle.d.ts +1 -0
- package/dist/features/lazy-oracle.js +42 -0
- package/dist/features/lazy-oracle.js.map +1 -0
- 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/operator-grid.d.ts +2 -0
- package/dist/features/operator-grid.js +64 -0
- package/dist/features/operator-grid.js.map +1 -0
- package/dist/features/pdg.d.ts +4 -0
- package/dist/features/pdg.js +114 -0
- package/dist/features/pdg.js.map +1 -0
- package/dist/features/token-manager.d.ts +1 -0
- package/dist/features/token-manager.js +5 -4
- package/dist/features/token-manager.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 +6 -0
- package/dist/features/utils/index.js +7 -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/quarantine.d.ts +23 -0
- package/dist/features/utils/quarantine.js +47 -0
- package/dist/features/utils/quarantine.js.map +1 -0
- package/dist/features/utils/report-fresh.d.ts +3 -0
- package/dist/features/utils/report-fresh.js +36 -0
- package/dist/features/utils/report-fresh.js.map +1 -0
- package/dist/features/utils/settled-growth.d.ts +1 -0
- package/dist/features/utils/settled-growth.js +16 -0
- package/dist/features/utils/settled-growth.js.map +1 -0
- package/dist/features/vault-factory.d.ts +29 -0
- package/dist/features/vault-factory.js +88 -25
- package/dist/features/vault-factory.js.map +1 -1
- package/dist/features/vault-hub.d.ts +2 -0
- package/dist/features/vault-hub.js +84 -0
- package/dist/features/vault-hub.js.map +1 -0
- 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 +12 -0
- package/dist/features/vault-operations/dashboard-by-vault.js +36 -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 +27 -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 +108 -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 +150 -0
- package/dist/features/vault-operations/vault-overview.js.map +1 -0
- package/dist/features/vault-operations/vault-roles.d.ts +5 -0
- package/dist/features/vault-operations/vault-roles.js +64 -0
- package/dist/features/vault-operations/vault-roles.js.map +1 -0
- package/dist/features/vault-operations/vaults-by-role.d.ts +1 -0
- package/dist/features/vault-operations/vaults-by-role.js +48 -0
- package/dist/features/vault-operations/vaults-by-role.js.map +1 -0
- package/dist/features/vault.d.ts +2 -0
- package/dist/features/vault.js +50 -0
- package/dist/features/vault.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +26 -5
- package/dist/index.js.map +1 -1
- package/dist/programs/account/index.d.ts +3 -0
- package/dist/programs/account/index.js +4 -0
- package/dist/programs/account/index.js.map +1 -0
- package/dist/programs/account/main.d.ts +1 -0
- package/dist/programs/account/main.js +5 -0
- package/dist/programs/account/main.js.map +1 -0
- package/dist/programs/account/read.d.ts +1 -0
- package/dist/programs/account/read.js +79 -0
- package/dist/programs/account/read.js.map +1 -0
- package/dist/programs/account/write.d.ts +1 -0
- package/dist/programs/account/write.js +73 -0
- package/dist/programs/account/write.js.map +1 -0
- package/dist/programs/config.d.ts +1 -0
- package/dist/programs/config.js +12 -14
- package/dist/programs/config.js.map +1 -1
- package/dist/programs/contracts/dashboard/config.d.ts +3 -0
- package/dist/programs/contracts/dashboard/config.js +120 -0
- package/dist/programs/contracts/dashboard/config.js.map +1 -0
- package/dist/programs/contracts/dashboard/index.d.ts +3 -0
- package/dist/programs/contracts/dashboard/index.js +4 -0
- package/dist/programs/contracts/dashboard/index.js.map +1 -0
- package/dist/programs/contracts/dashboard/main.d.ts +1 -0
- package/dist/programs/contracts/dashboard/main.js +5 -0
- package/dist/programs/contracts/dashboard/main.js.map +1 -0
- package/dist/programs/contracts/dashboard/read.d.ts +1 -0
- package/dist/programs/contracts/dashboard/read.js +133 -0
- package/dist/programs/contracts/dashboard/read.js.map +1 -0
- package/dist/programs/contracts/dashboard/write.d.ts +1 -0
- package/dist/programs/contracts/dashboard/write.js +723 -0
- 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 +155 -0
- package/dist/programs/contracts/hub/config.js.map +1 -0
- package/dist/programs/contracts/hub/index.d.ts +3 -0
- package/dist/programs/contracts/hub/index.js +4 -0
- package/dist/programs/contracts/hub/index.js.map +1 -0
- package/dist/programs/contracts/hub/main.d.ts +1 -0
- package/dist/programs/contracts/hub/main.js +5 -0
- package/dist/programs/contracts/hub/main.js.map +1 -0
- package/dist/programs/contracts/hub/read.d.ts +1 -0
- package/dist/programs/contracts/hub/read.js +54 -0
- package/dist/programs/contracts/hub/read.js.map +1 -0
- package/dist/programs/contracts/hub/write.d.ts +1 -0
- package/dist/programs/contracts/hub/write.js +363 -0
- package/dist/programs/contracts/hub/write.js.map +1 -0
- package/dist/programs/contracts/index.d.ts +9 -0
- package/dist/programs/contracts/index.js +10 -0
- package/dist/programs/contracts/index.js.map +1 -0
- package/dist/programs/contracts/lazy-oracle/config.d.ts +3 -0
- package/dist/programs/contracts/lazy-oracle/config.js +62 -0
- package/dist/programs/contracts/lazy-oracle/config.js.map +1 -0
- package/dist/programs/contracts/lazy-oracle/index.d.ts +2 -0
- package/dist/programs/contracts/lazy-oracle/index.js +3 -0
- package/dist/programs/contracts/lazy-oracle/index.js.map +1 -0
- package/dist/programs/contracts/lazy-oracle/main.d.ts +1 -0
- package/dist/programs/contracts/lazy-oracle/main.js +5 -0
- package/dist/programs/contracts/lazy-oracle/main.js.map +1 -0
- package/dist/programs/contracts/lazy-oracle/read.d.ts +1 -0
- package/dist/programs/contracts/lazy-oracle/read.js +24 -0
- package/dist/programs/contracts/lazy-oracle/read.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/contracts/operator-grid/config.js +98 -0
- package/dist/programs/contracts/operator-grid/config.js.map +1 -0
- package/dist/programs/contracts/operator-grid/index.d.ts +3 -0
- package/dist/programs/contracts/operator-grid/index.js +4 -0
- package/dist/programs/contracts/operator-grid/index.js.map +1 -0
- package/dist/programs/contracts/operator-grid/main.d.ts +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/contracts/operator-grid/read.d.ts +1 -0
- package/dist/programs/contracts/operator-grid/read.js +50 -0
- package/dist/programs/contracts/operator-grid/read.js.map +1 -0
- package/dist/programs/contracts/operator-grid/write.d.ts +1 -0
- package/dist/programs/contracts/operator-grid/write.js +161 -0
- package/dist/programs/contracts/operator-grid/write.js.map +1 -0
- package/dist/programs/contracts/pdg/config.d.ts +3 -0
- package/dist/programs/contracts/pdg/config.js +167 -0
- package/dist/programs/contracts/pdg/config.js.map +1 -0
- package/dist/programs/contracts/pdg/index.d.ts +3 -0
- package/dist/programs/contracts/pdg/index.js +4 -0
- package/dist/programs/contracts/pdg/index.js.map +1 -0
- package/dist/programs/contracts/pdg/main.d.ts +1 -0
- package/dist/programs/contracts/pdg/main.js +5 -0
- package/dist/programs/contracts/pdg/main.js.map +1 -0
- package/dist/programs/contracts/pdg/read.d.ts +1 -0
- package/dist/programs/contracts/pdg/read.js +53 -0
- package/dist/programs/contracts/pdg/read.js.map +1 -0
- package/dist/programs/contracts/pdg/write.d.ts +1 -0
- package/dist/programs/contracts/pdg/write.js +325 -0
- package/dist/programs/contracts/pdg/write.js.map +1 -0
- package/dist/programs/contracts/vault/config.d.ts +3 -0
- package/dist/programs/contracts/vault/config.js +54 -0
- package/dist/programs/contracts/vault/config.js.map +1 -0
- package/dist/programs/contracts/vault/index.d.ts +3 -0
- package/dist/programs/contracts/vault/index.js +4 -0
- package/dist/programs/contracts/vault/index.js.map +1 -0
- package/dist/programs/contracts/vault/main.d.ts +1 -0
- package/dist/programs/contracts/vault/main.js +3 -0
- package/dist/programs/contracts/vault/main.js.map +1 -0
- package/dist/programs/contracts/vault/read.d.ts +1 -0
- package/dist/programs/contracts/vault/read.js +25 -0
- package/dist/programs/contracts/vault/read.js.map +1 -0
- package/dist/programs/contracts/vault/write.d.ts +1 -0
- package/dist/programs/contracts/vault/write.js +278 -0
- 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 +15 -0
- package/dist/programs/contracts/vault-factory/config.js.map +1 -0
- package/dist/programs/contracts/vault-factory/index.d.ts +3 -0
- package/dist/programs/contracts/vault-factory/index.js +4 -0
- package/dist/programs/contracts/vault-factory/index.js.map +1 -0
- package/dist/programs/contracts/vault-factory/main.d.ts +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/contracts/vault-factory/read.d.ts +1 -0
- package/dist/programs/contracts/vault-factory/read.js +24 -0
- package/dist/programs/contracts/vault-factory/read.js.map +1 -0
- package/dist/programs/contracts/vault-factory/write.d.ts +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 +120 -0
- package/dist/programs/contracts/vault-viewer/config.js.map +1 -0
- package/dist/programs/contracts/vault-viewer/index.d.ts +2 -0
- package/dist/programs/contracts/vault-viewer/index.js +3 -0
- package/dist/programs/contracts/vault-viewer/index.js.map +1 -0
- package/dist/programs/contracts/vault-viewer/main.d.ts +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/contracts/vault-viewer/read.js +131 -0
- package/dist/programs/contracts/vault-viewer/read.js.map +1 -0
- package/dist/programs/index.d.ts +4 -0
- package/dist/programs/index.js +4 -22
- package/dist/programs/index.js.map +1 -1
- package/dist/programs/pdg-helpers.d.ts +1 -0
- package/dist/programs/pdg-helpers.js +257 -0
- package/dist/programs/pdg-helpers.js.map +1 -0
- package/dist/programs/use-cases/deposits/index.d.ts +3 -0
- package/dist/programs/use-cases/deposits/index.js +4 -0
- 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.d.ts +1 -0
- package/dist/programs/use-cases/deposits/read.js +94 -0
- package/dist/programs/use-cases/deposits/read.js.map +1 -0
- package/dist/programs/use-cases/deposits/write.d.ts +1 -0
- package/dist/programs/use-cases/deposits/write.js +202 -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.d.ts +2 -0
- package/dist/programs/use-cases/metrics/index.js +3 -0
- package/dist/programs/use-cases/metrics/index.js.map +1 -0
- package/dist/programs/use-cases/metrics/main.d.ts +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/use-cases/metrics/read.d.ts +1 -0
- package/dist/programs/use-cases/metrics/read.js +240 -0
- 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.d.ts +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/use-cases/report/read.d.ts +1 -0
- package/dist/programs/use-cases/report/read.js +111 -0
- package/dist/programs/use-cases/report/read.js.map +1 -0
- package/dist/programs/use-cases/report/write.d.ts +1 -0
- package/dist/programs/use-cases/report/write.js +99 -0
- package/dist/programs/use-cases/report/write.js.map +1 -0
- package/dist/programs/use-cases/vault-operations/create-vault.d.ts +1 -0
- package/dist/programs/use-cases/vault-operations/create-vault.js +133 -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.d.ts +1 -0
- package/dist/programs/use-cases/vault-operations/read.js +58 -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 +315 -0
- package/dist/programs/use-cases/vault-operations/write.js.map +1 -0
- package/dist/providers/index.d.ts +1 -0
- package/dist/providers/index.js +1 -17
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/wallet.d.ts +14564 -0
- package/dist/providers/wallet.js +63 -29
- package/dist/providers/wallet.js.map +1 -1
- package/dist/tests/utils/arguments.test.d.ts +1 -0
- package/dist/tests/utils/arguments.test.js +92 -0
- package/dist/tests/utils/arguments.test.js.map +1 -0
- package/dist/tests/utils/calculate-overview.test.d.ts +1 -0
- package/dist/tests/utils/calculate-overview.test.js +30 -0
- package/dist/tests/utils/calculate-overview.test.js.map +1 -0
- package/dist/tests/utils/data-validators.test.d.ts +1 -0
- package/dist/tests/utils/data-validators.test.js +56 -0
- package/dist/tests/utils/data-validators.test.js.map +1 -0
- package/dist/tests/utils/error-handler.test.d.ts +1 -0
- package/dist/tests/utils/error-handler.test.js +43 -0
- package/dist/tests/utils/error-handler.test.js.map +1 -0
- package/dist/tests/utils/get-commands.test.d.ts +1 -0
- package/dist/tests/utils/get-commands.test.js +19 -0
- package/dist/tests/utils/get-commands.test.js.map +1 -0
- package/dist/tests/utils/get-deposit-data-root.test.d.ts +1 -0
- package/dist/tests/utils/get-deposit-data-root.test.js +31 -0
- package/dist/tests/utils/get-deposit-data-root.test.js.map +1 -0
- package/dist/tests/utils/get-value.test.d.ts +1 -0
- package/dist/tests/utils/get-value.test.js +13 -0
- package/dist/tests/utils/get-value.test.js.map +1 -0
- package/dist/tests/utils/health.test.d.ts +1 -0
- package/dist/tests/utils/health.test.js +22 -0
- package/dist/tests/utils/health.test.js.map +1 -0
- package/dist/tests/utils/interrupt-handler.test.d.ts +1 -0
- package/dist/tests/utils/interrupt-handler.test.js +15 -0
- package/dist/tests/utils/interrupt-handler.test.js.map +1 -0
- package/dist/tests/utils/ipfs.test.d.ts +1 -0
- package/dist/tests/utils/ipfs.test.js +110 -0
- package/dist/tests/utils/ipfs.test.js.map +1 -0
- package/dist/tests/utils/logging.test.d.ts +1 -0
- package/dist/tests/utils/logging.test.js +23 -0
- package/dist/tests/utils/logging.test.js.map +1 -0
- package/dist/tests/utils/resove-path.test.d.ts +1 -0
- package/dist/tests/utils/resove-path.test.js +18 -0
- package/dist/tests/utils/resove-path.test.js.map +1 -0
- package/dist/tests/utils/sleep.test.d.ts +1 -0
- package/dist/tests/utils/sleep.test.js +14 -0
- package/dist/tests/utils/sleep.test.js.map +1 -0
- package/dist/types/common.d.ts +39 -0
- package/dist/types/common.js +1 -2
- package/dist/types/config.d.ts +26 -0
- package/dist/types/config.js +1 -2
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.js +2 -18
- package/dist/types/index.js.map +1 -1
- package/dist/utils/arguments.d.ts +17 -0
- package/dist/utils/arguments.js +112 -0
- package/dist/utils/arguments.js.map +1 -0
- package/dist/utils/bls.d.ts +21 -0
- package/dist/utils/bls.js +101 -0
- package/dist/utils/bls.js.map +1 -0
- package/dist/utils/cache.d.ts +18 -0
- package/dist/utils/cache.js +109 -0
- package/dist/utils/cache.js.map +1 -0
- package/dist/utils/calculate-overview-v2.d.ts +27 -0
- package/dist/utils/calculate-overview-v2.js +56 -0
- package/dist/utils/calculate-overview-v2.js.map +1 -0
- package/dist/utils/calculate-overview.d.ts +28 -0
- package/dist/utils/calculate-overview.js +57 -0
- package/dist/utils/calculate-overview.js.map +1 -0
- package/dist/utils/charts/blessed/charts-apr.d.ts +98 -0
- package/dist/utils/charts/blessed/charts-apr.js +122 -0
- package/dist/utils/charts/blessed/charts-apr.js.map +1 -0
- package/dist/utils/charts/blessed/charts-rewards.d.ts +74 -0
- package/dist/utils/charts/blessed/charts-rewards.js +107 -0
- package/dist/utils/charts/blessed/charts-rewards.js.map +1 -0
- package/dist/utils/charts/blessed/constants.d.ts +22 -0
- package/dist/utils/charts/blessed/constants.js +23 -0
- package/dist/utils/charts/blessed/constants.js.map +1 -0
- package/dist/utils/charts/blessed/datasets/bottom-line.d.ts +19 -0
- package/dist/utils/charts/blessed/datasets/bottom-line.js +35 -0
- package/dist/utils/charts/blessed/datasets/bottom-line.js.map +1 -0
- package/dist/utils/charts/blessed/datasets/carry-spread.d.ts +18 -0
- package/dist/utils/charts/blessed/datasets/carry-spread.js +34 -0
- package/dist/utils/charts/blessed/datasets/carry-spread.js.map +1 -0
- package/dist/utils/charts/blessed/datasets/gross-staking-apr.d.ts +18 -0
- package/dist/utils/charts/blessed/datasets/gross-staking-apr.js +34 -0
- package/dist/utils/charts/blessed/datasets/gross-staking-apr.js.map +1 -0
- package/dist/utils/charts/blessed/datasets/gross-staking-rewards.d.ts +24 -0
- package/dist/utils/charts/blessed/datasets/gross-staking-rewards.js +40 -0
- package/dist/utils/charts/blessed/datasets/gross-staking-rewards.js.map +1 -0
- package/dist/utils/charts/blessed/datasets/index.d.ts +9 -0
- package/dist/utils/charts/blessed/datasets/index.js +10 -0
- package/dist/utils/charts/blessed/datasets/index.js.map +1 -0
- package/dist/utils/charts/blessed/datasets/lido-apr.d.ts +19 -0
- package/dist/utils/charts/blessed/datasets/lido-apr.js +35 -0
- package/dist/utils/charts/blessed/datasets/lido-apr.js.map +1 -0
- package/dist/utils/charts/blessed/datasets/net-staking-apr.d.ts +18 -0
- package/dist/utils/charts/blessed/datasets/net-staking-apr.js +34 -0
- package/dist/utils/charts/blessed/datasets/net-staking-apr.js.map +1 -0
- package/dist/utils/charts/blessed/datasets/net-staking-rewards.d.ts +18 -0
- package/dist/utils/charts/blessed/datasets/net-staking-rewards.js +34 -0
- package/dist/utils/charts/blessed/datasets/net-staking-rewards.js.map +1 -0
- package/dist/utils/charts/blessed/datasets/node-operator-rewards.d.ts +24 -0
- package/dist/utils/charts/blessed/datasets/node-operator-rewards.js +40 -0
- package/dist/utils/charts/blessed/datasets/node-operator-rewards.js.map +1 -0
- package/dist/utils/charts/blessed/datasets/prepare-metrics.d.ts +37 -0
- package/dist/utils/charts/blessed/datasets/prepare-metrics.js +147 -0
- package/dist/utils/charts/blessed/datasets/prepare-metrics.js.map +1 -0
- package/dist/utils/charts/blessed/datasets/types.d.ts +4 -0
- package/dist/utils/charts/blessed/datasets/types.js +2 -0
- package/dist/utils/charts/blessed/datasets/types.js.map +1 -0
- package/dist/utils/charts/blessed/index.d.ts +3 -0
- package/dist/utils/charts/blessed/index.js +4 -0
- package/dist/utils/charts/blessed/index.js.map +1 -0
- package/dist/utils/charts/blessed/net-vs-lido-apr.d.ts +13 -0
- package/dist/utils/charts/blessed/net-vs-lido-apr.js +19 -0
- package/dist/utils/charts/blessed/net-vs-lido-apr.js.map +1 -0
- package/dist/utils/charts/blessed/utils.d.ts +61 -0
- package/dist/utils/charts/blessed/utils.js +79 -0
- package/dist/utils/charts/blessed/utils.js.map +1 -0
- package/dist/utils/charts/index.d.ts +3 -0
- package/dist/utils/charts/index.js +4 -0
- package/dist/utils/charts/index.js.map +1 -0
- package/dist/utils/charts/metrics.d.ts +16 -0
- package/dist/utils/charts/metrics.js +160 -0
- package/dist/utils/charts/metrics.js.map +1 -0
- package/dist/utils/charts/overview.d.ts +10 -0
- package/dist/utils/charts/overview.js +89 -0
- package/dist/utils/charts/overview.js.map +1 -0
- package/dist/utils/charts/simple/index.d.ts +1 -0
- package/dist/utils/charts/simple/index.js +2 -0
- package/dist/utils/charts/simple/index.js.map +1 -0
- package/dist/utils/charts/simple/simple-charts.d.ts +7 -0
- package/dist/utils/charts/simple/simple-charts.js +79 -0
- package/dist/utils/charts/simple/simple-charts.js.map +1 -0
- package/dist/utils/commands/confirmations.d.ts +39 -0
- package/dist/utils/commands/confirmations.js +127 -0
- package/dist/utils/commands/confirmations.js.map +1 -0
- package/dist/utils/commands/index.d.ts +2 -0
- package/dist/utils/commands/index.js +3 -0
- package/dist/utils/commands/index.js.map +1 -0
- package/dist/utils/commands/report.d.ts +7 -0
- package/dist/utils/commands/report.js +43 -0
- package/dist/utils/commands/report.js.map +1 -0
- 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/csv-file.d.ts +6 -0
- package/dist/utils/csv-file.js +48 -0
- package/dist/utils/csv-file.js.map +1 -0
- package/dist/utils/data-validators.d.ts +6 -0
- package/dist/utils/data-validators.js +28 -25
- package/dist/utils/data-validators.js.map +1 -1
- package/dist/utils/error-handler.d.ts +1 -0
- package/dist/utils/error-handler.js +13 -0
- package/dist/utils/error-handler.js.map +1 -0
- package/dist/utils/fetchCL.d.ts +36 -0
- package/dist/utils/fetchCL.js +81 -0
- package/dist/utils/fetchCL.js.map +1 -0
- package/dist/utils/get-commands.d.ts +2 -0
- package/dist/utils/get-commands.js +11 -0
- package/dist/utils/get-commands.js.map +1 -0
- package/dist/utils/get-deposit-data-root.d.ts +7 -0
- package/dist/utils/get-deposit-data-root.js +37 -0
- package/dist/utils/get-deposit-data-root.js.map +1 -0
- package/dist/utils/get-value.d.ts +1 -0
- package/dist/utils/get-value.js +5 -11
- package/dist/utils/get-value.js.map +1 -1
- package/dist/utils/health/calculate-health.d.ts +10 -0
- package/dist/utils/health/calculate-health.js +22 -0
- package/dist/utils/health/calculate-health.js.map +1 -0
- package/dist/utils/health/health-utils.d.ts +27743 -0
- package/dist/utils/health/health-utils.js +75 -0
- package/dist/utils/health/health-utils.js.map +1 -0
- package/dist/utils/health/index.d.ts +2 -0
- package/dist/utils/health/index.js +3 -0
- package/dist/utils/health/index.js.map +1 -0
- package/dist/utils/index.d.ts +35 -0
- package/dist/utils/index.js +35 -20
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/interrupt-handler.d.ts +3 -0
- package/dist/utils/interrupt-handler.js +28 -0
- package/dist/utils/interrupt-handler.js.map +1 -0
- package/dist/utils/ipfs.d.ts +17 -0
- package/dist/utils/ipfs.js +100 -0
- package/dist/utils/ipfs.js.map +1 -0
- package/dist/utils/lido-apr.d.ts +2 -0
- package/dist/utils/lido-apr.js +8 -0
- package/dist/utils/lido-apr.js.map +1 -0
- package/dist/utils/logging/console.d.ts +16 -0
- package/dist/utils/logging/console.js +44 -0
- package/dist/utils/logging/console.js.map +1 -0
- package/dist/utils/logging/constants.d.ts +4 -0
- package/dist/utils/logging/constants.js +18 -0
- package/dist/utils/logging/constants.js.map +1 -0
- package/dist/utils/logging/index.d.ts +1 -0
- package/dist/utils/logging/index.js +2 -0
- package/dist/utils/logging/index.js.map +1 -0
- package/dist/utils/prompts/confirmations.d.ts +2 -0
- package/dist/utils/prompts/confirmations.js +18 -0
- package/dist/utils/prompts/confirmations.js.map +1 -0
- package/dist/utils/prompts/default.d.ts +6 -0
- package/dist/utils/prompts/default.js +27 -0
- package/dist/utils/prompts/default.js.map +1 -0
- package/dist/utils/prompts/index.d.ts +6 -0
- package/dist/utils/prompts/index.js +7 -0
- package/dist/utils/prompts/index.js.map +1 -0
- 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/mint-burn/confirm-mint.d.ts +18 -0
- 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 +9 -0
- package/dist/utils/prompts/operations.js +52 -0
- package/dist/utils/prompts/operations.js.map +1 -0
- package/dist/utils/prompts/predeposit-guarantee.d.ts +3 -0
- package/dist/utils/prompts/predeposit-guarantee.js +23 -0
- package/dist/utils/prompts/predeposit-guarantee.js.map +1 -0
- package/dist/utils/prompts/vault.d.ts +2 -0
- package/dist/utils/prompts/vault.js +14 -0
- package/dist/utils/prompts/vault.js.map +1 -0
- package/dist/utils/proof/create-proof.d.ts +15 -0
- package/dist/utils/proof/create-proof.js +40 -0
- package/dist/utils/proof/create-proof.js.map +1 -0
- package/dist/utils/proof/first-validator-gindex.d.ts +1 -0
- package/dist/utils/proof/first-validator-gindex.js +32 -0
- package/dist/utils/proof/first-validator-gindex.js.map +1 -0
- package/dist/utils/proof/index.d.ts +3 -0
- package/dist/utils/proof/index.js +4 -0
- package/dist/utils/proof/index.js.map +1 -0
- package/dist/utils/proof/merkle-utils.d.ts +55 -0
- package/dist/utils/proof/merkle-utils.js +173 -0
- package/dist/utils/proof/merkle-utils.js.map +1 -0
- package/dist/utils/proof/proofs.d.ts +30 -0
- package/dist/utils/proof/proofs.js +52 -0
- package/dist/utils/proof/proofs.js.map +1 -0
- package/dist/utils/read-programs-by-abi.d.ts +27 -0
- package/dist/utils/read-programs-by-abi.js +92 -0
- package/dist/utils/read-programs-by-abi.js.map +1 -0
- package/dist/utils/rebase-rewards.d.ts +7 -0
- package/dist/utils/rebase-rewards.js +6 -0
- package/dist/utils/rebase-rewards.js.map +1 -0
- package/dist/utils/report/index.d.ts +4 -0
- package/dist/utils/report/index.js +5 -0
- package/dist/utils/report/index.js.map +1 -0
- package/dist/utils/report/report-proof.d.ts +39 -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 +19 -0
- package/dist/utils/report/report.js +134 -0
- package/dist/utils/report/report.js.map +1 -0
- package/dist/utils/report/statistic-data.d.ts +32 -0
- package/dist/utils/report/statistic-data.js +28 -0
- package/dist/utils/report/statistic-data.js.map +1 -0
- package/dist/utils/report/types.d.ts +60 -0
- package/dist/utils/report/types.js +2 -0
- package/dist/utils/report/types.js.map +1 -0
- package/dist/utils/resolve-path.d.ts +1 -0
- package/dist/utils/resolve-path.js +9 -12
- package/dist/utils/resolve-path.js.map +1 -1
- package/dist/utils/share-rate.d.ts +1 -0
- package/dist/utils/share-rate.js +16 -0
- package/dist/utils/share-rate.js.map +1 -0
- package/dist/utils/sleep.d.ts +1 -0
- package/dist/utils/sleep.js +1 -5
- package/dist/utils/sleep.js.map +1 -1
- package/dist/utils/snake-to-camel.d.ts +6 -0
- package/dist/utils/snake-to-camel.js +9 -0
- package/dist/utils/snake-to-camel.js.map +1 -0
- package/dist/utils/spinner/constants.d.ts +6 -0
- package/dist/utils/spinner/constants.js +120 -0
- package/dist/utils/spinner/constants.js.map +1 -0
- package/dist/utils/spinner/index.d.ts +1 -0
- package/dist/utils/spinner/index.js +2 -0
- package/dist/utils/spinner/index.js.map +1 -0
- package/dist/utils/spinner/spinners.d.ts +7 -0
- package/dist/utils/spinner/spinners.js +16 -0
- package/dist/utils/spinner/spinners.js.map +1 -0
- package/dist/utils/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/statistic/report-statistic.d.ts +51 -0
- package/dist/utils/statistic/report-statistic.js +124 -0
- package/dist/utils/statistic/report-statistic.js.map +1 -0
- package/dist/utils/timestamp.d.ts +1 -0
- package/dist/utils/timestamp.js +17 -0
- package/dist/utils/timestamp.js.map +1 -0
- package/dist/utils/transactions/index.d.ts +3 -0
- package/dist/utils/transactions/index.js +4 -0
- package/dist/utils/transactions/index.js.map +1 -0
- package/dist/utils/transactions/tx-private-key.d.ts +26 -0
- package/dist/utils/transactions/tx-private-key.js +310 -0
- package/dist/utils/transactions/tx-private-key.js.map +1 -0
- package/dist/utils/transactions/tx-wc.d.ts +34 -0
- package/dist/utils/transactions/tx-wc.js +187 -0
- package/dist/utils/transactions/tx-wc.js.map +1 -0
- package/dist/utils/transactions/types.d.ts +40 -0
- package/dist/utils/transactions/types.js +2 -0
- package/dist/utils/transactions/types.js.map +1 -0
- package/dist/utils/wallet-connect.d.ts +7677 -0
- package/dist/utils/wallet-connect.js +179 -0
- package/dist/utils/wallet-connect.js.map +1 -0
- package/dist/version/index.d.ts +1 -0
- package/dist/version/index.js +1 -0
- package/dist/version/index.js.map +1 -0
- package/package.json +88 -13
- package/dist/abi/Delegation.js +0 -1658
- package/dist/abi/Delegation.js.map +0 -1
- package/dist/abi/TokenManager.js +0 -759
- package/dist/abi/TokenManager.js.map +0 -1
- package/dist/abi/Voting.js +0 -887
- package/dist/abi/Voting.js.map +0 -1
- package/dist/contracts/delegation.js +0 -19
- package/dist/contracts/delegation.js.map +0 -1
- package/dist/contracts/token-manager.js +0 -20
- package/dist/contracts/token-manager.js.map +0 -1
- package/dist/contracts/voting.js +0 -22
- package/dist/contracts/voting.js.map +0 -1
- package/dist/features/advanced-config.js +0 -21
- package/dist/features/advanced-config.js.map +0 -1
- package/dist/features/voting.js +0 -136
- package/dist/features/voting.js.map +0 -1
- package/dist/programs/dashboard.js +0 -688
- package/dist/programs/dashboard.js.map +0 -1
- package/dist/programs/delegation.js +0 -539
- package/dist/programs/delegation.js.map +0 -1
- package/dist/programs/vault-factory.js +0 -84
- package/dist/programs/vault-factory.js.map +0 -1
- package/dist/programs/vault-hub.js +0 -352
- package/dist/programs/vault-hub.js.map +0 -1
- package/dist/programs/vault.js +0 -378
- package/dist/programs/vault.js.map +0 -1
- package/dist/programs/voting.js +0 -53
- package/dist/programs/voting.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"confirm-burn.js","sourceRoot":"","sources":["../../../../utils/prompts/mint-burn/confirm-burn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,WAAW,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAiB9C,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,KAAuB,EAAE,EAAE;IAC3D,MAAM,EACJ,YAAY,EACZ,YAAY,EACZ,sBAAsB,EACtB,kBAAkB,EAClB,4BAA4B,EAC5B,sBAAsB,EACtB,gCAAgC,EAChC,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,IAAI,GACL,GAAG,KAAK,CAAC;IAEV,MAAM,oBAAoB,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IACvD,MAAM,mBAAmB,GAAG,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,IAAI,KAAK,QAAQ,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,KAAK,QAAQ,CAAC;IAEnC,MAAM,KAAK,GACT,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAEpE,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAC7C,OAAO,CAAC,iBAAiB,YAAY,UAAU,CAAC,CAAC;IACjD,YAAY,CAAC,IAAI,CACf,CAAC,eAAe,EAAE,YAAY,CAAC,EAC/B,CAAC,wBAAwB,EAAE,sBAAsB,CAAC,EAClD,CAAC,2BAA2B,EAAE,WAAW,CAAC,sBAAsB,CAAC,CAAC,EAClE,CAAC,0BAA0B,EAAE,WAAW,CAAC,gCAAgC,CAAC,CAAC,EAC3E,CAAC,sBAAsB,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAC7D,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CACzC,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEtC,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IACzC,OAAO,CAAC,WAAW,KAAK,IAAI,IAAI,QAAQ,YAAY,GAAG,CAAC,CAAC;IACzD,QAAQ,CAAC,IAAI,CACX,CAAC,eAAe,EAAE,YAAY,CAAC,EAC/B,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,EAC1C,CAAC,uBAAuB,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAC,EAC1D,CAAC,sBAAsB,EAAE,WAAW,CAAC,4BAA4B,CAAC,CAAC,EACnE,CAAC,kBAAkB,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EACrD,CAAC,gBAAgB,EAAE,YAAY,CAAC,CACjC,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IAElC,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,iCAAiC,KAAK,IAAI,IAAI,QAAQ,YAAY,GAAG,CACtE,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Address } from 'viem';
|
|
2
|
+
type ConfirmMintProps = {
|
|
3
|
+
vaultAddress: Address;
|
|
4
|
+
recipient: Address;
|
|
5
|
+
amountOfMint: bigint;
|
|
6
|
+
amountOfMintInStethWei: bigint;
|
|
7
|
+
newLiabilityShares: bigint;
|
|
8
|
+
newLiabilitySharesInStethWei: bigint;
|
|
9
|
+
currentLiabilityShares: bigint;
|
|
10
|
+
currentLiabilitySharesInStethWei: bigint;
|
|
11
|
+
newHealthRatio: number;
|
|
12
|
+
currentHealthRatio: number;
|
|
13
|
+
newIsHealthy: boolean;
|
|
14
|
+
currentIsHealthy: boolean;
|
|
15
|
+
type: 'shares' | 'stETH' | 'wstETH';
|
|
16
|
+
};
|
|
17
|
+
export declare const confirmMint: (props: ConfirmMintProps) => Promise<boolean>;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { formatEther } from 'viem';
|
|
2
|
+
import Table from 'cli-table3';
|
|
3
|
+
import { confirmOperation, logInfo } from '../../index.js';
|
|
4
|
+
import { TABLE_PARAMS } from './constants.js';
|
|
5
|
+
export const confirmMint = async (props) => {
|
|
6
|
+
const { vaultAddress, recipient, amountOfMint, amountOfMintInStethWei, newLiabilityShares, newLiabilitySharesInStethWei, currentLiabilityShares, currentLiabilitySharesInStethWei, newHealthRatio, currentHealthRatio, newIsHealthy, currentIsHealthy, type, } = props;
|
|
7
|
+
const amountOfMintInShares = formatEther(amountOfMint);
|
|
8
|
+
const amountOfMintInSteth = formatEther(amountOfMintInStethWei);
|
|
9
|
+
const isShares = type === 'shares';
|
|
10
|
+
const isWsteth = type === 'wstETH';
|
|
11
|
+
const value = isShares || isWsteth ? amountOfMintInShares : amountOfMintInSteth;
|
|
12
|
+
const tableCurrent = new Table(TABLE_PARAMS);
|
|
13
|
+
logInfo(`Current vault ${vaultAddress} health:`);
|
|
14
|
+
tableCurrent.push(['Vault Address', vaultAddress], ['Current Liability, wei', currentLiabilityShares], ['Current Liability, Shares', formatEther(currentLiabilityShares)], ['Current Liability, stETH', formatEther(currentLiabilitySharesInStethWei)], ['Current Health Ratio', `${currentHealthRatio.toFixed(2)}%`], ['Current Is Healthy', currentIsHealthy]);
|
|
15
|
+
console.info(tableCurrent.toString());
|
|
16
|
+
const tableNew = new Table(TABLE_PARAMS);
|
|
17
|
+
logInfo(`Minting ${value} ${type} to ${recipient}:`);
|
|
18
|
+
tableNew.push(['Vault Address', vaultAddress], ['New Liability, wei', newLiabilityShares], ['New Liability, Shares', formatEther(newLiabilityShares)], ['New Liability, stETH', formatEther(newLiabilitySharesInStethWei)], ['New Health Ratio', `${newHealthRatio.toFixed(2)}%`], ['New Is Healthy', newIsHealthy]);
|
|
19
|
+
console.info(tableNew.toString());
|
|
20
|
+
const confirm = await confirmOperation(`Are you sure you want to mint ${value} ${type} to ${recipient}?`);
|
|
21
|
+
return confirm;
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=confirm-mint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"confirm-mint.js","sourceRoot":"","sources":["../../../../utils/prompts/mint-burn/confirm-mint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,WAAW,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAkB9C,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,KAAuB,EAAE,EAAE;IAC3D,MAAM,EACJ,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,sBAAsB,EACtB,kBAAkB,EAClB,4BAA4B,EAC5B,sBAAsB,EACtB,gCAAgC,EAChC,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,IAAI,GACL,GAAG,KAAK,CAAC;IAEV,MAAM,oBAAoB,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IACvD,MAAM,mBAAmB,GAAG,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,IAAI,KAAK,QAAQ,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,KAAK,QAAQ,CAAC;IAEnC,MAAM,KAAK,GACT,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAEpE,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAC7C,OAAO,CAAC,iBAAiB,YAAY,UAAU,CAAC,CAAC;IACjD,YAAY,CAAC,IAAI,CACf,CAAC,eAAe,EAAE,YAAY,CAAC,EAC/B,CAAC,wBAAwB,EAAE,sBAAsB,CAAC,EAClD,CAAC,2BAA2B,EAAE,WAAW,CAAC,sBAAsB,CAAC,CAAC,EAClE,CAAC,0BAA0B,EAAE,WAAW,CAAC,gCAAgC,CAAC,CAAC,EAC3E,CAAC,sBAAsB,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAC7D,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CACzC,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEtC,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IACzC,OAAO,CAAC,WAAW,KAAK,IAAI,IAAI,OAAO,SAAS,GAAG,CAAC,CAAC;IACrD,QAAQ,CAAC,IAAI,CACX,CAAC,eAAe,EAAE,YAAY,CAAC,EAC/B,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,EAC1C,CAAC,uBAAuB,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAC,EAC1D,CAAC,sBAAsB,EAAE,WAAW,CAAC,4BAA4B,CAAC,CAAC,EACnE,CAAC,kBAAkB,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EACrD,CAAC,gBAAgB,EAAE,YAAY,CAAC,CACjC,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IAElC,MAAM,OAAO,GAAG,MAAM,gBAAgB,CACpC,iCAAiC,KAAK,IAAI,IAAI,OAAO,SAAS,GAAG,CAClE,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../utils/prompts/mint-burn/constants.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAkC;IACzD,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;IACrC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;CACzC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../utils/prompts/mint-burn/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Address } from 'viem';
|
|
2
|
+
export declare const enterContractAddress: (name?: string) => Promise<`0x${string}`>;
|
|
3
|
+
export declare const confirmContractAndAmount: (contract: Address, amountETH: string) => Promise<boolean>;
|
|
4
|
+
export declare const enterAmountETH: () => Promise<import("prompts").Answers<"amountETH">>;
|
|
5
|
+
export declare const confirmFund: (address: Address, amountETH: string, name: string) => Promise<{
|
|
6
|
+
address: `0x${string}`;
|
|
7
|
+
amount: string;
|
|
8
|
+
}>;
|
|
9
|
+
export declare const confirmOperation: (message: string) => Promise<boolean>;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { program } from '../../command/index.js';
|
|
2
|
+
import { logCancel } from '../index.js';
|
|
3
|
+
import { textPrompt, confirmPrompt } from './default.js';
|
|
4
|
+
export const enterContractAddress = async (name = 'contract') => {
|
|
5
|
+
const contract = await textPrompt(`Enter ${name} address`, 'address');
|
|
6
|
+
return contract.address;
|
|
7
|
+
};
|
|
8
|
+
export const confirmContractAndAmount = async (contract, amountETH) => {
|
|
9
|
+
const opts = program.opts();
|
|
10
|
+
if (opts.yes)
|
|
11
|
+
return true;
|
|
12
|
+
const { confirm } = await confirmPrompt(`Do you want to fund the contract ${contract} with ${amountETH} ETH?`, 'confirm');
|
|
13
|
+
if (!confirm) {
|
|
14
|
+
logCancel('Command cancelled');
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
return true;
|
|
18
|
+
};
|
|
19
|
+
export const enterAmountETH = async () => {
|
|
20
|
+
return await textPrompt('Enter amount in ETH', 'amountETH');
|
|
21
|
+
};
|
|
22
|
+
export const confirmFund = async (address, amountETH, name) => {
|
|
23
|
+
let contractAddress = address;
|
|
24
|
+
let amount = amountETH;
|
|
25
|
+
if (!contractAddress) {
|
|
26
|
+
contractAddress = await enterContractAddress(name);
|
|
27
|
+
if (!contractAddress)
|
|
28
|
+
program.error('Command cancelled', { exitCode: 1 });
|
|
29
|
+
}
|
|
30
|
+
if (!amount) {
|
|
31
|
+
const answerAmount = await enterAmountETH();
|
|
32
|
+
amount = answerAmount.amountETH;
|
|
33
|
+
if (!amount)
|
|
34
|
+
program.error('Command cancelled', { exitCode: 1 });
|
|
35
|
+
}
|
|
36
|
+
const confirm = await confirmContractAndAmount(contractAddress, amount);
|
|
37
|
+
if (!confirm)
|
|
38
|
+
program.error('Command cancelled', { exitCode: 1 });
|
|
39
|
+
return { address: contractAddress, amount: amount };
|
|
40
|
+
};
|
|
41
|
+
export const confirmOperation = async (message) => {
|
|
42
|
+
const opts = program.opts();
|
|
43
|
+
if (opts.yes)
|
|
44
|
+
return true;
|
|
45
|
+
const { confirm } = await confirmPrompt(message, 'confirm');
|
|
46
|
+
if (!confirm) {
|
|
47
|
+
logCancel('Command cancelled');
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
return true;
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=operations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../utils/prompts/operations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,IAAI,GAAG,UAAU,EAAE,EAAE;IAC9D,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,SAAS,IAAI,UAAU,EAAE,SAAS,CAAC,CAAC;IAEtE,OAAO,QAAQ,CAAC,OAAkB,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAC3C,QAAiB,EACjB,SAAiB,EACjB,EAAE;IACF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAE1B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,aAAa,CACrC,oCAAoC,QAAQ,SAAS,SAAS,OAAO,EACrE,SAAS,CACV,CAAC;IAEF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;IACvC,OAAO,MAAM,UAAU,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC9B,OAAgB,EAChB,SAAiB,EACjB,IAAY,EACZ,EAAE;IACF,IAAI,eAAe,GAAmB,OAAO,CAAC;IAC9C,IAAI,MAAM,GAAkB,SAAS,CAAC;IAEtC,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,eAAe,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAEnD,IAAI,CAAC,eAAe;YAAE,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,YAAY,GAAG,MAAM,cAAc,EAAE,CAAC;QAC5C,MAAM,GAAG,YAAY,CAAC,SAAmB,CAAC;QAE1C,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IACxE,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;IAElE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACtD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,OAAe,EAAE,EAAE;IACxD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAE1B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAE5D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const enterValidatorIndex: () => Promise<import("prompts").Answers<"validatorIndex">>;
|
|
2
|
+
export declare const confirmValidatorIndex: (validatorIndex: number) => Promise<boolean>;
|
|
3
|
+
export declare const confirmMakeProof: (index?: number) => Promise<number | void>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { textPrompt } from './default.js';
|
|
2
|
+
import { confirmOperation } from './operations.js';
|
|
3
|
+
import { logCancel } from '../../utils/logging/console.js';
|
|
4
|
+
export const enterValidatorIndex = async () => {
|
|
5
|
+
return await textPrompt('Enter validator index', 'validatorIndex');
|
|
6
|
+
};
|
|
7
|
+
export const confirmValidatorIndex = async (validatorIndex) => {
|
|
8
|
+
return await confirmOperation(`Do you want to make proof for validator ${validatorIndex}?`);
|
|
9
|
+
};
|
|
10
|
+
export const confirmMakeProof = async (index) => {
|
|
11
|
+
let validatorIndex = index;
|
|
12
|
+
if (validatorIndex === undefined) {
|
|
13
|
+
const answerValidatorIndex = await enterValidatorIndex();
|
|
14
|
+
validatorIndex = answerValidatorIndex.validatorIndex;
|
|
15
|
+
if (!validatorIndex)
|
|
16
|
+
return logCancel('Command cancelled');
|
|
17
|
+
}
|
|
18
|
+
const confirm = await confirmValidatorIndex(validatorIndex);
|
|
19
|
+
if (!confirm)
|
|
20
|
+
return logCancel('Command cancelled');
|
|
21
|
+
return validatorIndex;
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=predeposit-guarantee.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"predeposit-guarantee.js","sourceRoot":"","sources":["../../../utils/prompts/predeposit-guarantee.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,IAAI,EAAE;IAC5C,OAAO,MAAM,UAAU,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,CAAC;AACrE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,cAAsB,EAAE,EAAE;IACpE,OAAO,MAAM,gBAAgB,CAC3B,2CAA2C,cAAc,GAAG,CAC7D,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,KAAc,EAAE,EAAE;IACvD,IAAI,cAAc,GAAuB,KAAK,CAAC;IAE/C,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,oBAAoB,GAAG,MAAM,mBAAmB,EAAE,CAAC;QACzD,cAAc,GAAG,oBAAoB,CAAC,cAAc,CAAC;QAErD,IAAI,CAAC,cAAc;YAAE,OAAO,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,cAAc,CAAC,CAAC;IAC5D,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAEpD,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { confirmOperation } from './operations.js';
|
|
2
|
+
export const confirmCreateVaultParams = async (payload, otherRoles) => {
|
|
3
|
+
return await confirmOperation(`Do you want to create a vault with the following parameters?
|
|
4
|
+
${JSON.stringify(payload, (_key, value) => {
|
|
5
|
+
if (typeof value === 'bigint') {
|
|
6
|
+
return value.toString();
|
|
7
|
+
}
|
|
8
|
+
return value;
|
|
9
|
+
}, 2)}
|
|
10
|
+
${JSON.stringify(otherRoles, (_key, value) => {
|
|
11
|
+
return value;
|
|
12
|
+
}, 2)}`);
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=vault.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vault.js","sourceRoot":"","sources":["../../../utils/prompts/vault.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAC3C,OAA2B,EAC3B,UAA4B,EAC5B,EAAE;IACF,OAAO,MAAM,gBAAgB,CAC3B;MACE,IAAI,CAAC,SAAS,CACd,OAAO,EACP,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACd,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC1B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,EACD,CAAC,CACF;MACC,IAAI,CAAC,SAAS,CACd,UAAU,EACV,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACd,OAAO,KAAK,CAAC;IACf,CAAC,EACD,CAAC,CACF,EAAE,CACJ,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Hex } from 'viem';
|
|
2
|
+
export interface ValidatorWitness {
|
|
3
|
+
proof: Hex[];
|
|
4
|
+
pubkey: Hex;
|
|
5
|
+
validatorIndex: bigint;
|
|
6
|
+
childBlockTimestamp: bigint;
|
|
7
|
+
slot: bigint;
|
|
8
|
+
proposerIndex: bigint;
|
|
9
|
+
}
|
|
10
|
+
export interface ValidatorWitnessWithWC extends ValidatorWitness {
|
|
11
|
+
withdrawalCredentials: Hex;
|
|
12
|
+
slot: bigint;
|
|
13
|
+
proposerIndex: bigint;
|
|
14
|
+
}
|
|
15
|
+
export declare const createPDGProof: (validatorIndex: number, clURL?: string) => Promise<ValidatorWitnessWithWC>;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { toHex } from 'viem';
|
|
2
|
+
import { fetchBeaconHeader, fetchBeaconState, fetchBeaconHeaderByParentRoot, } from '../index.js';
|
|
3
|
+
import { createStateProof, createPubkeyWCProof, createBeaconHeaderProof, } from './proofs.js';
|
|
4
|
+
const SECONDS_PER_SLOT = 12;
|
|
5
|
+
const slotToTimestamp = (slot, genesisTimestamp) => {
|
|
6
|
+
return genesisTimestamp + slot * Number(SECONDS_PER_SLOT);
|
|
7
|
+
};
|
|
8
|
+
export const createPDGProof = async (validatorIndex, clURL) => {
|
|
9
|
+
const beaconHeaderJson = await fetchBeaconHeader('finalized', clURL);
|
|
10
|
+
const beaconHeader = beaconHeaderJson.data.header.message;
|
|
11
|
+
const { stateBodyBytes, forkName } = await fetchBeaconState('finalized', clURL);
|
|
12
|
+
// Proofs
|
|
13
|
+
// Beacon Header Proof
|
|
14
|
+
const { proof: beaconHeaderProof, root: beaconHeaderRoot } = await createBeaconHeaderProof(beaconHeader);
|
|
15
|
+
// Validator State Proof
|
|
16
|
+
const { proof: validatorStateProof, validator, view: validatorStateView, } = await createStateProof(validatorIndex, stateBodyBytes, forkName);
|
|
17
|
+
// Pubkey WC Proof
|
|
18
|
+
const { proof: pubkeyWCProof } = await createPubkeyWCProof(validator.node);
|
|
19
|
+
// Concatenate proofs
|
|
20
|
+
const proofConcat = [
|
|
21
|
+
...pubkeyWCProof.witnesses,
|
|
22
|
+
...validatorStateProof.witnesses,
|
|
23
|
+
...beaconHeaderProof.witnesses,
|
|
24
|
+
];
|
|
25
|
+
const proofHex = proofConcat.map((w) => toHex(w));
|
|
26
|
+
const headerByParentJson = await fetchBeaconHeaderByParentRoot(beaconHeaderRoot, clURL);
|
|
27
|
+
const headerByParentSlot = headerByParentJson.data[0].header.message.slot;
|
|
28
|
+
const headerByParentTimestamp = slotToTimestamp(headerByParentSlot, validatorStateView.genesisTime);
|
|
29
|
+
const result = {
|
|
30
|
+
proof: proofHex,
|
|
31
|
+
pubkey: toHex(validator.pubkey),
|
|
32
|
+
withdrawalCredentials: toHex(validator.withdrawalCredentials),
|
|
33
|
+
validatorIndex: BigInt(validatorIndex),
|
|
34
|
+
childBlockTimestamp: BigInt(headerByParentTimestamp),
|
|
35
|
+
slot: BigInt(beaconHeader.slot),
|
|
36
|
+
proposerIndex: BigInt(beaconHeader.proposer_index),
|
|
37
|
+
};
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=create-proof.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-proof.js","sourceRoot":"","sources":["../../../utils/proof/create-proof.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,EAAE,MAAM,MAAM,CAAC;AAElC,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,6BAA6B,GAC9B,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAErB,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAiB5B,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,gBAAwB,EAAU,EAAE;IACzE,OAAO,gBAAgB,GAAG,IAAI,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,cAAsB,EACtB,KAAc,EACmB,EAAE;IACnC,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACrE,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAE1D,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,MAAM,gBAAgB,CACzD,WAAW,EACX,KAAK,CACN,CAAC;IAEF,SAAS;IAET,sBAAsB;IACtB,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,gBAAgB,EAAE,GACxD,MAAM,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAE9C,wBAAwB;IACxB,MAAM,EACJ,KAAK,EAAE,mBAAmB,EAC1B,SAAS,EACT,IAAI,EAAE,kBAAkB,GACzB,GAAG,MAAM,gBAAgB,CAAC,cAAc,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;IAErE,kBAAkB;IAClB,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAE3E,qBAAqB;IACrB,MAAM,WAAW,GAAG;QAClB,GAAG,aAAa,CAAC,SAAS;QAC1B,GAAG,mBAAmB,CAAC,SAAS;QAChC,GAAG,iBAAiB,CAAC,SAAS;KAC/B,CAAC;IAEF,MAAM,QAAQ,GAAU,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzD,MAAM,kBAAkB,GAAG,MAAM,6BAA6B,CAC5D,gBAAgB,EAChB,KAAK,CACN,CAAC;IACF,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;IAC1E,MAAM,uBAAuB,GAAG,eAAe,CAC7C,kBAAkB,EAClB,kBAAkB,CAAC,WAAW,CAC/B,CAAC;IAEF,MAAM,MAAM,GAAG;QACb,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;QAC/B,qBAAqB,EAAE,KAAK,CAAC,SAAS,CAAC,qBAAqB,CAAC;QAC7D,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC;QACtC,mBAAmB,EAAE,MAAM,CAAC,uBAAuB,CAAC;QACpD,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC;QAC/B,aAAa,EAAE,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC;KACnD,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getFirstValidatorGIndex: (forks: string[]) => void;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ssz } from '@lodestar/types';
|
|
2
|
+
import { logResult } from '../index.js';
|
|
3
|
+
const SupportedFork = {
|
|
4
|
+
deneb: 'deneb',
|
|
5
|
+
electra: 'electra',
|
|
6
|
+
};
|
|
7
|
+
export const getFirstValidatorGIndex = (forks) => {
|
|
8
|
+
const gIndexes = {};
|
|
9
|
+
for (const fork of forks) {
|
|
10
|
+
const Fork = ssz[fork];
|
|
11
|
+
const Validators = Fork.BeaconState.getPathInfo(['validators']).type;
|
|
12
|
+
const gI = pack(Fork.BeaconState.getPathInfo(['validators', 0]).gindex,
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
14
|
+
// @ts-ignore
|
|
15
|
+
Validators.limit);
|
|
16
|
+
gIndexes[fork] = toBytes32String(gI);
|
|
17
|
+
}
|
|
18
|
+
logResult({
|
|
19
|
+
data: Object.entries(gIndexes).map(([fork, gIndex]) => [fork, gIndex]),
|
|
20
|
+
params: {
|
|
21
|
+
head: ['Fork', 'GIndex'],
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
const pack = (gI, limit) => {
|
|
26
|
+
const width = limit ? BigInt(Math.log2(limit)) : 0n;
|
|
27
|
+
return (gI << 8n) | width;
|
|
28
|
+
};
|
|
29
|
+
const toBytes32String = (gI) => {
|
|
30
|
+
return `0x${gI.toString(16).padStart(64, '0')}`;
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=first-validator-gindex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"first-validator-gindex.js","sourceRoot":"","sources":["../../../utils/proof/first-validator-gindex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,aAAa,GAAG;IACpB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAe,EAAE,EAAE;IACzD,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAkC,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QAErE,MAAM,EAAE,GAAG,IAAI,CACb,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM;QACtD,6DAA6D;QAC7D,aAAa;QACb,UAAU,CAAC,KAAK,CACjB,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,SAAS,CAAC;QACR,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtE,MAAM,EAAE;YACN,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;SACzB;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,KAAa,EAAE,EAAE;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC;AAC5B,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,EAAU,EAAE,EAAE;IACrC,OAAO,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC;AAClD,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../utils/proof/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Hex } from 'viem';
|
|
2
|
+
export type Validator = {
|
|
3
|
+
pubkey: Uint8Array<ArrayBufferLike>;
|
|
4
|
+
withdrawalCredentials: Uint8Array<ArrayBufferLike>;
|
|
5
|
+
effectiveBalance: number;
|
|
6
|
+
slashed: boolean;
|
|
7
|
+
activationEligibilityEpoch: number;
|
|
8
|
+
activationEpoch: number;
|
|
9
|
+
exitEpoch: number | typeof Infinity;
|
|
10
|
+
withdrawableEpoch: number | typeof Infinity;
|
|
11
|
+
};
|
|
12
|
+
export type BeaconBlockHeader = {
|
|
13
|
+
slot: number;
|
|
14
|
+
proposer_index: number;
|
|
15
|
+
parent_root: string;
|
|
16
|
+
state_root: string;
|
|
17
|
+
body_root: string;
|
|
18
|
+
};
|
|
19
|
+
/** Hex -> bytes */
|
|
20
|
+
export declare const fromHex: (hex: string) => Uint8Array;
|
|
21
|
+
/** anything -> hex */
|
|
22
|
+
export declare const toHex: (value: unknown) => Hex;
|
|
23
|
+
/** sha256(32+32) => 32 */
|
|
24
|
+
export declare const sha256Pair: (left: Uint8Array, right: Uint8Array) => Uint8Array;
|
|
25
|
+
/**
|
|
26
|
+
* Helper for SHA-256 over multiple Uint8Array chunks.
|
|
27
|
+
* Returns a 32-byte hash (Uint8Array of length 32).
|
|
28
|
+
*/
|
|
29
|
+
export declare const sha256Concat: (...chunks: Uint8Array[]) => Uint8Array;
|
|
30
|
+
/** 48 => 64 padded => sha256 => 32 */
|
|
31
|
+
export declare const pubkeyRoot: (pubkey48: Uint8Array) => Uint8Array;
|
|
32
|
+
/** uint64 => little-endian => pad => 32 */
|
|
33
|
+
export declare const uint64To32LE: (val: bigint) => Uint8Array;
|
|
34
|
+
/**
|
|
35
|
+
* Converts BigInt (gwei) to 8 bytes (big-endian), then reverses it to little-endian.
|
|
36
|
+
* Returns Uint8Array[8].
|
|
37
|
+
*/
|
|
38
|
+
export declare const encodeGweiAsLittleEndian8: (amountGwei: bigint) => Uint8Array;
|
|
39
|
+
/** bool => 1 byte => 32 */
|
|
40
|
+
export declare const boolTo32: (b: boolean) => Uint8Array;
|
|
41
|
+
/**
|
|
42
|
+
* If value == Infinity, treat it as 2^64-1 (18446744073709551615)
|
|
43
|
+
* sentinel "Infinity" => max uint64
|
|
44
|
+
*/
|
|
45
|
+
export declare const safeUint64: (value: number) => bigint;
|
|
46
|
+
export declare const manualSubProofPubkeyWC: (validator: Validator) => {
|
|
47
|
+
leafPubkeyWC: Uint8Array<ArrayBufferLike>;
|
|
48
|
+
root: Uint8Array<ArrayBufferLike>;
|
|
49
|
+
siblings: Uint8Array<ArrayBufferLike>[];
|
|
50
|
+
};
|
|
51
|
+
export declare const manualSubProofBeaconBlockHeader: (blockHeader: BeaconBlockHeader) => {
|
|
52
|
+
root: Uint8Array<ArrayBufferLike>;
|
|
53
|
+
siblings: Uint8Array<ArrayBufferLike>[];
|
|
54
|
+
};
|
|
55
|
+
export declare const getPubkeyWCParentGIndex: () => bigint;
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Utils that could be used for testing lodestar packages
|
|
3
|
+
*/
|
|
4
|
+
import { createHash } from 'crypto';
|
|
5
|
+
/** Hex -> bytes */
|
|
6
|
+
export const fromHex = (hex) => {
|
|
7
|
+
if (hex.startsWith('0x'))
|
|
8
|
+
hex = hex.slice(2);
|
|
9
|
+
return new Uint8Array(Buffer.from(hex, 'hex'));
|
|
10
|
+
};
|
|
11
|
+
/** anything -> hex */
|
|
12
|
+
export const toHex = (value) => {
|
|
13
|
+
if (typeof value === 'string' && !value.startsWith('0x')) {
|
|
14
|
+
return `0x${value}`;
|
|
15
|
+
}
|
|
16
|
+
if (typeof value === 'string') {
|
|
17
|
+
return value;
|
|
18
|
+
}
|
|
19
|
+
if (typeof value === 'number' || typeof value === 'bigint') {
|
|
20
|
+
return `0x${value.toString(16)}`;
|
|
21
|
+
}
|
|
22
|
+
if (value instanceof Uint8Array) {
|
|
23
|
+
return `0x${Buffer.from(value).toString('hex')}`;
|
|
24
|
+
}
|
|
25
|
+
throw new Error('Unsupported value type');
|
|
26
|
+
};
|
|
27
|
+
/** sha256(32+32) => 32 */
|
|
28
|
+
export const sha256Pair = (left, right) => {
|
|
29
|
+
if (left.length !== 32 || right.length !== 32) {
|
|
30
|
+
throw new Error('sha256Pair expects 2 x 32-byte inputs');
|
|
31
|
+
}
|
|
32
|
+
const buf = Buffer.alloc(64);
|
|
33
|
+
buf.set(left, 0);
|
|
34
|
+
buf.set(right, 32);
|
|
35
|
+
return createHash('sha256').update(buf).digest();
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Helper for SHA-256 over multiple Uint8Array chunks.
|
|
39
|
+
* Returns a 32-byte hash (Uint8Array of length 32).
|
|
40
|
+
*/
|
|
41
|
+
export const sha256Concat = (...chunks) => {
|
|
42
|
+
const hash = createHash('sha256');
|
|
43
|
+
for (const chunk of chunks) {
|
|
44
|
+
hash.update(chunk);
|
|
45
|
+
}
|
|
46
|
+
return hash.digest();
|
|
47
|
+
};
|
|
48
|
+
/** 48 => 64 padded => sha256 => 32 */
|
|
49
|
+
export const pubkeyRoot = (pubkey48) => {
|
|
50
|
+
if (pubkey48.length !== 48) {
|
|
51
|
+
throw new Error(`pubkey must be 48 bytes, got=${pubkey48.length}`);
|
|
52
|
+
}
|
|
53
|
+
const padded = Buffer.alloc(64);
|
|
54
|
+
padded.set(pubkey48, 0);
|
|
55
|
+
return createHash('sha256').update(padded).digest();
|
|
56
|
+
};
|
|
57
|
+
/** uint64 => little-endian => pad => 32 */
|
|
58
|
+
export const uint64To32LE = (val) => {
|
|
59
|
+
const b = Buffer.alloc(8);
|
|
60
|
+
b.writeBigUInt64LE(val, 0);
|
|
61
|
+
return Buffer.concat([b, Buffer.alloc(24)]);
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Converts BigInt (gwei) to 8 bytes (big-endian), then reverses it to little-endian.
|
|
65
|
+
* Returns Uint8Array[8].
|
|
66
|
+
*/
|
|
67
|
+
export const encodeGweiAsLittleEndian8 = (amountGwei) => {
|
|
68
|
+
// First 8 bytes big-endian
|
|
69
|
+
const be = new Uint8Array(8);
|
|
70
|
+
let tmp = amountGwei;
|
|
71
|
+
for (let i = 7; i >= 0; i--) {
|
|
72
|
+
be[i] = Number(tmp & 0xffn);
|
|
73
|
+
tmp >>= 8n;
|
|
74
|
+
}
|
|
75
|
+
// Now reverse it (big-endian -> little-endian)
|
|
76
|
+
const le = new Uint8Array(8);
|
|
77
|
+
for (let i = 0; i < 8; i++) {
|
|
78
|
+
le[i] = be[7 - i] ?? 0;
|
|
79
|
+
}
|
|
80
|
+
return le;
|
|
81
|
+
};
|
|
82
|
+
/** bool => 1 byte => 32 */
|
|
83
|
+
export const boolTo32 = (b) => {
|
|
84
|
+
const oneByte = Buffer.from([b ? 1 : 0]);
|
|
85
|
+
return Buffer.concat([oneByte, Buffer.alloc(31)]);
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* If value == Infinity, treat it as 2^64-1 (18446744073709551615)
|
|
89
|
+
* sentinel "Infinity" => max uint64
|
|
90
|
+
*/
|
|
91
|
+
export const safeUint64 = (value) => {
|
|
92
|
+
if (!Number.isFinite(value)) {
|
|
93
|
+
// sentinel "Infinity" => max uint64
|
|
94
|
+
return 18446744073709551615n;
|
|
95
|
+
}
|
|
96
|
+
return BigInt(value);
|
|
97
|
+
};
|
|
98
|
+
export const manualSubProofPubkeyWC = (validator) => {
|
|
99
|
+
const pubkey48 = new Uint8Array(validator.pubkey); // 48
|
|
100
|
+
const wc32 = new Uint8Array(validator.withdrawalCredentials); // 32
|
|
101
|
+
const effBalance32 = uint64To32LE(BigInt(validator.effectiveBalance));
|
|
102
|
+
const slashed32 = boolTo32(!!validator.slashed);
|
|
103
|
+
const actElig32 = uint64To32LE(BigInt(validator.activationEligibilityEpoch));
|
|
104
|
+
const act32 = uint64To32LE(BigInt(validator.activationEpoch));
|
|
105
|
+
const exitEpochSafe = safeUint64(validator.exitEpoch);
|
|
106
|
+
const exit32 = uint64To32LE(exitEpochSafe);
|
|
107
|
+
const withdrawableEpochSafe = safeUint64(validator.withdrawableEpoch);
|
|
108
|
+
const wdble32 = uint64To32LE(withdrawableEpochSafe);
|
|
109
|
+
const node0 = sha256Pair(pubkeyRoot(pubkey48), wc32);
|
|
110
|
+
const node1 = sha256Pair(effBalance32, slashed32);
|
|
111
|
+
const node2 = sha256Pair(actElig32, act32);
|
|
112
|
+
const node3 = sha256Pair(exit32, wdble32);
|
|
113
|
+
const node01 = sha256Pair(node0, node1);
|
|
114
|
+
const node23 = sha256Pair(node2, node3);
|
|
115
|
+
const siblings = [node1, node23];
|
|
116
|
+
const root = sha256Pair(node01, node23);
|
|
117
|
+
return {
|
|
118
|
+
leafPubkeyWC: node0,
|
|
119
|
+
root,
|
|
120
|
+
siblings,
|
|
121
|
+
};
|
|
122
|
+
};
|
|
123
|
+
export const manualSubProofBeaconBlockHeader = (blockHeader) => {
|
|
124
|
+
const slot = blockHeader.slot;
|
|
125
|
+
const proposerIndex = blockHeader.proposer_index;
|
|
126
|
+
const parentRoot = blockHeader.parent_root;
|
|
127
|
+
const stateRoot = blockHeader.state_root;
|
|
128
|
+
const bodyRoot = blockHeader.body_root;
|
|
129
|
+
const zero1_32 = new Uint8Array(32);
|
|
130
|
+
const zero2_32 = new Uint8Array(32);
|
|
131
|
+
const zero3_32 = new Uint8Array(32);
|
|
132
|
+
const slot32 = uint64To32LE(BigInt(slot));
|
|
133
|
+
const proposerIndex32 = uint64To32LE(BigInt(proposerIndex));
|
|
134
|
+
const parentRoot32 = fromHex(parentRoot);
|
|
135
|
+
const stateRoot32 = fromHex(stateRoot);
|
|
136
|
+
const bodyRoot32 = fromHex(bodyRoot);
|
|
137
|
+
const node0 = sha256Pair(slot32, proposerIndex32);
|
|
138
|
+
const node1 = sha256Pair(parentRoot32, stateRoot32);
|
|
139
|
+
const node2 = sha256Pair(bodyRoot32, zero1_32);
|
|
140
|
+
const node3 = sha256Pair(zero2_32, zero3_32);
|
|
141
|
+
const node01 = sha256Pair(node0, node1);
|
|
142
|
+
const node23 = sha256Pair(node2, node3);
|
|
143
|
+
const siblings = [parentRoot32, node0, node23];
|
|
144
|
+
const root = sha256Pair(node01, node23);
|
|
145
|
+
return {
|
|
146
|
+
root,
|
|
147
|
+
siblings,
|
|
148
|
+
};
|
|
149
|
+
};
|
|
150
|
+
/*
|
|
151
|
+
gIndex=1
|
|
152
|
+
Validator Container Root
|
|
153
|
+
│
|
|
154
|
+
┌───────────────┴───────────────┐
|
|
155
|
+
│ │
|
|
156
|
+
gIndex=2 gIndex=3
|
|
157
|
+
node proof[1] **DEPTH = 1
|
|
158
|
+
│ │
|
|
159
|
+
┌───────┴───────┐ ┌───────┴───────┐
|
|
160
|
+
│ │ │ │
|
|
161
|
+
gIndex=4 gIndex=5 gIndex=6 gIndex=7
|
|
162
|
+
Proven Parent proof[0] node node **DEPTH = 2
|
|
163
|
+
│ │ │ │
|
|
164
|
+
┌─────┴─────┐ ┌─────┴─────┐ ┌─────┴─────┐ ┌─────┴─────┐
|
|
165
|
+
│ │ │ │ │ │ │ │
|
|
166
|
+
[pubkeyRoot] [wc] [EB] [slashed] [AEE] [AE] [EE] [WE] **DEPTH = 3
|
|
167
|
+
*/
|
|
168
|
+
export const getPubkeyWCParentGIndex = () => {
|
|
169
|
+
const depth = 2;
|
|
170
|
+
const position = 0;
|
|
171
|
+
return BigInt((1 << depth) + position); // => 4
|
|
172
|
+
};
|
|
173
|
+
//# sourceMappingURL=merkle-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merkle-utils.js","sourceRoot":"","sources":["../../../utils/proof/merkle-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Hex } from 'viem';
|
|
2
|
+
import { SingleProof, Node } from '@chainsafe/persistent-merkle-tree';
|
|
3
|
+
import { ssz } from '@lodestar/types';
|
|
4
|
+
type View = ReturnType<(typeof ssz)['capella']['BeaconState']['deserializeToView']> | ReturnType<(typeof ssz)['deneb']['BeaconState']['deserializeToView']> | ReturnType<(typeof ssz)['electra']['BeaconState']['deserializeToView']>;
|
|
5
|
+
type Validator = ReturnType<View['validators']['getReadonly']>;
|
|
6
|
+
declare const SupportedFork: {
|
|
7
|
+
capella: string;
|
|
8
|
+
deneb: string;
|
|
9
|
+
electra: string;
|
|
10
|
+
};
|
|
11
|
+
export type BeaconHeaderResponse = {
|
|
12
|
+
slot: number;
|
|
13
|
+
proposer_index: number;
|
|
14
|
+
parent_root: Hex;
|
|
15
|
+
state_root: Hex;
|
|
16
|
+
body_root: Hex;
|
|
17
|
+
};
|
|
18
|
+
export declare const createPubkeyWCProof: (validatorNode: Node) => Promise<{
|
|
19
|
+
proof: SingleProof;
|
|
20
|
+
}>;
|
|
21
|
+
export declare const createStateProof: (validatorIndex: number, bodyBytes: ArrayBuffer, forkName: keyof typeof SupportedFork) => Promise<{
|
|
22
|
+
proof: SingleProof;
|
|
23
|
+
validator: Validator;
|
|
24
|
+
view: View;
|
|
25
|
+
}>;
|
|
26
|
+
export declare const createBeaconHeaderProof: (beaconHeader: BeaconHeaderResponse) => Promise<{
|
|
27
|
+
proof: SingleProof;
|
|
28
|
+
root: `0x${string}`;
|
|
29
|
+
}>;
|
|
30
|
+
export {};
|