@lodestar/beacon-node 1.32.0-peerDAS.fbabed864b → 1.32.0-rc.0
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 +33 -42
- package/lib/api/impl/beacon/blocks/index.js.map +1 -1
- package/lib/api/impl/beacon/state/index.js +13 -1
- package/lib/api/impl/beacon/state/index.js.map +1 -1
- package/lib/api/impl/validator/index.js +43 -29
- package/lib/api/impl/validator/index.js.map +1 -1
- package/lib/chain/archiveStore/archiveStore.d.ts +1 -1
- package/lib/chain/archiveStore/archiveStore.js +2 -2
- package/lib/chain/archiveStore/archiveStore.js.map +1 -1
- package/lib/chain/archiveStore/historicalState/metrics.js +13 -0
- package/lib/chain/archiveStore/historicalState/metrics.js.map +1 -1
- package/lib/chain/archiveStore/interface.d.ts +1 -1
- package/lib/chain/archiveStore/utils/archiveBlocks.d.ts +1 -1
- package/lib/chain/archiveStore/utils/archiveBlocks.js +51 -88
- package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
- package/lib/chain/beaconProposerCache.d.ts +0 -1
- package/lib/chain/beaconProposerCache.js +0 -3
- package/lib/chain/beaconProposerCache.js.map +1 -1
- package/lib/chain/blocks/importBlock.js +4 -60
- package/lib/chain/blocks/importBlock.js.map +1 -1
- package/lib/chain/blocks/types.d.ts +24 -65
- package/lib/chain/blocks/types.js +6 -39
- package/lib/chain/blocks/types.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksDataAvailability.js +10 -21
- package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
- package/lib/chain/blocks/writeBlockInputToDb.js +15 -89
- package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
- package/lib/chain/chain.d.ts +8 -16
- package/lib/chain/chain.js +14 -23
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/emitter.d.ts +2 -18
- package/lib/chain/emitter.js +0 -13
- package/lib/chain/emitter.js.map +1 -1
- package/lib/chain/errors/index.d.ts +0 -1
- package/lib/chain/errors/index.js +0 -1
- package/lib/chain/errors/index.js.map +1 -1
- package/lib/chain/interface.d.ts +5 -11
- package/lib/chain/interface.js.map +1 -1
- package/lib/chain/options.d.ts +3 -6
- package/lib/chain/options.js +0 -4
- package/lib/chain/options.js.map +1 -1
- package/lib/chain/produceBlock/produceBlockBody.d.ts +3 -5
- package/lib/chain/produceBlock/produceBlockBody.js +141 -117
- package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
- package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts +2 -3
- package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.js +2 -25
- package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.js.map +1 -1
- package/lib/chain/seenCache/seenGossipBlockInput.d.ts +18 -61
- package/lib/chain/seenCache/seenGossipBlockInput.js +53 -254
- package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
- package/lib/chain/validation/block.js +1 -1
- package/lib/chain/validation/block.js.map +1 -1
- package/lib/db/beacon.d.ts +1 -3
- package/lib/db/beacon.js +1 -3
- package/lib/db/beacon.js.map +1 -1
- package/lib/db/buckets.d.ts +1 -3
- package/lib/db/buckets.js +0 -2
- package/lib/db/buckets.js.map +1 -1
- package/lib/db/interface.d.ts +1 -3
- package/lib/db/repositories/index.d.ts +0 -2
- package/lib/db/repositories/index.js +0 -2
- package/lib/db/repositories/index.js.map +1 -1
- package/lib/execution/engine/http.d.ts +3 -5
- package/lib/execution/engine/http.js +31 -70
- package/lib/execution/engine/http.js.map +1 -1
- package/lib/execution/engine/interface.d.ts +2 -4
- package/lib/execution/engine/interface.js +1 -1
- package/lib/execution/engine/interface.js.map +1 -1
- package/lib/execution/engine/mock.d.ts +0 -1
- package/lib/execution/engine/mock.js +0 -5
- package/lib/execution/engine/mock.js.map +1 -1
- package/lib/execution/engine/types.d.ts +0 -10
- package/lib/execution/engine/types.js +0 -6
- package/lib/execution/engine/types.js.map +1 -1
- package/lib/metrics/metrics/beacon.d.ts +3 -12
- package/lib/metrics/metrics/beacon.js +13 -44
- package/lib/metrics/metrics/beacon.js.map +1 -1
- package/lib/network/core/metrics.d.ts +3 -10
- package/lib/network/core/metrics.js +4 -22
- package/lib/network/core/metrics.js.map +1 -1
- package/lib/network/core/networkCore.d.ts +4 -10
- package/lib/network/core/networkCore.js +55 -67
- package/lib/network/core/networkCore.js.map +1 -1
- package/lib/network/core/networkCoreWorker.js +0 -2
- package/lib/network/core/networkCoreWorker.js.map +1 -1
- package/lib/network/core/networkCoreWorkerHandler.d.ts +0 -2
- package/lib/network/core/networkCoreWorkerHandler.js +0 -7
- package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
- package/lib/network/core/types.d.ts +0 -4
- package/lib/network/discv5/index.d.ts +1 -0
- package/lib/network/discv5/index.js +1 -0
- package/lib/network/discv5/index.js.map +1 -1
- package/lib/network/discv5/types.d.ts +1 -0
- package/lib/network/discv5/utils.d.ts +3 -1
- package/lib/network/discv5/utils.js +14 -4
- package/lib/network/discv5/utils.js.map +1 -1
- package/lib/network/discv5/worker.js +5 -1
- package/lib/network/discv5/worker.js.map +1 -1
- package/lib/network/events.d.ts +1 -3
- package/lib/network/events.js.map +1 -1
- package/lib/network/forks.d.ts +8 -9
- package/lib/network/forks.js +35 -33
- package/lib/network/forks.js.map +1 -1
- package/lib/network/gossip/encoding.js +1 -1
- package/lib/network/gossip/encoding.js.map +1 -1
- package/lib/network/gossip/gossipsub.js +15 -6
- package/lib/network/gossip/gossipsub.js.map +1 -1
- package/lib/network/gossip/interface.d.ts +3 -11
- package/lib/network/gossip/interface.js +0 -1
- package/lib/network/gossip/interface.js.map +1 -1
- package/lib/network/gossip/scoringParameters.js +10 -10
- package/lib/network/gossip/scoringParameters.js.map +1 -1
- package/lib/network/gossip/topic.d.ts +1497 -1513
- package/lib/network/gossip/topic.js +15 -33
- package/lib/network/gossip/topic.js.map +1 -1
- package/lib/network/interface.d.ts +1 -13
- package/lib/network/metadata.d.ts +6 -10
- package/lib/network/metadata.js +13 -30
- package/lib/network/metadata.js.map +1 -1
- package/lib/network/network.d.ts +1 -12
- package/lib/network/network.js +43 -85
- package/lib/network/network.js.map +1 -1
- package/lib/network/options.js +0 -2
- package/lib/network/options.js.map +1 -1
- package/lib/network/peers/discover.d.ts +3 -14
- package/lib/network/peers/discover.js +14 -139
- package/lib/network/peers/discover.js.map +1 -1
- package/lib/network/peers/peerManager.d.ts +2 -10
- package/lib/network/peers/peerManager.js +10 -96
- package/lib/network/peers/peerManager.js.map +1 -1
- package/lib/network/peers/peersData.d.ts +2 -8
- package/lib/network/peers/peersData.js.map +1 -1
- package/lib/network/peers/score/interface.d.ts +1 -1
- package/lib/network/peers/score/score.d.ts +2 -2
- package/lib/network/peers/score/score.js +1 -4
- package/lib/network/peers/score/score.js.map +1 -1
- package/lib/network/peers/score/store.d.ts +1 -3
- package/lib/network/peers/score/store.js +2 -6
- package/lib/network/peers/score/store.js.map +1 -1
- package/lib/network/peers/utils/prioritizePeers.d.ts +4 -15
- package/lib/network/peers/utils/prioritizePeers.js +5 -30
- package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
- package/lib/network/processor/extractSlotRootFns.js +1 -8
- package/lib/network/processor/extractSlotRootFns.js.map +1 -1
- package/lib/network/processor/gossipHandlers.js +30 -164
- package/lib/network/processor/gossipHandlers.js.map +1 -1
- package/lib/network/processor/gossipQueues/index.js +1 -6
- package/lib/network/processor/gossipQueues/index.js.map +1 -1
- package/lib/network/processor/index.js +2 -3
- package/lib/network/processor/index.js.map +1 -1
- package/lib/network/reqresp/ReqRespBeaconNode.d.ts +3 -4
- package/lib/network/reqresp/ReqRespBeaconNode.js +14 -30
- package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.d.ts +5 -14
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js +14 -199
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js.map +1 -1
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.d.ts +6 -31
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js +48 -282
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js.map +1 -1
- package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts +1 -1
- package/lib/network/reqresp/handlers/beaconBlocksByRange.js +3 -2
- package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
- package/lib/network/reqresp/handlers/beaconBlocksByRoot.js +2 -1
- package/lib/network/reqresp/handlers/beaconBlocksByRoot.js.map +1 -1
- package/lib/network/reqresp/handlers/blobSidecarsByRange.js +2 -1
- package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +1 -1
- package/lib/network/reqresp/handlers/blobSidecarsByRoot.js +2 -1
- package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +1 -1
- package/lib/network/reqresp/handlers/index.js +0 -10
- package/lib/network/reqresp/handlers/index.js.map +1 -1
- package/lib/network/reqresp/handlers/lightClientBootstrap.js +4 -3
- package/lib/network/reqresp/handlers/lightClientBootstrap.js.map +1 -1
- package/lib/network/reqresp/handlers/lightClientFinalityUpdate.js +4 -3
- package/lib/network/reqresp/handlers/lightClientFinalityUpdate.js.map +1 -1
- package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.js +4 -3
- package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.js.map +1 -1
- package/lib/network/reqresp/handlers/lightClientUpdatesByRange.js +4 -3
- package/lib/network/reqresp/handlers/lightClientUpdatesByRange.js.map +1 -1
- package/lib/network/reqresp/handlers/status.js +2 -2
- package/lib/network/reqresp/handlers/status.js.map +1 -1
- package/lib/network/reqresp/protocols.d.ts +0 -3
- package/lib/network/reqresp/protocols.js +1 -16
- package/lib/network/reqresp/protocols.js.map +1 -1
- package/lib/network/reqresp/rateLimit.js +1 -11
- package/lib/network/reqresp/rateLimit.js.map +1 -1
- package/lib/network/reqresp/types.d.ts +6 -13
- package/lib/network/reqresp/types.js +2 -9
- package/lib/network/reqresp/types.js.map +1 -1
- package/lib/network/subnets/attnetsService.d.ts +3 -4
- package/lib/network/subnets/attnetsService.js +18 -17
- package/lib/network/subnets/attnetsService.js.map +1 -1
- package/lib/network/subnets/interface.d.ts +3 -6
- package/lib/network/subnets/interface.js +1 -14
- package/lib/network/subnets/interface.js.map +1 -1
- package/lib/network/subnets/syncnetsService.d.ts +3 -4
- package/lib/network/subnets/syncnetsService.js +14 -13
- package/lib/network/subnets/syncnetsService.js.map +1 -1
- package/lib/node/nodejs.js +0 -1
- package/lib/node/nodejs.js.map +1 -1
- package/lib/sync/interface.d.ts +2 -2
- package/lib/sync/interface.js +1 -1
- package/lib/sync/interface.js.map +1 -1
- package/lib/sync/range/batch.d.ts +2 -8
- package/lib/sync/range/batch.js +7 -19
- package/lib/sync/range/batch.js.map +1 -1
- package/lib/sync/range/chain.d.ts +2 -7
- package/lib/sync/range/chain.js +21 -45
- package/lib/sync/range/chain.js.map +1 -1
- package/lib/sync/range/range.js +3 -3
- package/lib/sync/range/range.js.map +1 -1
- package/lib/sync/range/utils/peerBalancer.d.ts +1 -4
- package/lib/sync/range/utils/peerBalancer.js +2 -20
- package/lib/sync/range/utils/peerBalancer.js.map +1 -1
- package/lib/sync/unknownBlock.d.ts +1 -8
- package/lib/sync/unknownBlock.js +63 -222
- package/lib/sync/unknownBlock.js.map +1 -1
- package/lib/util/blobs.d.ts +1 -13
- package/lib/util/blobs.js +1 -44
- package/lib/util/blobs.js.map +1 -1
- package/lib/util/metadata.d.ts +0 -4
- package/lib/util/metadata.js +0 -7
- package/lib/util/metadata.js.map +1 -1
- package/lib/util/sszBytes.d.ts +0 -1
- package/lib/util/sszBytes.js +0 -17
- package/lib/util/sszBytes.js.map +1 -1
- package/package.json +14 -14
- package/lib/chain/errors/dataColumnSidecarError.d.ts +0 -69
- package/lib/chain/errors/dataColumnSidecarError.js +0 -21
- package/lib/chain/errors/dataColumnSidecarError.js.map +0 -1
- package/lib/chain/validation/dataColumnSidecar.d.ts +0 -28
- package/lib/chain/validation/dataColumnSidecar.js +0 -245
- package/lib/chain/validation/dataColumnSidecar.js.map +0 -1
- package/lib/db/repositories/dataColumnSidecars.d.ts +0 -47
- package/lib/db/repositories/dataColumnSidecars.js +0 -40
- package/lib/db/repositories/dataColumnSidecars.js.map +0 -1
- package/lib/db/repositories/dataColumnSidecarsArchive.d.ts +0 -15
- package/lib/db/repositories/dataColumnSidecarsArchive.js +0 -23
- package/lib/db/repositories/dataColumnSidecarsArchive.js.map +0 -1
- package/lib/network/networkConfig.d.ts +0 -23
- package/lib/network/networkConfig.js +0 -32
- package/lib/network/networkConfig.js.map +0 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts +0 -8
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +0 -106
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +0 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts +0 -6
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js +0 -57
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +0 -1
- package/lib/util/dataColumns.d.ts +0 -125
- package/lib/util/dataColumns.js +0 -284
- package/lib/util/dataColumns.js.map +0 -1
|
@@ -1,43 +1,18 @@
|
|
|
1
1
|
import { ChainForkConfig } from "@lodestar/config";
|
|
2
|
-
import { RootHex,
|
|
2
|
+
import { RootHex, phase0 } from "@lodestar/types";
|
|
3
3
|
import { BlobAndProof } from "@lodestar/types/deneb";
|
|
4
|
-
import {
|
|
5
|
-
import { BlockInput, CachedBlobs, NullBlockInput } from "../../chain/blocks/types.js";
|
|
4
|
+
import { BlockInput, NullBlockInput } from "../../chain/blocks/types.js";
|
|
6
5
|
import { ChainEventEmitter } from "../../chain/emitter.js";
|
|
7
6
|
import { IExecutionEngine } from "../../execution/index.js";
|
|
8
7
|
import { Metrics } from "../../metrics/index.js";
|
|
9
8
|
import { PeerIdStr } from "../../util/peerId.js";
|
|
10
9
|
import { INetwork } from "../interface.js";
|
|
11
|
-
|
|
12
|
-
export declare function
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}>;
|
|
16
|
-
export declare function unavailableBeaconBlobsByRoot(config: ChainForkConfig, network: INetwork, peerId: PeerIdStr, peerClient: string, unavailableBlockInput: BlockInput | NullBlockInput, opts: {
|
|
17
|
-
logger?: Logger;
|
|
18
|
-
metrics?: Metrics | null;
|
|
10
|
+
export declare function beaconBlocksMaybeBlobsByRoot(config: ChainForkConfig, network: INetwork, peerId: PeerIdStr, request: phase0.BeaconBlocksByRootRequest): Promise<BlockInput[]>;
|
|
11
|
+
export declare function unavailableBeaconBlobsByRoot(config: ChainForkConfig, network: INetwork, peerId: PeerIdStr, unavailableBlockInput: BlockInput | NullBlockInput, opts: {
|
|
12
|
+
metrics: Metrics | null;
|
|
13
|
+
emitter: ChainEventEmitter | null;
|
|
19
14
|
executionEngine: IExecutionEngine;
|
|
20
|
-
emitter: ChainEventEmitter;
|
|
21
15
|
engineGetBlobsCache?: Map<RootHex, BlobAndProof | null>;
|
|
22
16
|
blockInputsRetryTrackerCache?: Set<RootHex>;
|
|
23
17
|
}): Promise<BlockInput>;
|
|
24
|
-
export declare function unavailableBeaconBlobsByRootPreFulu(config: ChainForkConfig, network: INetwork, peerId: PeerIdStr, unavailableBlockInput: BlockInput | NullBlockInput, block: SignedBeaconBlock, cachedData: CachedBlobs, opts: {
|
|
25
|
-
metrics?: Metrics | null;
|
|
26
|
-
executionEngine: IExecutionEngine;
|
|
27
|
-
engineGetBlobsCache?: Map<RootHex, BlobAndProof | null>;
|
|
28
|
-
blockInputsRetryTrackerCache?: Set<RootHex>;
|
|
29
|
-
}): Promise<BlockInput>;
|
|
30
|
-
/**
|
|
31
|
-
* Download more columns for a BlockInput
|
|
32
|
-
* - unavailableBlockInput should have block, but not enough blobs (deneb) or data columns (fulu)
|
|
33
|
-
*
|
|
34
|
-
* This function may return data promise, and consumer should continue with fetching more blobs or columns from other peers
|
|
35
|
-
* see UnknownBlockSync.fetchUnavailableBlockInput()
|
|
36
|
-
*/
|
|
37
|
-
export declare function unavailableBeaconBlobsByRootPostFulu(config: ChainForkConfig, network: INetwork, peerId: PeerIdStr, peerClient: string, unavailableBlockInput: BlockInput, block: SignedBeaconBlock, cachedData: NullBlockInput["cachedData"], opts: {
|
|
38
|
-
metrics?: Metrics | null;
|
|
39
|
-
executionEngine: IExecutionEngine;
|
|
40
|
-
emitter: ChainEventEmitter;
|
|
41
|
-
logger?: Logger;
|
|
42
|
-
}): Promise<BlockInput>;
|
|
43
18
|
//# sourceMappingURL=beaconBlocksMaybeBlobsByRoot.d.ts.map
|
|
@@ -1,160 +1,57 @@
|
|
|
1
1
|
import { toHexString } from "@chainsafe/ssz";
|
|
2
|
+
import { routes } from "@lodestar/api";
|
|
2
3
|
import { ForkName, ForkSeq } from "@lodestar/params";
|
|
3
4
|
import { signedBlockToSignedHeader } from "@lodestar/state-transition";
|
|
4
|
-
import { fromHex } from "@lodestar/utils";
|
|
5
|
-
import { BlobsSource, BlockInputType, BlockSource,
|
|
5
|
+
import { fromHex, toHex } from "@lodestar/utils";
|
|
6
|
+
import { BlobsSource, BlockInputType, BlockSource, getBlockInput, getBlockInputBlobs, } from "../../chain/blocks/types.js";
|
|
6
7
|
import { BlockInputAvailabilitySource } from "../../chain/seenCache/seenGossipBlockInput.js";
|
|
7
8
|
import { computeInclusionProof, kzgCommitmentToVersionedHash } from "../../util/blobs.js";
|
|
8
|
-
import {
|
|
9
|
-
import { matchBlockWithBlobs, matchBlockWithDataColumns } from "./beaconBlocksMaybeBlobsByRange.js";
|
|
9
|
+
import { matchBlockWithBlobs } from "./beaconBlocksMaybeBlobsByRange.js";
|
|
10
10
|
// keep 1 epoch of stuff, assmume 16 blobs
|
|
11
11
|
const MAX_ENGINE_GETBLOBS_CACHE = 32 * 16;
|
|
12
12
|
const MAX_UNAVAILABLE_RETRY_CACHE = 32;
|
|
13
|
-
export async function beaconBlocksMaybeBlobsByRoot(config, network, peerId, request
|
|
14
|
-
|
|
15
|
-
const allBlocks = partialDownload
|
|
16
|
-
? partialDownload.blocks.map((blockInput) => ({ data: blockInput.block }))
|
|
17
|
-
: await network.sendBeaconBlocksByRoot(peerId, request);
|
|
18
|
-
logger?.debug("beaconBlocksMaybeBlobsByRoot response", { allBlocks: allBlocks.length, peerClient });
|
|
19
|
-
const preDataBlocks = [];
|
|
20
|
-
const blobsDataBlocks = [];
|
|
21
|
-
const dataColumnsDataBlocks = [];
|
|
22
|
-
const sampledColumns = network.custodyConfig.sampledColumns;
|
|
23
|
-
const neededColumns = partialDownload ? partialDownload.pendingDataColumns : sampledColumns;
|
|
24
|
-
const peerColumns = network.getConnectedPeerCustody(peerId);
|
|
25
|
-
// get match
|
|
26
|
-
const columns = peerColumns.reduce((acc, elem) => {
|
|
27
|
-
if (neededColumns.includes(elem)) {
|
|
28
|
-
acc.push(elem);
|
|
29
|
-
}
|
|
30
|
-
return acc;
|
|
31
|
-
}, []);
|
|
32
|
-
let pendingDataColumns = null;
|
|
13
|
+
export async function beaconBlocksMaybeBlobsByRoot(config, network, peerId, request) {
|
|
14
|
+
const allBlocks = await network.sendBeaconBlocksByRoot(peerId, request);
|
|
33
15
|
const blobIdentifiers = [];
|
|
34
|
-
const dataColumnsByRootIdentifiers = [];
|
|
35
|
-
let prevFork = null;
|
|
36
16
|
for (const block of allBlocks) {
|
|
37
17
|
const slot = block.data.message.slot;
|
|
38
18
|
const blockRoot = config.getForkTypes(slot).BeaconBlock.hashTreeRoot(block.data.message);
|
|
39
19
|
const fork = config.getForkName(slot);
|
|
40
|
-
if (fork
|
|
41
|
-
throw Error("beaconBlocksMaybeBlobsByRoot only accepts requests of same fork");
|
|
42
|
-
}
|
|
43
|
-
prevFork = fork;
|
|
44
|
-
if (ForkSeq[fork] < ForkSeq.deneb) {
|
|
45
|
-
preDataBlocks.push(block);
|
|
46
|
-
}
|
|
47
|
-
else if (fork === ForkName.deneb || fork === ForkName.electra) {
|
|
48
|
-
blobsDataBlocks.push(block);
|
|
20
|
+
if (ForkSeq[fork] >= ForkSeq.deneb) {
|
|
49
21
|
const blobKzgCommitmentsLen = block.data.message.body.blobKzgCommitments.length;
|
|
50
|
-
logger?.debug("beaconBlocksMaybeBlobsByRoot", { blobKzgCommitmentsLen, peerClient });
|
|
51
22
|
for (let index = 0; index < blobKzgCommitmentsLen; index++) {
|
|
52
23
|
// try see if the blob is available locally
|
|
53
24
|
blobIdentifiers.push({ blockRoot, index });
|
|
54
25
|
}
|
|
55
26
|
}
|
|
56
|
-
else if (fork === ForkName.fulu) {
|
|
57
|
-
dataColumnsDataBlocks.push(block);
|
|
58
|
-
const blobKzgCommitmentsLen = block.data.message.body.blobKzgCommitments.length;
|
|
59
|
-
const custodyColumnIndexes = blobKzgCommitmentsLen > 0 ? columns : [];
|
|
60
|
-
if (custodyColumnIndexes.length > 0) {
|
|
61
|
-
dataColumnsByRootIdentifiers.push({
|
|
62
|
-
blockRoot,
|
|
63
|
-
columns: custodyColumnIndexes,
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
throw Error(`Invalid fork=${fork} in beaconBlocksMaybeBlobsByRoot`);
|
|
69
|
-
}
|
|
70
27
|
}
|
|
71
|
-
let
|
|
72
|
-
if (
|
|
73
|
-
|
|
74
|
-
if (blobIdentifiers.length > 0) {
|
|
75
|
-
allBlobSidecars = await network.sendBlobSidecarsByRoot(peerId, blobIdentifiers);
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
allBlobSidecars = [];
|
|
79
|
-
}
|
|
80
|
-
// The last arg is to provide slot to which all blobs should be exausted in matching
|
|
81
|
-
// and here it should be infinity since all bobs should match
|
|
82
|
-
const blockInputWithBlobs = matchBlockWithBlobs(config, allBlocks, allBlobSidecars, Infinity, BlockSource.byRoot, BlobsSource.byRoot);
|
|
83
|
-
blockInputs = [...blockInputs, ...blockInputWithBlobs];
|
|
28
|
+
let allBlobSidecars;
|
|
29
|
+
if (blobIdentifiers.length > 0) {
|
|
30
|
+
allBlobSidecars = await network.sendBlobSidecarsByRoot(peerId, blobIdentifiers);
|
|
84
31
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
if (!columns.includes(elem)) {
|
|
88
|
-
acc.push(elem);
|
|
89
|
-
}
|
|
90
|
-
return acc;
|
|
91
|
-
}, []);
|
|
92
|
-
let allDataColumnsSidecars;
|
|
93
|
-
logger?.debug("allDataColumnsSidecars partialDownload", {
|
|
94
|
-
...(partialDownload
|
|
95
|
-
? { blocks: partialDownload.blocks.length, pendingDataColumns: partialDownload.pendingDataColumns.join(" ") }
|
|
96
|
-
: { blocks: null, pendingDataColumns: null }),
|
|
97
|
-
dataColumnIdentifiers: dataColumnsByRootIdentifiers
|
|
98
|
-
.map((id) => `${id.blockRoot}: ${id.columns.join(" ")}`)
|
|
99
|
-
.join(" "),
|
|
100
|
-
peerClient,
|
|
101
|
-
});
|
|
102
|
-
if (dataColumnsByRootIdentifiers.length > 0) {
|
|
103
|
-
allDataColumnsSidecars = await network.sendDataColumnSidecarsByRoot(peerId, dataColumnsByRootIdentifiers);
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
if (partialDownload !== null) {
|
|
107
|
-
return partialDownload;
|
|
108
|
-
}
|
|
109
|
-
allDataColumnsSidecars = [];
|
|
110
|
-
}
|
|
111
|
-
// The last arg is to provide slot to which all blobs should be exausted in matching
|
|
112
|
-
// and here it should be infinity since all bobs should match
|
|
113
|
-
// TODO: should not call matchBlockWithDataColumns() because it's supposed for range sync
|
|
114
|
-
// in that function, peers should return all requested data columns, this function runs at gossip time
|
|
115
|
-
// and it should not expect that
|
|
116
|
-
const blockInputWithBlobs = matchBlockWithDataColumns(network, peerId, config, sampledColumns, columns, allBlocks, allDataColumnsSidecars, Infinity, BlockSource.byRoot, DataColumnsSource.byRoot, partialDownload, peerClient, logger);
|
|
117
|
-
blockInputs = [...blockInputs, ...blockInputWithBlobs];
|
|
32
|
+
else {
|
|
33
|
+
allBlobSidecars = [];
|
|
118
34
|
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
};
|
|
35
|
+
// The last arg is to provide slot to which all blobs should be exausted in matching
|
|
36
|
+
// and here it should be infinity since all bobs should match
|
|
37
|
+
return matchBlockWithBlobs(config, allBlocks, allBlobSidecars, Infinity, BlockSource.byRoot, BlobsSource.byRoot);
|
|
123
38
|
}
|
|
124
|
-
export async function unavailableBeaconBlobsByRoot(config, network, peerId,
|
|
39
|
+
export async function unavailableBeaconBlobsByRoot(config, network, peerId, unavailableBlockInput, opts) {
|
|
40
|
+
const { executionEngine, metrics, emitter, engineGetBlobsCache, blockInputsRetryTrackerCache } = opts;
|
|
125
41
|
if (unavailableBlockInput.block !== null && unavailableBlockInput.type !== BlockInputType.dataPromise) {
|
|
126
42
|
return unavailableBlockInput;
|
|
127
43
|
}
|
|
128
44
|
// resolve the block if thats unavailable
|
|
129
|
-
let block, cachedData;
|
|
45
|
+
let block, blobsCache, resolveAvailability, cachedData;
|
|
130
46
|
if (unavailableBlockInput.block === null) {
|
|
131
47
|
const allBlocks = await network.sendBeaconBlocksByRoot(peerId, [fromHex(unavailableBlockInput.blockRootHex)]);
|
|
132
48
|
block = allBlocks[0].data;
|
|
133
49
|
cachedData = unavailableBlockInput.cachedData;
|
|
134
|
-
|
|
135
|
-
// console.log(
|
|
136
|
-
// "downloaded sendBeaconBlocksByRoot",
|
|
137
|
-
// ssz.fulu.SignedBeaconBlock.toJson(block as fulu.SignedBeaconBlock)
|
|
138
|
-
// );
|
|
50
|
+
({ blobsCache, resolveAvailability } = cachedData);
|
|
139
51
|
}
|
|
140
52
|
else {
|
|
141
53
|
({ block, cachedData } = unavailableBlockInput);
|
|
142
|
-
|
|
143
|
-
const forkSeq = config.getForkSeq(block.message.slot);
|
|
144
|
-
if (forkSeq < ForkSeq.fulu) {
|
|
145
|
-
return unavailableBeaconBlobsByRootPreFulu(config, network, peerId, unavailableBlockInput, block, cachedData, opts);
|
|
146
|
-
}
|
|
147
|
-
return unavailableBeaconBlobsByRootPostFulu(config, network, peerId, peerClient, unavailableBlockInput, block, cachedData, {
|
|
148
|
-
metrics: opts.metrics,
|
|
149
|
-
executionEngine: opts.executionEngine,
|
|
150
|
-
emitter: opts.emitter,
|
|
151
|
-
logger: opts.logger,
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
|
-
export async function unavailableBeaconBlobsByRootPreFulu(config, network, peerId, unavailableBlockInput, block, cachedData, opts) {
|
|
155
|
-
const { executionEngine, metrics, engineGetBlobsCache, blockInputsRetryTrackerCache } = opts;
|
|
156
|
-
if (unavailableBlockInput.block !== null && unavailableBlockInput.type !== BlockInputType.dataPromise) {
|
|
157
|
-
return unavailableBlockInput;
|
|
54
|
+
({ blobsCache, resolveAvailability } = cachedData);
|
|
158
55
|
}
|
|
159
56
|
// resolve missing blobs
|
|
160
57
|
const slot = block.message.slot;
|
|
@@ -175,7 +72,7 @@ export async function unavailableBeaconBlobsByRootPreFulu(config, network, peerI
|
|
|
175
72
|
const networkReqIdentifiers = [];
|
|
176
73
|
let getBlobsUseful = false;
|
|
177
74
|
for (let index = 0; index < blobKzgCommitmentsLen; index++) {
|
|
178
|
-
if (
|
|
75
|
+
if (blobsCache.has(index) === false) {
|
|
179
76
|
const kzgCommitment = block.message.body.blobKzgCommitments[index];
|
|
180
77
|
const versionedHash = kzgCommitmentToVersionedHash(kzgCommitment);
|
|
181
78
|
// check if the getblobs cache has the data if block not been queried before
|
|
@@ -191,7 +88,7 @@ export async function unavailableBeaconBlobsByRootPreFulu(config, network, peerI
|
|
|
191
88
|
const { blob, proof: kzgProof } = catchedBlobAndProof;
|
|
192
89
|
const kzgCommitmentInclusionProof = computeInclusionProof(fork, block.message.body, index);
|
|
193
90
|
const blobSidecar = { index, blob, kzgCommitment, kzgProof, signedBlockHeader, kzgCommitmentInclusionProof };
|
|
194
|
-
|
|
91
|
+
blobsCache.set(blobSidecar.index, blobSidecar);
|
|
195
92
|
}
|
|
196
93
|
}
|
|
197
94
|
else if (blockTriedBefore) {
|
|
@@ -219,12 +116,13 @@ export async function unavailableBeaconBlobsByRootPreFulu(config, network, peerI
|
|
|
219
116
|
});
|
|
220
117
|
for (let j = 0; j < versionedHashes.length; j++) {
|
|
221
118
|
const blobAndProof = blobAndProofs[j] ?? null;
|
|
119
|
+
const versionedHash = versionedHashes[j];
|
|
222
120
|
// save to cache for future reference
|
|
223
|
-
engineGetBlobsCache?.set(toHexString(
|
|
121
|
+
engineGetBlobsCache?.set(toHexString(versionedHash), blobAndProof);
|
|
224
122
|
if (blobAndProof !== null) {
|
|
225
123
|
metrics?.blockInputFetchStats.dataPromiseBlobsEngineGetBlobsApiNotNull.inc();
|
|
226
124
|
// if we already got it by now, save the compute
|
|
227
|
-
if (
|
|
125
|
+
if (blobsCache.has(engineReqIdentifiers[j].index) === false) {
|
|
228
126
|
metrics?.blockInputFetchStats.dataPromiseBlobsEngineApiGetBlobsUseful.inc();
|
|
229
127
|
getBlobsUseful = true;
|
|
230
128
|
const { blob, proof: kzgProof } = blobAndProof;
|
|
@@ -234,7 +132,16 @@ export async function unavailableBeaconBlobsByRootPreFulu(config, network, peerI
|
|
|
234
132
|
// add them in cache so that its reflected in all the blockInputs that carry this
|
|
235
133
|
// for e.g. a blockInput that might be awaiting blobs promise fullfillment in
|
|
236
134
|
// verifyBlocksDataAvailability
|
|
237
|
-
|
|
135
|
+
blobsCache.set(blobSidecar.index, blobSidecar);
|
|
136
|
+
if (emitter?.listenerCount(routes.events.EventType.blobSidecar)) {
|
|
137
|
+
emitter.emit(routes.events.EventType.blobSidecar, {
|
|
138
|
+
blockRoot: blockRootHex,
|
|
139
|
+
slot,
|
|
140
|
+
index,
|
|
141
|
+
kzgCommitment: toHex(kzgCommitment),
|
|
142
|
+
versionedHash: toHex(versionedHash),
|
|
143
|
+
});
|
|
144
|
+
}
|
|
238
145
|
}
|
|
239
146
|
else {
|
|
240
147
|
metrics?.blockInputFetchStats.dataPromiseBlobsDelayedGossipAvailable.inc();
|
|
@@ -244,7 +151,7 @@ export async function unavailableBeaconBlobsByRootPreFulu(config, network, peerI
|
|
|
244
151
|
// may be blobsidecar arrived in the timespan of making the request
|
|
245
152
|
else {
|
|
246
153
|
metrics?.blockInputFetchStats.dataPromiseBlobsEngineGetBlobsApiNull.inc();
|
|
247
|
-
if (
|
|
154
|
+
if (blobsCache.has(engineReqIdentifiers[j].index) === false) {
|
|
248
155
|
const { blockRoot, index } = engineReqIdentifiers[j];
|
|
249
156
|
networkReqIdentifiers.push({ blockRoot, index });
|
|
250
157
|
}
|
|
@@ -298,17 +205,26 @@ export async function unavailableBeaconBlobsByRootPreFulu(config, network, peerI
|
|
|
298
205
|
// for e.g. a blockInput that might be awaiting blobs promise fullfillment in
|
|
299
206
|
// verifyBlocksDataAvailability
|
|
300
207
|
for (const blobSidecar of networkResBlobSidecars) {
|
|
301
|
-
|
|
208
|
+
blobsCache.set(blobSidecar.index, blobSidecar);
|
|
209
|
+
if (emitter?.listenerCount(routes.events.EventType.blobSidecar)) {
|
|
210
|
+
emitter.emit(routes.events.EventType.blobSidecar, {
|
|
211
|
+
blockRoot: blockRootHex,
|
|
212
|
+
slot,
|
|
213
|
+
index: blobSidecar.index,
|
|
214
|
+
kzgCommitment: toHex(blobSidecar.kzgCommitment),
|
|
215
|
+
versionedHash: toHex(kzgCommitmentToVersionedHash(blobSidecar.kzgCommitment)),
|
|
216
|
+
});
|
|
217
|
+
}
|
|
302
218
|
}
|
|
303
219
|
// check and see if all blobs are now available and in that case resolve availability
|
|
304
220
|
// if not this will error and the leftover blobs will be tried from another peer
|
|
305
|
-
const allBlobs = getBlockInputBlobs(
|
|
221
|
+
const allBlobs = getBlockInputBlobs(blobsCache);
|
|
306
222
|
const { blobs } = allBlobs;
|
|
307
223
|
if (blobs.length !== blobKzgCommitmentsLen) {
|
|
308
224
|
throw Error(`Not all blobs fetched missingBlobs=${blobKzgCommitmentsLen - blobs.length}`);
|
|
309
225
|
}
|
|
310
226
|
const blockData = { fork: cachedData.fork, ...allBlobs, blobsSource: BlobsSource.byRoot };
|
|
311
|
-
|
|
227
|
+
resolveAvailability(blockData);
|
|
312
228
|
metrics?.syncUnknownBlock.resolveAvailabilitySource.inc({ source: BlockInputAvailabilitySource.UNKNOWN_SYNC });
|
|
313
229
|
metrics?.blockInputFetchStats.totalDataPromiseBlockInputsResolvedAvailable.inc();
|
|
314
230
|
if (getBlobsUseful) {
|
|
@@ -325,154 +241,4 @@ export async function unavailableBeaconBlobsByRootPreFulu(config, network, peerI
|
|
|
325
241
|
}
|
|
326
242
|
return getBlockInput.availableData(config, block, BlockSource.byRoot, blockData);
|
|
327
243
|
}
|
|
328
|
-
/**
|
|
329
|
-
* Download more columns for a BlockInput
|
|
330
|
-
* - unavailableBlockInput should have block, but not enough blobs (deneb) or data columns (fulu)
|
|
331
|
-
*
|
|
332
|
-
* This function may return data promise, and consumer should continue with fetching more blobs or columns from other peers
|
|
333
|
-
* see UnknownBlockSync.fetchUnavailableBlockInput()
|
|
334
|
-
*/
|
|
335
|
-
export async function unavailableBeaconBlobsByRootPostFulu(config, network, peerId, peerClient, unavailableBlockInput, block, cachedData, opts) {
|
|
336
|
-
if (unavailableBlockInput.block !== null && unavailableBlockInput.type !== BlockInputType.dataPromise) {
|
|
337
|
-
return unavailableBlockInput;
|
|
338
|
-
}
|
|
339
|
-
if (cachedData.fork === ForkName.deneb || cachedData.fork === ForkName.electra) {
|
|
340
|
-
const { blobsCache, resolveAvailability } = cachedData;
|
|
341
|
-
// resolve missing blobs
|
|
342
|
-
const blobIdentifiers = [];
|
|
343
|
-
const slot = block.message.slot;
|
|
344
|
-
const blockRoot = config.getForkTypes(slot).BeaconBlock.hashTreeRoot(block.message);
|
|
345
|
-
const blobKzgCommitmentsLen = block.message.body.blobKzgCommitments.length;
|
|
346
|
-
for (let index = 0; index < blobKzgCommitmentsLen; index++) {
|
|
347
|
-
if (blobsCache.has(index) === false)
|
|
348
|
-
blobIdentifiers.push({ blockRoot, index });
|
|
349
|
-
}
|
|
350
|
-
let allBlobSidecars;
|
|
351
|
-
if (blobIdentifiers.length > 0) {
|
|
352
|
-
allBlobSidecars = await network.sendBlobSidecarsByRoot(peerId, blobIdentifiers);
|
|
353
|
-
}
|
|
354
|
-
else {
|
|
355
|
-
allBlobSidecars = [];
|
|
356
|
-
}
|
|
357
|
-
// add them in cache so that its reflected in all the blockInputs that carry this
|
|
358
|
-
// for e.g. a blockInput that might be awaiting blobs promise fullfillment in
|
|
359
|
-
// verifyBlocksDataAvailability
|
|
360
|
-
for (const blobSidecar of allBlobSidecars) {
|
|
361
|
-
blobsCache.set(blobSidecar.index, blobSidecar);
|
|
362
|
-
}
|
|
363
|
-
// check and see if all blobs are now available and in that case resolve availability
|
|
364
|
-
// if not this will error and the leftover blobs will be tried from another peer
|
|
365
|
-
const allBlobs = getBlockInputBlobs(blobsCache);
|
|
366
|
-
const { blobs } = allBlobs;
|
|
367
|
-
if (blobs.length !== blobKzgCommitmentsLen) {
|
|
368
|
-
throw Error(`Not all blobs fetched missingBlobs=${blobKzgCommitmentsLen - blobs.length}`);
|
|
369
|
-
}
|
|
370
|
-
const blockData = { fork: cachedData.fork, ...allBlobs, blobsSource: BlobsSource.byRoot };
|
|
371
|
-
resolveAvailability(blockData);
|
|
372
|
-
opts.metrics?.syncUnknownBlock.resolveAvailabilitySource.inc({ source: BlockInputAvailabilitySource.UNKNOWN_SYNC });
|
|
373
|
-
return getBlockInput.availableData(config, block, BlockSource.byRoot, blockData);
|
|
374
|
-
}
|
|
375
|
-
// fulu fork
|
|
376
|
-
const { dataColumnsCache, resolveAvailability } = cachedData;
|
|
377
|
-
// resolve missing blobs
|
|
378
|
-
const slot = block.message.slot;
|
|
379
|
-
const blockRoot = config.getForkTypes(slot).BeaconBlock.hashTreeRoot(block.message);
|
|
380
|
-
const blobKzgCommitments = block.message.body.blobKzgCommitments;
|
|
381
|
-
if (blobKzgCommitments.length === 0) {
|
|
382
|
-
const blockData = {
|
|
383
|
-
fork: cachedData.fork,
|
|
384
|
-
dataColumns: [],
|
|
385
|
-
dataColumnsBytes: [],
|
|
386
|
-
dataColumnsSource: DataColumnsSource.gossip,
|
|
387
|
-
};
|
|
388
|
-
resolveAvailability(blockData);
|
|
389
|
-
opts.metrics?.syncUnknownBlock.resolveAvailabilitySource.inc({ source: BlockInputAvailabilitySource.UNKNOWN_SYNC });
|
|
390
|
-
return getBlockInput.availableData(config, block, BlockSource.byRoot, blockData);
|
|
391
|
-
}
|
|
392
|
-
const sampledColumns = network.custodyConfig.sampledColumns;
|
|
393
|
-
let neededColumns = sampledColumns.reduce((acc, elem) => {
|
|
394
|
-
if (dataColumnsCache.get(elem) === undefined) {
|
|
395
|
-
acc.push(elem);
|
|
396
|
-
}
|
|
397
|
-
return acc;
|
|
398
|
-
}, []);
|
|
399
|
-
let resolveBlockInput = null;
|
|
400
|
-
const blockInputPromise = new Promise((resolveCB) => {
|
|
401
|
-
resolveBlockInput = resolveCB;
|
|
402
|
-
});
|
|
403
|
-
if (resolveBlockInput === null) {
|
|
404
|
-
throw Error("Promise Constructor was not executed immediately");
|
|
405
|
-
}
|
|
406
|
-
const gotColumnsFromExecution = await getDataColumnsFromExecution(config, network.custodyConfig, opts.executionEngine, opts.emitter, {
|
|
407
|
-
fork: config.getForkName(block.message.slot),
|
|
408
|
-
block: block,
|
|
409
|
-
cachedData: cachedData,
|
|
410
|
-
blockInputPromise,
|
|
411
|
-
resolveBlockInput,
|
|
412
|
-
}, opts.metrics ?? null);
|
|
413
|
-
if (!gotColumnsFromExecution) {
|
|
414
|
-
const peerColumns = network.getConnectedPeerCustody(peerId);
|
|
415
|
-
// get match
|
|
416
|
-
const columns = peerColumns.reduce((acc, elem) => {
|
|
417
|
-
if (neededColumns.includes(elem)) {
|
|
418
|
-
acc.push(elem);
|
|
419
|
-
}
|
|
420
|
-
return acc;
|
|
421
|
-
}, []);
|
|
422
|
-
// this peer can't help fetching columns for this block
|
|
423
|
-
if (unavailableBlockInput.block !== null && columns.length === 0 && neededColumns.length > 0) {
|
|
424
|
-
return unavailableBlockInput;
|
|
425
|
-
}
|
|
426
|
-
let allDataColumnSidecars;
|
|
427
|
-
if (columns.length > 0) {
|
|
428
|
-
allDataColumnSidecars = await network.sendDataColumnSidecarsByRoot(peerId, [{ blockRoot, columns }]);
|
|
429
|
-
}
|
|
430
|
-
else {
|
|
431
|
-
allDataColumnSidecars = [];
|
|
432
|
-
}
|
|
433
|
-
const logCtx = {
|
|
434
|
-
slot: block.message.slot,
|
|
435
|
-
requestedColumns: columns.join(","),
|
|
436
|
-
respondedColumns: allDataColumnSidecars.map((dcs) => dcs.index).join(","),
|
|
437
|
-
peerClient,
|
|
438
|
-
};
|
|
439
|
-
opts.logger?.verbose("unavailableBeaconBlobsByRootPostFulu: Requested data columns from peer", logCtx);
|
|
440
|
-
// the same to matchBlockWithDataColumns() without expecting requested data columns = responded data columns
|
|
441
|
-
// because at gossip time peer may not have enough column to return
|
|
442
|
-
for (const dataColumnSidecar of allDataColumnSidecars) {
|
|
443
|
-
dataColumnsCache.set(dataColumnSidecar.index, {
|
|
444
|
-
dataColumn: dataColumnSidecar,
|
|
445
|
-
// TODO: req/resp should return bytes here
|
|
446
|
-
dataColumnBytes: null,
|
|
447
|
-
});
|
|
448
|
-
}
|
|
449
|
-
}
|
|
450
|
-
// reevaluate needeColumns and resolve availability if possible
|
|
451
|
-
neededColumns = sampledColumns.reduce((acc, elem) => {
|
|
452
|
-
if (dataColumnsCache.get(elem) === undefined) {
|
|
453
|
-
acc.push(elem);
|
|
454
|
-
}
|
|
455
|
-
return acc;
|
|
456
|
-
}, []);
|
|
457
|
-
const logCtx = {
|
|
458
|
-
slot: block.message.slot,
|
|
459
|
-
neededColumns: neededColumns.join(","),
|
|
460
|
-
sampledColumns: sampledColumns.join(","),
|
|
461
|
-
};
|
|
462
|
-
if (neededColumns.length === 0) {
|
|
463
|
-
const { dataColumns, dataColumnsBytes } = getBlockInputDataColumns(cachedData.dataColumnsCache, sampledColumns);
|
|
464
|
-
// don't forget to resolve availability as the block may be stuck in availability wait
|
|
465
|
-
const blockData = {
|
|
466
|
-
fork: config.getForkName(block.message.slot),
|
|
467
|
-
dataColumns,
|
|
468
|
-
dataColumnsBytes,
|
|
469
|
-
dataColumnsSource: DataColumnsSource.byRoot,
|
|
470
|
-
};
|
|
471
|
-
resolveAvailability(blockData);
|
|
472
|
-
opts.logger?.verbose("unavailableBeaconBlobsByRootPostFulu: Resolved availability for block with all data columns", logCtx);
|
|
473
|
-
return getBlockInput.availableData(config, block, BlockSource.byRoot, blockData);
|
|
474
|
-
}
|
|
475
|
-
opts.logger?.verbose("unavailableBeaconBlobsByRootPostFulu: Still missing data columns for block", logCtx);
|
|
476
|
-
return getBlockInput.dataPromise(config, block, BlockSource.byRoot, cachedData);
|
|
477
|
-
}
|
|
478
244
|
//# sourceMappingURL=beaconBlocksMaybeBlobsByRoot.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"beaconBlocksMaybeBlobsByRoot.js","sourceRoot":"","sources":["../../../src/network/reqresp/beaconBlocksMaybeBlobsByRoot.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"beaconBlocksMaybeBlobsByRoot.js","sourceRoot":"","sources":["../../../src/network/reqresp/beaconBlocksMaybeBlobsByRoot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AAErC,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAC,yBAAyB,EAAC,MAAM,4BAA4B,CAAC;AAGrE,OAAO,EAAC,OAAO,EAAE,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,WAAW,EAGX,cAAc,EACd,WAAW,EAEX,aAAa,EACb,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAC,4BAA4B,EAAC,MAAM,+CAA+C,CAAC;AAG3F,OAAO,EAAC,qBAAqB,EAAE,4BAA4B,EAAC,MAAM,qBAAqB,CAAC;AAGxF,OAAO,EAAC,mBAAmB,EAAC,MAAM,oCAAoC,CAAC;AAEvE,0CAA0C;AAC1C,MAAM,yBAAyB,GAAG,EAAE,GAAG,EAAE,CAAC;AAC1C,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAEvC,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,MAAuB,EACvB,OAAiB,EACjB,MAAiB,EACjB,OAAyC;IAEzC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxE,MAAM,eAAe,GAA2B,EAAE,CAAC;IAEnD,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QACrC,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzF,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEtC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACnC,MAAM,qBAAqB,GAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAA8B,CAAC,kBAAkB,CAAC,MAAM,CAAC;YAC3G,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,qBAAqB,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC3D,2CAA2C;gBAC3C,eAAe,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,KAAK,EAAC,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,eAAoC,CAAC;IACzC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,eAAe,GAAG,MAAM,OAAO,CAAC,sBAAsB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAClF,CAAC;SAAM,CAAC;QACN,eAAe,GAAG,EAAE,CAAC;IACvB,CAAC;IAED,oFAAoF;IACpF,6DAA6D;IAC7D,OAAO,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;AACnH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,MAAuB,EACvB,OAAiB,EACjB,MAAiB,EACjB,qBAAkD,EAClD,IAMC;IAED,MAAM,EAAC,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,4BAA4B,EAAC,GAAG,IAAI,CAAC;IACpG,IAAI,qBAAqB,CAAC,KAAK,KAAK,IAAI,IAAI,qBAAqB,CAAC,IAAI,KAAK,cAAc,CAAC,WAAW,EAAE,CAAC;QACtG,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAED,yCAAyC;IACzC,IAAI,KAAwB,EAC1B,UAAsD,EACtD,mBAAwE,EACxE,UAAwC,CAAC;IAC3C,IAAI,qBAAqB,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC9G,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1B,UAAU,GAAG,qBAAqB,CAAC,UAAU,CAAC;QAC9C,CAAC,EAAC,UAAU,EAAE,mBAAmB,EAAC,GAAG,UAAU,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,CAAC,EAAC,KAAK,EAAE,UAAU,EAAC,GAAG,qBAAqB,CAAC,CAAC;QAC9C,CAAC,EAAC,UAAU,EAAE,mBAAmB,EAAC,GAAG,UAAU,CAAC,CAAC;IACnD,CAAC;IAED,wBAAwB;IACxB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;IAChC,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACpF,MAAM,YAAY,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IAE5C,MAAM,gBAAgB,GAAG,4BAA4B,EAAE,GAAG,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IAClF,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,EAAE,oBAAoB,CAAC,2CAA2C,CAAC,GAAG,EAAE,CAAC;IAClF,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,oBAAoB,CAAC,yCAAyC,CAAC,GAAG,EAAE,CAAC;QAC9E,4BAA4B,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,qBAAqB,GAAI,KAAK,CAAC,OAAO,CAAC,IAA8B,CAAC,kBAAkB,CAAC,MAAM,CAAC;IACtG,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEnE,MAAM,oBAAoB,GAGnB,EAAE,CAAC;IACV,MAAM,qBAAqB,GAA2B,EAAE,CAAC;IAEzD,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,qBAAqB,EAAE,KAAK,EAAE,EAAE,CAAC;QAC3D,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;YACpC,MAAM,aAAa,GAAI,KAAK,CAAC,OAAO,CAAC,IAA8B,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC9F,MAAM,aAAa,GAAG,4BAA4B,CAAC,aAAa,CAAC,CAAC;YAElE,4EAA4E;YAC5E,IAAI,mBAAmB,EAAE,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACvF,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,IAAI,IAAI,CAAC;gBACxF,IAAI,mBAAmB,KAAK,IAAI,EAAE,CAAC;oBACjC,OAAO,EAAE,oBAAoB,CAAC,wCAAwC,CAAC,GAAG,EAAE,CAAC;oBAC7E,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,KAAK,EAAC,CAAC,CAAC;gBACjD,CAAC;qBAAM,CAAC;oBACN,OAAO,EAAE,oBAAoB,CAAC,2CAA2C,CAAC,GAAG,EAAE,CAAC;oBAChF,+CAA+C;oBAC/C,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAC,GAAG,mBAAmB,CAAC;oBACpD,MAAM,2BAA2B,GAAG,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBAC3F,MAAM,WAAW,GAAG,EAAC,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,iBAAiB,EAAE,2BAA2B,EAAC,CAAC;oBAC3G,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;iBAAM,IAAI,gBAAgB,EAAE,CAAC;gBAC5B,6BAA6B;gBAC7B,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,KAAK,EAAC,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,6BAA6B;gBAC7B,OAAO,EAAE,oBAAoB,CAAC,2CAA2C,CAAC,GAAG,EAAE,CAAC;gBAChF,oBAAoB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,EAAC,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,oBAAoB,CAAC,gCAAgC,CAAC,GAAG,EAAE,CAAC;QACvE,CAAC;IACH,CAAC;IAED,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,oBAAoB,CAAC,wCAAwC,CAAC,GAAG,EAAE,CAAC;IAC/E,CAAC;IACD,MAAM,eAAe,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;IAC3E,OAAO,EAAE,oBAAoB,CAAC,yCAAyC,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAEpG,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE;QACjG,OAAO,EAAE,oBAAoB,CAAC,4CAA4C,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACvG,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChD,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QAC9C,MAAM,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACzC,qCAAqC;QACrC,mBAAmB,EAAE,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC,CAAC;QACnE,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAO,EAAE,oBAAoB,CAAC,wCAAwC,CAAC,GAAG,EAAE,CAAC;YAE7E,gDAAgD;YAChD,IAAI,UAAU,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;gBAC5D,OAAO,EAAE,oBAAoB,CAAC,uCAAuC,CAAC,GAAG,EAAE,CAAC;gBAC5E,cAAc,GAAG,IAAI,CAAC;gBACtB,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAC,GAAG,YAAY,CAAC;gBAC7C,MAAM,EAAC,aAAa,EAAE,KAAK,EAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACvD,MAAM,2BAA2B,GAAG,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC3F,MAAM,WAAW,GAAG,EAAC,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,iBAAiB,EAAE,2BAA2B,EAAC,CAAC;gBAC3G,iFAAiF;gBACjF,6EAA6E;gBAC7E,+BAA+B;gBAC/B,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBAE/C,IAAI,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;oBAChE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE;wBAChD,SAAS,EAAE,YAAY;wBACvB,IAAI;wBACJ,KAAK;wBACL,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC;wBACnC,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC;qBACpC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,oBAAoB,CAAC,sCAAsC,CAAC,GAAG,EAAE,CAAC;gBAC3E,OAAO,EAAE,oBAAoB,CAAC,0DAA0D,CAAC,GAAG,EAAE,CAAC;YACjG,CAAC;QACH,CAAC;QACD,mEAAmE;aAC9D,CAAC;YACJ,OAAO,EAAE,oBAAoB,CAAC,qCAAqC,CAAC,GAAG,EAAE,CAAC;YAC1E,IAAI,UAAU,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;gBAC5D,MAAM,EAAC,SAAS,EAAE,KAAK,EAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACnD,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,KAAK,EAAC,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,oBAAoB,CAAC,sCAAsC,CAAC,GAAG,EAAE,CAAC;YAC7E,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;QACtC,gCAAgC;QAChC,IAAI,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,GAAG,yBAAyB,CAAC,CAAC;QACrF,KAAK,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC;YAC7C,IAAI,WAAW,IAAI,CAAC;gBAAE,MAAM;YAC5B,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChC,WAAW,EAAE,CAAC;YACd,OAAO,EAAE,oBAAoB,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC;QAC1D,CAAC;QACD,OAAO,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,4BAA4B,KAAK,SAAS,EAAE,CAAC;QAC/C,gCAAgC;QAChC,IAAI,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,4BAA4B,EAAE,IAAI,GAAG,2BAA2B,CAAC,CAAC;QAChG,KAAK,MAAM,GAAG,IAAI,4BAA4B,CAAC,IAAI,EAAE,EAAE,CAAC;YACtD,IAAI,WAAW,IAAI,CAAC;gBAAE,MAAM;YAC5B,4BAA4B,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACzC,WAAW,EAAE,CAAC;YACd,OAAO,EAAE,oBAAoB,CAAC,4CAA4C,CAAC,GAAG,EAAE,CAAC;QACnF,CAAC;QACD,OAAO,EAAE,oBAAoB,CAAC,0CAA0C,CAAC,GAAG,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;IAClH,CAAC;IAED,uCAAuC;IACvC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACxD,IAAI,sBAA2C,CAAC;IAChD,OAAO,EAAE,oBAAoB,CAAC,yCAAyC,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC1G,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,EAAE,oBAAoB,CAAC,kCAAkC,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACrG,CAAC;IAED,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,sBAAsB,GAAG,MAAM,OAAO,CAAC,sBAAsB,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;QAC7F,OAAO,EAAE,oBAAoB,CAAC,2CAA2C,CAAC,GAAG,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAC7G,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,EAAE,oBAAoB,CAAC,2CAA2C,CAAC,GAAG,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAC/G,CAAC;IACH,CAAC;SAAM,CAAC;QACN,sBAAsB,GAAG,EAAE,CAAC;IAC9B,CAAC;IAED,iFAAiF;IACjF,6EAA6E;IAC7E,+BAA+B;IAC/B,KAAK,MAAM,WAAW,IAAI,sBAAsB,EAAE,CAAC;QACjD,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAE/C,IAAI,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;YAChE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE;gBAChD,SAAS,EAAE,YAAY;gBACvB,IAAI;gBACJ,KAAK,EAAE,WAAW,CAAC,KAAK;gBACxB,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC;gBAC/C,aAAa,EAAE,KAAK,CAAC,4BAA4B,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;aAC9E,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,qFAAqF;IACrF,gFAAgF;IAChF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAChD,MAAM,EAAC,KAAK,EAAC,GAAG,QAAQ,CAAC;IACzB,IAAI,KAAK,CAAC,MAAM,KAAK,qBAAqB,EAAE,CAAC;QAC3C,MAAM,KAAK,CAAC,sCAAsC,qBAAqB,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,MAAM,SAAS,GAAG,EAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,MAAM,EAAwB,CAAC;IAC/G,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC/B,OAAO,EAAE,gBAAgB,CAAC,yBAAyB,CAAC,GAAG,CAAC,EAAC,MAAM,EAAE,4BAA4B,CAAC,YAAY,EAAC,CAAC,CAAC;IAE7G,OAAO,EAAE,oBAAoB,CAAC,4CAA4C,CAAC,GAAG,EAAE,CAAC;IACjF,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,EAAE,oBAAoB,CAAC,iDAAiD,CAAC,GAAG,EAAE,CAAC;QACtF,IAAI,qBAAqB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,OAAO,EAAE,oBAAoB,CAAC,gDAAgD,CAAC,GAAG,EAAE,CAAC;QACvF,CAAC;IACH,CAAC;IACD,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,oBAAoB,CAAC,6DAA6D,CAAC,GAAG,EAAE,CAAC;IACpG,CAAC;IACD,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,EAAE,oBAAoB,CAAC,sDAAsD,CAAC,GAAG,EAAE,CAAC;IAC7F,CAAC;IAED,OAAO,aAAa,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AACnF,CAAC"}
|
|
@@ -4,5 +4,5 @@ import { deneb, phase0 } from "@lodestar/types";
|
|
|
4
4
|
import { IBeaconChain } from "../../../chain/index.js";
|
|
5
5
|
import { IBeaconDb } from "../../../db/index.js";
|
|
6
6
|
export declare function onBeaconBlocksByRange(request: phase0.BeaconBlocksByRangeRequest, chain: IBeaconChain, db: IBeaconDb): AsyncIterable<ResponseOutgoing>;
|
|
7
|
-
export declare function validateBeaconBlocksByRangeRequest(config: BeaconConfig, request:
|
|
7
|
+
export declare function validateBeaconBlocksByRangeRequest(config: BeaconConfig, request: deneb.BlobSidecarsByRangeRequest): deneb.BlobSidecarsByRangeRequest;
|
|
8
8
|
//# sourceMappingURL=beaconBlocksByRange.d.ts.map
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { GENESIS_SLOT, MAX_REQUEST_BLOCKS, MAX_REQUEST_BLOCKS_DENEB, isForkPostDeneb } from "@lodestar/params";
|
|
2
2
|
import { RespStatus, ResponseError } from "@lodestar/reqresp";
|
|
3
|
+
import { computeEpochAtSlot } from "@lodestar/state-transition";
|
|
3
4
|
import { fromHex } from "@lodestar/utils";
|
|
4
5
|
// TODO: Unit test
|
|
5
6
|
export async function* onBeaconBlocksByRange(request, chain, db) {
|
|
@@ -14,7 +15,7 @@ export async function* onBeaconBlocksByRange(request, chain, db) {
|
|
|
14
15
|
for await (const { key, value } of finalized.binaryEntriesStream({ gte: startSlot, lt: endSlot })) {
|
|
15
16
|
yield {
|
|
16
17
|
data: value,
|
|
17
|
-
|
|
18
|
+
boundary: chain.config.getForkBoundaryAtEpoch(computeEpochAtSlot(finalized.decodeKey(key))),
|
|
18
19
|
};
|
|
19
20
|
}
|
|
20
21
|
}
|
|
@@ -40,7 +41,7 @@ export async function* onBeaconBlocksByRange(request, chain, db) {
|
|
|
40
41
|
}
|
|
41
42
|
yield {
|
|
42
43
|
data: blockBytes,
|
|
43
|
-
|
|
44
|
+
boundary: chain.config.getForkBoundaryAtEpoch(computeEpochAtSlot(block.slot)),
|
|
44
45
|
};
|
|
45
46
|
}
|
|
46
47
|
// If block is after endSlot, stop iterating
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"beaconBlocksByRange.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/beaconBlocksByRange.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAC7G,OAAO,EAAC,UAAU,EAAE,aAAa,EAAmB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"beaconBlocksByRange.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/beaconBlocksByRange.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { computeEpochAtSlot } from "@lodestar/state-transition";
|
|
1
2
|
import { toRootHex } from "@lodestar/utils";
|
|
2
3
|
import { getSlotFromSignedBeaconBlockSerialized } from "../../../util/sszBytes.js";
|
|
3
4
|
export async function* onBeaconBlocksByRoot(requestBody, chain, db) {
|
|
@@ -27,7 +28,7 @@ export async function* onBeaconBlocksByRoot(requestBody, chain, db) {
|
|
|
27
28
|
}
|
|
28
29
|
yield {
|
|
29
30
|
data: blockBytes,
|
|
30
|
-
|
|
31
|
+
boundary: chain.config.getForkBoundaryAtEpoch(computeEpochAtSlot(slot)),
|
|
31
32
|
};
|
|
32
33
|
}
|
|
33
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"beaconBlocksByRoot.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/beaconBlocksByRoot.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"beaconBlocksByRoot.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/beaconBlocksByRoot.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAG1C,OAAO,EAAC,sCAAsC,EAAC,MAAM,2BAA2B,CAAC;AAEjF,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,oBAAoB,CACzC,WAA6C,EAC7C,KAAmB,EACnB,EAAa;IAEb,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,SAAS,CAAC;QACvB,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,UAAU,GAAsB,IAAI,CAAC;QAEzC,4EAA4E;QAC5E,IAAI,OAAO,EAAE,CAAC;YACZ,UAAU,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,IAAI,GAAqB,SAAS,CAAC;QACvC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YACpE,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC;gBACtB,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC;YAChC,CAAC;QACH,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,aAAa,GAAG,sCAAsC,CAAC,UAAU,CAAC,CAAC;gBACzE,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;oBAC3B,MAAM,KAAK,CAAC,sCAAsC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvE,CAAC;gBACD,IAAI,GAAG,aAAa,CAAC;YACvB,CAAC;YAED,MAAM;gBACJ,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;aACxE,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BLOBSIDECAR_FIXED_SIZE, GENESIS_SLOT } from "@lodestar/params";
|
|
2
2
|
import { RespStatus, ResponseError } from "@lodestar/reqresp";
|
|
3
|
+
import { computeEpochAtSlot } from "@lodestar/state-transition";
|
|
3
4
|
import { fromHex } from "@lodestar/utils";
|
|
4
5
|
import { BLOB_SIDECARS_IN_WRAPPER_INDEX } from "../../../db/repositories/blobSidecars.js";
|
|
5
6
|
export async function* onBlobSidecarsByRange(request, chain, db) {
|
|
@@ -57,7 +58,7 @@ export function* iterateBlobBytesFromWrapper(chain, blobSideCarsBytesWrapped, bl
|
|
|
57
58
|
}
|
|
58
59
|
yield {
|
|
59
60
|
data: blobSideCarBytes,
|
|
60
|
-
|
|
61
|
+
boundary: chain.config.getForkBoundaryAtEpoch(computeEpochAtSlot(blockSlot)),
|
|
61
62
|
};
|
|
62
63
|
}
|
|
63
64
|
}
|