@lodestar/beacon-node 1.51.0-dev.f8eff664d2 → 1.51.0-dev.f921fbf6b7
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 +143 -35
- 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/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/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/enrSubnetsDeserialize.d.ts.map +1 -1
- package/lib/network/peers/utils/enrSubnetsDeserialize.js +5 -2
- package/lib/network/peers/utils/enrSubnetsDeserialize.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 +11 -0
- package/lib/network/processor/index.d.ts.map +1 -1
- package/lib/network/processor/index.js +66 -30
- 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 +7 -0
- package/lib/sync/sync.d.ts.map +1 -1
- package/lib/sync/sync.js +61 -3
- 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 +178 -39
- 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/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/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/enrSubnetsDeserialize.ts +5 -2
- 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 +58 -28
- 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 +65 -4
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifyBlocksSignatures.d.ts","sourceRoot":"","sources":["../../../src/chain/blocks/verifyBlocksSignatures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,gBAAgB,EAIjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,kBAAkB,EAAE,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAC;AAEjD,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAE3C;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,iBAAiB,EAAE,EAC3B,0BAA0B,EAAE,kBAAkB,EAAE,EAAE,EAClD,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAA;CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"verifyBlocksSignatures.d.ts","sourceRoot":"","sources":["../../../src/chain/blocks/verifyBlocksSignatures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,gBAAgB,EAIjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,kBAAkB,EAAE,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAC;AAEjD,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAE3C;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,YAAY,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,iBAAiB,EAAE,EAC3B,0BAA0B,EAAE,kBAAkB,EAAE,EAAE,EAClD,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAA;CAAC,CAAC,CA4DzC;AAED,KAAK,WAAW,GAAG;IAAC,QAAQ,EAAE,IAAI,CAAA;CAAC,GAAG;IAAC,QAAQ,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CAAC;AAEvE;;;;GAIG;AACH,wBAAgB,iCAAiC,CAAC,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAoB3G"}
|
|
@@ -14,10 +14,9 @@ export async function verifyBlocksSignatures(config, bls, logger, metrics, preSt
|
|
|
14
14
|
const currentSyncCommitteeIndexed = isStatePostAltair(preState0)
|
|
15
15
|
? preState0.currentSyncCommitteeIndexed
|
|
16
16
|
: new SyncCommitteeCacheEmpty();
|
|
17
|
-
//
|
|
18
|
-
//
|
|
19
|
-
//
|
|
20
|
-
// so the attester and proposer shufflings are correct.
|
|
17
|
+
// Runs concurrently with the state transition. Signature sets are built from preState0, which
|
|
18
|
+
// verifyBlocksInEpoch() guarantees is in the same epoch as every block, so the proposer and attester shufflings
|
|
19
|
+
// and the sync committee are the ones the blocks were signed under.
|
|
21
20
|
for (const [i, block] of blocks.entries()) {
|
|
22
21
|
// Use [i] to make clear that the index has to be correct to blame the right block below on BlockError()
|
|
23
22
|
isValidPromises[i] = opts.validSignatures
|
|
@@ -27,7 +26,13 @@ export async function verifyBlocksSignatures(config, bls, logger, metrics, preSt
|
|
|
27
26
|
// Verify signatures per block to track which block is invalid
|
|
28
27
|
bls.verifySignatureSets(getBlockSignatureSets(config, currentSyncCommitteeIndexed, preState0, block, indexedAttestationsByBlock[i], {
|
|
29
28
|
skipProposerSignature: opts.validProposerSignature,
|
|
30
|
-
})
|
|
29
|
+
}),
|
|
30
|
+
// Prioritize block verification over attestations, since
|
|
31
|
+
// attestations already buffer up to `MAX_BUFFER_WAIT_MS`
|
|
32
|
+
{ priority: true });
|
|
33
|
+
// Handlers are attached after the loop, which yields. A rejection in between, e.g. the verifier closing,
|
|
34
|
+
// must not be unhandled. `rejectFirstInvalidResolveAllValid()` still observes it.
|
|
35
|
+
isValidPromises[i].catch(() => { });
|
|
31
36
|
// getBlockSignatureSets() takes 45ms in benchmarks for 2022Q2 mainnet blocks (100 sigs). When syncing a 32 blocks
|
|
32
37
|
// segments it will block the event loop for 1400 ms, which is too much. This call will allow the event loop to
|
|
33
38
|
// yield, which will cause one block's state transition to run. However, the tradeoff is okay and doesn't slow sync
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifyBlocksSignatures.js","sourceRoot":"","sources":["../../../src/chain/blocks/verifyBlocksSignatures.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,yBAAyB,CAAC;AAGnE;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAoB,EACpB,GAAiB,EACjB,MAAc,EACd,OAAuB,EACvB,SAA2B,EAC3B,MAA2B,EAC3B,0BAAkD,EAClD,IAAqB;IAErB,MAAM,eAAe,GAAuB,EAAE,CAAC;IAC/C,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1F,MAAM,2BAA2B,GAAG,iBAAiB,CAAC,SAAS,CAAC;QAC9D,CAAC,CAAC,SAAS,CAAC,2BAA2B;QACvC,CAAC,CAAC,IAAI,uBAAuB,EAAE,CAAC;IAElC,
|
|
1
|
+
{"version":3,"file":"verifyBlocksSignatures.js","sourceRoot":"","sources":["../../../src/chain/blocks/verifyBlocksSignatures.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
+
import { ChainForkConfig } from "@lodestar/config";
|
|
1
2
|
import { DataAvailabilityStatus } from "@lodestar/state-transition";
|
|
2
3
|
import { PayloadEnvelopeInput } from "../seenCache/seenPayloadEnvelopeInput.js";
|
|
3
|
-
export declare const PAYLOAD_DATA_AVAILABILITY_TIMEOUT = 12000;
|
|
4
4
|
/**
|
|
5
5
|
* Verifies that all payload envelope inputs have their data columns available.
|
|
6
|
-
* - Waits a max of
|
|
6
|
+
* - Waits a max of one slot duration of the payload's fork for all data to be available
|
|
7
7
|
* - Returns the time at which all data was available
|
|
8
8
|
* - Returns the data availability status for each payload input
|
|
9
9
|
*/
|
|
10
|
-
export declare function verifyPayloadsDataAvailability(payloadInputs: PayloadEnvelopeInput[], signal: AbortSignal): Promise<{
|
|
10
|
+
export declare function verifyPayloadsDataAvailability(config: ChainForkConfig, payloadInputs: PayloadEnvelopeInput[], signal: AbortSignal): Promise<{
|
|
11
11
|
dataAvailabilityStatuses: DataAvailabilityStatus[];
|
|
12
12
|
availableTime: number;
|
|
13
13
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifyPayloadsDataAvailability.d.ts","sourceRoot":"","sources":["../../../src/chain/blocks/verifyPayloadsDataAvailability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"verifyPayloadsDataAvailability.d.ts","sourceRoot":"","sources":["../../../src/chain/blocks/verifyPayloadsDataAvailability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,sBAAsB,EAAC,MAAM,4BAA4B,CAAC;AAGlE,OAAO,EAAC,oBAAoB,EAAC,MAAM,0CAA0C,CAAC;AAG9E;;;;;GAKG;AACH,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,eAAe,EACvB,aAAa,EAAE,oBAAoB,EAAE,EACrC,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC;IACT,wBAAwB,EAAE,sBAAsB,EAAE,CAAC;IACnD,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC,CA4BD"}
|
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
import { DataAvailabilityStatus } from "@lodestar/state-transition";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export const PAYLOAD_DATA_AVAILABILITY_TIMEOUT = 12_000;
|
|
2
|
+
import { TimeoutError } from "@lodestar/utils";
|
|
3
|
+
import { PayloadError, PayloadErrorCode } from "./importExecutionPayload.js";
|
|
5
4
|
/**
|
|
6
5
|
* Verifies that all payload envelope inputs have their data columns available.
|
|
7
|
-
* - Waits a max of
|
|
6
|
+
* - Waits a max of one slot duration of the payload's fork for all data to be available
|
|
8
7
|
* - Returns the time at which all data was available
|
|
9
8
|
* - Returns the data availability status for each payload input
|
|
10
9
|
*/
|
|
11
|
-
export async function verifyPayloadsDataAvailability(payloadInputs, signal) {
|
|
10
|
+
export async function verifyPayloadsDataAvailability(config, payloadInputs, signal) {
|
|
12
11
|
const promises = [];
|
|
13
12
|
for (const payloadInput of payloadInputs) {
|
|
14
13
|
if (!payloadInput.hasAllData()) {
|
|
15
|
-
|
|
14
|
+
// Sync and reconstruction keep pulling the data columns from the network while we wait
|
|
15
|
+
promises.push(payloadInput.waitForAllData(config.getSlotDurationMs(payloadInput.forkName), signal).catch((e) => {
|
|
16
|
+
if (e instanceof TimeoutError) {
|
|
17
|
+
throw new PayloadError(payloadInput, { code: PayloadErrorCode.DATA_UNAVAILABLE });
|
|
18
|
+
}
|
|
19
|
+
throw e;
|
|
20
|
+
}));
|
|
16
21
|
}
|
|
17
22
|
}
|
|
18
23
|
await Promise.all(promises);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifyPayloadsDataAvailability.js","sourceRoot":"","sources":["../../../src/chain/blocks/verifyPayloadsDataAvailability.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"verifyPayloadsDataAvailability.js","sourceRoot":"","sources":["../../../src/chain/blocks/verifyPayloadsDataAvailability.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,sBAAsB,EAAC,MAAM,4BAA4B,CAAC;AAElE,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAC,YAAY,EAAE,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,MAAuB,EACvB,aAAqC,EACrC,MAAmB;IAKnB,MAAM,QAAQ,GAAyC,EAAE,CAAC;IAC1D,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QACzC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC;YAC/B,uFAAuF;YACvF,QAAQ,CAAC,IAAI,CACX,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC/F,IAAI,CAAC,YAAY,YAAY,EAAE,CAAC;oBAC9B,MAAM,IAAI,YAAY,CAAC,YAAY,EAAE,EAAC,IAAI,EAAE,gBAAgB,CAAC,gBAAgB,EAAC,CAAC,CAAC;gBAClF,CAAC;gBACD,MAAM,CAAC,CAAC;YACV,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE5B,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC;IACpH,MAAM,wBAAwB,GAA6B,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE;QAC5F,IAAI,YAAY,CAAC,YAAY,EAAE,CAAC;YAC9B,OAAO,sBAAsB,CAAC,UAAU,CAAC;QAC3C,CAAC;QACD,OAAO,YAAY,CAAC,qBAAqB,EAAE,CAAC,MAAM,KAAK,CAAC;YACtD,CAAC,CAAC,sBAAsB,CAAC,WAAW;YACpC,CAAC,CAAC,sBAAsB,CAAC,SAAS,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,OAAO,EAAC,wBAAwB,EAAE,aAAa,EAAC,CAAC;AACnD,CAAC"}
|
|
@@ -6,8 +6,6 @@ import { IBlockInput, IDataColumnsInput } from "./blockInput/index.js";
|
|
|
6
6
|
*
|
|
7
7
|
* This operation may be performed before, during or after importing to the fork-choice. As long as errors
|
|
8
8
|
* are handled properly for eventual consistency.
|
|
9
|
-
*
|
|
10
|
-
* Block+blobs (pre-fulu) and data columns (fulu+) are written in parallel.
|
|
11
9
|
*/
|
|
12
10
|
export declare function writeBlockInputToDb(this: BeaconChain, blockInput: IBlockInput): Promise<void>;
|
|
13
11
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeBlockInputToDb.d.ts","sourceRoot":"","sources":["../../../src/chain/blocks/writeBlockInputToDb.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,EAAC,WAAW,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"writeBlockInputToDb.d.ts","sourceRoot":"","sources":["../../../src/chain/blocks/writeBlockInputToDb.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAsB,MAAM,uBAAuB,CAAC;AAG1F;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CASnG;AAuBD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC1G;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBjG"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { isForkPostDeneb } from "@lodestar/params";
|
|
2
2
|
import { toRootHex } from "@lodestar/utils";
|
|
3
3
|
import { getBlobKzgCommitments } from "../../util/dataColumns.js";
|
|
4
|
-
import {
|
|
4
|
+
import { isBlockInputColumns } from "./blockInput/index.js";
|
|
5
5
|
import { BLOB_AVAILABILITY_TIMEOUT } from "./verifyBlocksDataAvailability.js";
|
|
6
6
|
/**
|
|
7
7
|
* Persists block input data to DB. This operation must be eventually completed if a block is imported to the fork-choice.
|
|
@@ -9,18 +9,16 @@ import { BLOB_AVAILABILITY_TIMEOUT } from "./verifyBlocksDataAvailability.js";
|
|
|
9
9
|
*
|
|
10
10
|
* This operation may be performed before, during or after importing to the fork-choice. As long as errors
|
|
11
11
|
* are handled properly for eventual consistency.
|
|
12
|
-
*
|
|
13
|
-
* Block+blobs (pre-fulu) and data columns (fulu+) are written in parallel.
|
|
14
12
|
*/
|
|
15
13
|
export async function writeBlockInputToDb(blockInput) {
|
|
16
|
-
const promises = [
|
|
14
|
+
const promises = [writeBlockToDb.call(this, blockInput)];
|
|
17
15
|
if (isBlockInputColumns(blockInput)) {
|
|
18
16
|
promises.push(writeDataColumnsToDb.call(this, blockInput));
|
|
19
17
|
}
|
|
20
18
|
await Promise.all(promises);
|
|
21
19
|
this.logger.debug("Persisted blockInput to db", { slot: blockInput.slot, root: blockInput.blockRootHex });
|
|
22
20
|
}
|
|
23
|
-
async function
|
|
21
|
+
async function writeBlockToDb(blockInput) {
|
|
24
22
|
const block = blockInput.getBlock();
|
|
25
23
|
const slot = block.message.slot;
|
|
26
24
|
const blockRoot = this.config.getForkTypes(slot).BeaconBlock.hashTreeRoot(block.message);
|
|
@@ -28,33 +26,17 @@ async function writeBlockAndBlobsToDb(blockInput) {
|
|
|
28
26
|
const numBlobs = isForkPostDeneb(blockInput.forkName)
|
|
29
27
|
? getBlobKzgCommitments(blockInput.forkName, block).length
|
|
30
28
|
: undefined;
|
|
31
|
-
|
|
29
|
+
this.logger.debug("Persist block to hot DB", { slot, root: blockRootHex, inputType: blockInput.type, numBlobs });
|
|
32
30
|
const blockBytes = this.serializedCache.get(block);
|
|
33
31
|
if (blockBytes) {
|
|
34
32
|
// skip serializing data if we already have it
|
|
35
33
|
this.metrics?.importBlock.persistBlockWithSerializedDataCount.inc();
|
|
36
|
-
|
|
34
|
+
await this.db.block.putBinary(this.db.block.getId(block), blockBytes);
|
|
37
35
|
}
|
|
38
36
|
else {
|
|
39
37
|
this.metrics?.importBlock.persistBlockNoSerializedDataCount.inc();
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
this.logger.debug("Persist block to hot DB", { slot, root: blockRootHex, inputType: blockInput.type, numBlobs });
|
|
43
|
-
if (isBlockInputBlobs(blockInput)) {
|
|
44
|
-
fnPromises.push((async () => {
|
|
45
|
-
if (!blockInput.hasAllData()) {
|
|
46
|
-
await blockInput.waitForAllData(BLOB_AVAILABILITY_TIMEOUT);
|
|
47
|
-
}
|
|
48
|
-
const blobSidecars = blockInput.getBlobs();
|
|
49
|
-
await this.db.blobSidecars.add({ blockRoot, slot, blobSidecars });
|
|
50
|
-
this.logger.debug("Persisted blobSidecars to hot DB", {
|
|
51
|
-
slot,
|
|
52
|
-
root: blockRootHex,
|
|
53
|
-
numBlobs: blobSidecars.length,
|
|
54
|
-
});
|
|
55
|
-
})());
|
|
38
|
+
await this.db.block.add(block);
|
|
56
39
|
}
|
|
57
|
-
await Promise.all(fnPromises);
|
|
58
40
|
}
|
|
59
41
|
/**
|
|
60
42
|
* Persists data columns to DB for a given block. Accepts a narrow sub-interface of IBlockInput
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeBlockInputToDb.js","sourceRoot":"","sources":["../../../src/chain/blocks/writeBlockInputToDb.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAE9E,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAEhE,OAAO,EAAiC,
|
|
1
|
+
{"version":3,"file":"writeBlockInputToDb.js","sourceRoot":"","sources":["../../../src/chain/blocks/writeBlockInputToDb.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,8 @@ export type VerifySignatureOpts = {
|
|
|
19
19
|
verifyOnMainThread?: boolean;
|
|
20
20
|
/**
|
|
21
21
|
* Some signature sets are more important than others, and should be verified first.
|
|
22
|
+
* Non-batchable priority jobs are posted to an idle worker before this call returns, so the caller
|
|
23
|
+
* can run synchronous work right after without delaying the verification.
|
|
22
24
|
*/
|
|
23
25
|
priority?: boolean;
|
|
24
26
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/chain/bls/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAC;AAEzD,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,UAAU,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/chain/bls/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAC;AAEzD,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,UAAU,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzF;;;;;OAKG;IACH,8BAA8B,CAC5B,IAAI,EAAE,uBAAuB,EAAE,EAC/B,OAAO,EAAE,UAAU,EACnB,IAAI,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,GACrD,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAEtB,0DAA0D;IAC1D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;OAEG;IACH,aAAa,IAAI,OAAO,CAAC;CAC1B"}
|
|
@@ -26,7 +26,7 @@ export declare class BlsMultiThreadWorkerPool implements IBlsVerifier {
|
|
|
26
26
|
private readonly jobs;
|
|
27
27
|
private bufferedJobs;
|
|
28
28
|
private blsVerifyAllMultiThread;
|
|
29
|
-
private
|
|
29
|
+
private closePromise;
|
|
30
30
|
private workersBusy;
|
|
31
31
|
constructor(options: BlsMultiThreadWorkerPoolOptions, modules: BlsMultiThreadWorkerPoolModules);
|
|
32
32
|
canAcceptWork(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/chain/bls/multithread/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/chain/bls/multithread/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAC,MAAM,EAAQ,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,OAAO,EAAC,MAAM,2BAA2B,CAAC;AAIlD,OAAO,EAAC,YAAY,EAAE,uBAAuB,EAAE,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AAI3F,OAAO,EAGL,gBAAgB,EAKjB,MAAM,YAAY,CAAC;AAMpB,MAAM,MAAM,+BAA+B,GAAG;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF,YAAY,EAAC,gBAAgB,EAAC,CAAC;AAiE/B;;;;;;;GAOG;AACH,qBAAa,wBAAyB,YAAW,YAAY;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IAEzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkC;IACvD,OAAO,CAAC,YAAY,CAMJ;IAChB,OAAO,CAAC,uBAAuB,CAAU;IACzC,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,WAAW,CAAK;IAExB,YAAY,OAAO,EAAE,+BAA+B,EAAE,OAAO,EAAE,+BAA+B,EAgB7F;IAED,aAAa,IAAI,OAAO,CAOvB;IAEK,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,IAAI,GAAE,mBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC,CA4CjG;IAED;;OAEG;IACG,8BAA8B,CAClC,IAAI,EAAE,uBAAuB,EAAE,EAC/B,OAAO,EAAE,UAAU,EACnB,IAAI,GAAE,IAAI,CAAC,mBAAmB,EAAE,oBAAoB,CAAM,GACzD,OAAO,CAAC,OAAO,EAAE,CAAC,CAqBpB;IAED,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAgCrB;IAED,OAAO,CAAC,aAAa;IAuCrB;;OAEG;IACH,OAAO,CAAC,YAAY;IAwDpB;;OAEG;IACH,OAAO,CAAC,MAAM,CA6JZ;IAEF;;OAEG;IACH,OAAO,CAAC,WAAW;IAuBnB;;OAEG;IACH,OAAO,CAAC,eAAe,CAarB;IAEF,OAAO,CAAC,oBAAoB;IAK5B,kBAAkB;IAClB,UAAgB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAQnD;CACF"}
|
|
@@ -4,6 +4,7 @@ import { Worker, spawn } from "@chainsafe/threads";
|
|
|
4
4
|
// @ts-expect-error
|
|
5
5
|
// biome-ignore lint/suspicious/noGlobalAssign: We need the global `self` to reassign module properties later
|
|
6
6
|
self = undefined;
|
|
7
|
+
import { defer } from "@lodestar/utils";
|
|
7
8
|
import { LinkedList } from "../../../util/array.js";
|
|
8
9
|
import { callInNextEventLoop } from "../../../util/eventLoop.js";
|
|
9
10
|
import { QueueError, QueueErrorCode } from "../../../util/queue/index.js";
|
|
@@ -69,7 +70,7 @@ export class BlsMultiThreadWorkerPool {
|
|
|
69
70
|
jobs = new LinkedList();
|
|
70
71
|
bufferedJobs = null;
|
|
71
72
|
blsVerifyAllMultiThread;
|
|
72
|
-
|
|
73
|
+
closePromise;
|
|
73
74
|
workersBusy = 0;
|
|
74
75
|
constructor(options, modules) {
|
|
75
76
|
const { logger, metrics } = modules;
|
|
@@ -87,11 +88,14 @@ export class BlsMultiThreadWorkerPool {
|
|
|
87
88
|
}
|
|
88
89
|
}
|
|
89
90
|
canAcceptWork() {
|
|
90
|
-
return (this.
|
|
91
|
+
return (this.closePromise === undefined &&
|
|
92
|
+
this.workersBusy < blsPoolSize &&
|
|
91
93
|
// TODO: Should also bound the jobs queue?
|
|
92
94
|
this.jobs.length < MAX_JOBS_CAN_ACCEPT_WORK);
|
|
93
95
|
}
|
|
94
96
|
async verifySignatureSets(sets, opts = {}) {
|
|
97
|
+
if (this.closePromise !== undefined)
|
|
98
|
+
throw new QueueError({ code: QueueErrorCode.QUEUE_ABORTED });
|
|
95
99
|
this.metrics?.bls.aggregatedPubkeys.inc(getAggregatedPubkeysCount(sets));
|
|
96
100
|
this.metrics?.blsThreadPool.totalSigSets.inc(sets.length);
|
|
97
101
|
if (opts.priority) {
|
|
@@ -132,6 +136,8 @@ export class BlsMultiThreadWorkerPool {
|
|
|
132
136
|
* Verify signature sets of the same message, only supports worker verification.
|
|
133
137
|
*/
|
|
134
138
|
async verifySignatureSetsSameMessage(sets, message, opts = {}) {
|
|
139
|
+
if (this.closePromise !== undefined)
|
|
140
|
+
throw new QueueError({ code: QueueErrorCode.QUEUE_ABORTED });
|
|
135
141
|
const promises = [];
|
|
136
142
|
for (const setsChunk of chunkSameMessageSignatureSets(sets)) {
|
|
137
143
|
promises.push(new Promise((resolve, reject) => {
|
|
@@ -149,9 +155,16 @@ export class BlsMultiThreadWorkerPool {
|
|
|
149
155
|
const results = await Promise.all(promises);
|
|
150
156
|
return results.flat();
|
|
151
157
|
}
|
|
152
|
-
|
|
158
|
+
close() {
|
|
159
|
+
if (this.closePromise !== undefined)
|
|
160
|
+
return this.closePromise;
|
|
153
161
|
if (this.bufferedJobs) {
|
|
154
162
|
clearTimeout(this.bufferedJobs.timeout);
|
|
163
|
+
for (const jobs of [this.bufferedJobs.jobs, this.bufferedJobs.prioritizedJobs]) {
|
|
164
|
+
for (const job of jobs)
|
|
165
|
+
job.reject(new QueueError({ code: QueueErrorCode.QUEUE_ABORTED }));
|
|
166
|
+
}
|
|
167
|
+
this.bufferedJobs = null;
|
|
155
168
|
}
|
|
156
169
|
// Abort all jobs
|
|
157
170
|
for (const job of this.jobs) {
|
|
@@ -159,12 +172,19 @@ export class BlsMultiThreadWorkerPool {
|
|
|
159
172
|
}
|
|
160
173
|
this.jobs.clear();
|
|
161
174
|
// Terminate all workers. await to ensure no workers are left hanging
|
|
162
|
-
|
|
175
|
+
this.closePromise = Promise.all(Array.from(this.workers.entries()).map(([id, worker]) =>
|
|
163
176
|
// NOTE: 'threads' has not yet updated types, and NodeJS complains with
|
|
164
177
|
// [DEP0132] DeprecationWarning: Passing a callback to worker.terminate() is deprecated. It returns a Promise instead.
|
|
165
|
-
worker.worker.terminate()
|
|
178
|
+
worker.worker.terminate()
|
|
179
|
+
.catch((e) => {
|
|
166
180
|
this.logger.error("Error terminating worker", { id }, e);
|
|
167
|
-
})
|
|
181
|
+
})
|
|
182
|
+
.finally(() => {
|
|
183
|
+
// threads does not settle outstanding RPC calls when its worker exits.
|
|
184
|
+
if (worker.status.code === WorkerStatusCode.running)
|
|
185
|
+
worker.status.abort();
|
|
186
|
+
}))).then(() => { });
|
|
187
|
+
return this.closePromise;
|
|
168
188
|
}
|
|
169
189
|
createWorkers(poolSize) {
|
|
170
190
|
const workers = [];
|
|
@@ -202,7 +222,7 @@ export class BlsMultiThreadWorkerPool {
|
|
|
202
222
|
* Register BLS work to be done eventually in a worker
|
|
203
223
|
*/
|
|
204
224
|
queueBlsWork(job) {
|
|
205
|
-
if (this.
|
|
225
|
+
if (this.closePromise !== undefined) {
|
|
206
226
|
throw new QueueError({ code: QueueErrorCode.QUEUE_ABORTED });
|
|
207
227
|
}
|
|
208
228
|
// TODO: Consider if limiting queue size is necessary here.
|
|
@@ -234,24 +254,26 @@ export class BlsMultiThreadWorkerPool {
|
|
|
234
254
|
this.runBufferedJobs("size");
|
|
235
255
|
}
|
|
236
256
|
}
|
|
257
|
+
// First hand work to an idle worker before returning to the caller.
|
|
258
|
+
// Deferring the post to the next macrotask would make the worker
|
|
259
|
+
// sit idle while waiting for the next synchronous work
|
|
260
|
+
else if (job.opts.priority) {
|
|
261
|
+
this.jobs.unshift(job);
|
|
262
|
+
void this.runJob();
|
|
263
|
+
}
|
|
237
264
|
// Push job and schedule to call `runJob` in the next macro event loop cycle.
|
|
238
265
|
// This is useful to allow batching job submitted from a synchronous for loop,
|
|
239
266
|
// and to prevent large stacks since runJob may be called recursively.
|
|
240
267
|
else {
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
}
|
|
244
|
-
else {
|
|
245
|
-
this.jobs.push(job);
|
|
246
|
-
}
|
|
247
|
-
callInNextEventLoop(this.runJob);
|
|
268
|
+
this.jobs.push(job);
|
|
269
|
+
callInNextEventLoop(() => void this.runJob());
|
|
248
270
|
}
|
|
249
271
|
}
|
|
250
272
|
/**
|
|
251
273
|
* Potentially submit jobs to an idle worker, only if there's a worker and jobs
|
|
252
274
|
*/
|
|
253
275
|
runJob = async () => {
|
|
254
|
-
if (this.
|
|
276
|
+
if (this.closePromise !== undefined) {
|
|
255
277
|
return;
|
|
256
278
|
}
|
|
257
279
|
// Find idle worker
|
|
@@ -268,12 +290,17 @@ export class BlsMultiThreadWorkerPool {
|
|
|
268
290
|
// and free-up memory, only needs to keep the job's Promise handlers.
|
|
269
291
|
// Maybe it's not useful since all data referenced in jobs is likely referenced by others
|
|
270
292
|
const workerApi = worker.status.workerApi;
|
|
271
|
-
|
|
293
|
+
const completion = defer();
|
|
294
|
+
worker.status = {
|
|
295
|
+
code: WorkerStatusCode.running,
|
|
296
|
+
workerApi,
|
|
297
|
+
abort: () => completion.reject(new QueueError({ code: QueueErrorCode.QUEUE_ABORTED })),
|
|
298
|
+
};
|
|
272
299
|
this.workersBusy++;
|
|
273
300
|
const jobsStarted = [];
|
|
274
301
|
let completedJobsCount = 0;
|
|
275
302
|
if (this.jobs.length > 0) {
|
|
276
|
-
callInNextEventLoop(this.runJob);
|
|
303
|
+
callInNextEventLoop(() => void this.runJob());
|
|
277
304
|
}
|
|
278
305
|
try {
|
|
279
306
|
let startedJobsDefault = 0;
|
|
@@ -314,7 +341,7 @@ export class BlsMultiThreadWorkerPool {
|
|
|
314
341
|
if (workReqs.length === 0) {
|
|
315
342
|
worker.status = { code: WorkerStatusCode.idle, workerApi };
|
|
316
343
|
this.workersBusy--;
|
|
317
|
-
callInNextEventLoop(this.runJob);
|
|
344
|
+
callInNextEventLoop(() => void this.runJob());
|
|
318
345
|
return;
|
|
319
346
|
}
|
|
320
347
|
this.metrics?.blsThreadPool.totalJobsGroupsStarted.inc(1);
|
|
@@ -325,7 +352,8 @@ export class BlsMultiThreadWorkerPool {
|
|
|
325
352
|
// Send work package to the worker
|
|
326
353
|
// If worker communication or result processing throws, all unresolved jobs are rejected.
|
|
327
354
|
const [jobStartSec, jobStartNs] = process.hrtime();
|
|
328
|
-
|
|
355
|
+
void workerApi.verifyManySignatureSets(workReqs).then(completion.resolve, completion.reject);
|
|
356
|
+
const workResult = await completion.promise;
|
|
329
357
|
const [jobEndSec, jobEndNs] = process.hrtime();
|
|
330
358
|
const { workerId, batchRetries, batchSigsSuccess, verificationCalls, workerStartTime, workerEndTime, results } = workResult;
|
|
331
359
|
const [workerStartSec, workerStartNs] = workerStartTime;
|
|
@@ -365,7 +393,7 @@ export class BlsMultiThreadWorkerPool {
|
|
|
365
393
|
}
|
|
366
394
|
catch (e) {
|
|
367
395
|
// Worker communications should never reject
|
|
368
|
-
if (
|
|
396
|
+
if (this.closePromise === undefined) {
|
|
369
397
|
this.logger.error("BlsMultiThreadWorkerPool error", {}, e);
|
|
370
398
|
}
|
|
371
399
|
// Reject jobs that were not already completed
|
|
@@ -381,7 +409,7 @@ export class BlsMultiThreadWorkerPool {
|
|
|
381
409
|
worker.status = { code: WorkerStatusCode.idle, workerApi };
|
|
382
410
|
this.workersBusy--;
|
|
383
411
|
// Potentially run a new job
|
|
384
|
-
callInNextEventLoop(this.runJob);
|
|
412
|
+
callInNextEventLoop(() => void this.runJob());
|
|
385
413
|
};
|
|
386
414
|
/**
|
|
387
415
|
* Grab pending work up to a max number of signatures
|
|
@@ -418,7 +446,7 @@ export class BlsMultiThreadWorkerPool {
|
|
|
418
446
|
this.jobs.unshift(job);
|
|
419
447
|
}
|
|
420
448
|
this.bufferedJobs = null;
|
|
421
|
-
callInNextEventLoop(this.runJob);
|
|
449
|
+
callInNextEventLoop(() => void this.runJob());
|
|
422
450
|
}
|
|
423
451
|
};
|
|
424
452
|
observeJobCompletion(job, outcome) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/chain/bls/multithread/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/chain/bls/multithread/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type BlsSignatureSet } from "@
|
|
1
|
+
import { type BlsSignatureSet } from "@lodestar/native/bls-verifier";
|
|
2
2
|
import { SameMessageSignatureSet, VerifySignatureOpts } from "../interface.js";
|
|
3
3
|
export type WorkerData = {
|
|
4
4
|
workerId: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/chain/bls/multithread/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,eAAe,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/chain/bls/multithread/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,eAAe,EAAC,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAC,uBAAuB,EAAE,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AAE7E,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,oBAAY,gBAAgB;IAC1B,OAAO,YAAY;IACnB,WAAW,iBAAiB;CAC7B;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC;IAC/B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,EAAE,eAAe,EAAE,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,gBAAgB,CAAC,WAAW,CAAC;IACnC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,EAAE,uBAAuB,EAAE,CAAC;IAChC,OAAO,EAAE,UAAU,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,iBAAiB,GAAG,qBAAqB,CAAC;AAEnE,oBAAY,cAAc;IACxB,OAAO,YAAY;IACnB,KAAK,UAAU;CAChB;AAED,oBAAY,yBAAyB;IACnC,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,WAAW,iBAAiB;CAC7B;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,yBAAyB,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAAC,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAC,CAAC;AACzE,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAAC,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC;IAAC,MAAM,EAAE,CAAC,CAAA;CAAC,GAAG,eAAe,CAAC;AAExF,MAAM,MAAM,aAAa,GAAG;IAC1B,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,gBAAgB,EAAE,MAAM,CAAC;IACzB,+EAA+E;IAC/E,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC,8EAA8E;IAC9E,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,4EAA4E;IAC5E,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;CAClC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import worker from "node:worker_threads";
|
|
2
|
-
import { verifySignatureSets, verifySignatureSetsSameMessage, } from "@chainsafe/lodestar-z/bls-verifier";
|
|
3
2
|
import { expose } from "@chainsafe/threads/worker";
|
|
3
|
+
import { verifySignatureSets, verifySignatureSetsSameMessage } from "@lodestar/native/bls-verifier";
|
|
4
4
|
import { JobQueueItemType, VerificationCallOperation, WorkResultCode, } from "./types.js";
|
|
5
5
|
import { chunkifyMaximizeChunkSize } from "./utils.js";
|
|
6
6
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../src/chain/bls/multithread/worker.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,qBAAqB,CAAC;AACzC,OAAO,
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../src/chain/bls/multithread/worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { verifySignatureSetsSameMessage } from "@
|
|
1
|
+
import { verifySignatureSetsSameMessage } from "@lodestar/native/bls-verifier";
|
|
2
2
|
import { chunkSameMessageSignatureSets, getAggregatedPubkeysCount, verifySignatureSetsInBatches } from "./utils.js";
|
|
3
3
|
export class BlsSingleThreadVerifier {
|
|
4
4
|
metrics;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"singleThread.js","sourceRoot":"","sources":["../../../src/chain/bls/singleThread.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,8BAA8B,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"singleThread.js","sourceRoot":"","sources":["../../../src/chain/bls/singleThread.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,8BAA8B,EAAC,MAAM,+BAA+B,CAAC;AAI7E,OAAO,EAAC,6BAA6B,EAAE,yBAAyB,EAAE,4BAA4B,EAAC,MAAM,YAAY,CAAC;AAElH,MAAM,OAAO,uBAAuB;IACjB,OAAO,CAAiB;IACzC,YAAY,EAAC,OAAO,GAAG,IAAI,EAA4B;QACrD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAqB;QAC7C,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC;QAEzE,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,8BAA8B,CAAC,UAAU,EAAE,CAAC;QACtF,MAAM,OAAO,GAAG,4BAA4B,CAAC,IAAI,CAAC,CAAC;QAEnD,2DAA2D;QAC3D,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,EAAE,CAAC;QACV,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,8BAA8B,CAAC,IAA+B,EAAE,OAAmB;QACvF,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,8BAA8B,CAAC,UAAU,EAAE,CAAC;QACtF,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,KAAK,MAAM,SAAS,IAAI,6BAA6B,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5D,MAAM,CAAC,IAAI,CAAC,GAAG,8BAA8B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QACrE,CAAC;QACD,KAAK,EAAE,EAAE,CAAC;QACV,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,gBAAgB;IAClB,CAAC;IAED,aAAa;QACX,qFAAqF;QACrF,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|