@lodestar/beacon-node 1.39.0-dev.3bf4734ba9 → 1.39.0-dev.46c9c672fd
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 +1 -1
- package/lib/api/impl/beacon/blocks/utils.js +1 -1
- package/lib/api/impl/beacon/blocks/utils.js.map +1 -1
- package/lib/chain/blocks/verifyBlock.d.ts.map +1 -1
- package/lib/chain/blocks/verifyBlock.js +1 -1
- package/lib/chain/blocks/verifyBlock.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +1 -1
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +4 -2
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksSignatures.d.ts +2 -1
- package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +1 -1
- package/lib/chain/blocks/verifyBlocksSignatures.js +3 -2
- package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
- package/lib/chain/chain.d.ts +8 -12
- package/lib/chain/chain.d.ts.map +1 -1
- package/lib/chain/chain.js +23 -47
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/forkChoice/index.d.ts.map +1 -1
- package/lib/chain/forkChoice/index.js +3 -3
- package/lib/chain/forkChoice/index.js.map +1 -1
- package/lib/chain/initState.d.ts +1 -14
- package/lib/chain/initState.d.ts.map +1 -1
- package/lib/chain/initState.js +1 -62
- package/lib/chain/initState.js.map +1 -1
- package/lib/chain/interface.d.ts +4 -9
- package/lib/chain/interface.d.ts.map +1 -1
- package/lib/chain/interface.js.map +1 -1
- package/lib/chain/opPools/aggregatedAttestationPool.d.ts +4 -4
- package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
- package/lib/chain/opPools/aggregatedAttestationPool.js +4 -4
- package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
- package/lib/chain/opPools/opPool.d.ts +3 -0
- package/lib/chain/opPools/opPool.d.ts.map +1 -1
- package/lib/chain/opPools/opPool.js +9 -8
- package/lib/chain/opPools/opPool.js.map +1 -1
- package/lib/chain/prepareNextSlot.d.ts +0 -4
- package/lib/chain/prepareNextSlot.d.ts.map +1 -1
- package/lib/chain/prepareNextSlot.js +1 -21
- package/lib/chain/prepareNextSlot.js.map +1 -1
- package/lib/chain/produceBlock/produceBlockBody.d.ts +0 -1
- package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
- package/lib/chain/produceBlock/produceBlockBody.js +9 -12
- package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
- package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +4 -1
- package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +1 -1
- package/lib/chain/stateCache/persistentCheckpointsCache.js +4 -2
- package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
- package/lib/chain/validation/aggregateAndProof.js +9 -0
- package/lib/chain/validation/aggregateAndProof.js.map +1 -1
- package/lib/chain/validation/attesterSlashing.d.ts.map +1 -1
- package/lib/chain/validation/attesterSlashing.js +1 -1
- package/lib/chain/validation/attesterSlashing.js.map +1 -1
- package/lib/chain/validation/blobSidecar.d.ts.map +1 -1
- package/lib/chain/validation/blobSidecar.js +2 -3
- package/lib/chain/validation/blobSidecar.js.map +1 -1
- package/lib/chain/validation/block.d.ts.map +1 -1
- package/lib/chain/validation/block.js +3 -3
- package/lib/chain/validation/block.js.map +1 -1
- package/lib/chain/validation/blsToExecutionChange.d.ts.map +1 -1
- package/lib/chain/validation/blsToExecutionChange.js +10 -3
- package/lib/chain/validation/blsToExecutionChange.js.map +1 -1
- package/lib/chain/validation/dataColumnSidecar.d.ts.map +1 -1
- package/lib/chain/validation/dataColumnSidecar.js +2 -3
- package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
- package/lib/chain/validation/proposerSlashing.js +1 -1
- package/lib/chain/validation/proposerSlashing.js.map +1 -1
- package/lib/chain/validation/signatureSets/aggregateAndProof.js +1 -1
- package/lib/chain/validation/signatureSets/aggregateAndProof.js.map +1 -1
- package/lib/chain/validation/signatureSets/contributionAndProof.d.ts +2 -1
- package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +1 -1
- package/lib/chain/validation/signatureSets/contributionAndProof.js +2 -2
- package/lib/chain/validation/signatureSets/contributionAndProof.js.map +1 -1
- package/lib/chain/validation/signatureSets/syncCommittee.d.ts +2 -1
- package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +1 -1
- package/lib/chain/validation/signatureSets/syncCommittee.js +2 -2
- package/lib/chain/validation/signatureSets/syncCommittee.js.map +1 -1
- package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts +2 -1
- package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +1 -1
- package/lib/chain/validation/signatureSets/syncCommitteeContribution.js +2 -2
- package/lib/chain/validation/signatureSets/syncCommitteeContribution.js.map +1 -1
- package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts +2 -1
- package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +1 -1
- package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js +1 -2
- package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js.map +1 -1
- package/lib/chain/validation/syncCommittee.js +1 -1
- package/lib/chain/validation/syncCommittee.js.map +1 -1
- package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +1 -1
- package/lib/chain/validation/syncCommitteeContributionAndProof.js +3 -3
- package/lib/chain/validation/syncCommitteeContributionAndProof.js.map +1 -1
- package/lib/chain/validation/voluntaryExit.js +1 -1
- package/lib/chain/validation/voluntaryExit.js.map +1 -1
- package/lib/db/beacon.d.ts +3 -7
- package/lib/db/beacon.d.ts.map +1 -1
- package/lib/db/beacon.js +33 -12
- package/lib/db/beacon.js.map +1 -1
- package/lib/db/buckets.d.ts +12 -6
- package/lib/db/buckets.d.ts.map +1 -1
- package/lib/db/buckets.js +6 -1
- package/lib/db/buckets.js.map +1 -1
- package/lib/db/interface.d.ts +2 -7
- package/lib/db/interface.d.ts.map +1 -1
- package/lib/db/repositories/index.d.ts +0 -3
- package/lib/db/repositories/index.d.ts.map +1 -1
- package/lib/db/repositories/index.js +0 -3
- package/lib/db/repositories/index.js.map +1 -1
- package/lib/execution/engine/http.d.ts +1 -1
- package/lib/execution/engine/http.d.ts.map +1 -1
- package/lib/execution/engine/http.js +2 -3
- package/lib/execution/engine/http.js.map +1 -1
- package/lib/execution/engine/index.d.ts.map +1 -1
- package/lib/execution/engine/index.js +1 -1
- package/lib/execution/engine/index.js.map +1 -1
- package/lib/execution/engine/interface.d.ts +1 -1
- package/lib/execution/engine/interface.d.ts.map +1 -1
- package/lib/execution/engine/interface.js.map +1 -1
- package/lib/{eth1/provider → execution/engine}/jsonRpcHttpClient.d.ts +1 -1
- package/lib/execution/engine/jsonRpcHttpClient.d.ts.map +1 -0
- package/lib/execution/engine/jsonRpcHttpClient.js.map +1 -0
- package/lib/execution/engine/jwt.d.ts.map +1 -0
- package/lib/execution/engine/jwt.js.map +1 -0
- package/lib/execution/engine/mock.d.ts.map +1 -1
- package/lib/execution/engine/mock.js +1 -1
- package/lib/execution/engine/mock.js.map +1 -1
- package/lib/execution/engine/payloadIdCache.d.ts +1 -1
- package/lib/execution/engine/payloadIdCache.d.ts.map +1 -1
- package/lib/execution/engine/types.d.ts +1 -1
- package/lib/execution/engine/types.d.ts.map +1 -1
- package/lib/execution/engine/types.js +1 -1
- package/lib/execution/engine/types.js.map +1 -1
- package/lib/execution/engine/utils.d.ts +64 -2
- package/lib/execution/engine/utils.d.ts.map +1 -1
- package/lib/execution/engine/utils.js +91 -2
- package/lib/execution/engine/utils.js.map +1 -1
- package/lib/index.d.ts +1 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -2
- package/lib/index.js.map +1 -1
- package/lib/metrics/metrics/lodestar.d.ts +0 -35
- package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
- package/lib/metrics/metrics/lodestar.js +0 -90
- package/lib/metrics/metrics/lodestar.js.map +1 -1
- package/lib/network/core/events.d.ts +1 -1
- package/lib/network/core/events.d.ts.map +1 -1
- package/lib/network/core/events.js +1 -1
- package/lib/network/core/events.js.map +1 -1
- package/lib/network/events.d.ts +6 -1
- package/lib/network/events.d.ts.map +1 -1
- package/lib/network/events.js +7 -1
- package/lib/network/events.js.map +1 -1
- package/lib/network/peers/discover.d.ts.map +1 -1
- package/lib/network/peers/discover.js.map +1 -1
- package/lib/node/nodejs.d.ts +6 -3
- package/lib/node/nodejs.d.ts.map +1 -1
- package/lib/node/nodejs.js +13 -10
- package/lib/node/nodejs.js.map +1 -1
- package/lib/node/notifier.d.ts.map +1 -1
- package/lib/node/notifier.js +9 -6
- package/lib/node/notifier.js.map +1 -1
- package/lib/node/options.d.ts +0 -2
- package/lib/node/options.d.ts.map +1 -1
- package/lib/node/options.js +0 -2
- package/lib/node/options.js.map +1 -1
- package/lib/node/utils/interop/deposits.d.ts +2 -1
- package/lib/node/utils/interop/deposits.d.ts.map +1 -1
- package/lib/node/utils/interop/deposits.js.map +1 -1
- package/lib/node/utils/interop/state.d.ts +1 -1
- package/lib/node/utils/interop/state.d.ts.map +1 -1
- package/lib/node/utils/state.d.ts +1 -7
- package/lib/node/utils/state.d.ts.map +1 -1
- package/lib/node/utils/state.js +1 -14
- package/lib/node/utils/state.js.map +1 -1
- package/lib/sync/backfill/backfill.d.ts.map +1 -1
- package/lib/sync/backfill/backfill.js +2 -4
- package/lib/sync/backfill/backfill.js.map +1 -1
- package/lib/sync/backfill/verify.d.ts +2 -2
- package/lib/sync/backfill/verify.d.ts.map +1 -1
- package/lib/sync/backfill/verify.js +3 -3
- package/lib/sync/backfill/verify.js.map +1 -1
- package/lib/util/workerEvents.d.ts +1 -6
- package/lib/util/workerEvents.d.ts.map +1 -1
- package/lib/util/workerEvents.js +8 -8
- package/lib/util/workerEvents.js.map +1 -1
- package/package.json +28 -26
- package/src/api/impl/beacon/blocks/utils.ts +1 -1
- package/src/chain/blocks/verifyBlock.ts +1 -0
- package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +9 -2
- package/src/chain/blocks/verifyBlocksSignatures.ts +13 -3
- package/src/chain/chain.ts +33 -56
- package/src/chain/forkChoice/index.ts +3 -2
- package/src/chain/initState.ts +1 -97
- package/src/chain/interface.ts +4 -8
- package/src/chain/opPools/aggregatedAttestationPool.ts +7 -7
- package/src/chain/opPools/opPool.ts +8 -8
- package/src/chain/prepareNextSlot.ts +1 -28
- package/src/chain/produceBlock/produceBlockBody.ts +9 -13
- package/src/chain/stateCache/persistentCheckpointsCache.ts +15 -2
- package/src/chain/validation/aggregateAndProof.ts +12 -0
- package/src/chain/validation/attesterSlashing.ts +6 -1
- package/src/chain/validation/blobSidecar.ts +3 -3
- package/src/chain/validation/block.ts +3 -2
- package/src/chain/validation/blsToExecutionChange.ts +10 -8
- package/src/chain/validation/dataColumnSidecar.ts +3 -3
- package/src/chain/validation/proposerSlashing.ts +6 -1
- package/src/chain/validation/signatureSets/aggregateAndProof.ts +1 -1
- package/src/chain/validation/signatureSets/contributionAndProof.ts +3 -1
- package/src/chain/validation/signatureSets/syncCommittee.ts +3 -1
- package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +3 -1
- package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +2 -1
- package/src/chain/validation/syncCommittee.ts +1 -1
- package/src/chain/validation/syncCommitteeContributionAndProof.ts +8 -3
- package/src/chain/validation/voluntaryExit.ts +1 -1
- package/src/db/beacon.ts +38 -16
- package/src/db/buckets.ts +12 -7
- package/src/db/interface.ts +2 -13
- package/src/db/repositories/index.ts +0 -3
- package/src/execution/engine/http.ts +8 -9
- package/src/execution/engine/index.ts +1 -1
- package/src/execution/engine/interface.ts +1 -1
- package/src/{eth1/provider → execution/engine}/jsonRpcHttpClient.ts +1 -1
- package/src/execution/engine/mock.ts +1 -2
- package/src/execution/engine/payloadIdCache.ts +1 -1
- package/src/execution/engine/types.ts +9 -9
- package/src/execution/engine/utils.ts +111 -5
- package/src/index.ts +1 -2
- package/src/metrics/metrics/lodestar.ts +0 -92
- package/src/network/core/events.ts +1 -1
- package/src/network/events.ts +7 -1
- package/src/network/peers/discover.ts +3 -3
- package/src/node/nodejs.ts +20 -11
- package/src/node/notifier.ts +13 -7
- package/src/node/options.ts +0 -3
- package/src/node/utils/interop/deposits.ts +3 -1
- package/src/node/utils/interop/state.ts +1 -1
- package/src/node/utils/state.ts +3 -18
- package/src/sync/backfill/backfill.ts +2 -9
- package/src/sync/backfill/verify.ts +3 -8
- package/src/util/workerEvents.ts +9 -8
- package/lib/chain/genesis/genesis.d.ts +0 -51
- package/lib/chain/genesis/genesis.d.ts.map +0 -1
- package/lib/chain/genesis/genesis.js +0 -123
- package/lib/chain/genesis/genesis.js.map +0 -1
- package/lib/chain/genesis/interface.d.ts +0 -13
- package/lib/chain/genesis/interface.d.ts.map +0 -1
- package/lib/chain/genesis/interface.js +0 -2
- package/lib/chain/genesis/interface.js.map +0 -1
- package/lib/chain/rewards/attestationsRewards.d.ts +0 -7
- package/lib/chain/rewards/attestationsRewards.d.ts.map +0 -1
- package/lib/chain/rewards/attestationsRewards.js +0 -112
- package/lib/chain/rewards/attestationsRewards.js.map +0 -1
- package/lib/chain/rewards/blockRewards.d.ts +0 -14
- package/lib/chain/rewards/blockRewards.d.ts.map +0 -1
- package/lib/chain/rewards/blockRewards.js +0 -94
- package/lib/chain/rewards/blockRewards.js.map +0 -1
- package/lib/chain/rewards/syncCommitteeRewards.d.ts +0 -6
- package/lib/chain/rewards/syncCommitteeRewards.d.ts.map +0 -1
- package/lib/chain/rewards/syncCommitteeRewards.js +0 -36
- package/lib/chain/rewards/syncCommitteeRewards.js.map +0 -1
- package/lib/db/repositories/depositDataRoot.d.ts +0 -22
- package/lib/db/repositories/depositDataRoot.d.ts.map +0 -1
- package/lib/db/repositories/depositDataRoot.js +0 -62
- package/lib/db/repositories/depositDataRoot.js.map +0 -1
- package/lib/db/repositories/depositEvent.d.ts +0 -13
- package/lib/db/repositories/depositEvent.d.ts.map +0 -1
- package/lib/db/repositories/depositEvent.js +0 -27
- package/lib/db/repositories/depositEvent.js.map +0 -1
- package/lib/db/repositories/eth1Data.d.ts +0 -13
- package/lib/db/repositories/eth1Data.d.ts.map +0 -1
- package/lib/db/repositories/eth1Data.js +0 -26
- package/lib/db/repositories/eth1Data.js.map +0 -1
- package/lib/db/single/index.d.ts +0 -3
- package/lib/db/single/index.d.ts.map +0 -1
- package/lib/db/single/index.js +0 -3
- package/lib/db/single/index.js.map +0 -1
- package/lib/db/single/preGenesisState.d.ts +0 -16
- package/lib/db/single/preGenesisState.d.ts.map +0 -1
- package/lib/db/single/preGenesisState.js +0 -29
- package/lib/db/single/preGenesisState.js.map +0 -1
- package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts +0 -14
- package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts.map +0 -1
- package/lib/db/single/preGenesisStateLastProcessedBlock.js +0 -27
- package/lib/db/single/preGenesisStateLastProcessedBlock.js.map +0 -1
- package/lib/eth1/errors.d.ts +0 -66
- package/lib/eth1/errors.d.ts.map +0 -1
- package/lib/eth1/errors.js +0 -27
- package/lib/eth1/errors.js.map +0 -1
- package/lib/eth1/eth1DataCache.d.ts +0 -19
- package/lib/eth1/eth1DataCache.d.ts.map +0 -1
- package/lib/eth1/eth1DataCache.js +0 -19
- package/lib/eth1/eth1DataCache.js.map +0 -1
- package/lib/eth1/eth1DepositDataTracker.d.ts +0 -80
- package/lib/eth1/eth1DepositDataTracker.d.ts.map +0 -1
- package/lib/eth1/eth1DepositDataTracker.js +0 -317
- package/lib/eth1/eth1DepositDataTracker.js.map +0 -1
- package/lib/eth1/eth1DepositsCache.d.ts +0 -42
- package/lib/eth1/eth1DepositsCache.d.ts.map +0 -1
- package/lib/eth1/eth1DepositsCache.js +0 -119
- package/lib/eth1/eth1DepositsCache.js.map +0 -1
- package/lib/eth1/index.d.ts +0 -31
- package/lib/eth1/index.d.ts.map +0 -1
- package/lib/eth1/index.js +0 -71
- package/lib/eth1/index.js.map +0 -1
- package/lib/eth1/interface.d.ts +0 -74
- package/lib/eth1/interface.d.ts.map +0 -1
- package/lib/eth1/interface.js +0 -8
- package/lib/eth1/interface.js.map +0 -1
- package/lib/eth1/options.d.ts +0 -22
- package/lib/eth1/options.d.ts.map +0 -1
- package/lib/eth1/options.js +0 -8
- package/lib/eth1/options.js.map +0 -1
- package/lib/eth1/provider/eth1Provider.d.ts +0 -39
- package/lib/eth1/provider/eth1Provider.d.ts.map +0 -1
- package/lib/eth1/provider/eth1Provider.js +0 -147
- package/lib/eth1/provider/eth1Provider.js.map +0 -1
- package/lib/eth1/provider/jsonRpcHttpClient.d.ts.map +0 -1
- package/lib/eth1/provider/jsonRpcHttpClient.js.map +0 -1
- package/lib/eth1/provider/jwt.d.ts.map +0 -1
- package/lib/eth1/provider/jwt.js.map +0 -1
- package/lib/eth1/provider/utils.d.ts +0 -65
- package/lib/eth1/provider/utils.d.ts.map +0 -1
- package/lib/eth1/provider/utils.js +0 -120
- package/lib/eth1/provider/utils.js.map +0 -1
- package/lib/eth1/stream.d.ts +0 -15
- package/lib/eth1/stream.d.ts.map +0 -1
- package/lib/eth1/stream.js +0 -54
- package/lib/eth1/stream.js.map +0 -1
- package/lib/eth1/utils/depositContract.d.ts +0 -14
- package/lib/eth1/utils/depositContract.d.ts.map +0 -1
- package/lib/eth1/utils/depositContract.js +0 -33
- package/lib/eth1/utils/depositContract.js.map +0 -1
- package/lib/eth1/utils/deposits.d.ts +0 -8
- package/lib/eth1/utils/deposits.d.ts.map +0 -1
- package/lib/eth1/utils/deposits.js +0 -47
- package/lib/eth1/utils/deposits.js.map +0 -1
- package/lib/eth1/utils/eth1Data.d.ts +0 -22
- package/lib/eth1/utils/eth1Data.d.ts.map +0 -1
- package/lib/eth1/utils/eth1Data.js +0 -77
- package/lib/eth1/utils/eth1Data.js.map +0 -1
- package/lib/eth1/utils/eth1DepositEvent.d.ts +0 -7
- package/lib/eth1/utils/eth1DepositEvent.d.ts.map +0 -1
- package/lib/eth1/utils/eth1DepositEvent.js +0 -13
- package/lib/eth1/utils/eth1DepositEvent.js.map +0 -1
- package/lib/eth1/utils/eth1Vote.d.ts +0 -17
- package/lib/eth1/utils/eth1Vote.d.ts.map +0 -1
- package/lib/eth1/utils/eth1Vote.js +0 -111
- package/lib/eth1/utils/eth1Vote.js.map +0 -1
- package/lib/eth1/utils/groupDepositEventsByBlock.d.ts +0 -9
- package/lib/eth1/utils/groupDepositEventsByBlock.d.ts.map +0 -1
- package/lib/eth1/utils/groupDepositEventsByBlock.js +0 -17
- package/lib/eth1/utils/groupDepositEventsByBlock.js.map +0 -1
- package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts +0 -10
- package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts.map +0 -1
- package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.js +0 -14
- package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.js.map +0 -1
- package/src/chain/genesis/genesis.ts +0 -190
- package/src/chain/genesis/interface.ts +0 -14
- package/src/chain/rewards/attestationsRewards.ts +0 -197
- package/src/chain/rewards/blockRewards.ts +0 -150
- package/src/chain/rewards/syncCommitteeRewards.ts +0 -58
- package/src/db/repositories/depositDataRoot.ts +0 -80
- package/src/db/repositories/depositEvent.ts +0 -32
- package/src/db/repositories/eth1Data.ts +0 -33
- package/src/db/single/index.ts +0 -2
- package/src/db/single/preGenesisState.ts +0 -37
- package/src/db/single/preGenesisStateLastProcessedBlock.ts +0 -34
- package/src/eth1/errors.ts +0 -40
- package/src/eth1/eth1DataCache.ts +0 -26
- package/src/eth1/eth1DepositDataTracker.ts +0 -410
- package/src/eth1/eth1DepositsCache.ts +0 -141
- package/src/eth1/index.ts +0 -94
- package/src/eth1/interface.ts +0 -87
- package/src/eth1/options.ts +0 -28
- package/src/eth1/provider/eth1Provider.ts +0 -229
- package/src/eth1/provider/utils.ts +0 -136
- package/src/eth1/stream.ts +0 -75
- package/src/eth1/utils/depositContract.ts +0 -37
- package/src/eth1/utils/deposits.ts +0 -70
- package/src/eth1/utils/eth1Data.ts +0 -100
- package/src/eth1/utils/eth1DepositEvent.ts +0 -12
- package/src/eth1/utils/eth1Vote.ts +0 -142
- package/src/eth1/utils/groupDepositEventsByBlock.ts +0 -19
- package/src/eth1/utils/optimizeNextBlockDiffForGenesis.ts +0 -18
- /package/lib/{eth1/provider → execution/engine}/jsonRpcHttpClient.js +0 -0
- /package/lib/{eth1/provider → execution/engine}/jwt.d.ts +0 -0
- /package/lib/{eth1/provider → execution/engine}/jwt.js +0 -0
- /package/src/{eth1/provider → execution/engine}/jwt.ts +0 -0
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import { EFFECTIVE_BALANCE_INCREMENT, ForkName, INACTIVITY_PENALTY_QUOTIENT_ALTAIR, MAX_EFFECTIVE_BALANCE, MAX_EFFECTIVE_BALANCE_ELECTRA, PARTICIPATION_FLAG_WEIGHTS, TIMELY_HEAD_FLAG_INDEX, TIMELY_SOURCE_FLAG_INDEX, TIMELY_TARGET_FLAG_INDEX, WEIGHT_DENOMINATOR, isForkPostElectra, } from "@lodestar/params";
|
|
2
|
-
import { FLAG_ELIGIBLE_ATTESTER, FLAG_PREV_HEAD_ATTESTER_UNSLASHED, FLAG_PREV_SOURCE_ATTESTER_UNSLASHED, FLAG_PREV_TARGET_ATTESTER_UNSLASHED, beforeProcessEpoch, hasMarkers, isInInactivityLeak, } from "@lodestar/state-transition";
|
|
3
|
-
import { fromHex } from "@lodestar/utils";
|
|
4
|
-
const defaultAttestationsReward = { head: 0, target: 0, source: 0, inclusionDelay: 0, inactivity: 0 };
|
|
5
|
-
const defaultAttestationsPenalty = { target: 0, source: 0 };
|
|
6
|
-
export async function computeAttestationsRewards(pubkey2index, state, validatorIds) {
|
|
7
|
-
const fork = state.config.getForkName(state.slot);
|
|
8
|
-
if (fork === ForkName.phase0) {
|
|
9
|
-
throw Error("Unsupported fork. Attestations rewards calculation is not available in phase0");
|
|
10
|
-
}
|
|
11
|
-
const stateAltair = state;
|
|
12
|
-
const transitionCache = beforeProcessEpoch(stateAltair);
|
|
13
|
-
const [idealRewards, penalties] = computeIdealAttestationsRewardsAndPenaltiesAltair(stateAltair, transitionCache);
|
|
14
|
-
const totalRewards = computeTotalAttestationsRewardsAltair(pubkey2index, stateAltair, transitionCache, idealRewards, penalties, validatorIds);
|
|
15
|
-
return { idealRewards, totalRewards };
|
|
16
|
-
}
|
|
17
|
-
function computeIdealAttestationsRewardsAndPenaltiesAltair(state, transitionCache) {
|
|
18
|
-
const baseRewardPerIncrement = transitionCache.baseRewardPerIncrement;
|
|
19
|
-
const activeBalanceByIncrement = transitionCache.totalActiveStakeByIncrement;
|
|
20
|
-
const fork = state.config.getForkName(state.slot);
|
|
21
|
-
const maxEffectiveBalance = isForkPostElectra(fork) ? MAX_EFFECTIVE_BALANCE_ELECTRA : MAX_EFFECTIVE_BALANCE;
|
|
22
|
-
const maxEffectiveBalanceByIncrement = Math.floor(maxEffectiveBalance / EFFECTIVE_BALANCE_INCREMENT);
|
|
23
|
-
const idealRewards = Array.from({ length: maxEffectiveBalanceByIncrement + 1 }, (_, effectiveBalanceByIncrement) => ({
|
|
24
|
-
...defaultAttestationsReward,
|
|
25
|
-
effectiveBalance: effectiveBalanceByIncrement * EFFECTIVE_BALANCE_INCREMENT,
|
|
26
|
-
}));
|
|
27
|
-
const attestationsPenalties = Array.from({ length: maxEffectiveBalanceByIncrement + 1 }, (_, effectiveBalanceByIncrement) => ({
|
|
28
|
-
...defaultAttestationsPenalty,
|
|
29
|
-
effectiveBalance: effectiveBalanceByIncrement * EFFECTIVE_BALANCE_INCREMENT,
|
|
30
|
-
}));
|
|
31
|
-
for (let i = 0; i < PARTICIPATION_FLAG_WEIGHTS.length; i++) {
|
|
32
|
-
const weight = PARTICIPATION_FLAG_WEIGHTS[i];
|
|
33
|
-
let unslashedStakeByIncrement;
|
|
34
|
-
let flagName;
|
|
35
|
-
switch (i) {
|
|
36
|
-
case TIMELY_SOURCE_FLAG_INDEX: {
|
|
37
|
-
unslashedStakeByIncrement = transitionCache.prevEpochUnslashedStake.sourceStakeByIncrement;
|
|
38
|
-
flagName = "source";
|
|
39
|
-
break;
|
|
40
|
-
}
|
|
41
|
-
case TIMELY_TARGET_FLAG_INDEX: {
|
|
42
|
-
unslashedStakeByIncrement = transitionCache.prevEpochUnslashedStake.targetStakeByIncrement;
|
|
43
|
-
flagName = "target";
|
|
44
|
-
break;
|
|
45
|
-
}
|
|
46
|
-
case TIMELY_HEAD_FLAG_INDEX: {
|
|
47
|
-
unslashedStakeByIncrement = transitionCache.prevEpochUnslashedStake.headStakeByIncrement;
|
|
48
|
-
flagName = "head";
|
|
49
|
-
break;
|
|
50
|
-
}
|
|
51
|
-
default: {
|
|
52
|
-
throw Error(`Unable to retrieve unslashed stake. Unknown participation flag index: ${i}`);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
for (let effectiveBalanceByIncrement = 0; effectiveBalanceByIncrement <= maxEffectiveBalanceByIncrement; effectiveBalanceByIncrement++) {
|
|
56
|
-
const baseReward = effectiveBalanceByIncrement * baseRewardPerIncrement;
|
|
57
|
-
const rewardNumerator = baseReward * weight * unslashedStakeByIncrement;
|
|
58
|
-
// Both idealReward and penalty are rounded to nearest integer. Loss of precision is minimal as unit is gwei
|
|
59
|
-
const idealReward = Math.round(rewardNumerator / activeBalanceByIncrement / WEIGHT_DENOMINATOR);
|
|
60
|
-
const penalty = Math.round((baseReward * weight) / WEIGHT_DENOMINATOR); // Positive number indicates penalty
|
|
61
|
-
const idealAttestationsReward = idealRewards[effectiveBalanceByIncrement];
|
|
62
|
-
idealAttestationsReward[flagName] = isInInactivityLeak(state) ? 0 : idealReward; // No attestations rewards during inactivity leak
|
|
63
|
-
if (flagName !== "head") {
|
|
64
|
-
const attestationPenalty = attestationsPenalties[effectiveBalanceByIncrement];
|
|
65
|
-
attestationPenalty[flagName] = penalty;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
return [idealRewards, attestationsPenalties];
|
|
70
|
-
}
|
|
71
|
-
// Same calculation as `getRewardsAndPenaltiesAltair` but returns the breakdown of rewards instead of aggregated
|
|
72
|
-
function computeTotalAttestationsRewardsAltair(pubkey2index, state, transitionCache, idealRewards, penalties, validatorIds = []) {
|
|
73
|
-
const rewards = [];
|
|
74
|
-
const { flags } = transitionCache;
|
|
75
|
-
const { epochCtx, config } = state;
|
|
76
|
-
const validatorIndices = validatorIds
|
|
77
|
-
.map((id) => (typeof id === "number" ? id : pubkey2index.get(fromHex(id))))
|
|
78
|
-
.filter((index) => index !== undefined); // Validator indices to include in the result
|
|
79
|
-
const inactivityPenaltyDenominator = config.INACTIVITY_SCORE_BIAS * INACTIVITY_PENALTY_QUOTIENT_ALTAIR;
|
|
80
|
-
for (let i = 0; i < flags.length; i++) {
|
|
81
|
-
if (validatorIndices.length && !validatorIndices.includes(i)) {
|
|
82
|
-
continue;
|
|
83
|
-
}
|
|
84
|
-
const flag = flags[i];
|
|
85
|
-
if (!hasMarkers(flag, FLAG_ELIGIBLE_ATTESTER)) {
|
|
86
|
-
continue;
|
|
87
|
-
}
|
|
88
|
-
const effectiveBalanceIncrement = epochCtx.effectiveBalanceIncrements[i];
|
|
89
|
-
const currentRewards = { ...defaultAttestationsReward, validatorIndex: i };
|
|
90
|
-
if (hasMarkers(flag, FLAG_PREV_SOURCE_ATTESTER_UNSLASHED)) {
|
|
91
|
-
currentRewards.source = idealRewards[effectiveBalanceIncrement].source;
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
currentRewards.source = penalties[effectiveBalanceIncrement].source * -1; // Negative reward to indicate penalty
|
|
95
|
-
}
|
|
96
|
-
if (hasMarkers(flag, FLAG_PREV_TARGET_ATTESTER_UNSLASHED)) {
|
|
97
|
-
currentRewards.target = idealRewards[effectiveBalanceIncrement].target;
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
100
|
-
currentRewards.target = penalties[effectiveBalanceIncrement].target * -1;
|
|
101
|
-
// Also incur inactivity penalty if not voting target correctly
|
|
102
|
-
const inactivityPenaltyNumerator = effectiveBalanceIncrement * EFFECTIVE_BALANCE_INCREMENT * state.inactivityScores.get(i);
|
|
103
|
-
currentRewards.inactivity = Math.floor(inactivityPenaltyNumerator / inactivityPenaltyDenominator) * -1;
|
|
104
|
-
}
|
|
105
|
-
if (hasMarkers(flag, FLAG_PREV_HEAD_ATTESTER_UNSLASHED)) {
|
|
106
|
-
currentRewards.head = idealRewards[effectiveBalanceIncrement].head;
|
|
107
|
-
}
|
|
108
|
-
rewards.push(currentRewards);
|
|
109
|
-
}
|
|
110
|
-
return rewards;
|
|
111
|
-
}
|
|
112
|
-
//# sourceMappingURL=attestationsRewards.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"attestationsRewards.js","sourceRoot":"","sources":["../../../src/chain/rewards/attestationsRewards.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { routes } from "@lodestar/api";
|
|
2
|
-
import { CachedBeaconStateAllForks } from "@lodestar/state-transition";
|
|
3
|
-
import { BeaconBlock } from "@lodestar/types";
|
|
4
|
-
export type BlockRewards = routes.beacon.BlockRewards;
|
|
5
|
-
/**
|
|
6
|
-
* Calculate total proposer block rewards given block and the beacon state of the same slot before the block is applied (preState)
|
|
7
|
-
* postState can be passed in to read reward cache if available
|
|
8
|
-
* Standard (Non MEV) rewards for proposing a block consists of:
|
|
9
|
-
* 1) Including attestations from (beacon) committee
|
|
10
|
-
* 2) Including attestations from sync committee
|
|
11
|
-
* 3) Reporting slashable behaviours from proposer and attester
|
|
12
|
-
*/
|
|
13
|
-
export declare function computeBlockRewards(block: BeaconBlock, preState: CachedBeaconStateAllForks, postState?: CachedBeaconStateAllForks): Promise<BlockRewards>;
|
|
14
|
-
//# sourceMappingURL=blockRewards.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"blockRewards.d.ts","sourceRoot":"","sources":["../../../src/chain/rewards/blockRewards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAOrC,OAAO,EACL,yBAAyB,EAK1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,WAAW,EAAiB,MAAM,iBAAiB,CAAC;AAE5D,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;AAGtD;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,yBAAyB,EACnC,SAAS,CAAC,EAAE,yBAAyB,GACpC,OAAO,CAAC,YAAY,CAAC,CAgCvB"}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { ForkName, WHISTLEBLOWER_REWARD_QUOTIENT, WHISTLEBLOWER_REWARD_QUOTIENT_ELECTRA, isForkPostElectra, } from "@lodestar/params";
|
|
2
|
-
import { getAttesterSlashableIndices, processAttestationsAltair, } from "@lodestar/state-transition";
|
|
3
|
-
/**
|
|
4
|
-
* Calculate total proposer block rewards given block and the beacon state of the same slot before the block is applied (preState)
|
|
5
|
-
* postState can be passed in to read reward cache if available
|
|
6
|
-
* Standard (Non MEV) rewards for proposing a block consists of:
|
|
7
|
-
* 1) Including attestations from (beacon) committee
|
|
8
|
-
* 2) Including attestations from sync committee
|
|
9
|
-
* 3) Reporting slashable behaviours from proposer and attester
|
|
10
|
-
*/
|
|
11
|
-
export async function computeBlockRewards(block, preState, postState) {
|
|
12
|
-
const fork = preState.config.getForkName(block.slot);
|
|
13
|
-
const { attestations: cachedAttestationsReward = 0, syncAggregate: cachedSyncAggregateReward = 0 } = postState?.proposerRewards ?? {};
|
|
14
|
-
let blockAttestationReward = cachedAttestationsReward;
|
|
15
|
-
let syncAggregateReward = cachedSyncAggregateReward;
|
|
16
|
-
if (blockAttestationReward === 0) {
|
|
17
|
-
blockAttestationReward =
|
|
18
|
-
fork === ForkName.phase0
|
|
19
|
-
? computeBlockAttestationRewardPhase0(block, preState)
|
|
20
|
-
: computeBlockAttestationRewardAltair(block, preState);
|
|
21
|
-
}
|
|
22
|
-
if (syncAggregateReward === 0) {
|
|
23
|
-
syncAggregateReward = computeSyncAggregateReward(block, preState);
|
|
24
|
-
}
|
|
25
|
-
const blockProposerSlashingReward = computeBlockProposerSlashingReward(fork, block, preState);
|
|
26
|
-
const blockAttesterSlashingReward = computeBlockAttesterSlashingReward(fork, block, preState);
|
|
27
|
-
const total = blockAttestationReward + syncAggregateReward + blockProposerSlashingReward + blockAttesterSlashingReward;
|
|
28
|
-
return {
|
|
29
|
-
proposerIndex: block.proposerIndex,
|
|
30
|
-
total,
|
|
31
|
-
attestations: blockAttestationReward,
|
|
32
|
-
syncAggregate: syncAggregateReward,
|
|
33
|
-
proposerSlashings: blockProposerSlashingReward,
|
|
34
|
-
attesterSlashings: blockAttesterSlashingReward,
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* TODO: Calculate rewards received by block proposer for including attestations.
|
|
39
|
-
*/
|
|
40
|
-
function computeBlockAttestationRewardPhase0(_block, _preState) {
|
|
41
|
-
throw new Error("Unsupported fork! Block attestation reward calculation is not available in phase0");
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Calculate rewards received by block proposer for including attestations since Altair.
|
|
45
|
-
* Reuses `processAttestationsAltair()`. Has dependency on RewardCache
|
|
46
|
-
*/
|
|
47
|
-
function computeBlockAttestationRewardAltair(block, preState) {
|
|
48
|
-
const fork = preState.config.getForkSeq(block.slot);
|
|
49
|
-
const { attestations } = block.body;
|
|
50
|
-
processAttestationsAltair(fork, preState, attestations, false);
|
|
51
|
-
return preState.proposerRewards.attestations;
|
|
52
|
-
}
|
|
53
|
-
function computeSyncAggregateReward(block, preState) {
|
|
54
|
-
if (block.body.syncAggregate !== undefined) {
|
|
55
|
-
const { syncCommitteeBits } = block.body.syncAggregate;
|
|
56
|
-
const { syncProposerReward } = preState.epochCtx;
|
|
57
|
-
return syncCommitteeBits.getTrueBitIndexes().length * Math.floor(syncProposerReward); // syncProposerReward should already be integer
|
|
58
|
-
}
|
|
59
|
-
return 0; // phase0 block does not have syncAggregate
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Calculate rewards received by block proposer for including proposer slashings.
|
|
63
|
-
* All proposer slashing rewards go to block proposer and none to whistleblower as of Deneb
|
|
64
|
-
*/
|
|
65
|
-
function computeBlockProposerSlashingReward(fork, block, state) {
|
|
66
|
-
let proposerSlashingReward = 0;
|
|
67
|
-
for (const proposerSlashing of block.body.proposerSlashings) {
|
|
68
|
-
const offendingProposerIndex = proposerSlashing.signedHeader1.message.proposerIndex;
|
|
69
|
-
const offendingProposerBalance = state.validators.getReadonly(offendingProposerIndex).effectiveBalance;
|
|
70
|
-
const whistleblowerRewardQuotient = isForkPostElectra(fork)
|
|
71
|
-
? WHISTLEBLOWER_REWARD_QUOTIENT_ELECTRA
|
|
72
|
-
: WHISTLEBLOWER_REWARD_QUOTIENT;
|
|
73
|
-
proposerSlashingReward += Math.floor(offendingProposerBalance / whistleblowerRewardQuotient);
|
|
74
|
-
}
|
|
75
|
-
return proposerSlashingReward;
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Calculate rewards received by block proposer for including attester slashings.
|
|
79
|
-
* All attester slashing rewards go to block proposer and none to whistleblower as of Deneb
|
|
80
|
-
*/
|
|
81
|
-
function computeBlockAttesterSlashingReward(fork, block, preState) {
|
|
82
|
-
let attesterSlashingReward = 0;
|
|
83
|
-
for (const attesterSlashing of block.body.attesterSlashings) {
|
|
84
|
-
for (const offendingAttesterIndex of getAttesterSlashableIndices(attesterSlashing)) {
|
|
85
|
-
const offendingAttesterBalance = preState.validators.getReadonly(offendingAttesterIndex).effectiveBalance;
|
|
86
|
-
const whistleblowerRewardQuotient = isForkPostElectra(fork)
|
|
87
|
-
? WHISTLEBLOWER_REWARD_QUOTIENT_ELECTRA
|
|
88
|
-
: WHISTLEBLOWER_REWARD_QUOTIENT;
|
|
89
|
-
attesterSlashingReward += Math.floor(offendingAttesterBalance / whistleblowerRewardQuotient);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
return attesterSlashingReward;
|
|
93
|
-
}
|
|
94
|
-
//# sourceMappingURL=blockRewards.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"blockRewards.js","sourceRoot":"","sources":["../../../src/chain/rewards/blockRewards.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { routes } from "@lodestar/api";
|
|
2
|
-
import { CachedBeaconStateAllForks, Index2PubkeyCache } from "@lodestar/state-transition";
|
|
3
|
-
import { BeaconBlock, ValidatorIndex } from "@lodestar/types";
|
|
4
|
-
export type SyncCommitteeRewards = routes.beacon.SyncCommitteeRewards;
|
|
5
|
-
export declare function computeSyncCommitteeRewards(index2pubkey: Index2PubkeyCache, block: BeaconBlock, preState: CachedBeaconStateAllForks, validatorIds?: (ValidatorIndex | string)[]): Promise<SyncCommitteeRewards>;
|
|
6
|
-
//# sourceMappingURL=syncCommitteeRewards.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"syncCommitteeRewards.d.ts","sourceRoot":"","sources":["../../../src/chain/rewards/syncCommitteeRewards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAErC,OAAO,EAAC,yBAAyB,EAA2B,iBAAiB,EAAC,MAAM,4BAA4B,CAAC;AACjH,OAAO,EAAC,WAAW,EAAE,cAAc,EAAS,MAAM,iBAAiB,CAAC;AAEpE,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC;AAGtE,wBAAsB,2BAA2B,CAC/C,YAAY,EAAE,iBAAiB,EAC/B,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,yBAAyB,EACnC,YAAY,GAAE,CAAC,cAAc,GAAG,MAAM,CAAC,EAAO,GAC7C,OAAO,CAAC,oBAAoB,CAAC,CA4C/B"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { ForkName, SYNC_COMMITTEE_SIZE } from "@lodestar/params";
|
|
2
|
-
export async function computeSyncCommitteeRewards(index2pubkey, block, preState, validatorIds = []) {
|
|
3
|
-
const fork = preState.config.getForkName(block.slot);
|
|
4
|
-
if (fork === ForkName.phase0) {
|
|
5
|
-
throw Error("Cannot get sync rewards as phase0 block does not have sync committee");
|
|
6
|
-
}
|
|
7
|
-
const altairBlock = block;
|
|
8
|
-
const preStateAltair = preState;
|
|
9
|
-
// Bound syncCommitteeValidatorIndices in case it goes beyond SYNC_COMMITTEE_SIZE just to be safe
|
|
10
|
-
const syncCommitteeValidatorIndices = preStateAltair.epochCtx.currentSyncCommitteeIndexed.validatorIndices.slice(0, SYNC_COMMITTEE_SIZE);
|
|
11
|
-
const { syncParticipantReward } = preStateAltair.epochCtx;
|
|
12
|
-
const { syncCommitteeBits } = altairBlock.body.syncAggregate;
|
|
13
|
-
// Use balance of each committee as starting point such that we cap the penalty to avoid balance dropping below 0
|
|
14
|
-
const balances = new Map();
|
|
15
|
-
for (const i of syncCommitteeValidatorIndices) {
|
|
16
|
-
balances.set(i, { val: preStateAltair.balances.get(i) });
|
|
17
|
-
}
|
|
18
|
-
for (const i of syncCommitteeValidatorIndices) {
|
|
19
|
-
const balanceRecord = balances.get(i);
|
|
20
|
-
if (syncCommitteeBits.get(i)) {
|
|
21
|
-
// Positive rewards for participants
|
|
22
|
-
balanceRecord.val += syncParticipantReward;
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
// Negative rewards for non participants
|
|
26
|
-
balanceRecord.val = Math.max(0, balanceRecord.val - syncParticipantReward);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
const rewards = Array.from(balances, ([validatorIndex, v]) => ({ validatorIndex, reward: v.val }));
|
|
30
|
-
if (validatorIds.length) {
|
|
31
|
-
const filtersSet = new Set(validatorIds);
|
|
32
|
-
return rewards.filter((reward) => filtersSet.has(reward.validatorIndex) || filtersSet.has(index2pubkey[reward.validatorIndex].toHex()));
|
|
33
|
-
}
|
|
34
|
-
return rewards;
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=syncCommitteeRewards.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"syncCommitteeRewards.js","sourceRoot":"","sources":["../../../src/chain/rewards/syncCommitteeRewards.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAE,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AAO/D,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,YAA+B,EAC/B,KAAkB,EAClB,QAAmC,EACnC,eAA4C,EAAE;IAE9C,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,IAAI,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,KAAK,CAAC,sEAAsE,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,WAAW,GAAG,KAA2B,CAAC;IAChD,MAAM,cAAc,GAAG,QAAmC,CAAC;IAE3D,iGAAiG;IACjG,MAAM,6BAA6B,GAAG,cAAc,CAAC,QAAQ,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,KAAK,CAC9G,CAAC,EACD,mBAAmB,CACpB,CAAC;IACF,MAAM,EAAC,qBAAqB,EAAC,GAAG,cAAc,CAAC,QAAQ,CAAC;IACxD,MAAM,EAAC,iBAAiB,EAAC,GAAG,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC;IAE3D,iHAAiH;IACjH,MAAM,QAAQ,GAAuC,IAAI,GAAG,EAAE,CAAC;IAC/D,KAAK,MAAM,CAAC,IAAI,6BAA6B,EAAE,CAAC;QAC9C,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAC,GAAG,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,6BAA6B,EAAE,CAAC;QAC9C,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAkB,CAAC;QACvD,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,oCAAoC;YACpC,aAAa,CAAC,GAAG,IAAI,qBAAqB,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,wCAAwC;YACxC,aAAa,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,GAAG,GAAG,qBAAqB,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAC,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,EAAC,CAAC,CAAC,CAAC;IAEjG,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;QACzC,OAAO,OAAO,CAAC,MAAM,CACnB,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,CAAC,CACjH,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { ByteVectorType, CompositeViewDU, ListCompositeType } from "@chainsafe/ssz";
|
|
2
|
-
import { ChainForkConfig } from "@lodestar/config";
|
|
3
|
-
import { Db, KeyValue, Repository } from "@lodestar/db";
|
|
4
|
-
import { Root } from "@lodestar/types";
|
|
5
|
-
export type DepositTree = CompositeViewDU<ListCompositeType<ByteVectorType>>;
|
|
6
|
-
export declare class DepositDataRootRepository extends Repository<number, Root> {
|
|
7
|
-
private depositRootTree?;
|
|
8
|
-
constructor(config: ChainForkConfig, db: Db);
|
|
9
|
-
decodeKey(data: Buffer): number;
|
|
10
|
-
getId(_value: Root): number;
|
|
11
|
-
put(index: number, value: Root): Promise<void>;
|
|
12
|
-
batchPut(items: KeyValue<number, Root>[]): Promise<void>;
|
|
13
|
-
putList(roots: Root[]): Promise<void>;
|
|
14
|
-
batchPutValues(values: {
|
|
15
|
-
index: number;
|
|
16
|
-
root: Root;
|
|
17
|
-
}[]): Promise<void>;
|
|
18
|
-
getDepositRootTree(): Promise<DepositTree>;
|
|
19
|
-
getDepositRootTreeAtIndex(depositIndex: number): Promise<DepositTree>;
|
|
20
|
-
private depositRootTreeSet;
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=depositDataRoot.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"depositDataRoot.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/depositDataRoot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AACtD,OAAO,EAAC,IAAI,EAAM,MAAM,iBAAiB,CAAC;AAK1C,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC;AAE7E,qBAAa,yBAA0B,SAAQ,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC;IACrE,OAAO,CAAC,eAAe,CAAC,CAAc;gBAE1B,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE;IAK3C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAK/B,KAAK,CAAC,MAAM,EAAE,IAAI,GAAG,MAAM;IAIrB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9C,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxD,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrC,cAAc,CAAC,MAAM,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IASpE,kBAAkB,IAAI,OAAO,CAAC,WAAW,CAAC;IAQ1C,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;YAK7D,kBAAkB;CAcjC"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { Repository } from "@lodestar/db";
|
|
2
|
-
import { ssz } from "@lodestar/types";
|
|
3
|
-
import { bytesToInt } from "@lodestar/utils";
|
|
4
|
-
import { Bucket, getBucketNameByValue } from "../buckets.js";
|
|
5
|
-
export class DepositDataRootRepository extends Repository {
|
|
6
|
-
depositRootTree;
|
|
7
|
-
constructor(config, db) {
|
|
8
|
-
const bucket = Bucket.index_depositDataRoot;
|
|
9
|
-
super(config, db, bucket, ssz.Root, getBucketNameByValue(bucket));
|
|
10
|
-
}
|
|
11
|
-
decodeKey(data) {
|
|
12
|
-
return bytesToInt(super.decodeKey(data), "be");
|
|
13
|
-
}
|
|
14
|
-
// depositDataRoots stored by depositData index
|
|
15
|
-
getId(_value) {
|
|
16
|
-
throw new Error("Unable to create depositIndex from root");
|
|
17
|
-
}
|
|
18
|
-
async put(index, value) {
|
|
19
|
-
await super.put(index, value);
|
|
20
|
-
await this.depositRootTreeSet(index, value);
|
|
21
|
-
}
|
|
22
|
-
async batchPut(items) {
|
|
23
|
-
await super.batchPut(items);
|
|
24
|
-
for (const { key, value } of items) {
|
|
25
|
-
await this.depositRootTreeSet(key, value);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
async putList(roots) {
|
|
29
|
-
await this.batchPut(roots.map((root, index) => ({ key: index, value: root })));
|
|
30
|
-
}
|
|
31
|
-
async batchPutValues(values) {
|
|
32
|
-
await this.batchPut(values.map(({ index, root }) => ({
|
|
33
|
-
key: index,
|
|
34
|
-
value: root,
|
|
35
|
-
})));
|
|
36
|
-
}
|
|
37
|
-
async getDepositRootTree() {
|
|
38
|
-
if (!this.depositRootTree) {
|
|
39
|
-
const values = await this.values();
|
|
40
|
-
this.depositRootTree = ssz.phase0.DepositDataRootList.toViewDU(values);
|
|
41
|
-
}
|
|
42
|
-
return this.depositRootTree;
|
|
43
|
-
}
|
|
44
|
-
async getDepositRootTreeAtIndex(depositIndex) {
|
|
45
|
-
const depositRootTree = await this.getDepositRootTree();
|
|
46
|
-
return depositRootTree.sliceTo(depositIndex);
|
|
47
|
-
}
|
|
48
|
-
async depositRootTreeSet(index, value) {
|
|
49
|
-
const depositRootTree = await this.getDepositRootTree();
|
|
50
|
-
// TODO: Review and fix properly
|
|
51
|
-
if (index > depositRootTree.length) {
|
|
52
|
-
throw Error(`Error setting depositRootTree index ${index} > length ${depositRootTree.length}`);
|
|
53
|
-
}
|
|
54
|
-
if (index === depositRootTree.length) {
|
|
55
|
-
depositRootTree.push(value);
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
depositRootTree.set(index, value);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=depositDataRoot.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"depositDataRoot.js","sourceRoot":"","sources":["../../../src/db/repositories/depositDataRoot.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ChainForkConfig } from "@lodestar/config";
|
|
2
|
-
import { Db, Repository } from "@lodestar/db";
|
|
3
|
-
import { phase0 } from "@lodestar/types";
|
|
4
|
-
/**
|
|
5
|
-
* DepositData indexed by deposit index
|
|
6
|
-
* Removed when included on chain or old
|
|
7
|
-
*/
|
|
8
|
-
export declare class DepositEventRepository extends Repository<number, phase0.DepositEvent> {
|
|
9
|
-
constructor(config: ChainForkConfig, db: Db);
|
|
10
|
-
deleteOld(depositCount: number): Promise<void>;
|
|
11
|
-
batchPutValues(depositEvents: phase0.DepositEvent[]): Promise<void>;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=depositEvent.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"depositEvent.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/depositEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAC,MAAM,EAAM,MAAM,iBAAiB,CAAC;AAG5C;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC;gBACrE,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE;IAKrC,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ9C,cAAc,CAAC,aAAa,EAAE,MAAM,CAAC,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAQ1E"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Repository } from "@lodestar/db";
|
|
2
|
-
import { ssz } from "@lodestar/types";
|
|
3
|
-
import { Bucket, getBucketNameByValue } from "../buckets.js";
|
|
4
|
-
/**
|
|
5
|
-
* DepositData indexed by deposit index
|
|
6
|
-
* Removed when included on chain or old
|
|
7
|
-
*/
|
|
8
|
-
export class DepositEventRepository extends Repository {
|
|
9
|
-
constructor(config, db) {
|
|
10
|
-
const bucket = Bucket.phase0_depositEvent;
|
|
11
|
-
super(config, db, bucket, ssz.phase0.DepositEvent, getBucketNameByValue(bucket));
|
|
12
|
-
}
|
|
13
|
-
async deleteOld(depositCount) {
|
|
14
|
-
const firstDepositIndex = await this.firstKey();
|
|
15
|
-
if (firstDepositIndex === null) {
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
await this.batchDelete(Array.from({ length: depositCount - firstDepositIndex }, (_, i) => i + firstDepositIndex));
|
|
19
|
-
}
|
|
20
|
-
async batchPutValues(depositEvents) {
|
|
21
|
-
await this.batchPut(depositEvents.map((depositEvent) => ({
|
|
22
|
-
key: depositEvent.index,
|
|
23
|
-
value: depositEvent,
|
|
24
|
-
})));
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=depositEvent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"depositEvent.js","sourceRoot":"","sources":["../../../src/db/repositories/depositEvent.ts"],"names":[],"mappings":"AACA,OAAO,EAAK,UAAU,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAS,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE3D;;;GAGG;AACH,MAAM,OAAO,sBAAuB,SAAQ,UAAuC;IACjF,YAAY,MAAuB,EAAE,EAAM;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC;QAC1C,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,YAAoB;QAClC,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChD,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,YAAY,GAAG,iBAAiB,EAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC;IAClH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,aAAoC;QACvD,MAAM,IAAI,CAAC,QAAQ,CACjB,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YACnC,GAAG,EAAE,YAAY,CAAC,KAAK;YACvB,KAAK,EAAE,YAAY;SACpB,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ChainForkConfig } from "@lodestar/config";
|
|
2
|
-
import { Db, Repository } from "@lodestar/db";
|
|
3
|
-
import { phase0 } from "@lodestar/types";
|
|
4
|
-
export declare class Eth1DataRepository extends Repository<number, phase0.Eth1DataOrdered> {
|
|
5
|
-
constructor(config: ChainForkConfig, db: Db);
|
|
6
|
-
decodeKey(data: Buffer): number;
|
|
7
|
-
getId(_value: phase0.Eth1Data): number;
|
|
8
|
-
batchPutValues(eth1Datas: (phase0.Eth1DataOrdered & {
|
|
9
|
-
timestamp: number;
|
|
10
|
-
})[]): Promise<void>;
|
|
11
|
-
deleteOld(timestamp: number): Promise<void>;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=eth1Data.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"eth1Data.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/eth1Data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAC,MAAM,EAAM,MAAM,iBAAiB,CAAC;AAI5C,qBAAa,kBAAmB,SAAQ,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC;gBACpE,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE;IAK3C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI/B,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM;IAIhC,cAAc,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,eAAe,GAAG;QAAC,SAAS,EAAE,MAAM,CAAA;KAAC,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAS1F,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGlD"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { Repository } from "@lodestar/db";
|
|
2
|
-
import { ssz } from "@lodestar/types";
|
|
3
|
-
import { bytesToInt } from "@lodestar/utils";
|
|
4
|
-
import { Bucket, getBucketNameByValue } from "../buckets.js";
|
|
5
|
-
export class Eth1DataRepository extends Repository {
|
|
6
|
-
constructor(config, db) {
|
|
7
|
-
const bucket = Bucket.phase0_eth1Data;
|
|
8
|
-
super(config, db, bucket, ssz.phase0.Eth1DataOrdered, getBucketNameByValue(bucket));
|
|
9
|
-
}
|
|
10
|
-
decodeKey(data) {
|
|
11
|
-
return bytesToInt(super.decodeKey(data), "be");
|
|
12
|
-
}
|
|
13
|
-
getId(_value) {
|
|
14
|
-
throw new Error("Unable to create timestamp from block hash");
|
|
15
|
-
}
|
|
16
|
-
async batchPutValues(eth1Datas) {
|
|
17
|
-
await this.batchPut(eth1Datas.map((eth1Data) => ({
|
|
18
|
-
key: eth1Data.timestamp,
|
|
19
|
-
value: eth1Data,
|
|
20
|
-
})));
|
|
21
|
-
}
|
|
22
|
-
async deleteOld(timestamp) {
|
|
23
|
-
await this.batchDelete(await this.keys({ lt: timestamp }));
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=eth1Data.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"eth1Data.js","sourceRoot":"","sources":["../../../src/db/repositories/eth1Data.ts"],"names":[],"mappings":"AACA,OAAO,EAAK,UAAU,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAS,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE3D,MAAM,OAAO,kBAAmB,SAAQ,UAA0C;IAChF,YAAY,MAAuB,EAAE,EAAM;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC;QACtC,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAA0B,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,MAAuB;QAC3B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,SAA2D;QAC9E,MAAM,IAAI,CAAC,QAAQ,CACjB,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC3B,GAAG,EAAE,QAAQ,CAAC,SAAS;YACvB,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,SAAiB;QAC/B,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,EAAC,EAAE,EAAE,SAAS,EAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;CACF"}
|
package/lib/db/single/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/db/single/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAC,iCAAiC,EAAC,MAAM,wCAAwC,CAAC"}
|
package/lib/db/single/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/db/single/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAC,iCAAiC,EAAC,MAAM,wCAAwC,CAAC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { ChainForkConfig } from "@lodestar/config";
|
|
2
|
-
import { Db } from "@lodestar/db";
|
|
3
|
-
import { BeaconStateAllForks } from "@lodestar/state-transition";
|
|
4
|
-
export declare class PreGenesisState {
|
|
5
|
-
private readonly config;
|
|
6
|
-
private readonly bucket;
|
|
7
|
-
private readonly db;
|
|
8
|
-
private readonly key;
|
|
9
|
-
private readonly type;
|
|
10
|
-
private readonly dbReqOpts;
|
|
11
|
-
constructor(config: ChainForkConfig, db: Db);
|
|
12
|
-
put(value: BeaconStateAllForks): Promise<void>;
|
|
13
|
-
get(): Promise<BeaconStateAllForks | null>;
|
|
14
|
-
delete(): Promise<void>;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=preGenesisState.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"preGenesisState.d.ts","sourceRoot":"","sources":["../../../src/db/single/preGenesisState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAY,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAC,mBAAmB,EAAC,MAAM,4BAA4B,CAAC;AAI/D,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAK;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsC;IAC3D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;gBAE1B,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE;IASrC,GAAG,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,GAAG,IAAI,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAK1C,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAG9B"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { GENESIS_SLOT } from "@lodestar/params";
|
|
2
|
-
import { Bucket, getBucketNameByValue } from "../buckets.js";
|
|
3
|
-
export class PreGenesisState {
|
|
4
|
-
config;
|
|
5
|
-
bucket;
|
|
6
|
-
db;
|
|
7
|
-
key;
|
|
8
|
-
type;
|
|
9
|
-
dbReqOpts;
|
|
10
|
-
constructor(config, db) {
|
|
11
|
-
this.config = config;
|
|
12
|
-
this.db = db;
|
|
13
|
-
this.bucket = Bucket.phase0_preGenesisState;
|
|
14
|
-
this.key = new Uint8Array([this.bucket]);
|
|
15
|
-
this.type = this.config.getForkTypes(GENESIS_SLOT).BeaconState;
|
|
16
|
-
this.dbReqOpts = { bucketId: getBucketNameByValue(this.bucket) };
|
|
17
|
-
}
|
|
18
|
-
async put(value) {
|
|
19
|
-
await this.db.put(this.key, value.serialize(), this.dbReqOpts);
|
|
20
|
-
}
|
|
21
|
-
async get() {
|
|
22
|
-
const value = await this.db.get(this.key, this.dbReqOpts);
|
|
23
|
-
return value ? this.type.deserializeToViewDU(value) : null;
|
|
24
|
-
}
|
|
25
|
-
async delete() {
|
|
26
|
-
await this.db.delete(this.key, this.dbReqOpts);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=preGenesisState.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"preGenesisState.js","sourceRoot":"","sources":["../../../src/db/single/preGenesisState.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE3D,MAAM,OAAO,eAAe;IACT,MAAM,CAAkB;IACxB,MAAM,CAAS;IACf,EAAE,CAAK;IACP,GAAG,CAAa;IAChB,IAAI,CAAsC;IAC1C,SAAS,CAAY;IAEtC,YAAY,MAAuB,EAAE,EAAM;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,sBAAsB,CAAC;QAC5C,IAAI,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC;QAC/D,IAAI,CAAC,SAAS,GAAG,EAAC,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAA0B;QAClC,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;CACF"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { ChainForkConfig } from "@lodestar/config";
|
|
2
|
-
import { Db } from "@lodestar/db";
|
|
3
|
-
export declare class PreGenesisStateLastProcessedBlock {
|
|
4
|
-
private readonly bucket;
|
|
5
|
-
private readonly type;
|
|
6
|
-
private readonly db;
|
|
7
|
-
private readonly key;
|
|
8
|
-
private readonly dbReqOpts;
|
|
9
|
-
constructor(_config: ChainForkConfig, db: Db);
|
|
10
|
-
put(value: number): Promise<void>;
|
|
11
|
-
get(): Promise<number | null>;
|
|
12
|
-
delete(): Promise<void>;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=preGenesisStateLastProcessedBlock.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"preGenesisStateLastProcessedBlock.d.ts","sourceRoot":"","sources":["../../../src/db/single/preGenesisStateLastProcessedBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAY,MAAM,cAAc,CAAC;AAI3C,qBAAa,iCAAiC;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IACtC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAK;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;gBAE1B,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE;IAQtC,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjC,GAAG,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAK7B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAG9B"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { ssz } from "@lodestar/types";
|
|
2
|
-
import { Bucket, getBucketNameByValue } from "../buckets.js";
|
|
3
|
-
export class PreGenesisStateLastProcessedBlock {
|
|
4
|
-
bucket;
|
|
5
|
-
type;
|
|
6
|
-
db;
|
|
7
|
-
key;
|
|
8
|
-
dbReqOpts;
|
|
9
|
-
constructor(_config, db) {
|
|
10
|
-
this.db = db;
|
|
11
|
-
this.type = ssz.UintNum64;
|
|
12
|
-
this.bucket = Bucket.phase0_preGenesisStateLastProcessedBlock;
|
|
13
|
-
this.key = new Uint8Array([this.bucket]);
|
|
14
|
-
this.dbReqOpts = { bucketId: getBucketNameByValue(this.bucket) };
|
|
15
|
-
}
|
|
16
|
-
async put(value) {
|
|
17
|
-
await this.db.put(this.key, this.type.serialize(value), this.dbReqOpts);
|
|
18
|
-
}
|
|
19
|
-
async get() {
|
|
20
|
-
const value = await this.db.get(this.key, this.dbReqOpts);
|
|
21
|
-
return value ? this.type.deserialize(value) : null;
|
|
22
|
-
}
|
|
23
|
-
async delete() {
|
|
24
|
-
await this.db.delete(this.key, this.dbReqOpts);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=preGenesisStateLastProcessedBlock.js.map
|