@lodestar/beacon-node 1.42.0-dev.4411584fd8 → 1.42.0-dev.5007abf468
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 +36 -17
- 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/historicalState/getHistoricalState.d.ts +2 -6
- package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +1 -1
- package/lib/chain/archiveStore/historicalState/getHistoricalState.js +3 -23
- package/lib/chain/archiveStore/historicalState/getHistoricalState.js.map +1 -1
- package/lib/chain/archiveStore/historicalState/worker.js +1 -0
- package/lib/chain/archiveStore/historicalState/worker.js.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 +4 -3
- 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 +27 -11
- package/lib/chain/blocks/importBlock.js.map +1 -1
- package/lib/chain/blocks/importExecutionPayload.d.ts +48 -0
- package/lib/chain/blocks/importExecutionPayload.d.ts.map +1 -0
- package/lib/chain/blocks/importExecutionPayload.js +158 -0
- package/lib/chain/blocks/importExecutionPayload.js.map +1 -0
- package/lib/chain/blocks/index.js +1 -1
- package/lib/chain/blocks/index.js.map +1 -1
- package/lib/chain/blocks/payloadEnvelopeInput/index.d.ts +3 -0
- package/lib/chain/blocks/payloadEnvelopeInput/index.d.ts.map +1 -0
- package/lib/chain/blocks/payloadEnvelopeInput/index.js +3 -0
- package/lib/chain/blocks/payloadEnvelopeInput/index.js.map +1 -0
- package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.d.ts +80 -0
- package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.d.ts.map +1 -0
- package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.js +248 -0
- package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.js.map +1 -0
- package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts +29 -0
- package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts.map +1 -0
- package/lib/chain/blocks/payloadEnvelopeInput/types.js +11 -0
- package/lib/chain/blocks/payloadEnvelopeInput/types.js.map +1 -0
- package/lib/chain/blocks/payloadEnvelopeProcessor.d.ts +15 -0
- package/lib/chain/blocks/payloadEnvelopeProcessor.d.ts.map +1 -0
- package/lib/chain/blocks/payloadEnvelopeProcessor.js +46 -0
- package/lib/chain/blocks/payloadEnvelopeProcessor.js.map +1 -0
- package/lib/chain/blocks/types.d.ts +9 -2
- 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 +3 -3
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +1 -1
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +3 -3
- 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/blocks/writePayloadEnvelopeInputToDb.d.ts +12 -0
- package/lib/chain/blocks/writePayloadEnvelopeInputToDb.d.ts.map +1 -0
- package/lib/chain/blocks/writePayloadEnvelopeInputToDb.js +40 -0
- package/lib/chain/blocks/writePayloadEnvelopeInputToDb.js.map +1 -0
- package/lib/chain/chain.d.ts +19 -14
- package/lib/chain/chain.d.ts.map +1 -1
- package/lib/chain/chain.js +75 -42
- 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/errors/executionPayloadEnvelope.d.ts +12 -2
- package/lib/chain/errors/executionPayloadEnvelope.d.ts.map +1 -1
- package/lib/chain/errors/executionPayloadEnvelope.js +3 -1
- package/lib/chain/errors/executionPayloadEnvelope.js.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 -33
- 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 +17 -15
- 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/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 +8 -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 +15 -13
- package/lib/chain/regen/interface.d.ts.map +1 -1
- package/lib/chain/regen/interface.js +2 -0
- package/lib/chain/regen/interface.js.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/seenCache/index.d.ts +1 -1
- package/lib/chain/seenCache/index.d.ts.map +1 -1
- package/lib/chain/seenCache/index.js +1 -1
- package/lib/chain/seenCache/index.js.map +1 -1
- package/lib/chain/seenCache/seenGossipBlockInput.js +2 -2
- package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
- package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts +38 -0
- package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts.map +1 -0
- package/lib/chain/seenCache/seenPayloadEnvelopeInput.js +76 -0
- package/lib/chain/seenCache/seenPayloadEnvelopeInput.js.map +1 -0
- 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 +29 -19
- 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 +4 -4
- package/lib/chain/validation/syncCommittee.d.ts.map +1 -1
- package/lib/chain/validation/syncCommittee.js +13 -12
- 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 +5 -4
- package/lib/chain/validatorMonitor.d.ts.map +1 -1
- package/lib/chain/validatorMonitor.js +12 -7
- package/lib/chain/validatorMonitor.js.map +1 -1
- package/lib/metrics/metrics/lodestar.d.ts +40 -4
- package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
- package/lib/metrics/metrics/lodestar.js +93 -15
- package/lib/metrics/metrics/lodestar.js.map +1 -1
- package/lib/network/gossip/encoding.d.ts.map +1 -1
- package/lib/network/gossip/encoding.js +15 -0
- package/lib/network/gossip/encoding.js.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 +5 -0
- 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/processor/extractSlotRootFns.d.ts +1 -1
- package/lib/network/processor/extractSlotRootFns.d.ts.map +1 -1
- package/lib/network/processor/extractSlotRootFns.js +15 -5
- package/lib/network/processor/extractSlotRootFns.js.map +1 -1
- package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
- package/lib/network/processor/gossipHandlers.js +39 -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 +3 -9
- package/lib/sync/unknownBlock.d.ts.map +1 -1
- package/lib/sync/unknownBlock.js +8 -41
- package/lib/sync/unknownBlock.js.map +1 -1
- package/lib/util/sszBytes.d.ts +4 -1
- package/lib/util/sszBytes.d.ts.map +1 -1
- package/lib/util/sszBytes.js +69 -12
- package/lib/util/sszBytes.js.map +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 +37 -18
- 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/historicalState/getHistoricalState.ts +6 -36
- package/src/chain/archiveStore/historicalState/worker.ts +1 -0
- package/src/chain/balancesCache.ts +5 -11
- package/src/chain/blocks/blockInput/types.ts +4 -3
- package/src/chain/blocks/importBlock.ts +47 -16
- package/src/chain/blocks/importExecutionPayload.ts +236 -0
- package/src/chain/blocks/index.ts +1 -1
- package/src/chain/blocks/payloadEnvelopeInput/index.ts +2 -0
- package/src/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.ts +336 -0
- package/src/chain/blocks/payloadEnvelopeInput/types.ts +33 -0
- package/src/chain/blocks/payloadEnvelopeProcessor.ts +61 -0
- package/src/chain/blocks/types.ts +10 -2
- package/src/chain/blocks/utils/checkpoint.ts +2 -2
- package/src/chain/blocks/verifyBlock.ts +5 -10
- package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +5 -10
- package/src/chain/blocks/verifyBlocksSignatures.ts +3 -3
- package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +6 -8
- package/src/chain/blocks/writePayloadEnvelopeInputToDb.ts +55 -0
- package/src/chain/chain.ts +112 -70
- package/src/chain/emitter.ts +2 -2
- package/src/chain/errors/blockError.ts +4 -4
- package/src/chain/errors/executionPayloadEnvelope.ts +6 -2
- package/src/chain/forkChoice/index.ts +33 -52
- package/src/chain/initState.ts +7 -2
- package/src/chain/interface.ts +18 -16
- 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/prepareNextSlot.ts +6 -8
- package/src/chain/produceBlock/computeNewStateRoot.ts +11 -10
- package/src/chain/produceBlock/produceBlockBody.ts +22 -49
- package/src/chain/regen/interface.ts +15 -17
- package/src/chain/regen/queued.ts +16 -20
- package/src/chain/regen/regen.ts +16 -17
- package/src/chain/seenCache/index.ts +1 -1
- package/src/chain/seenCache/seenGossipBlockInput.ts +2 -2
- package/src/chain/seenCache/seenPayloadEnvelopeInput.ts +106 -0
- 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 +36 -29
- 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 +21 -20
- package/src/chain/validation/syncCommitteeContributionAndProof.ts +5 -10
- package/src/chain/validation/voluntaryExit.ts +3 -8
- package/src/chain/validatorMonitor.ts +22 -11
- package/src/metrics/metrics/lodestar.ts +100 -19
- package/src/network/gossip/encoding.ts +16 -0
- package/src/network/interface.ts +15 -2
- package/src/network/libp2p/index.ts +5 -0
- package/src/network/network.ts +32 -4
- package/src/network/processor/extractSlotRootFns.ts +19 -6
- package/src/network/processor/gossipHandlers.ts +45 -8
- 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 +10 -50
- package/src/util/sszBytes.ts +90 -10
- package/src/util/types.ts +6 -0
- package/lib/chain/seenCache/seenExecutionPayloadEnvelope.d.ts +0 -15
- package/lib/chain/seenCache/seenExecutionPayloadEnvelope.d.ts.map +0 -1
- package/lib/chain/seenCache/seenExecutionPayloadEnvelope.js +0 -28
- package/lib/chain/seenCache/seenExecutionPayloadEnvelope.js.map +0 -1
- package/src/chain/seenCache/seenExecutionPayloadEnvelope.ts +0 -34
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/api/impl/validator/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,wBAAwB,EAAC,MAAM,kBAAkB,CAAC;AAC1D,OAAO,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/api/impl/validator/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
import { BeaconConfig } from "@lodestar/config";
|
|
2
|
-
import {
|
|
2
|
+
import { IBeaconStateView, type PubkeyCache } 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, pubkeyCache: PubkeyCache): Promise<
|
|
8
|
+
export declare function getNearestState(slot: number, config: BeaconConfig, db: IBeaconDb, pubkeyCache: PubkeyCache): Promise<IBeaconStateView>;
|
|
13
9
|
/**
|
|
14
10
|
* Get and regenerate a historical state
|
|
15
11
|
*/
|
|
@@ -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,EAChB,KAAK,WAAW,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,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,gBAAgB,CAAC,CAQ3B;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,EACpB,EAAE,EAAE,SAAS,EACb,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE,2BAA2B,GACpC,OAAO,CAAC,UAAU,CAAC,CA+CrB"}
|
|
@@ -1,19 +1,6 @@
|
|
|
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
|
*/
|
|
@@ -23,14 +10,7 @@ export async function getNearestState(slot, config, db, pubkeyCache) {
|
|
|
23
10
|
throw new Error("No near state found in the database");
|
|
24
11
|
}
|
|
25
12
|
const stateBytes = stateBytesArr[0];
|
|
26
|
-
|
|
27
|
-
syncPubkeyCache(state, pubkeyCache);
|
|
28
|
-
return createCachedBeaconState(state, {
|
|
29
|
-
config,
|
|
30
|
-
pubkeyCache,
|
|
31
|
-
}, {
|
|
32
|
-
skipSyncPubkeys: true,
|
|
33
|
-
});
|
|
13
|
+
return createBeaconStateViewForHistoricalRegen(config, stateBytes, pubkeyCache);
|
|
34
14
|
}
|
|
35
15
|
/**
|
|
36
16
|
* Get and regenerate a historical state
|
|
@@ -47,7 +27,7 @@ export async function getHistoricalState(slot, config, db, pubkeyCache, metrics)
|
|
|
47
27
|
let blockCount = 0;
|
|
48
28
|
for await (const block of db.blockArchive.valuesStream({ gt: state.slot, lte: slot })) {
|
|
49
29
|
try {
|
|
50
|
-
state = stateTransition(
|
|
30
|
+
state = state.stateTransition(block, {
|
|
51
31
|
verifyProposer: false,
|
|
52
32
|
verifySignatures: false,
|
|
53
33
|
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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"}
|
|
@@ -31,6 +31,7 @@ const queue = new JobFnQueue({
|
|
|
31
31
|
maxLength: workerData.maxLength,
|
|
32
32
|
signal: abortController.signal,
|
|
33
33
|
}, queueMetrics);
|
|
34
|
+
// Reuse a single pubkey cache across all historical state regen calls in this worker
|
|
34
35
|
const pubkeyCache = createPubkeyCache();
|
|
35
36
|
const api = {
|
|
36
37
|
async close() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/worker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ForkName } from "@lodestar/params";
|
|
2
|
-
import { ColumnIndex, RootHex, SignedBeaconBlock, Slot, deneb, fulu } from "@lodestar/types";
|
|
2
|
+
import { ColumnIndex, DataColumnSidecars, RootHex, SignedBeaconBlock, Slot, deneb, fulu } from "@lodestar/types";
|
|
3
3
|
import { VersionedHashes } from "../../../execution/index.js";
|
|
4
4
|
export declare enum DAType {
|
|
5
5
|
PreData = "pre-data",
|
|
@@ -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",
|
|
@@ -94,9 +95,9 @@ export type MissingColumnMeta = {
|
|
|
94
95
|
export interface IDataColumnsInput {
|
|
95
96
|
readonly slot: Slot;
|
|
96
97
|
readonly blockRootHex: string;
|
|
97
|
-
getCustodyColumns():
|
|
98
|
+
getCustodyColumns(): DataColumnSidecars;
|
|
98
99
|
hasComputedAllData(): boolean;
|
|
99
|
-
waitForComputedAllData(timeout: number, signal?: AbortSignal): Promise<
|
|
100
|
+
waitForComputedAllData(timeout: number, signal?: AbortSignal): Promise<DataColumnSidecars>;
|
|
100
101
|
}
|
|
101
102
|
/**
|
|
102
103
|
* This is used to validate that BlockInput implementations follow some minimal subset of operations
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/chain/blocks/blockInput/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAC,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;
|
|
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":"AAWA,OAAO,
|
|
1
|
+
{"version":3,"file":"importBlock.d.ts","sourceRoot":"","sources":["../../../src/chain/blocks/importBlock.ts"],"names":[],"mappings":"AAWA,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,9 +1,9 @@
|
|
|
1
1
|
import { BitArray } from "@chainsafe/ssz";
|
|
2
2
|
import { routes } from "@lodestar/api";
|
|
3
3
|
import { AncestorStatus, EpochDifference, ForkChoiceError, ForkChoiceErrorCode, NotReorgedReason, getSafeExecutionBlockHash, isGloasBlock, } from "@lodestar/fork-choice";
|
|
4
|
-
import { ForkSeq, MAX_SEED_LOOKAHEAD, SLOTS_PER_EPOCH } from "@lodestar/params";
|
|
5
|
-
import { RootCache, computeEpochAtSlot, computeStartSlotAtEpoch, computeTimeAtSlot,
|
|
6
|
-
import { isGloasBeaconBlock, ssz } from "@lodestar/types";
|
|
4
|
+
import { ForkSeq, MAX_SEED_LOOKAHEAD, SLOTS_PER_EPOCH, } from "@lodestar/params";
|
|
5
|
+
import { RootCache, computeEpochAtSlot, computeStartSlotAtEpoch, computeTimeAtSlot, isStartSlotOfEpoch, } from "@lodestar/state-transition";
|
|
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";
|
|
9
9
|
import { callInNextEventLoop } from "../../util/eventLoop.js";
|
|
@@ -83,6 +83,22 @@ export async function importBlock(fullyVerifiedBlock, opts) {
|
|
|
83
83
|
const payloadPresent = !isGloasBlock(blockSummary);
|
|
84
84
|
// processState manages both block state and payload state variants together for memory/disk management
|
|
85
85
|
this.regen.processBlockState(blockRootHex, postState);
|
|
86
|
+
// For Gloas blocks, create PayloadEnvelopeInput so it's available for later payload import
|
|
87
|
+
if (fork >= ForkSeq.gloas) {
|
|
88
|
+
this.seenPayloadEnvelopeInputCache.add({
|
|
89
|
+
blockRootHex,
|
|
90
|
+
block: block,
|
|
91
|
+
sampledColumns: this.custodyConfig.sampledColumns,
|
|
92
|
+
custodyColumns: this.custodyConfig.custodyColumns,
|
|
93
|
+
timeCreatedSec: fullyVerifiedBlock.seenTimestampSec,
|
|
94
|
+
});
|
|
95
|
+
this.logger.debug("Created PayloadEnvelopeInput for block", {
|
|
96
|
+
slot: blockSlot,
|
|
97
|
+
root: blockRootHex,
|
|
98
|
+
source: source.source,
|
|
99
|
+
...(opts.seenTimestampSec !== undefined ? { recvToImport: Date.now() / 1000 - opts.seenTimestampSec } : {}),
|
|
100
|
+
});
|
|
101
|
+
}
|
|
86
102
|
this.metrics?.importBlock.bySource.inc({ source: source.source });
|
|
87
103
|
this.logger.verbose("Added block to forkchoice and state cache", { slot: blockSlot, root: blockRootHex });
|
|
88
104
|
// 3. Import attestations to fork choice
|
|
@@ -106,7 +122,7 @@ export async function importBlock(fullyVerifiedBlock, opts) {
|
|
|
106
122
|
const indexedAttestation = indexedAttestations[i];
|
|
107
123
|
const { target, beaconBlockRoot } = attestation.data;
|
|
108
124
|
const attDataRoot = toRootHex(ssz.phase0.AttestationData.hashTreeRoot(indexedAttestation.data));
|
|
109
|
-
addAttestation.call(this, postState
|
|
125
|
+
addAttestation.call(this, postState, target, attDataRoot, attestation, indexedAttestation);
|
|
110
126
|
// Duplicated logic from fork-choice onAttestation validation logic.
|
|
111
127
|
// Attestations outside of this range will be dropped as Errors, so no need to import
|
|
112
128
|
if (opts.importAttestations === AttestationImportOpt.Force ||
|
|
@@ -264,11 +280,11 @@ export async function importBlock(fullyVerifiedBlock, opts) {
|
|
|
264
280
|
// Suppress fcu call if shouldOverrideFcu is true. This only happens if we have proposer boost reorg enabled
|
|
265
281
|
// and the block is weak and can potentially be reorged out.
|
|
266
282
|
let shouldOverrideFcu = false;
|
|
267
|
-
if (blockSlot >= currentSlot && isExecutionStateType
|
|
283
|
+
if (blockSlot >= currentSlot && postState.isExecutionStateType) {
|
|
268
284
|
let notOverrideFcuReason = NotReorgedReason.Unknown;
|
|
269
285
|
const proposalSlot = blockSlot + 1;
|
|
270
286
|
try {
|
|
271
|
-
const proposerIndex = postState.
|
|
287
|
+
const proposerIndex = postState.getBeaconProposer(proposalSlot);
|
|
272
288
|
const feeRecipient = this.beaconProposerCache.get(proposerIndex);
|
|
273
289
|
if (feeRecipient) {
|
|
274
290
|
// We would set this to true if
|
|
@@ -337,7 +353,7 @@ export async function importBlock(fullyVerifiedBlock, opts) {
|
|
|
337
353
|
});
|
|
338
354
|
}
|
|
339
355
|
}
|
|
340
|
-
if (!isStateValidatorsNodesPopulated(
|
|
356
|
+
if (!postState.isStateValidatorsNodesPopulated()) {
|
|
341
357
|
this.logger.verbose("After importBlock caching postState without SSZ cache", { slot: postState.slot });
|
|
342
358
|
}
|
|
343
359
|
// Cache shufflings when crossing an epoch boundary
|
|
@@ -355,7 +371,7 @@ export async function importBlock(fullyVerifiedBlock, opts) {
|
|
|
355
371
|
this.emitter.emit(ChainEvent.checkpoint, cp, checkpointState);
|
|
356
372
|
// Note: in-lined code from previos handler of ChainEvent.checkpoint
|
|
357
373
|
this.logger.verbose("Checkpoint processed", toCheckpointHexPayload(cp, payloadPresent));
|
|
358
|
-
const activeValidatorsCount = checkpointState.
|
|
374
|
+
const activeValidatorsCount = checkpointState.activeValidatorCount;
|
|
359
375
|
this.metrics?.currentActiveValidators.set(activeValidatorsCount);
|
|
360
376
|
this.metrics?.currentValidators.set({ status: "active" }, activeValidatorsCount);
|
|
361
377
|
const parentBlockSummary = isGloasBeaconBlock(block.message)
|
|
@@ -429,7 +445,7 @@ export async function importBlock(fullyVerifiedBlock, opts) {
|
|
|
429
445
|
this.metrics?.proposerBalanceDeltaAny.observe(fullyVerifiedBlock.proposerBalanceDelta);
|
|
430
446
|
this.validatorMonitor?.registerImportedBlock(block.message, fullyVerifiedBlock);
|
|
431
447
|
if (this.config.getForkSeq(blockSlot) >= ForkSeq.altair) {
|
|
432
|
-
this.validatorMonitor?.registerSyncAggregateInBlock(blockEpoch, block.message.body.syncAggregate, fullyVerifiedBlock.postState.
|
|
448
|
+
this.validatorMonitor?.registerSyncAggregateInBlock(blockEpoch, block.message.body.syncAggregate, fullyVerifiedBlock.postState.currentSyncCommitteeIndexed.validatorIndices);
|
|
433
449
|
}
|
|
434
450
|
if (isBlockInputColumns(blockInput)) {
|
|
435
451
|
for (const { source } of blockInput.getSampledColumnsWithSource()) {
|
|
@@ -465,7 +481,7 @@ export function addAttestationPreElectra(
|
|
|
465
481
|
_, target, attDataRoot, attestation, indexedAttestation) {
|
|
466
482
|
this.seenAggregatedAttestations.add(target.epoch, attestation.data.index, attDataRoot, { aggregationBits: attestation.aggregationBits, trueBitCount: indexedAttestation.attestingIndices.length }, true);
|
|
467
483
|
}
|
|
468
|
-
export function addAttestationPostElectra(
|
|
484
|
+
export function addAttestationPostElectra(state, target, attDataRoot, attestation, indexedAttestation) {
|
|
469
485
|
const committeeIndices = attestation.committeeBits.getTrueBitIndexes();
|
|
470
486
|
if (committeeIndices.length === 1) {
|
|
471
487
|
this.seenAggregatedAttestations.add(target.epoch, committeeIndices[0], attDataRoot, { aggregationBits: attestation.aggregationBits, trueBitCount: indexedAttestation.attestingIndices.length }, true);
|
|
@@ -473,7 +489,7 @@ export function addAttestationPostElectra(epochCtx, target, attDataRoot, attesta
|
|
|
473
489
|
else {
|
|
474
490
|
const attSlot = attestation.data.slot;
|
|
475
491
|
const attEpoch = computeEpochAtSlot(attSlot);
|
|
476
|
-
const decisionRoot =
|
|
492
|
+
const decisionRoot = state.getShufflingDecisionRoot(attEpoch);
|
|
477
493
|
const committees = this.shufflingCache.getBeaconCommittees(attEpoch, decisionRoot, attSlot, committeeIndices);
|
|
478
494
|
const aggregationBools = attestation.aggregationBits.toBoolArray();
|
|
479
495
|
let offset = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"importBlock.js","sourceRoot":"","sources":["../../../src/chain/blocks/importBlock.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"importBlock.js","sourceRoot":"","sources":["../../../src/chain/blocks/importBlock.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { ExecutionPayloadStatus } from "../../execution/index.js";
|
|
2
|
+
import { BeaconChain } from "../chain.js";
|
|
3
|
+
import { PayloadEnvelopeInput } from "../seenCache/seenPayloadEnvelopeInput.js";
|
|
4
|
+
import { ImportPayloadOpts } from "./types.js";
|
|
5
|
+
export declare enum PayloadErrorCode {
|
|
6
|
+
EXECUTION_ENGINE_INVALID = "PAYLOAD_ERROR_EXECUTION_ENGINE_INVALID",
|
|
7
|
+
EXECUTION_ENGINE_ERROR = "PAYLOAD_ERROR_EXECUTION_ENGINE_ERROR",
|
|
8
|
+
BLOCK_NOT_IN_FORK_CHOICE = "PAYLOAD_ERROR_BLOCK_NOT_IN_FORK_CHOICE",
|
|
9
|
+
STATE_TRANSITION_ERROR = "PAYLOAD_ERROR_STATE_TRANSITION_ERROR",
|
|
10
|
+
INVALID_SIGNATURE = "PAYLOAD_ERROR_INVALID_SIGNATURE"
|
|
11
|
+
}
|
|
12
|
+
export type PayloadErrorType = {
|
|
13
|
+
code: PayloadErrorCode.EXECUTION_ENGINE_INVALID;
|
|
14
|
+
execStatus: ExecutionPayloadStatus;
|
|
15
|
+
errorMessage: string;
|
|
16
|
+
} | {
|
|
17
|
+
code: PayloadErrorCode.EXECUTION_ENGINE_ERROR;
|
|
18
|
+
execStatus: ExecutionPayloadStatus;
|
|
19
|
+
errorMessage: string;
|
|
20
|
+
} | {
|
|
21
|
+
code: PayloadErrorCode.BLOCK_NOT_IN_FORK_CHOICE;
|
|
22
|
+
blockRootHex: string;
|
|
23
|
+
} | {
|
|
24
|
+
code: PayloadErrorCode.STATE_TRANSITION_ERROR;
|
|
25
|
+
message: string;
|
|
26
|
+
} | {
|
|
27
|
+
code: PayloadErrorCode.INVALID_SIGNATURE;
|
|
28
|
+
};
|
|
29
|
+
export declare class PayloadError extends Error {
|
|
30
|
+
type: PayloadErrorType;
|
|
31
|
+
constructor(type: PayloadErrorType, message?: string);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Import an execution payload envelope after all data is available.
|
|
35
|
+
*
|
|
36
|
+
* This function:
|
|
37
|
+
* 1. Gets the ProtoBlock from fork choice
|
|
38
|
+
* 2. Applies write-queue backpressure (waitForSpace) early, before verification
|
|
39
|
+
* 3. Regenerates the block state
|
|
40
|
+
* 4. Runs EL verification (notifyNewPayload) in parallel with signature verification and processExecutionPayloadEnvelope
|
|
41
|
+
* 5. Persists verified payload envelope to hot DB
|
|
42
|
+
* 6. Updates fork choice
|
|
43
|
+
* 7. Caches the post-execution payload state
|
|
44
|
+
* 8. Records metrics for column sources
|
|
45
|
+
*
|
|
46
|
+
*/
|
|
47
|
+
export declare function importExecutionPayload(this: BeaconChain, payloadInput: PayloadEnvelopeInput, opts?: ImportPayloadOpts): Promise<void>;
|
|
48
|
+
//# sourceMappingURL=importExecutionPayload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"importExecutionPayload.d.ts","sourceRoot":"","sources":["../../../src/chain/blocks/importExecutionPayload.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAExC,OAAO,EAAC,oBAAoB,EAAC,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAC,iBAAiB,EAAC,MAAM,YAAY,CAAC;AAI7C,oBAAY,gBAAgB;IAC1B,wBAAwB,2CAA2C;IACnE,sBAAsB,yCAAyC;IAC/D,wBAAwB,2CAA2C;IACnE,sBAAsB,yCAAyC;IAC/D,iBAAiB,oCAAoC;CACtD;AAED,MAAM,MAAM,gBAAgB,GACxB;IACE,IAAI,EAAE,gBAAgB,CAAC,wBAAwB,CAAC;IAChD,UAAU,EAAE,sBAAsB,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC;CACtB,GACD;IACE,IAAI,EAAE,gBAAgB,CAAC,sBAAsB,CAAC;IAC9C,UAAU,EAAE,sBAAsB,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC;CACtB,GACD;IACE,IAAI,EAAE,gBAAgB,CAAC,wBAAwB,CAAC;IAChD,YAAY,EAAE,MAAM,CAAC;CACtB,GACD;IACE,IAAI,EAAE,gBAAgB,CAAC,sBAAsB,CAAC;IAC9C,OAAO,EAAE,MAAM,CAAC;CACjB,GACD;IACE,IAAI,EAAE,gBAAgB,CAAC,iBAAiB,CAAC;CAC1C,CAAC;AAEN,qBAAa,YAAa,SAAQ,KAAK;IACrC,IAAI,EAAE,gBAAgB,CAAC;IAEvB,YAAY,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,MAAM,EAGnD;CACF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,WAAW,EACjB,YAAY,EAAE,oBAAoB,EAClC,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAoKf"}
|