@lodestar/beacon-node 1.35.0-dev.8cacf063da → 1.35.0-dev.8ea34e52ba
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/beacon/blocks/index.js +58 -46
- package/lib/api/impl/beacon/blocks/index.js.map +1 -1
- package/lib/api/impl/beacon/pool/index.js +3 -3
- package/lib/api/impl/beacon/pool/index.js.map +1 -1
- package/lib/api/impl/errors.js +2 -0
- package/lib/api/impl/errors.js.map +1 -1
- package/lib/api/impl/lodestar/index.js +1 -1
- package/lib/api/impl/lodestar/index.js.map +1 -1
- package/lib/api/impl/validator/index.js +2 -1
- package/lib/api/impl/validator/index.js.map +1 -1
- package/lib/api/rest/activeSockets.js +3 -2
- package/lib/api/rest/activeSockets.js.map +1 -1
- package/lib/api/rest/base.js +4 -0
- package/lib/api/rest/base.js.map +1 -1
- package/lib/api/rest/index.js +2 -0
- package/lib/api/rest/index.js.map +1 -1
- package/lib/api/rest/swaggerUI.js +4 -2
- package/lib/api/rest/swaggerUI.js.map +1 -1
- package/lib/chain/ColumnReconstructionTracker.d.ts +32 -0
- package/lib/chain/ColumnReconstructionTracker.js +53 -0
- package/lib/chain/ColumnReconstructionTracker.js.map +1 -0
- package/lib/chain/GetBlobsTracker.d.ts +31 -0
- package/lib/chain/GetBlobsTracker.js +67 -0
- package/lib/chain/GetBlobsTracker.js.map +1 -0
- package/lib/chain/archiveStore/archiveStore.js +49 -38
- package/lib/chain/archiveStore/archiveStore.js.map +1 -1
- package/lib/chain/archiveStore/historicalState/historicalStateRegen.js +2 -0
- package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
- package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js +5 -0
- package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js.map +1 -1
- package/lib/chain/balancesCache.js +1 -3
- package/lib/chain/balancesCache.js.map +1 -1
- package/lib/chain/beaconProposerCache.js +1 -0
- package/lib/chain/beaconProposerCache.js.map +1 -1
- package/lib/chain/blocks/blockInput/blockInput.d.ts +19 -7
- package/lib/chain/blocks/blockInput/blockInput.js +132 -88
- package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
- package/lib/chain/blocks/blockInput/types.d.ts +19 -10
- package/lib/chain/blocks/blockInput/types.js +1 -0
- package/lib/chain/blocks/blockInput/types.js.map +1 -1
- package/lib/chain/blocks/blockInput/utils.d.ts +0 -4
- package/lib/chain/blocks/blockInput/utils.js +6 -29
- package/lib/chain/blocks/blockInput/utils.js.map +1 -1
- package/lib/chain/blocks/importBlock.js +16 -12
- package/lib/chain/blocks/importBlock.js.map +1 -1
- package/lib/chain/blocks/index.d.ts +5 -4
- package/lib/chain/blocks/index.js +5 -4
- package/lib/chain/blocks/index.js.map +1 -1
- package/lib/chain/blocks/types.d.ts +3 -106
- package/lib/chain/blocks/types.js +0 -119
- package/lib/chain/blocks/types.js.map +1 -1
- package/lib/chain/blocks/utils/chainSegment.d.ts +2 -2
- package/lib/chain/blocks/utils/chainSegment.js +2 -2
- package/lib/chain/blocks/utils/chainSegment.js.map +1 -1
- package/lib/chain/blocks/verifyBlock.d.ts +3 -3
- package/lib/chain/blocks/verifyBlock.js +15 -14
- package/lib/chain/blocks/verifyBlock.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts +7 -22
- package/lib/chain/blocks/verifyBlocksDataAvailability.js +18 -110
- package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts +4 -3
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +24 -22
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts +4 -3
- package/lib/chain/blocks/verifyBlocksSanityChecks.js +2 -2
- package/lib/chain/blocks/verifyBlocksSanityChecks.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts +3 -2
- package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js +2 -2
- package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js.map +1 -1
- package/lib/chain/blocks/writeBlockInputToDb.d.ts +3 -3
- package/lib/chain/blocks/writeBlockInputToDb.js +61 -66
- package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
- package/lib/chain/bls/multithread/index.js +167 -163
- package/lib/chain/bls/multithread/index.js.map +1 -1
- package/lib/chain/bls/singleThread.js +1 -0
- package/lib/chain/bls/singleThread.js.map +1 -1
- package/lib/chain/chain.d.ts +9 -7
- package/lib/chain/chain.js +79 -20
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/emitter.d.ts +43 -2
- package/lib/chain/emitter.js +18 -0
- package/lib/chain/emitter.js.map +1 -1
- package/lib/chain/errors/blobSidecarError.d.ts +24 -0
- package/lib/chain/errors/blobSidecarError.js +10 -0
- package/lib/chain/errors/blobSidecarError.js.map +1 -1
- package/lib/chain/errors/blockError.js +1 -0
- package/lib/chain/errors/blockError.js.map +1 -1
- package/lib/chain/errors/dataColumnSidecarError.d.ts +42 -0
- package/lib/chain/errors/dataColumnSidecarError.js +14 -0
- package/lib/chain/errors/dataColumnSidecarError.js.map +1 -1
- package/lib/chain/errors/gossipValidation.js +1 -0
- package/lib/chain/errors/gossipValidation.js.map +1 -1
- package/lib/chain/genesis/genesis.js +16 -5
- package/lib/chain/genesis/genesis.js.map +1 -1
- package/lib/chain/interface.d.ts +10 -7
- package/lib/chain/interface.js.map +1 -1
- package/lib/chain/lightClient/index.js +16 -9
- package/lib/chain/lightClient/index.js.map +1 -1
- package/lib/chain/opPools/aggregatedAttestationPool.js +13 -8
- package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
- package/lib/chain/opPools/attestationPool.js +7 -2
- package/lib/chain/opPools/attestationPool.js.map +1 -1
- package/lib/chain/opPools/opPool.js +10 -12
- package/lib/chain/opPools/opPool.js.map +1 -1
- package/lib/chain/opPools/syncCommitteeMessagePool.js +9 -6
- package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
- package/lib/chain/opPools/syncContributionAndProofPool.js +5 -2
- package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
- package/lib/chain/prepareNextSlot.js +141 -136
- package/lib/chain/prepareNextSlot.js.map +1 -1
- package/lib/chain/regen/errors.js +1 -0
- package/lib/chain/regen/errors.js.map +1 -1
- package/lib/chain/regen/queued.js +35 -28
- package/lib/chain/regen/queued.js.map +1 -1
- package/lib/chain/regen/regen.js +1 -0
- package/lib/chain/regen/regen.js.map +1 -1
- package/lib/chain/reprocess.js +3 -1
- package/lib/chain/reprocess.js.map +1 -1
- package/lib/chain/seenCache/index.d.ts +1 -1
- package/lib/chain/seenCache/index.js +1 -1
- package/lib/chain/seenCache/index.js.map +1 -1
- package/lib/chain/seenCache/seenAggregateAndProof.js +7 -6
- package/lib/chain/seenCache/seenAggregateAndProof.js.map +1 -1
- package/lib/chain/seenCache/seenAttestationData.js +5 -2
- package/lib/chain/seenCache/seenAttestationData.js.map +1 -1
- package/lib/chain/seenCache/seenAttesters.js +2 -4
- package/lib/chain/seenCache/seenAttesters.js.map +1 -1
- package/lib/chain/seenCache/seenBlockProposers.js +2 -4
- package/lib/chain/seenCache/seenBlockProposers.js.map +1 -1
- package/lib/chain/seenCache/seenCommittee.js +1 -3
- package/lib/chain/seenCache/seenCommittee.js.map +1 -1
- package/lib/chain/seenCache/seenCommitteeContribution.js +3 -2
- package/lib/chain/seenCache/seenCommitteeContribution.js.map +1 -1
- package/lib/chain/seenCache/seenGossipBlockInput.d.ts +74 -78
- package/lib/chain/seenCache/seenGossipBlockInput.js +235 -369
- package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
- package/lib/chain/shufflingCache.js +5 -2
- package/lib/chain/shufflingCache.js.map +1 -1
- package/lib/chain/stateCache/blockStateCacheImpl.js +13 -7
- package/lib/chain/stateCache/blockStateCacheImpl.js.map +1 -1
- package/lib/chain/stateCache/datastore/db.js +1 -0
- package/lib/chain/stateCache/datastore/db.js.map +1 -1
- package/lib/chain/stateCache/datastore/file.js +1 -0
- package/lib/chain/stateCache/datastore/file.js.map +1 -1
- package/lib/chain/stateCache/fifoBlockStateCache.js +10 -0
- package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
- package/lib/chain/stateCache/inMemoryCheckpointsCache.js +10 -4
- package/lib/chain/stateCache/inMemoryCheckpointsCache.js.map +1 -1
- package/lib/chain/stateCache/mapMetrics.js +4 -4
- package/lib/chain/stateCache/mapMetrics.js.map +1 -1
- package/lib/chain/stateCache/persistentCheckpointsCache.js +13 -4
- package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
- package/lib/chain/validation/blobSidecar.d.ts +8 -3
- package/lib/chain/validation/blobSidecar.js +73 -31
- package/lib/chain/validation/blobSidecar.js.map +1 -1
- package/lib/chain/validation/dataColumnSidecar.d.ts +7 -9
- package/lib/chain/validation/dataColumnSidecar.js +94 -56
- package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
- package/lib/chain/validatorMonitor.js +2 -1
- package/lib/chain/validatorMonitor.js.map +1 -1
- package/lib/db/beacon.js +24 -0
- package/lib/db/beacon.js.map +1 -1
- package/lib/db/repositories/depositDataRoot.js +1 -0
- package/lib/db/repositories/depositDataRoot.js.map +1 -1
- package/lib/db/single/preGenesisState.js +6 -0
- package/lib/db/single/preGenesisState.js.map +1 -1
- package/lib/db/single/preGenesisStateLastProcessedBlock.js +5 -0
- package/lib/db/single/preGenesisStateLastProcessedBlock.js.map +1 -1
- package/lib/eth1/eth1DataCache.js +2 -0
- package/lib/eth1/eth1DataCache.js.map +1 -1
- package/lib/eth1/eth1DepositDataTracker.js +18 -5
- package/lib/eth1/eth1DepositDataTracker.js.map +1 -1
- package/lib/eth1/eth1DepositsCache.js +3 -0
- package/lib/eth1/eth1DepositsCache.js.map +1 -1
- package/lib/eth1/eth1MergeBlockTracker.js +10 -4
- package/lib/eth1/eth1MergeBlockTracker.js.map +1 -1
- package/lib/eth1/index.js +2 -0
- package/lib/eth1/index.js.map +1 -1
- package/lib/eth1/provider/eth1Provider.js +6 -2
- package/lib/eth1/provider/eth1Provider.js.map +1 -1
- package/lib/eth1/provider/jsonRpcHttpClient.js +16 -2
- package/lib/eth1/provider/jsonRpcHttpClient.js.map +1 -1
- package/lib/eth1/provider/utils.d.ts +5 -0
- package/lib/eth1/provider/utils.js +9 -1
- package/lib/eth1/provider/utils.js.map +1 -1
- package/lib/execution/builder/cache.js +6 -0
- package/lib/execution/builder/cache.js.map +1 -1
- package/lib/execution/builder/http.js +14 -8
- package/lib/execution/builder/http.js.map +1 -1
- package/lib/execution/engine/disabled.js +2 -4
- package/lib/execution/engine/disabled.js.map +1 -1
- package/lib/execution/engine/http.d.ts +2 -2
- package/lib/execution/engine/http.js +43 -11
- package/lib/execution/engine/http.js.map +1 -1
- package/lib/execution/engine/interface.d.ts +2 -2
- package/lib/execution/engine/mock.d.ts +1 -0
- package/lib/execution/engine/mock.js +16 -12
- package/lib/execution/engine/mock.js.map +1 -1
- package/lib/execution/engine/payloadIdCache.js +1 -3
- package/lib/execution/engine/payloadIdCache.js.map +1 -1
- package/lib/execution/engine/types.d.ts +5 -0
- package/lib/execution/engine/types.js +37 -8
- package/lib/execution/engine/types.js.map +1 -1
- package/lib/execution/engine/utils.js +2 -1
- package/lib/execution/engine/utils.js.map +1 -1
- package/lib/metrics/metrics/beacon.d.ts +11 -5
- package/lib/metrics/metrics/beacon.js +40 -20
- package/lib/metrics/metrics/beacon.js.map +1 -1
- package/lib/metrics/metrics/lodestar.d.ts +49 -12
- package/lib/metrics/metrics/lodestar.js +74 -6
- package/lib/metrics/metrics/lodestar.js.map +1 -1
- package/lib/metrics/utils/avgMinMax.js +10 -6
- package/lib/metrics/utils/avgMinMax.js.map +1 -1
- package/lib/metrics/utils/gauge.js +1 -4
- package/lib/metrics/utils/gauge.js.map +1 -1
- package/lib/monitoring/properties.js +4 -0
- package/lib/monitoring/properties.js.map +1 -1
- package/lib/monitoring/service.js +13 -1
- package/lib/monitoring/service.js.map +1 -1
- package/lib/monitoring/system.js +25 -27
- package/lib/monitoring/system.js.map +1 -1
- package/lib/network/core/networkCore.d.ts +1 -1
- package/lib/network/core/networkCore.js +66 -49
- package/lib/network/core/networkCore.js.map +1 -1
- package/lib/network/core/networkCoreWorkerHandler.d.ts +1 -1
- package/lib/network/core/networkCoreWorkerHandler.js +4 -1
- package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
- package/lib/network/discv5/index.js +4 -1
- package/lib/network/discv5/index.js.map +1 -1
- package/lib/network/discv5/worker.js.map +1 -1
- package/lib/network/events.d.ts +2 -18
- package/lib/network/events.js +0 -7
- package/lib/network/events.js.map +1 -1
- package/lib/network/gossip/encoding.js +2 -0
- package/lib/network/gossip/encoding.js.map +1 -1
- package/lib/network/gossip/errors.js +1 -0
- package/lib/network/gossip/errors.js.map +1 -1
- package/lib/network/gossip/gossipsub.js +7 -0
- package/lib/network/gossip/gossipsub.js.map +1 -1
- package/lib/network/gossip/topic.d.ts +49 -49
- package/lib/network/gossip/topic.js +2 -1
- package/lib/network/gossip/topic.js.map +1 -1
- package/lib/network/interface.d.ts +2 -1
- package/lib/network/metadata.js +4 -0
- package/lib/network/metadata.js.map +1 -1
- package/lib/network/network.d.ts +3 -1
- package/lib/network/network.js +89 -71
- package/lib/network/network.js.map +1 -1
- package/lib/network/options.js +1 -1
- package/lib/network/options.js.map +1 -1
- package/lib/network/peers/datastore.js +8 -2
- package/lib/network/peers/datastore.js.map +1 -1
- package/lib/network/peers/discover.js +74 -64
- package/lib/network/peers/discover.js.map +1 -1
- package/lib/network/peers/peerManager.js +154 -130
- package/lib/network/peers/peerManager.js.map +1 -1
- package/lib/network/peers/peersData.d.ts +1 -1
- package/lib/network/peers/peersData.js +1 -3
- package/lib/network/peers/peersData.js.map +1 -1
- package/lib/network/peers/score/score.js +6 -0
- package/lib/network/peers/score/score.js.map +1 -1
- package/lib/network/peers/score/store.js +3 -0
- package/lib/network/peers/score/store.js.map +1 -1
- package/lib/network/peers/utils/subnetMap.js +2 -4
- package/lib/network/peers/utils/subnetMap.js.map +1 -1
- package/lib/network/processor/aggregatorTracker.js +1 -3
- package/lib/network/processor/aggregatorTracker.js.map +1 -1
- package/lib/network/processor/gossipHandlers.js +148 -163
- package/lib/network/processor/gossipHandlers.js.map +1 -1
- package/lib/network/processor/gossipQueues/indexed.js +11 -9
- package/lib/network/processor/gossipQueues/indexed.js.map +1 -1
- package/lib/network/processor/gossipQueues/linear.js +9 -8
- package/lib/network/processor/gossipQueues/linear.js.map +1 -1
- package/lib/network/processor/index.d.ts +2 -1
- package/lib/network/processor/index.js +21 -6
- package/lib/network/processor/index.js.map +1 -1
- package/lib/network/reqresp/ReqRespBeaconNode.js +11 -2
- package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
- package/lib/network/reqresp/index.d.ts +0 -2
- package/lib/network/reqresp/index.js +0 -2
- package/lib/network/reqresp/index.js.map +1 -1
- package/lib/network/reqresp/rateLimit.js +9 -3
- package/lib/network/reqresp/rateLimit.js.map +1 -1
- package/lib/network/statusCache.js +1 -0
- package/lib/network/statusCache.js.map +1 -1
- package/lib/network/subnets/attnetsService.js +73 -65
- package/lib/network/subnets/attnetsService.js.map +1 -1
- package/lib/network/subnets/syncnetsService.js +29 -22
- package/lib/network/subnets/syncnetsService.js.map +1 -1
- package/lib/node/nodejs.js +15 -0
- package/lib/node/nodejs.js.map +1 -1
- package/lib/sync/backfill/backfill.js +57 -15
- package/lib/sync/backfill/backfill.js.map +1 -1
- package/lib/sync/constants.d.ts +2 -1
- package/lib/sync/constants.js +2 -1
- package/lib/sync/constants.js.map +1 -1
- package/lib/sync/interface.d.ts +1 -59
- package/lib/sync/interface.js +0 -20
- package/lib/sync/interface.js.map +1 -1
- package/lib/sync/options.d.ts +1 -1
- package/lib/sync/range/batch.d.ts +48 -32
- package/lib/sync/range/batch.js +201 -55
- package/lib/sync/range/batch.js.map +1 -1
- package/lib/sync/range/chain.d.ts +15 -10
- package/lib/sync/range/chain.js +141 -70
- package/lib/sync/range/chain.js.map +1 -1
- package/lib/sync/range/range.d.ts +2 -2
- package/lib/sync/range/range.js +86 -54
- package/lib/sync/range/range.js.map +1 -1
- package/lib/sync/range/utils/hashBlocks.d.ts +2 -2
- package/lib/sync/range/utils/hashBlocks.js +6 -4
- package/lib/sync/range/utils/hashBlocks.js.map +1 -1
- package/lib/sync/range/utils/peerBalancer.js +18 -13
- package/lib/sync/range/utils/peerBalancer.js.map +1 -1
- package/lib/sync/sync.js +95 -87
- package/lib/sync/sync.js.map +1 -1
- package/lib/sync/types.d.ts +44 -0
- package/lib/sync/types.js +34 -0
- package/lib/sync/types.js.map +1 -0
- package/lib/sync/unknownBlock.d.ts +42 -28
- package/lib/sync/unknownBlock.js +404 -458
- package/lib/sync/unknownBlock.js.map +1 -1
- package/lib/sync/utils/downloadByRange.d.ts +186 -0
- package/lib/sync/utils/downloadByRange.js +457 -0
- package/lib/sync/utils/downloadByRange.js.map +1 -0
- package/lib/sync/utils/downloadByRoot.d.ts +119 -0
- package/lib/sync/utils/downloadByRoot.js +319 -0
- package/lib/sync/utils/downloadByRoot.js.map +1 -0
- package/lib/sync/utils/pendingBlocksTree.d.ts +14 -6
- package/lib/sync/utils/pendingBlocksTree.js +24 -18
- package/lib/sync/utils/pendingBlocksTree.js.map +1 -1
- package/lib/util/array.js +7 -3
- package/lib/util/array.js.map +1 -1
- package/lib/util/asyncIterableToEvents.js +6 -3
- package/lib/util/asyncIterableToEvents.js.map +1 -1
- package/lib/util/binarySearch.js +2 -0
- package/lib/util/binarySearch.js.map +1 -1
- package/lib/util/blobs.d.ts +2 -2
- package/lib/util/blobs.js +4 -4
- package/lib/util/blobs.js.map +1 -1
- package/lib/util/bufferPool.js +7 -2
- package/lib/util/bufferPool.js.map +1 -1
- package/lib/util/clock.js +23 -18
- package/lib/util/clock.js.map +1 -1
- package/lib/util/dataColumns.d.ts +21 -12
- package/lib/util/dataColumns.js +105 -134
- package/lib/util/dataColumns.js.map +1 -1
- package/lib/util/execution.d.ts +11 -0
- package/lib/util/execution.js +131 -0
- package/lib/util/execution.js.map +1 -0
- package/lib/util/itTrigger.js +4 -4
- package/lib/util/itTrigger.js.map +1 -1
- package/lib/util/map.js +2 -0
- package/lib/util/map.js.map +1 -1
- package/lib/util/queue/itemQueue.js +52 -49
- package/lib/util/queue/itemQueue.js.map +1 -1
- package/lib/util/serializedCache.js +1 -3
- package/lib/util/serializedCache.js.map +1 -1
- package/lib/util/set.js +2 -0
- package/lib/util/set.js.map +1 -1
- package/lib/util/sszBytes.d.ts +1 -0
- package/lib/util/sszBytes.js +1 -1
- package/lib/util/sszBytes.js.map +1 -1
- package/lib/util/timeSeries.js +3 -1
- package/lib/util/timeSeries.js.map +1 -1
- package/lib/util/types.d.ts +1 -1
- package/lib/util/types.js +2 -2
- package/lib/util/types.js.map +1 -1
- package/lib/util/wrapError.d.ts +7 -0
- package/package.json +15 -15
- package/lib/chain/seenCache/seenBlockInput.d.ts +0 -84
- package/lib/chain/seenCache/seenBlockInput.js +0 -225
- package/lib/chain/seenCache/seenBlockInput.js.map +0 -1
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.d.ts +0 -28
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js +0 -328
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js.map +0 -1
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.d.ts +0 -49
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js +0 -499
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archiveStore.js","sourceRoot":"","sources":["../../../src/chain/archiveStore/archiveStore.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAC,yCAAyC,EAAC,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAC,oBAAoB,EAAC,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAC,WAAW,EAAyC,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAAC,6BAA6B,EAAC,MAAM,+CAA+C,CAAC;AAC5F,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAC,mBAAmB,EAAC,MAAM,gCAAgC,CAAC;AAWnE;;;GAGG;AACH,MAAM,OAAO,YAAY;
|
|
1
|
+
{"version":3,"file":"archiveStore.js","sourceRoot":"","sources":["../../../src/chain/archiveStore/archiveStore.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAC,yCAAyC,EAAC,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAC,oBAAoB,EAAC,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAC,WAAW,EAAyC,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAAC,6BAA6B,EAAC,MAAM,+CAA+C,CAAC;AAC5F,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAC,mBAAmB,EAAC,MAAM,gCAAgC,CAAC;AAWnE;;;GAGG;AACH,MAAM,OAAO,YAAY;IACf,WAAW,CAAc;IACzB,QAAQ,CAA0C;IAElD,iBAAiB,CAAU;IAClB,sBAAsB,CAAuB;IAC7C,KAAK,CAAe;IACpB,EAAE,CAAY;IACd,MAAM,CAAa;IACnB,OAAO,CAAiB;IACxB,IAAI,CAAuB;IAC3B,MAAM,CAAc;IAE7B,oBAAoB,CAAwB;IAEpD,YAAY,OAA4B,EAAE,IAA0B,EAAE,MAAmB;QACvF,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAEhD,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAA4B,IAAI,CAAC,0BAA0B,EAAE;YAC3F,SAAS,EAAE,yCAAyC;YACpD,MAAM;SACP,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,WAAW,KAAK,WAAW,CAAC,SAAS,EAAE,CAAC;YAC/C,IAAI,CAAC,sBAAsB,GAAG,IAAI,6BAA6B,CAC7D,IAAI,CAAC,KAAK,CAAC,KAAK,EAChB,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,MAAM,EACX,IAAI,EACJ,IAAI,CAAC,KAAK,CAAC,UAAU,CACtB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,CAAC,WAAW,4BAA4B,CAAC,CAAC;QAC3F,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAClF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAEhE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAC1B,OAAO,EACP,GAAG,EAAE;gBACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBACnF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACnE,CAAC,EACD,EAAC,IAAI,EAAE,IAAI,EAAC,CACb,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAC3B,uCAAuC;YACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAC5C,MAAM,eAAe,CACnB,YAAY,CACV,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,KAAK,EAC/C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAC9B,EACD,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,EACvE,MAAM,EACN,IAAI,CAAC,MAAM,CACZ,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACnC,IAAI,CAAC,oBAAoB,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC;gBAC1D,IAAI,EAAE;oBACJ,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW;oBACzC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;iBAC7B;gBACD,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,oBAAoB,EAAE,KAAK,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,oBAAoB,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,IAAY;QAEZ,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;QAEjE,IAAI,IAAI,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,2DAA2D;QAC3D,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAClF,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,EAAC,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC;IAC3G,CAAC;IAED;;SAEK;IACL,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,2EAA2E;IAC3E,iBAAiB;IACjB,2EAA2E;IACnE,qBAAqB,GAAG,KAAK,EAAE,SAA4B,EAAiB,EAAE;QACpF,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC,CAAC;IAEM,YAAY,GAAG,GAAS,EAAE;QAChC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC;QAChE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAChC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,KAAK,EACpD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,KAAK,EACpD,aAAa,CACd,CAAC;QAEF,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAClF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,EAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAC,EAAE,GAAG,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEM,0BAA0B,GAAG,KAAK,EAAE,SAA4B,EAAiB,EAAE;QACzF,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,uCAAuC,EAAE,EAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAC,CAAC,CAAC;YAClH,MAAM,aAAa,CACjB,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,KAAK,CAAC,UAAU,EACrB,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAC5B,IAAI,CAAC,MAAM,EACX,SAAS,EACT,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAC7B,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,EACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CACzC,CAAC;YACF,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC3B,MAAM,YAAY,CAChB,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,cAAc,EACd,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAC9B,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAEjF,8DAA8D;YAC9D,MAAM,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAE7E,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;YAElD,qCAAqC;YACrC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACpE,MAAM,mBAAmB,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAC,EAAE,SAAS,CAAC,CAAC;YAE5F,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,wCAAwC,EAAE;gBAC5D,KAAK,EAAE,cAAc;gBACrB,OAAO,EAAE,SAAS,CAAC,OAAO;gBAC1B,YAAY,EAAE,YAAY,CAAC,MAAM;aAClC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,EAAC,KAAK,EAAE,SAAS,CAAC,KAAK,EAAC,EAAE,CAAU,CAAC,CAAC;QACnG,CAAC;IACH,CAAC,CAAC;CACH"}
|
|
@@ -8,6 +8,8 @@ const WORKER_DIR = process.env.NODE_ENV === "test" ? "../../../../lib/chain/arch
|
|
|
8
8
|
* by running regen in a separate worker thread.
|
|
9
9
|
*/
|
|
10
10
|
export class HistoricalStateRegen {
|
|
11
|
+
api;
|
|
12
|
+
logger;
|
|
11
13
|
constructor(modules) {
|
|
12
14
|
this.api = modules.api;
|
|
13
15
|
this.logger = modules.logger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"historicalStateRegen.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/historicalStateRegen.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAe,MAAM,EAAE,MAAM,EAAE,KAAK,EAAC,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AASnD,iFAAiF;AACjF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,oDAAoD,CAAC,CAAC,CAAC,IAAI,CAAC;AAEjH;;;GAGG;AACH,MAAM,OAAO,oBAAoB;
|
|
1
|
+
{"version":3,"file":"historicalStateRegen.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/historicalStateRegen.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAe,MAAM,EAAE,MAAM,EAAE,KAAK,EAAC,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AASnD,iFAAiF;AACjF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,oDAAoD,CAAC,CAAC,CAAC,IAAI,CAAC;AAEjH;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IACd,GAAG,CAAyC;IAC5C,MAAM,CAAa;IAEpC,YAAY,OAAoC;QAC9C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAwC;QACxD,MAAM,UAAU,GAA8B;YAC5C,eAAe,EAAE,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC;YAClD,qBAAqB,EAAE,OAAO,CAAC,MAAM,CAAC,qBAAqB;YAC3D,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW;YACrC,cAAc,EAAE,CAAC;YACjB,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU;YACnC,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;YACxC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;SACpC,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE;YAC5D,UAAU;SACgC,CAAC,CAAC;QAE9C,MAAM,GAAG,GAAG,MAAM,KAAK,CAA2B,MAAM,EAAE;YACxD,0FAA0F;YAC1F,8FAA8F;YAC9F,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;SACvB,CAAC,CAAC;QAEH,OAAO,IAAI,oBAAoB,CAAC,EAAC,GAAG,OAAO,EAAE,GAAG,EAAC,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAY;QACnC,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF"}
|
|
@@ -14,6 +14,11 @@ export const PERSIST_TEMP_STATE_EVERY_EPOCHS = 32;
|
|
|
14
14
|
* Only the new finalized state is stored to disk
|
|
15
15
|
*/
|
|
16
16
|
export class FrequencyStateArchiveStrategy {
|
|
17
|
+
regen;
|
|
18
|
+
db;
|
|
19
|
+
logger;
|
|
20
|
+
opts;
|
|
21
|
+
bufferPool;
|
|
17
22
|
constructor(regen, db, logger, opts, bufferPool) {
|
|
18
23
|
this.regen = regen;
|
|
19
24
|
this.db = db;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frequencyStateArchiveStrategy.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,kBAAkB,EAAE,uBAAuB,EAAC,MAAM,4BAA4B,CAAC;AAKvF,OAAO,EAAC,WAAW,EAAa,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAC,qBAAqB,EAAC,MAAM,4BAA4B,CAAC;AAEjE,OAAO,EAAC,cAAc,EAAC,MAAM,yBAAyB,CAAC;AAGvD;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,EAAE,CAAC;AAElD;;;;GAIG;AACH,MAAM,OAAO,6BAA6B;
|
|
1
|
+
{"version":3,"file":"frequencyStateArchiveStrategy.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,9 +6,7 @@ const MAX_BALANCE_CACHE_SIZE = 4;
|
|
|
6
6
|
* Cache EffectiveBalanceIncrements of checkpoint blocks
|
|
7
7
|
*/
|
|
8
8
|
export class CheckpointBalancesCache {
|
|
9
|
-
|
|
10
|
-
this.items = [];
|
|
11
|
-
}
|
|
9
|
+
items = [];
|
|
12
10
|
/**
|
|
13
11
|
* Inspect the given `state` and determine the root of the block at the first slot of
|
|
14
12
|
* `state.current_epoch`. If there is not already some entry for the given block root, then
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"balancesCache.js","sourceRoot":"","sources":["../../src/chain/balancesCache.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,uBAAuB,EACvB,kBAAkB,EAClB,yCAAyC,GAC1C,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAE1C,6FAA6F;AAC7F,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAQjC;;GAEG;AACH,MAAM,OAAO,uBAAuB;
|
|
1
|
+
{"version":3,"file":"balancesCache.js","sourceRoot":"","sources":["../../src/chain/balancesCache.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,uBAAuB,EACvB,kBAAkB,EAClB,yCAAyC,GAC1C,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAE1C,6FAA6F;AAC7F,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAQjC;;GAEG;AACH,MAAM,OAAO,uBAAuB;IACjB,KAAK,GAAwB,EAAE,CAAC;IAEjD;;;;OAIG;IACH,YAAY,CAAC,YAAqB,EAAE,KAAgC;QAClE,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QACnC,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,iBAAiB,GACrB,iBAAiB,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC;QAE5G,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,iBAAiB,CAAC,CAAC;QACzG,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,sBAAsB,EAAE,CAAC;gBACjD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;YACD,sCAAsC;YACtC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,yCAAyC,CAAC,KAAK,CAAC,EAAC,CAAC,CAAC;QACnH,CAAC;IACH,CAAC;IAED,GAAG,CAAC,UAA6B;QAC/B,MAAM,EAAC,OAAO,EAAE,KAAK,EAAC,GAAG,UAAU,CAAC;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,EAAE,QAAQ,CAAC;IAC/F,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"beaconProposerCache.js","sourceRoot":"","sources":["../../src/chain/beaconProposerCache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAInC,MAAM,OAAO,mBAAmB;
|
|
1
|
+
{"version":3,"file":"beaconProposerCache.js","sourceRoot":"","sources":["../../src/chain/beaconProposerCache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAInC,MAAM,OAAO,mBAAmB;IACb,4BAA4B,CAAuD;IACpG,YAAY,IAAqC;QAC/C,IAAI,CAAC,4BAA4B,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;YACpD,KAAK,EAAE,CAAC;YACR,YAAY,EAAE,IAAI,CAAC,qBAAqB;SACzC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,GAAG,CAAC,KAAY,EAAE,EAAC,cAAc,EAAE,YAAY,EAA0B;QACvE,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,cAAc,EAAE,EAAC,KAAK,EAAE,YAAY,EAAC,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,KAAY;QAChB,2EAA2E;QAC3E,KAAK,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,IAAI,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9F,8DAA8D;YAC9D,IAAI,iBAAiB,CAAC,KAAK,GAAG,wBAAwB,GAAG,KAAK,EAAE,CAAC;gBAC/D,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;IACH,CAAC;IAED,YAAY,CAAC,aAAqB;QAChC,OAAO,IAAI,CAAC,4BAA4B,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC;IACpF,CAAC;IAED,GAAG,CAAC,aAAqB;QACvB,OAAO,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC;IAC5E,CAAC;IAED,mBAAmB;QACjB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ForkName, ForkPreDeneb } from "@lodestar/params";
|
|
2
2
|
import { BlobIndex, ColumnIndex, SignedBeaconBlock, Slot, deneb, fulu } from "@lodestar/types";
|
|
3
3
|
import { VersionedHashes } from "../../../execution/index.js";
|
|
4
|
-
import { AddBlob, AddBlock, AddColumn, BlobMeta, BlobWithSource, BlockInputInit,
|
|
4
|
+
import { AddBlob, AddBlock, AddColumn, BlobMeta, BlobWithSource, BlockInputInit, ColumnWithSource, CreateBlockInputMeta, DAData, DAType, IBlockInput, LogMetaBasic, LogMetaBlobs, LogMetaColumns, MissingColumnMeta, PromiseParts, SourceMeta } from "./types.js";
|
|
5
5
|
export type BlockInput = BlockInputPreData | BlockInputBlobs | BlockInputColumns;
|
|
6
6
|
export declare function isBlockInputPreDeneb(blockInput: IBlockInput): blockInput is BlockInputPreData;
|
|
7
7
|
export declare function isBlockInputBlobs(blockInput: IBlockInput): blockInput is BlockInputBlobs;
|
|
@@ -64,7 +64,9 @@ export declare class BlockInputPreData extends AbstractBlockInput<ForkPreDeneb,
|
|
|
64
64
|
state: BlockInputPreDataState;
|
|
65
65
|
private constructor();
|
|
66
66
|
static createFromBlock(props: AddBlock & CreateBlockInputMeta): BlockInputPreData;
|
|
67
|
-
addBlock(_: AddBlock
|
|
67
|
+
addBlock(_: AddBlock, opts?: {
|
|
68
|
+
throwOnDuplicateAdd: boolean;
|
|
69
|
+
}): void;
|
|
68
70
|
}
|
|
69
71
|
export type ForkBlobsDA = ForkName.deneb | ForkName.electra;
|
|
70
72
|
type BlockInputBlobsState = {
|
|
@@ -98,9 +100,13 @@ export declare class BlockInputBlobs extends AbstractBlockInput<ForkBlobsDA, den
|
|
|
98
100
|
static createFromBlock(props: AddBlock<ForkBlobsDA> & CreateBlockInputMeta): BlockInputBlobs;
|
|
99
101
|
static createFromBlob(props: AddBlob & CreateBlockInputMeta): BlockInputBlobs;
|
|
100
102
|
getLogMeta(): LogMetaBlobs;
|
|
101
|
-
addBlock({ blockRootHex, block, source }: AddBlock<ForkBlobsDA
|
|
103
|
+
addBlock({ blockRootHex, block, source, seenTimestampSec, peerIdStr }: AddBlock<ForkBlobsDA>, opts?: {
|
|
104
|
+
throwOnDuplicateAdd: boolean;
|
|
105
|
+
}): void;
|
|
102
106
|
hasBlob(blobIndex: BlobIndex): boolean;
|
|
103
|
-
addBlob({ blockRootHex, blobSidecar, source, peerIdStr, seenTimestampSec }: AddBlob
|
|
107
|
+
addBlob({ blockRootHex, blobSidecar, source, peerIdStr, seenTimestampSec }: AddBlob, opts?: {
|
|
108
|
+
throwOnDuplicateAdd: boolean;
|
|
109
|
+
}): void;
|
|
104
110
|
getVersionedHashes(): VersionedHashes;
|
|
105
111
|
getMissingBlobMeta(): BlobMeta[];
|
|
106
112
|
getAllBlobsWithSource(): BlobWithSource[];
|
|
@@ -143,6 +149,7 @@ export declare class BlockInputColumns extends AbstractBlockInput<ForkColumnsDA,
|
|
|
143
149
|
private readonly sampledColumns;
|
|
144
150
|
private readonly custodyColumns;
|
|
145
151
|
private constructor();
|
|
152
|
+
get columnCount(): number;
|
|
146
153
|
static createFromBlock(props: AddBlock<ForkColumnsDA> & CreateBlockInputMeta & {
|
|
147
154
|
sampledColumns: ColumnIndex[];
|
|
148
155
|
custodyColumns: ColumnIndex[];
|
|
@@ -152,15 +159,20 @@ export declare class BlockInputColumns extends AbstractBlockInput<ForkColumnsDA,
|
|
|
152
159
|
custodyColumns: ColumnIndex[];
|
|
153
160
|
}): BlockInputColumns;
|
|
154
161
|
getLogMeta(): LogMetaColumns;
|
|
155
|
-
addBlock(props: AddBlock<ForkColumnsDA
|
|
156
|
-
|
|
162
|
+
addBlock(props: AddBlock<ForkColumnsDA>, opts?: {
|
|
163
|
+
throwOnDuplicateAdd: boolean;
|
|
164
|
+
}): void;
|
|
165
|
+
addColumn({ blockRootHex, columnSidecar, source, seenTimestampSec, peerIdStr }: AddColumn, opts?: {
|
|
166
|
+
throwOnDuplicateAdd: boolean;
|
|
167
|
+
}): void;
|
|
157
168
|
hasColumn(columnIndex: number): boolean;
|
|
158
169
|
getVersionedHashes(): VersionedHashes;
|
|
159
170
|
getCustodyColumns(): fulu.DataColumnSidecars;
|
|
171
|
+
getSampledColumnsWithSource(): ColumnWithSource[];
|
|
160
172
|
getSampledColumns(): fulu.DataColumnSidecars;
|
|
161
173
|
getAllColumnsWithSource(): ColumnWithSource[];
|
|
162
174
|
getAllColumns(): fulu.DataColumnSidecars;
|
|
163
|
-
getMissingSampledColumnMeta():
|
|
175
|
+
getMissingSampledColumnMeta(): MissingColumnMeta;
|
|
164
176
|
}
|
|
165
177
|
export {};
|
|
166
178
|
//# sourceMappingURL=blockInput.d.ts.map
|
|
@@ -25,9 +25,15 @@ function createPromise() {
|
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
27
|
class AbstractBlockInput {
|
|
28
|
+
daOutOfRange;
|
|
29
|
+
timeCreatedSec;
|
|
30
|
+
forkName;
|
|
31
|
+
slot;
|
|
32
|
+
blockRootHex;
|
|
33
|
+
parentRootHex;
|
|
34
|
+
blockPromise = createPromise();
|
|
35
|
+
dataPromise = createPromise();
|
|
28
36
|
constructor(init) {
|
|
29
|
-
this.blockPromise = createPromise();
|
|
30
|
-
this.dataPromise = createPromise();
|
|
31
37
|
this.daOutOfRange = init.daOutOfRange;
|
|
32
38
|
this.timeCreatedSec = init.timeCreated;
|
|
33
39
|
this.forkName = init.forkName;
|
|
@@ -64,8 +70,8 @@ class AbstractBlockInput {
|
|
|
64
70
|
}
|
|
65
71
|
getLogMeta() {
|
|
66
72
|
return {
|
|
67
|
-
blockRoot: prettyBytes(this.blockRootHex),
|
|
68
73
|
slot: this.slot,
|
|
74
|
+
blockRoot: prettyBytes(this.blockRootHex),
|
|
69
75
|
timeCreatedSec: this.timeCreatedSec,
|
|
70
76
|
};
|
|
71
77
|
}
|
|
@@ -99,15 +105,18 @@ class AbstractBlockInput {
|
|
|
99
105
|
* - the block simply exists
|
|
100
106
|
*/
|
|
101
107
|
export class BlockInputPreData extends AbstractBlockInput {
|
|
108
|
+
type = DAType.PreData;
|
|
109
|
+
state;
|
|
102
110
|
constructor(init, state) {
|
|
103
111
|
super(init);
|
|
104
|
-
this.type = DAType.PreData;
|
|
105
112
|
this.state = state;
|
|
113
|
+
this.dataPromise.resolve(null);
|
|
114
|
+
this.blockPromise.resolve(state.block);
|
|
106
115
|
}
|
|
107
116
|
static createFromBlock(props) {
|
|
108
117
|
const init = {
|
|
109
118
|
daOutOfRange: props.daOutOfRange,
|
|
110
|
-
timeCreated: props.
|
|
119
|
+
timeCreated: props.seenTimestampSec,
|
|
111
120
|
forkName: props.forkName,
|
|
112
121
|
slot: props.block.message.slot,
|
|
113
122
|
blockRootHex: props.blockRootHex,
|
|
@@ -117,16 +126,22 @@ export class BlockInputPreData extends AbstractBlockInput {
|
|
|
117
126
|
hasBlock: true,
|
|
118
127
|
hasAllData: true,
|
|
119
128
|
block: props.block,
|
|
120
|
-
source:
|
|
121
|
-
|
|
129
|
+
source: {
|
|
130
|
+
source: props.source,
|
|
131
|
+
seenTimestampSec: props.seenTimestampSec,
|
|
132
|
+
peerIdStr: props.peerIdStr,
|
|
133
|
+
},
|
|
134
|
+
timeCompleteSec: props.seenTimestampSec,
|
|
122
135
|
};
|
|
123
136
|
return new BlockInputPreData(init, state);
|
|
124
137
|
}
|
|
125
|
-
addBlock(_) {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
138
|
+
addBlock(_, opts = { throwOnDuplicateAdd: true }) {
|
|
139
|
+
if (opts.throwOnDuplicateAdd) {
|
|
140
|
+
throw new BlockInputError({
|
|
141
|
+
code: BlockInputErrorCode.INVALID_CONSTRUCTION,
|
|
142
|
+
blockRoot: this.blockRootHex,
|
|
143
|
+
}, "Cannot addBlock to BlockInputPreData");
|
|
144
|
+
}
|
|
130
145
|
}
|
|
131
146
|
}
|
|
132
147
|
/**
|
|
@@ -136,10 +151,11 @@ export class BlockInputPreData extends AbstractBlockInput {
|
|
|
136
151
|
* - The block is yet not seen and its unknown if all blobs are seen
|
|
137
152
|
*/
|
|
138
153
|
export class BlockInputBlobs extends AbstractBlockInput {
|
|
154
|
+
type = DAType.Blobs;
|
|
155
|
+
state;
|
|
156
|
+
blobsCache = new Map();
|
|
139
157
|
constructor(init, state) {
|
|
140
158
|
super(init);
|
|
141
|
-
this.type = DAType.Blobs;
|
|
142
|
-
this.blobsCache = new Map();
|
|
143
159
|
this.state = state;
|
|
144
160
|
}
|
|
145
161
|
static createFromBlock(props) {
|
|
@@ -149,12 +165,16 @@ export class BlockInputBlobs extends AbstractBlockInput {
|
|
|
149
165
|
hasAllData,
|
|
150
166
|
versionedHashes: props.block.message.body.blobKzgCommitments.map(kzgCommitmentToVersionedHash),
|
|
151
167
|
block: props.block,
|
|
152
|
-
source:
|
|
153
|
-
|
|
168
|
+
source: {
|
|
169
|
+
source: props.source,
|
|
170
|
+
seenTimestampSec: props.seenTimestampSec,
|
|
171
|
+
peerIdStr: props.peerIdStr,
|
|
172
|
+
},
|
|
173
|
+
timeCompleteSec: hasAllData ? props.seenTimestampSec : undefined,
|
|
154
174
|
};
|
|
155
175
|
const init = {
|
|
156
176
|
daOutOfRange: props.daOutOfRange,
|
|
157
|
-
timeCreated: props.
|
|
177
|
+
timeCreated: props.seenTimestampSec,
|
|
158
178
|
forkName: props.forkName,
|
|
159
179
|
slot: props.block.message.slot,
|
|
160
180
|
blockRootHex: props.blockRootHex,
|
|
@@ -191,30 +211,33 @@ export class BlockInputBlobs extends AbstractBlockInput {
|
|
|
191
211
|
}
|
|
192
212
|
getLogMeta() {
|
|
193
213
|
return {
|
|
194
|
-
blockRoot: prettyBytes(this.blockRootHex),
|
|
195
214
|
slot: this.slot,
|
|
215
|
+
blockRoot: prettyBytes(this.blockRootHex),
|
|
196
216
|
timeCreatedSec: this.timeCreatedSec,
|
|
197
217
|
expectedBlobs: this.state.hasBlock ? this.state.block.message.body.blobKzgCommitments.length : "unknown",
|
|
198
218
|
receivedBlobs: this.blobsCache.size,
|
|
199
219
|
};
|
|
200
220
|
}
|
|
201
|
-
addBlock({ blockRootHex, block, source }) {
|
|
202
|
-
if (this.state.hasBlock) {
|
|
203
|
-
throw new BlockInputError({
|
|
204
|
-
code: BlockInputErrorCode.INVALID_CONSTRUCTION,
|
|
205
|
-
blockRoot: this.blockRootHex,
|
|
206
|
-
}, "Cannot addBlock to BlockInputBlobs after it already has a block");
|
|
207
|
-
}
|
|
221
|
+
addBlock({ blockRootHex, block, source, seenTimestampSec, peerIdStr }, opts = { throwOnDuplicateAdd: true }) {
|
|
208
222
|
// this check suffices for checking slot, parentRoot, and forkName
|
|
209
223
|
if (blockRootHex !== this.blockRootHex) {
|
|
210
224
|
throw new BlockInputError({
|
|
211
225
|
code: BlockInputErrorCode.MISMATCHED_ROOT_HEX,
|
|
212
226
|
blockInputRoot: this.blockRootHex,
|
|
213
227
|
mismatchedRoot: blockRootHex,
|
|
214
|
-
source
|
|
215
|
-
peerId: `${
|
|
228
|
+
source,
|
|
229
|
+
peerId: `${peerIdStr}`,
|
|
216
230
|
}, "addBlock blockRootHex does not match BlockInput.blockRootHex");
|
|
217
231
|
}
|
|
232
|
+
if (!opts.throwOnDuplicateAdd) {
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
if (this.state.hasBlock) {
|
|
236
|
+
throw new BlockInputError({
|
|
237
|
+
code: BlockInputErrorCode.INVALID_CONSTRUCTION,
|
|
238
|
+
blockRoot: this.blockRootHex,
|
|
239
|
+
}, "Cannot addBlock to BlockInputBlobs after it already has a block");
|
|
240
|
+
}
|
|
218
241
|
for (const { blobSidecar } of this.blobsCache.values()) {
|
|
219
242
|
if (!blockAndBlobArePaired(block, blobSidecar)) {
|
|
220
243
|
this.blobsCache.delete(blobSidecar.index);
|
|
@@ -229,8 +252,12 @@ export class BlockInputBlobs extends AbstractBlockInput {
|
|
|
229
252
|
hasAllData,
|
|
230
253
|
block,
|
|
231
254
|
versionedHashes: block.message.body.blobKzgCommitments.map(kzgCommitmentToVersionedHash),
|
|
232
|
-
source
|
|
233
|
-
|
|
255
|
+
source: {
|
|
256
|
+
source,
|
|
257
|
+
seenTimestampSec,
|
|
258
|
+
peerIdStr,
|
|
259
|
+
},
|
|
260
|
+
timeCompleteSec: hasAllData ? seenTimestampSec : undefined,
|
|
234
261
|
};
|
|
235
262
|
this.blockPromise.resolve(block);
|
|
236
263
|
if (hasAllData) {
|
|
@@ -240,19 +267,7 @@ export class BlockInputBlobs extends AbstractBlockInput {
|
|
|
240
267
|
hasBlob(blobIndex) {
|
|
241
268
|
return this.blobsCache.has(blobIndex);
|
|
242
269
|
}
|
|
243
|
-
addBlob({ blockRootHex, blobSidecar, source, peerIdStr, seenTimestampSec }) {
|
|
244
|
-
if (this.state.hasAllData) {
|
|
245
|
-
throw new BlockInputError({
|
|
246
|
-
code: BlockInputErrorCode.INVALID_CONSTRUCTION,
|
|
247
|
-
blockRoot: this.blockRootHex,
|
|
248
|
-
}, "Cannot addBlob to BlockInputBlobs after it already is complete");
|
|
249
|
-
}
|
|
250
|
-
if (this.blobsCache.has(blobSidecar.index)) {
|
|
251
|
-
throw new BlockInputError({
|
|
252
|
-
code: BlockInputErrorCode.INVALID_CONSTRUCTION,
|
|
253
|
-
blockRoot: this.blockRootHex,
|
|
254
|
-
}, "Cannot addBlob to BlockInputBlobs with duplicate blobIndex");
|
|
255
|
-
}
|
|
270
|
+
addBlob({ blockRootHex, blobSidecar, source, peerIdStr, seenTimestampSec }, opts = { throwOnDuplicateAdd: true }) {
|
|
256
271
|
// this check suffices for checking slot, parentRoot, and forkName
|
|
257
272
|
if (blockRootHex !== this.blockRootHex) {
|
|
258
273
|
throw new BlockInputError({
|
|
@@ -263,9 +278,19 @@ export class BlockInputBlobs extends AbstractBlockInput {
|
|
|
263
278
|
peerId: `${peerIdStr}`,
|
|
264
279
|
}, "Blob BeaconBlockHeader blockRootHex does not match BlockInput.blockRootHex");
|
|
265
280
|
}
|
|
281
|
+
const isDuplicate = this.blobsCache.has(blobSidecar.index);
|
|
282
|
+
if (isDuplicate && opts.throwOnDuplicateAdd) {
|
|
283
|
+
throw new BlockInputError({
|
|
284
|
+
code: BlockInputErrorCode.INVALID_CONSTRUCTION,
|
|
285
|
+
blockRoot: this.blockRootHex,
|
|
286
|
+
}, "Cannot addBlob to BlockInputBlobs with duplicate blobIndex");
|
|
287
|
+
}
|
|
266
288
|
if (this.state.hasBlock) {
|
|
267
289
|
assertBlockAndBlobArePaired(this.blockRootHex, this.state.block, blobSidecar);
|
|
268
290
|
}
|
|
291
|
+
if (isDuplicate) {
|
|
292
|
+
return;
|
|
293
|
+
}
|
|
269
294
|
this.blobsCache.set(blobSidecar.index, { blobSidecar, source, seenTimestampSec, peerIdStr });
|
|
270
295
|
if (this.state.hasBlock && this.blobsCache.size === this.state.block.message.body.blobKzgCommitments.length) {
|
|
271
296
|
this.state = {
|
|
@@ -302,7 +327,7 @@ export class BlockInputBlobs extends AbstractBlockInput {
|
|
|
302
327
|
blobMeta.push({
|
|
303
328
|
index,
|
|
304
329
|
blockRoot: fromHex(this.blockRootHex),
|
|
305
|
-
|
|
330
|
+
versionedHash: versionedHashes[index],
|
|
306
331
|
});
|
|
307
332
|
}
|
|
308
333
|
}
|
|
@@ -349,14 +374,20 @@ function assertBlockAndBlobArePaired(blockRootHex, block, blobSidecar) {
|
|
|
349
374
|
* - The block is not yet seen and all required sampled columns are not yet seen
|
|
350
375
|
*/
|
|
351
376
|
export class BlockInputColumns extends AbstractBlockInput {
|
|
377
|
+
type = DAType.Columns;
|
|
378
|
+
state;
|
|
379
|
+
columnsCache = new Map();
|
|
380
|
+
sampledColumns;
|
|
381
|
+
custodyColumns;
|
|
352
382
|
constructor(init, state, sampledColumns, custodyColumns) {
|
|
353
383
|
super(init);
|
|
354
|
-
this.type = DAType.Columns;
|
|
355
|
-
this.columnsCache = new Map();
|
|
356
384
|
this.state = state;
|
|
357
385
|
this.sampledColumns = sampledColumns;
|
|
358
386
|
this.custodyColumns = custodyColumns;
|
|
359
387
|
}
|
|
388
|
+
get columnCount() {
|
|
389
|
+
return this.columnsCache.size;
|
|
390
|
+
}
|
|
360
391
|
static createFromBlock(props) {
|
|
361
392
|
const hasAllData = props.daOutOfRange ||
|
|
362
393
|
props.block.message.body.blobKzgCommitments.length === 0 ||
|
|
@@ -366,13 +397,17 @@ export class BlockInputColumns extends AbstractBlockInput {
|
|
|
366
397
|
hasAllData,
|
|
367
398
|
versionedHashes: props.block.message.body.blobKzgCommitments.map(kzgCommitmentToVersionedHash),
|
|
368
399
|
block: props.block,
|
|
369
|
-
source:
|
|
370
|
-
|
|
371
|
-
|
|
400
|
+
source: {
|
|
401
|
+
source: props.source,
|
|
402
|
+
seenTimestampSec: props.seenTimestampSec,
|
|
403
|
+
peerIdStr: props.peerIdStr,
|
|
404
|
+
},
|
|
405
|
+
timeCreated: props.seenTimestampSec,
|
|
406
|
+
timeCompleteSec: hasAllData ? props.seenTimestampSec : undefined,
|
|
372
407
|
};
|
|
373
408
|
const init = {
|
|
374
409
|
daOutOfRange: props.daOutOfRange,
|
|
375
|
-
timeCreated: props.
|
|
410
|
+
timeCreated: props.seenTimestampSec,
|
|
376
411
|
forkName: props.forkName,
|
|
377
412
|
blockRootHex: props.blockRootHex,
|
|
378
413
|
parentRootHex: toRootHex(props.block.message.parentRoot),
|
|
@@ -408,8 +443,8 @@ export class BlockInputColumns extends AbstractBlockInput {
|
|
|
408
443
|
}
|
|
409
444
|
getLogMeta() {
|
|
410
445
|
return {
|
|
411
|
-
blockRoot: prettyBytes(this.blockRootHex),
|
|
412
446
|
slot: this.slot,
|
|
447
|
+
blockRoot: prettyBytes(this.blockRootHex),
|
|
413
448
|
timeCreatedSec: this.timeCreatedSec,
|
|
414
449
|
expectedColumns: this.state.hasBlock && this.state.block.message.body.blobKzgCommitments.length === 0
|
|
415
450
|
? 0
|
|
@@ -417,27 +452,24 @@ export class BlockInputColumns extends AbstractBlockInput {
|
|
|
417
452
|
receivedColumns: this.getSampledColumns().length,
|
|
418
453
|
};
|
|
419
454
|
}
|
|
420
|
-
addBlock(props) {
|
|
421
|
-
if (this.state.hasBlock) {
|
|
422
|
-
throw new BlockInputError({
|
|
423
|
-
code: BlockInputErrorCode.INVALID_CONSTRUCTION,
|
|
424
|
-
blockRoot: this.blockRootHex,
|
|
425
|
-
}, "Cannot addBlock to BlockInputColumns after it already has a block");
|
|
426
|
-
}
|
|
455
|
+
addBlock(props, opts = { throwOnDuplicateAdd: true }) {
|
|
427
456
|
if (props.blockRootHex !== this.blockRootHex) {
|
|
428
457
|
throw new BlockInputError({
|
|
429
458
|
code: BlockInputErrorCode.MISMATCHED_ROOT_HEX,
|
|
430
459
|
blockInputRoot: this.blockRootHex,
|
|
431
460
|
mismatchedRoot: props.blockRootHex,
|
|
432
|
-
source: props.source
|
|
433
|
-
peerId: `${props.
|
|
461
|
+
source: props.source,
|
|
462
|
+
peerId: `${props.peerIdStr}`,
|
|
434
463
|
}, "addBlock blockRootHex does not match BlockInput.blockRootHex");
|
|
435
464
|
}
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
465
|
+
if (!opts.throwOnDuplicateAdd) {
|
|
466
|
+
return;
|
|
467
|
+
}
|
|
468
|
+
if (this.state.hasBlock) {
|
|
469
|
+
throw new BlockInputError({
|
|
470
|
+
code: BlockInputErrorCode.INVALID_CONSTRUCTION,
|
|
471
|
+
blockRoot: this.blockRootHex,
|
|
472
|
+
}, "Cannot addBlock to BlockInputColumns after it already has a block");
|
|
441
473
|
}
|
|
442
474
|
const hasAllData = props.block.message.body.blobKzgCommitments.length === 0 || this.state.hasAllData;
|
|
443
475
|
this.state = {
|
|
@@ -445,12 +477,16 @@ export class BlockInputColumns extends AbstractBlockInput {
|
|
|
445
477
|
hasBlock: true,
|
|
446
478
|
hasAllData,
|
|
447
479
|
block: props.block,
|
|
448
|
-
source:
|
|
449
|
-
|
|
480
|
+
source: {
|
|
481
|
+
source: props.source,
|
|
482
|
+
seenTimestampSec: props.seenTimestampSec,
|
|
483
|
+
peerIdStr: props.peerIdStr,
|
|
484
|
+
},
|
|
485
|
+
timeCompleteSec: hasAllData ? props.seenTimestampSec : undefined,
|
|
450
486
|
};
|
|
451
487
|
this.blockPromise.resolve(props.block);
|
|
452
488
|
}
|
|
453
|
-
addColumn({ blockRootHex, columnSidecar, source, seenTimestampSec, peerIdStr }) {
|
|
489
|
+
addColumn({ blockRootHex, columnSidecar, source, seenTimestampSec, peerIdStr }, opts = { throwOnDuplicateAdd: true }) {
|
|
454
490
|
if (blockRootHex !== this.blockRootHex) {
|
|
455
491
|
throw new BlockInputError({
|
|
456
492
|
code: BlockInputErrorCode.MISMATCHED_ROOT_HEX,
|
|
@@ -460,8 +496,15 @@ export class BlockInputColumns extends AbstractBlockInput {
|
|
|
460
496
|
peerId: `${peerIdStr}`,
|
|
461
497
|
}, "Column BeaconBlockHeader blockRootHex does not match BlockInput.blockRootHex");
|
|
462
498
|
}
|
|
463
|
-
|
|
464
|
-
|
|
499
|
+
const isDuplicate = this.columnsCache.has(columnSidecar.index);
|
|
500
|
+
if (isDuplicate && opts.throwOnDuplicateAdd) {
|
|
501
|
+
throw new BlockInputError({
|
|
502
|
+
code: BlockInputErrorCode.INVALID_CONSTRUCTION,
|
|
503
|
+
blockRoot: this.blockRootHex,
|
|
504
|
+
}, "Cannot addColumn to BlockInputColumns with duplicate column index");
|
|
505
|
+
}
|
|
506
|
+
if (isDuplicate) {
|
|
507
|
+
return;
|
|
465
508
|
}
|
|
466
509
|
this.columnsCache.set(columnSidecar.index, { columnSidecar, source, seenTimestampSec, peerIdStr });
|
|
467
510
|
const sampledColumns = this.getSampledColumns();
|
|
@@ -491,6 +534,16 @@ export class BlockInputColumns extends AbstractBlockInput {
|
|
|
491
534
|
}
|
|
492
535
|
return columns;
|
|
493
536
|
}
|
|
537
|
+
getSampledColumnsWithSource() {
|
|
538
|
+
const columns = [];
|
|
539
|
+
for (const index of this.sampledColumns) {
|
|
540
|
+
const column = this.columnsCache.get(index);
|
|
541
|
+
if (column) {
|
|
542
|
+
columns.push(column);
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
return columns;
|
|
546
|
+
}
|
|
494
547
|
getSampledColumns() {
|
|
495
548
|
const columns = [];
|
|
496
549
|
for (const index of this.sampledColumns) {
|
|
@@ -509,30 +562,21 @@ export class BlockInputColumns extends AbstractBlockInput {
|
|
|
509
562
|
}
|
|
510
563
|
getMissingSampledColumnMeta() {
|
|
511
564
|
if (this.state.hasAllData) {
|
|
512
|
-
return
|
|
565
|
+
return {
|
|
566
|
+
missing: [],
|
|
567
|
+
versionedHashes: this.state.versionedHashes,
|
|
568
|
+
};
|
|
513
569
|
}
|
|
514
|
-
const
|
|
515
|
-
const blockRoot = fromHex(this.blockRootHex);
|
|
570
|
+
const missing = [];
|
|
516
571
|
for (const index of this.sampledColumns) {
|
|
517
572
|
if (!this.columnsCache.has(index)) {
|
|
518
|
-
|
|
573
|
+
missing.push(index);
|
|
519
574
|
}
|
|
520
575
|
}
|
|
521
|
-
return
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
return (block.message.body.blobKzgCommitments.length === columnSidecar.kzgCommitments.length &&
|
|
526
|
-
block.message.body.blobKzgCommitments.every((commitment, index) => Buffer.compare(commitment, columnSidecar.kzgCommitments[index])));
|
|
527
|
-
}
|
|
528
|
-
function assertBlockAndColumnArePaired(blockRootHex, block, columnSidecar) {
|
|
529
|
-
if (!blockAndColumnArePaired(block, columnSidecar)) {
|
|
530
|
-
throw new BlockInputError({
|
|
531
|
-
code: BlockInputErrorCode.MISMATCHED_KZG_COMMITMENT,
|
|
532
|
-
blockRoot: blockRootHex,
|
|
533
|
-
slot: block.message.slot,
|
|
534
|
-
sidecarIndex: columnSidecar.index,
|
|
535
|
-
}, "DataColumnsSidecar kzgCommitment does not match block kzgCommitment");
|
|
576
|
+
return {
|
|
577
|
+
missing,
|
|
578
|
+
versionedHashes: this.state.versionedHashes,
|
|
579
|
+
};
|
|
536
580
|
}
|
|
537
581
|
}
|
|
538
582
|
//# sourceMappingURL=blockInput.js.map
|