@lodestar/beacon-node 1.51.0-dev.2593063a82 → 1.51.0-dev.2bcbe7ce2d
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 +29 -34
- 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 +5 -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/ColumnReconstructionTracker.d.ts +11 -11
- package/lib/chain/ColumnReconstructionTracker.d.ts.map +1 -1
- package/lib/chain/ColumnReconstructionTracker.js +46 -40
- package/lib/chain/ColumnReconstructionTracker.js.map +1 -1
- package/lib/chain/GetBlobsTracker.d.ts +11 -0
- package/lib/chain/GetBlobsTracker.d.ts.map +1 -1
- package/lib/chain/GetBlobsTracker.js +85 -27
- 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 +63 -100
- package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
- package/lib/chain/blocks/blockInput/utils.js +2 -2
- package/lib/chain/blocks/blockInput/utils.js.map +1 -1
- package/lib/chain/blocks/importBlock.d.ts.map +1 -1
- package/lib/chain/blocks/importBlock.js +9 -7
- package/lib/chain/blocks/importBlock.js.map +1 -1
- package/lib/chain/blocks/importExecutionPayload.d.ts +6 -11
- package/lib/chain/blocks/importExecutionPayload.d.ts.map +1 -1
- package/lib/chain/blocks/importExecutionPayload.js +58 -17
- package/lib/chain/blocks/importExecutionPayload.js.map +1 -1
- package/lib/chain/blocks/index.js +2 -2
- 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 +8 -1
- package/lib/chain/blocks/types.d.ts.map +1 -1
- package/lib/chain/blocks/types.js +5 -0
- 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 +8 -1
- package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +1 -1
- package/lib/chain/blocks/verifyBlocksSignatures.js +7 -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/bls/interface.d.ts +2 -0
- package/lib/chain/bls/interface.d.ts.map +1 -1
- package/lib/chain/bls/multithread/index.d.ts.map +1 -1
- package/lib/chain/bls/multithread/index.js +13 -11
- 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 +3 -2
- package/lib/chain/chain.d.ts.map +1 -1
- package/lib/chain/chain.js +9 -5
- package/lib/chain/chain.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/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 -0
- package/lib/chain/errors/index.d.ts.map +1 -1
- package/lib/chain/errors/index.js +1 -0
- package/lib/chain/errors/index.js.map +1 -1
- package/lib/chain/interface.d.ts +4 -4
- package/lib/chain/interface.d.ts.map +1 -1
- package/lib/chain/interface.js.map +1 -1
- package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
- package/lib/chain/opPools/aggregatedAttestationPool.js +23 -10
- 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 +1 -0
- package/lib/chain/opPools/index.d.ts.map +1 -1
- package/lib/chain/opPools/index.js +1 -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/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 +0 -1
- 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 +3 -1
- package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
- package/lib/chain/produceBlock/produceBlockBody.js +30 -10
- package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
- package/lib/chain/regen/interface.d.ts +1 -1
- 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/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/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/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/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 +8 -2
- package/lib/execution/engine/http.d.ts.map +1 -1
- package/lib/execution/engine/http.js +27 -4
- 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 +12 -3
- 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 +3 -2
- package/lib/execution/engine/jsonRpcTransport.d.ts.map +1 -1
- package/lib/execution/engine/jsonRpcTransport.js +33 -9
- package/lib/execution/engine/jsonRpcTransport.js.map +1 -1
- package/lib/execution/engine/mock.d.ts +1 -0
- package/lib/execution/engine/mock.d.ts.map +1 -1
- package/lib/execution/engine/mock.js +31 -7
- 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 +2 -1
- package/lib/execution/engine/restTransport.d.ts.map +1 -1
- package/lib/execution/engine/restTransport.js +3 -0
- package/lib/execution/engine/restTransport.js.map +1 -1
- package/lib/execution/engine/sszTypes.d.ts +38 -38
- package/lib/execution/engine/transport.d.ts +5 -2
- package/lib/execution/engine/transport.d.ts.map +1 -1
- package/lib/execution/engine/types.d.ts +25 -1
- package/lib/execution/engine/types.d.ts.map +1 -1
- package/lib/execution/engine/types.js +19 -6
- package/lib/execution/engine/types.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 -0
- package/lib/metrics/metrics/beacon.d.ts.map +1 -1
- package/lib/metrics/metrics/beacon.js +35 -0
- package/lib/metrics/metrics/beacon.js.map +1 -1
- package/lib/metrics/metrics/lodestar.d.ts +23 -0
- package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
- package/lib/metrics/metrics/lodestar.js +59 -0
- package/lib/metrics/metrics/lodestar.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 +2 -0
- package/lib/network/core/networkCore.d.ts.map +1 -1
- package/lib/network/core/networkCore.js +3 -0
- package/lib/network/core/networkCore.js.map +1 -1
- package/lib/network/core/networkCoreWorker.js +1 -0
- package/lib/network/core/networkCoreWorker.js.map +1 -1
- package/lib/network/core/networkCoreWorkerHandler.d.ts +2 -0
- package/lib/network/core/networkCoreWorkerHandler.d.ts.map +1 -1
- package/lib/network/core/networkCoreWorkerHandler.js +3 -0
- package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
- package/lib/network/core/types.d.ts +2 -0
- package/lib/network/core/types.d.ts.map +1 -1
- package/lib/network/gossip/gossipsub.d.ts.map +1 -1
- package/lib/network/gossip/gossipsub.js +3 -1
- package/lib/network/gossip/gossipsub.js.map +1 -1
- package/lib/network/gossip/interface.d.ts +8 -2
- package/lib/network/gossip/interface.d.ts.map +1 -1
- package/lib/network/gossip/interface.js +1 -0
- package/lib/network/gossip/interface.js.map +1 -1
- package/lib/network/gossip/topic.d.ts +13 -5
- package/lib/network/gossip/topic.d.ts.map +1 -1
- package/lib/network/gossip/topic.js +13 -1
- package/lib/network/gossip/topic.js.map +1 -1
- package/lib/network/interface.d.ts +4 -1
- 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 +4 -1
- package/lib/network/network.d.ts.map +1 -1
- package/lib/network/network.js +11 -1
- 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.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.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/processor/gossipHandlers.d.ts.map +1 -1
- package/lib/network/processor/gossipHandlers.js +76 -27
- package/lib/network/processor/gossipHandlers.js.map +1 -1
- package/lib/network/processor/gossipQueues/index.d.ts.map +1 -1
- package/lib/network/processor/gossipQueues/index.js +6 -0
- package/lib/network/processor/gossipQueues/index.js.map +1 -1
- package/lib/network/processor/gossipValidatorFn.d.ts.map +1 -1
- package/lib/network/processor/gossipValidatorFn.js +5 -1
- package/lib/network/processor/gossipValidatorFn.js.map +1 -1
- package/lib/network/processor/index.d.ts +5 -0
- package/lib/network/processor/index.d.ts.map +1 -1
- package/lib/network/processor/index.js +37 -26
- package/lib/network/processor/index.js.map +1 -1
- package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +1 -1
- package/lib/network/reqresp/ReqRespBeaconNode.js +6 -0
- package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +1 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +4 -4
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js +3 -3
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.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 +5 -0
- package/lib/network/reqresp/handlers/index.js.map +1 -1
- package/lib/network/reqresp/protocols.d.ts +1 -0
- package/lib/network/reqresp/protocols.d.ts.map +1 -1
- package/lib/network/reqresp/protocols.js +5 -0
- package/lib/network/reqresp/protocols.js.map +1 -1
- package/lib/network/reqresp/rateLimit.d.ts.map +1 -1
- package/lib/network/reqresp/rateLimit.js +4 -0
- package/lib/network/reqresp/rateLimit.js.map +1 -1
- package/lib/network/reqresp/types.d.ts +5 -2
- package/lib/network/reqresp/types.d.ts.map +1 -1
- package/lib/network/reqresp/types.js +3 -0
- package/lib/network/reqresp/types.js.map +1 -1
- package/lib/node/nodejs.d.ts +1 -1
- package/lib/node/nodejs.d.ts.map +1 -1
- package/lib/node/nodejs.js +11 -2
- 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/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 +42 -18
- package/lib/sync/unknownBlock.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.js +2 -2
- package/lib/util/sszBytes.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 +57 -62
- package/src/api/impl/beacon/index.ts +3 -1
- package/src/api/impl/beacon/pool/index.ts +5 -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/ColumnReconstructionTracker.ts +60 -41
- package/src/chain/GetBlobsTracker.ts +97 -38
- package/src/chain/archiveStore/archiveStore.ts +1 -0
- package/src/chain/archiveStore/utils/archiveBlocks.ts +78 -133
- package/src/chain/blocks/blockInput/utils.ts +2 -2
- package/src/chain/blocks/importBlock.ts +11 -14
- package/src/chain/blocks/importExecutionPayload.ts +81 -23
- package/src/chain/blocks/index.ts +6 -2
- package/src/chain/blocks/payloadEnvelopeProcessor.ts +35 -24
- package/src/chain/blocks/types.ts +9 -1
- package/src/chain/blocks/verifyBlock.ts +31 -16
- package/src/chain/blocks/verifyBlocksDataAvailability.ts +10 -1
- package/src/chain/blocks/verifyBlocksSignatures.ts +7 -5
- package/src/chain/blocks/verifyPayloadsDataAvailability.ts +14 -6
- package/src/chain/bls/interface.ts +2 -0
- package/src/chain/bls/multithread/index.ts +14 -10
- 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 +10 -5
- package/src/chain/errors/blockError.ts +1 -1
- package/src/chain/errors/executionPayloadBid.ts +12 -0
- package/src/chain/errors/inclusionList.ts +38 -0
- package/src/chain/errors/index.ts +1 -0
- package/src/chain/interface.ts +4 -3
- package/src/chain/opPools/aggregatedAttestationPool.ts +25 -9
- package/src/chain/opPools/attestationPool.ts +16 -4
- package/src/chain/opPools/inclusionListStore.ts +208 -0
- package/src/chain/opPools/index.ts +1 -0
- package/src/chain/opPools/payloadAttestationPool.ts +18 -7
- 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 +0 -2
- package/src/chain/produceBlock/produceBlockBody.ts +60 -19
- package/src/chain/regen/interface.ts +1 -1
- package/src/chain/validation/executionPayloadBid.ts +54 -183
- package/src/chain/validation/inclusionList.ts +192 -0
- package/src/chain/validation/index.ts +1 -0
- 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/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 +40 -5
- package/src/execution/engine/index.ts +1 -1
- package/src/execution/engine/interface.ts +28 -4
- package/src/execution/engine/jsonRpcTransport.ts +46 -9
- package/src/execution/engine/mock.ts +32 -7
- package/src/execution/engine/payloadIdCache.ts +24 -6
- package/src/execution/engine/restTransport.ts +15 -1
- package/src/execution/engine/transport.ts +7 -2
- package/src/execution/engine/types.ts +44 -7
- package/src/index.ts +2 -0
- package/src/metrics/metrics/beacon.ts +37 -0
- package/src/metrics/metrics/lodestar.ts +61 -0
- package/src/monitoring/service.ts +1 -1
- package/src/network/core/networkCore.ts +5 -0
- package/src/network/core/networkCoreWorker.ts +1 -0
- package/src/network/core/networkCoreWorkerHandler.ts +4 -0
- package/src/network/core/types.ts +2 -0
- package/src/network/gossip/gossipsub.ts +3 -1
- package/src/network/gossip/interface.ts +5 -0
- package/src/network/gossip/topic.ts +14 -0
- package/src/network/interface.ts +4 -0
- package/src/network/libp2p/index.ts +5 -1
- package/src/network/network.ts +19 -1
- package/src/network/options.ts +2 -0
- package/src/network/peers/peerManager.ts +1 -1
- package/src/network/peers/utils/assertPeerRelevance.ts +39 -23
- package/src/network/peers/utils/enrSubnetsDeserialize.ts +5 -2
- package/src/network/processor/gossipHandlers.ts +96 -29
- package/src/network/processor/gossipQueues/index.ts +6 -0
- package/src/network/processor/gossipValidatorFn.ts +5 -0
- package/src/network/processor/index.ts +33 -24
- package/src/network/processor/types.ts +1 -1
- package/src/network/reqresp/ReqRespBeaconNode.ts +7 -0
- package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +4 -10
- package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +3 -3
- package/src/network/reqresp/handlers/inclusionListsByIndices.ts +44 -0
- package/src/network/reqresp/handlers/index.ts +5 -0
- package/src/network/reqresp/protocols.ts +6 -0
- package/src/network/reqresp/rateLimit.ts +4 -0
- package/src/network/reqresp/types.ts +6 -0
- package/src/node/nodejs.ts +25 -7
- package/src/node/options.ts +9 -6
- package/src/sync/interface.ts +1 -0
- package/src/sync/sync.ts +65 -4
- package/src/sync/unknownBlock.ts +47 -28
- package/src/util/file.ts +8 -9
- package/src/util/queue/itemQueue.ts +1 -1
- package/src/util/sszBytes.ts +2 -2
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { BitArray, SerializedList } from "@chainsafe/ssz";
|
|
2
|
+
import { INCLUSION_LIST_COMMITTEE_SIZE } from "@lodestar/params";
|
|
3
|
+
import { ssz } from "@lodestar/types";
|
|
4
|
+
import { MapDef, toHex, toRootHex } from "@lodestar/utils";
|
|
5
|
+
export var InclusionListInsertOutcome;
|
|
6
|
+
(function (InclusionListInsertOutcome) {
|
|
7
|
+
/** Stored as a new entry. */
|
|
8
|
+
InclusionListInsertOutcome["New"] = "New";
|
|
9
|
+
/** Slot is older than the prune horizon. */
|
|
10
|
+
InclusionListInsertOutcome["Old"] = "Old";
|
|
11
|
+
/** Identical inclusion list already stored. */
|
|
12
|
+
InclusionListInsertOutcome["Seen"] = "Seen";
|
|
13
|
+
/** New equivocation evidence: this validator already has a different inclusion list stored. */
|
|
14
|
+
InclusionListInsertOutcome["Equivocating"] = "Equivocating";
|
|
15
|
+
/** Validator was already marked as an equivocator for this `(slot, dependent_root)`. */
|
|
16
|
+
InclusionListInsertOutcome["SubsequentEquivocation"] = "SubsequentEquivocation";
|
|
17
|
+
})(InclusionListInsertOutcome || (InclusionListInsertOutcome = {}));
|
|
18
|
+
/**
|
|
19
|
+
* Spec `InclusionListStore`: inclusion lists keyed by `(slot, dependent_root)`, one per validator index.
|
|
20
|
+
* The committee position is recorded at insert time (gossip validation resolves it) so the bit-oriented
|
|
21
|
+
* reads need no shuffling lookup. Signed lists are kept so InclusionListsByIndices can serve them.
|
|
22
|
+
* A validator's first list stays stored and an equivocation marks the validator so reads skip it.
|
|
23
|
+
*/
|
|
24
|
+
export class InclusionListStore {
|
|
25
|
+
config;
|
|
26
|
+
/** slot -> dependent_root -> validator index -> entry */
|
|
27
|
+
inclusionLists = new MapDef(() => new MapDef(() => new Map()));
|
|
28
|
+
/** slot -> dependent_root -> equivocating validator indices */
|
|
29
|
+
equivocators = new MapDef(() => new MapDef(() => new Set()));
|
|
30
|
+
/** slot -> dependent_root -> validator index -> count, for the p2p "first or second message" rule */
|
|
31
|
+
seenCounts = new MapDef(() => new MapDef(() => new Map()));
|
|
32
|
+
lowestPermissibleSlot = 0;
|
|
33
|
+
constructor(config) {
|
|
34
|
+
this.config = config;
|
|
35
|
+
}
|
|
36
|
+
get size() {
|
|
37
|
+
let count = 0;
|
|
38
|
+
for (const byDependentRoot of this.inclusionLists.values()) {
|
|
39
|
+
for (const entries of byDependentRoot.values()) {
|
|
40
|
+
count += entries.size;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return count;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Late lists are stored with `timely=false` rather than dropped: they still count toward the
|
|
47
|
+
* non-timely view used to validate another node's `inclusion_list_bits`.
|
|
48
|
+
*/
|
|
49
|
+
process(signedInclusionList, committeeIndices, timely) {
|
|
50
|
+
const inclusionList = signedInclusionList.message;
|
|
51
|
+
const { slot, validatorIndex } = inclusionList;
|
|
52
|
+
if (slot < this.lowestPermissibleSlot) {
|
|
53
|
+
return InclusionListInsertOutcome.Old;
|
|
54
|
+
}
|
|
55
|
+
const dependentRoot = toRootHex(inclusionList.dependentRoot);
|
|
56
|
+
const stored = this.inclusionLists.getOrDefault(slot).getOrDefault(dependentRoot);
|
|
57
|
+
const entry = stored.get(validatorIndex);
|
|
58
|
+
if (entry !== undefined) {
|
|
59
|
+
if (ssz.heze.InclusionList.equals(entry.signedInclusionList.message, inclusionList)) {
|
|
60
|
+
return InclusionListInsertOutcome.Seen;
|
|
61
|
+
}
|
|
62
|
+
const equivocators = this.equivocators.getOrDefault(slot).getOrDefault(dependentRoot);
|
|
63
|
+
if (equivocators.has(validatorIndex)) {
|
|
64
|
+
return InclusionListInsertOutcome.SubsequentEquivocation;
|
|
65
|
+
}
|
|
66
|
+
equivocators.add(validatorIndex);
|
|
67
|
+
return InclusionListInsertOutcome.Equivocating;
|
|
68
|
+
}
|
|
69
|
+
stored.set(validatorIndex, { signedInclusionList, committeeIndices, timely });
|
|
70
|
+
return InclusionListInsertOutcome.New;
|
|
71
|
+
}
|
|
72
|
+
/** Count a valid message of `validatorIndex` for the first-or-second message gossip rule */
|
|
73
|
+
markSeen(slot, dependentRoot, validatorIndex) {
|
|
74
|
+
const counts = this.seenCounts.getOrDefault(slot).getOrDefault(dependentRoot);
|
|
75
|
+
counts.set(validatorIndex, (counts.get(validatorIndex) ?? 0) + 1);
|
|
76
|
+
}
|
|
77
|
+
/** Gossip rule: at most two valid messages per validator for a `(slot, dependent_root)` */
|
|
78
|
+
seenTwice(slot, dependentRoot, validatorIndex) {
|
|
79
|
+
return (this.seenCounts.get(slot)?.get(dependentRoot)?.get(validatorIndex) ?? 0) >= 2;
|
|
80
|
+
}
|
|
81
|
+
/** Deduplicated transactions from valid, non-equivocating inclusion lists at `(slot, dependentRoot)`. */
|
|
82
|
+
getInclusionListTransactions(slot, dependentRoot, onlyTimely = true) {
|
|
83
|
+
const transactions = [];
|
|
84
|
+
const seen = new Set();
|
|
85
|
+
for (const { signedInclusionList } of this.getEligible(slot, dependentRoot, onlyTimely)) {
|
|
86
|
+
for (const transaction of signedInclusionList.message.transactions) {
|
|
87
|
+
const key = toHex(transaction);
|
|
88
|
+
if (!seen.has(key)) {
|
|
89
|
+
seen.add(key);
|
|
90
|
+
transactions.push(transaction);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return SerializedList.fromArray(transactions);
|
|
95
|
+
}
|
|
96
|
+
/** Bit `i` is set when committee member `i` submitted a valid, non-equivocating inclusion list */
|
|
97
|
+
getInclusionListBits(slot, dependentRoot, onlyTimely = true) {
|
|
98
|
+
const bits = BitArray.fromBitLen(INCLUSION_LIST_COMMITTEE_SIZE);
|
|
99
|
+
for (const { committeeIndices } of this.getEligible(slot, dependentRoot, onlyTimely)) {
|
|
100
|
+
for (const committeeIndex of committeeIndices) {
|
|
101
|
+
bits.set(committeeIndex, true);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return bits;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* True if `bits` has a bit set for every bit set in the local inclusion list bits.
|
|
108
|
+
*
|
|
109
|
+
* Intentionally deviates from the spec by only checking against timely lists, where the proposer would check
|
|
110
|
+
* against every list it observed (only_timely=False in
|
|
111
|
+
* https://github.com/ethereum/consensus-specs/blob/v1.7.0-beta.4/specs/heze/validator.md#signed-execution-payload-bid).
|
|
112
|
+
* A bid that passed gossip must stay eligible, otherwise a list released after the deadline voids every bid and
|
|
113
|
+
* a high early bid with empty bits crowds out the rest without ever paying.
|
|
114
|
+
*/
|
|
115
|
+
isInclusionListBitsInclusive(slot, dependentRoot, bits) {
|
|
116
|
+
for (const { committeeIndices } of this.getEligible(slot, dependentRoot, true)) {
|
|
117
|
+
if (committeeIndices.some((committeeIndex) => !bits.get(committeeIndex))) {
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
return true;
|
|
122
|
+
}
|
|
123
|
+
/** Inclusion lists for the given committee positions, to serve InclusionListsByIndices. */
|
|
124
|
+
getByIndices(slot, dependentRoot, indices) {
|
|
125
|
+
const out = [];
|
|
126
|
+
for (const { signedInclusionList, committeeIndices } of this.getEligible(slot, dependentRoot, false)) {
|
|
127
|
+
if (committeeIndices.some((committeeIndex) => indices.get(committeeIndex))) {
|
|
128
|
+
out.push(signedInclusionList);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return out;
|
|
132
|
+
}
|
|
133
|
+
/** Lists are retained for MIN_SLOTS_FOR_INCLUSION_LISTS_REQUESTS slots so InclusionListsByIndices can serve them */
|
|
134
|
+
prune(clockSlot) {
|
|
135
|
+
const horizon = clockSlot - this.config.MIN_SLOTS_FOR_INCLUSION_LISTS_REQUESTS;
|
|
136
|
+
for (const slot of this.inclusionLists.keys()) {
|
|
137
|
+
if (slot < horizon) {
|
|
138
|
+
this.inclusionLists.delete(slot);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
for (const slot of this.equivocators.keys()) {
|
|
142
|
+
if (slot < horizon) {
|
|
143
|
+
this.equivocators.delete(slot);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
for (const slot of this.seenCounts.keys()) {
|
|
147
|
+
if (slot < horizon) {
|
|
148
|
+
this.seenCounts.delete(slot);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
this.lowestPermissibleSlot = Math.max(horizon, 0);
|
|
152
|
+
}
|
|
153
|
+
/** Entries at `(slot, dependentRoot)` from non-equivocating validators, timely when required. */
|
|
154
|
+
*getEligible(slot, dependentRoot, onlyTimely) {
|
|
155
|
+
const stored = this.inclusionLists.get(slot)?.get(dependentRoot);
|
|
156
|
+
if (!stored || stored.size === 0) {
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
const equivocators = this.equivocators.get(slot)?.get(dependentRoot);
|
|
160
|
+
for (const [validatorIndex, entry] of stored) {
|
|
161
|
+
if (equivocators?.has(validatorIndex)) {
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
if (onlyTimely && !entry.timely) {
|
|
165
|
+
continue;
|
|
166
|
+
}
|
|
167
|
+
yield entry;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=inclusionListStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inclusionListStore.js","sourceRoot":"","sources":["../../../src/chain/opPools/inclusionListStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ export { AggregatedAttestationPool } from "./aggregatedAttestationPool.js";
|
|
|
2
2
|
export { AttestationPool } from "./attestationPool.js";
|
|
3
3
|
export { DeferredVoluntaryExitPool } from "./deferredVoluntaryExitPool.js";
|
|
4
4
|
export { ExecutionPayloadBidPool, type PooledExecutionPayloadBid } from "./executionPayloadBidPool.js";
|
|
5
|
+
export { InclusionListInsertOutcome, InclusionListStore } from "./inclusionListStore.js";
|
|
5
6
|
export { OpPool } from "./opPool.js";
|
|
6
7
|
export { PayloadAttestationPool } from "./payloadAttestationPool.js";
|
|
7
8
|
export { ProposerPreferencesPool } from "./proposerPreferencesPool.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chain/opPools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,yBAAyB,EAAC,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAC,yBAAyB,EAAC,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAC,uBAAuB,EAAE,KAAK,yBAAyB,EAAC,MAAM,8BAA8B,CAAC;AACrG,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACnC,OAAO,EAAC,sBAAsB,EAAC,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAC,wBAAwB,EAAC,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAC,4BAA4B,EAAC,MAAM,mCAAmC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chain/opPools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,yBAAyB,EAAC,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAC,yBAAyB,EAAC,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAC,uBAAuB,EAAE,KAAK,yBAAyB,EAAC,MAAM,8BAA8B,CAAC;AACrG,OAAO,EAAC,0BAA0B,EAAE,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AACvF,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACnC,OAAO,EAAC,sBAAsB,EAAC,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAC,wBAAwB,EAAC,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAC,4BAA4B,EAAC,MAAM,mCAAmC,CAAC"}
|
|
@@ -2,6 +2,7 @@ export { AggregatedAttestationPool } from "./aggregatedAttestationPool.js";
|
|
|
2
2
|
export { AttestationPool } from "./attestationPool.js";
|
|
3
3
|
export { DeferredVoluntaryExitPool } from "./deferredVoluntaryExitPool.js";
|
|
4
4
|
export { ExecutionPayloadBidPool } from "./executionPayloadBidPool.js";
|
|
5
|
+
export { InclusionListInsertOutcome, InclusionListStore } from "./inclusionListStore.js";
|
|
5
6
|
export { OpPool } from "./opPool.js";
|
|
6
7
|
export { PayloadAttestationPool } from "./payloadAttestationPool.js";
|
|
7
8
|
export { ProposerPreferencesPool } from "./proposerPreferencesPool.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chain/opPools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,yBAAyB,EAAC,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAC,yBAAyB,EAAC,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAC,uBAAuB,EAAiC,MAAM,8BAA8B,CAAC;AACrG,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACnC,OAAO,EAAC,sBAAsB,EAAC,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAC,wBAAwB,EAAC,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAC,4BAA4B,EAAC,MAAM,mCAAmC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chain/opPools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,yBAAyB,EAAC,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAC,yBAAyB,EAAC,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAC,uBAAuB,EAAiC,MAAM,8BAA8B,CAAC;AACrG,OAAO,EAAC,0BAA0B,EAAE,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AACvF,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACnC,OAAO,EAAC,sBAAsB,EAAC,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAC,wBAAwB,EAAC,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAC,4BAA4B,EAAC,MAAM,mCAAmC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payloadAttestationPool.d.ts","sourceRoot":"","sources":["../../../src/chain/opPools/payloadAttestationPool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"payloadAttestationPool.d.ts","sourceRoot":"","sources":["../../../src/chain/opPools/payloadAttestationPool.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAIjD,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAC,aAAa,EAA+B,MAAM,YAAY,CAAC;AAiBvE,KAAK,YAAY,GAAG,MAAM,CAAC;AAQ3B,qBAAa,sBAAsB;IAQ/B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAT1B,OAAO,CAAC,QAAQ,CAAC,oCAAoC,CAGa;IAClE,OAAO,CAAC,qBAAqB,CAAK;IAElC,YACmB,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,OAAO,GAAG,IAAW,EAC7C;IAEJ,IAAI,IAAI,IAAI,MAAM,CAQjB;IAED,GAAG,CACD,OAAO,EAAE,KAAK,CAAC,yBAAyB,EACxC,qBAAqB,EAAE,OAAO,EAC9B,yBAAyB,EAAE,MAAM,EAAE,GAClC,aAAa,CAiCf;IAED;;;OAGG;IACH,8BAA8B,CAAC,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,CAAC,kBAAkB,EAAE,CA4BpG;IAED,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAyB9C;IAED,KAAK,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAG3B;CACF"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { aggregateSignatures } from "@chainsafe/lodestar-z/blst";
|
|
2
1
|
import { BitArray } from "@chainsafe/ssz";
|
|
2
|
+
import { aggregateSignatures } from "@lodestar/native/blst";
|
|
3
3
|
import { MAX_COMMITTEES_PER_SLOT, MAX_PAYLOAD_ATTESTATIONS, PTC_SIZE } from "@lodestar/params";
|
|
4
|
-
import {
|
|
4
|
+
import { G2_POINT_AT_INFINITY } from "@lodestar/state-transition";
|
|
5
|
+
import { MapDef, byteArrayEquals, toRootHex } from "@lodestar/utils";
|
|
5
6
|
import { InsertOutcome, OpPoolError, OpPoolErrorCode } from "./types.js";
|
|
6
7
|
import { pruneBySlot, signatureFromBytesNoCheck } from "./utils.js";
|
|
7
8
|
/**
|
|
@@ -77,11 +78,18 @@ export class PayloadAttestationPool {
|
|
|
77
78
|
this.metrics?.opPool.payloadAttestationPool.getPayloadAttestationsCacheMisses.inc();
|
|
78
79
|
return [];
|
|
79
80
|
}
|
|
80
|
-
|
|
81
|
-
|
|
81
|
+
const payloadAttestations = [];
|
|
82
|
+
for (const aggregate of aggregateByDataRoot.values()) {
|
|
83
|
+
const payloadAttestation = fastToPayloadAttestation(aggregate);
|
|
84
|
+
// The point at infinity is not a valid aggregate signature, exclude it from the block
|
|
85
|
+
if (byteArrayEquals(payloadAttestation.signature, G2_POINT_AT_INFINITY)) {
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
payloadAttestations.push(payloadAttestation);
|
|
89
|
+
}
|
|
90
|
+
return payloadAttestations
|
|
82
91
|
.sort((a, b) => b.aggregationBits.getTrueBitIndexes().length - a.aggregationBits.getTrueBitIndexes().length)
|
|
83
|
-
.slice(0, MAX_PAYLOAD_ATTESTATIONS)
|
|
84
|
-
.map(fastToPayloadAttestation);
|
|
92
|
+
.slice(0, MAX_PAYLOAD_ATTESTATIONS);
|
|
85
93
|
}
|
|
86
94
|
getAll(slot) {
|
|
87
95
|
const aggregates = [];
|
|
@@ -101,9 +109,11 @@ export class PayloadAttestationPool {
|
|
|
101
109
|
addAggregates(aggregateByDataRootByBlockRoot);
|
|
102
110
|
}
|
|
103
111
|
}
|
|
112
|
+
// The point at infinity is not a valid aggregate signature, do not serve such an aggregate
|
|
104
113
|
return aggregates
|
|
105
114
|
.sort((a, b) => b.aggregationBits.getTrueBitIndexes().length - a.aggregationBits.getTrueBitIndexes().length)
|
|
106
|
-
.map(fastToPayloadAttestation)
|
|
115
|
+
.map(fastToPayloadAttestation)
|
|
116
|
+
.filter((attestation) => !byteArrayEquals(attestation.signature, G2_POINT_AT_INFINITY));
|
|
107
117
|
}
|
|
108
118
|
prune(clockSlot) {
|
|
109
119
|
pruneBySlot(this.aggregateByDataRootByBlockRootBySlot, clockSlot, SLOTS_RETAINED);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payloadAttestationPool.js","sourceRoot":"","sources":["../../../src/chain/opPools/payloadAttestationPool.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"payloadAttestationPool.js","sourceRoot":"","sources":["../../../src/chain/opPools/payloadAttestationPool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncCommitteeMessagePool.d.ts","sourceRoot":"","sources":["../../../src/chain/opPools/syncCommitteeMessagePool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"syncCommitteeMessagePool.d.ts","sourceRoot":"","sources":["../../../src/chain/opPools/syncCommitteeMessagePool.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAIjD,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEhF,OAAO,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAC,aAAa,EAA+B,MAAM,YAAY,CAAC;AAuBvE;;;;GAIG;AACH,qBAAa,wBAAwB;IAYjC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,wBAAwB;IAb3C;;;SAGK;IACL,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAGkE;IACpH,OAAO,CAAC,qBAAqB,CAAK;IAElC,YACmB,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,EACb,wBAAwB,SAAI,EAC3C;IAEJ,gFAAgF;IAChF,IAAI,IAAI,IAAI,MAAM,CAQjB;IAGD,GAAG,CACD,MAAM,EAAE,QAAQ,EAChB,SAAS,EAAE,MAAM,CAAC,oBAAoB,EACtC,mBAAmB,EAAE,MAAM,EAC3B,QAAQ,CAAC,EAAE,OAAO,GACjB,aAAa,CAgCf;IAED;;OAEG;IACH,eAAe,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,GAAG,MAAM,CAAC,yBAAyB,GAAG,IAAI,CAiBnH;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAI3B;CACF"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { aggregateSignatures } from "@chainsafe/lodestar-z/blst";
|
|
2
1
|
import { BitArray } from "@chainsafe/ssz";
|
|
2
|
+
import { aggregateSignatures } from "@lodestar/native/blst";
|
|
3
3
|
import { SYNC_COMMITTEE_SIZE, SYNC_COMMITTEE_SUBNET_COUNT } from "@lodestar/params";
|
|
4
|
-
import {
|
|
4
|
+
import { G2_POINT_AT_INFINITY } from "@lodestar/state-transition";
|
|
5
|
+
import { MapDef, byteArrayEquals, toRootHex } from "@lodestar/utils";
|
|
5
6
|
import { InsertOutcome, OpPoolError, OpPoolErrorCode } from "./types.js";
|
|
6
7
|
import { pruneBySlot, signatureFromBytesNoCheck } from "./utils.js";
|
|
7
8
|
/**
|
|
@@ -81,10 +82,15 @@ export class SyncCommitteeMessagePool {
|
|
|
81
82
|
if (!contribution) {
|
|
82
83
|
return null;
|
|
83
84
|
}
|
|
85
|
+
const signature = contribution.signature.toBytes();
|
|
86
|
+
// The point at infinity is not a valid contribution signature, do not serve such a contribution
|
|
87
|
+
if (byteArrayEquals(signature, G2_POINT_AT_INFINITY)) {
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
84
90
|
return {
|
|
85
91
|
...contribution,
|
|
86
92
|
aggregationBits: contribution.aggregationBits,
|
|
87
|
-
signature
|
|
93
|
+
signature,
|
|
88
94
|
};
|
|
89
95
|
}
|
|
90
96
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncCommitteeMessagePool.js","sourceRoot":"","sources":["../../../src/chain/opPools/syncCommitteeMessagePool.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"syncCommitteeMessagePool.js","sourceRoot":"","sources":["../../../src/chain/opPools/syncCommitteeMessagePool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncContributionAndProofPool.d.ts","sourceRoot":"","sources":["../../../src/chain/opPools/syncContributionAndProofPool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"syncContributionAndProofPool.d.ts","sourceRoot":"","sources":["../../../src/chain/opPools/syncContributionAndProofPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAIjD,OAAO,EAAC,IAAI,EAAE,IAAI,EAAY,MAAM,EAAM,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAC,MAAM,EAAqC,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAC,aAAa,EAA+B,MAAM,YAAY,CAAC;AAkBvE;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,oBAAoB,EAAE,QAAQ,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,yBAAyB,EAAE,UAAU,CAAC;CACvC,CAAC;AAKF;;;;GAIG;AACH,qBAAa,4BAA4B;IASrC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,MAAM;IAXhB,OAAO,CAAC,QAAQ,CAAC,kCAAkC,CAGmE;IAEtH,OAAO,CAAC,qBAAqB,CAAK;IAElC,YACmB,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,OAAO,GAAG,IAAW,EACvC,MAAM,GAAE,MAAM,GAAG,IAAW,EAOrC;IAED,oFAAoF;IACpF,IAAI,IAAI,IAAI,MAAM,CAQjB;IAED;;OAEG;IACH,GAAG,CACD,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,EACjD,yBAAyB,EAAE,MAAM,EACjC,QAAQ,CAAC,EAAE,OAAO,GACjB,aAAa,CA8Bf;IAED;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,GAAG,MAAM,CAAC,aAAa,CA0BlE;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAG1B;IAED,OAAO,CAAC,eAAe;CAiBxB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,gBAAgB,EAAE,oBAAoB,EACtC,eAAe,EAAE,MAAM,CAAC,yBAAyB,EACjD,kBAAkB,EAAE,MAAM,GACzB,aAAa,CAWf;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,MAAM,CAAC,yBAAyB,EAC9C,eAAe,EAAE,MAAM,GACtB,oBAAoB,CAQtB;AAED;;;GAGG;AACH,wBAAgB,SAAS,CACvB,wBAAwB,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAC3D,OAAO,GAAE,OAAO,GAAG,IAAW,GAC7B,MAAM,CAAC,aAAa,CAgCtB"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { aggregateSignatures } from "@chainsafe/lodestar-z/blst";
|
|
2
1
|
import { BitArray } from "@chainsafe/ssz";
|
|
2
|
+
import { aggregateSignatures } from "@lodestar/native/blst";
|
|
3
3
|
import { SYNC_COMMITTEE_SIZE, SYNC_COMMITTEE_SUBNET_SIZE } from "@lodestar/params";
|
|
4
4
|
import { G2_POINT_AT_INFINITY } from "@lodestar/state-transition";
|
|
5
5
|
import { ssz } from "@lodestar/types";
|
|
6
|
-
import { MapDef, toRootHex } from "@lodestar/utils";
|
|
6
|
+
import { MapDef, byteArrayEquals, toRootHex } from "@lodestar/utils";
|
|
7
7
|
import { InsertOutcome, OpPoolError, OpPoolErrorCode } from "./types.js";
|
|
8
8
|
import { pruneBySlot, signatureFromBytesNoCheck } from "./utils.js";
|
|
9
9
|
/**
|
|
@@ -179,9 +179,17 @@ export function aggregate(bestContributionBySubnet, metrics = null) {
|
|
|
179
179
|
signatures.push(signatureFromBytesNoCheck(bestContribution.syncSubcommitteeSignature));
|
|
180
180
|
}
|
|
181
181
|
metrics?.opPool.syncContributionAndProofPool.getAggregateParticipants.set(participationCount);
|
|
182
|
+
const syncCommitteeSignature = aggregateSignatures(signatures).toBytes();
|
|
183
|
+
// The point at infinity is only a valid sync aggregate signature with empty participation bits
|
|
184
|
+
if (byteArrayEquals(syncCommitteeSignature, G2_POINT_AT_INFINITY)) {
|
|
185
|
+
return {
|
|
186
|
+
syncCommitteeBits: BitArray.fromBitLen(SYNC_COMMITTEE_SIZE),
|
|
187
|
+
syncCommitteeSignature,
|
|
188
|
+
};
|
|
189
|
+
}
|
|
182
190
|
return {
|
|
183
191
|
syncCommitteeBits,
|
|
184
|
-
syncCommitteeSignature
|
|
192
|
+
syncCommitteeSignature,
|
|
185
193
|
};
|
|
186
194
|
}
|
|
187
195
|
//# sourceMappingURL=syncContributionAndProofPool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncContributionAndProofPool.js","sourceRoot":"","sources":["../../../src/chain/opPools/syncContributionAndProofPool.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"syncContributionAndProofPool.js","sourceRoot":"","sources":["../../../src/chain/opPools/syncContributionAndProofPool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Signature } from "@chainsafe/lodestar-z/blst";
|
|
2
1
|
import { BeaconConfig } from "@lodestar/config";
|
|
3
2
|
import { Id, Repository } from "@lodestar/db";
|
|
3
|
+
import { Signature } from "@lodestar/native/blst";
|
|
4
4
|
import { IBeaconStateView } from "@lodestar/state-transition";
|
|
5
5
|
import { AttesterSlashing, Domain, Slot, capella, phase0 } from "@lodestar/types";
|
|
6
6
|
import { AggregateFast, AggregateFastElectra } from "./attestationPool.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/chain/opPools/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/chain/opPools/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAU,EAAE,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AACrD,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAC,gBAAgB,EAA0B,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAC,aAAa,EAAE,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAEzE,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,IAAI,EACf,QAAQ,EAAE,MAAM,CAAC,gBAAgB,GAChC,MAAM,CAER;AAED,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,IAAI,EACf,QAAQ,EAAE,gBAAgB,GACzB,CAAC,MAAM,EAAE,MAAM,CAAC,CAalB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,GAAG,IAAI,CAgB1F;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,UAAU,GAAG,SAAS,CAE1E;AAED;;;GAGG;AACH,wBAAgB,4CAA4C,CAC1D,KAAK,EAAE,gBAAgB,EACvB,0BAA0B,EAAE,OAAO,CAAC,0BAA0B,GAC7D,OAAO,CAkBT;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,aAAa,GAAG,SAAS,IAAI,oBAAoB,CAE9F;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,EAC/C,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EACxB,KAAK,EAAE;IAAC,GAAG,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAC,EAAE,EAC3B,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,EACzC,IAAI,GAAE;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAM,GACpC,OAAO,CAAC,IAAI,CAAC,CAmBf"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Signature } from "@
|
|
1
|
+
import { Signature } from "@lodestar/native/blst";
|
|
2
2
|
import { BLS_WITHDRAWAL_PREFIX, DOMAIN_BEACON_ATTESTER, DOMAIN_BEACON_PROPOSER } from "@lodestar/params";
|
|
3
3
|
import { computeStartSlotAtEpoch } from "@lodestar/state-transition";
|
|
4
4
|
export function getProposerSlashingSignatureDomain(config, stateSlot, slashing) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/chain/opPools/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/chain/opPools/utils.ts"],"names":[],"mappings":"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"}
|
package/lib/chain/options.d.ts
CHANGED
|
@@ -32,7 +32,6 @@ export type IChainOptions = BlockProcessOpts & PoolOpts & SeenCacheOpts & ForkCh
|
|
|
32
32
|
/** Max number of produced block roots (blinded or full) cached for broadcast validations */
|
|
33
33
|
maxCachedProducedRoots?: number;
|
|
34
34
|
initialCustodyGroupCount?: number;
|
|
35
|
-
broadcastValidationStrictness?: string;
|
|
36
35
|
minSameMessageSignatureSetsToBatch: number;
|
|
37
36
|
archiveDateEpochs?: number;
|
|
38
37
|
nHistoricalStatesFileDataStore?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/chain/options.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,oBAAoB,EAAC,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAC,WAAW,EAAE,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAC,qBAAqB,EAAC,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAA2B,uBAAuB,EAAC,MAAM,qCAAqC,CAAC;AACtG,OAAO,EAGL,kCAAkC,EACnC,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAC,oBAAoB,EAAC,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAC,WAAW,EAAE,oBAAoB,EAAC,CAAC;AAE3C,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAC1C,QAAQ,GACR,aAAa,GACb,cAAc,GACd,gBAAgB,GAChB,uBAAuB,GACvB,kCAAkC,GAClC,kBAAkB,GAClB,oBAAoB,GACpB,qBAAqB,GAAG;IACtB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,sGAAsG;IACtG,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6HAA6H;IAC7H,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,8DAA8D;IAC9D,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,gEAAgE;IAChE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,4FAA4F;IAC5F,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/chain/options.ts"],"names":[],"mappings":"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"}
|
package/lib/chain/options.js
CHANGED
|
@@ -25,7 +25,6 @@ export const defaultChainOptions = {
|
|
|
25
25
|
// for attestation validation, having this value ensures we don't have to regen states most of the time
|
|
26
26
|
maxSkipSlots: 32,
|
|
27
27
|
disableProposerSlashings: false,
|
|
28
|
-
broadcastValidationStrictness: "warn",
|
|
29
28
|
// should be less than or equal to MIN_SIGNATURE_SETS_TO_BATCH_VERIFY
|
|
30
29
|
// batching too much may block the I/O thread so if useWorker=false, suggest this value to be 32
|
|
31
30
|
// since this batch attestation work is designed to work with useWorker=true, make this the lowest value
|
package/lib/chain/options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/chain/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,IAAI,uBAAuB,EAAC,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAC,oBAAoB,EAAC,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAC,WAAW,EAAmB,MAAM,6BAA6B,CAAC;AAI1E,OAAO,EAAC,wBAAwB,EAA0B,MAAM,qCAAqC,CAAC;AACtG,OAAO,EACL,qCAAqC,EACrC,4BAA4B,GAE7B,MAAM,4CAA4C,CAAC;AAGpD,OAAO,EAAC,WAAW,EAAE,oBAAoB,EAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/chain/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,IAAI,uBAAuB,EAAC,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAC,oBAAoB,EAAC,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAC,WAAW,EAAmB,MAAM,6BAA6B,CAAC;AAI1E,OAAO,EAAC,wBAAwB,EAA0B,MAAM,qCAAqC,CAAC;AACtG,OAAO,EACL,qCAAqC,EACrC,4BAA4B,GAE7B,MAAM,4CAA4C,CAAC;AAGpD,OAAO,EAAC,WAAW,EAAE,oBAAoB,EAAC,CAAC;AAuF3C,MAAM,CAAC,MAAM,mBAAmB,GAAkB;IAChD,sBAAsB,EAAE,KAAK;IAC7B,uBAAuB,EAAE,KAAK;IAC9B,iBAAiB,EAAE,EAAE;IACrB,qBAAqB,EAAE,KAAK;IAC5B,aAAa,EAAE,IAAI;IACnB,kBAAkB,EAAE,IAAI;IACxB,cAAc,EAAE,IAAI;IACpB,iBAAiB,EAAE,IAAI;IACvB,gBAAgB,EAAE,KAAK;IACvB,qBAAqB,EAAE,uBAAuB,CAAC,qBAAqB;IACpE,cAAc,EAAE,IAAI;IACpB,oBAAoB,EAAE,KAAK;IAC3B,0BAA0B,EAAE,IAAI;IAChC,WAAW,EAAE,oBAAoB;IACjC,YAAY,EAAE,KAAK;IACnB,qBAAqB,EAAE,KAAK;IAC5B,0EAA0E;IAC1E,uGAAuG;IACvG,YAAY,EAAE,EAAE;IAChB,wBAAwB,EAAE,KAAK;IAC/B,qEAAqE;IACrE,gGAAgG;IAChG,wGAAwG;IACxG,kCAAkC,EAAE,CAAC;IACrC,4DAA4D;IAC5D,qEAAqE;IACrE,uFAAuF;IACvF,wDAAwD;IACxD,8BAA8B,EAAE,IAAI;IACpC,qBAAqB,EAAE,KAAK;IAC5B,cAAc,EAAE,wBAAwB;IACxC,wBAAwB,EAAE,qCAAqC;IAC/D,sBAAsB,EAAE,4BAA4B;CACrD,CAAC"}
|
|
@@ -7,7 +7,7 @@ import { Logger } from "@lodestar/utils";
|
|
|
7
7
|
import { IExecutionEngine, PayloadAttributes, PayloadId } from "../../execution/index.js";
|
|
8
8
|
import type { BeaconChain } from "../chain.js";
|
|
9
9
|
import { CommonBlockBody } from "../interface.js";
|
|
10
|
-
import { ProposerPreferencesPool } from "../opPools/index.js";
|
|
10
|
+
import { InclusionListStore, ProposerPreferencesPool } from "../opPools/index.js";
|
|
11
11
|
export declare enum PayloadPreparationType {
|
|
12
12
|
Fresh = "Fresh",
|
|
13
13
|
Cached = "Cached",
|
|
@@ -98,6 +98,7 @@ export declare function prepareExecutionPayload(chain: {
|
|
|
98
98
|
config: ChainForkConfig;
|
|
99
99
|
forkChoice: IForkChoice;
|
|
100
100
|
proposerPreferencesPool: ProposerPreferencesPool;
|
|
101
|
+
inclusionListStore: InclusionListStore;
|
|
101
102
|
}, logger: Logger, fork: ForkPostBellatrix, parentBlockRoot: Root, parentBlockHash: Bytes32, safeBlockHash: RootHex, finalizedBlockHash: RootHex,
|
|
102
103
|
/**
|
|
103
104
|
* Post-gloas, when extending a full parent, callers must apply
|
|
@@ -113,6 +114,7 @@ export declare function getPayloadAttributesForSSE(fork: ForkPostBellatrix, chai
|
|
|
113
114
|
config: ChainForkConfig;
|
|
114
115
|
forkChoice: IForkChoice;
|
|
115
116
|
proposerPreferencesPool: ProposerPreferencesPool;
|
|
117
|
+
inclusionListStore: InclusionListStore;
|
|
116
118
|
}, { prepareState, prepareSlot, parentBlockRoot, parentBlockHash, safeBlockHash, finalizedBlockHash, feeRecipient, }: {
|
|
117
119
|
/**
|
|
118
120
|
* Post-gloas, when extending a full parent, callers must apply
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"produceBlockBody.d.ts","sourceRoot":"","sources":["../../../src/chain/produceBlock/produceBlockBody.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"produceBlockBody.d.ts","sourceRoot":"","sources":["../../../src/chain/produceBlock/produceBlockBody.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EACL,WAAW,EACX,UAAU,EAGX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,QAAQ,EACR,iBAAiB,EAEjB,aAAa,EACb,YAAY,EACZ,aAAa,EAOd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,gBAAgB,EAChB,KAAK,yBAAyB,EAO/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,SAAS,EACT,YAAY,EACZ,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,sBAAsB,EACtB,WAAW,EACX,OAAO,EACP,gBAAgB,EAEhB,IAAI,EACJ,OAAO,EACP,oBAAoB,EACpB,IAAI,EACJ,cAAc,EACd,GAAG,EAMH,IAAI,EACJ,KAAK,EAGN,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAEL,MAAM,EASP,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAoB,gBAAgB,EAAE,iBAAiB,EAAE,SAAS,EAAC,MAAM,0BAA0B,CAAC;AAK3G,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAC,kBAAkB,EAAE,uBAAuB,EAAC,MAAM,qBAAqB,CAAC;AAMhF,oBAAY,sBAAsB;IAChC,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,oBAAY,mBAAmB;IAC7B,gBAAgB,qBAAqB;IACrC,iBAAiB,sBAAsB;IACvC,cAAc,mBAAmB;IACjC,qBAAqB,0BAA0B;IAC/C,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,gBAAgB,qBAAqB;CACtC;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,IAAI,CAAC;IACX,WAAW,EAAE,UAAU,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,mFAAmF;IACnF,UAAU,CAAC,EAAE,KAAK,CAAC,yBAAyB,CAAC;CAC9C,CAAC;AAEF,oBAAY,SAAS;IACnB,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AACD,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,SAAS,IAAI,CAAC,SAAS,SAAS,CAAC,IAAI,GACzE,eAAe,GACf,sBAAsB,CAAC;AAC3B,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,SAAS,IAAI,CAAC,SAAS,SAAS,CAAC,IAAI,GAAG,WAAW,GAAG,kBAAkB,CAAC;AAElH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;IACrB,IAAI,EAAE,aAAa,CAAC;IACpB,gBAAgB,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAClD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAC3C,WAAW,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;IACxC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;IACrB,eAAe,EAAE,IAAI,CAAC;CACvB,CAAC;AACF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,gBAAgB,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACjD,WAAW,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;IACvC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC;IACxC,gBAAgB,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAClD,WAAW,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;CACzC,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC;IAC5C,gBAAgB,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;CACvD,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;CACzC,CAAC;AACF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC;IACxB,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC;AAKF,mFAAmF;AACnF,MAAM,MAAM,aAAa,GACrB,gBAAgB,GAChB,eAAe,GACf,gBAAgB,GAChB,oBAAoB,GACpB,iBAAiB,GACjB,cAAc,CAAC;AAwBnB,wBAAsB,gBAAgB,CAAC,CAAC,SAAS,SAAS,EACxD,IAAI,EAAE,WAAW,EACjB,SAAS,EAAE,CAAC,EACZ,YAAY,EAAE,gBAAgB,EAC9B,SAAS,EAAE,eAAe,GAAG;IAC3B,aAAa,EAAE,cAAc,CAAC;IAC9B,cAAc,EAAE,SAAS,CAAC;IAC1B,sBAAsB,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;CAClD,GACA,OAAO,CAAC;IACT,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,qBAAqB,EAAE,GAAG,CAAC;IAC3B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC,CA6gBD;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE;IACL,eAAe,EAAE,gBAAgB,CAAC;IAClC,MAAM,EAAE,eAAe,CAAC;IACxB,UAAU,EAAE,WAAW,CAAC;IACxB,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,kBAAkB,EAAE,kBAAkB,CAAC;CACxC,EACD,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,iBAAiB,EACvB,eAAe,EAAE,IAAI,EACrB,eAAe,EAAE,OAAO,EACxB,aAAa,EAAE,OAAO,EACtB,kBAAkB,EAAE,OAAO;AAC3B;;;GAGG;AACH,KAAK,EAAE,yBAAyB,EAChC,qBAAqB,EAAE,MAAM;AAC7B,+FAA+F;AAC/F,iBAAiB,CAAC,EAAE,iBAAiB,GACpC,OAAO,CAAC;IAAC,QAAQ,EAAE,sBAAsB,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAC,CAAC,CAsEnE;AAwBD,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE;IACL,MAAM,EAAE,eAAe,CAAC;IACxB,UAAU,EAAE,WAAW,CAAC;IACxB,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,kBAAkB,EAAE,kBAAkB,CAAC;CACxC,EACD,EACE,YAAY,EACZ,WAAW,EACX,eAAe,EACf,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,YAAY,GACb,EAAE;IACD;;;OAGG;IACH,YAAY,EAAE,yBAAyB,CAAC;IACxC,WAAW,EAAE,IAAI,CAAC;IAClB,eAAe,EAAE,IAAI,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;CACtB,GACA,oBAAoB,CA0BtB;AA6JD;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE;IAAC,UAAU,EAAE,WAAW,CAAC;IAAC,uBAAuB,EAAE,uBAAuB,CAAA;CAAC,EAClF,IAAI,EAAE,IAAI,EACV,kBAAkB,EAAE,OAAO,GAC1B,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAmBlC;AAED,wBAAsB,sBAAsB,CAAC,CAAC,SAAS,SAAS,EAC9D,IAAI,EAAE,WAAW,EACjB,SAAS,EAAE,CAAC,EACZ,YAAY,EAAE,gBAAgB,EAC9B,EAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAC,EAAE,eAAe,GAC3D,OAAO,CAAC,eAAe,CAAC,CA8D1B"}
|