@lodestar/beacon-node 1.23.0-dev.de0d6ab89b → 1.23.0-dev.e2c45b9ca5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/impl/api.js.map +1 -1
- package/lib/api/impl/beacon/blocks/index.js +18 -15
- package/lib/api/impl/beacon/blocks/index.js.map +1 -1
- package/lib/api/impl/beacon/blocks/utils.d.ts +1 -1
- package/lib/api/impl/beacon/blocks/utils.js +1 -1
- package/lib/api/impl/beacon/blocks/utils.js.map +1 -1
- package/lib/api/impl/beacon/index.js +1 -1
- package/lib/api/impl/beacon/index.js.map +1 -1
- package/lib/api/impl/beacon/pool/index.js +5 -5
- package/lib/api/impl/beacon/pool/index.js.map +1 -1
- package/lib/api/impl/beacon/state/index.d.ts +1 -1
- package/lib/api/impl/beacon/state/index.js +3 -9
- package/lib/api/impl/beacon/state/index.js.map +1 -1
- package/lib/api/impl/beacon/state/utils.d.ts +2 -2
- package/lib/api/impl/beacon/state/utils.js.map +1 -1
- package/lib/api/impl/config/constants.js +1 -1
- package/lib/api/impl/config/constants.js.map +1 -1
- package/lib/api/impl/config/index.js.map +1 -1
- package/lib/api/impl/debug/index.js +1 -1
- package/lib/api/impl/debug/index.js.map +1 -1
- package/lib/api/impl/lightclient/index.js +1 -1
- package/lib/api/impl/lightclient/index.js.map +1 -1
- package/lib/api/impl/lodestar/index.js +2 -2
- package/lib/api/impl/lodestar/index.js.map +1 -1
- package/lib/api/impl/node/index.d.ts +1 -1
- package/lib/api/impl/node/index.js.map +1 -1
- package/lib/api/impl/proof/index.d.ts +1 -1
- package/lib/api/impl/proof/index.js +2 -2
- package/lib/api/impl/proof/index.js.map +1 -1
- package/lib/api/impl/types.d.ts +2 -2
- package/lib/api/impl/validator/index.d.ts +32 -1
- package/lib/api/impl/validator/index.js +79 -17
- package/lib/api/impl/validator/index.js.map +1 -1
- package/lib/api/impl/validator/utils.d.ts +4 -3
- package/lib/api/impl/validator/utils.js +17 -9
- package/lib/api/impl/validator/utils.js.map +1 -1
- package/lib/api/options.js.map +1 -1
- package/lib/api/rest/base.d.ts +1 -1
- package/lib/api/rest/base.js +3 -3
- package/lib/api/rest/base.js.map +1 -1
- package/lib/api/rest/index.d.ts +2 -2
- package/lib/api/rest/index.js.map +1 -1
- package/lib/chain/archiver/archiveBlocks.d.ts +2 -2
- package/lib/chain/archiver/archiveBlocks.js +1 -1
- package/lib/chain/archiver/archiveBlocks.js.map +1 -1
- package/lib/chain/archiver/archiver.d.ts +40 -0
- package/lib/chain/archiver/archiver.js +117 -0
- package/lib/chain/archiver/archiver.js.map +1 -0
- package/lib/chain/archiver/index.d.ts +2 -54
- package/lib/chain/archiver/index.js +2 -104
- package/lib/chain/archiver/index.js.map +1 -1
- package/lib/chain/archiver/interface.d.ts +39 -0
- package/lib/chain/archiver/interface.js +8 -0
- package/lib/chain/archiver/interface.js.map +1 -0
- package/lib/chain/archiver/{archiveStates.d.ts → strategies/frequencyStateArchiveStrategy.d.ts} +17 -15
- package/lib/chain/archiver/{archiveStates.js → strategies/frequencyStateArchiveStrategy.js} +8 -6
- package/lib/chain/archiver/strategies/frequencyStateArchiveStrategy.js.map +1 -0
- package/lib/chain/balancesCache.d.ts +1 -1
- package/lib/chain/balancesCache.js.map +1 -1
- package/lib/chain/beaconProposerCache.d.ts +1 -1
- package/lib/chain/blocks/importBlock.js +8 -8
- package/lib/chain/blocks/importBlock.js.map +1 -1
- package/lib/chain/blocks/index.d.ts +2 -2
- package/lib/chain/blocks/index.js +1 -1
- package/lib/chain/blocks/index.js.map +1 -1
- package/lib/chain/blocks/types.d.ts +4 -4
- package/lib/chain/blocks/types.js +1 -1
- package/lib/chain/blocks/types.js.map +1 -1
- package/lib/chain/blocks/utils/checkpoint.js +1 -1
- package/lib/chain/blocks/utils/checkpoint.js.map +1 -1
- package/lib/chain/blocks/verifyBlock.d.ts +2 -2
- package/lib/chain/blocks/verifyBlock.js +8 -8
- package/lib/chain/blocks/verifyBlock.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts +2 -2
- package/lib/chain/blocks/verifyBlocksDataAvailability.js +18 -9
- package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts +6 -6
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +5 -5
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksSanityChecks.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksSignatures.d.ts +1 -1
- package/lib/chain/blocks/verifyBlocksSignatures.js +1 -1
- package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js +2 -2
- package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js.map +1 -1
- package/lib/chain/bls/multithread/index.d.ts +1 -1
- package/lib/chain/bls/multithread/index.js +6 -6
- package/lib/chain/bls/multithread/index.js.map +1 -1
- package/lib/chain/bls/multithread/jobItem.d.ts +2 -2
- package/lib/chain/bls/multithread/jobItem.js +1 -1
- package/lib/chain/bls/multithread/jobItem.js.map +1 -1
- package/lib/chain/bls/multithread/worker.js +1 -1
- package/lib/chain/bls/multithread/worker.js.map +1 -1
- package/lib/chain/chain.d.ts +24 -24
- package/lib/chain/chain.js +24 -24
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/emitter.d.ts +1 -1
- package/lib/chain/errors/attestationError.d.ts +1 -1
- package/lib/chain/errors/blobSidecarError.d.ts +1 -1
- package/lib/chain/errors/blockError.d.ts +1 -1
- package/lib/chain/errors/blockError.js.map +1 -1
- package/lib/chain/errors/syncCommitteeError.d.ts +1 -1
- package/lib/chain/forkChoice/index.d.ts +1 -1
- package/lib/chain/forkChoice/index.js +3 -3
- package/lib/chain/forkChoice/index.js.map +1 -1
- package/lib/chain/genesis/genesis.d.ts +3 -3
- package/lib/chain/genesis/genesis.js +2 -2
- package/lib/chain/genesis/genesis.js.map +1 -1
- package/lib/chain/genesis/interface.d.ts +1 -1
- package/lib/chain/historicalState/getHistoricalState.d.ts +1 -1
- package/lib/chain/historicalState/getHistoricalState.js.map +1 -1
- package/lib/chain/historicalState/index.js +1 -1
- package/lib/chain/historicalState/index.js.map +1 -1
- package/lib/chain/historicalState/worker.js +4 -4
- package/lib/chain/historicalState/worker.js.map +1 -1
- package/lib/chain/initState.d.ts +2 -2
- package/lib/chain/initState.js.map +1 -1
- package/lib/chain/interface.d.ts +21 -21
- package/lib/chain/interface.js.map +1 -1
- package/lib/chain/lightClient/index.d.ts +2 -2
- package/lib/chain/lightClient/index.js +6 -6
- package/lib/chain/lightClient/index.js.map +1 -1
- package/lib/chain/lightClient/proofs.d.ts +1 -1
- package/lib/chain/lightClient/proofs.js +1 -1
- package/lib/chain/lightClient/proofs.js.map +1 -1
- package/lib/chain/opPools/aggregatedAttestationPool.d.ts +3 -3
- package/lib/chain/opPools/aggregatedAttestationPool.js +6 -6
- package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
- package/lib/chain/opPools/attestationPool.d.ts +2 -2
- package/lib/chain/opPools/attestationPool.js +2 -2
- package/lib/chain/opPools/attestationPool.js.map +1 -1
- package/lib/chain/opPools/opPool.d.ts +2 -2
- package/lib/chain/opPools/opPool.js +2 -2
- package/lib/chain/opPools/opPool.js.map +1 -1
- package/lib/chain/opPools/syncCommitteeMessagePool.d.ts +1 -1
- package/lib/chain/opPools/syncCommitteeMessagePool.js +1 -1
- package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
- package/lib/chain/opPools/syncContributionAndProofPool.d.ts +1 -1
- package/lib/chain/opPools/syncContributionAndProofPool.js +2 -2
- package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
- package/lib/chain/options.d.ts +3 -1
- package/lib/chain/options.js +4 -0
- package/lib/chain/options.js.map +1 -1
- package/lib/chain/prepareNextSlot.d.ts +1 -1
- package/lib/chain/prepareNextSlot.js +5 -5
- package/lib/chain/prepareNextSlot.js.map +1 -1
- package/lib/chain/produceBlock/produceBlockBody.d.ts +4 -4
- package/lib/chain/produceBlock/produceBlockBody.js +10 -4
- package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
- package/lib/chain/regen/errors.d.ts +1 -1
- package/lib/chain/regen/interface.d.ts +2 -2
- package/lib/chain/regen/queued.d.ts +3 -3
- package/lib/chain/regen/queued.js +2 -2
- package/lib/chain/regen/queued.js.map +1 -1
- package/lib/chain/regen/regen.d.ts +5 -5
- package/lib/chain/regen/regen.js +3 -3
- package/lib/chain/regen/regen.js.map +1 -1
- package/lib/chain/reprocess.d.ts +1 -1
- package/lib/chain/rewards/attestationsRewards.d.ts +2 -2
- package/lib/chain/rewards/attestationsRewards.js.map +1 -1
- package/lib/chain/rewards/blockRewards.d.ts +1 -1
- package/lib/chain/rewards/blockRewards.js +1 -1
- package/lib/chain/rewards/blockRewards.js.map +1 -1
- package/lib/chain/rewards/syncCommitteeRewards.d.ts +1 -1
- package/lib/chain/rewards/syncCommitteeRewards.js.map +1 -1
- package/lib/chain/seenCache/seenAttestationData.d.ts +1 -1
- package/lib/chain/seenCache/seenCommittee.d.ts +1 -1
- package/lib/chain/seenCache/seenGossipBlockInput.d.ts +2 -2
- package/lib/chain/seenCache/seenGossipBlockInput.js +2 -2
- package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
- package/lib/chain/stateCache/blockStateCacheImpl.d.ts +2 -2
- package/lib/chain/stateCache/fifoBlockStateCache.d.ts +2 -2
- package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts +2 -2
- package/lib/chain/stateCache/inMemoryCheckpointsCache.js.map +1 -1
- package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +5 -5
- package/lib/chain/stateCache/persistentCheckpointsCache.js +3 -3
- package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
- package/lib/chain/stateCache/types.d.ts +1 -1
- package/lib/chain/validation/aggregateAndProof.d.ts +1 -1
- package/lib/chain/validation/aggregateAndProof.js +2 -2
- package/lib/chain/validation/aggregateAndProof.js.map +1 -1
- package/lib/chain/validation/attestation.d.ts +5 -5
- package/lib/chain/validation/attestation.js +7 -7
- package/lib/chain/validation/attestation.js.map +1 -1
- package/lib/chain/validation/attesterSlashing.js +1 -1
- package/lib/chain/validation/attesterSlashing.js.map +1 -1
- package/lib/chain/validation/blobSidecar.d.ts +1 -1
- package/lib/chain/validation/blobSidecar.js +5 -5
- package/lib/chain/validation/blobSidecar.js.map +1 -1
- package/lib/chain/validation/block.js +3 -3
- package/lib/chain/validation/block.js.map +1 -1
- package/lib/chain/validation/blsToExecutionChange.js +1 -1
- package/lib/chain/validation/blsToExecutionChange.js.map +1 -1
- package/lib/chain/validation/lightClientFinalityUpdate.js +2 -2
- package/lib/chain/validation/lightClientFinalityUpdate.js.map +1 -1
- package/lib/chain/validation/lightClientOptimisticUpdate.js +2 -2
- package/lib/chain/validation/lightClientOptimisticUpdate.js.map +1 -1
- package/lib/chain/validation/proposerSlashing.js +1 -1
- package/lib/chain/validation/proposerSlashing.js.map +1 -1
- package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts +2 -2
- package/lib/chain/validation/signatureSets/aggregateAndProof.js +1 -1
- package/lib/chain/validation/signatureSets/aggregateAndProof.js.map +1 -1
- package/lib/chain/validation/signatureSets/contributionAndProof.d.ts +1 -1
- package/lib/chain/validation/signatureSets/contributionAndProof.js +1 -1
- package/lib/chain/validation/signatureSets/contributionAndProof.js.map +1 -1
- package/lib/chain/validation/signatureSets/selectionProof.d.ts +2 -2
- package/lib/chain/validation/signatureSets/selectionProof.js +1 -1
- package/lib/chain/validation/signatureSets/selectionProof.js.map +1 -1
- package/lib/chain/validation/signatureSets/syncCommittee.d.ts +1 -1
- package/lib/chain/validation/signatureSets/syncCommittee.js +1 -1
- package/lib/chain/validation/signatureSets/syncCommittee.js.map +1 -1
- package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts +1 -1
- package/lib/chain/validation/signatureSets/syncCommitteeContribution.js +2 -2
- package/lib/chain/validation/signatureSets/syncCommitteeContribution.js.map +1 -1
- package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts +1 -1
- package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js +1 -1
- package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js.map +1 -1
- package/lib/chain/validation/syncCommittee.js +1 -1
- package/lib/chain/validation/syncCommittee.js.map +1 -1
- package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts +1 -1
- package/lib/chain/validation/syncCommitteeContributionAndProof.js +2 -2
- package/lib/chain/validation/syncCommitteeContributionAndProof.js.map +1 -1
- package/lib/chain/validation/voluntaryExit.js +2 -2
- package/lib/chain/validation/voluntaryExit.js.map +1 -1
- package/lib/db/beacon.d.ts +3 -3
- package/lib/db/beacon.js +2 -2
- package/lib/db/beacon.js.map +1 -1
- package/lib/db/interface.d.ts +2 -2
- package/lib/db/repositories/attesterSlashing.d.ts +1 -1
- package/lib/db/repositories/attesterSlashing.js +1 -1
- package/lib/db/repositories/attesterSlashing.js.map +1 -1
- package/lib/db/repositories/backfilledRanges.d.ts +1 -1
- package/lib/db/repositories/backfilledRanges.js +1 -1
- package/lib/db/repositories/backfilledRanges.js.map +1 -1
- package/lib/db/repositories/blobSidecars.d.ts +1 -1
- package/lib/db/repositories/blobSidecars.js.map +1 -1
- package/lib/db/repositories/blobSidecarsArchive.js.map +1 -1
- package/lib/db/repositories/blockArchive.d.ts +2 -2
- package/lib/db/repositories/blockArchive.js +2 -2
- package/lib/db/repositories/blockArchive.js.map +1 -1
- package/lib/db/repositories/blockArchiveIndex.d.ts +1 -1
- package/lib/db/repositories/blockArchiveIndex.js.map +1 -1
- package/lib/db/repositories/blsToExecutionChange.d.ts +1 -1
- package/lib/db/repositories/blsToExecutionChange.js.map +1 -1
- package/lib/db/repositories/depositDataRoot.d.ts +2 -2
- package/lib/db/repositories/depositDataRoot.js +1 -1
- package/lib/db/repositories/depositDataRoot.js.map +1 -1
- package/lib/db/repositories/depositEvent.d.ts +1 -1
- package/lib/db/repositories/depositEvent.js +1 -1
- package/lib/db/repositories/depositEvent.js.map +1 -1
- package/lib/db/repositories/eth1Data.d.ts +1 -1
- package/lib/db/repositories/eth1Data.js +1 -1
- package/lib/db/repositories/eth1Data.js.map +1 -1
- package/lib/db/repositories/lightclientBestUpdate.js.map +1 -1
- package/lib/db/repositories/lightclientCheckpointHeader.js +1 -1
- package/lib/db/repositories/lightclientCheckpointHeader.js.map +1 -1
- package/lib/db/repositories/proposerSlashing.d.ts +1 -1
- package/lib/db/repositories/proposerSlashing.js +1 -1
- package/lib/db/repositories/proposerSlashing.js.map +1 -1
- package/lib/db/repositories/stateArchive.d.ts +2 -2
- package/lib/db/repositories/stateArchive.js +1 -1
- package/lib/db/repositories/stateArchive.js.map +1 -1
- package/lib/db/repositories/stateArchiveIndex.js.map +1 -1
- package/lib/db/repositories/voluntaryExit.d.ts +1 -1
- package/lib/db/repositories/voluntaryExit.js +1 -1
- package/lib/db/repositories/voluntaryExit.js.map +1 -1
- package/lib/db/single/preGenesisState.js.map +1 -1
- package/lib/db/single/preGenesisStateLastProcessedBlock.js.map +1 -1
- package/lib/eth1/eth1DepositDataTracker.js +5 -5
- package/lib/eth1/eth1DepositDataTracker.js.map +1 -1
- package/lib/eth1/eth1DepositsCache.d.ts +2 -2
- package/lib/eth1/eth1DepositsCache.js +2 -2
- package/lib/eth1/eth1DepositsCache.js.map +1 -1
- package/lib/eth1/eth1MergeBlockTracker.d.ts +1 -1
- package/lib/eth1/eth1MergeBlockTracker.js +1 -1
- package/lib/eth1/eth1MergeBlockTracker.js.map +1 -1
- package/lib/eth1/index.d.ts +1 -1
- package/lib/eth1/index.js.map +1 -1
- package/lib/eth1/interface.d.ts +1 -1
- package/lib/eth1/provider/eth1Provider.d.ts +2 -2
- package/lib/eth1/provider/eth1Provider.js +5 -5
- package/lib/eth1/provider/eth1Provider.js.map +1 -1
- package/lib/eth1/provider/jsonRpcHttpClient.d.ts +5 -1
- package/lib/eth1/provider/jsonRpcHttpClient.js +1 -1
- package/lib/eth1/provider/jsonRpcHttpClient.js.map +1 -1
- package/lib/eth1/provider/utils.js +1 -1
- package/lib/eth1/provider/utils.js.map +1 -1
- package/lib/eth1/stream.d.ts +1 -1
- package/lib/eth1/stream.js +1 -1
- package/lib/eth1/stream.js.map +1 -1
- package/lib/eth1/utils/deposits.d.ts +1 -1
- package/lib/eth1/utils/deposits.js +3 -3
- package/lib/eth1/utils/deposits.js.map +1 -1
- package/lib/eth1/utils/eth1Data.js.map +1 -1
- package/lib/eth1/utils/eth1Vote.d.ts +1 -1
- package/lib/eth1/utils/eth1Vote.js.map +1 -1
- package/lib/execution/builder/http.d.ts +18 -3
- package/lib/execution/builder/http.js +27 -7
- package/lib/execution/builder/http.js.map +1 -1
- package/lib/execution/builder/interface.d.ts +3 -2
- package/lib/execution/engine/disabled.d.ts +1 -0
- package/lib/execution/engine/disabled.js +3 -0
- package/lib/execution/engine/disabled.js.map +1 -1
- package/lib/execution/engine/http.d.ts +6 -3
- package/lib/execution/engine/http.js +46 -6
- package/lib/execution/engine/http.js.map +1 -1
- package/lib/execution/engine/index.d.ts +2 -2
- package/lib/execution/engine/index.js.map +1 -1
- package/lib/execution/engine/interface.d.ts +4 -3
- package/lib/execution/engine/interface.js.map +1 -1
- package/lib/execution/engine/mock.d.ts +3 -2
- package/lib/execution/engine/mock.js +8 -4
- package/lib/execution/engine/mock.js.map +1 -1
- package/lib/execution/engine/payloadIdCache.d.ts +1 -1
- package/lib/execution/engine/types.d.ts +25 -25
- package/lib/execution/engine/types.js +41 -54
- package/lib/execution/engine/types.js.map +1 -1
- package/lib/execution/engine/utils.d.ts +1 -1
- package/lib/execution/engine/utils.js +2 -2
- package/lib/execution/engine/utils.js.map +1 -1
- package/lib/metrics/metrics/beacon.d.ts +36 -3
- package/lib/metrics/metrics/beacon.js +121 -0
- package/lib/metrics/metrics/beacon.js.map +1 -1
- package/lib/metrics/metrics/lodestar.d.ts +3 -3
- package/lib/metrics/metrics.d.ts +3 -3
- package/lib/metrics/metrics.js +1 -1
- package/lib/metrics/metrics.js.map +1 -1
- package/lib/metrics/nodeJsMetrics.js +1 -1
- package/lib/metrics/nodeJsMetrics.js.map +1 -1
- package/lib/metrics/server/http.d.ts +1 -1
- package/lib/metrics/server/http.js +1 -1
- package/lib/metrics/server/http.js.map +1 -1
- package/lib/metrics/utils/avgMinMax.d.ts +1 -1
- package/lib/metrics/utils/gauge.d.ts +1 -1
- package/lib/metrics/utils/gauge.js.map +1 -1
- package/lib/metrics/utils/registryMetricCreator.d.ts +1 -1
- package/lib/metrics/utils/registryMetricCreator.js +1 -1
- package/lib/metrics/utils/registryMetricCreator.js.map +1 -1
- package/lib/metrics/validatorMonitor.d.ts +2 -2
- package/lib/metrics/validatorMonitor.js +2 -2
- package/lib/metrics/validatorMonitor.js.map +1 -1
- package/lib/monitoring/service.js +1 -1
- package/lib/monitoring/service.js.map +1 -1
- package/lib/monitoring/system.js.map +1 -1
- package/lib/network/core/networkCore.d.ts +16 -16
- package/lib/network/core/networkCore.js +15 -20
- package/lib/network/core/networkCore.js.map +1 -1
- package/lib/network/core/networkCoreWorker.js +5 -7
- package/lib/network/core/networkCoreWorker.js.map +1 -1
- package/lib/network/core/networkCoreWorkerHandler.d.ts +2 -2
- package/lib/network/core/networkCoreWorkerHandler.js +3 -3
- package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
- package/lib/network/core/types.d.ts +3 -3
- package/lib/network/discv5/index.d.ts +4 -3
- package/lib/network/discv5/index.js +6 -5
- package/lib/network/discv5/index.js.map +1 -1
- package/lib/network/discv5/types.d.ts +1 -1
- package/lib/network/discv5/worker.js +12 -13
- package/lib/network/discv5/worker.js.map +1 -1
- package/lib/network/events.d.ts +3 -3
- package/lib/network/forks.d.ts +1 -1
- package/lib/network/gossip/encoding.d.ts +1 -1
- package/lib/network/gossip/encoding.js +3 -3
- package/lib/network/gossip/encoding.js.map +1 -1
- package/lib/network/gossip/gossipsub.d.ts +2 -2
- package/lib/network/gossip/gossipsub.js +5 -9
- package/lib/network/gossip/gossipsub.js.map +1 -1
- package/lib/network/gossip/interface.d.ts +6 -6
- package/lib/network/gossip/scoringParameters.js +1 -1
- package/lib/network/gossip/scoringParameters.js.map +1 -1
- package/lib/network/gossip/topic.d.ts +2 -2
- package/lib/network/gossip/topic.js +2 -2
- package/lib/network/gossip/topic.js.map +1 -1
- package/lib/network/interface.d.ts +6 -11
- package/lib/network/libp2p/index.d.ts +3 -3
- package/lib/network/libp2p/index.js +11 -11
- package/lib/network/libp2p/index.js.map +1 -1
- package/lib/network/metadata.d.ts +1 -1
- package/lib/network/metadata.js.map +1 -1
- package/lib/network/network.d.ts +13 -13
- package/lib/network/network.js +15 -17
- package/lib/network/network.js.map +1 -1
- package/lib/network/options.d.ts +1 -1
- package/lib/network/peers/datastore.d.ts +2 -3
- package/lib/network/peers/datastore.js +1 -1
- package/lib/network/peers/datastore.js.map +1 -1
- package/lib/network/peers/discover.d.ts +2 -4
- package/lib/network/peers/discover.js +7 -6
- package/lib/network/peers/discover.js.map +1 -1
- package/lib/network/peers/peerManager.d.ts +6 -7
- package/lib/network/peers/peerManager.js +5 -5
- package/lib/network/peers/peerManager.js.map +1 -1
- package/lib/network/peers/peersData.d.ts +1 -1
- package/lib/network/peers/utils/enrSubnetsDeserialize.js +1 -1
- package/lib/network/peers/utils/enrSubnetsDeserialize.js.map +1 -1
- package/lib/network/peers/utils/getConnectedPeerIds.js +2 -2
- package/lib/network/peers/utils/getConnectedPeerIds.js.map +1 -1
- package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
- package/lib/network/processor/extractSlotRootFns.js +1 -1
- package/lib/network/processor/extractSlotRootFns.js.map +1 -1
- package/lib/network/processor/gossipHandlers.d.ts +4 -4
- package/lib/network/processor/gossipHandlers.js +15 -11
- package/lib/network/processor/gossipHandlers.js.map +1 -1
- package/lib/network/processor/gossipQueues/index.js +2 -2
- package/lib/network/processor/gossipQueues/index.js.map +1 -1
- package/lib/network/processor/gossipQueues/linear.d.ts +1 -1
- package/lib/network/processor/gossipQueues/linear.js.map +1 -1
- package/lib/network/processor/gossipValidatorFn.d.ts +1 -1
- package/lib/network/processor/gossipValidatorFn.js +1 -1
- package/lib/network/processor/gossipValidatorFn.js.map +1 -1
- package/lib/network/processor/index.d.ts +4 -4
- package/lib/network/processor/index.js +5 -5
- package/lib/network/processor/index.js.map +1 -1
- package/lib/network/processor/types.d.ts +1 -1
- package/lib/network/reqresp/ReqRespBeaconNode.d.ts +2 -2
- package/lib/network/reqresp/ReqRespBeaconNode.js +2 -2
- package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.d.ts +2 -2
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js.map +1 -1
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.d.ts +10 -3
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js +145 -11
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js.map +1 -1
- package/lib/network/reqresp/handlers/beaconBlocksByRange.js +1 -1
- package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
- package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts +1 -1
- package/lib/network/reqresp/handlers/blobSidecarsByRange.js +2 -2
- package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +1 -1
- package/lib/network/reqresp/handlers/blobSidecarsByRoot.js +1 -1
- package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +1 -1
- package/lib/network/reqresp/handlers/index.js +1 -1
- package/lib/network/reqresp/handlers/index.js.map +1 -1
- package/lib/network/reqresp/handlers/lightClientBootstrap.js +2 -2
- package/lib/network/reqresp/handlers/lightClientBootstrap.js.map +1 -1
- package/lib/network/reqresp/handlers/lightClientFinalityUpdate.js +1 -1
- package/lib/network/reqresp/handlers/lightClientFinalityUpdate.js.map +1 -1
- package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.js +2 -2
- package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.js.map +1 -1
- package/lib/network/reqresp/handlers/lightClientUpdatesByRange.d.ts +1 -1
- package/lib/network/reqresp/handlers/lightClientUpdatesByRange.js +2 -2
- package/lib/network/reqresp/handlers/lightClientUpdatesByRange.js.map +1 -1
- package/lib/network/reqresp/handlers/status.js +1 -1
- package/lib/network/reqresp/handlers/status.js.map +1 -1
- package/lib/network/reqresp/protocols.js +1 -1
- package/lib/network/reqresp/protocols.js.map +1 -1
- package/lib/network/reqresp/rateLimit.js +1 -1
- package/lib/network/reqresp/rateLimit.js.map +1 -1
- package/lib/network/reqresp/utils/collect.d.ts +1 -1
- package/lib/network/reqresp/utils/collect.js +1 -1
- package/lib/network/reqresp/utils/collect.js.map +1 -1
- package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts +1 -2
- package/lib/network/reqresp/utils/collectSequentialBlocksInRange.js.map +1 -1
- package/lib/network/subnets/attnetsService.d.ts +3 -3
- package/lib/network/subnets/attnetsService.js +3 -3
- package/lib/network/subnets/attnetsService.js.map +1 -1
- package/lib/network/subnets/interface.d.ts +1 -1
- package/lib/network/subnets/syncnetsService.d.ts +1 -1
- package/lib/network/subnets/syncnetsService.js +1 -1
- package/lib/network/subnets/syncnetsService.js.map +1 -1
- package/lib/network/util.d.ts +1 -4
- package/lib/network/util.js +1 -1
- package/lib/network/util.js.map +1 -1
- package/lib/node/nodejs.d.ts +10 -10
- package/lib/node/nodejs.js +10 -10
- package/lib/node/nodejs.js.map +1 -1
- package/lib/node/notifier.js +2 -2
- package/lib/node/notifier.js.map +1 -1
- package/lib/node/options.d.ts +3 -3
- package/lib/node/options.js +3 -3
- package/lib/node/options.js.map +1 -1
- package/lib/node/utils/interop/deposits.d.ts +1 -1
- package/lib/node/utils/interop/deposits.js +3 -3
- package/lib/node/utils/interop/deposits.js.map +1 -1
- package/lib/node/utils/interop/state.d.ts +1 -1
- package/lib/node/utils/interop/state.js +2 -2
- package/lib/node/utils/interop/state.js.map +1 -1
- package/lib/node/utils/state.js.map +1 -1
- package/lib/sync/backfill/backfill.d.ts +5 -5
- package/lib/sync/backfill/backfill.js +2 -2
- package/lib/sync/backfill/backfill.js.map +1 -1
- package/lib/sync/backfill/errors.d.ts +1 -1
- package/lib/sync/backfill/errors.js.map +1 -1
- package/lib/sync/backfill/verify.d.ts +2 -3
- package/lib/sync/backfill/verify.js +1 -1
- package/lib/sync/backfill/verify.js.map +1 -1
- package/lib/sync/interface.d.ts +5 -5
- package/lib/sync/range/batch.d.ts +2 -2
- package/lib/sync/range/batch.js +1 -1
- package/lib/sync/range/batch.js.map +1 -1
- package/lib/sync/range/chain.d.ts +1 -1
- package/lib/sync/range/chain.js +1 -1
- package/lib/sync/range/chain.js.map +1 -1
- package/lib/sync/range/range.d.ts +2 -2
- package/lib/sync/range/range.js +2 -2
- package/lib/sync/range/range.js.map +1 -1
- package/lib/sync/range/utils/hashBlocks.d.ts +1 -1
- package/lib/sync/sync.d.ts +1 -1
- package/lib/sync/sync.js +7 -6
- package/lib/sync/sync.js.map +1 -1
- package/lib/sync/unknownBlock.d.ts +3 -1
- package/lib/sync/unknownBlock.js +13 -6
- package/lib/sync/unknownBlock.js.map +1 -1
- package/lib/sync/utils/pendingBlocksTree.js +1 -1
- package/lib/sync/utils/pendingBlocksTree.js.map +1 -1
- package/lib/sync/utils/remoteSyncType.d.ts +1 -1
- package/lib/util/blobs.d.ts +2 -2
- package/lib/util/blobs.js +2 -2
- package/lib/util/blobs.js.map +1 -1
- package/lib/util/clock.d.ts +2 -2
- package/lib/util/clock.js +1 -1
- package/lib/util/clock.js.map +1 -1
- package/lib/util/kzg.js +1 -1
- package/lib/util/kzg.js.map +1 -1
- package/lib/util/multifork.d.ts +1 -1
- package/lib/util/multifork.js.map +1 -1
- package/lib/util/peerId.js +2 -2
- package/lib/util/peerId.js.map +1 -1
- package/lib/util/queue/fnQueue.d.ts +1 -1
- package/lib/util/queue/itemQueue.d.ts +1 -1
- package/lib/util/queue/itemQueue.js +2 -2
- package/lib/util/queue/itemQueue.js.map +1 -1
- package/lib/util/sszBytes.d.ts +1 -1
- package/lib/util/sszBytes.js.map +1 -1
- package/package.json +34 -33
- package/lib/chain/archiver/archiveStates.js.map +0 -1
|
@@ -2,8 +2,7 @@ import fs from "node:fs";
|
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import worker from "node:worker_threads";
|
|
4
4
|
import { expose } from "@chainsafe/threads/worker";
|
|
5
|
-
import {
|
|
6
|
-
import { peerIdFromPrivateKey } from "@libp2p/peer-id";
|
|
5
|
+
import { createFromProtobuf } from "@libp2p/peer-id-factory";
|
|
7
6
|
import { chainConfigFromJson, createBeaconConfig } from "@lodestar/config";
|
|
8
7
|
import { getNodeLogger } from "@lodestar/logger/node";
|
|
9
8
|
import { RegistryMetricCreator, collectNodeJSMetrics } from "../../metrics/index.js";
|
|
@@ -11,11 +10,11 @@ import { AsyncIterableBridgeCaller, AsyncIterableBridgeHandler } from "../../uti
|
|
|
11
10
|
import { Clock } from "../../util/clock.js";
|
|
12
11
|
import { peerIdToString } from "../../util/peerId.js";
|
|
13
12
|
import { profileNodeJS, writeHeapSnapshot } from "../../util/profile.js";
|
|
14
|
-
import { NetworkEventBus, networkEventDirection } from "../events.js";
|
|
15
13
|
import { wireEventsOnWorkerThread } from "../../util/workerEvents.js";
|
|
14
|
+
import { NetworkEventBus, networkEventDirection } from "../events.js";
|
|
15
|
+
import { NetworkWorkerThreadEventType, ReqRespBridgeEventBus, getReqRespBridgeReqEvents, getReqRespBridgeRespEvents, reqRespBridgeEventDirection, } from "./events.js";
|
|
16
16
|
import { getNetworkCoreWorkerMetrics } from "./metrics.js";
|
|
17
17
|
import { NetworkCore } from "./networkCore.js";
|
|
18
|
-
import { NetworkWorkerThreadEventType, ReqRespBridgeEventBus, getReqRespBridgeReqEvents, getReqRespBridgeRespEvents, reqRespBridgeEventDirection, } from "./events.js";
|
|
19
18
|
// Cloned data from instantiation
|
|
20
19
|
const workerData = worker.workerData;
|
|
21
20
|
const parentPort = worker.parentPort;
|
|
@@ -24,8 +23,7 @@ if (!workerData)
|
|
|
24
23
|
if (!parentPort)
|
|
25
24
|
throw Error("parentPort must be defined");
|
|
26
25
|
const config = createBeaconConfig(chainConfigFromJson(workerData.chainConfigJson), workerData.genesisValidatorsRoot);
|
|
27
|
-
const
|
|
28
|
-
const peerId = peerIdFromPrivateKey(privateKey);
|
|
26
|
+
const peerId = await createFromProtobuf(workerData.peerIdProto);
|
|
29
27
|
// TODO: Pass options from main thread for logging
|
|
30
28
|
// TODO: Logging won't be visible in file loggers
|
|
31
29
|
const logger = getNodeLogger(workerData.loggerOpts);
|
|
@@ -75,7 +73,7 @@ if (networkCoreWorkerMetrics) {
|
|
|
75
73
|
const core = await NetworkCore.init({
|
|
76
74
|
opts: workerData.opts,
|
|
77
75
|
config,
|
|
78
|
-
|
|
76
|
+
peerId,
|
|
79
77
|
peerStoreDir: workerData.peerStoreDir,
|
|
80
78
|
logger,
|
|
81
79
|
metricsRegistry: metricsRegister,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"networkCoreWorker.js","sourceRoot":"","sources":["../../../src/network/core/networkCoreWorker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,qBAAqB,CAAC;AAEzC,OAAO,EAAC,MAAM,EAAC,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"networkCoreWorker.js","sourceRoot":"","sources":["../../../src/network/core/networkCoreWorker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,qBAAqB,CAAC;AAEzC,OAAO,EAAC,MAAM,EAAC,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAC,mBAAmB,EAAE,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAC,qBAAqB,EAAE,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AACnF,OAAO,EAAC,yBAAyB,EAAE,0BAA0B,EAAC,MAAM,qCAAqC,CAAC;AAC1G,OAAO,EAAC,KAAK,EAAC,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAC,aAAa,EAAE,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAC,wBAAwB,EAAC,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAC,eAAe,EAAoB,qBAAqB,EAAC,MAAM,cAAc,CAAC;AACtF,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EAErB,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAC,2BAA2B,EAAC,MAAM,cAAc,CAAC;AACzD,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAG7C,iCAAiC;AACjC,MAAM,UAAU,GAAG,MAAM,CAAC,UAA+B,CAAC;AAC1D,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AACrC,IAAI,CAAC,UAAU;IAAE,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAC;AAC3D,IAAI,CAAC,UAAU;IAAE,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAC;AAE3D,MAAM,MAAM,GAAG,kBAAkB,CAAC,mBAAmB,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC,qBAAqB,CAAC,CAAC;AACrH,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAEhE,kDAAkD;AAClD,iDAAiD;AACjD,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAEpD,8BAA8B;AAC9B,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,EAAC,CAAC,CAAC;AAErE,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;AAE9C,6CAA6C;AAC7C,MAAM,eAAe,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACvF,IAAI,eAAe,EAAE,CAAC;IACpB,MAAM,YAAY,GAAG,oBAAoB,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;IAC9E,eAAe,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;AAC/E,CAAC;AAED,yCAAyC;AACzC,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;AACrC,MAAM,qBAAqB,GAAG,IAAI,qBAAqB,EAAE,CAAC;AAC1D,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAC,CAAC,CAAC;AAEvG,uBAAuB;AACvB,EAAE;AACF,qFAAqF;AACrF,wDAAwD;AACxD,EAAE;AACF,wFAAwF;AACxF,+DAA+D;AAC/D,EAAE;AACF,oDAAoD;AACpD,gCAAgC;AAChC,yDAAyD;AACzD,mCAAmC;AACnC,gDAAgD;AAChD,8BAA8B;AAC9B,gDAAgD;AAChD,WAAW;AACX,uEAAuE;AACvE,WAAW;AACX,4CAA4C;AAC5C,WAAW;AACX,qCAAqC;AACrC,IAAI,0BAA0B,CAAC,yBAAyB,CAAC,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CACxF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAC9B,CAAC;AACF,MAAM,uBAAuB,GAAG,IAAI,yBAAyB,CAAC,0BAA0B,CAAC,qBAAqB,CAAC,CAAC,CAAC;AAEjH,MAAM,wBAAwB,GAAG,eAAe,CAAC,CAAC,CAAC,2BAA2B,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvG,2BAA2B;AAC3B,IAAI,wBAAwB,EAAE,CAAC;IAC7B,wBAAwB,CAAC,8BAA8B,CAAC,UAAU,CAAC,GAAG,EAAE;QACtE,wBAAwB,CAAC,8BAA8B,CAAC,GAAG,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;IACpG,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC;IAClC,IAAI,EAAE,UAAU,CAAC,IAAI;IACrB,MAAM;IACN,MAAM;IACN,YAAY,EAAE,UAAU,CAAC,YAAY;IACrC,MAAM;IACN,eAAe,EAAE,eAAe;IAChC,MAAM;IACN,KAAK;IACL,iBAAiB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAC7C,uBAAuB,CAAC,gBAAgB,CAAC,EAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,EAAC,CAAC;IACzF,oBAAoB,EAAE,UAAU,CAAC,oBAAoB;IACrD,aAAa,EAAE,UAAU,CAAC,aAAa;CACxC,CAAC,CAAC;AAEH,wBAAwB,CACtB,4BAA4B,CAAC,YAAY,EACzC,MAAM,EACN,UAAU,EACV,wBAAwB,EACxB,qBAAqB,CACtB,CAAC;AACF,wBAAwB,CACtB,4BAA4B,CAAC,mBAAmB,EAChD,qBAAqB,EACrB,UAAU,EACV,wBAAwB,EACxB,2BAA2B,CAC5B,CAAC;AAEF,MAAM,eAAe,GAAqB;IACxC,KAAK,EAAE,KAAK,IAAI,EAAE;QAChB,eAAe,CAAC,KAAK,EAAE,CAAC;QACxB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IACD,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;IAEzC,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IAEnD,6BAA6B,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,IAAI,CAAC,6BAA6B,CAAC,aAAa,CAAC;IACnG,2BAA2B,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,aAAa,CAAC;IAC/F,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC;IACnF,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;IACnD,yBAAyB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE;IACjE,2BAA2B,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,2BAA2B,EAAE;IAErE,0EAA0E;IAC1E,aAAa,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC;IAE3E,QAAQ;IAER,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE;IACnD,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE;IACjD,qBAAqB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE;IACzD,aAAa,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC;IACvE,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;IACnD,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE;IACjC,QAAQ,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;IACjD,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE;IACnD,wBAAwB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE;IAC/D,mBAAmB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE;IACrD,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;IACzC,YAAY,EAAE,KAAK,EAAE,UAAkB,EAAE,OAAe,EAAE,EAAE;QAC1D,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAC7F,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACpC,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,kBAAkB,EAAE,KAAK,EAAE,UAAkB,EAAE,OAAe,EAAE,EAAE;QAChE,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IACD,iBAAiB,EAAE,KAAK,EAAE,MAAc,EAAE,OAAe,EAAE,EAAE;QAC3D,OAAO,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IACD,uBAAuB,EAAE,KAAK,EAAE,MAAc,EAAE,OAAe,EAAE,EAAE;QACjE,OAAO,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,eAAiD,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PeerScoreStatsDump } from "@chainsafe/libp2p-gossipsub/dist/src/score/peer-score.js";
|
|
2
2
|
import { PublishOpts } from "@chainsafe/libp2p-gossipsub/types";
|
|
3
3
|
import { ModuleThread, Worker } from "@chainsafe/threads";
|
|
4
|
-
import {
|
|
4
|
+
import { PeerId } from "@libp2p/interface";
|
|
5
5
|
import { routes } from "@lodestar/api";
|
|
6
6
|
import { BeaconConfig } from "@lodestar/config";
|
|
7
7
|
import type { LoggerNode } from "@lodestar/logger/node";
|
|
@@ -25,7 +25,7 @@ export type WorkerNetworkCoreInitModules = {
|
|
|
25
25
|
opts: WorkerNetworkCoreOpts;
|
|
26
26
|
config: BeaconConfig;
|
|
27
27
|
logger: LoggerNode;
|
|
28
|
-
|
|
28
|
+
peerId: PeerId;
|
|
29
29
|
events: NetworkEventBus;
|
|
30
30
|
metrics: Metrics | null;
|
|
31
31
|
getReqRespHandler: GetReqRespHandlerFn;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { Thread, Worker, spawn } from "@chainsafe/threads";
|
|
3
|
-
import {
|
|
3
|
+
import { exportToProtobuf } from "@libp2p/peer-id-factory";
|
|
4
4
|
import { chainConfigToJson } from "@lodestar/config";
|
|
5
5
|
import { AsyncIterableBridgeCaller, AsyncIterableBridgeHandler } from "../../util/asyncIterableToEvents.js";
|
|
6
6
|
import { peerIdFromString } from "../../util/peerId.js";
|
|
@@ -35,13 +35,13 @@ export class WorkerNetworkCore {
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
static async init(modules) {
|
|
38
|
-
const { opts, config,
|
|
38
|
+
const { opts, config, peerId } = modules;
|
|
39
39
|
const { genesisTime, peerStoreDir, activeValidatorCount, localMultiaddrs, metricsEnabled, initialStatus } = opts;
|
|
40
40
|
const workerData = {
|
|
41
41
|
opts,
|
|
42
42
|
chainConfigJson: chainConfigToJson(config),
|
|
43
43
|
genesisValidatorsRoot: config.genesisValidatorsRoot,
|
|
44
|
-
|
|
44
|
+
peerIdProto: exportToProtobuf(peerId),
|
|
45
45
|
localMultiaddrs,
|
|
46
46
|
metricsEnabled,
|
|
47
47
|
peerStoreDir,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"networkCoreWorkerHandler.js","sourceRoot":"","sources":["../../../src/network/core/networkCoreWorkerHandler.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,OAAO,EAAe,MAAM,EAAE,MAAM,EAAE,KAAK,EAAC,MAAM,oBAAoB,CAAC;AAEvE,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"networkCoreWorkerHandler.js","sourceRoot":"","sources":["../../../src/network/core/networkCoreWorkerHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { PeerScoreStatsDump } from "@chainsafe/libp2p-gossipsub/score";
|
|
2
2
|
import { PublishOpts } from "@chainsafe/libp2p-gossipsub/types";
|
|
3
3
|
import { routes } from "@lodestar/api";
|
|
4
|
+
import { LoggerNodeOpts } from "@lodestar/logger/node";
|
|
4
5
|
import { ResponseIncoming } from "@lodestar/reqresp";
|
|
5
6
|
import { phase0 } from "@lodestar/types";
|
|
6
|
-
import { LoggerNodeOpts } from "@lodestar/logger/node";
|
|
7
7
|
import { NetworkOptions } from "../options.js";
|
|
8
|
-
import { CommitteeSubscription } from "../subnets/interface.js";
|
|
9
8
|
import { PeerAction, PeerScoreStats } from "../peers/index.js";
|
|
10
9
|
import { OutgoingRequestArgs } from "../reqresp/types.js";
|
|
10
|
+
import { CommitteeSubscription } from "../subnets/interface.js";
|
|
11
11
|
export type MultiaddrStr = string;
|
|
12
12
|
export type PeerIdStr = string;
|
|
13
13
|
export interface INetworkCorePublic {
|
|
@@ -58,7 +58,7 @@ export type NetworkWorkerData = {
|
|
|
58
58
|
genesisTime: number;
|
|
59
59
|
activeValidatorCount: number;
|
|
60
60
|
initialStatus: phase0.Status;
|
|
61
|
-
|
|
61
|
+
peerIdProto: Uint8Array;
|
|
62
62
|
localMultiaddrs: string[];
|
|
63
63
|
metricsEnabled: boolean;
|
|
64
64
|
peerStoreDir?: string;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import EventEmitter from "node:events";
|
|
3
|
-
import { PrivateKey } from "@libp2p/interface";
|
|
4
|
-
import { StrictEventEmitter } from "strict-event-emitter-types";
|
|
5
3
|
import { ENR, ENRData, SignableENR } from "@chainsafe/enr";
|
|
4
|
+
import { PeerId } from "@libp2p/interface";
|
|
6
5
|
import { BeaconConfig } from "@lodestar/config";
|
|
7
6
|
import { LoggerNode } from "@lodestar/logger/node";
|
|
7
|
+
import { StrictEventEmitter } from "strict-event-emitter-types";
|
|
8
8
|
import { NetworkCoreMetrics } from "../core/metrics.js";
|
|
9
9
|
import { Discv5WorkerApi, LodestarDiscv5Opts } from "./types.js";
|
|
10
10
|
export type Discv5Opts = {
|
|
11
|
-
|
|
11
|
+
peerId: PeerId;
|
|
12
12
|
discv5: LodestarDiscv5Opts;
|
|
13
13
|
logger: LoggerNode;
|
|
14
14
|
config: BeaconConfig;
|
|
@@ -24,6 +24,7 @@ declare const Discv5Worker_base: new () => StrictEventEmitter<EventEmitter, Disc
|
|
|
24
24
|
export declare class Discv5Worker extends Discv5Worker_base {
|
|
25
25
|
private readonly opts;
|
|
26
26
|
private readonly workerApi;
|
|
27
|
+
private readonly keypair;
|
|
27
28
|
private readonly subscription;
|
|
28
29
|
private closed;
|
|
29
30
|
constructor(opts: Discv5Opts, workerApi: Discv5WorkerApi);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import EventEmitter from "node:events";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { ENR, SignableENR, createPrivateKeyFromPeerId } from "@chainsafe/enr";
|
|
3
|
+
import { Thread, Worker, spawn } from "@chainsafe/threads";
|
|
4
|
+
import { exportToProtobuf } from "@libp2p/peer-id-factory";
|
|
5
5
|
import { chainConfigFromJson, chainConfigToJson } from "@lodestar/config";
|
|
6
6
|
/**
|
|
7
7
|
* Wrapper class abstracting the details of discv5 worker instantiation and message-passing
|
|
@@ -12,12 +12,13 @@ export class Discv5Worker extends EventEmitter {
|
|
|
12
12
|
this.opts = opts;
|
|
13
13
|
this.workerApi = workerApi;
|
|
14
14
|
this.closed = false;
|
|
15
|
+
this.keypair = createPrivateKeyFromPeerId(this.opts.peerId);
|
|
15
16
|
this.subscription = workerApi.discovered().subscribe((enrObj) => this.onDiscovered(enrObj));
|
|
16
17
|
}
|
|
17
18
|
static async init(opts) {
|
|
18
19
|
const workerData = {
|
|
19
20
|
enr: opts.discv5.enr,
|
|
20
|
-
|
|
21
|
+
peerIdProto: exportToProtobuf(opts.peerId),
|
|
21
22
|
bindAddrs: opts.discv5.bindAddrs,
|
|
22
23
|
config: opts.discv5.config ?? {},
|
|
23
24
|
bootEnrs: opts.discv5.bootEnrs,
|
|
@@ -50,7 +51,7 @@ export class Discv5Worker extends EventEmitter {
|
|
|
50
51
|
}
|
|
51
52
|
async enr() {
|
|
52
53
|
const obj = await this.workerApi.enr();
|
|
53
|
-
return new SignableENR(obj.kvs, obj.seq, this.
|
|
54
|
+
return new SignableENR(obj.kvs, obj.seq, this.keypair.privateKey);
|
|
54
55
|
}
|
|
55
56
|
setEnrValue(key, value) {
|
|
56
57
|
return this.workerApi.setEnrValue(key, value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/network/discv5/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,aAAa,CAAC;AACvC,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/network/discv5/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ export type LodestarDiscv5Opts = {
|
|
|
23
23
|
/** discv5 worker constructor data */
|
|
24
24
|
export interface Discv5WorkerData {
|
|
25
25
|
enr: string;
|
|
26
|
-
|
|
26
|
+
peerIdProto: Uint8Array;
|
|
27
27
|
bindAddrs: BindAddrs;
|
|
28
28
|
config: Discv5Config;
|
|
29
29
|
bootEnrs: string[];
|
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
import worker from "node:worker_threads";
|
|
2
|
-
import path from "node:path";
|
|
3
1
|
import fs from "node:fs";
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import { Observable, Subject } from "@chainsafe/threads/observable";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import worker from "node:worker_threads";
|
|
7
4
|
import { Discv5 } from "@chainsafe/discv5";
|
|
8
|
-
import { SignableENR } from "@chainsafe/enr";
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
5
|
+
import { SignableENR, createPrivateKeyFromPeerId } from "@chainsafe/enr";
|
|
6
|
+
import { Observable, Subject } from "@chainsafe/threads/observable";
|
|
7
|
+
import { expose } from "@chainsafe/threads/worker";
|
|
8
|
+
import { createFromProtobuf } from "@libp2p/peer-id-factory";
|
|
11
9
|
import { createBeaconConfig } from "@lodestar/config";
|
|
12
10
|
import { getNodeLogger } from "@lodestar/logger/node";
|
|
11
|
+
import { multiaddr } from "@multiformats/multiaddr";
|
|
13
12
|
import { RegistryMetricCreator } from "../../metrics/index.js";
|
|
14
13
|
import { collectNodeJSMetrics } from "../../metrics/nodeJsMetrics.js";
|
|
15
14
|
import { profileNodeJS, writeHeapSnapshot } from "../../util/profile.js";
|
|
16
|
-
import {
|
|
15
|
+
import { ENRRelevance, enrRelevance } from "./utils.js";
|
|
17
16
|
// This discv5 worker will start discv5 on initialization (there is no `start` function to call)
|
|
18
17
|
// A consumer _should_ call `close` before terminating the worker to cleanly exit discv5 before destroying the thread
|
|
19
18
|
// A `setEnrValue` function is also provided to update the host ENR key-values shared in the discv5 network.
|
|
@@ -36,13 +35,13 @@ if (workerData.metrics) {
|
|
|
36
35
|
labelNames: ["status"],
|
|
37
36
|
});
|
|
38
37
|
}
|
|
39
|
-
const
|
|
40
|
-
const
|
|
38
|
+
const peerId = await createFromProtobuf(workerData.peerIdProto);
|
|
39
|
+
const keypair = createPrivateKeyFromPeerId(peerId);
|
|
41
40
|
const config = createBeaconConfig(workerData.chainConfig, workerData.genesisValidatorsRoot);
|
|
42
41
|
// Initialize discv5
|
|
43
42
|
const discv5 = Discv5.create({
|
|
44
|
-
enr: SignableENR.decodeTxt(workerData.enr, privateKey
|
|
45
|
-
|
|
43
|
+
enr: SignableENR.decodeTxt(workerData.enr, keypair.privateKey),
|
|
44
|
+
peerId,
|
|
46
45
|
bindAddrs: {
|
|
47
46
|
ip4: (workerData.bindAddrs.ip4 ? multiaddr(workerData.bindAddrs.ip4) : undefined),
|
|
48
47
|
ip6: workerData.bindAddrs.ip6 ? multiaddr(workerData.bindAddrs.ip6) : undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/network/discv5/worker.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/network/discv5/worker.ts"],"names":[],"mappings":"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"}
|
package/lib/network/events.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { PeerId, TopicValidatorResult } from "@libp2p/interface";
|
|
2
|
-
import {
|
|
2
|
+
import { RootHex, phase0 } from "@lodestar/types";
|
|
3
3
|
import { BlockInput, NullBlockInput } from "../chain/blocks/types.js";
|
|
4
|
-
import { StrictEventEmitterSingleArg } from "../util/strictEvents.js";
|
|
5
4
|
import { PeerIdStr } from "../util/peerId.js";
|
|
5
|
+
import { StrictEventEmitterSingleArg } from "../util/strictEvents.js";
|
|
6
6
|
import { EventDirection } from "../util/workerEvents.js";
|
|
7
|
-
import { RequestTypedContainer } from "./reqresp/ReqRespBeaconNode.js";
|
|
8
7
|
import { PendingGossipsubMessage } from "./processor/types.js";
|
|
8
|
+
import { RequestTypedContainer } from "./reqresp/ReqRespBeaconNode.js";
|
|
9
9
|
export declare enum NetworkEvent {
|
|
10
10
|
/** A relevant peer has connected or has been re-STATUS'd */
|
|
11
11
|
peerConnected = "peer-manager.peer-connected",
|
package/lib/network/forks.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ForkName } from "@lodestar/params";
|
|
2
1
|
import { ChainForkConfig, ForkInfo } from "@lodestar/config";
|
|
2
|
+
import { ForkName } from "@lodestar/params";
|
|
3
3
|
import { Epoch } from "@lodestar/types";
|
|
4
4
|
/**
|
|
5
5
|
* Subscribe topics to the new fork N epochs before the fork. Remove all subscriptions N epochs after the fork
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Message } from "@libp2p/interface";
|
|
2
1
|
import { RPC } from "@chainsafe/libp2p-gossipsub/message";
|
|
3
2
|
import { DataTransform } from "@chainsafe/libp2p-gossipsub/types";
|
|
3
|
+
import { Message } from "@libp2p/interface";
|
|
4
4
|
import { GossipTopicCache } from "./topic.js";
|
|
5
5
|
/**
|
|
6
6
|
* The function used to generate a gossipsub message id
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { compress, uncompress } from "snappyjs";
|
|
2
|
-
import xxhashFactory from "xxhash-wasm";
|
|
3
1
|
import { digest } from "@chainsafe/as-sha256";
|
|
4
|
-
import { intToBytes } from "@lodestar/utils";
|
|
5
2
|
import { ForkName } from "@lodestar/params";
|
|
3
|
+
import { intToBytes } from "@lodestar/utils";
|
|
4
|
+
import { compress, uncompress } from "snappyjs";
|
|
5
|
+
import xxhashFactory from "xxhash-wasm";
|
|
6
6
|
import { MESSAGE_DOMAIN_VALID_SNAPPY } from "./constants.js";
|
|
7
7
|
import { getGossipSSZType } from "./topic.js";
|
|
8
8
|
// Load WASM
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../../src/network/gossip/encoding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../../src/network/gossip/encoding.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,9 @@ import { PeerScoreParams } from "@chainsafe/libp2p-gossipsub/score";
|
|
|
3
3
|
import { BeaconConfig } from "@lodestar/config";
|
|
4
4
|
import { Logger } from "@lodestar/utils";
|
|
5
5
|
import { RegistryMetricCreator } from "../../metrics/index.js";
|
|
6
|
-
import { PeersData } from "../peers/peersData.js";
|
|
7
|
-
import { Libp2p } from "../interface.js";
|
|
8
6
|
import { NetworkEventBus } from "../events.js";
|
|
7
|
+
import { Libp2p } from "../interface.js";
|
|
8
|
+
import { PeersData } from "../peers/peersData.js";
|
|
9
9
|
import { GossipTopic } from "./interface.js";
|
|
10
10
|
export type Eth2Context = {
|
|
11
11
|
activeValidatorCount: number;
|
|
@@ -2,15 +2,15 @@ import { GossipSub } from "@chainsafe/libp2p-gossipsub";
|
|
|
2
2
|
import { SignaturePolicy } from "@chainsafe/libp2p-gossipsub/types";
|
|
3
3
|
import { ATTESTATION_SUBNET_COUNT, SLOTS_PER_EPOCH, SYNC_COMMITTEE_SUBNET_COUNT } from "@lodestar/params";
|
|
4
4
|
import { Map2d, Map2dArr } from "@lodestar/utils";
|
|
5
|
-
import { ClientKind } from "../peers/client.js";
|
|
6
5
|
import { GOSSIP_MAX_SIZE, GOSSIP_MAX_SIZE_BELLATRIX } from "../../constants/network.js";
|
|
7
|
-
import { NetworkEvent } from "../events.js";
|
|
8
6
|
import { callInNextEventLoop } from "../../util/eventLoop.js";
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
7
|
+
import { NetworkEvent } from "../events.js";
|
|
8
|
+
import { ClientKind } from "../peers/client.js";
|
|
11
9
|
import { DataTransformSnappy, fastMsgIdFn, msgIdFn, msgIdToStrFn } from "./encoding.js";
|
|
10
|
+
import { GossipType } from "./interface.js";
|
|
12
11
|
import { createEth2GossipsubMetrics } from "./metrics.js";
|
|
13
|
-
import {
|
|
12
|
+
import { GossipTopicCache, getCoreTopicsAtFork, stringifyGossipTopic } from "./topic.js";
|
|
13
|
+
import { GOSSIP_D, GOSSIP_D_HIGH, GOSSIP_D_LOW, computeGossipPeerScoreParams, gossipScoreThresholds, } from "./scoringParameters.js";
|
|
14
14
|
/** As specified in https://github.com/ethereum/consensus-specs/blob/v1.1.10/specs/phase0/p2p-interface.md */
|
|
15
15
|
const GOSSIPSUB_HEARTBEAT_INTERVAL = 0.7 * 1000;
|
|
16
16
|
const MAX_OUTBOUND_BUFFER_SIZE = 2 ** 24; // 16MB
|
|
@@ -76,10 +76,6 @@ export class Eth2Gossipsub extends GossipSub {
|
|
|
76
76
|
// if this is false, only publish to mesh peers. If there is not enough GOSSIP_D mesh peers,
|
|
77
77
|
// publish to some more topic peers to make sure we always publish to at least GOSSIP_D peers
|
|
78
78
|
floodPublish: !opts?.disableFloodPublish,
|
|
79
|
-
// Only send IDONTWANT messages if the message size is larger than this
|
|
80
|
-
// This should be large enough to not send IDONTWANT for "small" messages
|
|
81
|
-
// See https://github.com/ChainSafe/lodestar/pull/7077#issuecomment-2383679472
|
|
82
|
-
idontwantMinDataSize: 16829,
|
|
83
79
|
});
|
|
84
80
|
this.scoreParams = scoreParams;
|
|
85
81
|
this.config = config;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gossipsub.js","sourceRoot":"","sources":["../../../src/network/gossip/gossipsub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAkB,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"gossipsub.js","sourceRoot":"","sources":["../../../src/network/gossip/gossipsub.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { Libp2p } from "libp2p";
|
|
2
|
-
import { Message, TopicValidatorResult } from "@libp2p/interface";
|
|
3
1
|
import { PeerIdStr } from "@chainsafe/libp2p-gossipsub/types";
|
|
4
|
-
import {
|
|
5
|
-
import { altair, capella, deneb, LightClientFinalityUpdate, LightClientOptimisticUpdate, phase0, SignedBeaconBlock, Slot, Attestation, SignedAggregateAndProof } from "@lodestar/types";
|
|
2
|
+
import { Message, TopicValidatorResult } from "@libp2p/interface";
|
|
6
3
|
import { BeaconConfig } from "@lodestar/config";
|
|
4
|
+
import { ForkName } from "@lodestar/params";
|
|
5
|
+
import { Attestation, LightClientFinalityUpdate, LightClientOptimisticUpdate, SignedAggregateAndProof, SignedBeaconBlock, Slot, altair, capella, deneb, phase0 } from "@lodestar/types";
|
|
7
6
|
import { Logger } from "@lodestar/utils";
|
|
8
|
-
import {
|
|
9
|
-
import { JobItemQueue } from "../../util/queue/index.js";
|
|
7
|
+
import { Libp2p } from "libp2p";
|
|
10
8
|
import { AttestationError, AttestationErrorType } from "../../chain/errors/attestationError.js";
|
|
11
9
|
import { GossipActionError } from "../../chain/errors/gossipValidation.js";
|
|
10
|
+
import { IBeaconChain } from "../../chain/index.js";
|
|
11
|
+
import { JobItemQueue } from "../../util/queue/index.js";
|
|
12
12
|
export declare enum GossipType {
|
|
13
13
|
beacon_block = "beacon_block",
|
|
14
14
|
blob_sidecar = "blob_sidecar",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defaultTopicScoreParams, } from "@chainsafe/libp2p-gossipsub/score";
|
|
2
|
-
import { computeCommitteeCount } from "@lodestar/state-transition";
|
|
3
2
|
import { ATTESTATION_SUBNET_COUNT, SLOTS_PER_EPOCH, TARGET_AGGREGATORS_PER_COMMITTEE } from "@lodestar/params";
|
|
3
|
+
import { computeCommitteeCount } from "@lodestar/state-transition";
|
|
4
4
|
import { getActiveForks } from "../forks.js";
|
|
5
5
|
import { GossipType } from "./interface.js";
|
|
6
6
|
import { stringifyGossipTopic } from "./topic.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scoringParameters.js","sourceRoot":"","sources":["../../../src/network/gossip/scoringParameters.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"scoringParameters.js","sourceRoot":"","sources":["../../../src/network/gossip/scoringParameters.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,uBAAuB,GACxB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAC,wBAAwB,EAAE,eAAe,EAAE,gCAAgC,EAAC,MAAM,kBAAkB,CAAC;AAC7G,OAAO,EAAC,qBAAqB,EAAC,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAC,oBAAoB,EAAC,MAAM,YAAY,CAAC;AAEhD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC;AAC1B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC;AAC9B,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC;AAEhC,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAC/B,MAAM,kCAAkC,GAAG,IAAI,CAAC;AAChD,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,MAAM,6BAA6B,GAAG,GAAG,CAAC;AAC1C,MAAM,qBAAqB,GAAG,IAAI,CAAC;AACnC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AACtC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AACtC,MAAM,8BAA8B,GAAG,IAAI,CAAC;AAE5C,MAAM,6BAA6B,GAAG,CAAC,GAAG,wBAAwB,CAAC;AACnE,MAAM,gBAAgB,GACpB,CAAC,iBAAiB,GAAG,kCAAkC,CAAC;IACxD,CAAC,mBAAmB;QAClB,CAAC,6BAA6B;QAC9B,6BAA6B,GAAG,wBAAwB;QACxD,qBAAqB;QACrB,wBAAwB;QACxB,wBAAwB;QACxB,8BAA8B,CAAC,CAAC;AAEpC;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAwB;IACxD,eAAe,EAAE,CAAC,IAAI;IACtB,gBAAgB,EAAE,CAAC,IAAI;IACvB,iBAAiB,EAAE,CAAC,KAAK;IACzB,iBAAiB,EAAE,GAAG;IACtB,2BAA2B,EAAE,CAAC;CAC/B,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,IAAI,CAAC;AAsBxD;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,EAC3C,MAAM,EACN,WAAW,GAC0C;IACrD,MAAM,eAAe,GAAG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC;IACvD,MAAM,WAAW,GAAG,IAAI,CAAC;IACzB,MAAM,eAAe,GAAG,MAAM,CAAC,gBAAgB,GAAG,eAAe,GAAG,IAAI,CAAC;IACzE,MAAM,cAAc,GAAG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC;IACtD,MAAM,qBAAqB,GAAG,CAAC,WAAmB,EAAU,EAAE;QAC5D,OAAO,2BAA2B,CAAC,WAAW,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC;IAChF,CAAC,CAAC;IACF,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,eAAe,GAAG,EAAE,CAAC,CAAC;IAC1E,MAAM,yBAAyB,GAAG,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,gBAAgB,CAAC,qBAAqB,EAAE,EAAE,GAAG,eAAe,CAAC,GAAG,yBAAyB,CAAC;IAC9G,MAAM,aAAa,GAAG,gBAAgB,GAAG,GAAG,CAAC;IAE7C,MAAM,MAAM,GAAG;QACb,MAAM,EAAE,uBAAuB,CAAC,MAAM,EAAE,WAAW,EAAE;YACnD,eAAe;YACf,cAAc;YACd,qBAAqB;SACtB,CAAC;QACF,aAAa,EAAE,eAAe;QAC9B,WAAW;QACX,qEAAqE;QACrE,WAAW,EAAE,eAAe,GAAG,GAAG;QAClC,iBAAiB,EAAE,CAAC;QACpB,2BAA2B,EAAE,CAAC;QAC9B,wDAAwD;QACxD,qBAAqB;QACrB,sBAAsB,EAAE,qBAAqB,CAAC,eAAe,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;QAC3F,yBAAyB;QACzB,aAAa;QACb,wBAAwB,EAAE,CAAC,CAAC,GAAG,aAAa;KAC7C,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,uBAAuB,CAC9B,MAAoB,EACpB,WAAwB,EACxB,iBAAoC;IAEpC,MAAM,EAAC,eAAe,EAAE,cAAc,EAAC,GAAG,iBAAiB,CAAC;IAC5D,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC;IACvC,MAAM,YAAY,GAAqC,EAAE,CAAC;IAC1D,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5C,MAAM,6BAA6B,GAAG,CAAC,GAAG,wBAAwB,CAAC;IACnE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,wBAAwB;QACxB,YAAY,CACV,oBAAoB,CAAC,MAAM,EAAE;YAC3B,IAAI,EAAE,UAAU,CAAC,cAAc;YAC/B,IAAI;SACL,CAAC,CACH,GAAG,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,EAAE;YACjD,WAAW,EAAE,qBAAqB;YAClC,mBAAmB,EAAE,CAAC,GAAG,eAAe;YACxC,qBAAqB,EAAE,eAAe,GAAG,GAAG;SAC7C,CAAC,CAAC;QAEH,YAAY,CACV,oBAAoB,CAAC,MAAM,EAAE;YAC3B,IAAI,EAAE,UAAU,CAAC,uBAAuB;YACxC,IAAI;SACL,CAAC,CACH,GAAG,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,EAAE;YACjD,WAAW,EAAE,8BAA8B;YAC3C,mBAAmB,EAAE,CAAC,GAAG,eAAe;YACxC,qBAAqB,EAAE,eAAe,GAAG,GAAG;SAC7C,CAAC,CAAC;QAEH,YAAY,CACV,oBAAoB,CAAC,MAAM,EAAE;YAC3B,IAAI,EAAE,UAAU,CAAC,iBAAiB;YAClC,IAAI;SACL,CAAC,CACH,GAAG,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,EAAE;YACjD,WAAW,EAAE,wBAAwB;YACrC,mBAAmB,EAAE,CAAC,GAAG,CAAC,GAAG,eAAe;YAC5C,qBAAqB,EAAE,eAAe,GAAG,GAAG;SAC7C,CAAC,CAAC;QACH,YAAY,CACV,oBAAoB,CAAC,MAAM,EAAE;YAC3B,IAAI,EAAE,UAAU,CAAC,iBAAiB;YAClC,IAAI;SACL,CAAC,CACH,GAAG,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,EAAE;YACjD,WAAW,EAAE,wBAAwB;YACrC,mBAAmB,EAAE,CAAC,GAAG,CAAC,GAAG,eAAe;YAC5C,qBAAqB,EAAE,eAAe,GAAG,GAAG;SAC7C,CAAC,CAAC;QAEH,eAAe;QACf,YAAY,CACV,oBAAoB,CAAC,MAAM,EAAE;YAC3B,IAAI,EAAE,UAAU,CAAC,YAAY;YAC7B,IAAI;SACL,CAAC,CACH,GAAG,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,EAAE;YACjD,WAAW,EAAE,mBAAmB;YAChC,mBAAmB,EAAE,CAAC;YACtB,qBAAqB,EAAE,eAAe,GAAG,EAAE;YAC3C,eAAe,EAAE;gBACf,UAAU,EAAE,eAAe,GAAG,CAAC;gBAC/B,SAAS,EAAE,CAAC;gBACZ,gBAAgB,EAAE,eAAe;gBACjC,WAAW,EAAE,WAAW,CAAC,WAAW;aACrC;SACF,CAAC,CAAC;QAEH,MAAM,oBAAoB,GAAG,WAAW,CAAC,oBAAoB,CAAC;QAC9D,MAAM,EAAC,kBAAkB,EAAE,iBAAiB,EAAC,GAAG,8BAA8B,CAAC,oBAAoB,CAAC,CAAC;QAErG,iDAAiD;QACjD,gJAAgJ;QAChJ,oHAAoH;QACpH,IAAI,oBAAoB,KAAK,CAAC;YAAE,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC1E,IAAI,kBAAkB,KAAK,CAAC;YAAE,MAAM,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAEtE,MAAM,+BAA+B,GAAG,iBAAiB,IAAI,CAAC,CAAC,GAAG,wBAAwB,CAAC,GAAG,eAAe,CAAC;QAC9G,YAAY,CACV,oBAAoB,CAAC,MAAM,EAAE;YAC3B,IAAI,EAAE,UAAU,CAAC,0BAA0B;YAC3C,IAAI;SACL,CAAC,CACH,GAAG,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,EAAE;YACjD,WAAW,EAAE,6BAA6B;YAC1C,mBAAmB,EAAE,kBAAkB;YACvC,qBAAqB,EAAE,eAAe;YACtC,eAAe,EAAE;gBACf,UAAU,EAAE,eAAe,GAAG,CAAC;gBAC/B,SAAS,EAAE,CAAC;gBACZ,gBAAgB,EAAE,eAAe;gBACjC,WAAW,EAAE,WAAW,CAAC,WAAW;aACrC;SACF,CAAC,CAAC;QAEH,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,EAAE;YAC7E,WAAW,EAAE,6BAA6B;YAC1C,mBAAmB,EAAE,oBAAoB,GAAG,wBAAwB,GAAG,eAAe;YACtF,qBAAqB,EAAE,+BAA+B,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC;YAC9F,eAAe,EAAE;gBACf,UAAU,EAAE,+BAA+B,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,EAAE;gBACxF,SAAS,EAAE,EAAE;gBACb,gBAAgB,EAAE,+BAA+B;oBAC/C,CAAC,CAAC,cAAc,GAAG,CAAC,eAAe,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC5C,CAAC,CAAC,eAAe;gBACnB,WAAW,EAAE,WAAW,CAAC,WAAW;aACrC;SACF,CAAC,CAAC;QACH,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,wBAAwB,EAAE,MAAM,EAAE,EAAE,CAAC;YACjE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,EAAE;gBAC5C,IAAI,EAAE,UAAU,CAAC,kBAAkB;gBACnC,IAAI;gBACJ,MAAM;aACP,CAAC,CAAC;YACH,YAAY,CAAC,QAAQ,CAAC,GAAG,uBAAuB,CAAC;QACnD,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAAoB,EACpB,EAAC,eAAe,EAAE,cAAc,EAAE,qBAAqB,EAAoB,EAC3E,EAAC,WAAW,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,eAAe,EAAkB;IAE3F,MAAM,MAAM,GAAG,EAAC,GAAG,uBAAuB,EAAC,CAAC;IAE5C,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;IAEjC,MAAM,CAAC,iBAAiB,GAAG,cAAc,CAAC;IAC1C,MAAM,CAAC,aAAa,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,gBAAgB,GAAG,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC;IAEpD,MAAM,CAAC,2BAA2B,GAAG,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;IAClF,MAAM,CAAC,yBAAyB,GAAG,gBAAgB,CACjD,MAAM,CAAC,2BAA2B,EAClC,CAAC,CAAC,GAAG,mBAAmB,CAAC,GAAG,QAAQ,CACrC,CAAC;IACF,MAAM,CAAC,4BAA4B,GAAG,EAAE,GAAG,MAAM,CAAC,yBAAyB,CAAC;IAE5E,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,EAAC,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,WAAW,EAAC,GAAG,eAAe,CAAC;QAC/E,MAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,GAAG,UAAU,GAAG,IAAI,CAAC;QAChE,MAAM,CAAC,0BAA0B,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACvE,MAAM,CAAC,8BAA8B,GAAG,SAAS,CAAC,MAAM,CAAC,0BAA0B,EAAE,mBAAmB,GAAG,EAAE,CAAC,CAAC;QAC/G,MAAM,CAAC,wBAAwB,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAC;QACjG,MAAM,CAAC,+BAA+B,GAAG,gBAAgB,CAAC;QAC1D,mFAAmF;QACnF,MAAM,CAAC,2BAA2B,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,MAAM;QACtD,MAAM,CAAC,uBAAuB,GAAG,MAAM,CAAC,0BAA0B,CAAC;QACnE,MAAM,CAAC,2BAA2B;YAChC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAC,CAAC;QACtG,MAAM,CAAC,wBAAwB,GAAG,MAAM,CAAC,2BAA2B,CAAC;QACrE,IAAI,UAAU,IAAI,WAAW,EAAE,CAAC;YAC9B,MAAM,CAAC,8BAA8B,GAAG,CAAC,CAAC;YAC1C,MAAM,CAAC,2BAA2B,GAAG,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,2BAA2B,GAAG,CAAC,CAAC;QACvC,MAAM,CAAC,8BAA8B,GAAG,CAAC,CAAC;QAC1C,MAAM,CAAC,0BAA0B,GAAG,CAAC,CAAC;QACtC,MAAM,CAAC,wBAAwB,GAAG,CAAC,CAAC;QACpC,MAAM,CAAC,2BAA2B,GAAG,CAAC,CAAC;QACvC,MAAM,CAAC,+BAA+B,GAAG,CAAC,CAAC;QAC3C,MAAM,CAAC,uBAAuB,GAAG,CAAC,CAAC;QACnC,MAAM,CAAC,wBAAwB,GAAG,CAAC,CAAC;IACtC,CAAC;IACD,MAAM,CAAC,8BAA8B,GAAG,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;IACrF,MAAM,CAAC,6BAA6B,GAAG,qBAAqB,CAAC,eAAe,GAAG,EAAE,CAAC,CAAC;IACnF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,2BAA2B,CAAC,WAAmB,EAAE,eAAuB,EAAE,WAAmB;IACpG,MAAM,KAAK,GAAG,WAAW,GAAG,eAAe,CAAC;IAC5C,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,8BAA8B,CAAC,oBAA4B;IAIlE,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,oBAAoB,CAAC,CAAC;IACtE,MAAM,kBAAkB,GAAG,iBAAiB,GAAG,eAAe,CAAC;IAC/D,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,GAAG,kBAAkB,CAAC,CAAC;IACnF,MAAM,mBAAmB,GAAG,oBAAoB,GAAG,CAAC,CAAC;IACrD,MAAM,uBAAuB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,kBAAkB,CAAC;IACjG,MAAM,sBAAsB,GAAG,kBAAkB,GAAG,uBAAuB,CAAC;IAC5E,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,GAAG,gCAAgC,CAAC,CAAC,CAAC;IACvG,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,oBAAoB,GAAG,CAAC,CAAC,GAAG,gCAAgC,CAAC,CAAC,CAAC;IAC5G,MAAM,gCAAgC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,oBAAoB,GAAG,aAAa,CAAC,GAAG,sBAAsB,CAAC,CAAC;IACrH,MAAM,gCAAgC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,mBAAmB,GAAG,YAAY,CAAC,GAAG,uBAAuB,CAAC,CAAC;IAEpH,OAAO;QACL,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAC1B,CAAC,EACD,IAAI,CAAC,KAAK,CAAC,CAAC,gCAAgC,GAAG,gCAAgC,CAAC,GAAG,eAAe,CAAC,CACpG;QACD,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,IAAY;IAC5C,OAAO,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;AAC/C,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa,EAAE,IAAY;IACnD,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;AAC5B,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Attestation } from "@lodestar/types";
|
|
2
1
|
import { ForkDigestContext } from "@lodestar/config";
|
|
3
2
|
import { ForkName } from "@lodestar/params";
|
|
4
|
-
import {
|
|
3
|
+
import { Attestation } from "@lodestar/types";
|
|
4
|
+
import { GossipTopic, GossipTopicTypeMap, GossipType, SSZTypeOfGossipTopic } from "./interface.js";
|
|
5
5
|
export interface IGossipTopicCache {
|
|
6
6
|
getTopic(topicStr: string): GossipTopic;
|
|
7
7
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { ATTESTATION_SUBNET_COUNT, ForkSeq, MAX_BLOBS_PER_BLOCK, SYNC_COMMITTEE_SUBNET_COUNT, isForkLightClient, } from "@lodestar/params";
|
|
1
2
|
import { ssz, sszTypesFor } from "@lodestar/types";
|
|
2
|
-
import { ATTESTATION_SUBNET_COUNT, ForkSeq, SYNC_COMMITTEE_SUBNET_COUNT, isForkLightClient, MAX_BLOBS_PER_BLOCK, } from "@lodestar/params";
|
|
3
3
|
import { GossipAction, GossipActionError, GossipErrorCode } from "../../chain/errors/gossipValidation.js";
|
|
4
|
-
import { GossipEncoding, GossipType } from "./interface.js";
|
|
5
4
|
import { DEFAULT_ENCODING } from "./constants.js";
|
|
5
|
+
import { GossipEncoding, GossipType } from "./interface.js";
|
|
6
6
|
export class GossipTopicCache {
|
|
7
7
|
constructor(forkDigestContext) {
|
|
8
8
|
this.forkDigestContext = forkDigestContext;
|