@lodestar/beacon-node 1.43.0-dev.a45ba75824 → 1.43.0-dev.a58ad80359
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/debug/index.d.ts.map +1 -1
- package/lib/api/impl/debug/index.js +0 -1
- package/lib/api/impl/debug/index.js.map +1 -1
- package/lib/api/impl/validator/index.d.ts.map +1 -1
- package/lib/api/impl/validator/index.js +2 -1
- package/lib/api/impl/validator/index.js.map +1 -1
- package/lib/chain/blocks/blockInput/blockInput.d.ts +3 -0
- package/lib/chain/blocks/blockInput/blockInput.d.ts.map +1 -1
- package/lib/chain/blocks/blockInput/blockInput.js +4 -1
- package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
- package/lib/chain/blocks/importBlock.d.ts.map +1 -1
- package/lib/chain/blocks/importBlock.js +14 -18
- package/lib/chain/blocks/importBlock.js.map +1 -1
- package/lib/chain/blocks/importExecutionPayload.d.ts +4 -0
- package/lib/chain/blocks/importExecutionPayload.d.ts.map +1 -1
- package/lib/chain/blocks/importExecutionPayload.js +15 -6
- package/lib/chain/blocks/importExecutionPayload.js.map +1 -1
- package/lib/chain/blocks/index.d.ts.map +1 -1
- package/lib/chain/blocks/index.js +29 -17
- package/lib/chain/blocks/index.js.map +1 -1
- package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.d.ts +11 -1
- package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.d.ts.map +1 -1
- package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.js +23 -1
- package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.js.map +1 -1
- package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts +16 -0
- package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts.map +1 -1
- package/lib/chain/blocks/types.d.ts +2 -1
- package/lib/chain/blocks/types.d.ts.map +1 -1
- package/lib/chain/blocks/utils/chainSegment.d.ts.map +1 -1
- package/lib/chain/blocks/utils/chainSegment.js +8 -0
- package/lib/chain/blocks/utils/chainSegment.js.map +1 -1
- package/lib/chain/blocks/verifyBlock.d.ts.map +1 -1
- package/lib/chain/blocks/verifyBlock.js +5 -6
- package/lib/chain/blocks/verifyBlock.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts +0 -4
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +1 -1
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +5 -2
- package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts +2 -1
- package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +1 -1
- package/lib/chain/blocks/verifyBlocksSanityChecks.js +16 -7
- package/lib/chain/blocks/verifyBlocksSanityChecks.js.map +1 -1
- package/lib/chain/blocks/verifyExecutionPayloadEnvelope.d.ts +2 -2
- package/lib/chain/blocks/verifyExecutionPayloadEnvelope.d.ts.map +1 -1
- package/lib/chain/blocks/verifyExecutionPayloadEnvelope.js +10 -6
- package/lib/chain/blocks/verifyExecutionPayloadEnvelope.js.map +1 -1
- package/lib/chain/chain.d.ts.map +1 -1
- package/lib/chain/chain.js +25 -10
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/errors/proposerPreferences.d.ts +8 -1
- package/lib/chain/errors/proposerPreferences.d.ts.map +1 -1
- package/lib/chain/errors/proposerPreferences.js +1 -0
- package/lib/chain/errors/proposerPreferences.js.map +1 -1
- package/lib/chain/initState.d.ts.map +1 -1
- package/lib/chain/initState.js +6 -1
- package/lib/chain/initState.js.map +1 -1
- package/lib/chain/prepareNextSlot.js +1 -1
- package/lib/chain/prepareNextSlot.js.map +1 -1
- package/lib/chain/produceBlock/produceBlockBody.d.ts +1 -0
- package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
- package/lib/chain/produceBlock/produceBlockBody.js +2 -7
- package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
- package/lib/chain/regen/queued.d.ts.map +1 -1
- package/lib/chain/regen/queued.js +1 -4
- package/lib/chain/regen/queued.js.map +1 -1
- package/lib/chain/regen/regen.d.ts.map +1 -1
- package/lib/chain/regen/regen.js +1 -4
- package/lib/chain/regen/regen.js.map +1 -1
- package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts +14 -10
- package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts.map +1 -1
- package/lib/chain/seenCache/seenPayloadEnvelopeInput.js +51 -17
- package/lib/chain/seenCache/seenPayloadEnvelopeInput.js.map +1 -1
- package/lib/chain/seenCache/seenProposerPreferences.d.ts +8 -7
- package/lib/chain/seenCache/seenProposerPreferences.d.ts.map +1 -1
- package/lib/chain/seenCache/seenProposerPreferences.js +11 -10
- package/lib/chain/seenCache/seenProposerPreferences.js.map +1 -1
- package/lib/chain/validation/executionPayloadBid.js +11 -8
- package/lib/chain/validation/executionPayloadBid.js.map +1 -1
- package/lib/chain/validation/proposerPreferences.d.ts.map +1 -1
- package/lib/chain/validation/proposerPreferences.js +39 -17
- package/lib/chain/validation/proposerPreferences.js.map +1 -1
- package/lib/network/gossip/topic.d.ts +2 -0
- package/lib/network/gossip/topic.d.ts.map +1 -1
- package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
- package/lib/network/processor/gossipHandlers.js +14 -0
- package/lib/network/processor/gossipHandlers.js.map +1 -1
- package/lib/node/nodejs.js +2 -2
- package/lib/node/nodejs.js.map +1 -1
- package/lib/node/notifier.js +1 -7
- package/lib/node/notifier.js.map +1 -1
- package/lib/sync/constants.d.ts +3 -1
- package/lib/sync/constants.d.ts.map +1 -1
- package/lib/sync/constants.js +3 -4
- package/lib/sync/constants.js.map +1 -1
- package/lib/sync/range/batch.d.ts +12 -3
- package/lib/sync/range/batch.d.ts.map +1 -1
- package/lib/sync/range/batch.js +163 -33
- package/lib/sync/range/batch.js.map +1 -1
- package/lib/sync/range/chain.d.ts +13 -2
- package/lib/sync/range/chain.d.ts.map +1 -1
- package/lib/sync/range/chain.js +38 -4
- package/lib/sync/range/chain.js.map +1 -1
- package/lib/sync/range/range.d.ts.map +1 -1
- package/lib/sync/range/range.js +14 -3
- package/lib/sync/range/range.js.map +1 -1
- package/lib/sync/sync.d.ts.map +1 -1
- package/lib/sync/sync.js +13 -0
- package/lib/sync/sync.js.map +1 -1
- package/lib/sync/unknownBlock.d.ts +7 -0
- package/lib/sync/unknownBlock.d.ts.map +1 -1
- package/lib/sync/unknownBlock.js +138 -10
- package/lib/sync/unknownBlock.js.map +1 -1
- package/lib/sync/utils/downloadByRange.d.ts +29 -8
- package/lib/sync/utils/downloadByRange.d.ts.map +1 -1
- package/lib/sync/utils/downloadByRange.js +87 -31
- package/lib/sync/utils/downloadByRange.js.map +1 -1
- package/lib/util/sszBytes.d.ts.map +1 -1
- package/lib/util/sszBytes.js +8 -6
- package/lib/util/sszBytes.js.map +1 -1
- package/package.json +16 -16
- package/src/api/impl/debug/index.ts +0 -1
- package/src/api/impl/validator/index.ts +2 -1
- package/src/chain/blocks/blockInput/blockInput.ts +4 -1
- package/src/chain/blocks/importBlock.ts +14 -21
- package/src/chain/blocks/importExecutionPayload.ts +21 -11
- package/src/chain/blocks/index.ts +18 -9
- package/src/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.ts +31 -2
- package/src/chain/blocks/payloadEnvelopeInput/types.ts +17 -0
- package/src/chain/blocks/types.ts +2 -1
- package/src/chain/blocks/utils/chainSegment.ts +8 -0
- package/src/chain/blocks/verifyBlock.ts +7 -5
- package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +6 -4
- package/src/chain/blocks/verifyBlocksSanityChecks.ts +16 -6
- package/src/chain/blocks/verifyExecutionPayloadEnvelope.ts +14 -6
- package/src/chain/chain.ts +29 -9
- package/src/chain/errors/proposerPreferences.ts +9 -1
- package/src/chain/initState.ts +9 -1
- package/src/chain/prepareNextSlot.ts +1 -1
- package/src/chain/produceBlock/produceBlockBody.ts +3 -7
- package/src/chain/regen/queued.ts +2 -7
- package/src/chain/regen/regen.ts +2 -7
- package/src/chain/seenCache/seenPayloadEnvelopeInput.ts +66 -20
- package/src/chain/seenCache/seenProposerPreferences.ts +14 -11
- package/src/chain/validation/executionPayloadBid.ts +11 -8
- package/src/chain/validation/proposerPreferences.ts +37 -18
- package/src/network/processor/gossipHandlers.ts +18 -0
- package/src/node/nodejs.ts +2 -2
- package/src/node/notifier.ts +1 -8
- package/src/sync/constants.ts +4 -4
- package/src/sync/range/batch.ts +187 -38
- package/src/sync/range/chain.ts +52 -5
- package/src/sync/range/range.ts +16 -3
- package/src/sync/sync.ts +13 -1
- package/src/sync/unknownBlock.ts +170 -10
- package/src/sync/utils/downloadByRange.ts +149 -33
- package/src/util/sszBytes.ts +8 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unknownBlock.js","sourceRoot":"","sources":["../../src/sync/unknownBlock.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"unknownBlock.js","sourceRoot":"","sources":["../../src/sync/unknownBlock.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChainForkConfig } from "@lodestar/config";
|
|
2
|
-
import { DataColumnSidecar, SignedBeaconBlock, Slot, deneb, fulu, gloas, phase0 } from "@lodestar/types";
|
|
2
|
+
import { ColumnIndex, DataColumnSidecar, RootHex, SignedBeaconBlock, Slot, deneb, fulu, gloas, phase0 } from "@lodestar/types";
|
|
3
3
|
import { LodestarError, Logger } from "@lodestar/utils";
|
|
4
4
|
import { DAType, IBlockInput } from "../../chain/blocks/blockInput/index.js";
|
|
5
5
|
import { PayloadEnvelopeInput } from "../../chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.js";
|
|
@@ -15,6 +15,21 @@ export type DownloadByRangeRequests = {
|
|
|
15
15
|
blobsRequest?: deneb.BlobSidecarsByRangeRequest;
|
|
16
16
|
columnsRequest?: fulu.DataColumnSidecarsByRangeRequest;
|
|
17
17
|
envelopesRequest?: gloas.ExecutionPayloadEnvelopesByRangeRequest;
|
|
18
|
+
/**
|
|
19
|
+
* Post-Gloas only. Fetches the dangling-parent's payload envelope and/or its missing sampled
|
|
20
|
+
* data columns by-root. Set by `Batch` for the first batch of a `SyncChain` after the first
|
|
21
|
+
* block's parentRoot is known.
|
|
22
|
+
*/
|
|
23
|
+
parentPayloadRequest?: {
|
|
24
|
+
blockRoot?: Uint8Array;
|
|
25
|
+
columns?: ColumnIndex[];
|
|
26
|
+
envelopeBlockRoot?: Uint8Array;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
export type ParentPayloadCommitments = {
|
|
30
|
+
blockRoot: Uint8Array;
|
|
31
|
+
blockRootHex: RootHex;
|
|
32
|
+
kzgCommitments: deneb.BlobKzgCommitments;
|
|
18
33
|
};
|
|
19
34
|
export type DownloadByRangeResponses = {
|
|
20
35
|
blocks?: SignedBeaconBlock[];
|
|
@@ -28,6 +43,8 @@ export type DownloadAndCacheByRangeProps = DownloadByRangeRequests & {
|
|
|
28
43
|
logger: Logger;
|
|
29
44
|
peerIdStr: string;
|
|
30
45
|
batchBlocks?: IBlockInput[];
|
|
46
|
+
/** Required when `parentPayloadRequest` is set; supplies the data needed to validate the parent's columns. */
|
|
47
|
+
parentPayloadCommitments?: ParentPayloadCommitments;
|
|
31
48
|
peerDasMetrics?: BeaconMetrics["peerDas"] | null;
|
|
32
49
|
};
|
|
33
50
|
export type CacheByRangeResponsesProps = {
|
|
@@ -68,23 +85,24 @@ export declare function cacheByRangeResponses({ cache, seenPayloadEnvelopeInputC
|
|
|
68
85
|
blocks: IBlockInput[];
|
|
69
86
|
payloadEnvelopes: Map<Slot, PayloadEnvelopeInput> | null;
|
|
70
87
|
};
|
|
71
|
-
export declare function downloadByRange({ config, network, peerIdStr, batchBlocks, blocksRequest, blobsRequest, columnsRequest, envelopesRequest, peerDasMetrics }: DownloadAndCacheByRangeProps): Promise<WarnResult<{
|
|
88
|
+
export declare function downloadByRange({ config, network, peerIdStr, batchBlocks, blocksRequest, blobsRequest, columnsRequest, envelopesRequest, parentPayloadRequest, parentPayloadCommitments, peerDasMetrics }: DownloadAndCacheByRangeProps): Promise<WarnResult<{
|
|
72
89
|
responses: ValidatedResponses;
|
|
73
90
|
payloadEnvelopes: Map<Slot, gloas.SignedExecutionPayloadEnvelope> | null;
|
|
74
91
|
}, DownloadByRangeError>>;
|
|
75
92
|
/**
|
|
76
93
|
* Should not be called directly. Only exported for unit testing purposes
|
|
77
94
|
*/
|
|
78
|
-
export declare function requestByRange({ network, peerIdStr, blocksRequest, blobsRequest, columnsRequest, envelopesRequest }: DownloadByRangeRequests & {
|
|
95
|
+
export declare function requestByRange({ network, peerIdStr, blocksRequest, blobsRequest, columnsRequest, envelopesRequest, parentPayloadRequest }: DownloadByRangeRequests & {
|
|
79
96
|
network: INetwork;
|
|
80
97
|
peerIdStr: PeerIdStr;
|
|
81
98
|
}): Promise<DownloadByRangeResponses>;
|
|
82
99
|
/**
|
|
83
100
|
* Should not be called directly. Only exported for unit testing purposes
|
|
84
101
|
*/
|
|
85
|
-
export declare function validateResponses({ config, batchBlocks, blocksRequest, blobsRequest, columnsRequest, envelopesRequest, blocks, blobSidecars, columnSidecars, payloadEnvelopes, peerDasMetrics }: DownloadByRangeRequests & DownloadByRangeResponses & {
|
|
102
|
+
export declare function validateResponses({ config, batchBlocks, blocksRequest, blobsRequest, columnsRequest, envelopesRequest, parentPayloadRequest, parentPayloadCommitments, blocks, blobSidecars, columnSidecars, payloadEnvelopes, peerDasMetrics }: DownloadByRangeRequests & DownloadByRangeResponses & {
|
|
86
103
|
config: ChainForkConfig;
|
|
87
104
|
batchBlocks?: IBlockInput[];
|
|
105
|
+
parentPayloadCommitments?: ParentPayloadCommitments;
|
|
88
106
|
peerDasMetrics?: BeaconMetrics["peerDas"] | null;
|
|
89
107
|
}): Promise<WarnResult<{
|
|
90
108
|
responses: ValidatedResponses;
|
|
@@ -262,9 +280,12 @@ export declare class DownloadByRangeError extends LodestarError<DownloadByRangeE
|
|
|
262
280
|
}
|
|
263
281
|
/**
|
|
264
282
|
* Validates SignedExecutionPayloadEnvelopes received for a range request.
|
|
265
|
-
*
|
|
266
|
-
*
|
|
267
|
-
*
|
|
283
|
+
*
|
|
284
|
+
* Three categories of envelope slots:
|
|
285
|
+
* - In-batch slot whose block we have: verify envelope.beaconBlockRoot matches.
|
|
286
|
+
* - Dangling-parent envelope (only when `parentPayloadCommitments` is set, i.e. the first
|
|
287
|
+
* batch of a `SyncChain`): keep if `envelope.beaconBlockRoot === parentPayloadCommitments.blockRoot`.
|
|
288
|
+
* - Other "orphan" envelopes (e.g. unrelated slots): ignored.
|
|
268
289
|
*/
|
|
269
|
-
export declare function validateEnvelopesByRangeResponse(validatedBlocks: ValidatedBlock[], batchBlocks: IBlockInput[] | undefined, payloadEnvelopes: gloas.SignedExecutionPayloadEnvelope[]): Map<Slot, gloas.SignedExecutionPayloadEnvelope>;
|
|
290
|
+
export declare function validateEnvelopesByRangeResponse(validatedBlocks: ValidatedBlock[], batchBlocks: IBlockInput[] | undefined, payloadEnvelopes: gloas.SignedExecutionPayloadEnvelope[], parentPayloadCommitments?: ParentPayloadCommitments): Map<Slot, gloas.SignedExecutionPayloadEnvelope>;
|
|
270
291
|
//# sourceMappingURL=downloadByRange.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"downloadByRange.d.ts","sourceRoot":"","sources":["../../../src/sync/utils/downloadByRange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AASjD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,KAAK,EAEL,MAAM,EACP,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,aAAa,EAAE,MAAM,EAA0D,MAAM,iBAAiB,CAAC;AAC/G,OAAO,EAEL,MAAM,EACN,WAAW,EAGZ,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAC,oBAAoB,EAAC,MAAM,iEAAiE,CAAC;AAErG,OAAO,EAAC,cAAc,EAAC,MAAM,+CAA+C,CAAC;AAC7E,OAAO,EAAC,wBAAwB,EAAC,MAAM,mDAAmD,CAAC;AAM3F,OAAO,EAAC,aAAa,EAAC,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAC,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAC,aAAa,EAAwB,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAC,UAAU,EAAC,MAAM,yBAAyB,CAAC;AAEnD,MAAM,MAAM,uBAAuB,GAAG;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC,0BAA0B,CAAC;IAClD,YAAY,CAAC,EAAE,KAAK,CAAC,0BAA0B,CAAC;IAChD,cAAc,CAAC,EAAE,IAAI,CAAC,gCAAgC,CAAC;IACvD,gBAAgB,CAAC,EAAE,KAAK,CAAC,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"downloadByRange.d.ts","sourceRoot":"","sources":["../../../src/sync/utils/downloadByRange.ts"],"names":[],"mappings":"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"}
|
|
@@ -85,21 +85,16 @@ export function cacheByRangeResponses({ cache, seenPayloadEnvelopeInputCache, pe
|
|
|
85
85
|
timeCreatedSec: seenTimestampSec,
|
|
86
86
|
});
|
|
87
87
|
}
|
|
88
|
-
|
|
89
|
-
// payloadEnvelopes map only contains entries with envelopes ready for importExecutionPayload.
|
|
90
|
-
let payloadEnvelopes = null;
|
|
88
|
+
let payloadEnvelopes = existingPayloadEnvelopes !== null ? new Map(existingPayloadEnvelopes) : null;
|
|
91
89
|
if (downloadedPayloadEnvelopes !== null) {
|
|
92
|
-
payloadEnvelopes
|
|
90
|
+
payloadEnvelopes ??= new Map();
|
|
93
91
|
for (const [slot, envelope] of downloadedPayloadEnvelopes) {
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
// No block to pair this envelope with; drop silently
|
|
97
|
-
continue;
|
|
98
|
-
}
|
|
99
|
-
const payloadInput = seenPayloadEnvelopeInputCache.get(blockInput.blockRootHex);
|
|
92
|
+
const envelopeBlockRootHex = toRootHex(envelope.message.beaconBlockRoot);
|
|
93
|
+
const payloadInput = seenPayloadEnvelopeInputCache.get(envelopeBlockRootHex);
|
|
100
94
|
if (payloadInput === undefined) {
|
|
101
95
|
// Unreachable given the loop above seeded an entry for every gloas block in the batch.
|
|
102
|
-
|
|
96
|
+
// for the parent block, it's populated at BeaconChain init
|
|
97
|
+
throw new Error(`Missing PayloadEnvelopeInput for block ${envelopeBlockRootHex}`);
|
|
103
98
|
}
|
|
104
99
|
if (!payloadInput.hasPayloadEnvelope()) {
|
|
105
100
|
payloadInput.addPayloadEnvelope({
|
|
@@ -165,7 +160,7 @@ export function cacheByRangeResponses({ cache, seenPayloadEnvelopeInputCache, pe
|
|
|
165
160
|
}
|
|
166
161
|
return { blocks: Array.from(updatedBatchBlocks.values()), payloadEnvelopes };
|
|
167
162
|
}
|
|
168
|
-
export async function downloadByRange({ config, network, peerIdStr, batchBlocks, blocksRequest, blobsRequest, columnsRequest, envelopesRequest, peerDasMetrics, }) {
|
|
163
|
+
export async function downloadByRange({ config, network, peerIdStr, batchBlocks, blocksRequest, blobsRequest, columnsRequest, envelopesRequest, parentPayloadRequest, parentPayloadCommitments, peerDasMetrics, }) {
|
|
169
164
|
let response;
|
|
170
165
|
try {
|
|
171
166
|
response = await requestByRange({
|
|
@@ -175,6 +170,7 @@ export async function downloadByRange({ config, network, peerIdStr, batchBlocks,
|
|
|
175
170
|
blobsRequest,
|
|
176
171
|
columnsRequest,
|
|
177
172
|
envelopesRequest,
|
|
173
|
+
parentPayloadRequest,
|
|
178
174
|
});
|
|
179
175
|
}
|
|
180
176
|
catch (err) {
|
|
@@ -191,6 +187,8 @@ export async function downloadByRange({ config, network, peerIdStr, batchBlocks,
|
|
|
191
187
|
blobsRequest,
|
|
192
188
|
columnsRequest,
|
|
193
189
|
envelopesRequest,
|
|
190
|
+
parentPayloadRequest,
|
|
191
|
+
parentPayloadCommitments,
|
|
194
192
|
peerDasMetrics,
|
|
195
193
|
...response,
|
|
196
194
|
});
|
|
@@ -198,11 +196,11 @@ export async function downloadByRange({ config, network, peerIdStr, batchBlocks,
|
|
|
198
196
|
/**
|
|
199
197
|
* Should not be called directly. Only exported for unit testing purposes
|
|
200
198
|
*/
|
|
201
|
-
export async function requestByRange({ network, peerIdStr, blocksRequest, blobsRequest, columnsRequest, envelopesRequest, }) {
|
|
199
|
+
export async function requestByRange({ network, peerIdStr, blocksRequest, blobsRequest, columnsRequest, envelopesRequest, parentPayloadRequest, }) {
|
|
202
200
|
let blocks;
|
|
203
201
|
let blobSidecars;
|
|
204
|
-
|
|
205
|
-
|
|
202
|
+
const columnSidecars = [];
|
|
203
|
+
const payloadEnvelopes = [];
|
|
206
204
|
const requests = [];
|
|
207
205
|
if (blocksRequest) {
|
|
208
206
|
requests.push(network.sendBeaconBlocksByRange(peerIdStr, blocksRequest).then((blockResponse) => {
|
|
@@ -216,12 +214,30 @@ export async function requestByRange({ network, peerIdStr, blocksRequest, blobsR
|
|
|
216
214
|
}
|
|
217
215
|
if (columnsRequest) {
|
|
218
216
|
requests.push(network.sendDataColumnSidecarsByRange(peerIdStr, columnsRequest).then((columnResponse) => {
|
|
219
|
-
columnSidecars
|
|
217
|
+
columnSidecars.push(...columnResponse);
|
|
220
218
|
}));
|
|
221
219
|
}
|
|
222
220
|
if (envelopesRequest) {
|
|
223
221
|
requests.push(network.sendExecutionPayloadEnvelopesByRange(peerIdStr, envelopesRequest).then((envelopeResponse) => {
|
|
224
|
-
payloadEnvelopes
|
|
222
|
+
payloadEnvelopes.push(...envelopeResponse);
|
|
223
|
+
}));
|
|
224
|
+
}
|
|
225
|
+
// Only happens on the 1st batch of a SyncChain — fetches whichever pieces of the
|
|
226
|
+
// dangling-parent's payload are still missing from the seen-cache entry.
|
|
227
|
+
if (parentPayloadRequest?.envelopeBlockRoot) {
|
|
228
|
+
requests.push(network
|
|
229
|
+
.sendExecutionPayloadEnvelopesByRoot(peerIdStr, [parentPayloadRequest.envelopeBlockRoot])
|
|
230
|
+
.then((envelopeResponse) => {
|
|
231
|
+
payloadEnvelopes.push(...envelopeResponse);
|
|
232
|
+
}));
|
|
233
|
+
}
|
|
234
|
+
if (parentPayloadRequest?.blockRoot && parentPayloadRequest.columns && parentPayloadRequest.columns.length > 0) {
|
|
235
|
+
requests.push(network
|
|
236
|
+
.sendDataColumnSidecarsByRoot(peerIdStr, [
|
|
237
|
+
{ blockRoot: parentPayloadRequest.blockRoot, columns: parentPayloadRequest.columns },
|
|
238
|
+
])
|
|
239
|
+
.then((columnResponse) => {
|
|
240
|
+
columnSidecars.push(...columnResponse);
|
|
225
241
|
}));
|
|
226
242
|
}
|
|
227
243
|
await Promise.all(requests);
|
|
@@ -235,7 +251,7 @@ export async function requestByRange({ network, peerIdStr, blocksRequest, blobsR
|
|
|
235
251
|
/**
|
|
236
252
|
* Should not be called directly. Only exported for unit testing purposes
|
|
237
253
|
*/
|
|
238
|
-
export async function validateResponses({ config, batchBlocks, blocksRequest, blobsRequest, columnsRequest, envelopesRequest, blocks, blobSidecars, columnSidecars, payloadEnvelopes, peerDasMetrics, }) {
|
|
254
|
+
export async function validateResponses({ config, batchBlocks, blocksRequest, blobsRequest, columnsRequest, envelopesRequest, parentPayloadRequest, parentPayloadCommitments, blocks, blobSidecars, columnSidecars, payloadEnvelopes, peerDasMetrics, }) {
|
|
239
255
|
// Blocks are always required for blob/column validation
|
|
240
256
|
// If a blocksRequest is provided, blocks have just been downloaded
|
|
241
257
|
// If no blocksRequest is provided, batchBlocks must have been provided from cache
|
|
@@ -245,6 +261,10 @@ export async function validateResponses({ config, batchBlocks, blocksRequest, bl
|
|
|
245
261
|
...requestsLogMeta({ blobsRequest, columnsRequest }),
|
|
246
262
|
}, "No blocks to validate data requests against");
|
|
247
263
|
}
|
|
264
|
+
// `parentPayloadRequest` and `parentPayloadCommitments` must be supplied together
|
|
265
|
+
if ((parentPayloadRequest === undefined) !== (parentPayloadCommitments === undefined)) {
|
|
266
|
+
throw new Error("Coding error: parentPayloadRequest and parentPayloadCommitments must be both set or both unset");
|
|
267
|
+
}
|
|
248
268
|
const validatedResponses = {};
|
|
249
269
|
let warnings = null;
|
|
250
270
|
if (blocksRequest) {
|
|
@@ -254,16 +274,20 @@ export async function validateResponses({ config, batchBlocks, blocksRequest, bl
|
|
|
254
274
|
}
|
|
255
275
|
validatedResponses.validatedBlocks = result.result;
|
|
256
276
|
}
|
|
277
|
+
const needsEnvelopeValidation = !!envelopesRequest || parentPayloadCommitments !== undefined;
|
|
257
278
|
const dataRequest = blobsRequest ?? columnsRequest;
|
|
258
|
-
if (!dataRequest && !
|
|
279
|
+
if (!dataRequest && !needsEnvelopeValidation) {
|
|
259
280
|
return { result: { responses: validatedResponses, payloadEnvelopes: null }, warnings };
|
|
260
281
|
}
|
|
261
282
|
if (!dataRequest) {
|
|
262
|
-
// Only envelope validation needed
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
283
|
+
// Only envelope and/or parent-by-root validation needed
|
|
284
|
+
if (parentPayloadCommitments !== undefined) {
|
|
285
|
+
const parentValidated = await validateParentPayloadColumns(parentPayloadCommitments, columnSidecars ?? [], peerDasMetrics);
|
|
286
|
+
if (parentValidated) {
|
|
287
|
+
validatedResponses.validatedColumnSidecars = [parentValidated];
|
|
288
|
+
}
|
|
266
289
|
}
|
|
290
|
+
const validatedPayloadEnvelopes = validateEnvelopesByRangeResponse(validatedResponses.validatedBlocks ?? [], batchBlocks, payloadEnvelopes ?? [], parentPayloadCommitments);
|
|
267
291
|
return { result: { responses: validatedResponses, payloadEnvelopes: validatedPayloadEnvelopes }, warnings };
|
|
268
292
|
}
|
|
269
293
|
const blocksForDataValidation = getBlocksForDataValidation(dataRequest, batchBlocks, validatedResponses.validatedBlocks?.length ? validatedResponses.validatedBlocks : undefined);
|
|
@@ -293,13 +317,37 @@ export async function validateResponses({ config, batchBlocks, blocksRequest, bl
|
|
|
293
317
|
validatedResponses.validatedColumnSidecars = validatedColumnSidecarsResult.result;
|
|
294
318
|
warnings = validatedColumnSidecarsResult.warnings;
|
|
295
319
|
}
|
|
296
|
-
//
|
|
320
|
+
// Parent columns (by-root): KZG-validate against parent's bid commitments and append.
|
|
321
|
+
if (parentPayloadCommitments !== undefined) {
|
|
322
|
+
const parentValidated = await validateParentPayloadColumns(parentPayloadCommitments, columnSidecars ?? [], peerDasMetrics);
|
|
323
|
+
if (parentValidated) {
|
|
324
|
+
validatedResponses.validatedColumnSidecars = [
|
|
325
|
+
...(validatedResponses.validatedColumnSidecars ?? []),
|
|
326
|
+
parentValidated,
|
|
327
|
+
];
|
|
328
|
+
}
|
|
329
|
+
}
|
|
297
330
|
let validatedPayloadEnvelopes = null;
|
|
298
|
-
if (
|
|
299
|
-
validatedPayloadEnvelopes = validateEnvelopesByRangeResponse(validatedResponses.validatedBlocks ?? [], batchBlocks, payloadEnvelopes ?? []);
|
|
331
|
+
if (needsEnvelopeValidation) {
|
|
332
|
+
validatedPayloadEnvelopes = validateEnvelopesByRangeResponse(validatedResponses.validatedBlocks ?? [], batchBlocks, payloadEnvelopes ?? [], parentPayloadCommitments);
|
|
300
333
|
}
|
|
301
334
|
return { result: { responses: validatedResponses, payloadEnvelopes: validatedPayloadEnvelopes }, warnings };
|
|
302
335
|
}
|
|
336
|
+
async function validateParentPayloadColumns(parentPayloadCommitments, columnSidecars, peerDasMetrics) {
|
|
337
|
+
const parentColumns = [];
|
|
338
|
+
for (const cs of columnSidecars) {
|
|
339
|
+
if (isGloasDataColumnSidecar(cs) && byteArrayEquals(cs.beaconBlockRoot, parentPayloadCommitments.blockRoot)) {
|
|
340
|
+
parentColumns.push(cs);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
if (parentColumns.length === 0) {
|
|
344
|
+
return null;
|
|
345
|
+
}
|
|
346
|
+
parentColumns.sort((a, b) => a.index - b.index);
|
|
347
|
+
const parentSlot = parentColumns[0].slot;
|
|
348
|
+
await validateGloasBlockDataColumnSidecars(parentSlot, parentPayloadCommitments.blockRoot, parentPayloadCommitments.kzgCommitments, parentColumns, peerDasMetrics);
|
|
349
|
+
return { blockRoot: parentPayloadCommitments.blockRoot, columnSidecars: parentColumns };
|
|
350
|
+
}
|
|
303
351
|
/**
|
|
304
352
|
* Should not be called directly. Only exported for unit testing purposes
|
|
305
353
|
*
|
|
@@ -671,11 +719,14 @@ export class DownloadByRangeError extends LodestarError {
|
|
|
671
719
|
}
|
|
672
720
|
/**
|
|
673
721
|
* Validates SignedExecutionPayloadEnvelopes received for a range request.
|
|
674
|
-
*
|
|
675
|
-
*
|
|
676
|
-
*
|
|
722
|
+
*
|
|
723
|
+
* Three categories of envelope slots:
|
|
724
|
+
* - In-batch slot whose block we have: verify envelope.beaconBlockRoot matches.
|
|
725
|
+
* - Dangling-parent envelope (only when `parentPayloadCommitments` is set, i.e. the first
|
|
726
|
+
* batch of a `SyncChain`): keep if `envelope.beaconBlockRoot === parentPayloadCommitments.blockRoot`.
|
|
727
|
+
* - Other "orphan" envelopes (e.g. unrelated slots): ignored.
|
|
677
728
|
*/
|
|
678
|
-
export function validateEnvelopesByRangeResponse(validatedBlocks, batchBlocks, payloadEnvelopes) {
|
|
729
|
+
export function validateEnvelopesByRangeResponse(validatedBlocks, batchBlocks, payloadEnvelopes, parentPayloadCommitments) {
|
|
679
730
|
// Build a map of slot -> blockRoot for all blocks in the batch
|
|
680
731
|
const batchBlockRoots = new Map();
|
|
681
732
|
if (batchBlocks) {
|
|
@@ -690,8 +741,13 @@ export function validateEnvelopesByRangeResponse(validatedBlocks, batchBlocks, p
|
|
|
690
741
|
for (const payloadEnvelope of payloadEnvelopes) {
|
|
691
742
|
const slot = payloadEnvelope.message.payload.slotNumber;
|
|
692
743
|
const batchBlockRoot = batchBlockRoots.get(slot);
|
|
693
|
-
// Envelopes for slots not in the batch are silently ignored (orphaned payloads)
|
|
694
744
|
if (batchBlockRoot === undefined) {
|
|
745
|
+
// Keep the requested dangling-parent envelope only when its beaconBlockRoot matches
|
|
746
|
+
// exactly. All other unrelated envelopes are dropped.
|
|
747
|
+
if (parentPayloadCommitments !== undefined &&
|
|
748
|
+
byteArrayEquals(payloadEnvelope.message.beaconBlockRoot, parentPayloadCommitments.blockRoot)) {
|
|
749
|
+
payloadEnvelopeMap.set(slot, payloadEnvelope);
|
|
750
|
+
}
|
|
695
751
|
continue;
|
|
696
752
|
}
|
|
697
753
|
// Verify beaconBlockRoot matches the block's root
|