@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":"beaconBlocksByRange.d.ts","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/beaconBlocksByRange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAA4B,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAE9E,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"beaconBlocksByRange.d.ts","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/beaconBlocksByRange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAA4B,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAE9E,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAK/C,wBAAuB,qBAAqB,CAC1C,OAAO,EAAE,MAAM,CAAC,0BAA0B,EAC1C,KAAK,EAAE,YAAY,EACnB,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,aAAa,CAAC,gBAAgB,CAAC,CAmFjC;AAED,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM,CAAC,0BAA0B,GACzC,IAAI,CAAC,MAAM,CAAC,0BAA0B,EAAE,WAAW,GAAG,OAAO,CAAC,CAyBhE"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PeerId } from "@libp2p/interface";
|
|
2
|
+
import { ResponseOutgoing } from "@lodestar/reqresp";
|
|
3
|
+
import { heze } from "@lodestar/types";
|
|
4
|
+
import { IBeaconChain } from "../../../chain/index.js";
|
|
5
|
+
/**
|
|
6
|
+
* Only lists that passed gossip validation are stored and the store skips equivocators, so the spec's
|
|
7
|
+
* "SHOULD NOT respond with lists that fail gossip validation or are from equivocators" holds by construction.
|
|
8
|
+
*/
|
|
9
|
+
export declare function onInclusionListsByIndices(requestBody: heze.InclusionListsByIndicesRequest, chain: IBeaconChain, peerId: PeerId, peerClient: string): AsyncIterable<ResponseOutgoing>;
|
|
10
|
+
//# sourceMappingURL=inclusionListsByIndices.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inclusionListsByIndices.d.ts","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/inclusionListsByIndices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAC,IAAI,EAAM,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AAGrD;;;GAGG;AACH,wBAAuB,yBAAyB,CAC9C,WAAW,EAAE,IAAI,CAAC,8BAA8B,EAChD,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,aAAa,CAAC,gBAAgB,CAAC,CA0BjC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { computeEpochAtSlot, computeStartSlotAtEpoch } from "@lodestar/state-transition";
|
|
2
|
+
import { ssz } from "@lodestar/types";
|
|
3
|
+
import { toRootHex } from "@lodestar/utils";
|
|
4
|
+
import { prettyPrintPeerId } from "../../util.js";
|
|
5
|
+
/**
|
|
6
|
+
* Only lists that passed gossip validation are stored and the store skips equivocators, so the spec's
|
|
7
|
+
* "SHOULD NOT respond with lists that fail gossip validation or are from equivocators" holds by construction.
|
|
8
|
+
*/
|
|
9
|
+
export async function* onInclusionListsByIndices(requestBody, chain, peerId, peerClient) {
|
|
10
|
+
const { slot, dependentRoot, indices } = requestBody;
|
|
11
|
+
const minimumRequestSlot = Math.max(chain.clock.currentSlot - chain.config.MIN_SLOTS_FOR_INCLUSION_LISTS_REQUESTS, computeStartSlotAtEpoch(chain.config.HEZE_FORK_EPOCH));
|
|
12
|
+
if (slot < minimumRequestSlot) {
|
|
13
|
+
chain.logger.debug("Cannot serve InclusionListsByIndices: slot below minimum request slot", {
|
|
14
|
+
slot,
|
|
15
|
+
minimumRequestSlot,
|
|
16
|
+
peer: prettyPrintPeerId(peerId),
|
|
17
|
+
client: peerClient,
|
|
18
|
+
});
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
const signedInclusionLists = chain.inclusionListStore.getByIndices(slot, toRootHex(dependentRoot), indices);
|
|
22
|
+
const boundary = chain.config.getForkBoundaryAtEpoch(computeEpochAtSlot(slot));
|
|
23
|
+
for (const signedInclusionList of signedInclusionLists.slice(0, chain.config.MAX_REQUEST_INCLUSION_LIST)) {
|
|
24
|
+
yield {
|
|
25
|
+
data: ssz.heze.SignedInclusionList.serialize(signedInclusionList),
|
|
26
|
+
boundary,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=inclusionListsByIndices.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inclusionListsByIndices.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/inclusionListsByIndices.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,kBAAkB,EAAE,uBAAuB,EAAC,MAAM,4BAA4B,CAAC;AACvF,OAAO,EAAO,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAEhD;;;GAGG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,yBAAyB,CAC9C,WAAgD,EAChD,KAAmB,EACnB,MAAc,EACd,UAAkB;IAElB,MAAM,EAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAC,GAAG,WAAW,CAAC;IAEnD,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CACjC,KAAK,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,sCAAsC,EAC7E,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CACtD,CAAC;IACF,IAAI,IAAI,GAAG,kBAAkB,EAAE,CAAC;QAC9B,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,uEAAuE,EAAE;YAC1F,IAAI;YACJ,kBAAkB;YAClB,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC;YAC/B,MAAM,EAAE,UAAU;SACnB,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,MAAM,oBAAoB,GAAG,KAAK,CAAC,kBAAkB,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC;IAE5G,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/E,KAAK,MAAM,mBAAmB,IAAI,oBAAoB,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,0BAA0B,CAAC,EAAE,CAAC;QACzG,MAAM;YACJ,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,mBAAmB,CAAC;YACjE,QAAQ;SACT,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAM/C,OAAO,EAAC,mBAAmB,EAAgB,MAAM,aAAa,CAAC;AAmD/D;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EAAC,EAAE,EAAE,KAAK,EAAC,EAAE;IAAC,EAAE,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAC,GAAG,mBAAmB,CAsEzG"}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { RespStatus, ResponseError } from "@lodestar/reqresp";
|
|
2
2
|
import { ssz } from "@lodestar/types";
|
|
3
|
-
import { BeaconBlocksByRootRequestType,
|
|
3
|
+
import { BeaconBlocksByRootRequestType, DataColumnSidecarsByRootRequestType, ExecutionPayloadEnvelopesByRootRequestType, } from "../../../util/types.js";
|
|
4
4
|
import { ReqRespMethod } from "../types.js";
|
|
5
5
|
import { onBeaconBlocksByHead } from "./beaconBlocksByHead.js";
|
|
6
6
|
import { onBeaconBlocksByRange } from "./beaconBlocksByRange.js";
|
|
7
7
|
import { onBeaconBlocksByRoot } from "./beaconBlocksByRoot.js";
|
|
8
|
-
import { onBlobSidecarsByRange } from "./blobSidecarsByRange.js";
|
|
9
|
-
import { onBlobSidecarsByRoot } from "./blobSidecarsByRoot.js";
|
|
10
8
|
import { onDataColumnSidecarsByRange } from "./dataColumnSidecarsByRange.js";
|
|
11
9
|
import { onDataColumnSidecarsByRoot } from "./dataColumnSidecarsByRoot.js";
|
|
12
10
|
import { onExecutionPayloadEnvelopesByRange } from "./executionPayloadEnvelopesByRange.js";
|
|
13
11
|
import { onExecutionPayloadEnvelopesByRoot } from "./executionPayloadEnvelopesByRoot.js";
|
|
12
|
+
import { onInclusionListsByIndices } from "./inclusionListsByIndices.js";
|
|
14
13
|
import { onLightClientBootstrap } from "./lightClientBootstrap.js";
|
|
15
14
|
import { onLightClientFinalityUpdate } from "./lightClientFinalityUpdate.js";
|
|
16
15
|
import { onLightClientOptimisticUpdate } from "./lightClientOptimisticUpdate.js";
|
|
@@ -67,15 +66,6 @@ export function getReqRespHandlers({ db, chain }) {
|
|
|
67
66
|
const body = deserializeRequestBody(ssz.fulu.BeaconBlocksByHeadRequest, req.data);
|
|
68
67
|
return onBeaconBlocksByHead(body, chain, peerId, peerClient);
|
|
69
68
|
},
|
|
70
|
-
[ReqRespMethod.BlobSidecarsByRoot]: (req) => {
|
|
71
|
-
const fork = chain.config.getForkName(chain.clock.currentSlot);
|
|
72
|
-
const body = deserializeRequestBody(BlobSidecarsByRootRequestType(fork, chain.config), req.data);
|
|
73
|
-
return onBlobSidecarsByRoot(body, chain);
|
|
74
|
-
},
|
|
75
|
-
[ReqRespMethod.BlobSidecarsByRange]: (req) => {
|
|
76
|
-
const body = deserializeRequestBody(ssz.deneb.BlobSidecarsByRangeRequest, req.data);
|
|
77
|
-
return trackByRangeResponse(chain, ReqRespMethod.BlobSidecarsByRange, body.count, onBlobSidecarsByRange(body, chain, db));
|
|
78
|
-
},
|
|
79
69
|
[ReqRespMethod.DataColumnSidecarsByRange]: (req, peerId, peerClient) => {
|
|
80
70
|
const body = deserializeRequestBody(ssz.fulu.DataColumnSidecarsByRangeRequest, req.data);
|
|
81
71
|
return trackByRangeResponse(chain, ReqRespMethod.DataColumnSidecarsByRange, body.count, onDataColumnSidecarsByRange(body, chain, db, peerId, peerClient), body.columns.length);
|
|
@@ -102,6 +92,10 @@ export function getReqRespHandlers({ db, chain }) {
|
|
|
102
92
|
},
|
|
103
93
|
[ReqRespMethod.LightClientFinalityUpdate]: () => onLightClientFinalityUpdate(chain),
|
|
104
94
|
[ReqRespMethod.LightClientOptimisticUpdate]: () => onLightClientOptimisticUpdate(chain),
|
|
95
|
+
[ReqRespMethod.InclusionListsByIndices]: (req, peerId, peerClient) => {
|
|
96
|
+
const body = deserializeRequestBody(ssz.heze.InclusionListsByIndicesRequest, req.data);
|
|
97
|
+
return onInclusionListsByIndices(body, chain, peerId, peerClient);
|
|
98
|
+
},
|
|
105
99
|
};
|
|
106
100
|
return (method) => handlers[method];
|
|
107
101
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,UAAU,EAAE,aAAa,EAAmB,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAGpC,OAAO,EACL,6BAA6B,EAC7B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,12 +13,11 @@ export declare const BeaconBlocksByRangeV2: (fork: ForkName, config: BeaconConfi
|
|
|
13
13
|
export declare const BeaconBlocksByRoot: (fork: ForkName, config: BeaconConfig) => ProtocolNoHandler;
|
|
14
14
|
export declare const BeaconBlocksByRootV2: (fork: ForkName, config: BeaconConfig) => ProtocolNoHandler;
|
|
15
15
|
export declare const BeaconBlocksByHead: (fork: ForkName, config: BeaconConfig) => ProtocolNoHandler;
|
|
16
|
-
export declare const BlobSidecarsByRange: (fork: ForkName, config: BeaconConfig) => ProtocolNoHandler;
|
|
17
|
-
export declare const BlobSidecarsByRoot: (fork: ForkName, config: BeaconConfig) => ProtocolNoHandler;
|
|
18
16
|
export declare const DataColumnSidecarsByRange: (fork: ForkName, config: BeaconConfig) => ProtocolNoHandler;
|
|
19
17
|
export declare const DataColumnSidecarsByRoot: (fork: ForkName, config: BeaconConfig) => ProtocolNoHandler;
|
|
20
18
|
export declare const ExecutionPayloadEnvelopesByRoot: (fork: ForkName, config: BeaconConfig) => ProtocolNoHandler;
|
|
21
19
|
export declare const ExecutionPayloadEnvelopesByRange: (fork: ForkName, config: BeaconConfig) => ProtocolNoHandler;
|
|
20
|
+
export declare const InclusionListsByIndices: (fork: ForkName, config: BeaconConfig) => ProtocolNoHandler;
|
|
22
21
|
export declare const LightClientBootstrap: (fork: ForkName, config: BeaconConfig) => ProtocolNoHandler;
|
|
23
22
|
export declare const LightClientFinalityUpdate: (fork: ForkName, config: BeaconConfig) => ProtocolNoHandler;
|
|
24
23
|
export declare const LightClientOptimisticUpdate: (fork: ForkName, config: BeaconConfig) => ProtocolNoHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocols.d.ts","sourceRoot":"","sources":["../../../src/network/reqresp/protocols.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,QAAQ,EAAkB,MAAM,kBAAkB,CAAC;AAI3D,OAAO,EAAC,iBAAiB,EAA0E,MAAM,YAAY,CAAC;AAEtH,eAAO,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"protocols.d.ts","sourceRoot":"","sources":["../../../src/network/reqresp/protocols.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,QAAQ,EAAkB,MAAM,kBAAkB,CAAC;AAI3D,OAAO,EAAC,iBAAiB,EAA0E,MAAM,YAAY,CAAC;AAEtH,eAAO,MAAM,OAAO,SAqIJ,QAAQ,UAAU,YAAY,KAAG,iBAAiB,AAjIhE,CAAC;AAEH,eAAO,MAAM,QAAQ,SA+HL,QAAQ,UAAU,YAAY,KAAG,iBAAiB,AA3HhE,CAAC;AAEH,eAAO,MAAM,UAAU,SAyHP,QAAQ,UAAU,YAAY,KAAG,iBAAiB,AArHhE,CAAC;AAEH,eAAO,MAAM,UAAU,SAmHP,QAAQ,UAAU,YAAY,KAAG,iBAAiB,AA/GhE,CAAC;AAEH,eAAO,MAAM,IAAI,SA6GD,QAAQ,UAAU,YAAY,KAAG,iBAAiB,AAzGhE,CAAC;AAEH,eAAO,MAAM,MAAM,SAuGH,QAAQ,UAAU,YAAY,KAAG,iBAAiB,AAnGhE,CAAC;AAEH,eAAO,MAAM,QAAQ,SAiGL,QAAQ,UAAU,YAAY,KAAG,iBAAiB,AA7FhE,CAAC;AAEH,eAAO,MAAM,mBAAmB,SA2FhB,QAAQ,UAAU,YAAY,KAAG,iBAAiB,AAvFhE,CAAC;AAEH,eAAO,MAAM,qBAAqB,SAqFlB,QAAQ,UAAU,YAAY,KAAG,iBAAiB,AAjFhE,CAAC;AAEH,eAAO,MAAM,kBAAkB,SA+Ef,QAAQ,UAAU,YAAY,KAAG,iBAAiB,AA3EhE,CAAC;AAEH,eAAO,MAAM,oBAAoB,SAyEjB,QAAQ,UAAU,YAAY,KAAG,iBAAiB,AArEhE,CAAC;AAEH,eAAO,MAAM,kBAAkB,SAmEf,QAAQ,UAAU,YAAY,KAAG,iBAAiB,AA/DhE,CAAC;AAEH,eAAO,MAAM,yBAAyB,SA6DtB,QAAQ,UAAU,YAAY,KAAG,iBAAiB,AAzDhE,CAAC;AAEH,eAAO,MAAM,wBAAwB,SAuDrB,QAAQ,UAAU,YAAY,KAAG,iBAAiB,AAnDhE,CAAC;AAEH,eAAO,MAAM,+BAA+B,SAiD5B,QAAQ,UAAU,YAAY,KAAG,iBAAiB,AA7ChE,CAAC;AAEH,eAAO,MAAM,gCAAgC,SA2C7B,QAAQ,UAAU,YAAY,KAAG,iBAAiB,AAvChE,CAAC;AAEH,eAAO,MAAM,uBAAuB,SAqCpB,QAAQ,UAAU,YAAY,KAAG,iBAAiB,AAjChE,CAAC;AAEH,eAAO,MAAM,oBAAoB,SA+BjB,QAAQ,UAAU,YAAY,KAAG,iBAAiB,AA3BhE,CAAC;AAEH,eAAO,MAAM,yBAAyB,SAyBtB,QAAQ,UAAU,YAAY,KAAG,iBAAiB,AArBhE,CAAC;AAEH,eAAO,MAAM,2BAA2B,SAmBxB,QAAQ,UAAU,YAAY,KAAG,iBAAiB,AAfhE,CAAC;AAEH,eAAO,MAAM,yBAAyB,SAatB,QAAQ,UAAU,YAAY,KAAG,iBAAiB,AAThE,CAAC"}
|
|
@@ -63,16 +63,6 @@ export const BeaconBlocksByHead = toProtocol({
|
|
|
63
63
|
version: Version.V1,
|
|
64
64
|
contextBytesType: ContextBytesType.ForkDigest,
|
|
65
65
|
});
|
|
66
|
-
export const BlobSidecarsByRange = toProtocol({
|
|
67
|
-
method: ReqRespMethod.BlobSidecarsByRange,
|
|
68
|
-
version: Version.V1,
|
|
69
|
-
contextBytesType: ContextBytesType.ForkDigest,
|
|
70
|
-
});
|
|
71
|
-
export const BlobSidecarsByRoot = toProtocol({
|
|
72
|
-
method: ReqRespMethod.BlobSidecarsByRoot,
|
|
73
|
-
version: Version.V1,
|
|
74
|
-
contextBytesType: ContextBytesType.ForkDigest,
|
|
75
|
-
});
|
|
76
66
|
export const DataColumnSidecarsByRange = toProtocol({
|
|
77
67
|
method: ReqRespMethod.DataColumnSidecarsByRange,
|
|
78
68
|
version: Version.V1,
|
|
@@ -93,6 +83,11 @@ export const ExecutionPayloadEnvelopesByRange = toProtocol({
|
|
|
93
83
|
version: Version.V1,
|
|
94
84
|
contextBytesType: ContextBytesType.ForkDigest,
|
|
95
85
|
});
|
|
86
|
+
export const InclusionListsByIndices = toProtocol({
|
|
87
|
+
method: ReqRespMethod.InclusionListsByIndices,
|
|
88
|
+
version: Version.V1,
|
|
89
|
+
contextBytesType: ContextBytesType.ForkDigest,
|
|
90
|
+
});
|
|
96
91
|
export const LightClientBootstrap = toProtocol({
|
|
97
92
|
method: ReqRespMethod.LightClientBootstrap,
|
|
98
93
|
version: Version.V1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocols.js","sourceRoot":"","sources":["../../../src/network/reqresp/protocols.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"protocols.js","sourceRoot":"","sources":["../../../src/network/reqresp/protocols.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rateLimit.d.ts","sourceRoot":"","sources":["../../../src/network/reqresp/rateLimit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"rateLimit.d.ts","sourceRoot":"","sources":["../../../src/network/reqresp/rateLimit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,QAAQ,EAAoD,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EAAC,qBAAqB,EAAC,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAC,aAAa,EAA8C,MAAM,YAAY,CAAC;AAEtF,eAAO,MAAM,eAAe,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,KAAK,MAAM,CAAC,aAAa,EAAE,qBAAqB,CAmGjH,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MAX_REQUEST_LIGHT_CLIENT_UPDATES, isForkPostDeneb
|
|
1
|
+
import { MAX_REQUEST_LIGHT_CLIENT_UPDATES, isForkPostDeneb } from "@lodestar/params";
|
|
2
2
|
import { ReqRespMethod, requestSszTypeByMethod } from "./types.js";
|
|
3
3
|
export const rateLimitQuotas = (fork, config) => ({
|
|
4
4
|
[ReqRespMethod.Status]: {
|
|
@@ -38,22 +38,6 @@ export const rateLimitQuotas = (fork, config) => ({
|
|
|
38
38
|
byPeer: { quota: config.MAX_REQUEST_BLOCKS_DENEB, quotaTimeMs: 10_000 },
|
|
39
39
|
getRequestCount: getRequestCountFn(fork, config, ReqRespMethod.BeaconBlocksByHead, (req) => req.count),
|
|
40
40
|
},
|
|
41
|
-
[ReqRespMethod.BlobSidecarsByRange]: {
|
|
42
|
-
// Rationale: MAX_REQUEST_BLOCKS_DENEB * MAX_BLOBS_PER_BLOCK
|
|
43
|
-
byPeer: {
|
|
44
|
-
quota: isForkPostElectra(fork) ? config.MAX_REQUEST_BLOB_SIDECARS_ELECTRA : config.MAX_REQUEST_BLOB_SIDECARS,
|
|
45
|
-
quotaTimeMs: 10_000,
|
|
46
|
-
},
|
|
47
|
-
getRequestCount: getRequestCountFn(fork, config, ReqRespMethod.BlobSidecarsByRange, (req) => req.count),
|
|
48
|
-
},
|
|
49
|
-
[ReqRespMethod.BlobSidecarsByRoot]: {
|
|
50
|
-
// Rationale: quota of BeaconBlocksByRoot * MAX_BLOBS_PER_BLOCK
|
|
51
|
-
byPeer: {
|
|
52
|
-
quota: isForkPostElectra(fork) ? config.MAX_REQUEST_BLOB_SIDECARS_ELECTRA : config.MAX_REQUEST_BLOB_SIDECARS,
|
|
53
|
-
quotaTimeMs: 10_000,
|
|
54
|
-
},
|
|
55
|
-
getRequestCount: getRequestCountFn(fork, config, ReqRespMethod.BlobSidecarsByRoot, (req) => req.length),
|
|
56
|
-
},
|
|
57
41
|
[ReqRespMethod.DataColumnSidecarsByRange]: {
|
|
58
42
|
// Rationale: MAX_REQUEST_BLOCKS_DENEB * NUMBER_OF_COLUMNS
|
|
59
43
|
byPeer: { quota: config.MAX_REQUEST_DATA_COLUMN_SIDECARS, quotaTimeMs: 10_000 },
|
|
@@ -86,6 +70,10 @@ export const rateLimitQuotas = (fork, config) => ({
|
|
|
86
70
|
// Allow 2 per slot and a very safe bound until there's more testing of real usage.
|
|
87
71
|
byPeer: { quota: 2, quotaTimeMs: config.getSlotDurationMs(fork) },
|
|
88
72
|
},
|
|
73
|
+
[ReqRespMethod.InclusionListsByIndices]: {
|
|
74
|
+
// Peers only backfill what gossip missed, so a small per-slot allowance is enough
|
|
75
|
+
byPeer: { quota: 5, quotaTimeMs: config.getSlotDurationMs(fork) },
|
|
76
|
+
},
|
|
89
77
|
[ReqRespMethod.LightClientOptimisticUpdate]: {
|
|
90
78
|
// Optimistic updates should not be requested more than once per slot.
|
|
91
79
|
// Allow 2 per slot and a very safe bound until there's more testing of real usage.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rateLimit.js","sourceRoot":"","sources":["../../../src/network/reqresp/rateLimit.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,gCAAgC,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"rateLimit.js","sourceRoot":"","sources":["../../../src/network/reqresp/rateLimit.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,gCAAgC,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAE7F,OAAO,EAAC,aAAa,EAAuB,sBAAsB,EAAC,MAAM,YAAY,CAAC;AAEtF,MAAM,CAAC,MAAM,eAAe,GAA2F,CACrH,IAAI,EACJ,MAAM,EACN,EAAE,CAAC,CAAC;IACJ,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;QACtB,sJAAsJ;QACtJ,MAAM,EAAE,EAAC,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAC;KACxC;IACD,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;QACvB,sJAAsJ;QACtJ,MAAM,EAAE,EAAC,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAC;KACxC;IACD,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;QACpB,sJAAsJ;QACtJ,MAAM,EAAE,EAAC,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAC;KACxC;IACD,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE;QACxB,sJAAsJ;QACtJ,MAAM,EAAE,EAAC,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAC;KACvC;IACD,gBAAgB;IAChB,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE;QACnC,sJAAsJ;QACtJ,MAAM,EAAE;YACN,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB;YAC1F,WAAW,EAAE,MAAM;SACpB;QACD,eAAe,EAAE,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;KACxG;IACD,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE;QAClC,sJAAsJ;QACtJ,MAAM,EAAE;YACN,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB;YAC1F,WAAW,EAAE,MAAM;SACpB;QACD,eAAe,EAAE,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC;KACxG;IACD,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE;QAClC,MAAM,EAAE,EAAC,KAAK,EAAE,MAAM,CAAC,wBAAwB,EAAE,WAAW,EAAE,MAAM,EAAC;QACrE,eAAe,EAAE,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;KACvG;IACD,CAAC,aAAa,CAAC,yBAAyB,CAAC,EAAE;QACzC,0DAA0D;QAC1D,MAAM,EAAE,EAAC,KAAK,EAAE,MAAM,CAAC,gCAAgC,EAAE,WAAW,EAAE,MAAM,EAAC;QAC7E,eAAe,EAAE,iBAAiB,CAChC,IAAI,EACJ,MAAM,EACN,aAAa,CAAC,yBAAyB,EACvC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CACxC;KACF;IACD,CAAC,aAAa,CAAC,wBAAwB,CAAC,EAAE;QACxC,6DAA6D;QAC7D,MAAM,EAAE,EAAC,KAAK,EAAE,MAAM,CAAC,gCAAgC,EAAE,WAAW,EAAE,MAAM,EAAC;QAC7E,eAAe,EAAE,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,wBAAwB,EAAE,CAAC,GAAG,EAAE,EAAE,CAC/F,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAC5D;KACF;IACD,CAAC,aAAa,CAAC,+BAA+B,CAAC,EAAE;QAC/C,MAAM,EAAE,EAAC,KAAK,EAAE,MAAM,CAAC,oBAAoB,EAAE,WAAW,EAAE,MAAM,EAAC;QACjE,eAAe,EAAE,iBAAiB,CAChC,IAAI,EACJ,MAAM,EACN,aAAa,CAAC,+BAA+B,EAC7C,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CACpB;KACF;IACD,CAAC,aAAa,CAAC,gCAAgC,CAAC,EAAE;QAChD,MAAM,EAAE,EAAC,KAAK,EAAE,MAAM,CAAC,oBAAoB,EAAE,WAAW,EAAE,MAAM,EAAC;QACjE,eAAe,EAAE,iBAAiB,CAChC,IAAI,EACJ,MAAM,EACN,aAAa,CAAC,gCAAgC,EAC9C,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CACnB;KACF;IACD,CAAC,aAAa,CAAC,oBAAoB,CAAC,EAAE;QACpC,gFAAgF;QAChF,MAAM,EAAE,EAAC,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAC;KACxC;IACD,CAAC,aAAa,CAAC,yBAAyB,CAAC,EAAE;QACzC,4CAA4C;QAC5C,MAAM,EAAE,EAAC,KAAK,EAAE,gCAAgC,EAAE,WAAW,EAAE,MAAM,EAAC;QACtE,eAAe,EAAE,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,yBAAyB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;KAC9G;IACD,CAAC,aAAa,CAAC,yBAAyB,CAAC,EAAE;QACzC,qEAAqE;QACrE,mFAAmF;QACnF,MAAM,EAAE,EAAC,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAC;KAChE;IACD,CAAC,aAAa,CAAC,uBAAuB,CAAC,EAAE;QACvC,kFAAkF;QAClF,MAAM,EAAE,EAAC,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAC;KAChE;IACD,CAAC,aAAa,CAAC,2BAA2B,CAAC,EAAE;QAC3C,sEAAsE;QACtE,mFAAmF;QACnF,MAAM,EAAE,EAAC,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAC;KAChE;CACF,CAAC,CAAC;AAEH,+CAA+C;AAC/C,SAAS,iBAAiB,CACxB,IAAc,EACd,MAAoB,EACpB,MAAS,EACT,EAA2C;IAE3C,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;IAC1D,OAAO,CAAC,OAAmB,EAAE,EAAE;QAC7B,IAAI,CAAC;YACH,mGAAmG;YACnG,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACZ,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -2,8 +2,8 @@ import { Type } from "@chainsafe/ssz";
|
|
|
2
2
|
import { BeaconConfig } from "@lodestar/config";
|
|
3
3
|
import { ForkName } from "@lodestar/params";
|
|
4
4
|
import { Protocol, ProtocolHandler, ReqRespRequest } from "@lodestar/reqresp";
|
|
5
|
-
import { DataColumnSidecar, LightClientBootstrap, LightClientFinalityUpdate, LightClientOptimisticUpdate, LightClientUpdate, Metadata, Root, SignedBeaconBlock, Status, altair,
|
|
6
|
-
import { BeaconBlocksByRootRequest,
|
|
5
|
+
import { DataColumnSidecar, LightClientBootstrap, LightClientFinalityUpdate, LightClientOptimisticUpdate, LightClientUpdate, Metadata, Root, SignedBeaconBlock, Status, altair, fulu, gloas, heze, phase0 } from "@lodestar/types";
|
|
6
|
+
import { BeaconBlocksByRootRequest, DataColumnSidecarsByRootRequest, ExecutionPayloadEnvelopesByRootRequest } from "../../util/types.js";
|
|
7
7
|
export type ProtocolNoHandler = Omit<Protocol, "handler">;
|
|
8
8
|
/** ReqResp protocol names or methods. Each ReqRespMethod can have multiple versions and encodings */
|
|
9
9
|
export declare enum ReqRespMethod {
|
|
@@ -14,8 +14,6 @@ export declare enum ReqRespMethod {
|
|
|
14
14
|
BeaconBlocksByRange = "beacon_blocks_by_range",
|
|
15
15
|
BeaconBlocksByRoot = "beacon_blocks_by_root",
|
|
16
16
|
BeaconBlocksByHead = "beacon_blocks_by_head",
|
|
17
|
-
BlobSidecarsByRange = "blob_sidecars_by_range",
|
|
18
|
-
BlobSidecarsByRoot = "blob_sidecars_by_root",
|
|
19
17
|
DataColumnSidecarsByRange = "data_column_sidecars_by_range",
|
|
20
18
|
DataColumnSidecarsByRoot = "data_column_sidecars_by_root",
|
|
21
19
|
ExecutionPayloadEnvelopesByRoot = "execution_payload_envelopes_by_root",
|
|
@@ -23,7 +21,8 @@ export declare enum ReqRespMethod {
|
|
|
23
21
|
LightClientBootstrap = "light_client_bootstrap",
|
|
24
22
|
LightClientUpdatesByRange = "light_client_updates_by_range",
|
|
25
23
|
LightClientFinalityUpdate = "light_client_finality_update",
|
|
26
|
-
LightClientOptimisticUpdate = "light_client_optimistic_update"
|
|
24
|
+
LightClientOptimisticUpdate = "light_client_optimistic_update",
|
|
25
|
+
InclusionListsByIndices = "inclusion_lists_by_indices"
|
|
27
26
|
}
|
|
28
27
|
export type RequestBodyByMethod = {
|
|
29
28
|
[ReqRespMethod.Status]: Status;
|
|
@@ -33,8 +32,6 @@ export type RequestBodyByMethod = {
|
|
|
33
32
|
[ReqRespMethod.BeaconBlocksByRange]: phase0.BeaconBlocksByRangeRequest;
|
|
34
33
|
[ReqRespMethod.BeaconBlocksByRoot]: BeaconBlocksByRootRequest;
|
|
35
34
|
[ReqRespMethod.BeaconBlocksByHead]: fulu.BeaconBlocksByHeadRequest;
|
|
36
|
-
[ReqRespMethod.BlobSidecarsByRange]: deneb.BlobSidecarsByRangeRequest;
|
|
37
|
-
[ReqRespMethod.BlobSidecarsByRoot]: BlobSidecarsByRootRequest;
|
|
38
35
|
[ReqRespMethod.DataColumnSidecarsByRange]: fulu.DataColumnSidecarsByRangeRequest;
|
|
39
36
|
[ReqRespMethod.DataColumnSidecarsByRoot]: DataColumnSidecarsByRootRequest;
|
|
40
37
|
[ReqRespMethod.ExecutionPayloadEnvelopesByRoot]: ExecutionPayloadEnvelopesByRootRequest;
|
|
@@ -43,6 +40,7 @@ export type RequestBodyByMethod = {
|
|
|
43
40
|
[ReqRespMethod.LightClientUpdatesByRange]: altair.LightClientUpdatesByRange;
|
|
44
41
|
[ReqRespMethod.LightClientFinalityUpdate]: null;
|
|
45
42
|
[ReqRespMethod.LightClientOptimisticUpdate]: null;
|
|
43
|
+
[ReqRespMethod.InclusionListsByIndices]: heze.InclusionListsByIndicesRequest;
|
|
46
44
|
};
|
|
47
45
|
type ResponseBodyByMethod = {
|
|
48
46
|
[ReqRespMethod.Status]: Status;
|
|
@@ -52,8 +50,6 @@ type ResponseBodyByMethod = {
|
|
|
52
50
|
[ReqRespMethod.BeaconBlocksByRange]: SignedBeaconBlock;
|
|
53
51
|
[ReqRespMethod.BeaconBlocksByRoot]: SignedBeaconBlock;
|
|
54
52
|
[ReqRespMethod.BeaconBlocksByHead]: SignedBeaconBlock;
|
|
55
|
-
[ReqRespMethod.BlobSidecarsByRange]: deneb.BlobSidecar;
|
|
56
|
-
[ReqRespMethod.BlobSidecarsByRoot]: deneb.BlobSidecar;
|
|
57
53
|
[ReqRespMethod.DataColumnSidecarsByRange]: DataColumnSidecar;
|
|
58
54
|
[ReqRespMethod.DataColumnSidecarsByRoot]: DataColumnSidecar;
|
|
59
55
|
[ReqRespMethod.ExecutionPayloadEnvelopesByRoot]: gloas.SignedExecutionPayloadEnvelope;
|
|
@@ -62,6 +58,7 @@ type ResponseBodyByMethod = {
|
|
|
62
58
|
[ReqRespMethod.LightClientUpdatesByRange]: LightClientUpdate;
|
|
63
59
|
[ReqRespMethod.LightClientFinalityUpdate]: LightClientFinalityUpdate;
|
|
64
60
|
[ReqRespMethod.LightClientOptimisticUpdate]: LightClientOptimisticUpdate;
|
|
61
|
+
[ReqRespMethod.InclusionListsByIndices]: heze.SignedInclusionList;
|
|
65
62
|
};
|
|
66
63
|
/** Request SSZ type for each method and ForkName */
|
|
67
64
|
export declare const requestSszTypeByMethod: (fork: ForkName, config: BeaconConfig) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/network/reqresp/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,QAAQ,EAAiE,MAAM,kBAAkB,CAAC;AAC1G,OAAO,EAAC,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,yBAAyB,EACzB,2BAA2B,EAC3B,iBAAiB,EACjB,QAAQ,EACR,IAAI,EACJ,iBAAiB,EACjB,MAAM,EACN,MAAM,EACN,KAAK,EACL,IAAI,EACJ,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/network/reqresp/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { isForkPostAltair, isForkPostFulu } from "@lodestar/params";
|
|
2
2
|
import { ssz, sszTypesFor, } from "@lodestar/types";
|
|
3
|
-
import { BeaconBlocksByRootRequestType,
|
|
3
|
+
import { BeaconBlocksByRootRequestType, DataColumnSidecarsByRootRequestType, ExecutionPayloadEnvelopesByRootRequestType, } from "../../util/types.js";
|
|
4
4
|
/** ReqResp protocol names or methods. Each ReqRespMethod can have multiple versions and encodings */
|
|
5
5
|
export var ReqRespMethod;
|
|
6
6
|
(function (ReqRespMethod) {
|
|
@@ -12,8 +12,6 @@ export var ReqRespMethod;
|
|
|
12
12
|
ReqRespMethod["BeaconBlocksByRange"] = "beacon_blocks_by_range";
|
|
13
13
|
ReqRespMethod["BeaconBlocksByRoot"] = "beacon_blocks_by_root";
|
|
14
14
|
ReqRespMethod["BeaconBlocksByHead"] = "beacon_blocks_by_head";
|
|
15
|
-
ReqRespMethod["BlobSidecarsByRange"] = "blob_sidecars_by_range";
|
|
16
|
-
ReqRespMethod["BlobSidecarsByRoot"] = "blob_sidecars_by_root";
|
|
17
15
|
ReqRespMethod["DataColumnSidecarsByRange"] = "data_column_sidecars_by_range";
|
|
18
16
|
ReqRespMethod["DataColumnSidecarsByRoot"] = "data_column_sidecars_by_root";
|
|
19
17
|
ReqRespMethod["ExecutionPayloadEnvelopesByRoot"] = "execution_payload_envelopes_by_root";
|
|
@@ -22,6 +20,7 @@ export var ReqRespMethod;
|
|
|
22
20
|
ReqRespMethod["LightClientUpdatesByRange"] = "light_client_updates_by_range";
|
|
23
21
|
ReqRespMethod["LightClientFinalityUpdate"] = "light_client_finality_update";
|
|
24
22
|
ReqRespMethod["LightClientOptimisticUpdate"] = "light_client_optimistic_update";
|
|
23
|
+
ReqRespMethod["InclusionListsByIndices"] = "inclusion_lists_by_indices";
|
|
25
24
|
})(ReqRespMethod || (ReqRespMethod = {}));
|
|
26
25
|
/** Request SSZ type for each method and ForkName */
|
|
27
26
|
export const requestSszTypeByMethod = (fork, config) => ({
|
|
@@ -34,8 +33,6 @@ export const requestSszTypeByMethod = (fork, config) => ({
|
|
|
34
33
|
[ReqRespMethod.BeaconBlocksByRange]: ssz.phase0.BeaconBlocksByRangeRequest,
|
|
35
34
|
[ReqRespMethod.BeaconBlocksByRoot]: BeaconBlocksByRootRequestType(fork, config),
|
|
36
35
|
[ReqRespMethod.BeaconBlocksByHead]: ssz.fulu.BeaconBlocksByHeadRequest,
|
|
37
|
-
[ReqRespMethod.BlobSidecarsByRange]: ssz.deneb.BlobSidecarsByRangeRequest,
|
|
38
|
-
[ReqRespMethod.BlobSidecarsByRoot]: BlobSidecarsByRootRequestType(fork, config),
|
|
39
36
|
[ReqRespMethod.DataColumnSidecarsByRange]: ssz.fulu.DataColumnSidecarsByRangeRequest,
|
|
40
37
|
[ReqRespMethod.DataColumnSidecarsByRoot]: DataColumnSidecarsByRootRequestType(config),
|
|
41
38
|
[ReqRespMethod.ExecutionPayloadEnvelopesByRoot]: ExecutionPayloadEnvelopesByRootRequestType(config),
|
|
@@ -44,6 +41,7 @@ export const requestSszTypeByMethod = (fork, config) => ({
|
|
|
44
41
|
[ReqRespMethod.LightClientUpdatesByRange]: ssz.altair.LightClientUpdatesByRange,
|
|
45
42
|
[ReqRespMethod.LightClientFinalityUpdate]: null,
|
|
46
43
|
[ReqRespMethod.LightClientOptimisticUpdate]: null,
|
|
44
|
+
[ReqRespMethod.InclusionListsByIndices]: ssz.heze.InclusionListsByIndicesRequest,
|
|
47
45
|
});
|
|
48
46
|
const blocksResponseType = (fork, version) => {
|
|
49
47
|
if (version === Version.V1) {
|
|
@@ -59,8 +57,6 @@ export const responseSszTypeByMethod = {
|
|
|
59
57
|
[ReqRespMethod.BeaconBlocksByRange]: blocksResponseType,
|
|
60
58
|
[ReqRespMethod.BeaconBlocksByRoot]: blocksResponseType,
|
|
61
59
|
[ReqRespMethod.BeaconBlocksByHead]: (fork) => ssz[fork].SignedBeaconBlock,
|
|
62
|
-
[ReqRespMethod.BlobSidecarsByRange]: () => ssz.deneb.BlobSidecar,
|
|
63
|
-
[ReqRespMethod.BlobSidecarsByRoot]: () => ssz.deneb.BlobSidecar,
|
|
64
60
|
[ReqRespMethod.LightClientBootstrap]: (fork) => sszTypesFor(onlyPostAltairFork(fork)).LightClientBootstrap,
|
|
65
61
|
[ReqRespMethod.LightClientUpdatesByRange]: (fork) => sszTypesFor(onlyPostAltairFork(fork)).LightClientUpdate,
|
|
66
62
|
[ReqRespMethod.LightClientFinalityUpdate]: (fork) => sszTypesFor(onlyPostAltairFork(fork)).LightClientFinalityUpdate,
|
|
@@ -69,6 +65,7 @@ export const responseSszTypeByMethod = {
|
|
|
69
65
|
[ReqRespMethod.ExecutionPayloadEnvelopesByRoot]: () => ssz.gloas.SignedExecutionPayloadEnvelope,
|
|
70
66
|
[ReqRespMethod.ExecutionPayloadEnvelopesByRange]: () => ssz.gloas.SignedExecutionPayloadEnvelope,
|
|
71
67
|
[ReqRespMethod.LightClientOptimisticUpdate]: (fork) => sszTypesFor(onlyPostAltairFork(fork)).LightClientOptimisticUpdate,
|
|
68
|
+
[ReqRespMethod.InclusionListsByIndices]: () => ssz.heze.SignedInclusionList,
|
|
72
69
|
};
|
|
73
70
|
function onlyPostAltairFork(fork) {
|
|
74
71
|
if (isForkPostAltair(fork)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/network/reqresp/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAyC,gBAAgB,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAE1G,OAAO,EAeL,GAAG,EACH,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAEL,6BAA6B,EAE7B,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/network/reqresp/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,8 @@ import { RequestedSubnet } from "../peers/utils/index.js";
|
|
|
8
8
|
import { CommitteeSubscription, GossipSubscriber, IAttnetsService, NodeId, SubnetsServiceOpts } from "./interface.js";
|
|
9
9
|
export declare enum SubnetSource {
|
|
10
10
|
committee = "committee",
|
|
11
|
-
longLived = "long_lived"
|
|
11
|
+
longLived = "long_lived",
|
|
12
|
+
beforeProposal = "before_proposal"
|
|
12
13
|
}
|
|
13
14
|
/**
|
|
14
15
|
* Manage deleterministic long lived (DLL) subnets and short lived subnets.
|
|
@@ -28,7 +29,7 @@ export declare class AttnetsService implements IAttnetsService {
|
|
|
28
29
|
/** Committee subnets - PeerManager must find peers for those */
|
|
29
30
|
private committeeSubnets;
|
|
30
31
|
/**
|
|
31
|
-
* All currently subscribed short-lived subnets, for attestation aggregation
|
|
32
|
+
* All currently subscribed short-lived subnets, for attestation aggregation and before local block proposals
|
|
32
33
|
* This class will tell gossip to subscribe and un-subscribe
|
|
33
34
|
* If a value exists for `SubscriptionId` it means that gossip subscription is active in network.gossip
|
|
34
35
|
*/
|
|
@@ -40,6 +41,11 @@ export declare class AttnetsService implements IAttnetsService {
|
|
|
40
41
|
* Used to determine if we should process an attestation.
|
|
41
42
|
*/
|
|
42
43
|
private aggregatorSlotSubnet;
|
|
44
|
+
/**
|
|
45
|
+
* Block proposal slots of validators connected to this node.
|
|
46
|
+
* Used to subscribe to all subnets `slotsToSubscribeBeforeProposalDuty` slots before, see onSlot
|
|
47
|
+
*/
|
|
48
|
+
private localProposalSlots;
|
|
43
49
|
constructor(config: BeaconConfig, clock: IClock, gossip: GossipSubscriber, metadata: MetadataController, logger: Logger, metrics: NetworkCoreMetrics | null, nodeId: NodeId | null, opts: SubnetsServiceOpts);
|
|
44
50
|
close(): void;
|
|
45
51
|
/**
|
|
@@ -52,6 +58,12 @@ export declare class AttnetsService implements IAttnetsService {
|
|
|
52
58
|
* Called from the API when validator is a part of a committee.
|
|
53
59
|
*/
|
|
54
60
|
addCommitteeSubscriptions(subscriptions: CommitteeSubscription[]): void;
|
|
61
|
+
/**
|
|
62
|
+
* Called from the main thread with upcoming block proposal slots of connected validators.
|
|
63
|
+
* Tracked here, the subscription happens in onSlot like aggregator duties, or right away for a proposal learned
|
|
64
|
+
* after its subscription slot (node restart, newly connected validator)
|
|
65
|
+
*/
|
|
66
|
+
addLocalProposalSlots(slots: Slot[]): void;
|
|
55
67
|
/**
|
|
56
68
|
* Check if a subscription is still active before handling a gossip object
|
|
57
69
|
*/
|
|
@@ -68,12 +80,29 @@ export declare class AttnetsService implements IAttnetsService {
|
|
|
68
80
|
unsubscribeSubnetsPrevBoundary(boundary: ForkBoundary): void;
|
|
69
81
|
/**
|
|
70
82
|
* Run per slot.
|
|
71
|
-
* - Subscribe to gossip subnets 2 slots in advance
|
|
83
|
+
* - Subscribe to gossip subnets 2 slots in advance of aggregator duties
|
|
84
|
+
* - Subscribe to all subnets `slotsToSubscribeBeforeProposalDuty` slots in advance of local block proposals
|
|
72
85
|
* - Unsubscribe from expired subnets
|
|
73
86
|
* - Track time to stable mesh if not yet formed
|
|
74
87
|
*/
|
|
75
88
|
private onSlot;
|
|
76
89
|
private onHalfSlot;
|
|
90
|
+
/**
|
|
91
|
+
* Subscribe to all subnets `slotsToSubscribeBeforeProposalDuty` slots before a block proposal of a connected
|
|
92
|
+
* validator, so that single attestations of those slots can be packed into the block. The subscription expires in
|
|
93
|
+
* the slot before the proposal, see unsubscribeAllSubnetsBeforeProposal
|
|
94
|
+
*/
|
|
95
|
+
private subscribeAllSubnetsBeforeProposal;
|
|
96
|
+
private subscribeAllSubnetsUntilProposal;
|
|
97
|
+
/**
|
|
98
|
+
* Unsubscribe from subnets of subscribeAllSubnetsBeforeProposal at half of the slot before the proposal instead of
|
|
99
|
+
* the proposal slot start, so the proposal slot does not carry their traffic. Single attestations are published at
|
|
100
|
+
* 1/3 of the slot so they have arrived by then.
|
|
101
|
+
* Short-lived subscriptions are either aggregator duties or these, an aggregator duty ends in its dutied slot and is
|
|
102
|
+
* kept here (aggregates are due later), it expires at the next slot start in onSlot as before. So only subnets of
|
|
103
|
+
* subscribeAllSubnetsBeforeProposal are unsubscribed here.
|
|
104
|
+
*/
|
|
105
|
+
private unsubscribeAllSubnetsBeforeProposal;
|
|
77
106
|
/**
|
|
78
107
|
* Track time to form stable mesh if not yet formed
|
|
79
108
|
*/
|
|
@@ -85,8 +114,8 @@ export declare class AttnetsService implements IAttnetsService {
|
|
|
85
114
|
private onEpoch;
|
|
86
115
|
private recomputeLongLivedSubnets;
|
|
87
116
|
/**
|
|
88
|
-
* Unsubscribe
|
|
89
|
-
* If a
|
|
117
|
+
* Unsubscribe from short-lived subnets whose subscription expired.
|
|
118
|
+
* If a long-lived subnet is present, we do not unsubscribe from it.
|
|
90
119
|
*/
|
|
91
120
|
private unsubscribeExpiredCommitteeSubnets;
|
|
92
121
|
/**
|
|
@@ -94,6 +123,7 @@ export declare class AttnetsService implements IAttnetsService {
|
|
|
94
123
|
* @param currentSlot
|
|
95
124
|
*/
|
|
96
125
|
private pruneExpiredAggregator;
|
|
126
|
+
private pruneExpiredLocalProposals;
|
|
97
127
|
/** Update ENR */
|
|
98
128
|
private updateMetadata;
|
|
99
129
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attnetsService.d.ts","sourceRoot":"","sources":["../../../src/network/subnets/attnetsService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAG5D,OAAO,EAAQ,IAAI,EAAE,QAAQ,EAAM,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAC,MAAM,EAAS,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAa,MAAM,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAKtD,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAC,eAAe,EAAY,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAC,qBAAqB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,EAAE,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAKpH,oBAAY,YAAY;IACtB,SAAS,cAAc;IACvB,SAAS,eAAe;
|
|
1
|
+
{"version":3,"file":"attnetsService.d.ts","sourceRoot":"","sources":["../../../src/network/subnets/attnetsService.ts"],"names":[],"mappings":"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"}
|