@lodestar/beacon-node 1.51.0-dev.32db66b396 → 1.51.0-dev.36022cc5cb
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/GetBlobsTracker.d.ts +13 -2
- 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 +61 -97
- package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
- package/lib/chain/blocks/importBlock.d.ts.map +1 -1
- package/lib/chain/blocks/importBlock.js +23 -51
- 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 +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/verifyBlocksExecutionPayloads.d.ts +1 -1
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.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 +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 +10 -3
- package/lib/chain/chain.d.ts.map +1 -1
- package/lib/chain/chain.js +61 -8
- 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/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 -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/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 +53 -0
- package/lib/chain/forkChoiceExecutionEngine.d.ts.map +1 -0
- package/lib/chain/forkChoiceExecutionEngine.js +121 -0
- package/lib/chain/forkChoiceExecutionEngine.js.map +1 -0
- package/lib/chain/interface.d.ts +7 -6
- 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 +6 -3
- 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 +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/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/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 +10 -4
- package/lib/execution/engine/http.d.ts.map +1 -1
- package/lib/execution/engine/http.js +32 -8
- 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 +28 -5
- 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 -4
- package/lib/execution/engine/jsonRpcTransport.d.ts.map +1 -1
- package/lib/execution/engine/jsonRpcTransport.js +34 -10
- 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 +4 -3
- 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 +4 -12
- 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/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 -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 +16 -0
- package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
- package/lib/metrics/metrics/lodestar.js +35 -0
- 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 +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 +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 -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 +6 -2
- package/lib/network/network.d.ts.map +1 -1
- package/lib/network/network.js +50 -15
- 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 +28 -1
- package/lib/network/peers/peerManager.js.map +1 -1
- package/lib/network/peers/utils/assertPeerRelevance.d.ts +9 -1
- package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +1 -1
- package/lib/network/peers/utils/assertPeerRelevance.js +32 -21
- package/lib/network/peers/utils/assertPeerRelevance.js.map +1 -1
- package/lib/network/peers/utils/prioritizePeers.d.ts +4 -1
- package/lib/network/peers/utils/prioritizePeers.d.ts.map +1 -1
- package/lib/network/peers/utils/prioritizePeers.js +8 -16
- package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
- package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
- package/lib/network/processor/gossipHandlers.js +100 -38
- 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 +11 -0
- package/lib/network/processor/index.d.ts.map +1 -1
- package/lib/network/processor/index.js +66 -29
- 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/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 +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/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/execution.d.ts +4 -4
- package/lib/util/execution.d.ts.map +1 -1
- 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 -0
- package/lib/util/sszBytes.d.ts.map +1 -1
- package/lib/util/sszBytes.js +35 -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/GetBlobsTracker.ts +99 -40
- package/src/chain/archiveStore/archiveStore.ts +1 -0
- package/src/chain/archiveStore/utils/archiveBlocks.ts +76 -130
- package/src/chain/blocks/importBlock.ts +37 -72
- 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 +9 -1
- package/src/chain/blocks/verifyBlock.ts +31 -16
- package/src/chain/blocks/verifyBlocksDataAvailability.ts +10 -1
- package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +1 -1
- package/src/chain/blocks/verifyBlocksSanityChecks.ts +4 -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 +71 -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 -0
- package/src/chain/forkChoice/index.ts +11 -0
- package/src/chain/forkChoiceExecutionEngine.ts +197 -0
- package/src/chain/interface.ts +7 -5
- 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 +64 -21
- package/src/chain/regen/interface.ts +2 -2
- package/src/chain/regen/queued.ts +6 -4
- 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/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 +52 -18
- package/src/execution/engine/index.ts +1 -1
- package/src/execution/engine/interface.ts +46 -6
- package/src/execution/engine/jsonRpcTransport.ts +56 -11
- package/src/execution/engine/mock.ts +32 -7
- package/src/execution/engine/payloadIdCache.ts +24 -6
- package/src/execution/engine/restTransport.ts +18 -2
- package/src/execution/engine/transport.ts +13 -14
- package/src/execution/engine/types.ts +44 -7
- package/src/execution/engine/utils.ts +4 -2
- package/src/index.ts +2 -0
- package/src/metrics/metrics/beacon.ts +37 -0
- package/src/metrics/metrics/lodestar.ts +36 -0
- package/src/metrics/server/http.ts +5 -5
- 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 +11 -0
- 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 +56 -19
- package/src/network/options.ts +2 -0
- package/src/network/peers/peerManager.ts +28 -3
- package/src/network/peers/utils/assertPeerRelevance.ts +39 -23
- package/src/network/peers/utils/prioritizePeers.ts +14 -22
- package/src/network/processor/gossipHandlers.ts +124 -41
- package/src/network/processor/gossipQueues/index.ts +6 -0
- package/src/network/processor/gossipValidatorFn.ts +5 -0
- package/src/network/processor/index.ts +58 -27
- package/src/network/processor/types.ts +1 -1
- package/src/network/reqresp/ReqRespBeaconNode.ts +7 -0
- 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 +58 -22
- 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/execution.ts +6 -6
- package/src/util/file.ts +8 -9
- package/src/util/queue/itemQueue.ts +1 -1
- package/src/util/sszBytes.ts +42 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockError.js","sourceRoot":"","sources":["../../../src/chain/errors/blockError.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,aAAa,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAN,IAAY,cAuFX;AAvFD,WAAY,cAAc;IACxB,qCAAqC;IACrC,mEAAiD,CAAA;IACjD;;OAEG;IACH,2EAAyD,CAAA;IACzD,uDAAuD;IACvD,yDAAuC,CAAA;IACvC,+DAA+D;IAC/D,yEAAuD,CAAA;IACvD,yEAAyE;IACzE,6DAA2C,CAAA;IAC3C,gDAAgD;IAChD,yFAAuE,CAAA;IACvE,oDAAoD;IACpD,6DAA2C,CAAA;IAC3C,oEAAoE;IACpE,iEAA+C,CAAA;IAC/C,4DAA4D;IAC5D,mFAAiE,CAAA;IACjE,kGAAkG;IAClG,uEAAqD,CAAA;IACrD,yCAAyC;IACzC,uFAAqE,CAAA;IACrE,+CAA+C;IAC/C,mEAAiD,CAAA;IACjD,sEAAsE;IACtE,qEAAmD,CAAA;IACnD,mDAAmD;IACnD,uEAAqD,CAAA;IACrD,wEAAwE;IACxE,mFAAiE,CAAA;IACjE,gEAAgE;IAChE,6EAA2D,CAAA;IAC3D;;;OAGG;IACH,iFAA+D,CAAA;IAC/D,iFAAiF;IACjF,mEAAiD,CAAA;IACjD,2FAA2F;IAC3F,uFAAqE,CAAA;IACrE,qFAAqF;IACrF,uEAAqD,CAAA;IACrD,6DAA6D;IAC7D,iEAA+C,CAAA;IAC/C,yDAAyD;IACzD,qEAAmD,CAAA;IACnD,YAAY;IACZ,2DAA2D;IAC3D,yEAAuD,CAAA;IACvD,2DAA2D;IAC3D,qEAAmD,CAAA;IACnD,gEAAgE;IAChE,mEAAiD,CAAA;IACjD,6FAA6F;IAC7F,2EAAyD,CAAA;IACzD,+GAA+G;IAC/G,wEAAsD,CAAA;IACtD;;;;OAIG;IACH,4EAA0D,CAAA;IAC1D,
|
|
1
|
+
{"version":3,"file":"blockError.js","sourceRoot":"","sources":["../../../src/chain/errors/blockError.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,aAAa,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAN,IAAY,cAuFX;AAvFD,WAAY,cAAc;IACxB,qCAAqC;IACrC,mEAAiD,CAAA;IACjD;;OAEG;IACH,2EAAyD,CAAA;IACzD,uDAAuD;IACvD,yDAAuC,CAAA;IACvC,+DAA+D;IAC/D,yEAAuD,CAAA;IACvD,yEAAyE;IACzE,6DAA2C,CAAA;IAC3C,gDAAgD;IAChD,yFAAuE,CAAA;IACvE,oDAAoD;IACpD,6DAA2C,CAAA;IAC3C,oEAAoE;IACpE,iEAA+C,CAAA;IAC/C,4DAA4D;IAC5D,mFAAiE,CAAA;IACjE,kGAAkG;IAClG,uEAAqD,CAAA;IACrD,yCAAyC;IACzC,uFAAqE,CAAA;IACrE,+CAA+C;IAC/C,mEAAiD,CAAA;IACjD,sEAAsE;IACtE,qEAAmD,CAAA;IACnD,mDAAmD;IACnD,uEAAqD,CAAA;IACrD,wEAAwE;IACxE,mFAAiE,CAAA;IACjE,gEAAgE;IAChE,6EAA2D,CAAA;IAC3D;;;OAGG;IACH,iFAA+D,CAAA;IAC/D,iFAAiF;IACjF,mEAAiD,CAAA;IACjD,2FAA2F;IAC3F,uFAAqE,CAAA;IACrE,qFAAqF;IACrF,uEAAqD,CAAA;IACrD,6DAA6D;IAC7D,iEAA+C,CAAA;IAC/C,yDAAyD;IACzD,qEAAmD,CAAA;IACnD,YAAY;IACZ,2DAA2D;IAC3D,yEAAuD,CAAA;IACvD,2DAA2D;IAC3D,qEAAmD,CAAA;IACnD,gEAAgE;IAChE,mEAAiD,CAAA;IACjD,6FAA6F;IAC7F,2EAAyD,CAAA;IACzD,+GAA+G;IAC/G,wEAAsD,CAAA;IACtD;;;;OAIG;IACH,4EAA0D,CAAA;IAC1D,0EAA0E;IAC1E,mEAAiD,CAAA;IACjD,8CAA8C;IAC9C,mFAAiE,CAAA;IACjE,6DAA6D;IAC7D,mFAAiE,CAAA;IACjE,wEAAwE;IACxE,mFAAiE,CAAA;IACjE;;;OAGG;IACH,+EAA6D,CAAA;IAC7D;;;OAGG;IACH,mFAAiE,CAAA;IACjE,sHAAsH;IACtH,2FAAyE,CAAA;AAC3E,CAAC,EAvFW,cAAc,KAAd,cAAc,QAuFzB;AA2ED,MAAM,OAAO,gBAAiB,SAAQ,iBAAiC;CAAG;AAE1E,MAAM,OAAO,UAAW,SAAQ,aAA6B;IAEhD,WAAW;IADtB,YACW,WAA8B,EACvC,IAAoB;QAEpB,KAAK,CAAC,IAAI,CAAC,CAAC;2BAHH,WAAW;IAItB,CAAC;IAED,WAAW;QACT,OAAO,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;CACF;AAED,MAAM,UAAU,mBAAmB,CAAC,CAAU;IAC5C,OAAO,CACL,CAAC,YAAY,UAAU;QACvB,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,sBAAsB;QACrD,CAAC,CAAC,IAAI,CAAC,YAAY,KAAK,cAAc,CAAC,aAAa,CACrD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAoB;IACvD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,cAAc,CAAC,gBAAgB,CAAC;QACrC,KAAK,cAAc,CAAC,kBAAkB;YACpC,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;aAC1B,CAAC;QAEJ,KAAK,cAAc,CAAC,0BAA0B;YAC5C,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;aAC1B,CAAC;QAEJ,KAAK,cAAc,CAAC,iBAAiB;YACnC,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;aACtB,CAAC;QAEJ,KAAK,cAAc,CAAC,kBAAkB;YACpC,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;gBACzB,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC1B,YAAY,EAAE,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC;aAC3C,CAAC;QAEJ;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC"}
|
|
@@ -19,7 +19,9 @@ export declare enum ExecutionPayloadBidErrorCode {
|
|
|
19
19
|
INVALID_SIGNATURE = "EXECUTION_PAYLOAD_BID_ERROR_INVALID_SIGNATURE",
|
|
20
20
|
NO_MATCHING_PROPOSER_PREFERENCES = "EXECUTION_PAYLOAD_BID_ERROR_NO_MATCHING_PROPOSER_PREFERENCES",
|
|
21
21
|
PROPOSER_PREFERENCES_FEE_RECIPIENT_MISMATCH = "EXECUTION_PAYLOAD_BID_ERROR_PROPOSER_PREFERENCES_FEE_RECIPIENT_MISMATCH",
|
|
22
|
-
PROPOSER_PREFERENCES_GAS_LIMIT_MISMATCH = "EXECUTION_PAYLOAD_BID_ERROR_PROPOSER_PREFERENCES_GAS_LIMIT_MISMATCH"
|
|
22
|
+
PROPOSER_PREFERENCES_GAS_LIMIT_MISMATCH = "EXECUTION_PAYLOAD_BID_ERROR_PROPOSER_PREFERENCES_GAS_LIMIT_MISMATCH",
|
|
23
|
+
INCLUSION_LIST_BITS_NOT_INCLUSIVE = "EXECUTION_PAYLOAD_BID_ERROR_INCLUSION_LIST_BITS_NOT_INCLUSIVE",
|
|
24
|
+
BEFORE_INCLUSION_LIST_DEADLINE = "EXECUTION_PAYLOAD_BID_ERROR_BEFORE_INCLUSION_LIST_DEADLINE"
|
|
23
25
|
}
|
|
24
26
|
export type ExecutionPayloadBidErrorType = {
|
|
25
27
|
code: ExecutionPayloadBidErrorCode.BUILDER_NOT_ELIGIBLE;
|
|
@@ -97,6 +99,14 @@ export type ExecutionPayloadBidErrorType = {
|
|
|
97
99
|
builderIndex: BuilderIndex;
|
|
98
100
|
bidFeeRecipient: string;
|
|
99
101
|
expectedFeeRecipient: string;
|
|
102
|
+
} | {
|
|
103
|
+
code: ExecutionPayloadBidErrorCode.INCLUSION_LIST_BITS_NOT_INCLUSIVE;
|
|
104
|
+
builderIndex: BuilderIndex;
|
|
105
|
+
slot: Slot;
|
|
106
|
+
} | {
|
|
107
|
+
code: ExecutionPayloadBidErrorCode.BEFORE_INCLUSION_LIST_DEADLINE;
|
|
108
|
+
builderIndex: BuilderIndex;
|
|
109
|
+
slot: Slot;
|
|
100
110
|
} | {
|
|
101
111
|
code: ExecutionPayloadBidErrorCode.PROPOSER_PREFERENCES_GAS_LIMIT_MISMATCH;
|
|
102
112
|
builderIndex: BuilderIndex;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executionPayloadBid.d.ts","sourceRoot":"","sources":["../../../src/chain/errors/executionPayloadBid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,OAAO,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AAExD,oBAAY,4BAA4B;IACtC,oBAAoB,qDAAqD;IACzE,uBAAuB,wDAAwD;IAC/E,0BAA0B,2DAA2D;IACrF,mCAAmC,oEAAoE;IACvG,sBAAsB,uDAAuD;IAC7E,iBAAiB,kDAAkD;IACnE,WAAW,4CAA4C;IACvD,YAAY,6CAA6C;IACzD,gBAAgB,iDAAiD;IACjE,wBAAwB,yDAAyD;IACjF,kBAAkB,mDAAmD;IACrE,yBAAyB,0DAA0D;IACnF,YAAY,6CAA6C;IACzD,qBAAqB,sDAAsD;IAC3E,mBAAmB,oDAAoD;IACvE,iBAAiB,kDAAkD;IACnE,gCAAgC,iEAAiE;IACjG,2CAA2C,4EAA4E;IACvH,uCAAuC,wEAAwE;
|
|
1
|
+
{"version":3,"file":"executionPayloadBid.d.ts","sourceRoot":"","sources":["../../../src/chain/errors/executionPayloadBid.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,8 @@ export var ExecutionPayloadBidErrorCode;
|
|
|
20
20
|
ExecutionPayloadBidErrorCode["NO_MATCHING_PROPOSER_PREFERENCES"] = "EXECUTION_PAYLOAD_BID_ERROR_NO_MATCHING_PROPOSER_PREFERENCES";
|
|
21
21
|
ExecutionPayloadBidErrorCode["PROPOSER_PREFERENCES_FEE_RECIPIENT_MISMATCH"] = "EXECUTION_PAYLOAD_BID_ERROR_PROPOSER_PREFERENCES_FEE_RECIPIENT_MISMATCH";
|
|
22
22
|
ExecutionPayloadBidErrorCode["PROPOSER_PREFERENCES_GAS_LIMIT_MISMATCH"] = "EXECUTION_PAYLOAD_BID_ERROR_PROPOSER_PREFERENCES_GAS_LIMIT_MISMATCH";
|
|
23
|
+
ExecutionPayloadBidErrorCode["INCLUSION_LIST_BITS_NOT_INCLUSIVE"] = "EXECUTION_PAYLOAD_BID_ERROR_INCLUSION_LIST_BITS_NOT_INCLUSIVE";
|
|
24
|
+
ExecutionPayloadBidErrorCode["BEFORE_INCLUSION_LIST_DEADLINE"] = "EXECUTION_PAYLOAD_BID_ERROR_BEFORE_INCLUSION_LIST_DEADLINE";
|
|
23
25
|
})(ExecutionPayloadBidErrorCode || (ExecutionPayloadBidErrorCode = {}));
|
|
24
26
|
export class ExecutionPayloadBidError extends GossipActionError {
|
|
25
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executionPayloadBid.js","sourceRoot":"","sources":["../../../src/chain/errors/executionPayloadBid.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"executionPayloadBid.js","sourceRoot":"","sources":["../../../src/chain/errors/executionPayloadBid.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAN,IAAY,4BAsBX;AAtBD,WAAY,4BAA4B;IACtC,yGAAyE,CAAA;IACzE,+GAA+E,CAAA;IAC/E,qHAAqF,CAAA;IACrF,uIAAuG,CAAA;IACvG,6GAA6E,CAAA;IAC7E,mGAAmE,CAAA;IACnE,uFAAuD,CAAA;IACvD,yFAAyD,CAAA;IACzD,iGAAiE,CAAA;IACjE,iHAAiF,CAAA;IACjF,qGAAqE,CAAA;IACrE,mHAAmF,CAAA;IACnF,yFAAyD,CAAA;IACzD,2GAA2E,CAAA;IAC3E,uGAAuE,CAAA;IACvE,mGAAmE,CAAA;IACnE,iIAAiG,CAAA;IACjG,uJAAuH,CAAA;IACvH,+IAA+G,CAAA;IAC/G,mIAAmG,CAAA;IACnG,6HAA6F,CAAA;AAC/F,CAAC,EAtBW,4BAA4B,KAA5B,4BAA4B,QAsBvC;AAmFD,MAAM,OAAO,wBAAyB,SAAQ,iBAA+C;CAAG"}
|
|
@@ -11,6 +11,7 @@ export declare enum ExecutionPayloadEnvelopeErrorCode {
|
|
|
11
11
|
BUILDER_INDEX_MISMATCH = "EXECUTION_PAYLOAD_ENVELOPE_ERROR_BUILDER_INDEX_MISMATCH",
|
|
12
12
|
BLOCK_HASH_MISMATCH = "EXECUTION_PAYLOAD_ENVELOPE_ERROR_BLOCK_HASH_MISMATCH",
|
|
13
13
|
EXECUTION_REQUESTS_ROOT_MISMATCH = "EXECUTION_PAYLOAD_ENVELOPE_ERROR_EXECUTION_REQUESTS_ROOT_MISMATCH",
|
|
14
|
+
TOO_MANY_TRANSACTIONS = "EXECUTION_PAYLOAD_ENVELOPE_ERROR_TOO_MANY_TRANSACTIONS",
|
|
14
15
|
INVALID_SIGNATURE = "EXECUTION_PAYLOAD_ENVELOPE_ERROR_INVALID_SIGNATURE",
|
|
15
16
|
PAYLOAD_ENVELOPE_INPUT_MISSING = "EXECUTION_PAYLOAD_ENVELOPE_ERROR_PAYLOAD_ENVELOPE_INPUT_MISSING"
|
|
16
17
|
}
|
|
@@ -60,6 +61,12 @@ export type ExecutionPayloadEnvelopeErrorType = {
|
|
|
60
61
|
root: RootHex;
|
|
61
62
|
envelopeRequestsRoot: RootHex;
|
|
62
63
|
bidRequestsRoot: RootHex;
|
|
64
|
+
} | {
|
|
65
|
+
code: ExecutionPayloadEnvelopeErrorCode.TOO_MANY_TRANSACTIONS;
|
|
66
|
+
slot: Slot;
|
|
67
|
+
root: RootHex;
|
|
68
|
+
transactionCount: number;
|
|
69
|
+
maxTransactionCount: number;
|
|
63
70
|
} | {
|
|
64
71
|
code: ExecutionPayloadEnvelopeErrorCode.INVALID_SIGNATURE;
|
|
65
72
|
slot: Slot;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executionPayloadEnvelope.d.ts","sourceRoot":"","sources":["../../../src/chain/errors/executionPayloadEnvelope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,OAAO,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AAExD,oBAAY,iCAAiC;IAC3C,yBAAyB,+DAA+D;IACxF,kBAAkB,wDAAwD;IAC1E,cAAc,oDAAoD;IAClE,mBAAmB,yDAAyD;IAC5E,sBAAsB,mDAAmD;IACzE,aAAa,mDAAmD;IAChE,aAAa,mDAAmD;IAChE,sBAAsB,4DAA4D;IAClF,mBAAmB,yDAAyD;IAC5E,gCAAgC,sEAAsE;IACtG,iBAAiB,uDAAuD;IACxE,8BAA8B,oEAAoE;CACnG;AACD,MAAM,MAAM,iCAAiC,GACzC;IAAC,IAAI,EAAE,iCAAiC,CAAC,yBAAyB,CAAC;IAAC,YAAY,EAAE,IAAI,CAAC;IAAC,aAAa,EAAE,IAAI,CAAA;CAAC,GAC5G;IAAC,IAAI,EAAE,iCAAiC,CAAC,kBAAkB,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAC,GAChF;IAAC,IAAI,EAAE,iCAAiC,CAAC,cAAc,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAC,GACzF;IAAC,IAAI,EAAE,iCAAiC,CAAC,mBAAmB,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAC,GAC7F;IACE,IAAI,EAAE,iCAAiC,CAAC,sBAAsB,CAAC;IAC/D,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;CACZ,GACD;IAAC,IAAI,EAAE,iCAAiC,CAAC,aAAa,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAC,GAC3E;IACE,IAAI,EAAE,iCAAiC,CAAC,aAAa,CAAC;IACtD,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,IAAI,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;CACjB,GACD;IACE,IAAI,EAAE,iCAAiC,CAAC,sBAAsB,CAAC;IAC/D,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,OAAO,CAAC;IACd,oBAAoB,EAAE,YAAY,CAAC;IACnC,eAAe,EAAE,YAAY,GAAG,IAAI,CAAC;CACtC,GACD;IACE,IAAI,EAAE,iCAAiC,CAAC,mBAAmB,CAAC;IAC5D,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,OAAO,CAAC;IACd,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;CAC9B,GACD;IACE,IAAI,EAAE,iCAAiC,CAAC,gCAAgC,CAAC;IACzE,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,OAAO,CAAC;IACd,oBAAoB,EAAE,OAAO,CAAC;IAC9B,eAAe,EAAE,OAAO,CAAC;CAC1B,GACD;IAAC,IAAI,EAAE,iCAAiC,CAAC,iBAAiB,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAC,GACtF;IAAC,IAAI,EAAE,iCAAiC,CAAC,8BAA8B,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAC,CAAC;AAEjG,qBAAa,6BAA8B,SAAQ,iBAAiB,CAAC,iCAAiC,CAAC;CAAG"}
|
|
1
|
+
{"version":3,"file":"executionPayloadEnvelope.d.ts","sourceRoot":"","sources":["../../../src/chain/errors/executionPayloadEnvelope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,OAAO,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AAExD,oBAAY,iCAAiC;IAC3C,yBAAyB,+DAA+D;IACxF,kBAAkB,wDAAwD;IAC1E,cAAc,oDAAoD;IAClE,mBAAmB,yDAAyD;IAC5E,sBAAsB,mDAAmD;IACzE,aAAa,mDAAmD;IAChE,aAAa,mDAAmD;IAChE,sBAAsB,4DAA4D;IAClF,mBAAmB,yDAAyD;IAC5E,gCAAgC,sEAAsE;IACtG,qBAAqB,2DAA2D;IAChF,iBAAiB,uDAAuD;IACxE,8BAA8B,oEAAoE;CACnG;AACD,MAAM,MAAM,iCAAiC,GACzC;IAAC,IAAI,EAAE,iCAAiC,CAAC,yBAAyB,CAAC;IAAC,YAAY,EAAE,IAAI,CAAC;IAAC,aAAa,EAAE,IAAI,CAAA;CAAC,GAC5G;IAAC,IAAI,EAAE,iCAAiC,CAAC,kBAAkB,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAC,GAChF;IAAC,IAAI,EAAE,iCAAiC,CAAC,cAAc,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAC,GACzF;IAAC,IAAI,EAAE,iCAAiC,CAAC,mBAAmB,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAC,GAC7F;IACE,IAAI,EAAE,iCAAiC,CAAC,sBAAsB,CAAC;IAC/D,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;CACZ,GACD;IAAC,IAAI,EAAE,iCAAiC,CAAC,aAAa,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAC,GAC3E;IACE,IAAI,EAAE,iCAAiC,CAAC,aAAa,CAAC;IACtD,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,IAAI,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;CACjB,GACD;IACE,IAAI,EAAE,iCAAiC,CAAC,sBAAsB,CAAC;IAC/D,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,OAAO,CAAC;IACd,oBAAoB,EAAE,YAAY,CAAC;IACnC,eAAe,EAAE,YAAY,GAAG,IAAI,CAAC;CACtC,GACD;IACE,IAAI,EAAE,iCAAiC,CAAC,mBAAmB,CAAC;IAC5D,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,OAAO,CAAC;IACd,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;CAC9B,GACD;IACE,IAAI,EAAE,iCAAiC,CAAC,gCAAgC,CAAC;IACzE,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,OAAO,CAAC;IACd,oBAAoB,EAAE,OAAO,CAAC;IAC9B,eAAe,EAAE,OAAO,CAAC;CAC1B,GACD;IACE,IAAI,EAAE,iCAAiC,CAAC,qBAAqB,CAAC;IAC9D,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,OAAO,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;CAC7B,GACD;IAAC,IAAI,EAAE,iCAAiC,CAAC,iBAAiB,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAC,GACtF;IAAC,IAAI,EAAE,iCAAiC,CAAC,8BAA8B,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAC,CAAC;AAEjG,qBAAa,6BAA8B,SAAQ,iBAAiB,CAAC,iCAAiC,CAAC;CAAG"}
|
|
@@ -11,6 +11,7 @@ export var ExecutionPayloadEnvelopeErrorCode;
|
|
|
11
11
|
ExecutionPayloadEnvelopeErrorCode["BUILDER_INDEX_MISMATCH"] = "EXECUTION_PAYLOAD_ENVELOPE_ERROR_BUILDER_INDEX_MISMATCH";
|
|
12
12
|
ExecutionPayloadEnvelopeErrorCode["BLOCK_HASH_MISMATCH"] = "EXECUTION_PAYLOAD_ENVELOPE_ERROR_BLOCK_HASH_MISMATCH";
|
|
13
13
|
ExecutionPayloadEnvelopeErrorCode["EXECUTION_REQUESTS_ROOT_MISMATCH"] = "EXECUTION_PAYLOAD_ENVELOPE_ERROR_EXECUTION_REQUESTS_ROOT_MISMATCH";
|
|
14
|
+
ExecutionPayloadEnvelopeErrorCode["TOO_MANY_TRANSACTIONS"] = "EXECUTION_PAYLOAD_ENVELOPE_ERROR_TOO_MANY_TRANSACTIONS";
|
|
14
15
|
ExecutionPayloadEnvelopeErrorCode["INVALID_SIGNATURE"] = "EXECUTION_PAYLOAD_ENVELOPE_ERROR_INVALID_SIGNATURE";
|
|
15
16
|
ExecutionPayloadEnvelopeErrorCode["PAYLOAD_ENVELOPE_INPUT_MISSING"] = "EXECUTION_PAYLOAD_ENVELOPE_ERROR_PAYLOAD_ENVELOPE_INPUT_MISSING";
|
|
16
17
|
})(ExecutionPayloadEnvelopeErrorCode || (ExecutionPayloadEnvelopeErrorCode = {}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executionPayloadEnvelope.js","sourceRoot":"","sources":["../../../src/chain/errors/executionPayloadEnvelope.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"executionPayloadEnvelope.js","sourceRoot":"","sources":["../../../src/chain/errors/executionPayloadEnvelope.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAN,IAAY,iCAcX;AAdD,WAAY,iCAAiC;IAC3C,6HAAwF,CAAA;IACxF,+GAA0E,CAAA;IAC1E,uGAAkE,CAAA;IAClE,iHAA4E,CAAA;IAC5E,8GAAyE,CAAA;IACzE,qGAAgE,CAAA;IAChE,qGAAgE,CAAA;IAChE,uHAAkF,CAAA;IAClF,iHAA4E,CAAA;IAC5E,2IAAsG,CAAA;IACtG,qHAAgF,CAAA;IAChF,6GAAwE,CAAA;IACxE,uIAAkG,CAAA;AACpG,CAAC,EAdW,iCAAiC,KAAjC,iCAAiC,QAc5C;AAkDD,MAAM,OAAO,6BAA8B,SAAQ,iBAAoD;CAAG"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Epoch, RootHex, Slot, ValidatorIndex } from "@lodestar/types";
|
|
2
|
+
import { GossipActionError } from "./gossipValidation.js";
|
|
3
|
+
export declare enum InclusionListErrorCode {
|
|
4
|
+
EMPTY_TRANSACTIONS = "INCLUSION_LIST_ERROR_EMPTY_TRANSACTIONS",
|
|
5
|
+
MAXIMUM_SIZE_EXCEEDED = "INCLUSION_LIST_ERROR_MAXIMUM_SIZE_EXCEEDED",
|
|
6
|
+
EMPTY_TRANSACTION = "INCLUSION_LIST_ERROR_EMPTY_TRANSACTION",
|
|
7
|
+
INVALID_SLOT = "INCLUSION_LIST_ERROR_INVALID_SLOT",
|
|
8
|
+
MORE_THAN_TWO = "INCLUSION_LIST_ERROR_MORE_THAN_TWO",
|
|
9
|
+
VALIDATOR_NOT_IN_COMMITTEE = "INCLUSION_LIST_ERROR_VALIDATOR_NOT_IN_COMMITTEE",
|
|
10
|
+
UNKNOWN_DEPENDENT_ROOT = "INCLUSION_LIST_ERROR_UNKNOWN_DEPENDENT_ROOT",
|
|
11
|
+
INVALID_DEPENDENT_ROOT_SLOT = "INCLUSION_LIST_ERROR_INVALID_DEPENDENT_ROOT_SLOT",
|
|
12
|
+
INVALID_DEPENDENT_ROOT = "INCLUSION_LIST_ERROR_INVALID_DEPENDENT_ROOT",
|
|
13
|
+
MISSING_SHUFFLING = "INCLUSION_LIST_ERROR_MISSING_SHUFFLING",
|
|
14
|
+
INVALID_SIGNATURE = "INCLUSION_LIST_ERROR_INVALID_SIGNATURE",
|
|
15
|
+
PRE_HEZE_SLOT = "INCLUSION_LIST_ERROR_PRE_HEZE_SLOT"
|
|
16
|
+
}
|
|
17
|
+
export type InclusionListErrorType = {
|
|
18
|
+
code: InclusionListErrorCode.EMPTY_TRANSACTIONS;
|
|
19
|
+
} | {
|
|
20
|
+
code: InclusionListErrorCode.MAXIMUM_SIZE_EXCEEDED;
|
|
21
|
+
totalBytes: number;
|
|
22
|
+
maxBytes: number;
|
|
23
|
+
} | {
|
|
24
|
+
code: InclusionListErrorCode.EMPTY_TRANSACTION;
|
|
25
|
+
transactionIndex: number;
|
|
26
|
+
} | {
|
|
27
|
+
code: InclusionListErrorCode.INVALID_SLOT;
|
|
28
|
+
inclusionListSlot: Slot;
|
|
29
|
+
currentSlot: Slot;
|
|
30
|
+
} | {
|
|
31
|
+
code: InclusionListErrorCode.MORE_THAN_TWO;
|
|
32
|
+
validatorIndex: ValidatorIndex;
|
|
33
|
+
} | {
|
|
34
|
+
code: InclusionListErrorCode.VALIDATOR_NOT_IN_COMMITTEE;
|
|
35
|
+
validatorIndex: ValidatorIndex;
|
|
36
|
+
} | {
|
|
37
|
+
code: InclusionListErrorCode.UNKNOWN_DEPENDENT_ROOT;
|
|
38
|
+
dependentRoot: RootHex;
|
|
39
|
+
} | {
|
|
40
|
+
code: InclusionListErrorCode.INVALID_DEPENDENT_ROOT_SLOT;
|
|
41
|
+
dependentRoot: RootHex;
|
|
42
|
+
dependentSlot: Slot;
|
|
43
|
+
maxSlot: Slot;
|
|
44
|
+
} | {
|
|
45
|
+
code: InclusionListErrorCode.INVALID_DEPENDENT_ROOT;
|
|
46
|
+
dependentRoot: RootHex;
|
|
47
|
+
epoch: Epoch;
|
|
48
|
+
} | {
|
|
49
|
+
code: InclusionListErrorCode.MISSING_SHUFFLING;
|
|
50
|
+
dependentRoot: RootHex;
|
|
51
|
+
epoch: Epoch;
|
|
52
|
+
} | {
|
|
53
|
+
code: InclusionListErrorCode.INVALID_SIGNATURE;
|
|
54
|
+
} | {
|
|
55
|
+
code: InclusionListErrorCode.PRE_HEZE_SLOT;
|
|
56
|
+
inclusionListSlot: Slot;
|
|
57
|
+
};
|
|
58
|
+
export declare class InclusionListError extends GossipActionError<InclusionListErrorType> {
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=inclusionList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inclusionList.d.ts","sourceRoot":"","sources":["../../../src/chain/errors/inclusionList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AAExD,oBAAY,sBAAsB;IAChC,kBAAkB,4CAA4C;IAC9D,qBAAqB,+CAA+C;IACpE,iBAAiB,2CAA2C;IAC5D,YAAY,sCAAsC;IAClD,aAAa,uCAAuC;IACpD,0BAA0B,oDAAoD;IAC9E,sBAAsB,gDAAgD;IACtE,2BAA2B,qDAAqD;IAChF,sBAAsB,gDAAgD;IACtE,iBAAiB,2CAA2C;IAC5D,iBAAiB,2CAA2C;IAC5D,aAAa,uCAAuC;CACrD;AAED,MAAM,MAAM,sBAAsB,GAC9B;IAAC,IAAI,EAAE,sBAAsB,CAAC,kBAAkB,CAAA;CAAC,GACjD;IAAC,IAAI,EAAE,sBAAsB,CAAC,qBAAqB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,GAC1F;IAAC,IAAI,EAAE,sBAAsB,CAAC,iBAAiB,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAC,GAC1E;IAAC,IAAI,EAAE,sBAAsB,CAAC,YAAY,CAAC;IAAC,iBAAiB,EAAE,IAAI,CAAC;IAAC,WAAW,EAAE,IAAI,CAAA;CAAC,GACvF;IAAC,IAAI,EAAE,sBAAsB,CAAC,aAAa,CAAC;IAAC,cAAc,EAAE,cAAc,CAAA;CAAC,GAC5E;IAAC,IAAI,EAAE,sBAAsB,CAAC,0BAA0B,CAAC;IAAC,cAAc,EAAE,cAAc,CAAA;CAAC,GACzF;IAAC,IAAI,EAAE,sBAAsB,CAAC,sBAAsB,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAC,GAC7E;IACE,IAAI,EAAE,sBAAsB,CAAC,2BAA2B,CAAC;IACzD,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,IAAI,CAAC;IACpB,OAAO,EAAE,IAAI,CAAC;CACf,GACD;IAAC,IAAI,EAAE,sBAAsB,CAAC,sBAAsB,CAAC;IAAC,aAAa,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAC,GAC3F;IAAC,IAAI,EAAE,sBAAsB,CAAC,iBAAiB,CAAC;IAAC,aAAa,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAC,GACtF;IAAC,IAAI,EAAE,sBAAsB,CAAC,iBAAiB,CAAA;CAAC,GAChD;IAAC,IAAI,EAAE,sBAAsB,CAAC,aAAa,CAAC;IAAC,iBAAiB,EAAE,IAAI,CAAA;CAAC,CAAC;AAE1E,qBAAa,kBAAmB,SAAQ,iBAAiB,CAAC,sBAAsB,CAAC;CAAG"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { GossipActionError } from "./gossipValidation.js";
|
|
2
|
+
export var InclusionListErrorCode;
|
|
3
|
+
(function (InclusionListErrorCode) {
|
|
4
|
+
InclusionListErrorCode["EMPTY_TRANSACTIONS"] = "INCLUSION_LIST_ERROR_EMPTY_TRANSACTIONS";
|
|
5
|
+
InclusionListErrorCode["MAXIMUM_SIZE_EXCEEDED"] = "INCLUSION_LIST_ERROR_MAXIMUM_SIZE_EXCEEDED";
|
|
6
|
+
InclusionListErrorCode["EMPTY_TRANSACTION"] = "INCLUSION_LIST_ERROR_EMPTY_TRANSACTION";
|
|
7
|
+
InclusionListErrorCode["INVALID_SLOT"] = "INCLUSION_LIST_ERROR_INVALID_SLOT";
|
|
8
|
+
InclusionListErrorCode["MORE_THAN_TWO"] = "INCLUSION_LIST_ERROR_MORE_THAN_TWO";
|
|
9
|
+
InclusionListErrorCode["VALIDATOR_NOT_IN_COMMITTEE"] = "INCLUSION_LIST_ERROR_VALIDATOR_NOT_IN_COMMITTEE";
|
|
10
|
+
InclusionListErrorCode["UNKNOWN_DEPENDENT_ROOT"] = "INCLUSION_LIST_ERROR_UNKNOWN_DEPENDENT_ROOT";
|
|
11
|
+
InclusionListErrorCode["INVALID_DEPENDENT_ROOT_SLOT"] = "INCLUSION_LIST_ERROR_INVALID_DEPENDENT_ROOT_SLOT";
|
|
12
|
+
InclusionListErrorCode["INVALID_DEPENDENT_ROOT"] = "INCLUSION_LIST_ERROR_INVALID_DEPENDENT_ROOT";
|
|
13
|
+
InclusionListErrorCode["MISSING_SHUFFLING"] = "INCLUSION_LIST_ERROR_MISSING_SHUFFLING";
|
|
14
|
+
InclusionListErrorCode["INVALID_SIGNATURE"] = "INCLUSION_LIST_ERROR_INVALID_SIGNATURE";
|
|
15
|
+
InclusionListErrorCode["PRE_HEZE_SLOT"] = "INCLUSION_LIST_ERROR_PRE_HEZE_SLOT";
|
|
16
|
+
})(InclusionListErrorCode || (InclusionListErrorCode = {}));
|
|
17
|
+
export class InclusionListError extends GossipActionError {
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=inclusionList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inclusionList.js","sourceRoot":"","sources":["../../../src/chain/errors/inclusionList.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAN,IAAY,sBAaX;AAbD,WAAY,sBAAsB;IAChC,wFAA8D,CAAA;IAC9D,8FAAoE,CAAA;IACpE,sFAA4D,CAAA;IAC5D,4EAAkD,CAAA;IAClD,8EAAoD,CAAA;IACpD,wGAA8E,CAAA;IAC9E,gGAAsE,CAAA;IACtE,0GAAgF,CAAA;IAChF,gGAAsE,CAAA;IACtE,sFAA4D,CAAA;IAC5D,sFAA4D,CAAA;IAC5D,8EAAoD,CAAA;AACtD,CAAC,EAbW,sBAAsB,KAAtB,sBAAsB,QAajC;AAqBD,MAAM,OAAO,kBAAmB,SAAQ,iBAAyC;CAAG"}
|
|
@@ -8,6 +8,7 @@ export * from "./envelopeReconstructionError.js";
|
|
|
8
8
|
export * from "./executionPayloadBid.js";
|
|
9
9
|
export * from "./executionPayloadEnvelope.js";
|
|
10
10
|
export * from "./gossipValidation.js";
|
|
11
|
+
export * from "./inclusionList.js";
|
|
11
12
|
export * from "./payloadAttestation.js";
|
|
12
13
|
export * from "./proposerPreferences.js";
|
|
13
14
|
export * from "./proposerSlashingError.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chain/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chain/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC"}
|
|
@@ -8,6 +8,7 @@ export * from "./envelopeReconstructionError.js";
|
|
|
8
8
|
export * from "./executionPayloadBid.js";
|
|
9
9
|
export * from "./executionPayloadEnvelope.js";
|
|
10
10
|
export * from "./gossipValidation.js";
|
|
11
|
+
export * from "./inclusionList.js";
|
|
11
12
|
export * from "./payloadAttestation.js";
|
|
12
13
|
export * from "./proposerPreferences.js";
|
|
13
14
|
export * from "./proposerSlashingError.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chain/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chain/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC"}
|
|
@@ -10,7 +10,17 @@ export type ForkChoiceOpts = RawForkChoiceOpts & {
|
|
|
10
10
|
};
|
|
11
11
|
export declare enum ForkchoiceCaller {
|
|
12
12
|
prepareNextSlot = "prepare_next_slot",
|
|
13
|
-
importBlock = "import_block"
|
|
13
|
+
importBlock = "import_block",
|
|
14
|
+
executionInvalid = "execution_invalid"
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Where an execution engine INVALID verdict comes from. Only `blockSegment` verdicts are about the payload the engine
|
|
18
|
+
* just processed and keep the consensus failure semantics in fork choice, the others are applied leniently.
|
|
19
|
+
*/
|
|
20
|
+
export declare enum ExecutionInvalidSource {
|
|
21
|
+
forkchoiceUpdated = "forkchoice_updated",
|
|
22
|
+
newPayload = "new_payload",
|
|
23
|
+
blockSegment = "block_segment"
|
|
14
24
|
}
|
|
15
25
|
/**
|
|
16
26
|
* Fork Choice extended with a ChainEventEmitter
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chain/forkChoice/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAEL,UAAU,EACV,qBAAqB,EAErB,uBAAuB,EAIvB,cAAc,IAAI,iBAAiB,EACpC,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAEL,gBAAgB,EAKjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,IAAI,EAAM,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAC,MAAM,EAAY,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAC,OAAO,EAAC,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAa,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAE5D,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG;IAE/C,qBAAqB,CAAC,EAAE,OAAO,UAAU,CAAC;CAC3C,CAAC;AAEF,oBAAY,gBAAgB;IAC1B,eAAe,sBAAsB;IACrC,WAAW,iBAAiB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chain/forkChoice/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAEL,UAAU,EACV,qBAAqB,EAErB,uBAAuB,EAIvB,cAAc,IAAI,iBAAiB,EACpC,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAEL,gBAAgB,EAKjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,IAAI,EAAM,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAC,MAAM,EAAY,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAC,OAAO,EAAC,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAa,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAE5D,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG;IAE/C,qBAAqB,CAAC,EAAE,OAAO,UAAU,CAAC;CAC3C,CAAC;AAEF,oBAAY,gBAAgB;IAC1B,eAAe,sBAAsB;IACrC,WAAW,iBAAiB;IAC5B,gBAAgB,sBAAsB;CACvC;AAED;;;GAGG;AACH,oBAAY,sBAAsB;IAChC,iBAAiB,uBAAuB;IACxC,UAAU,gBAAgB;IAC1B,YAAY,kBAAkB;CAC/B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,iBAAiB,EAC1B,WAAW,EAAE,IAAI,EACjB,KAAK,EAAE,gBAAgB,EACvB,gBAAgB,EAAE,OAAO,EACzB,IAAI,EAAE,cAAc,EACpB,uBAAuB,EAAE,uBAAuB,EAChD,WAAW,EAAE,qBAAqB,EAClC,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,MAAM,CAAC,EAAE,MAAM,GACd,UAAU,CAwBZ;AAED;;GAEG;AACH,wBAAgB,sCAAsC,CACpD,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,iBAAiB,EAC1B,WAAW,EAAE,IAAI,EACjB,KAAK,EAAE,gBAAgB,EACvB,IAAI,EAAE,cAAc,EACpB,uBAAuB,EAAE,uBAAuB,EAChD,WAAW,EAAE,qBAAqB,EAClC,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,MAAM,CAAC,EAAE,MAAM,GACd,UAAU,CAoFZ;AAED;;GAEG;AACH,wBAAgB,wCAAwC,CACtD,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,iBAAiB,EAC1B,WAAW,EAAE,IAAI,EACjB,gBAAgB,EAAE,gBAAgB,EAClC,IAAI,EAAE,cAAc,EACpB,uBAAuB,EAAE,uBAAuB,EAChD,WAAW,EAAE,qBAAqB,EAClC,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,MAAM,CAAC,EAAE,MAAM,GACd,UAAU,CAyIZ"}
|
|
@@ -10,7 +10,18 @@ export var ForkchoiceCaller;
|
|
|
10
10
|
(function (ForkchoiceCaller) {
|
|
11
11
|
ForkchoiceCaller["prepareNextSlot"] = "prepare_next_slot";
|
|
12
12
|
ForkchoiceCaller["importBlock"] = "import_block";
|
|
13
|
+
ForkchoiceCaller["executionInvalid"] = "execution_invalid";
|
|
13
14
|
})(ForkchoiceCaller || (ForkchoiceCaller = {}));
|
|
15
|
+
/**
|
|
16
|
+
* Where an execution engine INVALID verdict comes from. Only `blockSegment` verdicts are about the payload the engine
|
|
17
|
+
* just processed and keep the consensus failure semantics in fork choice, the others are applied leniently.
|
|
18
|
+
*/
|
|
19
|
+
export var ExecutionInvalidSource;
|
|
20
|
+
(function (ExecutionInvalidSource) {
|
|
21
|
+
ExecutionInvalidSource["forkchoiceUpdated"] = "forkchoice_updated";
|
|
22
|
+
ExecutionInvalidSource["newPayload"] = "new_payload";
|
|
23
|
+
ExecutionInvalidSource["blockSegment"] = "block_segment";
|
|
24
|
+
})(ExecutionInvalidSource || (ExecutionInvalidSource = {}));
|
|
14
25
|
/**
|
|
15
26
|
* Fork Choice extended with a ChainEventEmitter
|
|
16
27
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chain/forkChoice/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAErC,OAAO,EACL,eAAe,EACf,UAAU,EAEV,eAAe,EAEf,aAAa,EACb,UAAU,GAGX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACL,sBAAsB,EAEtB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAO,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAS,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAC,UAAU,EAAoB,MAAM,eAAe,CAAC;AAO5D,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chain/forkChoice/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { IForkChoice, LVHInvalidResponse } from "@lodestar/fork-choice";
|
|
2
|
+
import { ForkName, ForkPostFulu, ForkPreFulu } from "@lodestar/params";
|
|
3
|
+
import { RootHex, bellatrix } from "@lodestar/types";
|
|
4
|
+
import { BlobAndProof } from "@lodestar/types/deneb";
|
|
5
|
+
import { BlobAndProofV2 } from "@lodestar/types/fulu";
|
|
6
|
+
import { Logger } from "@lodestar/utils";
|
|
7
|
+
import { ExecutionPayloadBodyV2 } from "../execution/engine/types.js";
|
|
8
|
+
import { DATA } from "../execution/engine/utils.js";
|
|
9
|
+
import { ClientVersion, ExecutionEngineState, IExecutionEngine, PayloadAttributes, PayloadId, PayloadIdCache, VersionedHashes } from "../execution/index.js";
|
|
10
|
+
import { Metrics } from "../metrics/index.js";
|
|
11
|
+
import { ExecutionInvalidSource } from "./forkChoice/index.js";
|
|
12
|
+
export type ForkChoiceExecutionEngineModules = {
|
|
13
|
+
forkChoice: IForkChoice;
|
|
14
|
+
/** Recompute and switch the chain head, fork choice is already updated when this runs */
|
|
15
|
+
recomputeHeadAfterELInvalidResponse: () => void;
|
|
16
|
+
logger: Logger;
|
|
17
|
+
metrics: Metrics | null;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* The only handle on the execution engine. Payloads are imported optimistically, so every engine verdict that can
|
|
21
|
+
* change fork choice is applied here.
|
|
22
|
+
*/
|
|
23
|
+
export declare class ForkChoiceExecutionEngine {
|
|
24
|
+
private readonly engine;
|
|
25
|
+
private readonly forkChoice;
|
|
26
|
+
private readonly recomputeHeadAfterELInvalidResponse;
|
|
27
|
+
private readonly logger;
|
|
28
|
+
private readonly metrics;
|
|
29
|
+
constructor(engine: IExecutionEngine, modules: ForkChoiceExecutionEngineModules);
|
|
30
|
+
get state(): ExecutionEngineState;
|
|
31
|
+
get clientVersion(): ClientVersion | null | undefined;
|
|
32
|
+
get payloadIdCache(): PayloadIdCache;
|
|
33
|
+
notifyNewPayload(...args: Parameters<IExecutionEngine["notifyNewPayload"]>): ReturnType<IExecutionEngine["notifyNewPayload"]>;
|
|
34
|
+
/**
|
|
35
|
+
* `headBlockRoot` is the root of the node whose payload hash is sent as `headBlockHash`, captured by the caller
|
|
36
|
+
* before the call: root and hash identify the exact fork choice node, gloas variant included.
|
|
37
|
+
*
|
|
38
|
+
* The verdict is applied to fork choice before returning. An INVALID verdict throws when preparing a payload so
|
|
39
|
+
* block production fails, otherwise it resolves to null.
|
|
40
|
+
*/
|
|
41
|
+
notifyForkchoiceUpdate(fork: ForkName, headBlockRoot: RootHex, headBlockHash: RootHex, safeBlockHash: RootHex, finalizedBlockHash: RootHex, payloadAttributes?: PayloadAttributes): Promise<PayloadId | null>;
|
|
42
|
+
getPayload(...args: Parameters<IExecutionEngine["getPayload"]>): ReturnType<IExecutionEngine["getPayload"]>;
|
|
43
|
+
getInclusionList(): Promise<bellatrix.Transactions>;
|
|
44
|
+
getPayloadBodiesByHashV2(blockHashes: DATA[]): Promise<(ExecutionPayloadBodyV2 | null)[]>;
|
|
45
|
+
getBlobs(fork: ForkPostFulu, versionedHashes: VersionedHashes, buffers?: Uint8Array[]): Promise<BlobAndProofV2[] | null>;
|
|
46
|
+
getBlobs(fork: ForkPreFulu, versionedHashes: VersionedHashes, buffers?: Uint8Array[]): Promise<(BlobAndProof | null)[]>;
|
|
47
|
+
/**
|
|
48
|
+
* Apply an execution engine INVALID verdict to fork choice and move the chain head off the invalid chain
|
|
49
|
+
*/
|
|
50
|
+
invalidateExecutionPayloads(lvh: LVHInvalidResponse, source: ExecutionInvalidSource): void;
|
|
51
|
+
private applyForkchoiceUpdatedResult;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=forkChoiceExecutionEngine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forkChoiceExecutionEngine.d.ts","sourceRoot":"","sources":["../../src/chain/forkChoiceExecutionEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { ExecutionStatus } from "@lodestar/fork-choice";
|
|
2
|
+
import { isForkPostFulu } from "@lodestar/params";
|
|
3
|
+
import { ExecutionPayloadStatus, } from "../execution/index.js";
|
|
4
|
+
import { ExecutionInvalidSource } from "./forkChoice/index.js";
|
|
5
|
+
/**
|
|
6
|
+
* The only handle on the execution engine. Payloads are imported optimistically, so every engine verdict that can
|
|
7
|
+
* change fork choice is applied here.
|
|
8
|
+
*/
|
|
9
|
+
export class ForkChoiceExecutionEngine {
|
|
10
|
+
engine;
|
|
11
|
+
forkChoice;
|
|
12
|
+
recomputeHeadAfterELInvalidResponse;
|
|
13
|
+
logger;
|
|
14
|
+
metrics;
|
|
15
|
+
constructor(engine, modules) {
|
|
16
|
+
this.engine = engine;
|
|
17
|
+
this.forkChoice = modules.forkChoice;
|
|
18
|
+
this.recomputeHeadAfterELInvalidResponse = modules.recomputeHeadAfterELInvalidResponse;
|
|
19
|
+
this.logger = modules.logger;
|
|
20
|
+
this.metrics = modules.metrics;
|
|
21
|
+
}
|
|
22
|
+
get state() {
|
|
23
|
+
return this.engine.state;
|
|
24
|
+
}
|
|
25
|
+
get clientVersion() {
|
|
26
|
+
return this.engine.clientVersion;
|
|
27
|
+
}
|
|
28
|
+
get payloadIdCache() {
|
|
29
|
+
return this.engine.payloadIdCache;
|
|
30
|
+
}
|
|
31
|
+
notifyNewPayload(...args) {
|
|
32
|
+
return this.engine.notifyNewPayload(...args);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* `headBlockRoot` is the root of the node whose payload hash is sent as `headBlockHash`, captured by the caller
|
|
36
|
+
* before the call: root and hash identify the exact fork choice node, gloas variant included.
|
|
37
|
+
*
|
|
38
|
+
* The verdict is applied to fork choice before returning. An INVALID verdict throws when preparing a payload so
|
|
39
|
+
* block production fails, otherwise it resolves to null.
|
|
40
|
+
*/
|
|
41
|
+
async notifyForkchoiceUpdate(fork, headBlockRoot, headBlockHash, safeBlockHash, finalizedBlockHash, payloadAttributes) {
|
|
42
|
+
const result = await this.engine.notifyForkchoiceUpdate(fork, headBlockHash, safeBlockHash, finalizedBlockHash, payloadAttributes);
|
|
43
|
+
this.applyForkchoiceUpdatedResult(headBlockRoot, headBlockHash, result);
|
|
44
|
+
if (result.payloadStatus.status === ExecutionPayloadStatus.INVALID) {
|
|
45
|
+
if (payloadAttributes) {
|
|
46
|
+
throw Error(`Invalid prepare payload, validationError=${result.payloadStatus.validationError ?? ""}`);
|
|
47
|
+
}
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
return result.payloadId;
|
|
51
|
+
}
|
|
52
|
+
getPayload(...args) {
|
|
53
|
+
return this.engine.getPayload(...args);
|
|
54
|
+
}
|
|
55
|
+
getInclusionList() {
|
|
56
|
+
return this.engine.getInclusionList();
|
|
57
|
+
}
|
|
58
|
+
getPayloadBodiesByHashV2(blockHashes) {
|
|
59
|
+
return this.engine.getPayloadBodiesByHashV2(blockHashes);
|
|
60
|
+
}
|
|
61
|
+
getBlobs(fork, versionedHashes, buffers) {
|
|
62
|
+
if (isForkPostFulu(fork)) {
|
|
63
|
+
return this.engine.getBlobs(fork, versionedHashes, buffers);
|
|
64
|
+
}
|
|
65
|
+
return this.engine.getBlobs(fork, versionedHashes, buffers);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Apply an execution engine INVALID verdict to fork choice and move the chain head off the invalid chain
|
|
69
|
+
*/
|
|
70
|
+
invalidateExecutionPayloads(lvh, source) {
|
|
71
|
+
const logCtx = {
|
|
72
|
+
source,
|
|
73
|
+
blockRoot: lvh.invalidateFromParentBlockRoot,
|
|
74
|
+
blockHash: lvh.invalidateFromParentBlockHash,
|
|
75
|
+
latestValidHash: lvh.latestValidExecHash ?? "null",
|
|
76
|
+
};
|
|
77
|
+
const applied = this.forkChoice.validateLatestHash(lvh, { strict: source === ExecutionInvalidSource.blockSegment });
|
|
78
|
+
if (!applied) {
|
|
79
|
+
this.logger.warn("Execution engine INVALID verdict not applied to fork choice", logCtx);
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
this.metrics?.forkChoice.executionInvalidations.inc({ source });
|
|
83
|
+
this.logger.warn("Invalidated execution payloads in fork choice", logCtx);
|
|
84
|
+
try {
|
|
85
|
+
this.recomputeHeadAfterELInvalidResponse();
|
|
86
|
+
}
|
|
87
|
+
catch (e) {
|
|
88
|
+
this.logger.error("Error recomputing head after execution payload invalidation", logCtx, e);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
applyForkchoiceUpdatedResult(headBlockRoot, headBlockHash, result) {
|
|
92
|
+
const { status, latestValidHash, validationError } = result.payloadStatus;
|
|
93
|
+
const executionStatus = this.forkChoice.getBlockHexAndBlockHash(headBlockRoot, headBlockHash)?.executionStatus;
|
|
94
|
+
try {
|
|
95
|
+
if (status === ExecutionPayloadStatus.INVALID) {
|
|
96
|
+
if (executionStatus === ExecutionStatus.Invalid) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
this.logger.error("Execution engine reported INVALID forkchoice head", {
|
|
100
|
+
headBlockRoot,
|
|
101
|
+
headBlockHash,
|
|
102
|
+
latestValidHash: latestValidHash ?? "null",
|
|
103
|
+
validationError: validationError ?? "",
|
|
104
|
+
});
|
|
105
|
+
this.invalidateExecutionPayloads({
|
|
106
|
+
executionStatus: ExecutionStatus.Invalid,
|
|
107
|
+
latestValidExecHash: latestValidHash,
|
|
108
|
+
invalidateFromParentBlockRoot: headBlockRoot,
|
|
109
|
+
invalidateFromParentBlockHash: headBlockHash,
|
|
110
|
+
}, ExecutionInvalidSource.forkchoiceUpdated);
|
|
111
|
+
}
|
|
112
|
+
else if (status === ExecutionPayloadStatus.VALID && executionStatus === ExecutionStatus.Syncing) {
|
|
113
|
+
this.forkChoice.validateLatestHash({ executionStatus: ExecutionStatus.Valid, latestValidExecHash: headBlockHash, blockRoot: headBlockRoot }, { strict: false });
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
catch (e) {
|
|
117
|
+
this.logger.error("Error applying forkchoice update result", { headBlockRoot, headBlockHash, status }, e);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=forkChoiceExecutionEngine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forkChoiceExecutionEngine.js","sourceRoot":"","sources":["../../src/chain/forkChoiceExecutionEngine.ts"],"names":[],"mappings":"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"}
|
package/lib/chain/interface.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { type PubkeyCache } from "@chainsafe/lodestar-z/pubkeys";
|
|
2
1
|
import { Type } from "@chainsafe/ssz";
|
|
3
2
|
import { BeaconConfig } from "@lodestar/config";
|
|
4
3
|
import { CheckpointWithHex, IForkChoice, ProtoBlock } from "@lodestar/fork-choice";
|
|
4
|
+
import { type PubkeyCache } from "@lodestar/native/pubkeys";
|
|
5
5
|
import { EpochShuffling, IBeaconStateView } from "@lodestar/state-transition";
|
|
6
6
|
import { BeaconBlock, BlindedBeaconBlock, DataColumnSidecar, Epoch, Root, RootHex, SignedBeaconBlock, Slot, Status, UintNum64, ValidatorIndex, Wei, altair, capella, deneb, gloas, phase0, rewards } from "@lodestar/types";
|
|
7
7
|
import { Logger } from "@lodestar/utils";
|
|
8
8
|
import { BuilderApiClient } from "../execution/builder/apiClient.js";
|
|
9
|
-
import { IExecutionBuilder
|
|
9
|
+
import { IExecutionBuilder } from "../execution/index.js";
|
|
10
10
|
import { Metrics } from "../metrics/metrics.js";
|
|
11
11
|
import { BufferPool } from "../util/bufferPool.js";
|
|
12
12
|
import { IClock } from "../util/clock.js";
|
|
@@ -23,10 +23,11 @@ import { BuilderCircuitBreaker } from "./builderCircuitBreaker.js";
|
|
|
23
23
|
import { ColumnReconstructionTracker } from "./ColumnReconstructionTracker.js";
|
|
24
24
|
import { ChainEventEmitter } from "./emitter.js";
|
|
25
25
|
import { ForkchoiceCaller } from "./forkChoice/index.js";
|
|
26
|
+
import { ForkChoiceExecutionEngine } from "./forkChoiceExecutionEngine.js";
|
|
26
27
|
import { GetBlobsTracker } from "./GetBlobsTracker.js";
|
|
27
28
|
import { LightClientServer } from "./lightClient/index.js";
|
|
28
29
|
import { AggregatedAttestationPool } from "./opPools/aggregatedAttestationPool.js";
|
|
29
|
-
import { AttestationPool, DeferredVoluntaryExitPool, ExecutionPayloadBidPool, OpPool, PayloadAttestationPool, ProposerPreferencesPool, SyncCommitteeMessagePool, SyncContributionAndProofPool } from "./opPools/index.js";
|
|
30
|
+
import { AttestationPool, DeferredVoluntaryExitPool, ExecutionPayloadBidPool, InclusionListStore, OpPool, PayloadAttestationPool, ProposerPreferencesPool, SyncCommitteeMessagePool, SyncContributionAndProofPool } from "./opPools/index.js";
|
|
30
31
|
import { IChainOptions } from "./options.js";
|
|
31
32
|
import { AssembledBlockType, BlockAttributes, BlockType, ProduceResult } from "./produceBlock/produceBlockBody.js";
|
|
32
33
|
import { IStateRegenerator, RegenCaller } from "./regen/index.js";
|
|
@@ -39,8 +40,7 @@ import { SeenBlockInput } from "./seenCache/seenGossipBlockInput.js";
|
|
|
39
40
|
import { PayloadEnvelopeInput, SeenPayloadEnvelopeInput } from "./seenCache/seenPayloadEnvelopeInput.js";
|
|
40
41
|
import { ShufflingCache } from "./shufflingCache.js";
|
|
41
42
|
import { ValidatorMonitor } from "./validatorMonitor.js";
|
|
42
|
-
export { BlockType, type
|
|
43
|
-
export { type ProposerPreparationData };
|
|
43
|
+
export { type AssembledBlockType, BlockType, type ProposerPreparationData };
|
|
44
44
|
export type BlockHash = RootHex;
|
|
45
45
|
export type StateGetOpts = {
|
|
46
46
|
allowRegen: boolean;
|
|
@@ -58,7 +58,7 @@ export interface IBeaconChain {
|
|
|
58
58
|
readonly genesisTime: UintNum64;
|
|
59
59
|
readonly genesisValidatorsRoot: Root;
|
|
60
60
|
earliestAvailableSlot: Slot;
|
|
61
|
-
readonly executionEngine:
|
|
61
|
+
readonly executionEngine: ForkChoiceExecutionEngine;
|
|
62
62
|
readonly executionBuilder?: IExecutionBuilder;
|
|
63
63
|
readonly builderCircuitBreaker: BuilderCircuitBreaker;
|
|
64
64
|
readonly builderApiClient: BuilderApiClient;
|
|
@@ -86,6 +86,7 @@ export interface IBeaconChain {
|
|
|
86
86
|
readonly executionPayloadBidPool: ExecutionPayloadBidPool;
|
|
87
87
|
readonly payloadAttestationPool: PayloadAttestationPool;
|
|
88
88
|
readonly proposerPreferencesPool: ProposerPreferencesPool;
|
|
89
|
+
readonly inclusionListStore: InclusionListStore;
|
|
89
90
|
readonly opPool: OpPool;
|
|
90
91
|
readonly deferredVoluntaryExitPool: DeferredVoluntaryExitPool;
|
|
91
92
|
readonly seenAttesters: SeenAttesters;
|