@lodestar/beacon-node 1.42.0-dev.c35b4283f1 → 1.42.0-dev.d32f5153b6
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/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
- package/lib/api/impl/beacon/blocks/index.js +14 -2
- package/lib/api/impl/beacon/blocks/index.js.map +1 -1
- package/lib/api/impl/beacon/pool/index.js +1 -1
- package/lib/api/impl/beacon/pool/index.js.map +1 -1
- package/lib/api/impl/beacon/state/index.d.ts.map +1 -1
- package/lib/api/impl/beacon/state/index.js +27 -32
- package/lib/api/impl/beacon/state/index.js.map +1 -1
- package/lib/api/impl/beacon/state/utils.d.ts +4 -4
- package/lib/api/impl/beacon/state/utils.d.ts.map +1 -1
- package/lib/api/impl/beacon/state/utils.js +7 -10
- package/lib/api/impl/beacon/state/utils.js.map +1 -1
- package/lib/api/impl/lodestar/index.d.ts.map +1 -1
- package/lib/api/impl/lodestar/index.js +4 -6
- package/lib/api/impl/lodestar/index.js.map +1 -1
- package/lib/api/impl/proof/index.d.ts.map +1 -1
- package/lib/api/impl/proof/index.js +2 -6
- package/lib/api/impl/proof/index.js.map +1 -1
- package/lib/api/impl/validator/index.d.ts.map +1 -1
- package/lib/api/impl/validator/index.js +27 -27
- package/lib/api/impl/validator/index.js.map +1 -1
- package/lib/api/impl/validator/utils.d.ts +2 -2
- package/lib/api/impl/validator/utils.d.ts.map +1 -1
- package/lib/api/impl/validator/utils.js +3 -3
- package/lib/api/impl/validator/utils.js.map +1 -1
- package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
- package/lib/chain/archiveStore/archiveStore.js +1 -0
- package/lib/chain/archiveStore/archiveStore.js.map +1 -1
- package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts +3 -7
- package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +1 -1
- package/lib/chain/archiveStore/historicalState/getHistoricalState.js +8 -26
- package/lib/chain/archiveStore/historicalState/getHistoricalState.js.map +1 -1
- package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts +2 -2
- package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +1 -1
- package/lib/chain/archiveStore/historicalState/historicalStateRegen.js +1 -0
- package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
- package/lib/chain/archiveStore/historicalState/types.d.ts +2 -0
- package/lib/chain/archiveStore/historicalState/types.d.ts.map +1 -1
- package/lib/chain/archiveStore/historicalState/types.js.map +1 -1
- package/lib/chain/archiveStore/historicalState/worker.js +1 -3
- package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
- package/lib/chain/archiveStore/interface.d.ts +1 -0
- package/lib/chain/archiveStore/interface.d.ts.map +1 -1
- package/lib/chain/balancesCache.d.ts +2 -2
- package/lib/chain/balancesCache.d.ts.map +1 -1
- package/lib/chain/balancesCache.js +4 -4
- package/lib/chain/balancesCache.js.map +1 -1
- package/lib/chain/blocks/blockInput/types.d.ts +1 -0
- package/lib/chain/blocks/blockInput/types.d.ts.map +1 -1
- package/lib/chain/blocks/blockInput/types.js +1 -0
- package/lib/chain/blocks/blockInput/types.js.map +1 -1
- package/lib/chain/blocks/importBlock.d.ts +3 -3
- package/lib/chain/blocks/importBlock.d.ts.map +1 -1
- package/lib/chain/blocks/importBlock.js +21 -21
- package/lib/chain/blocks/importBlock.js.map +1 -1
- package/lib/chain/blocks/importExecutionPayload.d.ts +10 -8
- package/lib/chain/blocks/importExecutionPayload.d.ts.map +1 -1
- package/lib/chain/blocks/importExecutionPayload.js +78 -51
- package/lib/chain/blocks/importExecutionPayload.js.map +1 -1
- package/lib/chain/blocks/index.d.ts.map +1 -1
- package/lib/chain/blocks/index.js +3 -2
- package/lib/chain/blocks/index.js.map +1 -1
- package/lib/chain/blocks/types.d.ts +21 -15
- package/lib/chain/blocks/types.d.ts.map +1 -1
- package/lib/chain/blocks/types.js.map +1 -1
- package/lib/chain/blocks/utils/checkpoint.d.ts +2 -2
- package/lib/chain/blocks/utils/checkpoint.d.ts.map +1 -1
- package/lib/chain/blocks/utils/checkpoint.js.map +1 -1
- package/lib/chain/blocks/verifyBlock.d.ts +2 -2
- package/lib/chain/blocks/verifyBlock.d.ts.map +1 -1
- package/lib/chain/blocks/verifyBlock.js +4 -4
- package/lib/chain/blocks/verifyBlock.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts +5 -5
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +1 -1
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +4 -4
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksSignatures.d.ts +2 -2
- package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +1 -1
- package/lib/chain/blocks/verifyBlocksSignatures.js +1 -1
- package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts +3 -3
- package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +1 -1
- package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js +3 -3
- package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js.map +1 -1
- package/lib/chain/chain.d.ts +12 -12
- package/lib/chain/chain.d.ts.map +1 -1
- package/lib/chain/chain.js +47 -39
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/emitter.d.ts +2 -2
- package/lib/chain/emitter.d.ts.map +1 -1
- package/lib/chain/errors/blockError.d.ts +4 -4
- package/lib/chain/errors/blockError.d.ts.map +1 -1
- package/lib/chain/forkChoice/index.d.ts +4 -4
- package/lib/chain/forkChoice/index.d.ts.map +1 -1
- package/lib/chain/forkChoice/index.js +27 -23
- package/lib/chain/forkChoice/index.js.map +1 -1
- package/lib/chain/initState.d.ts +2 -2
- package/lib/chain/initState.d.ts.map +1 -1
- package/lib/chain/initState.js +1 -1
- package/lib/chain/initState.js.map +1 -1
- package/lib/chain/interface.d.ts +11 -12
- package/lib/chain/interface.d.ts.map +1 -1
- package/lib/chain/lightClient/index.d.ts +2 -2
- package/lib/chain/lightClient/index.d.ts.map +1 -1
- package/lib/chain/lightClient/index.js +4 -4
- package/lib/chain/lightClient/index.js.map +1 -1
- package/lib/chain/opPools/aggregatedAttestationPool.d.ts +6 -6
- package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
- package/lib/chain/opPools/aggregatedAttestationPool.js +10 -13
- package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
- package/lib/chain/opPools/opPool.d.ts +3 -3
- package/lib/chain/opPools/opPool.d.ts.map +1 -1
- package/lib/chain/opPools/opPool.js +7 -7
- package/lib/chain/opPools/opPool.js.map +1 -1
- package/lib/chain/opPools/utils.d.ts +2 -2
- package/lib/chain/opPools/utils.d.ts.map +1 -1
- package/lib/chain/opPools/utils.js +1 -1
- package/lib/chain/opPools/utils.js.map +1 -1
- package/lib/chain/options.d.ts +1 -0
- package/lib/chain/options.d.ts.map +1 -1
- package/lib/chain/options.js +1 -0
- package/lib/chain/options.js.map +1 -1
- package/lib/chain/prepareNextSlot.d.ts +2 -2
- package/lib/chain/prepareNextSlot.d.ts.map +1 -1
- package/lib/chain/prepareNextSlot.js +3 -3
- package/lib/chain/prepareNextSlot.js.map +1 -1
- package/lib/chain/produceBlock/computeNewStateRoot.d.ts +4 -4
- package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +1 -1
- package/lib/chain/produceBlock/computeNewStateRoot.js +3 -4
- package/lib/chain/produceBlock/computeNewStateRoot.js.map +1 -1
- package/lib/chain/produceBlock/produceBlockBody.d.ts +5 -5
- package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
- package/lib/chain/produceBlock/produceBlockBody.js +12 -16
- package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
- package/lib/chain/regen/interface.d.ts +13 -13
- package/lib/chain/regen/interface.d.ts.map +1 -1
- package/lib/chain/regen/queued.d.ts +14 -14
- package/lib/chain/regen/queued.d.ts.map +1 -1
- package/lib/chain/regen/queued.js.map +1 -1
- package/lib/chain/regen/regen.d.ts +6 -5
- package/lib/chain/regen/regen.d.ts.map +1 -1
- package/lib/chain/regen/regen.js +6 -6
- package/lib/chain/regen/regen.js.map +1 -1
- package/lib/chain/serializeState.d.ts +2 -2
- package/lib/chain/serializeState.d.ts.map +1 -1
- package/lib/chain/serializeState.js +1 -1
- package/lib/chain/serializeState.js.map +1 -1
- package/lib/chain/shufflingCache.d.ts +2 -2
- package/lib/chain/shufflingCache.d.ts.map +1 -1
- package/lib/chain/shufflingCache.js +3 -4
- package/lib/chain/shufflingCache.js.map +1 -1
- package/lib/chain/stateCache/fifoBlockStateCache.d.ts +6 -6
- package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +1 -1
- package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
- package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +11 -11
- package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +1 -1
- package/lib/chain/stateCache/persistentCheckpointsCache.js +12 -16
- package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
- package/lib/chain/stateCache/types.d.ts +14 -14
- package/lib/chain/stateCache/types.d.ts.map +1 -1
- package/lib/chain/stateCache/types.js.map +1 -1
- package/lib/chain/validation/attesterSlashing.js +3 -3
- package/lib/chain/validation/attesterSlashing.js.map +1 -1
- package/lib/chain/validation/blobSidecar.js +1 -1
- 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.js +2 -2
- package/lib/chain/validation/blsToExecutionChange.js.map +1 -1
- package/lib/chain/validation/dataColumnSidecar.js +1 -1
- package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
- package/lib/chain/validation/executionPayloadBid.d.ts.map +1 -1
- package/lib/chain/validation/executionPayloadBid.js +4 -4
- package/lib/chain/validation/executionPayloadBid.js.map +1 -1
- package/lib/chain/validation/executionPayloadEnvelope.d.ts.map +1 -1
- package/lib/chain/validation/executionPayloadEnvelope.js +2 -3
- package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
- package/lib/chain/validation/payloadAttestationMessage.d.ts.map +1 -1
- package/lib/chain/validation/payloadAttestationMessage.js +1 -2
- package/lib/chain/validation/payloadAttestationMessage.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/contributionAndProof.d.ts +2 -2
- package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +1 -1
- package/lib/chain/validation/signatureSets/contributionAndProof.js +1 -1
- package/lib/chain/validation/signatureSets/contributionAndProof.js.map +1 -1
- package/lib/chain/validation/signatureSets/syncCommittee.d.ts +2 -2
- package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +1 -1
- package/lib/chain/validation/signatureSets/syncCommittee.js +1 -1
- package/lib/chain/validation/signatureSets/syncCommittee.js.map +1 -1
- package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts +2 -2
- package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +1 -1
- package/lib/chain/validation/signatureSets/syncCommitteeContribution.js.map +1 -1
- package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts +2 -2
- package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +1 -1
- package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js +1 -1
- package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js.map +1 -1
- package/lib/chain/validation/syncCommittee.d.ts +3 -3
- package/lib/chain/validation/syncCommittee.d.ts.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 +1 -1
- package/lib/chain/validation/syncCommitteeContributionAndProof.js.map +1 -1
- package/lib/chain/validation/voluntaryExit.d.ts.map +1 -1
- package/lib/chain/validation/voluntaryExit.js +3 -3
- package/lib/chain/validation/voluntaryExit.js.map +1 -1
- package/lib/chain/validatorMonitor.d.ts +3 -3
- package/lib/chain/validatorMonitor.d.ts.map +1 -1
- package/lib/chain/validatorMonitor.js +9 -7
- package/lib/chain/validatorMonitor.js.map +1 -1
- package/lib/metrics/metrics/lodestar.d.ts +12 -4
- package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
- package/lib/metrics/metrics/lodestar.js +19 -15
- package/lib/metrics/metrics/lodestar.js.map +1 -1
- package/lib/network/gossip/topic.d.ts +727 -0
- package/lib/network/gossip/topic.d.ts.map +1 -1
- package/lib/network/interface.d.ts +4 -2
- package/lib/network/interface.d.ts.map +1 -1
- package/lib/network/libp2p/index.d.ts.map +1 -1
- package/lib/network/libp2p/index.js +22 -11
- package/lib/network/libp2p/index.js.map +1 -1
- package/lib/network/network.d.ts +4 -2
- package/lib/network/network.d.ts.map +1 -1
- package/lib/network/network.js +9 -3
- package/lib/network/network.js.map +1 -1
- package/lib/network/options.d.ts.map +1 -1
- package/lib/network/options.js +7 -2
- package/lib/network/options.js.map +1 -1
- package/lib/network/processor/extractSlotRootFns.d.ts +1 -1
- package/lib/network/processor/extractSlotRootFns.js +1 -1
- package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
- package/lib/network/processor/gossipHandlers.js +16 -9
- package/lib/network/processor/gossipHandlers.js.map +1 -1
- package/lib/network/processor/index.d.ts +12 -7
- package/lib/network/processor/index.d.ts.map +1 -1
- package/lib/network/processor/index.js +99 -78
- package/lib/network/processor/index.js.map +1 -1
- package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +1 -1
- package/lib/network/reqresp/ReqRespBeaconNode.js +9 -0
- package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
- package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRange.d.ts +8 -0
- package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRange.d.ts.map +1 -0
- package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRange.js +69 -0
- package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRange.js.map +1 -0
- package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.d.ts +6 -0
- package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.d.ts.map +1 -0
- package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.js +28 -0
- package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.js.map +1 -0
- package/lib/network/reqresp/handlers/index.d.ts.map +1 -1
- package/lib/network/reqresp/handlers/index.js +11 -1
- package/lib/network/reqresp/handlers/index.js.map +1 -1
- package/lib/network/reqresp/protocols.d.ts +2 -0
- package/lib/network/reqresp/protocols.d.ts.map +1 -1
- package/lib/network/reqresp/protocols.js +10 -0
- package/lib/network/reqresp/protocols.js.map +1 -1
- package/lib/network/reqresp/rateLimit.d.ts.map +1 -1
- package/lib/network/reqresp/rateLimit.js +8 -0
- package/lib/network/reqresp/rateLimit.js.map +1 -1
- package/lib/network/reqresp/score.d.ts.map +1 -1
- package/lib/network/reqresp/score.js +2 -0
- package/lib/network/reqresp/score.js.map +1 -1
- package/lib/network/reqresp/types.d.ts +8 -2
- package/lib/network/reqresp/types.d.ts.map +1 -1
- package/lib/network/reqresp/types.js +7 -1
- package/lib/network/reqresp/types.js.map +1 -1
- package/lib/node/nodejs.d.ts +2 -2
- package/lib/node/nodejs.d.ts.map +1 -1
- package/lib/node/nodejs.js +1 -4
- package/lib/node/nodejs.js.map +1 -1
- package/lib/node/notifier.d.ts.map +1 -1
- package/lib/node/notifier.js +3 -3
- package/lib/node/notifier.js.map +1 -1
- package/lib/sync/backfill/backfill.d.ts +2 -2
- package/lib/sync/backfill/backfill.d.ts.map +1 -1
- package/lib/sync/backfill/backfill.js +2 -2
- package/lib/sync/backfill/backfill.js.map +1 -1
- package/lib/sync/unknownBlock.d.ts +1 -1
- package/lib/sync/unknownBlock.js +1 -1
- package/lib/util/types.d.ts +2 -0
- package/lib/util/types.d.ts.map +1 -1
- package/lib/util/types.js +1 -0
- package/lib/util/types.js.map +1 -1
- package/package.json +16 -16
- package/src/api/impl/beacon/blocks/index.ts +16 -2
- package/src/api/impl/beacon/pool/index.ts +1 -1
- package/src/api/impl/beacon/state/index.ts +29 -41
- package/src/api/impl/beacon/state/utils.ts +11 -25
- package/src/api/impl/lodestar/index.ts +4 -8
- package/src/api/impl/proof/index.ts +2 -9
- package/src/api/impl/validator/index.ts +29 -41
- package/src/api/impl/validator/utils.ts +4 -7
- package/src/chain/archiveStore/archiveStore.ts +1 -0
- package/src/chain/archiveStore/historicalState/getHistoricalState.ts +10 -39
- package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +2 -1
- package/src/chain/archiveStore/historicalState/types.ts +2 -0
- package/src/chain/archiveStore/historicalState/worker.ts +1 -4
- package/src/chain/archiveStore/interface.ts +1 -0
- package/src/chain/balancesCache.ts +5 -11
- package/src/chain/blocks/blockInput/types.ts +1 -0
- package/src/chain/blocks/importBlock.ts +23 -25
- package/src/chain/blocks/importExecutionPayload.ts +89 -63
- package/src/chain/blocks/index.ts +3 -2
- package/src/chain/blocks/types.ts +26 -15
- package/src/chain/blocks/utils/checkpoint.ts +2 -2
- package/src/chain/blocks/verifyBlock.ts +5 -10
- package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +9 -14
- package/src/chain/blocks/verifyBlocksSignatures.ts +3 -3
- package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +6 -8
- package/src/chain/chain.ts +75 -67
- package/src/chain/emitter.ts +2 -2
- package/src/chain/errors/blockError.ts +4 -4
- package/src/chain/forkChoice/index.ts +33 -42
- package/src/chain/initState.ts +7 -2
- package/src/chain/interface.ts +12 -13
- package/src/chain/lightClient/index.ts +9 -22
- package/src/chain/opPools/aggregatedAttestationPool.ts +15 -21
- package/src/chain/opPools/opPool.ts +13 -14
- package/src/chain/opPools/utils.ts +3 -3
- package/src/chain/options.ts +2 -0
- package/src/chain/prepareNextSlot.ts +6 -8
- package/src/chain/produceBlock/computeNewStateRoot.ts +6 -10
- package/src/chain/produceBlock/produceBlockBody.ts +22 -49
- package/src/chain/regen/interface.ts +13 -17
- package/src/chain/regen/queued.ts +16 -20
- package/src/chain/regen/regen.ts +16 -17
- package/src/chain/serializeState.ts +3 -3
- package/src/chain/shufflingCache.ts +5 -7
- package/src/chain/stateCache/fifoBlockStateCache.ts +7 -7
- package/src/chain/stateCache/persistentCheckpointsCache.ts +27 -42
- package/src/chain/stateCache/types.ts +14 -18
- package/src/chain/validation/attesterSlashing.ts +3 -3
- package/src/chain/validation/blobSidecar.ts +1 -1
- package/src/chain/validation/block.ts +2 -4
- package/src/chain/validation/blsToExecutionChange.ts +2 -2
- package/src/chain/validation/dataColumnSidecar.ts +1 -1
- package/src/chain/validation/executionPayloadBid.ts +3 -7
- package/src/chain/validation/executionPayloadEnvelope.ts +2 -8
- package/src/chain/validation/payloadAttestationMessage.ts +2 -4
- package/src/chain/validation/proposerSlashing.ts +1 -1
- package/src/chain/validation/signatureSets/contributionAndProof.ts +2 -7
- package/src/chain/validation/signatureSets/syncCommittee.ts +2 -7
- package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +2 -2
- package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +2 -7
- package/src/chain/validation/syncCommittee.ts +6 -6
- package/src/chain/validation/syncCommitteeContributionAndProof.ts +5 -10
- package/src/chain/validation/voluntaryExit.ts +3 -8
- package/src/chain/validatorMonitor.ts +12 -11
- package/src/metrics/metrics/lodestar.ts +23 -19
- package/src/network/interface.ts +15 -2
- package/src/network/libp2p/index.ts +24 -13
- package/src/network/network.ts +32 -4
- package/src/network/options.ts +7 -2
- package/src/network/processor/extractSlotRootFns.ts +1 -1
- package/src/network/processor/gossipHandlers.ts +17 -9
- package/src/network/processor/index.ts +110 -89
- package/src/network/reqresp/ReqRespBeaconNode.ts +13 -0
- package/src/network/reqresp/handlers/executionPayloadEnvelopesByRange.ts +94 -0
- package/src/network/reqresp/handlers/executionPayloadEnvelopesByRoot.ts +43 -0
- package/src/network/reqresp/handlers/index.ts +12 -0
- package/src/network/reqresp/protocols.ts +12 -0
- package/src/network/reqresp/rateLimit.ts +18 -0
- package/src/network/reqresp/score.ts +2 -0
- package/src/network/reqresp/types.ts +13 -0
- package/src/node/nodejs.ts +3 -5
- package/src/node/notifier.ts +4 -10
- package/src/sync/backfill/backfill.ts +3 -3
- package/src/sync/unknownBlock.ts +1 -1
- package/src/util/types.ts +6 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archiveStore.js","sourceRoot":"","sources":["../../../src/chain/archiveStore/archiveStore.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"archiveStore.js","sourceRoot":"","sources":["../../../src/chain/archiveStore/archiveStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
import { BeaconConfig } from "@lodestar/config";
|
|
2
|
-
import {
|
|
2
|
+
import { IBeaconStateView } from "@lodestar/state-transition";
|
|
3
3
|
import { IBeaconDb } from "../../../db/index.js";
|
|
4
4
|
import { HistoricalStateRegenMetrics } from "./metrics.js";
|
|
5
|
-
/**
|
|
6
|
-
* Populate a PubkeyCache with any new entries based on a BeaconState
|
|
7
|
-
*/
|
|
8
|
-
export declare function syncPubkeyCache(state: BeaconStateAllForks, pubkeyCache: PubkeyCache): void;
|
|
9
5
|
/**
|
|
10
6
|
* Get the nearest BeaconState at or before a slot
|
|
11
7
|
*/
|
|
12
|
-
export declare function getNearestState(slot: number, config: BeaconConfig, db: IBeaconDb,
|
|
8
|
+
export declare function getNearestState(slot: number, config: BeaconConfig, db: IBeaconDb, nativeStateView: boolean): Promise<IBeaconStateView>;
|
|
13
9
|
/**
|
|
14
10
|
* Get and regenerate a historical state
|
|
15
11
|
*/
|
|
16
|
-
export declare function getHistoricalState(slot: number, config: BeaconConfig, db: IBeaconDb,
|
|
12
|
+
export declare function getHistoricalState(slot: number, config: BeaconConfig, db: IBeaconDb, nativeStateView: boolean, metrics?: HistoricalStateRegenMetrics): Promise<Uint8Array>;
|
|
17
13
|
//# sourceMappingURL=getHistoricalState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getHistoricalState.d.ts","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/getHistoricalState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,
|
|
1
|
+
{"version":3,"file":"getHistoricalState.d.ts","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/getHistoricalState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAGL,gBAAgB,EAEjB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAC,2BAA2B,EAAC,MAAM,cAAc,CAAC;AAGzD;;GAEG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,EACpB,EAAE,EAAE,SAAS,EACb,eAAe,EAAE,OAAO,GACvB,OAAO,CAAC,gBAAgB,CAAC,CAU3B;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,EACpB,EAAE,EAAE,SAAS,EACb,eAAe,EAAE,OAAO,EACxB,OAAO,CAAC,EAAE,2BAA2B,GACpC,OAAO,CAAC,UAAU,CAAC,CA+CrB"}
|
|
@@ -1,44 +1,26 @@
|
|
|
1
|
-
import { DataAvailabilityStatus, ExecutionPayloadStatus,
|
|
1
|
+
import { DataAvailabilityStatus, ExecutionPayloadStatus, createBeaconStateViewForHistoricalRegen, } from "@lodestar/state-transition";
|
|
2
2
|
import { byteArrayEquals } from "@lodestar/utils";
|
|
3
|
-
import { getStateTypeFromBytes } from "../../../util/multifork.js";
|
|
4
3
|
import { RegenErrorType } from "./types.js";
|
|
5
|
-
/**
|
|
6
|
-
* Populate a PubkeyCache with any new entries based on a BeaconState
|
|
7
|
-
*/
|
|
8
|
-
export function syncPubkeyCache(state, pubkeyCache) {
|
|
9
|
-
// Get the validators sub tree once for all the loop
|
|
10
|
-
const validators = state.validators;
|
|
11
|
-
const newCount = state.validators.length;
|
|
12
|
-
for (let i = pubkeyCache.size; i < newCount; i++) {
|
|
13
|
-
const pubkey = validators.getReadonly(i).pubkey;
|
|
14
|
-
pubkeyCache.set(i, pubkey);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
4
|
/**
|
|
18
5
|
* Get the nearest BeaconState at or before a slot
|
|
19
6
|
*/
|
|
20
|
-
export async function getNearestState(slot, config, db,
|
|
7
|
+
export async function getNearestState(slot, config, db, nativeStateView) {
|
|
21
8
|
const stateBytesArr = await db.stateArchive.binaries({ limit: 1, lte: slot, reverse: true });
|
|
22
9
|
if (!stateBytesArr.length) {
|
|
23
10
|
throw new Error("No near state found in the database");
|
|
24
11
|
}
|
|
25
12
|
const stateBytes = stateBytesArr[0];
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
config,
|
|
30
|
-
pubkeyCache,
|
|
31
|
-
}, {
|
|
32
|
-
skipSyncPubkeys: true,
|
|
33
|
-
});
|
|
13
|
+
return nativeStateView
|
|
14
|
+
? createBeaconStateViewForHistoricalRegen({ useNative: true, stateBytes })
|
|
15
|
+
: createBeaconStateViewForHistoricalRegen({ useNative: false, config, stateBytes });
|
|
34
16
|
}
|
|
35
17
|
/**
|
|
36
18
|
* Get and regenerate a historical state
|
|
37
19
|
*/
|
|
38
|
-
export async function getHistoricalState(slot, config, db,
|
|
20
|
+
export async function getHistoricalState(slot, config, db, nativeStateView, metrics) {
|
|
39
21
|
const regenTimer = metrics?.regenTime.startTimer();
|
|
40
22
|
const loadStateTimer = metrics?.loadStateTime.startTimer();
|
|
41
|
-
let state = await getNearestState(slot, config, db,
|
|
23
|
+
let state = await getNearestState(slot, config, db, nativeStateView).catch((e) => {
|
|
42
24
|
metrics?.regenErrorCount.inc({ reason: RegenErrorType.loadState });
|
|
43
25
|
throw e;
|
|
44
26
|
});
|
|
@@ -47,7 +29,7 @@ export async function getHistoricalState(slot, config, db, pubkeyCache, metrics)
|
|
|
47
29
|
let blockCount = 0;
|
|
48
30
|
for await (const block of db.blockArchive.valuesStream({ gt: state.slot, lte: slot })) {
|
|
49
31
|
try {
|
|
50
|
-
state = stateTransition(
|
|
32
|
+
state = state.stateTransition(block, {
|
|
51
33
|
verifyProposer: false,
|
|
52
34
|
verifySignatures: false,
|
|
53
35
|
verifyStateRoot: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getHistoricalState.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/getHistoricalState.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"getHistoricalState.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/getHistoricalState.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HistoricalStateRegenInitModules,
|
|
1
|
+
import { HistoricalStateRegenInitModules, HistoricalStateWorkerApi } from "./types.js";
|
|
2
2
|
/**
|
|
3
3
|
* HistoricalStateRegen limits the damage from recreating historical states
|
|
4
4
|
* by running regen in a separate worker thread.
|
|
@@ -6,7 +6,7 @@ import { HistoricalStateRegenInitModules, HistoricalStateRegenModules, Historica
|
|
|
6
6
|
export declare class HistoricalStateRegen implements HistoricalStateWorkerApi {
|
|
7
7
|
private readonly api;
|
|
8
8
|
private readonly logger;
|
|
9
|
-
constructor(
|
|
9
|
+
private constructor();
|
|
10
10
|
static init(modules: HistoricalStateRegenInitModules): Promise<HistoricalStateRegen>;
|
|
11
11
|
scrapeMetrics(): Promise<string>;
|
|
12
12
|
close(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"historicalStateRegen.d.ts","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/historicalStateRegen.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,+BAA+B,
|
|
1
|
+
{"version":3,"file":"historicalStateRegen.d.ts","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/historicalStateRegen.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,+BAA+B,EAE/B,wBAAwB,EAEzB,MAAM,YAAY,CAAC;AAKpB;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,wBAAwB;IACnE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAyC;IAC7D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IAEpC,OAAO,eAIN;IACD,OAAa,IAAI,CAAC,OAAO,EAAE,+BAA+B,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAyBzF;IAEK,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAErC;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAK3B;IAEK,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAE1D;CACF"}
|
|
@@ -25,6 +25,7 @@ export class HistoricalStateRegen {
|
|
|
25
25
|
dbLocation: modules.opts.dbLocation,
|
|
26
26
|
metricsEnabled: Boolean(modules.metrics),
|
|
27
27
|
loggerOpts: modules.logger.toOpts(),
|
|
28
|
+
nativeStateView: modules.opts.nativeStateView,
|
|
28
29
|
};
|
|
29
30
|
const worker = new Worker(path.join(WORKER_DIR, "worker.js"), {
|
|
30
31
|
suppressTranspileTS: Boolean(globalThis.Bun),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"historicalStateRegen.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/historicalStateRegen.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAe,MAAM,EAAE,MAAM,EAAE,KAAK,EAAC,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AASnD,iFAAiF;AACjF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,oDAAoD,CAAC,CAAC,CAAC,IAAI,CAAC;AAEjH;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IACd,GAAG,CAAyC;IAC5C,MAAM,CAAa;IAEpC,
|
|
1
|
+
{"version":3,"file":"historicalStateRegen.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/historicalStateRegen.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAe,MAAM,EAAE,MAAM,EAAE,KAAK,EAAC,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AASnD,iFAAiF;AACjF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,oDAAoD,CAAC,CAAC,CAAC,IAAI,CAAC;AAEjH;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IACd,GAAG,CAAyC;IAC5C,MAAM,CAAa;IAEpC,YAAoB,OAAoC,EAAE;QACxD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;IAAA,CAC7E;IACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAwC,EAAiC;QACzF,MAAM,UAAU,GAA8B;YAC5C,eAAe,EAAE,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC;YAClD,qBAAqB,EAAE,OAAO,CAAC,MAAM,CAAC,qBAAqB;YAC3D,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW;YACrC,cAAc,EAAE,CAAC;YACjB,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU;YACnC,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;YACxC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;YACnC,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,eAAe;SAC9C,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE;YAC5D,mBAAmB,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAC5C,UAAU;SACgC,CAAC,CAAC;QAE9C,MAAM,GAAG,GAAG,MAAM,KAAK,CAA2B,MAAM,EAAE;YACxD,0FAA0F;YAC1F,8FAA8F;YAC9F,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;SACvB,CAAC,CAAC;QAEH,OAAO,IAAI,oBAAoB,CAAC,EAAC,GAAG,OAAO,EAAE,GAAG,EAAC,CAAC,CAAC;IAAA,CACpD;IAED,KAAK,CAAC,aAAa,GAAoB;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAAA,CACjC;IAED,KAAK,CAAC,KAAK,GAAkB;QAC3B,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAAA,CACzD;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAY,EAAuB;QAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAAA,CAC1C;CACF"}
|
|
@@ -6,6 +6,7 @@ export type HistoricalStateRegenInitModules = {
|
|
|
6
6
|
opts: {
|
|
7
7
|
genesisTime: number;
|
|
8
8
|
dbLocation: string;
|
|
9
|
+
nativeStateView: boolean;
|
|
9
10
|
};
|
|
10
11
|
config: BeaconConfig;
|
|
11
12
|
logger: LoggerNode;
|
|
@@ -24,6 +25,7 @@ export type HistoricalStateWorkerData = {
|
|
|
24
25
|
dbLocation: string;
|
|
25
26
|
metricsEnabled: boolean;
|
|
26
27
|
loggerOpts: LoggerNodeOpts;
|
|
28
|
+
nativeStateView: boolean;
|
|
27
29
|
};
|
|
28
30
|
export type HistoricalStateWorkerApi = {
|
|
29
31
|
close(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,YAAY,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,OAAO,EAAC,MAAM,2BAA2B,CAAC;AAElD,MAAM,MAAM,+BAA+B,GAAG;IAC5C,IAAI,EAAE;QACJ,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,YAAY,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,OAAO,EAAC,MAAM,2BAA2B,CAAC;AAElD,MAAM,MAAM,+BAA+B,GAAG;IAC5C,IAAI,EAAE;QACJ,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,2BAA2B,GAAG,+BAA+B,GAAG;IAC1E,GAAG,EAAE,YAAY,CAAC,wBAAwB,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,eAAe,EAAE,QAAQ,CAAC;IAC1B,qBAAqB,EAAE,UAAU,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,cAAc,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACvD,CAAC;AAEF,oBAAY,cAAc;IACxB,SAAS,eAAe;IACxB,gBAAgB,uBAAuB;IACvC,eAAe,qBAAqB;CACrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/types.ts"],"names":[],"mappings":"SAsCY,cAAc;AAA1B,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,0CAAwB,CAAA;IACxB,yDAAuC,CAAA;IACvC,sDAAoC,CAAA;AAAC,CACvC,EAJY,cAAc,KAAd,cAAc,QAIzB"}
|
|
@@ -3,7 +3,6 @@ import { Transfer, expose } from "@chainsafe/threads/worker";
|
|
|
3
3
|
import { chainConfigFromJson, createBeaconConfig } from "@lodestar/config";
|
|
4
4
|
import { LevelDbController } from "@lodestar/db/controller/level";
|
|
5
5
|
import { getNodeLogger } from "@lodestar/logger/node";
|
|
6
|
-
import { createPubkeyCache } from "@lodestar/state-transition";
|
|
7
6
|
import { BeaconDb } from "../../../db/index.js";
|
|
8
7
|
import { RegistryMetricCreator, collectNodeJSMetrics } from "../../../metrics/index.js";
|
|
9
8
|
import { JobFnQueue } from "../../../util/queue/fnQueue.js";
|
|
@@ -31,7 +30,6 @@ const queue = new JobFnQueue({
|
|
|
31
30
|
maxLength: workerData.maxLength,
|
|
32
31
|
signal: abortController.signal,
|
|
33
32
|
}, queueMetrics);
|
|
34
|
-
const pubkeyCache = createPubkeyCache();
|
|
35
33
|
const api = {
|
|
36
34
|
async close() {
|
|
37
35
|
abortController.abort();
|
|
@@ -41,7 +39,7 @@ const api = {
|
|
|
41
39
|
},
|
|
42
40
|
async getHistoricalState(slot) {
|
|
43
41
|
historicalStateRegenMetrics?.regenRequestCount.inc();
|
|
44
|
-
const stateBytes = await queue.push(() => getHistoricalState(slot, config, db,
|
|
42
|
+
const stateBytes = await queue.push(() => getHistoricalState(slot, config, db, workerData.nativeStateView, historicalStateRegenMetrics));
|
|
45
43
|
const result = Transfer(stateBytes, [stateBytes.buffer]);
|
|
46
44
|
historicalStateRegenMetrics?.regenSuccessCount.inc();
|
|
47
45
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/worker.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAC,QAAQ,EAAE,MAAM,EAAC,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAC,mBAAmB,EAAE,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAC,iBAAiB,EAAC,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/chain/archiveStore/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,2BAA2B,EAAC,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAC;AAEjD,oBAAY,WAAW;IACrB,SAAS,cAAc;CAIxB;AAED,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,0BAA0B,EAAE,MAAM,CAAC;IACnC;;OAEG;IACH,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG;IACjD,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/chain/archiveStore/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,2BAA2B,EAAC,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAC;AAEjD,oBAAY,WAAW;IACrB,SAAS,cAAc;CAIxB;AAED,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,0BAA0B,EAAE,MAAM,CAAC;IACnC;;OAEG;IACH,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG;IACjD,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,kBAAkB,EAAE,aAAa,CAAC;IAClC,kCAAkC,EAAE,MAAM,CAAC;IAC3C,qCAAqC,EAAE,MAAM,CAAC;IAC9C,gCAAgC,EAAE,MAAM,CAAC;CAC1C,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,qBAAqB,CAAC,SAAS,EAAE,2BAA2B,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvG,iBAAiB,CAAC,SAAS,EAAE,2BAA2B,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnG,YAAY,CAAC,SAAS,EAAE,2BAA2B,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/F;AAED,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB;;OAEG;IACH,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC;;OAEG;IACH,wBAAwB,CACtB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;QAAC,KAAK,EAAE,UAAU,CAAC;QAAC,mBAAmB,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAC,GAAG,IAAI,CAAC,CAAC;IACzF;;OAEG;IACH,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CheckpointWithHex } from "@lodestar/fork-choice";
|
|
2
|
-
import {
|
|
2
|
+
import { EffectiveBalanceIncrements, IBeaconStateView } from "@lodestar/state-transition";
|
|
3
3
|
import { RootHex } from "@lodestar/types";
|
|
4
4
|
/**
|
|
5
5
|
* Cache EffectiveBalanceIncrements of checkpoint blocks
|
|
@@ -11,7 +11,7 @@ export declare class CheckpointBalancesCache {
|
|
|
11
11
|
* `state.current_epoch`. If there is not already some entry for the given block root, then
|
|
12
12
|
* add the effective balances from the `state` to the cache.
|
|
13
13
|
*/
|
|
14
|
-
processState(blockRootHex: RootHex, state:
|
|
14
|
+
processState(blockRootHex: RootHex, state: IBeaconStateView): void;
|
|
15
15
|
get(checkpoint: CheckpointWithHex): EffectiveBalanceIncrements | undefined;
|
|
16
16
|
}
|
|
17
17
|
//# sourceMappingURL=balancesCache.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"balancesCache.d.ts","sourceRoot":"","sources":["../../src/chain/balancesCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"balancesCache.d.ts","sourceRoot":"","sources":["../../src/chain/balancesCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAC,0BAA0B,EAAE,gBAAgB,EAA0B,MAAM,4BAA4B,CAAC;AACjH,OAAO,EAAQ,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAY/C;;GAEG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2B;IAEjD;;;;OAIG;IACH,YAAY,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAcjE;IAED,GAAG,CAAC,UAAU,EAAE,iBAAiB,GAAG,0BAA0B,GAAG,SAAS,CAGzE;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { computeStartSlotAtEpoch
|
|
1
|
+
import { computeStartSlotAtEpoch } from "@lodestar/state-transition";
|
|
2
2
|
import { toRootHex } from "@lodestar/utils";
|
|
3
3
|
/** The number of validator balance sets that are cached within `CheckpointBalancesCache`. */
|
|
4
4
|
const MAX_BALANCE_CACHE_SIZE = 4;
|
|
@@ -13,16 +13,16 @@ export class CheckpointBalancesCache {
|
|
|
13
13
|
* add the effective balances from the `state` to the cache.
|
|
14
14
|
*/
|
|
15
15
|
processState(blockRootHex, state) {
|
|
16
|
-
const epoch = state.
|
|
16
|
+
const epoch = state.epoch;
|
|
17
17
|
const epochBoundarySlot = computeStartSlotAtEpoch(epoch);
|
|
18
|
-
const epochBoundaryRoot = epochBoundarySlot === state.slot ? blockRootHex : toRootHex(getBlockRootAtSlot(
|
|
18
|
+
const epochBoundaryRoot = epochBoundarySlot === state.slot ? blockRootHex : toRootHex(state.getBlockRootAtSlot(epochBoundarySlot));
|
|
19
19
|
const index = this.items.findIndex((item) => item.epoch === epoch && item.rootHex === epochBoundaryRoot);
|
|
20
20
|
if (index === -1) {
|
|
21
21
|
if (this.items.length === MAX_BALANCE_CACHE_SIZE) {
|
|
22
22
|
this.items.shift();
|
|
23
23
|
}
|
|
24
24
|
// expect to reach this once per epoch
|
|
25
|
-
this.items.push({ epoch, rootHex: epochBoundaryRoot, balances: getEffectiveBalanceIncrementsZeroInactive(
|
|
25
|
+
this.items.push({ epoch, rootHex: epochBoundaryRoot, balances: state.getEffectiveBalanceIncrementsZeroInactive() });
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
get(checkpoint) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"balancesCache.js","sourceRoot":"","sources":["../../src/chain/balancesCache.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"balancesCache.js","sourceRoot":"","sources":["../../src/chain/balancesCache.ts"],"names":[],"mappings":"AACA,OAAO,EAA+C,uBAAuB,EAAC,MAAM,4BAA4B,CAAC;AAEjH,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAE1C,6FAA6F;AAC7F,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAQjC;;GAEG;AACH,MAAM,OAAO,uBAAuB;IACjB,KAAK,GAAwB,EAAE,CAAC;IAEjD;;;;OAIG;IACH,YAAY,CAAC,YAAqB,EAAE,KAAuB,EAAQ;QACjE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,iBAAiB,GACrB,iBAAiB,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAE3G,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,iBAAiB,CAAC,CAAC;QACzG,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,sBAAsB,EAAE,CAAC;gBACjD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;YACD,sCAAsC;YACtC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,CAAC,yCAAyC,EAAE,EAAC,CAAC,CAAC;QACpH,CAAC;IAAA,CACF;IAED,GAAG,CAAC,UAA6B,EAA0C;QACzE,MAAM,EAAC,OAAO,EAAE,KAAK,EAAC,GAAG,UAAU,CAAC;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,EAAE,QAAQ,CAAC;IAAA,CAC9F;CACF"}
|
|
@@ -13,6 +13,7 @@ export type DAData = null | deneb.BlobSidecars | fulu.DataColumnSidecars;
|
|
|
13
13
|
* sources so each should be labelled individually.
|
|
14
14
|
*/
|
|
15
15
|
export declare enum BlockInputSource {
|
|
16
|
+
network_processor = "network_processor",
|
|
16
17
|
gossip = "gossip",
|
|
17
18
|
api = "api",
|
|
18
19
|
engine = "engine",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/chain/blocks/blockInput/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/chain/blocks/blockInput/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ export { BlockInputSource };
|
|
|
13
13
|
*/
|
|
14
14
|
var BlockInputSource;
|
|
15
15
|
(function (BlockInputSource) {
|
|
16
|
+
BlockInputSource["network_processor"] = "network_processor";
|
|
16
17
|
BlockInputSource["gossip"] = "gossip";
|
|
17
18
|
BlockInputSource["api"] = "api";
|
|
18
19
|
BlockInputSource["engine"] = "engine";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/chain/blocks/blockInput/types.ts"],"names":[],"mappings":"SAIY,MAAM;AAAlB,IAAY,MAKX;AALD,WAAY,MAAM;IAChB,8BAAoB,CAAA;IACpB,yBAAe,CAAA;IACf,6BAAmB,CAAA;IACnB,4BAAkB,CAAA;AAAC,CACrB,EALY,MAAM,KAAN,MAAM,QAKjB;SAQW,gBAAgB;AAJ5B;;;GAGG;AACH,IAAY,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/chain/blocks/blockInput/types.ts"],"names":[],"mappings":"SAIY,MAAM;AAAlB,IAAY,MAKX;AALD,WAAY,MAAM;IAChB,8BAAoB,CAAA;IACpB,yBAAe,CAAA;IACf,6BAAmB,CAAA;IACnB,4BAAkB,CAAA;AAAC,CACrB,EALY,MAAM,KAAN,MAAM,QAKjB;SAQW,gBAAgB;AAJ5B;;;GAGG;AACH,IAAY,gBAQX;AARD,WAAY,gBAAgB;IAC1B,2DAAuC,CAAA;IACvC,qCAAiB,CAAA;IACjB,+BAAW,CAAA;IACX,qCAAiB,CAAA;IACjB,iDAA6B,CAAA;IAC7B,+CAA2B,CAAA;IAC3B,yCAAqB,CAAA;AAAC,CACxB,EARY,gBAAgB,KAAhB,gBAAgB,QAQ3B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ForkPostElectra } from "@lodestar/params";
|
|
2
|
-
import {
|
|
2
|
+
import { IBeaconStateView } from "@lodestar/state-transition";
|
|
3
3
|
import { Attestation, electra, phase0 } from "@lodestar/types";
|
|
4
4
|
import type { BeaconChain } from "../chain.js";
|
|
5
5
|
import { FullyVerifiedBlock, ImportBlockOpts } from "./types.js";
|
|
@@ -24,6 +24,6 @@ import { FullyVerifiedBlock, ImportBlockOpts } from "./types.js";
|
|
|
24
24
|
* 7. Add post state to stateCache
|
|
25
25
|
*/
|
|
26
26
|
export declare function importBlock(this: BeaconChain, fullyVerifiedBlock: FullyVerifiedBlock, opts: ImportBlockOpts): Promise<void>;
|
|
27
|
-
export declare function addAttestationPreElectra(this: BeaconChain, _:
|
|
28
|
-
export declare function addAttestationPostElectra(this: BeaconChain,
|
|
27
|
+
export declare function addAttestationPreElectra(this: BeaconChain, _: IBeaconStateView, target: phase0.Checkpoint, attDataRoot: string, attestation: Attestation, indexedAttestation: phase0.IndexedAttestation): void;
|
|
28
|
+
export declare function addAttestationPostElectra(this: BeaconChain, state: IBeaconStateView, target: phase0.Checkpoint, attDataRoot: string, attestation: Attestation<ForkPostElectra>, indexedAttestation: electra.IndexedAttestation): void;
|
|
29
29
|
//# sourceMappingURL=importBlock.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"importBlock.d.ts","sourceRoot":"","sources":["../../../src/chain/blocks/importBlock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"importBlock.d.ts","sourceRoot":"","sources":["../../../src/chain/blocks/importBlock.ts"],"names":[],"mappings":"AAYA,OAAO,EAEL,eAAe,EAKhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,gBAAgB,EAMjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,WAAW,EAKX,OAAO,EAEP,MAAM,EAEP,MAAM,iBAAiB,CAAC;AAMzB,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAM7C,OAAO,EAAuB,kBAAkB,EAAE,eAAe,EAAC,MAAM,YAAY,CAAC;AAYrF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,WAAW,EACjB,kBAAkB,EAAE,kBAAkB,EACtC,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,IAAI,CAAC,CA0hBf;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,WAAW,EAEjB,CAAC,EAAE,gBAAgB,EACnB,MAAM,EAAE,MAAM,CAAC,UAAU,EACzB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,GAC5C,IAAI,CAQN;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,MAAM,CAAC,UAAU,EACzB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,CAAC,eAAe,CAAC,EACzC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,GAC7C,IAAI,CA+BN"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { BitArray } from "@chainsafe/ssz";
|
|
2
2
|
import { routes } from "@lodestar/api";
|
|
3
|
-
import { AncestorStatus, EpochDifference, ForkChoiceError, ForkChoiceErrorCode, NotReorgedReason, getSafeExecutionBlockHash, isGloasBlock, } from "@lodestar/fork-choice";
|
|
3
|
+
import { AncestorStatus, EpochDifference, ExecutionStatus, ForkChoiceError, ForkChoiceErrorCode, NotReorgedReason, getSafeExecutionBlockHash, isGloasBlock, } from "@lodestar/fork-choice";
|
|
4
4
|
import { ForkSeq, MAX_SEED_LOOKAHEAD, SLOTS_PER_EPOCH, } from "@lodestar/params";
|
|
5
|
-
import { RootCache, computeEpochAtSlot, computeStartSlotAtEpoch, computeTimeAtSlot,
|
|
5
|
+
import { RootCache, computeEpochAtSlot, computeStartSlotAtEpoch, computeTimeAtSlot, isStartSlotOfEpoch, } from "@lodestar/state-transition";
|
|
6
6
|
import { isGloasBeaconBlock, ssz, } from "@lodestar/types";
|
|
7
7
|
import { isErrorAborted, toRootHex } from "@lodestar/utils";
|
|
8
8
|
import { ZERO_HASH_HEX } from "../../constants/index.js";
|
|
@@ -45,7 +45,7 @@ const EVENTSTREAM_EMIT_RECENT_BLOCK_SLOTS = 64;
|
|
|
45
45
|
* 7. Add post state to stateCache
|
|
46
46
|
*/
|
|
47
47
|
export async function importBlock(fullyVerifiedBlock, opts) {
|
|
48
|
-
const { blockInput,
|
|
48
|
+
const { blockInput, postBlockState, parentBlockSlot, executionStatus, dataAvailabilityStatus, indexedAttestations } = fullyVerifiedBlock;
|
|
49
49
|
const block = blockInput.getBlock();
|
|
50
50
|
const source = blockInput.getBlockSource();
|
|
51
51
|
const { slot: blockSlot } = block.message;
|
|
@@ -55,7 +55,7 @@ export async function importBlock(fullyVerifiedBlock, opts) {
|
|
|
55
55
|
const currentEpoch = computeEpochAtSlot(currentSlot);
|
|
56
56
|
const blockEpoch = computeEpochAtSlot(blockSlot);
|
|
57
57
|
const prevFinalizedEpoch = this.forkChoice.getFinalizedCheckpoint().epoch;
|
|
58
|
-
const blockDelaySec = fullyVerifiedBlock.seenTimestampSec - computeTimeAtSlot(this.config, blockSlot,
|
|
58
|
+
const blockDelaySec = fullyVerifiedBlock.seenTimestampSec - computeTimeAtSlot(this.config, blockSlot, postBlockState.genesisTime);
|
|
59
59
|
const recvToValLatency = Date.now() / 1000 - (opts.seenTimestampSec ?? Date.now() / 1000);
|
|
60
60
|
const fork = this.config.getForkSeq(blockSlot);
|
|
61
61
|
// this is just a type assertion since blockinput with dataPromise type will not end up here
|
|
@@ -74,15 +74,15 @@ export async function importBlock(fullyVerifiedBlock, opts) {
|
|
|
74
74
|
});
|
|
75
75
|
// 2. Import block to fork choice
|
|
76
76
|
// Should compute checkpoint balances before forkchoice.onBlock
|
|
77
|
-
this.checkpointBalancesCache.processState(blockRootHex,
|
|
78
|
-
const blockSummary = this.forkChoice.onBlock(block.message,
|
|
77
|
+
this.checkpointBalancesCache.processState(blockRootHex, postBlockState);
|
|
78
|
+
const blockSummary = this.forkChoice.onBlock(block.message, postBlockState, blockDelaySec, currentSlot, fork >= ForkSeq.gloas ? ExecutionStatus.PayloadSeparated : executionStatus, dataAvailabilityStatus);
|
|
79
79
|
// This adds the state necessary to process the next block
|
|
80
80
|
// Some block event handlers require state being in state cache so need to do this before emitting EventType.block
|
|
81
81
|
// Pre-Gloas: blockSummary.payloadStatus is always FULL, payloadPresent = true
|
|
82
82
|
// Post-Gloas: blockSummary.payloadStatus is always PENDING, so payloadPresent = false (block state only, no payload processing yet)
|
|
83
83
|
const payloadPresent = !isGloasBlock(blockSummary);
|
|
84
84
|
// processState manages both block state and payload state variants together for memory/disk management
|
|
85
|
-
this.regen.processBlockState(blockRootHex,
|
|
85
|
+
this.regen.processBlockState(blockRootHex, postBlockState);
|
|
86
86
|
// For Gloas blocks, create PayloadEnvelopeInput so it's available for later payload import
|
|
87
87
|
if (fork >= ForkSeq.gloas) {
|
|
88
88
|
this.seenPayloadEnvelopeInputCache.add({
|
|
@@ -113,7 +113,7 @@ export async function importBlock(fullyVerifiedBlock, opts) {
|
|
|
113
113
|
if (opts.importAttestations === AttestationImportOpt.Force ||
|
|
114
114
|
(opts.importAttestations !== AttestationImportOpt.Skip && blockEpoch >= currentEpoch - FORK_CHOICE_ATT_EPOCH_LIMIT)) {
|
|
115
115
|
const attestations = block.message.body.attestations;
|
|
116
|
-
const rootCache = new RootCache(
|
|
116
|
+
const rootCache = new RootCache(postBlockState);
|
|
117
117
|
const invalidAttestationErrorsByCode = new Map();
|
|
118
118
|
const addAttestation = fork >= ForkSeq.electra ? addAttestationPostElectra : addAttestationPreElectra;
|
|
119
119
|
for (let i = 0; i < attestations.length; i++) {
|
|
@@ -122,7 +122,7 @@ export async function importBlock(fullyVerifiedBlock, opts) {
|
|
|
122
122
|
const indexedAttestation = indexedAttestations[i];
|
|
123
123
|
const { target, beaconBlockRoot } = attestation.data;
|
|
124
124
|
const attDataRoot = toRootHex(ssz.phase0.AttestationData.hashTreeRoot(indexedAttestation.data));
|
|
125
|
-
addAttestation.call(this,
|
|
125
|
+
addAttestation.call(this, postBlockState, target, attDataRoot, attestation, indexedAttestation);
|
|
126
126
|
// Duplicated logic from fork-choice onAttestation validation logic.
|
|
127
127
|
// Attestations outside of this range will be dropped as Errors, so no need to import
|
|
128
128
|
if (opts.importAttestations === AttestationImportOpt.Force ||
|
|
@@ -202,7 +202,7 @@ export async function importBlock(fullyVerifiedBlock, opts) {
|
|
|
202
202
|
const currFinalizedEpoch = this.forkChoice.getFinalizedCheckpoint().epoch;
|
|
203
203
|
if (newHead.blockRoot !== oldHead.blockRoot) {
|
|
204
204
|
// Set head state as strong reference
|
|
205
|
-
this.regen.updateHeadState(newHead,
|
|
205
|
+
this.regen.updateHeadState(newHead, postBlockState);
|
|
206
206
|
try {
|
|
207
207
|
this.emitter.emit(routes.events.EventType.head, {
|
|
208
208
|
block: newHead.blockRoot,
|
|
@@ -263,7 +263,7 @@ export async function importBlock(fullyVerifiedBlock, opts) {
|
|
|
263
263
|
// we want to import block asap so do this in the next event loop
|
|
264
264
|
callInNextEventLoop(() => {
|
|
265
265
|
try {
|
|
266
|
-
this.lightClientServer?.onImportBlockHead(block.message,
|
|
266
|
+
this.lightClientServer?.onImportBlockHead(block.message, postBlockState, parentBlockSlot);
|
|
267
267
|
}
|
|
268
268
|
catch (e) {
|
|
269
269
|
this.logger.verbose("Error lightClientServer.onImportBlock", { slot: blockSlot }, e);
|
|
@@ -280,11 +280,11 @@ export async function importBlock(fullyVerifiedBlock, opts) {
|
|
|
280
280
|
// Suppress fcu call if shouldOverrideFcu is true. This only happens if we have proposer boost reorg enabled
|
|
281
281
|
// and the block is weak and can potentially be reorged out.
|
|
282
282
|
let shouldOverrideFcu = false;
|
|
283
|
-
if (blockSlot >= currentSlot && isExecutionStateType
|
|
283
|
+
if (blockSlot >= currentSlot && postBlockState.isExecutionStateType) {
|
|
284
284
|
let notOverrideFcuReason = NotReorgedReason.Unknown;
|
|
285
285
|
const proposalSlot = blockSlot + 1;
|
|
286
286
|
try {
|
|
287
|
-
const proposerIndex =
|
|
287
|
+
const proposerIndex = postBlockState.getBeaconProposer(proposalSlot);
|
|
288
288
|
const feeRecipient = this.beaconProposerCache.get(proposerIndex);
|
|
289
289
|
if (feeRecipient) {
|
|
290
290
|
// We would set this to true if
|
|
@@ -353,25 +353,25 @@ export async function importBlock(fullyVerifiedBlock, opts) {
|
|
|
353
353
|
});
|
|
354
354
|
}
|
|
355
355
|
}
|
|
356
|
-
if (!isStateValidatorsNodesPopulated(
|
|
357
|
-
this.logger.verbose("After importBlock caching postState without SSZ cache", { slot:
|
|
356
|
+
if (!postBlockState.isStateValidatorsNodesPopulated()) {
|
|
357
|
+
this.logger.verbose("After importBlock caching postState without SSZ cache", { slot: postBlockState.slot });
|
|
358
358
|
}
|
|
359
359
|
// Cache shufflings when crossing an epoch boundary
|
|
360
360
|
const parentEpoch = computeEpochAtSlot(parentBlockSlot);
|
|
361
361
|
if (parentEpoch < blockEpoch) {
|
|
362
|
-
this.shufflingCache.processState(
|
|
362
|
+
this.shufflingCache.processState(postBlockState);
|
|
363
363
|
this.logger.verbose("Processed shuffling for next epoch", { parentEpoch, blockEpoch, slot: blockSlot });
|
|
364
364
|
}
|
|
365
365
|
if (blockSlot % SLOTS_PER_EPOCH === 0) {
|
|
366
366
|
// Cache state to preserve epoch transition work
|
|
367
|
-
const checkpointState =
|
|
367
|
+
const checkpointState = postBlockState;
|
|
368
368
|
const cp = getCheckpointFromState(checkpointState);
|
|
369
369
|
this.regen.addCheckpointState(cp, checkpointState, payloadPresent);
|
|
370
370
|
// consumers should not mutate state ever
|
|
371
371
|
this.emitter.emit(ChainEvent.checkpoint, cp, checkpointState);
|
|
372
372
|
// Note: in-lined code from previos handler of ChainEvent.checkpoint
|
|
373
373
|
this.logger.verbose("Checkpoint processed", toCheckpointHexPayload(cp, payloadPresent));
|
|
374
|
-
const activeValidatorsCount = checkpointState.
|
|
374
|
+
const activeValidatorsCount = checkpointState.activeValidatorCount;
|
|
375
375
|
this.metrics?.currentActiveValidators.set(activeValidatorsCount);
|
|
376
376
|
this.metrics?.currentValidators.set({ status: "active" }, activeValidatorsCount);
|
|
377
377
|
const parentBlockSummary = isGloasBeaconBlock(block.message)
|
|
@@ -445,7 +445,7 @@ export async function importBlock(fullyVerifiedBlock, opts) {
|
|
|
445
445
|
this.metrics?.proposerBalanceDeltaAny.observe(fullyVerifiedBlock.proposerBalanceDelta);
|
|
446
446
|
this.validatorMonitor?.registerImportedBlock(block.message, fullyVerifiedBlock);
|
|
447
447
|
if (this.config.getForkSeq(blockSlot) >= ForkSeq.altair) {
|
|
448
|
-
this.validatorMonitor?.registerSyncAggregateInBlock(blockEpoch, block.message.body.syncAggregate, fullyVerifiedBlock.
|
|
448
|
+
this.validatorMonitor?.registerSyncAggregateInBlock(blockEpoch, block.message.body.syncAggregate, fullyVerifiedBlock.postBlockState.currentSyncCommitteeIndexed.validatorIndices);
|
|
449
449
|
}
|
|
450
450
|
if (isBlockInputColumns(blockInput)) {
|
|
451
451
|
for (const { source } of blockInput.getSampledColumnsWithSource()) {
|
|
@@ -481,7 +481,7 @@ export function addAttestationPreElectra(
|
|
|
481
481
|
_, target, attDataRoot, attestation, indexedAttestation) {
|
|
482
482
|
this.seenAggregatedAttestations.add(target.epoch, attestation.data.index, attDataRoot, { aggregationBits: attestation.aggregationBits, trueBitCount: indexedAttestation.attestingIndices.length }, true);
|
|
483
483
|
}
|
|
484
|
-
export function addAttestationPostElectra(
|
|
484
|
+
export function addAttestationPostElectra(state, target, attDataRoot, attestation, indexedAttestation) {
|
|
485
485
|
const committeeIndices = attestation.committeeBits.getTrueBitIndexes();
|
|
486
486
|
if (committeeIndices.length === 1) {
|
|
487
487
|
this.seenAggregatedAttestations.add(target.epoch, committeeIndices[0], attDataRoot, { aggregationBits: attestation.aggregationBits, trueBitCount: indexedAttestation.attestingIndices.length }, true);
|
|
@@ -489,7 +489,7 @@ export function addAttestationPostElectra(epochCtx, target, attDataRoot, attesta
|
|
|
489
489
|
else {
|
|
490
490
|
const attSlot = attestation.data.slot;
|
|
491
491
|
const attEpoch = computeEpochAtSlot(attSlot);
|
|
492
|
-
const decisionRoot =
|
|
492
|
+
const decisionRoot = state.getShufflingDecisionRoot(attEpoch);
|
|
493
493
|
const committees = this.shufflingCache.getBeaconCommittees(attEpoch, decisionRoot, attSlot, committeeIndices);
|
|
494
494
|
const aggregationBools = attestation.aggregationBits.toBoolArray();
|
|
495
495
|
let offset = 0;
|