@lodestar/beacon-node 1.35.0-dev.fcf8d024ea → 1.35.0-dev.feed916580
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/config/constants.d.ts +0 -5
- package/lib/api/impl/config/constants.js +1 -6
- package/lib/api/impl/config/constants.js.map +1 -1
- package/lib/api/impl/validator/index.js +3 -5
- package/lib/api/impl/validator/index.js.map +1 -1
- package/lib/chain/archiveStore/historicalState/historicalStateRegen.js +0 -1
- package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
- package/lib/chain/archiveStore/historicalState/worker.js +1 -1
- package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
- package/lib/chain/blocks/blockInput/blockInput.js +1 -1
- package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
- package/lib/chain/blocks/importBlock.js +3 -4
- package/lib/chain/blocks/importBlock.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksDataAvailability.js +1 -8
- package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
- package/lib/chain/blocks/writeBlockInputToDb.js +7 -1
- package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
- package/lib/chain/bls/multithread/index.js +0 -1
- package/lib/chain/bls/multithread/index.js.map +1 -1
- package/lib/chain/chain.js +3 -2
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/emitter.d.ts +2 -2
- package/lib/chain/opPools/attestationPool.d.ts +3 -2
- package/lib/chain/opPools/attestationPool.js +5 -3
- package/lib/chain/opPools/attestationPool.js.map +1 -1
- package/lib/chain/opPools/syncCommitteeMessagePool.d.ts +2 -3
- package/lib/chain/opPools/syncCommitteeMessagePool.js +5 -6
- package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
- package/lib/chain/opPools/types.d.ts +1 -1
- package/lib/chain/opPools/types.js +1 -1
- package/lib/chain/opPools/types.js.map +1 -1
- package/lib/chain/prepareNextSlot.d.ts +3 -3
- package/lib/chain/prepareNextSlot.js +8 -8
- package/lib/chain/prepareNextSlot.js.map +1 -1
- package/lib/chain/stateCache/persistentCheckpointsCache.js +8 -9
- package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
- package/lib/chain/validation/lightClientFinalityUpdate.js +3 -4
- package/lib/chain/validation/lightClientFinalityUpdate.js.map +1 -1
- package/lib/chain/validation/lightClientOptimisticUpdate.d.ts +4 -6
- package/lib/chain/validation/lightClientOptimisticUpdate.js +11 -11
- package/lib/chain/validation/lightClientOptimisticUpdate.js.map +1 -1
- package/lib/chain/validatorMonitor.js +14 -20
- package/lib/chain/validatorMonitor.js.map +1 -1
- package/lib/db/buckets.d.ts +4 -4
- package/lib/db/buckets.js +4 -4
- package/lib/db/buckets.js.map +1 -1
- package/lib/db/repositories/blobSidecars.js +1 -1
- package/lib/db/repositories/blobSidecars.js.map +1 -1
- package/lib/db/repositories/blobSidecarsArchive.js +1 -1
- package/lib/db/repositories/blobSidecarsArchive.js.map +1 -1
- package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
- package/lib/db/repositories/dataColumnSidecar.js +1 -1
- package/lib/db/repositories/dataColumnSidecar.js.map +1 -1
- package/lib/db/repositories/dataColumnSidecarArchive.js +1 -1
- package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
- package/lib/metrics/metrics/lodestar.d.ts +1 -1
- package/lib/metrics/metrics/lodestar.js +3 -3
- package/lib/metrics/metrics/lodestar.js.map +1 -1
- package/lib/network/core/networkCoreWorkerHandler.js +3 -9
- package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
- package/lib/network/discv5/index.js +1 -4
- package/lib/network/discv5/index.js.map +1 -1
- package/lib/network/gossip/gossipsub.d.ts +0 -1
- package/lib/network/gossip/gossipsub.js +16 -35
- package/lib/network/gossip/gossipsub.js.map +1 -1
- package/lib/network/gossip/metrics.d.ts +7 -15
- package/lib/network/gossip/metrics.js +6 -16
- package/lib/network/gossip/metrics.js.map +1 -1
- package/lib/network/libp2p/index.js +1 -9
- package/lib/network/libp2p/index.js.map +1 -1
- package/lib/network/metadata.js +1 -2
- package/lib/network/metadata.js.map +1 -1
- package/lib/network/network.d.ts +1 -1
- package/lib/network/network.js +13 -11
- package/lib/network/network.js.map +1 -1
- package/lib/network/peers/datastore.d.ts +2 -2
- package/lib/network/peers/datastore.js +2 -2
- package/lib/network/peers/datastore.js.map +1 -1
- package/lib/network/processor/index.d.ts +1 -1
- package/lib/network/processor/index.js +3 -2
- package/lib/network/processor/index.js.map +1 -1
- package/lib/sync/types.d.ts +1 -0
- package/lib/sync/types.js.map +1 -1
- package/lib/sync/unknownBlock.d.ts +1 -0
- package/lib/sync/unknownBlock.js +19 -17
- package/lib/sync/unknownBlock.js.map +1 -1
- package/lib/sync/utils/downloadByRoot.d.ts +1 -3
- package/lib/sync/utils/downloadByRoot.js +9 -36
- package/lib/sync/utils/downloadByRoot.js.map +1 -1
- package/lib/util/blobs.js +3 -5
- package/lib/util/blobs.js.map +1 -1
- package/lib/util/clock.d.ts +0 -5
- package/lib/util/clock.js +0 -3
- package/lib/util/clock.js.map +1 -1
- package/lib/util/dataColumns.js +1 -1
- package/lib/util/dataColumns.js.map +1 -1
- package/lib/util/execution.js +2 -19
- package/lib/util/execution.js.map +1 -1
- package/package.json +22 -32
- package/lib/api/impl/api.d.ts.map +0 -1
- package/lib/api/impl/beacon/blocks/index.d.ts.map +0 -1
- package/lib/api/impl/beacon/blocks/utils.d.ts.map +0 -1
- package/lib/api/impl/beacon/index.d.ts.map +0 -1
- package/lib/api/impl/beacon/pool/index.d.ts.map +0 -1
- package/lib/api/impl/beacon/rewards/index.d.ts.map +0 -1
- package/lib/api/impl/beacon/state/index.d.ts.map +0 -1
- package/lib/api/impl/beacon/state/utils.d.ts.map +0 -1
- package/lib/api/impl/config/constants.d.ts.map +0 -1
- package/lib/api/impl/config/index.d.ts.map +0 -1
- package/lib/api/impl/debug/index.d.ts.map +0 -1
- package/lib/api/impl/errors.d.ts.map +0 -1
- package/lib/api/impl/events/index.d.ts.map +0 -1
- package/lib/api/impl/index.d.ts.map +0 -1
- package/lib/api/impl/lightclient/index.d.ts.map +0 -1
- package/lib/api/impl/lodestar/index.d.ts.map +0 -1
- package/lib/api/impl/node/index.d.ts.map +0 -1
- package/lib/api/impl/node/utils.d.ts.map +0 -1
- package/lib/api/impl/proof/index.d.ts.map +0 -1
- package/lib/api/impl/types.d.ts.map +0 -1
- package/lib/api/impl/utils.d.ts.map +0 -1
- package/lib/api/impl/validator/index.d.ts.map +0 -1
- package/lib/api/impl/validator/utils.d.ts.map +0 -1
- package/lib/api/index.d.ts.map +0 -1
- package/lib/api/options.d.ts.map +0 -1
- package/lib/api/rest/activeSockets.d.ts.map +0 -1
- package/lib/api/rest/base.d.ts.map +0 -1
- package/lib/api/rest/index.d.ts.map +0 -1
- package/lib/api/rest/swaggerUI.d.ts.map +0 -1
- package/lib/bun-wrappers/prometheus-gc-stats.d.ts.map +0 -1
- package/lib/chain/ColumnReconstructionTracker.d.ts.map +0 -1
- package/lib/chain/GetBlobsTracker.d.ts.map +0 -1
- package/lib/chain/archiveStore/archiveStore.d.ts.map +0 -1
- package/lib/chain/archiveStore/constants.d.ts.map +0 -1
- package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +0 -1
- package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +0 -1
- package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +0 -1
- package/lib/chain/archiveStore/historicalState/types.d.ts.map +0 -1
- package/lib/chain/archiveStore/historicalState/worker.d.ts.map +0 -1
- package/lib/chain/archiveStore/index.d.ts.map +0 -1
- package/lib/chain/archiveStore/interface.d.ts.map +0 -1
- package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +0 -1
- package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +0 -1
- package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +0 -1
- package/lib/chain/archiveStore/utils/updateBackfillRange.d.ts.map +0 -1
- package/lib/chain/balancesCache.d.ts.map +0 -1
- package/lib/chain/beaconProposerCache.d.ts.map +0 -1
- package/lib/chain/blocks/blockInput/blockInput.d.ts.map +0 -1
- package/lib/chain/blocks/blockInput/errors.d.ts.map +0 -1
- package/lib/chain/blocks/blockInput/index.d.ts.map +0 -1
- package/lib/chain/blocks/blockInput/types.d.ts.map +0 -1
- package/lib/chain/blocks/blockInput/utils.d.ts.map +0 -1
- package/lib/chain/blocks/importBlock.d.ts.map +0 -1
- package/lib/chain/blocks/index.d.ts.map +0 -1
- package/lib/chain/blocks/types.d.ts.map +0 -1
- package/lib/chain/blocks/utils/blowfishBanner.d.ts.map +0 -1
- package/lib/chain/blocks/utils/chainSegment.d.ts.map +0 -1
- package/lib/chain/blocks/utils/checkpoint.d.ts.map +0 -1
- package/lib/chain/blocks/utils/giraffeBanner.d.ts.map +0 -1
- package/lib/chain/blocks/utils/ownBanner.d.ts.map +0 -1
- package/lib/chain/blocks/utils/pandaMergeTransitionBanner.d.ts.map +0 -1
- package/lib/chain/blocks/utils/zebraBanner.d.ts.map +0 -1
- package/lib/chain/blocks/verifyBlock.d.ts.map +0 -1
- package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +0 -1
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +0 -1
- package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +0 -1
- package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +0 -1
- package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +0 -1
- package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +0 -1
- package/lib/chain/bls/index.d.ts.map +0 -1
- package/lib/chain/bls/interface.d.ts.map +0 -1
- package/lib/chain/bls/maybeBatch.d.ts.map +0 -1
- package/lib/chain/bls/multithread/index.d.ts.map +0 -1
- package/lib/chain/bls/multithread/jobItem.d.ts.map +0 -1
- package/lib/chain/bls/multithread/poolSize.d.ts.map +0 -1
- package/lib/chain/bls/multithread/types.d.ts.map +0 -1
- package/lib/chain/bls/multithread/utils.d.ts.map +0 -1
- package/lib/chain/bls/multithread/worker.d.ts.map +0 -1
- package/lib/chain/bls/singleThread.d.ts.map +0 -1
- package/lib/chain/bls/utils.d.ts.map +0 -1
- package/lib/chain/chain.d.ts.map +0 -1
- package/lib/chain/emitter.d.ts.map +0 -1
- package/lib/chain/errors/attestationError.d.ts.map +0 -1
- package/lib/chain/errors/attesterSlashingError.d.ts.map +0 -1
- package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
- package/lib/chain/errors/blockError.d.ts.map +0 -1
- package/lib/chain/errors/blsToExecutionChangeError.d.ts.map +0 -1
- package/lib/chain/errors/dataColumnSidecarError.d.ts.map +0 -1
- package/lib/chain/errors/gossipValidation.d.ts.map +0 -1
- package/lib/chain/errors/index.d.ts.map +0 -1
- package/lib/chain/errors/lightClientError.d.ts.map +0 -1
- package/lib/chain/errors/proposerSlashingError.d.ts.map +0 -1
- package/lib/chain/errors/syncCommitteeError.d.ts.map +0 -1
- package/lib/chain/errors/voluntaryExitError.d.ts.map +0 -1
- package/lib/chain/forkChoice/index.d.ts.map +0 -1
- package/lib/chain/genesis/genesis.d.ts.map +0 -1
- package/lib/chain/genesis/interface.d.ts.map +0 -1
- package/lib/chain/index.d.ts.map +0 -1
- package/lib/chain/initState.d.ts.map +0 -1
- package/lib/chain/interface.d.ts.map +0 -1
- package/lib/chain/lightClient/index.d.ts.map +0 -1
- package/lib/chain/lightClient/proofs.d.ts.map +0 -1
- package/lib/chain/lightClient/types.d.ts.map +0 -1
- package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +0 -1
- package/lib/chain/opPools/attestationPool.d.ts.map +0 -1
- package/lib/chain/opPools/index.d.ts.map +0 -1
- package/lib/chain/opPools/opPool.d.ts.map +0 -1
- package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +0 -1
- package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +0 -1
- package/lib/chain/opPools/types.d.ts.map +0 -1
- package/lib/chain/opPools/utils.d.ts.map +0 -1
- package/lib/chain/options.d.ts.map +0 -1
- package/lib/chain/prepareNextSlot.d.ts.map +0 -1
- package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +0 -1
- package/lib/chain/produceBlock/index.d.ts.map +0 -1
- package/lib/chain/produceBlock/produceBlockBody.d.ts.map +0 -1
- package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts.map +0 -1
- package/lib/chain/regen/errors.d.ts.map +0 -1
- package/lib/chain/regen/index.d.ts.map +0 -1
- package/lib/chain/regen/interface.d.ts.map +0 -1
- package/lib/chain/regen/queued.d.ts.map +0 -1
- package/lib/chain/regen/regen.d.ts.map +0 -1
- package/lib/chain/reprocess.d.ts.map +0 -1
- package/lib/chain/rewards/attestationsRewards.d.ts.map +0 -1
- package/lib/chain/rewards/blockRewards.d.ts.map +0 -1
- package/lib/chain/rewards/syncCommitteeRewards.d.ts.map +0 -1
- package/lib/chain/seenCache/index.d.ts.map +0 -1
- package/lib/chain/seenCache/seenAggregateAndProof.d.ts.map +0 -1
- package/lib/chain/seenCache/seenAttestationData.d.ts.map +0 -1
- package/lib/chain/seenCache/seenAttesters.d.ts.map +0 -1
- package/lib/chain/seenCache/seenBlockAttesters.d.ts.map +0 -1
- package/lib/chain/seenCache/seenBlockProposers.d.ts.map +0 -1
- package/lib/chain/seenCache/seenCommittee.d.ts.map +0 -1
- package/lib/chain/seenCache/seenCommitteeContribution.d.ts.map +0 -1
- package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +0 -1
- package/lib/chain/serializeState.d.ts.map +0 -1
- package/lib/chain/shufflingCache.d.ts.map +0 -1
- package/lib/chain/stateCache/blockStateCacheImpl.d.ts.map +0 -1
- package/lib/chain/stateCache/datastore/db.d.ts.map +0 -1
- package/lib/chain/stateCache/datastore/file.d.ts.map +0 -1
- package/lib/chain/stateCache/datastore/index.d.ts.map +0 -1
- package/lib/chain/stateCache/datastore/types.d.ts.map +0 -1
- package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +0 -1
- package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts.map +0 -1
- package/lib/chain/stateCache/index.d.ts.map +0 -1
- package/lib/chain/stateCache/mapMetrics.d.ts.map +0 -1
- package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +0 -1
- package/lib/chain/stateCache/types.d.ts.map +0 -1
- package/lib/chain/validation/aggregateAndProof.d.ts.map +0 -1
- package/lib/chain/validation/attestation.d.ts.map +0 -1
- package/lib/chain/validation/attesterSlashing.d.ts.map +0 -1
- package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
- package/lib/chain/validation/block.d.ts.map +0 -1
- package/lib/chain/validation/blsToExecutionChange.d.ts.map +0 -1
- package/lib/chain/validation/dataColumnSidecar.d.ts.map +0 -1
- package/lib/chain/validation/index.d.ts.map +0 -1
- package/lib/chain/validation/lightClientFinalityUpdate.d.ts.map +0 -1
- package/lib/chain/validation/lightClientOptimisticUpdate.d.ts.map +0 -1
- package/lib/chain/validation/proposerSlashing.d.ts.map +0 -1
- package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts.map +0 -1
- package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +0 -1
- package/lib/chain/validation/signatureSets/index.d.ts.map +0 -1
- package/lib/chain/validation/signatureSets/selectionProof.d.ts.map +0 -1
- package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +0 -1
- package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +0 -1
- package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +0 -1
- package/lib/chain/validation/syncCommittee.d.ts.map +0 -1
- package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +0 -1
- package/lib/chain/validation/voluntaryExit.d.ts.map +0 -1
- package/lib/chain/validatorMonitor.d.ts.map +0 -1
- package/lib/constants/constants.d.ts.map +0 -1
- package/lib/constants/index.d.ts.map +0 -1
- package/lib/constants/network.d.ts.map +0 -1
- package/lib/db/beacon.d.ts.map +0 -1
- package/lib/db/buckets.d.ts.map +0 -1
- package/lib/db/index.d.ts.map +0 -1
- package/lib/db/interface.d.ts.map +0 -1
- package/lib/db/options.d.ts.map +0 -1
- package/lib/db/repositories/attesterSlashing.d.ts.map +0 -1
- package/lib/db/repositories/backfilledRanges.d.ts.map +0 -1
- package/lib/db/repositories/blobSidecars.d.ts.map +0 -1
- package/lib/db/repositories/blobSidecarsArchive.d.ts.map +0 -1
- package/lib/db/repositories/block.d.ts.map +0 -1
- package/lib/db/repositories/blockArchive.d.ts.map +0 -1
- package/lib/db/repositories/blockArchiveIndex.d.ts.map +0 -1
- package/lib/db/repositories/blsToExecutionChange.d.ts.map +0 -1
- package/lib/db/repositories/checkpointState.d.ts.map +0 -1
- package/lib/db/repositories/dataColumnSidecar.d.ts.map +0 -1
- package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +0 -1
- package/lib/db/repositories/depositDataRoot.d.ts.map +0 -1
- package/lib/db/repositories/depositEvent.d.ts.map +0 -1
- package/lib/db/repositories/eth1Data.d.ts.map +0 -1
- package/lib/db/repositories/index.d.ts.map +0 -1
- package/lib/db/repositories/lightclientBestUpdate.d.ts.map +0 -1
- package/lib/db/repositories/lightclientCheckpointHeader.d.ts.map +0 -1
- package/lib/db/repositories/lightclientSyncCommittee.d.ts.map +0 -1
- package/lib/db/repositories/lightclientSyncCommitteeWitness.d.ts.map +0 -1
- package/lib/db/repositories/proposerSlashing.d.ts.map +0 -1
- package/lib/db/repositories/stateArchive.d.ts.map +0 -1
- package/lib/db/repositories/stateArchiveIndex.d.ts.map +0 -1
- package/lib/db/repositories/voluntaryExit.d.ts.map +0 -1
- package/lib/db/single/index.d.ts.map +0 -1
- package/lib/db/single/preGenesisState.d.ts.map +0 -1
- package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts.map +0 -1
- package/lib/eth1/errors.d.ts.map +0 -1
- package/lib/eth1/eth1DataCache.d.ts.map +0 -1
- package/lib/eth1/eth1DepositDataTracker.d.ts.map +0 -1
- package/lib/eth1/eth1DepositsCache.d.ts.map +0 -1
- package/lib/eth1/eth1MergeBlockTracker.d.ts.map +0 -1
- package/lib/eth1/index.d.ts.map +0 -1
- package/lib/eth1/interface.d.ts.map +0 -1
- package/lib/eth1/options.d.ts.map +0 -1
- package/lib/eth1/provider/eth1Provider.d.ts.map +0 -1
- package/lib/eth1/provider/jsonRpcHttpClient.d.ts.map +0 -1
- package/lib/eth1/provider/jwt.d.ts.map +0 -1
- package/lib/eth1/provider/utils.d.ts.map +0 -1
- package/lib/eth1/stream.d.ts.map +0 -1
- package/lib/eth1/utils/depositContract.d.ts.map +0 -1
- package/lib/eth1/utils/deposits.d.ts.map +0 -1
- package/lib/eth1/utils/eth1Data.d.ts.map +0 -1
- package/lib/eth1/utils/eth1DepositEvent.d.ts.map +0 -1
- package/lib/eth1/utils/eth1Vote.d.ts.map +0 -1
- package/lib/eth1/utils/groupDepositEventsByBlock.d.ts.map +0 -1
- package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts.map +0 -1
- package/lib/execution/builder/cache.d.ts.map +0 -1
- package/lib/execution/builder/http.d.ts.map +0 -1
- package/lib/execution/builder/index.d.ts.map +0 -1
- package/lib/execution/builder/interface.d.ts.map +0 -1
- package/lib/execution/builder/utils.d.ts.map +0 -1
- package/lib/execution/engine/disabled.d.ts.map +0 -1
- package/lib/execution/engine/http.d.ts.map +0 -1
- package/lib/execution/engine/index.d.ts.map +0 -1
- package/lib/execution/engine/interface.d.ts.map +0 -1
- package/lib/execution/engine/mock.d.ts.map +0 -1
- package/lib/execution/engine/payloadIdCache.d.ts.map +0 -1
- package/lib/execution/engine/types.d.ts.map +0 -1
- package/lib/execution/engine/utils.d.ts.map +0 -1
- package/lib/execution/index.d.ts.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/metrics/index.d.ts.map +0 -1
- package/lib/metrics/metrics/beacon.d.ts.map +0 -1
- package/lib/metrics/metrics/lodestar.d.ts.map +0 -1
- package/lib/metrics/metrics.d.ts.map +0 -1
- package/lib/metrics/nodeJsMetrics.d.ts.map +0 -1
- package/lib/metrics/options.d.ts.map +0 -1
- package/lib/metrics/server/http.d.ts.map +0 -1
- package/lib/metrics/server/index.d.ts.map +0 -1
- package/lib/metrics/utils/avgMinMax.d.ts.map +0 -1
- package/lib/metrics/utils/gauge.d.ts.map +0 -1
- package/lib/metrics/utils/registryMetricCreator.d.ts.map +0 -1
- package/lib/monitoring/clientStats.d.ts.map +0 -1
- package/lib/monitoring/index.d.ts.map +0 -1
- package/lib/monitoring/options.d.ts.map +0 -1
- package/lib/monitoring/properties.d.ts.map +0 -1
- package/lib/monitoring/service.d.ts.map +0 -1
- package/lib/monitoring/system.d.ts.map +0 -1
- package/lib/monitoring/types.d.ts.map +0 -1
- package/lib/network/core/events.d.ts.map +0 -1
- package/lib/network/core/index.d.ts.map +0 -1
- package/lib/network/core/metrics.d.ts.map +0 -1
- package/lib/network/core/networkCore.d.ts.map +0 -1
- package/lib/network/core/networkCoreWorker.d.ts.map +0 -1
- package/lib/network/core/networkCoreWorkerHandler.d.ts.map +0 -1
- package/lib/network/core/types.d.ts.map +0 -1
- package/lib/network/discv5/index.d.ts.map +0 -1
- package/lib/network/discv5/types.d.ts.map +0 -1
- package/lib/network/discv5/utils.d.ts.map +0 -1
- package/lib/network/discv5/worker.d.ts.map +0 -1
- package/lib/network/events.d.ts.map +0 -1
- package/lib/network/forks.d.ts.map +0 -1
- package/lib/network/gossip/constants.d.ts.map +0 -1
- package/lib/network/gossip/encoding.d.ts.map +0 -1
- package/lib/network/gossip/errors.d.ts.map +0 -1
- package/lib/network/gossip/gossipsub.d.ts.map +0 -1
- package/lib/network/gossip/index.d.ts.map +0 -1
- package/lib/network/gossip/interface.d.ts.map +0 -1
- package/lib/network/gossip/metrics.d.ts.map +0 -1
- package/lib/network/gossip/scoringParameters.d.ts.map +0 -1
- package/lib/network/gossip/topic.d.ts.map +0 -1
- package/lib/network/index.d.ts.map +0 -1
- package/lib/network/interface.d.ts.map +0 -1
- package/lib/network/libp2p/error.d.ts.map +0 -1
- package/lib/network/libp2p/index.d.ts.map +0 -1
- package/lib/network/metadata.d.ts.map +0 -1
- package/lib/network/network.d.ts.map +0 -1
- package/lib/network/networkConfig.d.ts.map +0 -1
- package/lib/network/options.d.ts.map +0 -1
- package/lib/network/peers/client.d.ts.map +0 -1
- package/lib/network/peers/datastore.d.ts.map +0 -1
- package/lib/network/peers/discover.d.ts.map +0 -1
- package/lib/network/peers/index.d.ts.map +0 -1
- package/lib/network/peers/peerManager.d.ts.map +0 -1
- package/lib/network/peers/peersData.d.ts.map +0 -1
- package/lib/network/peers/score/constants.d.ts.map +0 -1
- package/lib/network/peers/score/index.d.ts.map +0 -1
- package/lib/network/peers/score/interface.d.ts.map +0 -1
- package/lib/network/peers/score/score.d.ts.map +0 -1
- package/lib/network/peers/score/store.d.ts.map +0 -1
- package/lib/network/peers/score/utils.d.ts.map +0 -1
- package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +0 -1
- package/lib/network/peers/utils/enrSubnetsDeserialize.d.ts.map +0 -1
- package/lib/network/peers/utils/getConnectedPeerIds.d.ts.map +0 -1
- package/lib/network/peers/utils/index.d.ts.map +0 -1
- package/lib/network/peers/utils/prioritizePeers.d.ts.map +0 -1
- package/lib/network/peers/utils/subnetMap.d.ts.map +0 -1
- package/lib/network/processor/aggregatorTracker.d.ts.map +0 -1
- package/lib/network/processor/extractSlotRootFns.d.ts.map +0 -1
- package/lib/network/processor/gossipHandlers.d.ts.map +0 -1
- package/lib/network/processor/gossipQueues/index.d.ts.map +0 -1
- package/lib/network/processor/gossipQueues/indexed.d.ts.map +0 -1
- package/lib/network/processor/gossipQueues/linear.d.ts.map +0 -1
- package/lib/network/processor/gossipQueues/types.d.ts.map +0 -1
- package/lib/network/processor/gossipValidatorFn.d.ts.map +0 -1
- package/lib/network/processor/index.d.ts.map +0 -1
- package/lib/network/processor/types.d.ts.map +0 -1
- package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +0 -1
- package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +0 -1
- package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts.map +0 -1
- package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
- package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +0 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +0 -1
- package/lib/network/reqresp/handlers/index.d.ts.map +0 -1
- package/lib/network/reqresp/handlers/lightClientBootstrap.d.ts.map +0 -1
- package/lib/network/reqresp/handlers/lightClientFinalityUpdate.d.ts.map +0 -1
- package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.d.ts.map +0 -1
- package/lib/network/reqresp/handlers/lightClientUpdatesByRange.d.ts.map +0 -1
- package/lib/network/reqresp/index.d.ts.map +0 -1
- package/lib/network/reqresp/interface.d.ts.map +0 -1
- package/lib/network/reqresp/protocols.d.ts.map +0 -1
- package/lib/network/reqresp/rateLimit.d.ts.map +0 -1
- package/lib/network/reqresp/score.d.ts.map +0 -1
- package/lib/network/reqresp/types.d.ts.map +0 -1
- package/lib/network/reqresp/utils/collect.d.ts.map +0 -1
- package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts.map +0 -1
- package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +0 -1
- package/lib/network/statusCache.d.ts.map +0 -1
- package/lib/network/subnets/attnetsService.d.ts.map +0 -1
- package/lib/network/subnets/index.d.ts.map +0 -1
- package/lib/network/subnets/interface.d.ts.map +0 -1
- package/lib/network/subnets/syncnetsService.d.ts.map +0 -1
- package/lib/network/subnets/util.d.ts.map +0 -1
- package/lib/network/util.d.ts.map +0 -1
- package/lib/node/index.d.ts.map +0 -1
- package/lib/node/nodejs.d.ts.map +0 -1
- package/lib/node/notifier.d.ts.map +0 -1
- package/lib/node/options.d.ts.map +0 -1
- package/lib/node/utils/interop/deposits.d.ts.map +0 -1
- package/lib/node/utils/interop/state.d.ts.map +0 -1
- package/lib/node/utils/lightclient.d.ts.map +0 -1
- package/lib/node/utils/state.d.ts.map +0 -1
- package/lib/sync/backfill/backfill.d.ts.map +0 -1
- package/lib/sync/backfill/errors.d.ts.map +0 -1
- package/lib/sync/backfill/index.d.ts.map +0 -1
- package/lib/sync/backfill/verify.d.ts.map +0 -1
- package/lib/sync/constants.d.ts.map +0 -1
- package/lib/sync/index.d.ts.map +0 -1
- package/lib/sync/interface.d.ts.map +0 -1
- package/lib/sync/options.d.ts.map +0 -1
- package/lib/sync/range/batch.d.ts.map +0 -1
- package/lib/sync/range/chain.d.ts.map +0 -1
- package/lib/sync/range/range.d.ts.map +0 -1
- package/lib/sync/range/utils/batches.d.ts.map +0 -1
- package/lib/sync/range/utils/chainTarget.d.ts.map +0 -1
- package/lib/sync/range/utils/hashBlocks.d.ts.map +0 -1
- package/lib/sync/range/utils/index.d.ts.map +0 -1
- package/lib/sync/range/utils/peerBalancer.d.ts.map +0 -1
- package/lib/sync/range/utils/updateChains.d.ts.map +0 -1
- package/lib/sync/sync.d.ts.map +0 -1
- package/lib/sync/types.d.ts.map +0 -1
- package/lib/sync/unknownBlock.d.ts.map +0 -1
- package/lib/sync/utils/downloadByRange.d.ts.map +0 -1
- package/lib/sync/utils/downloadByRoot.d.ts.map +0 -1
- package/lib/sync/utils/pendingBlocksTree.d.ts.map +0 -1
- package/lib/sync/utils/remoteSyncType.d.ts.map +0 -1
- package/lib/util/address.d.ts.map +0 -1
- package/lib/util/array.d.ts.map +0 -1
- package/lib/util/asyncIterableToEvents.d.ts.map +0 -1
- package/lib/util/binarySearch.d.ts.map +0 -1
- package/lib/util/bitArray.d.ts.map +0 -1
- package/lib/util/blobs.d.ts.map +0 -1
- package/lib/util/bufferPool.d.ts.map +0 -1
- package/lib/util/bytes.d.ts.map +0 -1
- package/lib/util/chunkify.d.ts.map +0 -1
- package/lib/util/clock.d.ts.map +0 -1
- package/lib/util/dataColumns.d.ts.map +0 -1
- package/lib/util/dependentRoot.d.ts.map +0 -1
- package/lib/util/enum.d.ts.map +0 -1
- package/lib/util/error.d.ts.map +0 -1
- package/lib/util/eventLoop.d.ts.map +0 -1
- package/lib/util/execution.d.ts.map +0 -1
- package/lib/util/file.d.ts.map +0 -1
- package/lib/util/forkChoice.d.ts.map +0 -1
- package/lib/util/forkName.d.ts.map +0 -1
- package/lib/util/graffiti.d.ts.map +0 -1
- package/lib/util/hex.d.ts.map +0 -1
- package/lib/util/index.d.ts.map +0 -1
- package/lib/util/ip.d.ts.map +0 -1
- package/lib/util/itTrigger.d.ts.map +0 -1
- package/lib/util/kzg.d.ts.map +0 -1
- package/lib/util/map.d.ts.map +0 -1
- package/lib/util/metadata.d.ts.map +0 -1
- package/lib/util/multifork.d.ts.map +0 -1
- package/lib/util/numpy.d.ts.map +0 -1
- package/lib/util/peerId.d.ts.map +0 -1
- package/lib/util/profile.d.ts.map +0 -1
- package/lib/util/promises.d.ts.map +0 -1
- package/lib/util/queue/errors.d.ts.map +0 -1
- package/lib/util/queue/fnQueue.d.ts.map +0 -1
- package/lib/util/queue/index.d.ts.map +0 -1
- package/lib/util/queue/itemQueue.d.ts.map +0 -1
- package/lib/util/queue/options.d.ts.map +0 -1
- package/lib/util/serializedCache.d.ts.map +0 -1
- package/lib/util/set.d.ts.map +0 -1
- package/lib/util/shuffle.d.ts.map +0 -1
- package/lib/util/sortBy.d.ts.map +0 -1
- package/lib/util/sszBytes.d.ts.map +0 -1
- package/lib/util/strictEvents.d.ts.map +0 -1
- package/lib/util/time.d.ts.map +0 -1
- package/lib/util/timeSeries.d.ts.map +0 -1
- package/lib/util/types.d.ts.map +0 -1
- package/lib/util/workerEvents.d.ts.map +0 -1
- package/lib/util/wrapError.d.ts.map +0 -1
- package/src/api/impl/api.ts +0 -26
- package/src/api/impl/beacon/blocks/index.ts +0 -744
- package/src/api/impl/beacon/blocks/utils.ts +0 -75
- package/src/api/impl/beacon/index.ts +0 -35
- package/src/api/impl/beacon/pool/index.ts +0 -314
- package/src/api/impl/beacon/rewards/index.ts +0 -30
- package/src/api/impl/beacon/state/index.ts +0 -406
- package/src/api/impl/beacon/state/utils.ts +0 -189
- package/src/api/impl/config/constants.ts +0 -127
- package/src/api/impl/config/index.ts +0 -59
- package/src/api/impl/debug/index.ts +0 -131
- package/src/api/impl/errors.ts +0 -50
- package/src/api/impl/events/index.ts +0 -33
- package/src/api/impl/index.ts +0 -6
- package/src/api/impl/lightclient/index.ts +0 -64
- package/src/api/impl/lodestar/index.ts +0 -257
- package/src/api/impl/node/index.ts +0 -88
- package/src/api/impl/node/utils.ts +0 -51
- package/src/api/impl/proof/index.ts +0 -60
- package/src/api/impl/types.ts +0 -17
- package/src/api/impl/utils.ts +0 -25
- package/src/api/impl/validator/index.ts +0 -1540
- package/src/api/impl/validator/utils.ts +0 -85
- package/src/api/index.ts +0 -2
- package/src/api/options.ts +0 -16
- package/src/api/rest/activeSockets.ts +0 -109
- package/src/api/rest/base.ts +0 -216
- package/src/api/rest/index.ts +0 -63
- package/src/api/rest/swaggerUI.ts +0 -80
- package/src/bun-wrappers/prometheus-gc-stats.ts +0 -7
- package/src/chain/ColumnReconstructionTracker.ts +0 -90
- package/src/chain/GetBlobsTracker.ts +0 -115
- package/src/chain/archiveStore/archiveStore.ts +0 -222
- package/src/chain/archiveStore/constants.ts +0 -5
- package/src/chain/archiveStore/historicalState/getHistoricalState.ts +0 -116
- package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +0 -68
- package/src/chain/archiveStore/historicalState/metrics.ts +0 -214
- package/src/chain/archiveStore/historicalState/types.ts +0 -41
- package/src/chain/archiveStore/historicalState/worker.ts +0 -77
- package/src/chain/archiveStore/index.ts +0 -3
- package/src/chain/archiveStore/interface.ts +0 -75
- package/src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts +0 -138
- package/src/chain/archiveStore/utils/archiveBlocks.ts +0 -437
- package/src/chain/archiveStore/utils/pruneHistory.ts +0 -56
- package/src/chain/archiveStore/utils/updateBackfillRange.ts +0 -50
- package/src/chain/balancesCache.ts +0 -52
- package/src/chain/beaconProposerCache.ts +0 -43
- package/src/chain/blocks/blockInput/blockInput.ts +0 -852
- package/src/chain/blocks/blockInput/errors.ts +0 -48
- package/src/chain/blocks/blockInput/index.ts +0 -4
- package/src/chain/blocks/blockInput/types.ts +0 -145
- package/src/chain/blocks/blockInput/utils.ts +0 -21
- package/src/chain/blocks/importBlock.ts +0 -597
- package/src/chain/blocks/index.ts +0 -179
- package/src/chain/blocks/types.ts +0 -101
- package/src/chain/blocks/utils/blowfishBanner.ts +0 -28
- package/src/chain/blocks/utils/chainSegment.ts +0 -29
- package/src/chain/blocks/utils/checkpoint.ts +0 -25
- package/src/chain/blocks/utils/giraffeBanner.ts +0 -30
- package/src/chain/blocks/utils/ownBanner.ts +0 -20
- package/src/chain/blocks/utils/pandaMergeTransitionBanner.ts +0 -43
- package/src/chain/blocks/utils/zebraBanner.ts +0 -45
- package/src/chain/blocks/verifyBlock.ts +0 -242
- package/src/chain/blocks/verifyBlocksDataAvailability.ts +0 -42
- package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +0 -438
- package/src/chain/blocks/verifyBlocksSanityChecks.ts +0 -129
- package/src/chain/blocks/verifyBlocksSignatures.ts +0 -105
- package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +0 -114
- package/src/chain/blocks/writeBlockInputToDb.ts +0 -120
- package/src/chain/bls/index.ts +0 -4
- package/src/chain/bls/interface.ts +0 -68
- package/src/chain/bls/maybeBatch.ts +0 -45
- package/src/chain/bls/multithread/index.ts +0 -582
- package/src/chain/bls/multithread/jobItem.ts +0 -119
- package/src/chain/bls/multithread/poolSize.ts +0 -16
- package/src/chain/bls/multithread/types.ts +0 -38
- package/src/chain/bls/multithread/utils.ts +0 -19
- package/src/chain/bls/multithread/worker.ts +0 -114
- package/src/chain/bls/singleThread.ts +0 -87
- package/src/chain/bls/utils.ts +0 -30
- package/src/chain/chain.ts +0 -1354
- package/src/chain/emitter.ts +0 -113
- package/src/chain/errors/attestationError.ts +0 -194
- package/src/chain/errors/attesterSlashingError.ts +0 -11
- package/src/chain/errors/blobSidecarError.ts +0 -60
- package/src/chain/errors/blockError.ts +0 -166
- package/src/chain/errors/blsToExecutionChangeError.ts +0 -13
- package/src/chain/errors/dataColumnSidecarError.ts +0 -80
- package/src/chain/errors/gossipValidation.ts +0 -20
- package/src/chain/errors/index.ts +0 -10
- package/src/chain/errors/lightClientError.ts +0 -30
- package/src/chain/errors/proposerSlashingError.ts +0 -11
- package/src/chain/errors/syncCommitteeError.ts +0 -36
- package/src/chain/errors/voluntaryExitError.ts +0 -13
- package/src/chain/forkChoice/index.ts +0 -112
- package/src/chain/genesis/genesis.ts +0 -190
- package/src/chain/genesis/interface.ts +0 -14
- package/src/chain/index.ts +0 -6
- package/src/chain/initState.ts +0 -221
- package/src/chain/interface.ts +0 -280
- package/src/chain/lightClient/index.ts +0 -764
- package/src/chain/lightClient/proofs.ts +0 -85
- package/src/chain/lightClient/types.ts +0 -33
- package/src/chain/opPools/aggregatedAttestationPool.ts +0 -1063
- package/src/chain/opPools/attestationPool.ts +0 -282
- package/src/chain/opPools/index.ts +0 -5
- package/src/chain/opPools/opPool.ts +0 -462
- package/src/chain/opPools/syncCommitteeMessagePool.ts +0 -169
- package/src/chain/opPools/syncContributionAndProofPool.ts +0 -240
- package/src/chain/opPools/types.ts +0 -35
- package/src/chain/opPools/utils.ts +0 -65
- package/src/chain/options.ts +0 -138
- package/src/chain/prepareNextSlot.ts +0 -277
- package/src/chain/produceBlock/computeNewStateRoot.ts +0 -55
- package/src/chain/produceBlock/index.ts +0 -2
- package/src/chain/produceBlock/produceBlockBody.ts +0 -797
- package/src/chain/produceBlock/validateBlobsAndKzgCommitments.ts +0 -54
- package/src/chain/regen/errors.ts +0 -30
- package/src/chain/regen/index.ts +0 -4
- package/src/chain/regen/interface.ts +0 -93
- package/src/chain/regen/queued.ts +0 -317
- package/src/chain/regen/regen.ts +0 -424
- package/src/chain/reprocess.ts +0 -161
- package/src/chain/rewards/attestationsRewards.ts +0 -196
- package/src/chain/rewards/blockRewards.ts +0 -150
- package/src/chain/rewards/syncCommitteeRewards.ts +0 -58
- package/src/chain/seenCache/index.ts +0 -5
- package/src/chain/seenCache/seenAggregateAndProof.ts +0 -120
- package/src/chain/seenCache/seenAttestationData.ts +0 -145
- package/src/chain/seenCache/seenAttesters.ts +0 -58
- package/src/chain/seenCache/seenBlockAttesters.ts +0 -18
- package/src/chain/seenCache/seenBlockProposers.ts +0 -48
- package/src/chain/seenCache/seenCommittee.ts +0 -43
- package/src/chain/seenCache/seenCommitteeContribution.ts +0 -104
- package/src/chain/seenCache/seenGossipBlockInput.ts +0 -373
- package/src/chain/serializeState.ts +0 -32
- package/src/chain/shufflingCache.ts +0 -238
- package/src/chain/stateCache/blockStateCacheImpl.ts +0 -150
- package/src/chain/stateCache/datastore/db.ts +0 -36
- package/src/chain/stateCache/datastore/file.ts +0 -53
- package/src/chain/stateCache/datastore/index.ts +0 -2
- package/src/chain/stateCache/datastore/types.ts +0 -13
- package/src/chain/stateCache/fifoBlockStateCache.ts +0 -208
- package/src/chain/stateCache/inMemoryCheckpointsCache.ts +0 -198
- package/src/chain/stateCache/index.ts +0 -3
- package/src/chain/stateCache/mapMetrics.ts +0 -52
- package/src/chain/stateCache/persistentCheckpointsCache.ts +0 -837
- package/src/chain/stateCache/types.ts +0 -86
- package/src/chain/validation/aggregateAndProof.ts +0 -258
- package/src/chain/validation/attestation.ts +0 -885
- package/src/chain/validation/attesterSlashing.ts +0 -61
- package/src/chain/validation/blobSidecar.ts +0 -301
- package/src/chain/validation/block.ts +0 -188
- package/src/chain/validation/blsToExecutionChange.ts +0 -61
- package/src/chain/validation/dataColumnSidecar.ts +0 -381
- package/src/chain/validation/index.ts +0 -9
- package/src/chain/validation/lightClientFinalityUpdate.ts +0 -46
- package/src/chain/validation/lightClientOptimisticUpdate.ts +0 -68
- package/src/chain/validation/proposerSlashing.ts +0 -54
- package/src/chain/validation/signatureSets/aggregateAndProof.ts +0 -38
- package/src/chain/validation/signatureSets/contributionAndProof.ts +0 -27
- package/src/chain/validation/signatureSets/index.ts +0 -6
- package/src/chain/validation/signatureSets/selectionProof.ts +0 -27
- package/src/chain/validation/signatureSets/syncCommittee.ts +0 -22
- package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +0 -18
- package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +0 -27
- package/src/chain/validation/syncCommittee.ts +0 -165
- package/src/chain/validation/syncCommitteeContributionAndProof.ts +0 -122
- package/src/chain/validation/voluntaryExit.ts +0 -58
- package/src/chain/validatorMonitor.ts +0 -1309
- package/src/constants/constants.ts +0 -15
- package/src/constants/index.ts +0 -2
- package/src/constants/network.ts +0 -52
- package/src/db/beacon.ts +0 -113
- package/src/db/buckets.ts +0 -80
- package/src/db/index.ts +0 -2
- package/src/db/interface.ts +0 -76
- package/src/db/options.ts +0 -7
- package/src/db/repositories/attesterSlashing.ts +0 -38
- package/src/db/repositories/backfilledRanges.ts +0 -29
- package/src/db/repositories/blobSidecars.ts +0 -37
- package/src/db/repositories/blobSidecarsArchive.ts +0 -28
- package/src/db/repositories/block.ts +0 -33
- package/src/db/repositories/blockArchive.ts +0 -170
- package/src/db/repositories/blockArchiveIndex.ts +0 -45
- package/src/db/repositories/blsToExecutionChange.ts +0 -16
- package/src/db/repositories/checkpointState.ts +0 -31
- package/src/db/repositories/dataColumnSidecar.ts +0 -49
- package/src/db/repositories/dataColumnSidecarArchive.ts +0 -56
- package/src/db/repositories/depositDataRoot.ts +0 -80
- package/src/db/repositories/depositEvent.ts +0 -32
- package/src/db/repositories/eth1Data.ts +0 -33
- package/src/db/repositories/index.ts +0 -20
- package/src/db/repositories/lightclientBestUpdate.ts +0 -41
- package/src/db/repositories/lightclientCheckpointHeader.ts +0 -32
- package/src/db/repositories/lightclientSyncCommittee.ts +0 -16
- package/src/db/repositories/lightclientSyncCommitteeWitness.ts +0 -77
- package/src/db/repositories/proposerSlashing.ts +0 -15
- package/src/db/repositories/stateArchive.ts +0 -69
- package/src/db/repositories/stateArchiveIndex.ts +0 -18
- package/src/db/repositories/voluntaryExit.ts +0 -15
- package/src/db/single/index.ts +0 -2
- package/src/db/single/preGenesisState.ts +0 -37
- package/src/db/single/preGenesisStateLastProcessedBlock.ts +0 -34
- package/src/eth1/errors.ts +0 -40
- package/src/eth1/eth1DataCache.ts +0 -26
- package/src/eth1/eth1DepositDataTracker.ts +0 -410
- package/src/eth1/eth1DepositsCache.ts +0 -141
- package/src/eth1/eth1MergeBlockTracker.ts +0 -328
- package/src/eth1/index.ts +0 -157
- package/src/eth1/interface.ts +0 -131
- package/src/eth1/options.ts +0 -28
- package/src/eth1/provider/eth1Provider.ts +0 -229
- package/src/eth1/provider/jsonRpcHttpClient.ts +0 -390
- package/src/eth1/provider/jwt.ts +0 -36
- package/src/eth1/provider/utils.ts +0 -136
- package/src/eth1/stream.ts +0 -75
- package/src/eth1/utils/depositContract.ts +0 -37
- package/src/eth1/utils/deposits.ts +0 -70
- package/src/eth1/utils/eth1Data.ts +0 -100
- package/src/eth1/utils/eth1DepositEvent.ts +0 -12
- package/src/eth1/utils/eth1Vote.ts +0 -142
- package/src/eth1/utils/groupDepositEventsByBlock.ts +0 -19
- package/src/eth1/utils/optimizeNextBlockDiffForGenesis.ts +0 -18
- package/src/execution/builder/cache.ts +0 -39
- package/src/execution/builder/http.ts +0 -229
- package/src/execution/builder/index.ts +0 -27
- package/src/execution/builder/interface.ts +0 -49
- package/src/execution/builder/utils.ts +0 -19
- package/src/execution/engine/disabled.ts +0 -35
- package/src/execution/engine/http.ts +0 -644
- package/src/execution/engine/index.ts +0 -63
- package/src/execution/engine/interface.ts +0 -199
- package/src/execution/engine/mock.ts +0 -493
- package/src/execution/engine/payloadIdCache.ts +0 -54
- package/src/execution/engine/types.ts +0 -640
- package/src/execution/engine/utils.ts +0 -136
- package/src/execution/index.ts +0 -4
- package/src/index.ts +0 -20
- package/src/metrics/index.ts +0 -4
- package/src/metrics/metrics/beacon.ts +0 -390
- package/src/metrics/metrics/lodestar.ts +0 -1870
- package/src/metrics/metrics.ts +0 -43
- package/src/metrics/nodeJsMetrics.ts +0 -19
- package/src/metrics/options.ts +0 -22
- package/src/metrics/server/http.ts +0 -114
- package/src/metrics/server/index.ts +0 -1
- package/src/metrics/utils/avgMinMax.ts +0 -87
- package/src/metrics/utils/gauge.ts +0 -22
- package/src/metrics/utils/registryMetricCreator.ts +0 -41
- package/src/monitoring/clientStats.ts +0 -297
- package/src/monitoring/index.ts +0 -2
- package/src/monitoring/options.ts +0 -19
- package/src/monitoring/properties.ts +0 -152
- package/src/monitoring/service.ts +0 -235
- package/src/monitoring/system.ts +0 -146
- package/src/monitoring/types.ts +0 -21
- package/src/network/core/events.ts +0 -59
- package/src/network/core/index.ts +0 -3
- package/src/network/core/metrics.ts +0 -304
- package/src/network/core/networkCore.ts +0 -599
- package/src/network/core/networkCoreWorker.ts +0 -176
- package/src/network/core/networkCoreWorkerHandler.ts +0 -284
- package/src/network/core/types.ts +0 -119
- package/src/network/discv5/index.ts +0 -132
- package/src/network/discv5/types.ts +0 -74
- package/src/network/discv5/utils.ts +0 -50
- package/src/network/discv5/worker.ts +0 -137
- package/src/network/events.ts +0 -51
- package/src/network/forks.ts +0 -94
- package/src/network/gossip/constants.ts +0 -15
- package/src/network/gossip/encoding.ts +0 -111
- package/src/network/gossip/errors.ts +0 -7
- package/src/network/gossip/gossipsub.ts +0 -384
- package/src/network/gossip/index.ts +0 -4
- package/src/network/gossip/interface.ts +0 -215
- package/src/network/gossip/metrics.ts +0 -71
- package/src/network/gossip/scoringParameters.ts +0 -333
- package/src/network/gossip/topic.ts +0 -332
- package/src/network/index.ts +0 -8
- package/src/network/interface.ts +0 -134
- package/src/network/libp2p/error.ts +0 -55
- package/src/network/libp2p/index.ts +0 -153
- package/src/network/metadata.ts +0 -162
- package/src/network/network.ts +0 -767
- package/src/network/networkConfig.ts +0 -12
- package/src/network/options.ts +0 -70
- package/src/network/peers/client.ts +0 -29
- package/src/network/peers/datastore.ts +0 -188
- package/src/network/peers/discover.ts +0 -647
- package/src/network/peers/index.ts +0 -2
- package/src/network/peers/peerManager.ts +0 -899
- package/src/network/peers/peersData.ts +0 -65
- package/src/network/peers/score/constants.ts +0 -34
- package/src/network/peers/score/index.ts +0 -4
- package/src/network/peers/score/interface.ts +0 -74
- package/src/network/peers/score/score.ts +0 -200
- package/src/network/peers/score/store.ts +0 -95
- package/src/network/peers/score/utils.ts +0 -37
- package/src/network/peers/utils/assertPeerRelevance.ts +0 -99
- package/src/network/peers/utils/enrSubnetsDeserialize.ts +0 -27
- package/src/network/peers/utils/getConnectedPeerIds.ts +0 -33
- package/src/network/peers/utils/index.ts +0 -4
- package/src/network/peers/utils/prioritizePeers.ts +0 -627
- package/src/network/peers/utils/subnetMap.ts +0 -88
- package/src/network/processor/aggregatorTracker.ts +0 -38
- package/src/network/processor/extractSlotRootFns.ts +0 -64
- package/src/network/processor/gossipHandlers.ts +0 -951
- package/src/network/processor/gossipQueues/index.ts +0 -114
- package/src/network/processor/gossipQueues/indexed.ts +0 -219
- package/src/network/processor/gossipQueues/linear.ts +0 -162
- package/src/network/processor/gossipQueues/types.ts +0 -57
- package/src/network/processor/gossipValidatorFn.ts +0 -142
- package/src/network/processor/index.ts +0 -496
- package/src/network/processor/types.ts +0 -27
- package/src/network/reqresp/ReqRespBeaconNode.ts +0 -373
- package/src/network/reqresp/handlers/beaconBlocksByRange.ts +0 -101
- package/src/network/reqresp/handlers/beaconBlocksByRoot.ts +0 -49
- package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -114
- package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -62
- package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +0 -144
- package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +0 -88
- package/src/network/reqresp/handlers/index.ts +0 -78
- package/src/network/reqresp/handlers/lightClientBootstrap.ts +0 -31
- package/src/network/reqresp/handlers/lightClientFinalityUpdate.ts +0 -21
- package/src/network/reqresp/handlers/lightClientOptimisticUpdate.ts +0 -21
- package/src/network/reqresp/handlers/lightClientUpdatesByRange.ts +0 -39
- package/src/network/reqresp/index.ts +0 -2
- package/src/network/reqresp/interface.ts +0 -45
- package/src/network/reqresp/protocols.ts +0 -146
- package/src/network/reqresp/rateLimit.ts +0 -112
- package/src/network/reqresp/score.ts +0 -70
- package/src/network/reqresp/types.ts +0 -174
- package/src/network/reqresp/utils/collect.ts +0 -84
- package/src/network/reqresp/utils/collectSequentialBlocksInRange.ts +0 -57
- package/src/network/reqresp/utils/dataColumnResponseValidation.ts +0 -99
- package/src/network/statusCache.ts +0 -17
- package/src/network/subnets/attnetsService.ts +0 -385
- package/src/network/subnets/index.ts +0 -2
- package/src/network/subnets/interface.ts +0 -66
- package/src/network/subnets/syncnetsService.ts +0 -147
- package/src/network/subnets/util.ts +0 -63
- package/src/network/util.ts +0 -29
- package/src/node/index.ts +0 -2
- package/src/node/nodejs.ts +0 -349
- package/src/node/notifier.ts +0 -206
- package/src/node/options.ts +0 -51
- package/src/node/utils/interop/deposits.ts +0 -53
- package/src/node/utils/interop/state.ts +0 -59
- package/src/node/utils/lightclient.ts +0 -7
- package/src/node/utils/state.ts +0 -37
- package/src/sync/backfill/backfill.ts +0 -893
- package/src/sync/backfill/errors.ts +0 -23
- package/src/sync/backfill/index.ts +0 -1
- package/src/sync/backfill/verify.ts +0 -58
- package/src/sync/constants.ts +0 -71
- package/src/sync/index.ts +0 -2
- package/src/sync/interface.ts +0 -55
- package/src/sync/options.ts +0 -45
- package/src/sync/range/batch.ts +0 -455
- package/src/sync/range/chain.ts +0 -715
- package/src/sync/range/range.ts +0 -354
- package/src/sync/range/utils/batches.ts +0 -119
- package/src/sync/range/utils/chainTarget.ts +0 -62
- package/src/sync/range/utils/hashBlocks.ts +0 -27
- package/src/sync/range/utils/index.ts +0 -5
- package/src/sync/range/utils/peerBalancer.ts +0 -184
- package/src/sync/range/utils/updateChains.ts +0 -66
- package/src/sync/sync.ts +0 -290
- package/src/sync/types.ts +0 -57
- package/src/sync/unknownBlock.ts +0 -859
- package/src/sync/utils/downloadByRange.ts +0 -808
- package/src/sync/utils/downloadByRoot.ts +0 -560
- package/src/sync/utils/pendingBlocksTree.ts +0 -97
- package/src/sync/utils/remoteSyncType.ts +0 -144
- package/src/util/address.ts +0 -3
- package/src/util/array.ts +0 -311
- package/src/util/asyncIterableToEvents.ts +0 -164
- package/src/util/binarySearch.ts +0 -48
- package/src/util/bitArray.ts +0 -84
- package/src/util/blobs.ts +0 -210
- package/src/util/bufferPool.ts +0 -95
- package/src/util/bytes.ts +0 -11
- package/src/util/chunkify.ts +0 -27
- package/src/util/clock.ts +0 -212
- package/src/util/dataColumns.ts +0 -415
- package/src/util/dependentRoot.ts +0 -47
- package/src/util/enum.ts +0 -17
- package/src/util/error.ts +0 -56
- package/src/util/eventLoop.ts +0 -22
- package/src/util/execution.ts +0 -223
- package/src/util/file.ts +0 -52
- package/src/util/forkChoice.ts +0 -5
- package/src/util/forkName.ts +0 -20
- package/src/util/graffiti.ts +0 -39
- package/src/util/hex.ts +0 -9
- package/src/util/index.ts +0 -2
- package/src/util/ip.ts +0 -6
- package/src/util/itTrigger.ts +0 -49
- package/src/util/kzg.ts +0 -3
- package/src/util/map.ts +0 -77
- package/src/util/metadata.ts +0 -22
- package/src/util/multifork.ts +0 -69
- package/src/util/numpy.ts +0 -8
- package/src/util/peerId.ts +0 -16
- package/src/util/profile.ts +0 -54
- package/src/util/promises.ts +0 -14
- package/src/util/queue/errors.ts +0 -14
- package/src/util/queue/fnQueue.ts +0 -16
- package/src/util/queue/index.ts +0 -4
- package/src/util/queue/itemQueue.ts +0 -128
- package/src/util/queue/options.ts +0 -37
- package/src/util/serializedCache.ts +0 -20
- package/src/util/set.ts +0 -62
- package/src/util/shuffle.ts +0 -21
- package/src/util/sortBy.ts +0 -19
- package/src/util/sszBytes.ts +0 -481
- package/src/util/strictEvents.ts +0 -8
- package/src/util/time.ts +0 -13
- package/src/util/timeSeries.ts +0 -118
- package/src/util/types.ts +0 -31
- package/src/util/workerEvents.ts +0 -142
- package/src/util/wrapError.ts +0 -27
|
@@ -1,493 +0,0 @@
|
|
|
1
|
-
import crypto from "node:crypto";
|
|
2
|
-
import {
|
|
3
|
-
BLOB_TX_TYPE,
|
|
4
|
-
BYTES_PER_FIELD_ELEMENT,
|
|
5
|
-
FIELD_ELEMENTS_PER_BLOB,
|
|
6
|
-
ForkName,
|
|
7
|
-
ForkPostBellatrix,
|
|
8
|
-
ForkPostCapella,
|
|
9
|
-
ForkSeq,
|
|
10
|
-
} from "@lodestar/params";
|
|
11
|
-
import {ExecutionPayload, RootHex, bellatrix, deneb, ssz} from "@lodestar/types";
|
|
12
|
-
import {fromHex, toHex, toRootHex} from "@lodestar/utils";
|
|
13
|
-
import {ZERO_HASH_HEX} from "../../constants/index.js";
|
|
14
|
-
import {quantityToNum} from "../../eth1/provider/utils.js";
|
|
15
|
-
import {INTEROP_BLOCK_HASH} from "../../node/utils/interop/state.js";
|
|
16
|
-
import {kzgCommitmentToVersionedHash} from "../../util/blobs.js";
|
|
17
|
-
import {kzg} from "../../util/kzg.js";
|
|
18
|
-
import {ClientCode, ExecutionPayloadStatus, PayloadIdCache} from "./interface.js";
|
|
19
|
-
import {
|
|
20
|
-
BlobsBundleRpc,
|
|
21
|
-
EngineApiRpcParamTypes,
|
|
22
|
-
EngineApiRpcReturnTypes,
|
|
23
|
-
ExecutionPayloadBodyRpc,
|
|
24
|
-
ExecutionPayloadRpc,
|
|
25
|
-
ExecutionRequestsRpc,
|
|
26
|
-
PayloadStatus,
|
|
27
|
-
deserializePayloadAttributes,
|
|
28
|
-
serializeBlobsBundle,
|
|
29
|
-
serializeExecutionPayload,
|
|
30
|
-
serializeExecutionRequests,
|
|
31
|
-
} from "./types.js";
|
|
32
|
-
import {JsonRpcBackend} from "./utils.js";
|
|
33
|
-
|
|
34
|
-
const INTEROP_GAS_LIMIT = 30e6;
|
|
35
|
-
const PRUNE_PAYLOAD_ID_AFTER_MS = 5000;
|
|
36
|
-
|
|
37
|
-
export type ExecutionEngineMockOpts = {
|
|
38
|
-
genesisBlockHash: string;
|
|
39
|
-
eth1BlockHash?: string;
|
|
40
|
-
onlyPredefinedResponses?: boolean;
|
|
41
|
-
capellaForkTimestamp?: number;
|
|
42
|
-
denebForkTimestamp?: number;
|
|
43
|
-
electraForkTimestamp?: number;
|
|
44
|
-
fuluForkTimestamp?: number;
|
|
45
|
-
gloasForkTimestamp?: number;
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
type ExecutionBlock = {
|
|
49
|
-
parentHash: RootHex;
|
|
50
|
-
blockHash: RootHex;
|
|
51
|
-
timestamp: number;
|
|
52
|
-
blockNumber: number;
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
const TX_TYPE_EIP1559 = 2;
|
|
56
|
-
|
|
57
|
-
type PreparedPayload = {
|
|
58
|
-
executionPayload: ExecutionPayloadRpc;
|
|
59
|
-
blobsBundle: BlobsBundleRpc;
|
|
60
|
-
executionRequests: ExecutionRequestsRpc;
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Mock ExecutionEngine for fast prototyping and unit testing
|
|
65
|
-
*/
|
|
66
|
-
export class ExecutionEngineMockBackend implements JsonRpcBackend {
|
|
67
|
-
// Public state to check if notifyForkchoiceUpdate() is called properly
|
|
68
|
-
headBlockHash = ZERO_HASH_HEX;
|
|
69
|
-
safeBlockHash = ZERO_HASH_HEX;
|
|
70
|
-
finalizedBlockHash = ZERO_HASH_HEX;
|
|
71
|
-
readonly payloadIdCache = new PayloadIdCache();
|
|
72
|
-
|
|
73
|
-
/** Known valid blocks, both pre-merge and post-merge */
|
|
74
|
-
private readonly validBlocks = new Map<RootHex, ExecutionBlock>();
|
|
75
|
-
/** Preparing payloads to be retrieved via engine_getPayloadV1 */
|
|
76
|
-
private readonly preparingPayloads = new Map<number, PreparedPayload>();
|
|
77
|
-
private readonly payloadsForDeletion = new Map<number, number>();
|
|
78
|
-
|
|
79
|
-
private readonly predefinedPayloadStatuses = new Map<RootHex, PayloadStatus>();
|
|
80
|
-
|
|
81
|
-
private payloadId = 0;
|
|
82
|
-
|
|
83
|
-
readonly handlers: {
|
|
84
|
-
[K in keyof EngineApiRpcParamTypes]: (...args: EngineApiRpcParamTypes[K]) => EngineApiRpcReturnTypes[K];
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
constructor(private readonly opts: ExecutionEngineMockOpts) {
|
|
88
|
-
this.validBlocks.set(opts.genesisBlockHash, {
|
|
89
|
-
parentHash: ZERO_HASH_HEX,
|
|
90
|
-
blockHash: ZERO_HASH_HEX,
|
|
91
|
-
timestamp: 0,
|
|
92
|
-
blockNumber: 0,
|
|
93
|
-
});
|
|
94
|
-
|
|
95
|
-
const eth1BlockHash = opts.eth1BlockHash ?? toRootHex(INTEROP_BLOCK_HASH);
|
|
96
|
-
|
|
97
|
-
this.validBlocks.set(eth1BlockHash, {
|
|
98
|
-
parentHash: ZERO_HASH_HEX,
|
|
99
|
-
blockHash: eth1BlockHash,
|
|
100
|
-
timestamp: 0,
|
|
101
|
-
blockNumber: 1,
|
|
102
|
-
});
|
|
103
|
-
|
|
104
|
-
this.handlers = {
|
|
105
|
-
engine_newPayloadV1: this.notifyNewPayload.bind(this),
|
|
106
|
-
engine_newPayloadV2: this.notifyNewPayload.bind(this),
|
|
107
|
-
engine_newPayloadV3: this.notifyNewPayload.bind(this),
|
|
108
|
-
engine_newPayloadV4: this.notifyNewPayload.bind(this),
|
|
109
|
-
engine_forkchoiceUpdatedV1: this.notifyForkchoiceUpdate.bind(this),
|
|
110
|
-
engine_forkchoiceUpdatedV2: this.notifyForkchoiceUpdate.bind(this),
|
|
111
|
-
engine_forkchoiceUpdatedV3: this.notifyForkchoiceUpdate.bind(this),
|
|
112
|
-
engine_getPayloadV1: this.getPayloadV1.bind(this),
|
|
113
|
-
engine_getPayloadV2: this.getPayloadV5.bind(this),
|
|
114
|
-
engine_getPayloadV3: this.getPayloadV5.bind(this),
|
|
115
|
-
engine_getPayloadV4: this.getPayloadV5.bind(this),
|
|
116
|
-
engine_getPayloadV5: this.getPayloadV5.bind(this),
|
|
117
|
-
engine_getPayloadBodiesByHashV1: this.getPayloadBodiesByHash.bind(this),
|
|
118
|
-
engine_getPayloadBodiesByRangeV1: this.getPayloadBodiesByRange.bind(this),
|
|
119
|
-
engine_getClientVersionV1: this.getClientVersionV1.bind(this),
|
|
120
|
-
engine_getBlobsV1: this.getBlobs.bind(this),
|
|
121
|
-
engine_getBlobsV2: this.getBlobsV2.bind(this),
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
private getPayloadBodiesByHash(
|
|
126
|
-
_blockHex: EngineApiRpcParamTypes["engine_getPayloadBodiesByHashV1"][0]
|
|
127
|
-
): EngineApiRpcReturnTypes["engine_getPayloadBodiesByHashV1"] {
|
|
128
|
-
return [] as ExecutionPayloadBodyRpc[];
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
private getPayloadBodiesByRange(
|
|
132
|
-
_start: EngineApiRpcParamTypes["engine_getPayloadBodiesByRangeV1"][0],
|
|
133
|
-
_count: EngineApiRpcParamTypes["engine_getPayloadBodiesByRangeV1"][1]
|
|
134
|
-
): EngineApiRpcReturnTypes["engine_getPayloadBodiesByRangeV1"] {
|
|
135
|
-
return [] as ExecutionPayloadBodyRpc[];
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* Mock manipulator to add more known blocks to this mock.
|
|
140
|
-
*/
|
|
141
|
-
addPowBlock(powBlock: bellatrix.PowBlock): void {
|
|
142
|
-
this.validBlocks.set(toHex(powBlock.blockHash), {
|
|
143
|
-
parentHash: toHex(powBlock.parentHash),
|
|
144
|
-
blockHash: toHex(powBlock.blockHash),
|
|
145
|
-
timestamp: 0,
|
|
146
|
-
blockNumber: 0,
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
/**
|
|
151
|
-
* Mock manipulator to add predefined responses before execution engine client calls
|
|
152
|
-
*/
|
|
153
|
-
addPredefinedPayloadStatus(blockHash: RootHex, payloadStatus: PayloadStatus): void {
|
|
154
|
-
this.predefinedPayloadStatuses.set(blockHash, payloadStatus);
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
/**
|
|
158
|
-
* `engine_newPayloadV1`
|
|
159
|
-
*/
|
|
160
|
-
private notifyNewPayload(
|
|
161
|
-
executionPayloadRpc: EngineApiRpcParamTypes["engine_newPayloadV1"][0],
|
|
162
|
-
// add versionedHashes validation later if required
|
|
163
|
-
_versionedHashes?: EngineApiRpcParamTypes["engine_newPayloadV3"][1]
|
|
164
|
-
): EngineApiRpcReturnTypes["engine_newPayloadV1"] {
|
|
165
|
-
const blockHash = executionPayloadRpc.blockHash;
|
|
166
|
-
const parentHash = executionPayloadRpc.parentHash;
|
|
167
|
-
|
|
168
|
-
// For optimistic sync spec tests, allow to define responses ahead of time
|
|
169
|
-
const predefinedResponse = this.predefinedPayloadStatuses.get(blockHash);
|
|
170
|
-
if (predefinedResponse) {
|
|
171
|
-
return predefinedResponse;
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
if (this.opts.onlyPredefinedResponses) {
|
|
175
|
-
throw Error(`No predefined response for blockHash ${blockHash}`);
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
// 1. Client software MUST validate blockHash value as being equivalent to Keccak256(RLP(ExecutionBlockHeader)),
|
|
179
|
-
// where ExecutionBlockHeader is the execution layer block header (the former PoW block header structure).
|
|
180
|
-
// Fields of this object are set to the corresponding payload values and constant values according to the Block
|
|
181
|
-
// structure section of EIP-3675, extended with the corresponding section of EIP-4399. Client software MUST run
|
|
182
|
-
// this validation in all cases even if this branch or any other branches of the block tree are in an active sync
|
|
183
|
-
// process.
|
|
184
|
-
//
|
|
185
|
-
// > Mock does not do this validation
|
|
186
|
-
|
|
187
|
-
// 2. Client software MAY initiate a sync process if requisite data for payload validation is missing. Sync process
|
|
188
|
-
// is specified in the Sync section.
|
|
189
|
-
//
|
|
190
|
-
// > N/A: Mock can't sync
|
|
191
|
-
|
|
192
|
-
// 3. Client software MUST validate the payload if it extends the canonical chain and requisite data for the
|
|
193
|
-
// validation is locally available. The validation process is specified in the Payload validation section.
|
|
194
|
-
//
|
|
195
|
-
// > Mock only validates that parent is known
|
|
196
|
-
if (!this.validBlocks.has(parentHash)) {
|
|
197
|
-
// if requisite data for the payload's acceptance or validation is missing
|
|
198
|
-
// return {status: SYNCING, latestValidHash: null, validationError: null}
|
|
199
|
-
return {status: ExecutionPayloadStatus.SYNCING, latestValidHash: null, validationError: null};
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
// 4. Client software MAY NOT validate the payload if the payload doesn't belong to the canonical chain.
|
|
203
|
-
//
|
|
204
|
-
// > N/A: Mock does not track the chain dag
|
|
205
|
-
|
|
206
|
-
// Mock logic: persist valid payload as part of canonical chain
|
|
207
|
-
|
|
208
|
-
this.validBlocks.set(blockHash, {
|
|
209
|
-
parentHash,
|
|
210
|
-
blockHash,
|
|
211
|
-
timestamp: quantityToNum(executionPayloadRpc.timestamp),
|
|
212
|
-
blockNumber: quantityToNum(executionPayloadRpc.blockNumber),
|
|
213
|
-
});
|
|
214
|
-
|
|
215
|
-
// IF the payload has been fully validated while processing the call
|
|
216
|
-
// RETURN payload status from the Payload validation process
|
|
217
|
-
// If validation succeeds, the response MUST contain {status: VALID, latestValidHash: payload.blockHash}
|
|
218
|
-
return {status: ExecutionPayloadStatus.VALID, latestValidHash: blockHash, validationError: null};
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
/**
|
|
222
|
-
* `engine_forkchoiceUpdatedV1`
|
|
223
|
-
*/
|
|
224
|
-
private notifyForkchoiceUpdate(
|
|
225
|
-
forkChoiceData: EngineApiRpcParamTypes["engine_forkchoiceUpdatedV1"][0],
|
|
226
|
-
payloadAttributesRpc: EngineApiRpcParamTypes["engine_forkchoiceUpdatedV1"][1]
|
|
227
|
-
): EngineApiRpcReturnTypes["engine_forkchoiceUpdatedV1"] {
|
|
228
|
-
const {headBlockHash, safeBlockHash, finalizedBlockHash} = forkChoiceData;
|
|
229
|
-
|
|
230
|
-
// For optimistic sync spec tests, allow to define responses ahead of time
|
|
231
|
-
const predefinedResponse = this.predefinedPayloadStatuses.get(headBlockHash);
|
|
232
|
-
if (predefinedResponse) {
|
|
233
|
-
return {
|
|
234
|
-
payloadStatus: predefinedResponse,
|
|
235
|
-
payloadId: null,
|
|
236
|
-
};
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
if (this.opts.onlyPredefinedResponses) {
|
|
240
|
-
throw Error(`No predefined response for headBlockHash ${headBlockHash}`);
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
// 1. Client software MAY initiate a sync process if forkchoiceState.headBlockHash references an unknown payload or
|
|
244
|
-
// a payload that can't be validated because data that are requisite for the validation is missing. The sync
|
|
245
|
-
// process is specified in the Sync section.
|
|
246
|
-
//
|
|
247
|
-
// > N/A: Mock can't sync
|
|
248
|
-
|
|
249
|
-
// 2. Client software MAY skip an update of the forkchoice state and MUST NOT begin a payload build process if
|
|
250
|
-
// forkchoiceState.headBlockHash references an ancestor of the head of canonical chain. In the case of such an
|
|
251
|
-
// event, client software MUST return {payloadStatus:
|
|
252
|
-
// {status: VALID, latestValidHash: forkchoiceState.headBlockHash, validationError: null}, payloadId: null}.
|
|
253
|
-
//
|
|
254
|
-
// > TODO
|
|
255
|
-
|
|
256
|
-
// 3. If forkchoiceState.headBlockHash references a PoW block, client software MUST validate this block with
|
|
257
|
-
// respect to terminal block conditions according to EIP-3675. This check maps to the transition block validity
|
|
258
|
-
// section of the EIP. Additionally, if this validation fails, client software MUST NOT update the forkchoice
|
|
259
|
-
// state and MUST NOT begin a payload build process.
|
|
260
|
-
//
|
|
261
|
-
// > TODO
|
|
262
|
-
|
|
263
|
-
// 4. Before updating the forkchoice state, client software MUST ensure the validity of the payload referenced by
|
|
264
|
-
// forkchoiceState.headBlockHash, and MAY validate the payload while processing the call. The validation process
|
|
265
|
-
// is specified in the Payload validation section. If the validation process fails, client software MUST NOT
|
|
266
|
-
// update the forkchoice state and MUST NOT begin a payload build process.
|
|
267
|
-
//
|
|
268
|
-
// > N/A payload already validated
|
|
269
|
-
const headBlock = this.validBlocks.get(headBlockHash);
|
|
270
|
-
if (!headBlock) {
|
|
271
|
-
// IF references an unknown payload or a payload that can't be validated because requisite data is missing
|
|
272
|
-
// RETURN {payloadStatus: {status: SYNCING, latestValidHash: null, validationError: null}, payloadId: null}
|
|
273
|
-
//
|
|
274
|
-
return {
|
|
275
|
-
payloadStatus: {status: ExecutionPayloadStatus.SYNCING, latestValidHash: null, validationError: null},
|
|
276
|
-
payloadId: null,
|
|
277
|
-
};
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
// 5. Client software MUST update its forkchoice state if payloads referenced by forkchoiceState.headBlockHash and
|
|
281
|
-
// forkchoiceState.finalizedBlockHash are VALID.
|
|
282
|
-
if (!this.validBlocks.has(finalizedBlockHash)) {
|
|
283
|
-
throw Error(`Unknown finalizedBlockHash ${finalizedBlockHash}`);
|
|
284
|
-
}
|
|
285
|
-
this.headBlockHash = headBlockHash;
|
|
286
|
-
this.safeBlockHash = safeBlockHash;
|
|
287
|
-
this.finalizedBlockHash = finalizedBlockHash;
|
|
288
|
-
|
|
289
|
-
// 6. Client software MUST return -38002: Invalid forkchoice state error if the payload referenced by
|
|
290
|
-
// forkchoiceState.headBlockHash is VALID and a payload referenced by either forkchoiceState.finalizedBlockHash
|
|
291
|
-
// or forkchoiceState.safeBlockHash does not belong to the chain defined by forkchoiceState.headBlockHash.
|
|
292
|
-
//
|
|
293
|
-
// > N/A: Mock does not track the chain dag
|
|
294
|
-
|
|
295
|
-
if (payloadAttributesRpc) {
|
|
296
|
-
const payloadAttributes = deserializePayloadAttributes(payloadAttributesRpc);
|
|
297
|
-
|
|
298
|
-
// 7. Client software MUST ensure that payloadAttributes.timestamp is greater than timestamp of a block referenced
|
|
299
|
-
// by forkchoiceState.headBlockHash. If this condition isn't held client software MUST respond with
|
|
300
|
-
// `-38003: Invalid payload attributes` and MUST NOT begin a payload build process.
|
|
301
|
-
// In such an event, the forkchoiceState update MUST NOT be rolled back.
|
|
302
|
-
if (headBlock.timestamp > payloadAttributes.timestamp) {
|
|
303
|
-
throw Error("Invalid payload attributes");
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
// 8. Client software MUST begin a payload build process building on top of forkchoiceState.headBlockHash and
|
|
307
|
-
// identified via buildProcessId value if payloadAttributes is not null and the forkchoice state has been
|
|
308
|
-
// updated successfully. The build process is specified in the Payload building section.
|
|
309
|
-
const payloadId = this.payloadId++;
|
|
310
|
-
|
|
311
|
-
// Generate empty payload first to be correct with respect to fork
|
|
312
|
-
const fork = this.timestampToFork(payloadAttributes.timestamp);
|
|
313
|
-
const executionPayload = ssz[fork].ExecutionPayload.defaultValue();
|
|
314
|
-
|
|
315
|
-
// Make executionPayload valid
|
|
316
|
-
executionPayload.parentHash = fromHex(headBlockHash);
|
|
317
|
-
executionPayload.feeRecipient = fromHex(payloadAttributes.suggestedFeeRecipient);
|
|
318
|
-
executionPayload.prevRandao = payloadAttributes.prevRandao;
|
|
319
|
-
executionPayload.blockNumber = headBlock.blockNumber + 1;
|
|
320
|
-
executionPayload.gasLimit = INTEROP_GAS_LIMIT;
|
|
321
|
-
executionPayload.gasUsed = Math.floor(0.5 * INTEROP_GAS_LIMIT);
|
|
322
|
-
executionPayload.timestamp = payloadAttributes.timestamp;
|
|
323
|
-
executionPayload.blockHash = crypto.randomBytes(32);
|
|
324
|
-
executionPayload.transactions = [];
|
|
325
|
-
|
|
326
|
-
// Between 0 and 4 transactions for all forks
|
|
327
|
-
const eip1559TxCount = Math.round(4 * Math.random());
|
|
328
|
-
for (let i = 0; i < eip1559TxCount; i++) {
|
|
329
|
-
const tx = crypto.randomBytes(512);
|
|
330
|
-
tx[0] = TX_TYPE_EIP1559;
|
|
331
|
-
executionPayload.transactions.push(tx);
|
|
332
|
-
}
|
|
333
|
-
|
|
334
|
-
const commitments: deneb.KZGCommitment[] = [];
|
|
335
|
-
const blobs: deneb.Blob[] = [];
|
|
336
|
-
const proofs: deneb.KZGProof[] = [];
|
|
337
|
-
|
|
338
|
-
if (ForkSeq[fork] >= ForkSeq.fulu) {
|
|
339
|
-
// if post fulu, add between 0 and 3 data column transactions based on slot with BlobsBundleV2
|
|
340
|
-
const fuluTxCount = executionPayload.blockNumber % 4;
|
|
341
|
-
for (let i = 0; i < fuluTxCount; i++) {
|
|
342
|
-
const blob = generateRandomBlob();
|
|
343
|
-
const commitment = kzg.blobToKzgCommitment(blob);
|
|
344
|
-
const {proofs: cellProofs} = kzg.computeCellsAndKzgProofs(blob);
|
|
345
|
-
executionPayload.transactions.push(transactionForKzgCommitment(commitment));
|
|
346
|
-
commitments.push(commitment);
|
|
347
|
-
blobs.push(blob);
|
|
348
|
-
proofs.push(...cellProofs);
|
|
349
|
-
}
|
|
350
|
-
} else if (ForkSeq[fork] >= ForkSeq.deneb && ForkSeq[fork] < ForkSeq.fulu) {
|
|
351
|
-
// if post deneb, add between 0 and 2 blob transactions
|
|
352
|
-
const denebTxCount = executionPayload.blockNumber % 3;
|
|
353
|
-
for (let i = 0; i < denebTxCount; i++) {
|
|
354
|
-
const blob = generateRandomBlob();
|
|
355
|
-
const commitment = kzg.blobToKzgCommitment(blob);
|
|
356
|
-
const proof = kzg.computeBlobKzgProof(blob, commitment);
|
|
357
|
-
executionPayload.transactions.push(transactionForKzgCommitment(commitment));
|
|
358
|
-
commitments.push(commitment);
|
|
359
|
-
blobs.push(blob);
|
|
360
|
-
proofs.push(proof);
|
|
361
|
-
}
|
|
362
|
-
}
|
|
363
|
-
|
|
364
|
-
if (ForkSeq[fork] >= ForkSeq.capella) {
|
|
365
|
-
(executionPayload as ExecutionPayload<ForkPostCapella>).withdrawals = ssz.capella.Withdrawals.defaultValue();
|
|
366
|
-
}
|
|
367
|
-
|
|
368
|
-
this.preparingPayloads.set(payloadId, {
|
|
369
|
-
executionPayload: serializeExecutionPayload(fork, executionPayload),
|
|
370
|
-
blobsBundle: serializeBlobsBundle({
|
|
371
|
-
commitments,
|
|
372
|
-
blobs,
|
|
373
|
-
proofs,
|
|
374
|
-
}),
|
|
375
|
-
executionRequests: serializeExecutionRequests({
|
|
376
|
-
deposits: ssz.electra.DepositRequests.defaultValue(),
|
|
377
|
-
withdrawals: ssz.electra.WithdrawalRequests.defaultValue(),
|
|
378
|
-
consolidations: ssz.electra.ConsolidationRequests.defaultValue(),
|
|
379
|
-
}),
|
|
380
|
-
});
|
|
381
|
-
|
|
382
|
-
// IF the payload is deemed VALID and the build process has begun
|
|
383
|
-
// {payloadStatus: {status: VALID, latestValidHash: forkchoiceState.headBlockHash, validationError: null}, payloadId: buildProcessId}
|
|
384
|
-
return {
|
|
385
|
-
payloadStatus: {status: ExecutionPayloadStatus.VALID, latestValidHash: null, validationError: null},
|
|
386
|
-
payloadId: String(payloadId as number),
|
|
387
|
-
};
|
|
388
|
-
}
|
|
389
|
-
|
|
390
|
-
// Don't start build process
|
|
391
|
-
// IF the payload is deemed VALID and a build process hasn't been started
|
|
392
|
-
// {payloadStatus: {status: VALID, latestValidHash: forkchoiceState.headBlockHash, validationError: null}, payloadId: null}
|
|
393
|
-
return {
|
|
394
|
-
payloadStatus: {status: ExecutionPayloadStatus.VALID, latestValidHash: null, validationError: null},
|
|
395
|
-
payloadId: null,
|
|
396
|
-
};
|
|
397
|
-
}
|
|
398
|
-
|
|
399
|
-
/**
|
|
400
|
-
* `engine_getPayloadV1`
|
|
401
|
-
*
|
|
402
|
-
* 1. Given the payloadId client software MUST respond with the most recent version of the payload that is available in the corresponding building process at the time of receiving the call.
|
|
403
|
-
* 2. The call MUST be responded with 5: Unavailable payload error if the building process identified by the payloadId doesn't exist.
|
|
404
|
-
* 3. Client software MAY stop the corresponding building process after serving this call.
|
|
405
|
-
*/
|
|
406
|
-
private getPayloadV1(
|
|
407
|
-
payloadId: EngineApiRpcParamTypes["engine_getPayloadV1"][0]
|
|
408
|
-
): EngineApiRpcReturnTypes["engine_getPayloadV1"] {
|
|
409
|
-
return this.getPayloadV5(payloadId).executionPayload;
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
private getPayloadV5(
|
|
413
|
-
payloadId: EngineApiRpcParamTypes["engine_getPayloadV5"][0]
|
|
414
|
-
): EngineApiRpcReturnTypes["engine_getPayloadV5"] {
|
|
415
|
-
// 1. Given the payloadId client software MUST return the most recent version of the payload that is available in
|
|
416
|
-
// the corresponding build process at the time of receiving the call.
|
|
417
|
-
const payloadIdNbr = Number(payloadId);
|
|
418
|
-
const payload = this.preparingPayloads.get(payloadIdNbr);
|
|
419
|
-
|
|
420
|
-
// 2. The call MUST return -38001: Unknown payload error if the build process identified by the payloadId does not
|
|
421
|
-
// exist.
|
|
422
|
-
if (!payload) {
|
|
423
|
-
throw Error(`Unknown payloadId ${payloadId}`);
|
|
424
|
-
}
|
|
425
|
-
|
|
426
|
-
// 3. Client software MAY stop the corresponding build process after serving this call.
|
|
427
|
-
// Do after a while to allow getBlobsBundle()
|
|
428
|
-
const now = Date.now();
|
|
429
|
-
for (const [oldPayloadId, addedTimestampMs] of this.payloadsForDeletion.entries()) {
|
|
430
|
-
if (addedTimestampMs < now - PRUNE_PAYLOAD_ID_AFTER_MS) {
|
|
431
|
-
this.preparingPayloads.delete(oldPayloadId);
|
|
432
|
-
this.payloadsForDeletion.delete(oldPayloadId);
|
|
433
|
-
}
|
|
434
|
-
}
|
|
435
|
-
this.payloadsForDeletion.set(payloadIdNbr, now);
|
|
436
|
-
|
|
437
|
-
return {
|
|
438
|
-
executionPayload: payload.executionPayload,
|
|
439
|
-
blockValue: String(1e9),
|
|
440
|
-
blobsBundle: payload.blobsBundle,
|
|
441
|
-
executionRequests: payload.executionRequests,
|
|
442
|
-
};
|
|
443
|
-
}
|
|
444
|
-
|
|
445
|
-
private getClientVersionV1(
|
|
446
|
-
_clientVersion: EngineApiRpcParamTypes["engine_getClientVersionV1"][0]
|
|
447
|
-
): EngineApiRpcReturnTypes["engine_getClientVersionV1"] {
|
|
448
|
-
return [{code: ClientCode.XX, name: "mock", version: "", commit: ""}];
|
|
449
|
-
}
|
|
450
|
-
|
|
451
|
-
private getBlobs(
|
|
452
|
-
versionedHashes: EngineApiRpcParamTypes["engine_getBlobsV1"][0]
|
|
453
|
-
): EngineApiRpcReturnTypes["engine_getBlobsV1"] {
|
|
454
|
-
return versionedHashes.map((_vh) => null);
|
|
455
|
-
}
|
|
456
|
-
|
|
457
|
-
private getBlobsV2(
|
|
458
|
-
_versionedHashes: EngineApiRpcParamTypes["engine_getBlobsV2"][0]
|
|
459
|
-
): EngineApiRpcReturnTypes["engine_getBlobsV2"] {
|
|
460
|
-
return null;
|
|
461
|
-
}
|
|
462
|
-
|
|
463
|
-
private timestampToFork(timestamp: number): ForkPostBellatrix {
|
|
464
|
-
if (timestamp >= (this.opts.gloasForkTimestamp ?? Infinity)) return ForkName.gloas;
|
|
465
|
-
if (timestamp >= (this.opts.fuluForkTimestamp ?? Infinity)) return ForkName.fulu;
|
|
466
|
-
if (timestamp >= (this.opts.electraForkTimestamp ?? Infinity)) return ForkName.electra;
|
|
467
|
-
if (timestamp >= (this.opts.denebForkTimestamp ?? Infinity)) return ForkName.deneb;
|
|
468
|
-
if (timestamp >= (this.opts.capellaForkTimestamp ?? Infinity)) return ForkName.capella;
|
|
469
|
-
return ForkName.bellatrix;
|
|
470
|
-
}
|
|
471
|
-
}
|
|
472
|
-
|
|
473
|
-
function transactionForKzgCommitment(kzgCommitment: deneb.KZGCommitment): bellatrix.Transaction {
|
|
474
|
-
// Just use versionedHash as the transaction encoding to mock newPayloadV3 verification
|
|
475
|
-
// prefixed with BLOB_TX_TYPE
|
|
476
|
-
const transaction = new Uint8Array(33);
|
|
477
|
-
const versionedHash = kzgCommitmentToVersionedHash(kzgCommitment);
|
|
478
|
-
transaction[0] = BLOB_TX_TYPE;
|
|
479
|
-
transaction.set(versionedHash, 1);
|
|
480
|
-
return transaction;
|
|
481
|
-
}
|
|
482
|
-
|
|
483
|
-
/**
|
|
484
|
-
* Generate random blob of sequential integers such that each element is < BLS_MODULUS
|
|
485
|
-
*/
|
|
486
|
-
function generateRandomBlob(): deneb.Blob {
|
|
487
|
-
const blob = new Uint8Array(FIELD_ELEMENTS_PER_BLOB * BYTES_PER_FIELD_ELEMENT);
|
|
488
|
-
const dv = new DataView(blob.buffer, blob.byteOffset, blob.byteLength);
|
|
489
|
-
for (let i = 0; i < FIELD_ELEMENTS_PER_BLOB; i++) {
|
|
490
|
-
dv.setUint32(i * BYTES_PER_FIELD_ELEMENT, i);
|
|
491
|
-
}
|
|
492
|
-
return blob;
|
|
493
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import {SLOTS_PER_EPOCH} from "@lodestar/params";
|
|
2
|
-
import {pruneSetToMax} from "@lodestar/utils";
|
|
3
|
-
import {DATA, QUANTITY} from "../../eth1/provider/utils.js";
|
|
4
|
-
import {PayloadAttributesRpc} from "./types.js";
|
|
5
|
-
|
|
6
|
-
// Idealy this only need to be set to the max head reorgs number
|
|
7
|
-
const MAX_PAYLOAD_IDS = SLOTS_PER_EPOCH;
|
|
8
|
-
|
|
9
|
-
// An execution engine can produce a payload id anywhere the uint64 range
|
|
10
|
-
// Since we do no processing with this id, we have no need to deserialize it
|
|
11
|
-
export type PayloadId = string;
|
|
12
|
-
|
|
13
|
-
export type WithdrawalV1 = {
|
|
14
|
-
index: QUANTITY;
|
|
15
|
-
validatorIndex: QUANTITY;
|
|
16
|
-
address: DATA;
|
|
17
|
-
amount: QUANTITY;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
type FcuAttributes = {headBlockHash: DATA; finalizedBlockHash: DATA} & Omit<PayloadAttributesRpc, "withdrawals">;
|
|
21
|
-
|
|
22
|
-
export class PayloadIdCache {
|
|
23
|
-
private readonly payloadIdByFcuAttributes = new Map<string, {payloadId: PayloadId; fullKey: string}>();
|
|
24
|
-
|
|
25
|
-
getFullKey({headBlockHash, finalizedBlockHash, timestamp, prevRandao, suggestedFeeRecipient}: FcuAttributes): string {
|
|
26
|
-
return `${headBlockHash}-${finalizedBlockHash}-${timestamp}-${prevRandao}-${suggestedFeeRecipient}`;
|
|
27
|
-
}
|
|
28
|
-
getKey({timestamp}: Pick<FcuAttributes, "timestamp">): string {
|
|
29
|
-
return timestamp;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
hasPayload(fcuAttributes: Pick<FcuAttributes, "timestamp">): boolean {
|
|
33
|
-
const key = this.getKey(fcuAttributes);
|
|
34
|
-
return this.payloadIdByFcuAttributes.get(key) !== undefined;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
add(fcuAttributes: FcuAttributes, payloadId: PayloadId): void {
|
|
38
|
-
const key = this.getKey(fcuAttributes);
|
|
39
|
-
const fullKey = this.getFullKey(fcuAttributes);
|
|
40
|
-
this.payloadIdByFcuAttributes.set(key, {payloadId, fullKey});
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
prune(): void {
|
|
44
|
-
// This is not so optimized function, but could maintain a 2d array may be?
|
|
45
|
-
pruneSetToMax(this.payloadIdByFcuAttributes, MAX_PAYLOAD_IDS);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
get(fcuAttributes: FcuAttributes): PayloadId | undefined {
|
|
49
|
-
const key = this.getKey(fcuAttributes);
|
|
50
|
-
const fullKey = this.getFullKey(fcuAttributes);
|
|
51
|
-
const payloadInfo = this.payloadIdByFcuAttributes.get(key);
|
|
52
|
-
return payloadInfo?.fullKey === fullKey ? payloadInfo.payloadId : undefined;
|
|
53
|
-
}
|
|
54
|
-
}
|