@lodestar/beacon-node 1.51.0-dev.1b1888604e → 1.51.0-dev.1b22218e60
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/api.js +1 -1
- package/lib/api/impl/api.js.map +1 -1
- package/lib/api/impl/beacon/blocks/index.d.ts +2 -1
- package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
- package/lib/api/impl/beacon/blocks/index.js +48 -95
- package/lib/api/impl/beacon/blocks/index.js.map +1 -1
- package/lib/api/impl/beacon/index.d.ts +2 -1
- package/lib/api/impl/beacon/index.d.ts.map +1 -1
- package/lib/api/impl/beacon/index.js +2 -2
- package/lib/api/impl/beacon/index.js.map +1 -1
- package/lib/api/impl/beacon/pool/index.d.ts.map +1 -1
- package/lib/api/impl/beacon/pool/index.js +22 -2
- 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 +8 -2
- package/lib/api/impl/beacon/state/index.js.map +1 -1
- package/lib/api/impl/beacon/state/utils.d.ts +3 -2
- package/lib/api/impl/beacon/state/utils.d.ts.map +1 -1
- package/lib/api/impl/beacon/state/utils.js +17 -9
- package/lib/api/impl/beacon/state/utils.js.map +1 -1
- package/lib/api/impl/debug/index.d.ts.map +1 -1
- package/lib/api/impl/debug/index.js +3 -0
- package/lib/api/impl/debug/index.js.map +1 -1
- package/lib/api/impl/validator/index.d.ts +6 -0
- package/lib/api/impl/validator/index.d.ts.map +1 -1
- package/lib/api/impl/validator/index.js +142 -34
- package/lib/api/impl/validator/index.js.map +1 -1
- package/lib/api/options.d.ts +2 -0
- package/lib/api/options.d.ts.map +1 -1
- package/lib/api/options.js +1 -0
- package/lib/api/options.js.map +1 -1
- package/lib/chain/GetBlobsTracker.d.ts +13 -2
- package/lib/chain/GetBlobsTracker.d.ts.map +1 -1
- package/lib/chain/GetBlobsTracker.js +69 -35
- package/lib/chain/GetBlobsTracker.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/utils/archiveBlocks.d.ts +4 -0
- package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +1 -1
- package/lib/chain/archiveStore/utils/archiveBlocks.js +61 -97
- package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
- package/lib/chain/blocks/blockInput/blockInput.d.ts +11 -56
- package/lib/chain/blocks/blockInput/blockInput.d.ts.map +1 -1
- package/lib/chain/blocks/blockInput/blockInput.js +5 -241
- package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
- package/lib/chain/blocks/blockInput/errors.d.ts +2 -4
- package/lib/chain/blocks/blockInput/errors.d.ts.map +1 -1
- package/lib/chain/blocks/blockInput/errors.js.map +1 -1
- package/lib/chain/blocks/blockInput/types.d.ts +2 -18
- package/lib/chain/blocks/blockInput/types.d.ts.map +1 -1
- package/lib/chain/blocks/blockInput/types.js +0 -1
- package/lib/chain/blocks/blockInput/types.js.map +1 -1
- package/lib/chain/blocks/importBlock.d.ts.map +1 -1
- package/lib/chain/blocks/importBlock.js +42 -57
- package/lib/chain/blocks/importBlock.js.map +1 -1
- package/lib/chain/blocks/importExecutionPayload.d.ts +10 -11
- package/lib/chain/blocks/importExecutionPayload.d.ts.map +1 -1
- package/lib/chain/blocks/importExecutionPayload.js +82 -20
- 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 +4 -4
- package/lib/chain/blocks/index.js.map +1 -1
- package/lib/chain/blocks/payloadEnvelopeProcessor.d.ts +12 -9
- package/lib/chain/blocks/payloadEnvelopeProcessor.d.ts.map +1 -1
- package/lib/chain/blocks/payloadEnvelopeProcessor.js +24 -19
- package/lib/chain/blocks/payloadEnvelopeProcessor.js.map +1 -1
- package/lib/chain/blocks/types.d.ts +7 -19
- package/lib/chain/blocks/types.d.ts.map +1 -1
- package/lib/chain/blocks/types.js +5 -24
- package/lib/chain/blocks/types.js.map +1 -1
- package/lib/chain/blocks/verifyBlock.d.ts.map +1 -1
- package/lib/chain/blocks/verifyBlock.js +18 -7
- package/lib/chain/blocks/verifyBlock.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +1 -1
- package/lib/chain/blocks/verifyBlocksDataAvailability.js +14 -2
- package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts +1 -1
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +1 -1
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +7 -3
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +1 -1
- package/lib/chain/blocks/verifyBlocksSanityChecks.js +4 -0
- package/lib/chain/blocks/verifyBlocksSanityChecks.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +1 -1
- package/lib/chain/blocks/verifyBlocksSignatures.js +10 -5
- package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
- package/lib/chain/blocks/verifyPayloadsDataAvailability.d.ts +3 -3
- package/lib/chain/blocks/verifyPayloadsDataAvailability.d.ts.map +1 -1
- package/lib/chain/blocks/verifyPayloadsDataAvailability.js +11 -6
- package/lib/chain/blocks/verifyPayloadsDataAvailability.js.map +1 -1
- package/lib/chain/blocks/writeBlockInputToDb.d.ts +0 -2
- package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +1 -1
- package/lib/chain/blocks/writeBlockInputToDb.js +6 -24
- package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
- package/lib/chain/bls/interface.d.ts +2 -0
- package/lib/chain/bls/interface.d.ts.map +1 -1
- package/lib/chain/bls/multithread/index.d.ts +1 -1
- package/lib/chain/bls/multithread/index.d.ts.map +1 -1
- package/lib/chain/bls/multithread/index.js +50 -22
- package/lib/chain/bls/multithread/index.js.map +1 -1
- package/lib/chain/bls/multithread/types.d.ts +1 -1
- package/lib/chain/bls/multithread/types.d.ts.map +1 -1
- package/lib/chain/bls/multithread/worker.js +1 -1
- package/lib/chain/bls/multithread/worker.js.map +1 -1
- package/lib/chain/bls/singleThread.js +1 -1
- package/lib/chain/bls/singleThread.js.map +1 -1
- package/lib/chain/bls/utils.js +1 -1
- package/lib/chain/bls/utils.js.map +1 -1
- package/lib/chain/chain.d.ts +26 -4
- package/lib/chain/chain.d.ts.map +1 -1
- package/lib/chain/chain.js +127 -43
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/emitter.d.ts +7 -7
- package/lib/chain/emitter.d.ts.map +1 -1
- package/lib/chain/emitter.js +5 -5
- package/lib/chain/emitter.js.map +1 -1
- package/lib/chain/errors/blockError.d.ts +1 -1
- package/lib/chain/errors/blockError.d.ts.map +1 -1
- package/lib/chain/errors/blockError.js +1 -1
- package/lib/chain/errors/blockError.js.map +1 -1
- package/lib/chain/errors/executionPayloadBid.d.ts +11 -1
- package/lib/chain/errors/executionPayloadBid.d.ts.map +1 -1
- package/lib/chain/errors/executionPayloadBid.js +2 -0
- package/lib/chain/errors/executionPayloadBid.js.map +1 -1
- package/lib/chain/errors/executionPayloadEnvelope.d.ts +7 -0
- package/lib/chain/errors/executionPayloadEnvelope.d.ts.map +1 -1
- package/lib/chain/errors/executionPayloadEnvelope.js +1 -0
- package/lib/chain/errors/executionPayloadEnvelope.js.map +1 -1
- package/lib/chain/errors/inclusionList.d.ts +60 -0
- package/lib/chain/errors/inclusionList.d.ts.map +1 -0
- package/lib/chain/errors/inclusionList.js +19 -0
- package/lib/chain/errors/inclusionList.js.map +1 -0
- package/lib/chain/errors/index.d.ts +1 -1
- package/lib/chain/errors/index.d.ts.map +1 -1
- package/lib/chain/errors/index.js +1 -1
- package/lib/chain/errors/index.js.map +1 -1
- package/lib/chain/forkChoice/index.d.ts +11 -1
- package/lib/chain/forkChoice/index.d.ts.map +1 -1
- package/lib/chain/forkChoice/index.js +11 -0
- package/lib/chain/forkChoice/index.js.map +1 -1
- package/lib/chain/forkChoiceExecutionEngine.d.ts +51 -0
- package/lib/chain/forkChoiceExecutionEngine.d.ts.map +1 -0
- package/lib/chain/forkChoiceExecutionEngine.js +117 -0
- package/lib/chain/forkChoiceExecutionEngine.js.map +1 -0
- package/lib/chain/interface.d.ts +10 -7
- package/lib/chain/interface.d.ts.map +1 -1
- package/lib/chain/interface.js.map +1 -1
- package/lib/chain/opPools/aggregatedAttestationPool.d.ts +17 -4
- package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
- package/lib/chain/opPools/aggregatedAttestationPool.js +199 -46
- package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
- package/lib/chain/opPools/attestationPool.d.ts +1 -1
- package/lib/chain/opPools/attestationPool.d.ts.map +1 -1
- package/lib/chain/opPools/attestationPool.js +15 -4
- package/lib/chain/opPools/attestationPool.js.map +1 -1
- package/lib/chain/opPools/inclusionListStore.d.ts +63 -0
- package/lib/chain/opPools/inclusionListStore.d.ts.map +1 -0
- package/lib/chain/opPools/inclusionListStore.js +171 -0
- package/lib/chain/opPools/inclusionListStore.js.map +1 -0
- package/lib/chain/opPools/index.d.ts +2 -0
- package/lib/chain/opPools/index.d.ts.map +1 -1
- package/lib/chain/opPools/index.js +2 -0
- package/lib/chain/opPools/index.js.map +1 -1
- package/lib/chain/opPools/payloadAttestationPool.d.ts.map +1 -1
- package/lib/chain/opPools/payloadAttestationPool.js +17 -7
- package/lib/chain/opPools/payloadAttestationPool.js.map +1 -1
- package/lib/chain/opPools/singleAttestationPool.d.ts +77 -0
- package/lib/chain/opPools/singleAttestationPool.d.ts.map +1 -0
- package/lib/chain/opPools/singleAttestationPool.js +209 -0
- package/lib/chain/opPools/singleAttestationPool.js.map +1 -0
- package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +1 -1
- package/lib/chain/opPools/syncCommitteeMessagePool.js +9 -3
- package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
- package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +1 -1
- package/lib/chain/opPools/syncContributionAndProofPool.js +11 -3
- package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
- package/lib/chain/opPools/utils.d.ts +1 -1
- 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 +5 -3
- package/lib/chain/options.d.ts.map +1 -1
- package/lib/chain/options.js +0 -1
- package/lib/chain/options.js.map +1 -1
- package/lib/chain/produceBlock/produceBlockBody.d.ts +6 -3
- package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
- package/lib/chain/produceBlock/produceBlockBody.js +32 -11
- package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
- package/lib/chain/proposerTracker.d.ts +31 -0
- package/lib/chain/proposerTracker.d.ts.map +1 -0
- package/lib/chain/proposerTracker.js +75 -0
- package/lib/chain/proposerTracker.js.map +1 -0
- package/lib/chain/regen/interface.d.ts +2 -2
- package/lib/chain/regen/interface.d.ts.map +1 -1
- package/lib/chain/regen/interface.js +1 -1
- package/lib/chain/regen/interface.js.map +1 -1
- package/lib/chain/regen/queued.d.ts +1 -1
- package/lib/chain/regen/queued.d.ts.map +1 -1
- package/lib/chain/regen/queued.js +5 -3
- package/lib/chain/regen/queued.js.map +1 -1
- package/lib/chain/seenCache/seenGossipBlockInput.d.ts +7 -14
- package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +1 -1
- package/lib/chain/seenCache/seenGossipBlockInput.js +6 -65
- package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
- package/lib/chain/validation/aggregateAndProof.js +1 -1
- package/lib/chain/validation/aggregateAndProof.js.map +1 -1
- package/lib/chain/validation/attestation.js +1 -1
- package/lib/chain/validation/attestation.js.map +1 -1
- package/lib/chain/validation/executionPayloadBid.d.ts +0 -15
- package/lib/chain/validation/executionPayloadBid.d.ts.map +1 -1
- package/lib/chain/validation/executionPayloadBid.js +37 -158
- package/lib/chain/validation/executionPayloadBid.js.map +1 -1
- package/lib/chain/validation/executionPayloadEnvelope.d.ts +6 -0
- package/lib/chain/validation/executionPayloadEnvelope.d.ts.map +1 -1
- package/lib/chain/validation/executionPayloadEnvelope.js +53 -0
- package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
- package/lib/chain/validation/inclusionList.d.ts +14 -0
- package/lib/chain/validation/inclusionList.d.ts.map +1 -0
- package/lib/chain/validation/inclusionList.js +150 -0
- package/lib/chain/validation/inclusionList.js.map +1 -0
- package/lib/chain/validation/index.d.ts +1 -0
- package/lib/chain/validation/index.d.ts.map +1 -1
- package/lib/chain/validation/index.js +1 -0
- package/lib/chain/validation/index.js.map +1 -1
- package/lib/chain/validation/syncCommittee.d.ts.map +1 -1
- package/lib/chain/validation/syncCommittee.js +16 -10
- 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 +11 -0
- package/lib/chain/validation/syncCommitteeContributionAndProof.js.map +1 -1
- package/lib/chain/validatorMonitor.d.ts +1 -2
- package/lib/chain/validatorMonitor.d.ts.map +1 -1
- package/lib/chain/validatorMonitor.js +0 -3
- package/lib/chain/validatorMonitor.js.map +1 -1
- package/lib/db/beacon.d.ts +7 -0
- package/lib/db/beacon.d.ts.map +1 -1
- package/lib/db/beacon.js +34 -0
- package/lib/db/beacon.js.map +1 -1
- package/lib/db/dataColumnStore.d.ts +1 -1
- package/lib/db/dataColumnStore.d.ts.map +1 -1
- package/lib/db/dataColumnStore.js +1 -4
- package/lib/db/dataColumnStore.js.map +1 -1
- package/lib/db/flatFileStore/flatFileStore.js +5 -5
- package/lib/db/flatFileStore/flatFileStore.js.map +1 -1
- package/lib/db/flatFileStore/slotIndex.d.ts.map +1 -1
- package/lib/db/flatFileStore/slotIndex.js +2 -2
- package/lib/db/flatFileStore/slotIndex.js.map +1 -1
- package/lib/db/interface.d.ts +1 -0
- package/lib/db/interface.d.ts.map +1 -1
- package/lib/db/repositories/blobSidecars.d.ts +0 -1
- package/lib/db/repositories/blobSidecars.d.ts.map +1 -1
- package/lib/db/repositories/blobSidecars.js +0 -1
- package/lib/db/repositories/blobSidecars.js.map +1 -1
- package/lib/db/repositories/dataColumnSidecarArchive.d.ts +6 -0
- package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +1 -1
- package/lib/db/repositories/dataColumnSidecarArchive.js +19 -0
- package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
- package/lib/execution/builder/apiClient.d.ts +14 -8
- package/lib/execution/builder/apiClient.d.ts.map +1 -1
- package/lib/execution/builder/apiClient.js +12 -10
- package/lib/execution/builder/apiClient.js.map +1 -1
- package/lib/execution/builder/http.d.ts +2 -0
- package/lib/execution/builder/http.d.ts.map +1 -1
- package/lib/execution/builder/http.js +2 -0
- package/lib/execution/builder/http.js.map +1 -1
- package/lib/execution/builder/validateBid.d.ts.map +1 -1
- package/lib/execution/builder/validateBid.js +14 -1
- package/lib/execution/builder/validateBid.js.map +1 -1
- package/lib/execution/engine/blobVersionedHashes.d.ts +1 -1
- package/lib/execution/engine/blobVersionedHashes.d.ts.map +1 -1
- package/lib/execution/engine/blobVersionedHashes.js.map +1 -1
- package/lib/execution/engine/disabled.d.ts +1 -0
- package/lib/execution/engine/disabled.d.ts.map +1 -1
- package/lib/execution/engine/disabled.js +3 -0
- package/lib/execution/engine/disabled.js.map +1 -1
- package/lib/execution/engine/http.d.ts +12 -8
- package/lib/execution/engine/http.d.ts.map +1 -1
- package/lib/execution/engine/http.js +35 -14
- package/lib/execution/engine/http.js.map +1 -1
- package/lib/execution/engine/index.d.ts +1 -1
- package/lib/execution/engine/index.d.ts.map +1 -1
- package/lib/execution/engine/index.js +1 -1
- package/lib/execution/engine/index.js.map +1 -1
- package/lib/execution/engine/interface.d.ts +29 -8
- package/lib/execution/engine/interface.d.ts.map +1 -1
- package/lib/execution/engine/interface.js.map +1 -1
- package/lib/execution/engine/jsonRpcTransport.d.ts +5 -6
- package/lib/execution/engine/jsonRpcTransport.d.ts.map +1 -1
- package/lib/execution/engine/jsonRpcTransport.js +34 -20
- package/lib/execution/engine/jsonRpcTransport.js.map +1 -1
- package/lib/execution/engine/mock.d.ts +1 -1
- package/lib/execution/engine/mock.d.ts.map +1 -1
- package/lib/execution/engine/mock.js +31 -11
- package/lib/execution/engine/mock.js.map +1 -1
- package/lib/execution/engine/payloadIdCache.d.ts +5 -3
- package/lib/execution/engine/payloadIdCache.d.ts.map +1 -1
- package/lib/execution/engine/payloadIdCache.js +15 -4
- package/lib/execution/engine/payloadIdCache.js.map +1 -1
- package/lib/execution/engine/restTransport.d.ts +4 -5
- package/lib/execution/engine/restTransport.d.ts.map +1 -1
- package/lib/execution/engine/restTransport.js +4 -15
- package/lib/execution/engine/restTransport.js.map +1 -1
- package/lib/execution/engine/sszTypes.d.ts +38 -47
- package/lib/execution/engine/sszTypes.d.ts.map +1 -1
- package/lib/execution/engine/sszTypes.js +0 -5
- package/lib/execution/engine/sszTypes.js.map +1 -1
- package/lib/execution/engine/transport.d.ts +4 -14
- package/lib/execution/engine/transport.d.ts.map +1 -1
- package/lib/execution/engine/types.d.ts +25 -9
- package/lib/execution/engine/types.d.ts.map +1 -1
- package/lib/execution/engine/types.js +19 -14
- package/lib/execution/engine/types.js.map +1 -1
- package/lib/execution/engine/utils.d.ts.map +1 -1
- package/lib/execution/engine/utils.js +3 -2
- package/lib/execution/engine/utils.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -1
- package/lib/metrics/metrics/beacon.d.ts +16 -9
- package/lib/metrics/metrics/beacon.d.ts.map +1 -1
- package/lib/metrics/metrics/beacon.js +35 -30
- package/lib/metrics/metrics/beacon.js.map +1 -1
- package/lib/metrics/metrics/lodestar.d.ts +42 -8
- package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
- package/lib/metrics/metrics/lodestar.js +104 -18
- package/lib/metrics/metrics/lodestar.js.map +1 -1
- package/lib/metrics/server/http.js +5 -5
- package/lib/metrics/server/http.js.map +1 -1
- package/lib/monitoring/service.js +1 -1
- package/lib/monitoring/service.js.map +1 -1
- package/lib/network/core/networkCore.d.ts +4 -1
- package/lib/network/core/networkCore.d.ts.map +1 -1
- package/lib/network/core/networkCore.js +7 -0
- package/lib/network/core/networkCore.js.map +1 -1
- package/lib/network/core/networkCoreWorker.js +2 -0
- package/lib/network/core/networkCoreWorker.js.map +1 -1
- package/lib/network/core/networkCoreWorkerHandler.d.ts +4 -1
- package/lib/network/core/networkCoreWorkerHandler.d.ts.map +1 -1
- package/lib/network/core/networkCoreWorkerHandler.js +6 -0
- package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
- package/lib/network/core/types.d.ts +6 -1
- package/lib/network/core/types.d.ts.map +1 -1
- package/lib/network/gossip/gossipsub.d.ts +1 -0
- package/lib/network/gossip/gossipsub.d.ts.map +1 -1
- package/lib/network/gossip/gossipsub.js +10 -0
- package/lib/network/gossip/gossipsub.js.map +1 -1
- package/lib/network/gossip/interface.d.ts +8 -9
- package/lib/network/gossip/interface.d.ts.map +1 -1
- package/lib/network/gossip/interface.js +1 -1
- package/lib/network/gossip/interface.js.map +1 -1
- package/lib/network/gossip/topic.d.ts +13 -21
- package/lib/network/gossip/topic.d.ts.map +1 -1
- package/lib/network/gossip/topic.js +13 -24
- package/lib/network/gossip/topic.js.map +1 -1
- package/lib/network/interface.d.ts +5 -5
- 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 -1
- package/lib/network/libp2p/index.js.map +1 -1
- package/lib/network/network.d.ts +9 -7
- package/lib/network/network.d.ts.map +1 -1
- package/lib/network/network.js +58 -35
- package/lib/network/network.js.map +1 -1
- package/lib/network/options.d.ts +2 -0
- package/lib/network/options.d.ts.map +1 -1
- package/lib/network/options.js +2 -0
- package/lib/network/options.js.map +1 -1
- package/lib/network/peers/peerManager.d.ts +2 -1
- package/lib/network/peers/peerManager.d.ts.map +1 -1
- package/lib/network/peers/peerManager.js +28 -1
- package/lib/network/peers/peerManager.js.map +1 -1
- package/lib/network/peers/utils/assertPeerRelevance.d.ts +9 -1
- package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +1 -1
- package/lib/network/peers/utils/assertPeerRelevance.js +32 -21
- package/lib/network/peers/utils/assertPeerRelevance.js.map +1 -1
- package/lib/network/peers/utils/prioritizePeers.d.ts +4 -1
- package/lib/network/peers/utils/prioritizePeers.d.ts.map +1 -1
- package/lib/network/peers/utils/prioritizePeers.js +8 -16
- package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
- package/lib/network/peers/utils/subnetMap.d.ts +5 -2
- package/lib/network/peers/utils/subnetMap.d.ts.map +1 -1
- package/lib/network/peers/utils/subnetMap.js +6 -3
- package/lib/network/peers/utils/subnetMap.js.map +1 -1
- package/lib/network/processor/extractSlotRootFns.d.ts.map +1 -1
- package/lib/network/processor/extractSlotRootFns.js +1 -8
- 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 +118 -149
- package/lib/network/processor/gossipHandlers.js.map +1 -1
- package/lib/network/processor/gossipQueues/index.js +6 -6
- package/lib/network/processor/gossipQueues/index.js.map +1 -1
- package/lib/network/processor/gossipValidatorFn.js +5 -5
- package/lib/network/processor/gossipValidatorFn.js.map +1 -1
- package/lib/network/processor/index.d.ts +6 -0
- package/lib/network/processor/index.d.ts.map +1 -1
- package/lib/network/processor/index.js +56 -29
- package/lib/network/processor/index.js.map +1 -1
- package/lib/network/reqresp/ReqRespBeaconNode.js +6 -3
- package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
- package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts +2 -2
- package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +1 -1
- package/lib/network/reqresp/handlers/inclusionListsByIndices.d.ts +10 -0
- package/lib/network/reqresp/handlers/inclusionListsByIndices.d.ts.map +1 -0
- package/lib/network/reqresp/handlers/inclusionListsByIndices.js +30 -0
- package/lib/network/reqresp/handlers/inclusionListsByIndices.js.map +1 -0
- package/lib/network/reqresp/handlers/index.d.ts.map +1 -1
- package/lib/network/reqresp/handlers/index.js +6 -12
- package/lib/network/reqresp/handlers/index.js.map +1 -1
- package/lib/network/reqresp/protocols.d.ts +1 -2
- package/lib/network/reqresp/protocols.d.ts.map +1 -1
- package/lib/network/reqresp/protocols.js +5 -10
- 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 +5 -17
- package/lib/network/reqresp/rateLimit.js.map +1 -1
- package/lib/network/reqresp/types.d.ts +6 -9
- package/lib/network/reqresp/types.d.ts.map +1 -1
- package/lib/network/reqresp/types.js +4 -7
- package/lib/network/reqresp/types.js.map +1 -1
- package/lib/network/subnets/attnetsService.d.ts +35 -5
- package/lib/network/subnets/attnetsService.d.ts.map +1 -1
- package/lib/network/subnets/attnetsService.js +84 -6
- package/lib/network/subnets/attnetsService.js.map +1 -1
- package/lib/network/subnets/interface.d.ts +7 -0
- package/lib/network/subnets/interface.d.ts.map +1 -1
- package/lib/network/subnets/interface.js.map +1 -1
- package/lib/node/nodejs.d.ts +3 -1
- package/lib/node/nodejs.d.ts.map +1 -1
- package/lib/node/nodejs.js +47 -21
- package/lib/node/nodejs.js.map +1 -1
- package/lib/node/options.d.ts +3 -1
- package/lib/node/options.d.ts.map +1 -1
- package/lib/node/options.js +4 -2
- package/lib/node/options.js.map +1 -1
- package/lib/sync/interface.d.ts.map +1 -1
- package/lib/sync/interface.js.map +1 -1
- package/lib/sync/range/batch.d.ts +2 -3
- package/lib/sync/range/batch.d.ts.map +1 -1
- package/lib/sync/range/batch.js +9 -22
- package/lib/sync/range/batch.js.map +1 -1
- package/lib/sync/range/chain.d.ts.map +1 -1
- package/lib/sync/range/chain.js +2 -15
- package/lib/sync/range/chain.js.map +1 -1
- package/lib/sync/sync.d.ts +15 -0
- package/lib/sync/sync.d.ts.map +1 -1
- package/lib/sync/sync.js +103 -25
- package/lib/sync/sync.js.map +1 -1
- package/lib/sync/unknownBlock.d.ts.map +1 -1
- package/lib/sync/unknownBlock.js +43 -25
- package/lib/sync/unknownBlock.js.map +1 -1
- package/lib/sync/utils/downloadByRange.d.ts +6 -34
- package/lib/sync/utils/downloadByRange.d.ts.map +1 -1
- package/lib/sync/utils/downloadByRange.js +24 -128
- package/lib/sync/utils/downloadByRange.js.map +1 -1
- package/lib/sync/utils/downloadByRoot.d.ts +2 -18
- package/lib/sync/utils/downloadByRoot.d.ts.map +1 -1
- package/lib/sync/utils/downloadByRoot.js +14 -99
- package/lib/sync/utils/downloadByRoot.js.map +1 -1
- package/lib/util/blobs.d.ts +1 -7
- package/lib/util/blobs.d.ts.map +1 -1
- package/lib/util/blobs.js +0 -19
- package/lib/util/blobs.js.map +1 -1
- package/lib/util/execution.d.ts +3 -4
- package/lib/util/execution.d.ts.map +1 -1
- package/lib/util/execution.js +1 -73
- package/lib/util/execution.js.map +1 -1
- package/lib/util/file.d.ts.map +1 -1
- package/lib/util/file.js +8 -9
- package/lib/util/file.js.map +1 -1
- package/lib/util/queue/itemQueue.js +1 -1
- package/lib/util/queue/itemQueue.js.map +1 -1
- package/lib/util/sszBytes.d.ts +5 -1
- package/lib/util/sszBytes.d.ts.map +1 -1
- package/lib/util/sszBytes.js +36 -19
- package/lib/util/sszBytes.js.map +1 -1
- package/lib/util/types.d.ts +0 -5
- package/lib/util/types.d.ts.map +1 -1
- package/lib/util/types.js +1 -2
- package/lib/util/types.js.map +1 -1
- package/package.json +31 -32
- package/src/api/impl/api.ts +1 -1
- package/src/api/impl/beacon/blocks/index.ts +81 -126
- package/src/api/impl/beacon/index.ts +3 -1
- package/src/api/impl/beacon/pool/index.ts +31 -1
- package/src/api/impl/beacon/state/index.ts +10 -1
- package/src/api/impl/beacon/state/utils.ts +20 -10
- package/src/api/impl/debug/index.ts +4 -0
- package/src/api/impl/validator/index.ts +177 -38
- package/src/api/options.ts +3 -0
- package/src/chain/GetBlobsTracker.ts +82 -52
- package/src/chain/archiveStore/archiveStore.ts +1 -0
- package/src/chain/archiveStore/utils/archiveBlocks.ts +76 -130
- package/src/chain/blocks/blockInput/blockInput.ts +11 -343
- package/src/chain/blocks/blockInput/errors.ts +1 -2
- package/src/chain/blocks/blockInput/types.ts +2 -20
- package/src/chain/blocks/importBlock.ts +58 -77
- package/src/chain/blocks/importExecutionPayload.ts +123 -36
- package/src/chain/blocks/index.ts +11 -4
- package/src/chain/blocks/payloadEnvelopeProcessor.ts +35 -24
- package/src/chain/blocks/types.ts +8 -29
- package/src/chain/blocks/verifyBlock.ts +31 -16
- package/src/chain/blocks/verifyBlocksDataAvailability.ts +16 -2
- package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +9 -6
- package/src/chain/blocks/verifyBlocksSanityChecks.ts +4 -1
- package/src/chain/blocks/verifyBlocksSignatures.ts +10 -5
- package/src/chain/blocks/verifyPayloadsDataAvailability.ts +14 -6
- package/src/chain/blocks/writeBlockInputToDb.ts +6 -29
- package/src/chain/bls/interface.ts +2 -0
- package/src/chain/bls/multithread/index.ts +48 -24
- package/src/chain/bls/multithread/types.ts +1 -1
- package/src/chain/bls/multithread/worker.ts +1 -5
- package/src/chain/bls/singleThread.ts +1 -1
- package/src/chain/bls/utils.ts +1 -1
- package/src/chain/chain.ts +144 -42
- package/src/chain/emitter.ts +8 -8
- package/src/chain/errors/blockError.ts +1 -1
- package/src/chain/errors/executionPayloadBid.ts +12 -0
- package/src/chain/errors/executionPayloadEnvelope.ts +8 -0
- package/src/chain/errors/inclusionList.ts +38 -0
- package/src/chain/errors/index.ts +1 -1
- package/src/chain/forkChoice/index.ts +11 -0
- package/src/chain/forkChoiceExecutionEngine.ts +183 -0
- package/src/chain/interface.ts +11 -6
- package/src/chain/opPools/aggregatedAttestationPool.ts +246 -43
- package/src/chain/opPools/attestationPool.ts +16 -4
- package/src/chain/opPools/inclusionListStore.ts +208 -0
- package/src/chain/opPools/index.ts +2 -0
- package/src/chain/opPools/payloadAttestationPool.ts +18 -7
- package/src/chain/opPools/singleAttestationPool.ts +287 -0
- package/src/chain/opPools/syncCommitteeMessagePool.ts +10 -3
- package/src/chain/opPools/syncContributionAndProofPool.ts +13 -3
- package/src/chain/opPools/utils.ts +1 -1
- package/src/chain/options.ts +5 -4
- package/src/chain/produceBlock/produceBlockBody.ts +67 -22
- package/src/chain/proposerTracker.ts +94 -0
- package/src/chain/regen/interface.ts +2 -2
- package/src/chain/regen/queued.ts +6 -4
- package/src/chain/seenCache/seenGossipBlockInput.ts +9 -93
- package/src/chain/validation/aggregateAndProof.ts +1 -1
- package/src/chain/validation/attestation.ts +1 -1
- package/src/chain/validation/executionPayloadBid.ts +54 -183
- package/src/chain/validation/executionPayloadEnvelope.ts +68 -1
- package/src/chain/validation/inclusionList.ts +192 -0
- package/src/chain/validation/index.ts +1 -0
- package/src/chain/validation/syncCommittee.ts +31 -15
- package/src/chain/validation/syncCommitteeContributionAndProof.ts +13 -0
- package/src/chain/validatorMonitor.ts +0 -6
- package/src/db/beacon.ts +44 -0
- package/src/db/dataColumnStore.ts +2 -4
- package/src/db/flatFileStore/flatFileStore.ts +7 -7
- package/src/db/flatFileStore/slotIndex.ts +4 -3
- package/src/db/interface.ts +2 -0
- package/src/db/repositories/blobSidecars.ts +0 -1
- package/src/db/repositories/dataColumnSidecarArchive.ts +20 -0
- package/src/execution/builder/apiClient.ts +16 -13
- package/src/execution/builder/http.ts +4 -0
- package/src/execution/builder/validateBid.ts +23 -2
- package/src/execution/engine/blobVersionedHashes.ts +1 -1
- package/src/execution/engine/disabled.ts +4 -0
- package/src/execution/engine/http.ts +59 -47
- package/src/execution/engine/index.ts +1 -1
- package/src/execution/engine/interface.ts +46 -13
- package/src/execution/engine/jsonRpcTransport.ts +56 -31
- package/src/execution/engine/mock.ts +32 -14
- package/src/execution/engine/payloadIdCache.ts +24 -6
- package/src/execution/engine/restTransport.ts +18 -23
- package/src/execution/engine/sszTypes.ts +0 -9
- package/src/execution/engine/transport.ts +13 -17
- package/src/execution/engine/types.ts +44 -24
- package/src/execution/engine/utils.ts +4 -2
- package/src/index.ts +2 -0
- package/src/metrics/metrics/beacon.ts +37 -30
- package/src/metrics/metrics/lodestar.ts +106 -18
- package/src/metrics/server/http.ts +5 -5
- package/src/monitoring/service.ts +1 -1
- package/src/network/core/networkCore.ts +11 -1
- package/src/network/core/networkCoreWorker.ts +2 -0
- package/src/network/core/networkCoreWorkerHandler.ts +8 -1
- package/src/network/core/types.ts +6 -1
- package/src/network/gossip/gossipsub.ts +11 -0
- package/src/network/gossip/interface.ts +5 -5
- package/src/network/gossip/topic.ts +14 -25
- package/src/network/interface.ts +4 -5
- package/src/network/libp2p/index.ts +5 -1
- package/src/network/network.ts +66 -58
- package/src/network/options.ts +4 -0
- package/src/network/peers/peerManager.ts +28 -3
- package/src/network/peers/utils/assertPeerRelevance.ts +39 -23
- package/src/network/peers/utils/prioritizePeers.ts +14 -22
- package/src/network/peers/utils/subnetMap.ts +6 -3
- package/src/network/processor/extractSlotRootFns.ts +0 -9
- package/src/network/processor/gossipHandlers.ts +150 -183
- package/src/network/processor/gossipQueues/index.ts +6 -6
- package/src/network/processor/gossipValidatorFn.ts +5 -5
- package/src/network/processor/index.ts +48 -27
- package/src/network/processor/types.ts +1 -1
- package/src/network/reqresp/ReqRespBeaconNode.ts +7 -7
- package/src/network/reqresp/handlers/beaconBlocksByRange.ts +2 -2
- package/src/network/reqresp/handlers/inclusionListsByIndices.ts +44 -0
- package/src/network/reqresp/handlers/index.ts +5 -17
- package/src/network/reqresp/protocols.ts +6 -12
- package/src/network/reqresp/rateLimit.ts +5 -17
- package/src/network/reqresp/types.ts +6 -13
- package/src/network/subnets/attnetsService.ts +94 -6
- package/src/network/subnets/interface.ts +7 -0
- package/src/node/nodejs.ts +58 -22
- package/src/node/options.ts +9 -6
- package/src/sync/interface.ts +1 -0
- package/src/sync/range/batch.ts +9 -21
- package/src/sync/range/chain.ts +2 -14
- package/src/sync/sync.ts +108 -26
- package/src/sync/unknownBlock.ts +48 -36
- package/src/sync/utils/downloadByRange.ts +31 -230
- package/src/sync/utils/downloadByRoot.ts +15 -142
- package/src/util/blobs.ts +0 -34
- package/src/util/execution.ts +8 -102
- package/src/util/file.ts +8 -9
- package/src/util/queue/itemQueue.ts +1 -1
- package/src/util/sszBytes.ts +42 -24
- package/src/util/types.ts +1 -8
- package/lib/chain/errors/blobSidecarError.d.ts +0 -108
- package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
- package/lib/chain/errors/blobSidecarError.js +0 -38
- package/lib/chain/errors/blobSidecarError.js.map +0 -1
- package/lib/chain/validation/blobSidecar.d.ts +0 -16
- package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
- package/lib/chain/validation/blobSidecar.js +0 -276
- package/lib/chain/validation/blobSidecar.js.map +0 -1
- package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts +0 -9
- package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
- package/lib/network/reqresp/handlers/blobSidecarsByRange.js +0 -91
- package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +0 -1
- package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts +0 -5
- package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
- package/lib/network/reqresp/handlers/blobSidecarsByRoot.js +0 -46
- package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +0 -1
- package/src/chain/errors/blobSidecarError.ts +0 -70
- package/src/chain/validation/blobSidecar.ts +0 -357
- package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -133
- package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -69
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ChainForkConfig } from "@lodestar/config";
|
|
2
2
|
import { ForkName } from "@lodestar/params";
|
|
3
|
-
import { ColumnIndex, DataColumnSidecar, RootHex, SignedBeaconBlock, Slot, ValidatorIndex,
|
|
3
|
+
import { ColumnIndex, DataColumnSidecar, RootHex, SignedBeaconBlock, Slot, ValidatorIndex, fulu, gloas, phase0 } from "@lodestar/types";
|
|
4
4
|
import { LodestarError, Logger } from "@lodestar/utils";
|
|
5
5
|
import { DAType, IBlockInput } from "../../chain/blocks/blockInput/index.js";
|
|
6
6
|
import { PayloadEnvelopeInput } from "../../chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.js";
|
|
@@ -13,7 +13,6 @@ import { PeerIdStr } from "../../util/peerId.js";
|
|
|
13
13
|
import { WarnResult } from "../../util/wrapError.js";
|
|
14
14
|
export type DownloadByRangeRequests = {
|
|
15
15
|
blocksRequest?: phase0.BeaconBlocksByRangeRequest;
|
|
16
|
-
blobsRequest?: deneb.BlobSidecarsByRangeRequest;
|
|
17
16
|
columnsRequest?: fulu.DataColumnSidecarsByRangeRequest;
|
|
18
17
|
envelopesRequest?: gloas.ExecutionPayloadEnvelopesByRangeRequest;
|
|
19
18
|
/**
|
|
@@ -41,7 +40,6 @@ export type ParentPayload = {
|
|
|
41
40
|
};
|
|
42
41
|
export type DownloadByRangeResponses = {
|
|
43
42
|
blocks?: SignedBeaconBlock[];
|
|
44
|
-
blobSidecars?: deneb.BlobSidecars;
|
|
45
43
|
columnSidecars?: DataColumnSidecar[];
|
|
46
44
|
payloadEnvelopes?: gloas.SignedExecutionPayloadEnvelope[];
|
|
47
45
|
};
|
|
@@ -75,17 +73,12 @@ export type ValidatedBlock = {
|
|
|
75
73
|
blockRoot: Uint8Array;
|
|
76
74
|
block: SignedBeaconBlock;
|
|
77
75
|
};
|
|
78
|
-
export type ValidatedBlobSidecars = {
|
|
79
|
-
blockRoot: Uint8Array;
|
|
80
|
-
blobSidecars: deneb.BlobSidecars;
|
|
81
|
-
};
|
|
82
76
|
export type ValidatedColumnSidecars = {
|
|
83
77
|
blockRoot: Uint8Array;
|
|
84
78
|
columnSidecars: DataColumnSidecar[];
|
|
85
79
|
};
|
|
86
80
|
export type ValidatedResponses = {
|
|
87
81
|
validatedBlocks?: ValidatedBlock[];
|
|
88
|
-
validatedBlobSidecars?: ValidatedBlobSidecars[];
|
|
89
82
|
validatedColumnSidecars?: ValidatedColumnSidecars[];
|
|
90
83
|
};
|
|
91
84
|
/**
|
|
@@ -95,21 +88,21 @@ export declare function cacheByRangeResponses({ cache, seenPayloadEnvelopeInputC
|
|
|
95
88
|
blocks: IBlockInput[];
|
|
96
89
|
payloadEnvelopes: Map<Slot, PayloadEnvelopeInput> | null;
|
|
97
90
|
};
|
|
98
|
-
export declare function downloadByRange({ config, network, peerIdStr, batchBlocks, blocksRequest,
|
|
91
|
+
export declare function downloadByRange({ config, network, peerIdStr, batchBlocks, blocksRequest, columnsRequest, envelopesRequest, parentPayloadRequest, parentPayload, peerDasMetrics, }: DownloadAndCacheByRangeProps): Promise<WarnResult<{
|
|
99
92
|
responses: ValidatedResponses;
|
|
100
93
|
payloadEnvelopes: Map<Slot, gloas.SignedExecutionPayloadEnvelope> | null;
|
|
101
94
|
}, DownloadByRangeError>>;
|
|
102
95
|
/**
|
|
103
96
|
* Should not be called directly. Only exported for unit testing purposes
|
|
104
97
|
*/
|
|
105
|
-
export declare function requestByRange({ network, peerIdStr, blocksRequest,
|
|
98
|
+
export declare function requestByRange({ network, peerIdStr, blocksRequest, columnsRequest, envelopesRequest, parentPayloadRequest, }: DownloadByRangeRequests & {
|
|
106
99
|
network: INetwork;
|
|
107
100
|
peerIdStr: PeerIdStr;
|
|
108
101
|
}): Promise<DownloadByRangeResponses>;
|
|
109
102
|
/**
|
|
110
103
|
* Should not be called directly. Only exported for unit testing purposes
|
|
111
104
|
*/
|
|
112
|
-
export declare function validateResponses({ config, batchBlocks, blocksRequest,
|
|
105
|
+
export declare function validateResponses({ config, batchBlocks, blocksRequest, columnsRequest, envelopesRequest, parentPayloadRequest, parentPayload, blocks, columnSidecars, payloadEnvelopes, peerDasMetrics, }: DownloadByRangeRequests & DownloadByRangeResponses & {
|
|
113
106
|
config: ChainForkConfig;
|
|
114
107
|
batchBlocks?: IBlockInput[];
|
|
115
108
|
parentPayload?: ParentPayload;
|
|
@@ -128,11 +121,6 @@ export declare function validateResponses({ config, batchBlocks, blocksRequest,
|
|
|
128
121
|
* - check is a chain of blocks where via parentRoot matches hashTreeRoot of block before
|
|
129
122
|
*/
|
|
130
123
|
export declare function validateBlockByRangeResponse(config: ChainForkConfig, blocksRequest: phase0.BeaconBlocksByRangeRequest, blocks: SignedBeaconBlock[]): WarnResult<ValidatedBlock[], DownloadByRangeError>;
|
|
131
|
-
/**
|
|
132
|
-
* Should not be called directly. Only exported for unit testing purposes.
|
|
133
|
-
* This is used only in Deneb and Electra
|
|
134
|
-
*/
|
|
135
|
-
export declare function validateBlobsByRangeResponse(dataRequestBlocks: ValidatedBlock[], blobSidecars: deneb.BlobSidecars): Promise<ValidatedBlobSidecars[]>;
|
|
136
124
|
/**
|
|
137
125
|
* Should not be called directly. Only exported for unit testing purposes
|
|
138
126
|
*
|
|
@@ -186,7 +174,6 @@ export declare function getBlocksForDataValidation(dataRequest: {
|
|
|
186
174
|
}, cached: IBlockInput[] | undefined, current: ValidatedBlock[] | undefined): ValidatedBlock[];
|
|
187
175
|
export declare enum DownloadByRangeErrorCode {
|
|
188
176
|
MISSING_BLOCKS_RESPONSE = "DOWNLOAD_BY_RANGE_ERROR_MISSING_BLOCK_RESPONSE",
|
|
189
|
-
MISSING_BLOBS_RESPONSE = "DOWNLOAD_BY_RANGE_ERROR_MISSING_BLOBS_RESPONSE",
|
|
190
177
|
MISSING_COLUMNS_RESPONSE = "DOWNLOAD_BY_RANGE_ERROR_MISSING_COLUMNS_RESPONSE",
|
|
191
178
|
/** Error at the reqresp layer */
|
|
192
179
|
REQ_RESP_ERROR = "DOWNLOAD_BY_RANGE_ERROR_REQ_RESP_ERROR",
|
|
@@ -194,9 +181,6 @@ export declare enum DownloadByRangeErrorCode {
|
|
|
194
181
|
EXTRA_BLOCKS = "DOWNLOAD_BY_RANGE_ERROR_EXTRA_BLOCKS",
|
|
195
182
|
OUT_OF_RANGE_BLOCKS = "DOWNLOAD_BY_RANGE_OUT_OF_RANGE_BLOCKS",
|
|
196
183
|
OUT_OF_ORDER_BLOCKS = "DOWNLOAD_BY_RANGE_OUT_OF_ORDER_BLOCKS",
|
|
197
|
-
MISSING_BLOBS = "DOWNLOAD_BY_RANGE_ERROR_MISSING_BLOBS",
|
|
198
|
-
OUT_OF_ORDER_BLOBS = "DOWNLOAD_BY_RANGE_ERROR_OUT_OF_ORDER_BLOBS",
|
|
199
|
-
EXTRA_BLOBS = "DOWNLOAD_BY_RANGE_ERROR_EXTRA_BLOBS",
|
|
200
184
|
MISSING_COLUMNS = "DOWNLOAD_BY_RANGE_ERROR_MISSING_COLUMNS",
|
|
201
185
|
OVER_COLUMNS = "DOWNLOAD_BY_RANGE_ERROR_OVER_COLUMNS",
|
|
202
186
|
EXTRA_COLUMNS = "DOWNLOAD_BY_RANGE_ERROR_EXTRA_COLUMNS",
|
|
@@ -216,11 +200,9 @@ export declare enum DownloadByRangeErrorCode {
|
|
|
216
200
|
INVALID_CHAIN_SEGMENT = "DOWNLOAD_BY_RANGE_ERROR_INVALID_CHAIN_SEGMENT"
|
|
217
201
|
}
|
|
218
202
|
export type DownloadByRangeErrorType = {
|
|
219
|
-
code: DownloadByRangeErrorCode.MISSING_BLOCKS_RESPONSE | DownloadByRangeErrorCode.
|
|
203
|
+
code: DownloadByRangeErrorCode.MISSING_BLOCKS_RESPONSE | DownloadByRangeErrorCode.MISSING_COLUMNS_RESPONSE;
|
|
220
204
|
blockStartSlot?: number;
|
|
221
205
|
blockCount?: number;
|
|
222
|
-
blobStartSlot?: number;
|
|
223
|
-
blobCount?: number;
|
|
224
206
|
columnStartSlot?: number;
|
|
225
207
|
columnCount?: number;
|
|
226
208
|
} | {
|
|
@@ -237,8 +219,6 @@ export type DownloadByRangeErrorType = {
|
|
|
237
219
|
code: DownloadByRangeErrorCode.REQ_RESP_ERROR;
|
|
238
220
|
blockStartSlot?: number;
|
|
239
221
|
blockCount?: number;
|
|
240
|
-
blobStartSlot?: number;
|
|
241
|
-
blobCount?: number;
|
|
242
222
|
columnStartSlot?: number;
|
|
243
223
|
columnCount?: number;
|
|
244
224
|
reason: string;
|
|
@@ -252,16 +232,8 @@ export type DownloadByRangeErrorType = {
|
|
|
252
232
|
expected: number;
|
|
253
233
|
actual: number;
|
|
254
234
|
} | {
|
|
255
|
-
code: DownloadByRangeErrorCode.
|
|
256
|
-
expected: number;
|
|
257
|
-
actual: number;
|
|
258
|
-
} | {
|
|
259
|
-
code: DownloadByRangeErrorCode.OUT_OF_ORDER_BLOBS | DownloadByRangeErrorCode.OUT_OF_ORDER_COLUMNS;
|
|
235
|
+
code: DownloadByRangeErrorCode.OUT_OF_ORDER_COLUMNS;
|
|
260
236
|
slot: number;
|
|
261
|
-
} | {
|
|
262
|
-
code: DownloadByRangeErrorCode.EXTRA_BLOBS;
|
|
263
|
-
expected: number;
|
|
264
|
-
actual: number;
|
|
265
237
|
} | {
|
|
266
238
|
code: DownloadByRangeErrorCode.OVER_COLUMNS;
|
|
267
239
|
max: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"downloadByRange.d.ts","sourceRoot":"","sources":["../../../src/sync/utils/downloadByRange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,
|
|
1
|
+
{"version":3,"file":"downloadByRange.d.ts","sourceRoot":"","sources":["../../../src/sync/utils/downloadByRange.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { isForkPostFulu, isForkPostGloas
|
|
1
|
+
import { isForkPostFulu, isForkPostGloas } from "@lodestar/params";
|
|
2
2
|
import { isGloasBeaconBlock, isGloasDataColumnSidecar, } from "@lodestar/types";
|
|
3
3
|
import { LodestarError, byteArrayEquals, fromHex, prettyPrintIndices, toRootHex } from "@lodestar/utils";
|
|
4
|
-
import { BlockInputSource, DAType,
|
|
4
|
+
import { BlockInputSource, DAType, isBlockInputColumns } from "../../chain/blocks/blockInput/index.js";
|
|
5
5
|
import { PayloadEnvelopeInputSource } from "../../chain/blocks/payloadEnvelopeInput/types.js";
|
|
6
|
-
import { validateBlockBlobSidecars } from "../../chain/validation/blobSidecar.js";
|
|
7
6
|
import { validateFuluBlockDataColumnSidecars, validateGloasBlockDataColumnSidecars, } from "../../chain/validation/dataColumnSidecar.js";
|
|
8
7
|
import { getBlobKzgCommitments } from "../../util/dataColumns.js";
|
|
9
8
|
/**
|
|
@@ -41,8 +40,8 @@ export function cacheByRangeResponses({ cache, seenPayloadEnvelopeInputCache, pe
|
|
|
41
40
|
});
|
|
42
41
|
updatedBatchBlocks.set(blockInput.slot, blockInput);
|
|
43
42
|
}
|
|
44
|
-
// Seed seenPayloadEnvelopeInputCache the instant we have the block, before
|
|
45
|
-
// later step
|
|
43
|
+
// Seed seenPayloadEnvelopeInputCache the instant we have the block, before any
|
|
44
|
+
// later step can throw and abort the batch. Otherwise a gloas block would sit in
|
|
46
45
|
// seenBlockInputCache but unseeded here, and payload-by-root sync would later throw "Missing
|
|
47
46
|
// PayloadEnvelopeInput for known block" (see issue #9306). add() is idempotent.
|
|
48
47
|
if (isForkPostGloas(blockInput.forkName) && !payloadEnvelopes.has(blockInput.slot)) {
|
|
@@ -58,36 +57,6 @@ export function cacheByRangeResponses({ cache, seenPayloadEnvelopeInputCache, pe
|
|
|
58
57
|
payloadEnvelopes.set(blockInput.slot, payloadInput);
|
|
59
58
|
}
|
|
60
59
|
}
|
|
61
|
-
for (const { blockRoot, blobSidecars } of responses.validatedBlobSidecars ?? []) {
|
|
62
|
-
const dataSlot = blobSidecars.at(0)?.signedBlockHeader.message.slot;
|
|
63
|
-
if (dataSlot === undefined) {
|
|
64
|
-
throw new Error(`Coding Error: empty blobSidecars returned for blockRoot=${toRootHex(blockRoot)} from validation functions`);
|
|
65
|
-
}
|
|
66
|
-
const existing = updatedBatchBlocks.get(dataSlot);
|
|
67
|
-
const blockRootHex = toRootHex(blockRoot);
|
|
68
|
-
if (!existing) {
|
|
69
|
-
throw new Error("Coding error: blockInput must exist when adding blobs");
|
|
70
|
-
}
|
|
71
|
-
if (!isBlockInputBlobs(existing)) {
|
|
72
|
-
throw new DownloadByRangeError({
|
|
73
|
-
code: DownloadByRangeErrorCode.MISMATCH_BLOCK_INPUT_TYPE,
|
|
74
|
-
slot: existing.slot,
|
|
75
|
-
blockRoot: existing.blockRootHex,
|
|
76
|
-
expected: DAType.Blobs,
|
|
77
|
-
actual: existing.type,
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
for (const blobSidecar of blobSidecars) {
|
|
81
|
-
// will throw if root hex does not match (meaning we are following the wrong chain)
|
|
82
|
-
existing.addBlob({
|
|
83
|
-
blobSidecar,
|
|
84
|
-
blockRootHex,
|
|
85
|
-
seenTimestampSec,
|
|
86
|
-
peerIdStr,
|
|
87
|
-
source,
|
|
88
|
-
}, { throwOnDuplicateAdd: false });
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
60
|
if (downloadedPayloadEnvelopes !== null) {
|
|
92
61
|
for (const [slot, envelope] of downloadedPayloadEnvelopes) {
|
|
93
62
|
// the only PayloadEnvelopeInput miss is the dangling parent
|
|
@@ -178,14 +147,13 @@ export function cacheByRangeResponses({ cache, seenPayloadEnvelopeInputCache, pe
|
|
|
178
147
|
}
|
|
179
148
|
return { blocks: Array.from(updatedBatchBlocks.values()), payloadEnvelopes };
|
|
180
149
|
}
|
|
181
|
-
export async function downloadByRange({ config, network, peerIdStr, batchBlocks, blocksRequest,
|
|
150
|
+
export async function downloadByRange({ config, network, peerIdStr, batchBlocks, blocksRequest, columnsRequest, envelopesRequest, parentPayloadRequest, parentPayload, peerDasMetrics, }) {
|
|
182
151
|
let response;
|
|
183
152
|
try {
|
|
184
153
|
response = await requestByRange({
|
|
185
154
|
network,
|
|
186
155
|
peerIdStr,
|
|
187
156
|
blocksRequest,
|
|
188
|
-
blobsRequest,
|
|
189
157
|
columnsRequest,
|
|
190
158
|
envelopesRequest,
|
|
191
159
|
parentPayloadRequest,
|
|
@@ -195,14 +163,13 @@ export async function downloadByRange({ config, network, peerIdStr, batchBlocks,
|
|
|
195
163
|
throw new DownloadByRangeError({
|
|
196
164
|
code: DownloadByRangeErrorCode.REQ_RESP_ERROR,
|
|
197
165
|
reason: err.message,
|
|
198
|
-
...requestsLogMeta({ blocksRequest,
|
|
166
|
+
...requestsLogMeta({ blocksRequest, columnsRequest }),
|
|
199
167
|
});
|
|
200
168
|
}
|
|
201
169
|
return validateResponses({
|
|
202
170
|
config,
|
|
203
171
|
batchBlocks,
|
|
204
172
|
blocksRequest,
|
|
205
|
-
blobsRequest,
|
|
206
173
|
columnsRequest,
|
|
207
174
|
envelopesRequest,
|
|
208
175
|
parentPayloadRequest,
|
|
@@ -214,9 +181,8 @@ export async function downloadByRange({ config, network, peerIdStr, batchBlocks,
|
|
|
214
181
|
/**
|
|
215
182
|
* Should not be called directly. Only exported for unit testing purposes
|
|
216
183
|
*/
|
|
217
|
-
export async function requestByRange({ network, peerIdStr, blocksRequest,
|
|
184
|
+
export async function requestByRange({ network, peerIdStr, blocksRequest, columnsRequest, envelopesRequest, parentPayloadRequest, }) {
|
|
218
185
|
let blocks;
|
|
219
|
-
let blobSidecars;
|
|
220
186
|
const columnSidecars = [];
|
|
221
187
|
const payloadEnvelopes = [];
|
|
222
188
|
const requests = [];
|
|
@@ -225,11 +191,6 @@ export async function requestByRange({ network, peerIdStr, blocksRequest, blobsR
|
|
|
225
191
|
blocks = blockResponse;
|
|
226
192
|
}));
|
|
227
193
|
}
|
|
228
|
-
if (blobsRequest) {
|
|
229
|
-
requests.push(network.sendBlobSidecarsByRange(peerIdStr, blobsRequest).then((blobResponse) => {
|
|
230
|
-
blobSidecars = blobResponse;
|
|
231
|
-
}));
|
|
232
|
-
}
|
|
233
194
|
if (columnsRequest) {
|
|
234
195
|
requests.push(network.sendDataColumnSidecarsByRange(peerIdStr, columnsRequest).then((columnResponse) => {
|
|
235
196
|
columnSidecars.push(...columnResponse);
|
|
@@ -261,7 +222,6 @@ export async function requestByRange({ network, peerIdStr, blocksRequest, blobsR
|
|
|
261
222
|
await Promise.all(requests);
|
|
262
223
|
return {
|
|
263
224
|
blocks,
|
|
264
|
-
blobSidecars,
|
|
265
225
|
columnSidecars,
|
|
266
226
|
payloadEnvelopes,
|
|
267
227
|
};
|
|
@@ -269,14 +229,14 @@ export async function requestByRange({ network, peerIdStr, blocksRequest, blobsR
|
|
|
269
229
|
/**
|
|
270
230
|
* Should not be called directly. Only exported for unit testing purposes
|
|
271
231
|
*/
|
|
272
|
-
export async function validateResponses({ config, batchBlocks, blocksRequest,
|
|
273
|
-
// Blocks are always required for
|
|
232
|
+
export async function validateResponses({ config, batchBlocks, blocksRequest, columnsRequest, envelopesRequest, parentPayloadRequest, parentPayload, blocks, columnSidecars, payloadEnvelopes, peerDasMetrics, }) {
|
|
233
|
+
// Blocks are always required for column validation
|
|
274
234
|
// If a blocksRequest is provided, blocks have just been downloaded
|
|
275
235
|
// If no blocksRequest is provided, batchBlocks must have been provided from cache
|
|
276
|
-
if (
|
|
236
|
+
if (columnsRequest && !(blocks || batchBlocks)) {
|
|
277
237
|
throw new DownloadByRangeError({
|
|
278
238
|
code: DownloadByRangeErrorCode.MISSING_BLOCKS_RESPONSE,
|
|
279
|
-
...requestsLogMeta({
|
|
239
|
+
...requestsLogMeta({ columnsRequest }),
|
|
280
240
|
}, "No blocks to validate data requests against");
|
|
281
241
|
}
|
|
282
242
|
// `parentPayloadRequest` and `parentPayload` must be supplied together
|
|
@@ -293,11 +253,10 @@ export async function validateResponses({ config, batchBlocks, blocksRequest, bl
|
|
|
293
253
|
validatedResponses.validatedBlocks = result.result;
|
|
294
254
|
}
|
|
295
255
|
const needsEnvelopeValidation = !!envelopesRequest || parentPayload !== undefined;
|
|
296
|
-
|
|
297
|
-
if (!dataRequest && !needsEnvelopeValidation) {
|
|
256
|
+
if (!columnsRequest && !needsEnvelopeValidation) {
|
|
298
257
|
return { result: { responses: validatedResponses, payloadEnvelopes: null }, warnings };
|
|
299
258
|
}
|
|
300
|
-
if (!
|
|
259
|
+
if (!columnsRequest) {
|
|
301
260
|
// Only envelope and/or parent-by-root validation needed
|
|
302
261
|
if (parentPayload !== undefined) {
|
|
303
262
|
const parentValidated = await validateParentPayloadColumns(parentPayload, columnSidecars ?? [], peerDasMetrics);
|
|
@@ -308,33 +267,22 @@ export async function validateResponses({ config, batchBlocks, blocksRequest, bl
|
|
|
308
267
|
const validatedPayloadEnvelopes = validateEnvelopesByRangeResponse(validatedResponses.validatedBlocks ?? [], batchBlocks, payloadEnvelopes ?? [], parentPayload);
|
|
309
268
|
return { result: { responses: validatedResponses, payloadEnvelopes: validatedPayloadEnvelopes }, warnings };
|
|
310
269
|
}
|
|
311
|
-
const blocksForDataValidation = getBlocksForDataValidation(
|
|
270
|
+
const blocksForDataValidation = getBlocksForDataValidation(columnsRequest, batchBlocks, validatedResponses.validatedBlocks?.length ? validatedResponses.validatedBlocks : undefined);
|
|
312
271
|
if (!blocksForDataValidation.length) {
|
|
313
272
|
throw new DownloadByRangeError({
|
|
314
273
|
code: DownloadByRangeErrorCode.MISSING_BLOCKS_RESPONSE,
|
|
315
|
-
...requestsLogMeta({
|
|
274
|
+
...requestsLogMeta({ columnsRequest }),
|
|
316
275
|
}, "No blocks in data request slot range to validate data response against");
|
|
317
276
|
}
|
|
318
|
-
if (
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
}, "No blobSidecars to validate against blobsRequest");
|
|
324
|
-
}
|
|
325
|
-
validatedResponses.validatedBlobSidecars = await validateBlobsByRangeResponse(blocksForDataValidation, blobSidecars);
|
|
326
|
-
}
|
|
327
|
-
if (columnsRequest) {
|
|
328
|
-
if (!columnSidecars) {
|
|
329
|
-
throw new DownloadByRangeError({
|
|
330
|
-
code: DownloadByRangeErrorCode.MISSING_COLUMNS_RESPONSE,
|
|
331
|
-
...requestsLogMeta({ blobsRequest, columnsRequest }),
|
|
332
|
-
}, "No columnSidecars to check columnRequest against");
|
|
333
|
-
}
|
|
334
|
-
const validatedColumnSidecarsResult = await validateColumnsByRangeResponse(config, columnsRequest, blocksForDataValidation, columnSidecars, peerDasMetrics);
|
|
335
|
-
validatedResponses.validatedColumnSidecars = validatedColumnSidecarsResult.result;
|
|
336
|
-
warnings = validatedColumnSidecarsResult.warnings;
|
|
277
|
+
if (!columnSidecars) {
|
|
278
|
+
throw new DownloadByRangeError({
|
|
279
|
+
code: DownloadByRangeErrorCode.MISSING_COLUMNS_RESPONSE,
|
|
280
|
+
...requestsLogMeta({ columnsRequest }),
|
|
281
|
+
}, "No columnSidecars to check columnRequest against");
|
|
337
282
|
}
|
|
283
|
+
const validatedColumnSidecarsResult = await validateColumnsByRangeResponse(config, columnsRequest, blocksForDataValidation, columnSidecars, peerDasMetrics);
|
|
284
|
+
validatedResponses.validatedColumnSidecars = validatedColumnSidecarsResult.result;
|
|
285
|
+
warnings = validatedColumnSidecarsResult.warnings;
|
|
338
286
|
// Parent columns (by-root): KZG-validate against parent's bid commitments and append.
|
|
339
287
|
if (parentPayload !== undefined) {
|
|
340
288
|
const parentValidated = await validateParentPayloadColumns(parentPayload, columnSidecars ?? [], peerDasMetrics);
|
|
@@ -447,50 +395,6 @@ export function validateBlockByRangeResponse(config, blocksRequest, blocks) {
|
|
|
447
395
|
warnings: null,
|
|
448
396
|
};
|
|
449
397
|
}
|
|
450
|
-
/**
|
|
451
|
-
* Should not be called directly. Only exported for unit testing purposes.
|
|
452
|
-
* This is used only in Deneb and Electra
|
|
453
|
-
*/
|
|
454
|
-
export async function validateBlobsByRangeResponse(dataRequestBlocks, blobSidecars) {
|
|
455
|
-
const expectedBlobCount = dataRequestBlocks.reduce((acc, { block }) => block.message.body.blobKzgCommitments.length + acc, 0);
|
|
456
|
-
if (blobSidecars.length > expectedBlobCount) {
|
|
457
|
-
throw new DownloadByRangeError({
|
|
458
|
-
code: DownloadByRangeErrorCode.EXTRA_BLOBS,
|
|
459
|
-
expected: expectedBlobCount,
|
|
460
|
-
actual: blobSidecars.length,
|
|
461
|
-
}, "Extra blobs received in BlobSidecarsByRange response");
|
|
462
|
-
}
|
|
463
|
-
if (blobSidecars.length < expectedBlobCount) {
|
|
464
|
-
throw new DownloadByRangeError({
|
|
465
|
-
code: DownloadByRangeErrorCode.MISSING_BLOBS,
|
|
466
|
-
expected: expectedBlobCount,
|
|
467
|
-
actual: blobSidecars.length,
|
|
468
|
-
}, "Missing blobs in BlobSidecarsByRange response");
|
|
469
|
-
}
|
|
470
|
-
const validateSidecarsPromises = [];
|
|
471
|
-
for (let blockIndex = 0, blobSidecarIndex = 0; blockIndex < dataRequestBlocks.length; blockIndex++) {
|
|
472
|
-
const { block, blockRoot } = dataRequestBlocks[blockIndex];
|
|
473
|
-
const blockKzgCommitments = block.message.body
|
|
474
|
-
.blobKzgCommitments;
|
|
475
|
-
if (blockKzgCommitments.length === 0) {
|
|
476
|
-
continue;
|
|
477
|
-
}
|
|
478
|
-
const blockBlobSidecars = blobSidecars.slice(blobSidecarIndex, blobSidecarIndex + blockKzgCommitments.length);
|
|
479
|
-
blobSidecarIndex += blockKzgCommitments.length;
|
|
480
|
-
for (let i = 0; i < blockBlobSidecars.length; i++) {
|
|
481
|
-
if (blockBlobSidecars[i].index !== i) {
|
|
482
|
-
throw new DownloadByRangeError({
|
|
483
|
-
code: DownloadByRangeErrorCode.OUT_OF_ORDER_BLOBS,
|
|
484
|
-
slot: block.message.slot,
|
|
485
|
-
}, "Blob sidecars not in order or do not match expected indexes in BlobSidecarsByRange response");
|
|
486
|
-
}
|
|
487
|
-
}
|
|
488
|
-
validateSidecarsPromises.push(validateBlockBlobSidecars(null, // do not pass chain here so we do not validate header signature
|
|
489
|
-
block.message.slot, blockRoot, blockKzgCommitments.length, blockBlobSidecars).then(() => ({ blockRoot, blobSidecars: blockBlobSidecars })));
|
|
490
|
-
}
|
|
491
|
-
// Await all sidecar validations in parallel
|
|
492
|
-
return Promise.all(validateSidecarsPromises);
|
|
493
|
-
}
|
|
494
398
|
/**
|
|
495
399
|
* Should not be called directly. Only exported for unit testing purposes
|
|
496
400
|
*
|
|
@@ -694,16 +598,12 @@ export function getBlocksForDataValidation(dataRequest, cached, current) {
|
|
|
694
598
|
}
|
|
695
599
|
return dataRequestBlocks;
|
|
696
600
|
}
|
|
697
|
-
function requestsLogMeta({ blocksRequest,
|
|
601
|
+
function requestsLogMeta({ blocksRequest, columnsRequest }) {
|
|
698
602
|
const logMeta = {};
|
|
699
603
|
if (blocksRequest) {
|
|
700
604
|
logMeta.blockStartSlot = blocksRequest.startSlot;
|
|
701
605
|
logMeta.blockCount = blocksRequest.count;
|
|
702
606
|
}
|
|
703
|
-
if (blobsRequest) {
|
|
704
|
-
logMeta.blobStartSlot = blobsRequest.startSlot;
|
|
705
|
-
logMeta.blobCount = blobsRequest.count;
|
|
706
|
-
}
|
|
707
607
|
if (columnsRequest) {
|
|
708
608
|
logMeta.columnStartSlot = columnsRequest.startSlot;
|
|
709
609
|
logMeta.columnCount = columnsRequest.count;
|
|
@@ -713,7 +613,6 @@ function requestsLogMeta({ blocksRequest, blobsRequest, columnsRequest }) {
|
|
|
713
613
|
export var DownloadByRangeErrorCode;
|
|
714
614
|
(function (DownloadByRangeErrorCode) {
|
|
715
615
|
DownloadByRangeErrorCode["MISSING_BLOCKS_RESPONSE"] = "DOWNLOAD_BY_RANGE_ERROR_MISSING_BLOCK_RESPONSE";
|
|
716
|
-
DownloadByRangeErrorCode["MISSING_BLOBS_RESPONSE"] = "DOWNLOAD_BY_RANGE_ERROR_MISSING_BLOBS_RESPONSE";
|
|
717
616
|
DownloadByRangeErrorCode["MISSING_COLUMNS_RESPONSE"] = "DOWNLOAD_BY_RANGE_ERROR_MISSING_COLUMNS_RESPONSE";
|
|
718
617
|
/** Error at the reqresp layer */
|
|
719
618
|
DownloadByRangeErrorCode["REQ_RESP_ERROR"] = "DOWNLOAD_BY_RANGE_ERROR_REQ_RESP_ERROR";
|
|
@@ -722,9 +621,6 @@ export var DownloadByRangeErrorCode;
|
|
|
722
621
|
DownloadByRangeErrorCode["EXTRA_BLOCKS"] = "DOWNLOAD_BY_RANGE_ERROR_EXTRA_BLOCKS";
|
|
723
622
|
DownloadByRangeErrorCode["OUT_OF_RANGE_BLOCKS"] = "DOWNLOAD_BY_RANGE_OUT_OF_RANGE_BLOCKS";
|
|
724
623
|
DownloadByRangeErrorCode["OUT_OF_ORDER_BLOCKS"] = "DOWNLOAD_BY_RANGE_OUT_OF_ORDER_BLOCKS";
|
|
725
|
-
DownloadByRangeErrorCode["MISSING_BLOBS"] = "DOWNLOAD_BY_RANGE_ERROR_MISSING_BLOBS";
|
|
726
|
-
DownloadByRangeErrorCode["OUT_OF_ORDER_BLOBS"] = "DOWNLOAD_BY_RANGE_ERROR_OUT_OF_ORDER_BLOBS";
|
|
727
|
-
DownloadByRangeErrorCode["EXTRA_BLOBS"] = "DOWNLOAD_BY_RANGE_ERROR_EXTRA_BLOBS";
|
|
728
624
|
DownloadByRangeErrorCode["MISSING_COLUMNS"] = "DOWNLOAD_BY_RANGE_ERROR_MISSING_COLUMNS";
|
|
729
625
|
DownloadByRangeErrorCode["OVER_COLUMNS"] = "DOWNLOAD_BY_RANGE_ERROR_OVER_COLUMNS";
|
|
730
626
|
DownloadByRangeErrorCode["EXTRA_COLUMNS"] = "DOWNLOAD_BY_RANGE_ERROR_EXTRA_COLUMNS";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"downloadByRange.js","sourceRoot":"","sources":["../../../src/sync/utils/downloadByRange.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"downloadByRange.js","sourceRoot":"","sources":["../../../src/sync/utils/downloadByRange.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ChainForkConfig } from "@lodestar/config";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { ForkPostFulu } from "@lodestar/params";
|
|
3
|
+
import { ColumnIndex, SignedBeaconBlock, Slot, fulu } from "@lodestar/types";
|
|
4
4
|
import { LodestarError } from "@lodestar/utils";
|
|
5
5
|
import { ChainEventEmitter } from "../../chain/emitter.js";
|
|
6
6
|
import { IBeaconChain } from "../../chain/interface.js";
|
|
@@ -23,12 +23,6 @@ export type FetchByRootAndValidateBlockProps = Omit<FetchByRootCoreProps, "peerM
|
|
|
23
23
|
peerIdStr: PeerIdStr;
|
|
24
24
|
blockRoot: Uint8Array;
|
|
25
25
|
};
|
|
26
|
-
export type FetchByRootAndValidateBlobsProps = FetchByRootAndValidateBlockProps & {
|
|
27
|
-
forkName: ForkPreFulu;
|
|
28
|
-
block: SignedBeaconBlock<ForkPostDeneb>;
|
|
29
|
-
blockRoot: Uint8Array;
|
|
30
|
-
missing: BlobIndex[];
|
|
31
|
-
};
|
|
32
26
|
export type FetchByRootAndValidateColumnsProps = FetchByRootCoreProps & {
|
|
33
27
|
blockRoot: Uint8Array;
|
|
34
28
|
forkName: ForkPostFulu;
|
|
@@ -37,7 +31,6 @@ export type FetchByRootAndValidateColumnsProps = FetchByRootCoreProps & {
|
|
|
37
31
|
};
|
|
38
32
|
export type FetchByRootResponses = {
|
|
39
33
|
block: SignedBeaconBlock;
|
|
40
|
-
blobSidecars?: deneb.BlobSidecars;
|
|
41
34
|
columnSidecars?: fulu.DataColumnSidecar[];
|
|
42
35
|
};
|
|
43
36
|
export type DownloadByRootProps = FetchByRootCoreProps & {
|
|
@@ -48,10 +41,6 @@ export type DownloadByRootProps = FetchByRootCoreProps & {
|
|
|
48
41
|
export declare function downloadByRoot({ config, chain, network, emitter, peerMeta, cacheItem, }: DownloadByRootProps): Promise<WarnResult<PendingBlockInput, DownloadByRootError>>;
|
|
49
42
|
export declare function fetchByRoot({ config, chain, network, peerMeta, blockRoot, cacheItem, }: FetchByRootProps): Promise<WarnResult<FetchByRootResponses, DownloadByRootError>>;
|
|
50
43
|
export declare function fetchAndValidateBlock({ config, network, peerIdStr, blockRoot, }: Omit<FetchByRootAndValidateBlockProps, "chain">): Promise<SignedBeaconBlock>;
|
|
51
|
-
export declare function fetchAndValidateBlobs({ chain, network, peerIdStr, blockRoot, block, missing, }: FetchByRootAndValidateBlobsProps): Promise<deneb.BlobSidecars>;
|
|
52
|
-
export declare function fetchBlobsByRoot({ network, peerIdStr, blockRoot, missing, indicesInPossession, }: Pick<FetchByRootAndValidateBlobsProps, "network" | "peerIdStr" | "blockRoot" | "missing"> & {
|
|
53
|
-
indicesInPossession?: number[];
|
|
54
|
-
}): Promise<deneb.BlobSidecars>;
|
|
55
44
|
export declare function fetchAndValidateColumns({ chain, network, peerMeta, forkName, block, blockRoot, missing, }: FetchByRootAndValidateColumnsProps): Promise<WarnResult<fulu.DataColumnSidecar[], DownloadByRootError>>;
|
|
56
45
|
export declare function fetchColumnsByRoot({ network, peerMeta, blockRoot, missing, }: Pick<FetchByRootAndValidateColumnsProps, "network" | "peerMeta" | "blockRoot" | "missing">): Promise<fulu.DataColumnSidecar[]>;
|
|
57
46
|
export declare enum DownloadByRootErrorCode {
|
|
@@ -62,7 +51,6 @@ export declare enum DownloadByRootErrorCode {
|
|
|
62
51
|
INVALID_INCLUSION_PROOF = "DOWNLOAD_BY_ROOT_ERROR_INVALID_INCLUSION_PROOF",
|
|
63
52
|
INVALID_KZG_PROOF = "DOWNLOAD_BY_ROOT_ERROR_INVALID_KZG_PROOF",
|
|
64
53
|
MISSING_BLOCK_RESPONSE = "DOWNLOAD_BY_ROOT_ERROR_MISSING_BLOCK_RESPONSE",
|
|
65
|
-
MISSING_BLOB_RESPONSE = "DOWNLOAD_BY_ROOT_ERROR_MISSING_BLOB_RESPONSE",
|
|
66
54
|
MISSING_COLUMN_RESPONSE = "DOWNLOAD_BY_ROOT_ERROR_MISSING_COLUMN_RESPONSE",
|
|
67
55
|
Z = "DOWNLOAD_BY_ROOT_ERROR_Z"
|
|
68
56
|
}
|
|
@@ -101,10 +89,6 @@ export type DownloadByRootErrorType = {
|
|
|
101
89
|
code: DownloadByRootErrorCode.MISSING_BLOCK_RESPONSE;
|
|
102
90
|
peer: string;
|
|
103
91
|
blockRoot: string;
|
|
104
|
-
} | {
|
|
105
|
-
code: DownloadByRootErrorCode.MISSING_BLOB_RESPONSE;
|
|
106
|
-
peer: string;
|
|
107
|
-
blockRoot: string;
|
|
108
92
|
} | {
|
|
109
93
|
code: DownloadByRootErrorCode.MISSING_COLUMN_RESPONSE;
|
|
110
94
|
peer: string;
|