@lodestar/beacon-node 1.48.0-dev.3211c1bdd4 → 1.48.0-dev.386c085495

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.
Files changed (87) hide show
  1. package/lib/api/impl/validator/index.d.ts.map +1 -1
  2. package/lib/api/impl/validator/index.js +39 -39
  3. package/lib/api/impl/validator/index.js.map +1 -1
  4. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  5. package/lib/chain/blocks/importBlock.js +0 -13
  6. package/lib/chain/blocks/importBlock.js.map +1 -1
  7. package/lib/chain/blocks/index.d.ts +8 -4
  8. package/lib/chain/blocks/index.d.ts.map +1 -1
  9. package/lib/chain/blocks/index.js +16 -18
  10. package/lib/chain/blocks/index.js.map +1 -1
  11. package/lib/chain/blocks/types.d.ts +8 -0
  12. package/lib/chain/blocks/types.d.ts.map +1 -1
  13. package/lib/chain/blocks/types.js.map +1 -1
  14. package/lib/chain/blocks/utils/chainSegment.d.ts +1 -1
  15. package/lib/chain/blocks/utils/chainSegment.d.ts.map +1 -1
  16. package/lib/chain/blocks/utils/chainSegment.js +10 -1
  17. package/lib/chain/blocks/utils/chainSegment.js.map +1 -1
  18. package/lib/chain/chain.d.ts +7 -2
  19. package/lib/chain/chain.d.ts.map +1 -1
  20. package/lib/chain/chain.js +69 -40
  21. package/lib/chain/chain.js.map +1 -1
  22. package/lib/chain/emitter.d.ts +1 -1
  23. package/lib/chain/emitter.js +1 -1
  24. package/lib/chain/errors/blockError.d.ts +3 -5
  25. package/lib/chain/errors/blockError.d.ts.map +1 -1
  26. package/lib/chain/errors/blockError.js +2 -2
  27. package/lib/chain/errors/blockError.js.map +1 -1
  28. package/lib/chain/errors/executionPayloadEnvelope.d.ts +0 -11
  29. package/lib/chain/errors/executionPayloadEnvelope.d.ts.map +1 -1
  30. package/lib/chain/errors/executionPayloadEnvelope.js +0 -2
  31. package/lib/chain/errors/executionPayloadEnvelope.js.map +1 -1
  32. package/lib/chain/errors/gossipValidation.d.ts +2 -1
  33. package/lib/chain/errors/gossipValidation.d.ts.map +1 -1
  34. package/lib/chain/errors/gossipValidation.js +1 -0
  35. package/lib/chain/errors/gossipValidation.js.map +1 -1
  36. package/lib/chain/interface.d.ts +2 -2
  37. package/lib/chain/interface.d.ts.map +1 -1
  38. package/lib/chain/opPools/aggregatedAttestationPool.js +1 -1
  39. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  40. package/lib/chain/prepareNextSlot.js +13 -13
  41. package/lib/chain/prepareNextSlot.js.map +1 -1
  42. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  43. package/lib/chain/produceBlock/produceBlockBody.js +46 -64
  44. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  45. package/lib/chain/validation/block.d.ts.map +1 -1
  46. package/lib/chain/validation/block.js +9 -50
  47. package/lib/chain/validation/block.js.map +1 -1
  48. package/lib/chain/validation/executionPayloadEnvelope.d.ts.map +1 -1
  49. package/lib/chain/validation/executionPayloadEnvelope.js +0 -29
  50. package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
  51. package/lib/chain/validatorMonitor.d.ts +7 -1
  52. package/lib/chain/validatorMonitor.d.ts.map +1 -1
  53. package/lib/chain/validatorMonitor.js +22 -5
  54. package/lib/chain/validatorMonitor.js.map +1 -1
  55. package/lib/execution/engine/mock.d.ts.map +1 -1
  56. package/lib/execution/engine/mock.js +4 -1
  57. package/lib/execution/engine/mock.js.map +1 -1
  58. package/lib/network/processor/index.d.ts.map +1 -1
  59. package/lib/network/processor/index.js +11 -0
  60. package/lib/network/processor/index.js.map +1 -1
  61. package/lib/network/reqresp/rateLimit.js +2 -1
  62. package/lib/network/reqresp/rateLimit.js.map +1 -1
  63. package/lib/sync/range/range.d.ts.map +1 -1
  64. package/lib/sync/range/range.js +24 -1
  65. package/lib/sync/range/range.js.map +1 -1
  66. package/package.json +15 -15
  67. package/src/api/impl/validator/index.ts +44 -43
  68. package/src/chain/blocks/importBlock.ts +0 -13
  69. package/src/chain/blocks/index.ts +31 -25
  70. package/src/chain/blocks/types.ts +9 -0
  71. package/src/chain/blocks/utils/chainSegment.ts +10 -1
  72. package/src/chain/chain.ts +78 -50
  73. package/src/chain/emitter.ts +1 -1
  74. package/src/chain/errors/blockError.ts +3 -3
  75. package/src/chain/errors/executionPayloadEnvelope.ts +0 -9
  76. package/src/chain/errors/gossipValidation.ts +1 -0
  77. package/src/chain/interface.ts +2 -2
  78. package/src/chain/opPools/aggregatedAttestationPool.ts +1 -1
  79. package/src/chain/prepareNextSlot.ts +16 -16
  80. package/src/chain/produceBlock/produceBlockBody.ts +50 -71
  81. package/src/chain/validation/block.ts +9 -66
  82. package/src/chain/validation/executionPayloadEnvelope.ts +0 -37
  83. package/src/chain/validatorMonitor.ts +24 -7
  84. package/src/execution/engine/mock.ts +4 -1
  85. package/src/network/processor/index.ts +13 -0
  86. package/src/network/reqresp/rateLimit.ts +2 -1
  87. package/src/sync/range/range.ts +23 -1
@@ -97,7 +97,8 @@ function getRequestCountFn(fork, config, method, fn) {
97
97
  const type = requestSszTypeByMethod(fork, config)[method];
98
98
  return (reqData) => {
99
99
  try {
100
- return (type && fn(type.deserialize(reqData))) ?? 1;
100
+ // A schema-valid request can cost 0 tokens; floor to 1 so it stays charged and bannable, not free.
101
+ return Math.max(1, (type && fn(type.deserialize(reqData))) ?? 1);
101
102
  }
102
103
  catch (_e) {
103
104
  return 1;
@@ -1 +1 @@
1
- {"version":3,"file":"rateLimit.js","sourceRoot":"","sources":["../../../src/network/reqresp/rateLimit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rateLimit.js","sourceRoot":"","sources":["../../../src/network/reqresp/rateLimit.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../../../src/sync/range/range.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../../../src/sync/range/range.ts"],"names":[],"mappings":"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"}
@@ -168,7 +168,30 @@ export class RangeSync extends EventEmitter {
168
168
  }
169
169
  }
170
170
  else {
171
- await this.chain.processChainSegment(blocks, payloadEnvelopes, flags);
171
+ const { orphaned, skipped } = await this.chain.processChainSegment(blocks, payloadEnvelopes, flags);
172
+ // We log orphaned payloads to work with different clients
173
+ // in the future, consider applying penalties in certain conditions
174
+ // make sure the payload source was from range sync in that case
175
+ for (const { slot, payloadEnvelopeInput } of orphaned) {
176
+ const { peerIdStr, source } = payloadEnvelopeInput.getPayloadEnvelopeSource();
177
+ let client = "unknown";
178
+ if (peerIdStr !== undefined) {
179
+ try {
180
+ client = this.getConnectedPeerSyncMeta(peerIdStr).client;
181
+ }
182
+ catch {
183
+ // peer disconnected since serving the envelope, keep "unknown"
184
+ }
185
+ }
186
+ this.logger.debug("Orphaned payload envelope in range sync batch", {
187
+ slot,
188
+ root: payloadEnvelopeInput.blockRootHex,
189
+ peer: peerIdStr ?? "unknown",
190
+ source,
191
+ client,
192
+ skipped,
193
+ });
194
+ }
172
195
  }
173
196
  };
174
197
  downloadByRange = async (peer, batch) => {
@@ -1 +1 @@
1
- {"version":3,"file":"range.js","sourceRoot":"","sources":["../../../src/sync/range/range.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"range.js","sourceRoot":"","sources":["../../../src/sync/range/range.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "bugs": {
12
12
  "url": "https://github.com/ChainSafe/lodestar/issues"
13
13
  },
14
- "version": "1.48.0-dev.3211c1bdd4",
14
+ "version": "1.48.0-dev.386c085495",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -109,7 +109,7 @@
109
109
  "@chainsafe/persistent-merkle-tree": "^1.3.1",
110
110
  "@chainsafe/prometheus-gc-stats": "^1.0.0",
111
111
  "@chainsafe/snappy-wasm": "^0.5.0",
112
- "@chainsafe/ssz": "^1.6.3",
112
+ "@chainsafe/ssz": "^1.7.0",
113
113
  "@chainsafe/threads": "^1.11.3",
114
114
  "@crate-crypto/node-eth-kzg": "0.9.1",
115
115
  "@fastify/bearer-auth": "^10.0.1",
@@ -126,17 +126,17 @@
126
126
  "@libp2p/peer-id": "^6.0.15",
127
127
  "@libp2p/prometheus-metrics": "^5.0.28",
128
128
  "@libp2p/tcp": "^11.0.27",
129
- "@lodestar/api": "^1.48.0-dev.3211c1bdd4",
130
- "@lodestar/config": "^1.48.0-dev.3211c1bdd4",
131
- "@lodestar/db": "^1.48.0-dev.3211c1bdd4",
132
- "@lodestar/fork-choice": "^1.48.0-dev.3211c1bdd4",
133
- "@lodestar/logger": "^1.48.0-dev.3211c1bdd4",
134
- "@lodestar/params": "^1.48.0-dev.3211c1bdd4",
135
- "@lodestar/reqresp": "^1.48.0-dev.3211c1bdd4",
136
- "@lodestar/state-transition": "^1.48.0-dev.3211c1bdd4",
137
- "@lodestar/types": "^1.48.0-dev.3211c1bdd4",
138
- "@lodestar/utils": "^1.48.0-dev.3211c1bdd4",
139
- "@lodestar/validator": "^1.48.0-dev.3211c1bdd4",
129
+ "@lodestar/api": "^1.48.0-dev.386c085495",
130
+ "@lodestar/config": "^1.48.0-dev.386c085495",
131
+ "@lodestar/db": "^1.48.0-dev.386c085495",
132
+ "@lodestar/fork-choice": "^1.48.0-dev.386c085495",
133
+ "@lodestar/logger": "^1.48.0-dev.386c085495",
134
+ "@lodestar/params": "^1.48.0-dev.386c085495",
135
+ "@lodestar/reqresp": "^1.48.0-dev.386c085495",
136
+ "@lodestar/state-transition": "^1.48.0-dev.386c085495",
137
+ "@lodestar/types": "^1.48.0-dev.386c085495",
138
+ "@lodestar/utils": "^1.48.0-dev.386c085495",
139
+ "@lodestar/validator": "^1.48.0-dev.386c085495",
140
140
  "@multiformats/multiaddr": "^13.0.1",
141
141
  "datastore-core": "^12.0.1",
142
142
  "datastore-level": "^13.0.1",
@@ -158,7 +158,7 @@
158
158
  "@libp2p/interface-internal": "^3.1.12",
159
159
  "@libp2p/logger": "^6.2.13",
160
160
  "@libp2p/utils": "^7.4.0",
161
- "@lodestar/spec-test-util": "^1.48.0-dev.3211c1bdd4",
161
+ "@lodestar/spec-test-util": "^1.48.0-dev.386c085495",
162
162
  "@types/js-yaml": "^4.0.5",
163
163
  "@types/qs": "^6.9.7",
164
164
  "@types/tmp": "^0.2.3",
@@ -175,5 +175,5 @@
175
175
  "beacon",
176
176
  "blockchain"
177
177
  ],
178
- "gitHead": "86cf20608de0aa2f0be03d3834c7329efefa615d"
178
+ "gitHead": "7778353c18cfefef76dca31047cfce740994f0e9"
179
179
  }
@@ -133,40 +133,37 @@ type BidCandidate = {
133
133
  };
134
134
 
135
135
  /**
136
- * Return the best bid by boosted total payment. A candidate with the max boost factor is
137
- * preferred over any other regardless of value, ties prefer a builder api bid over the
138
- * p2p bid, and the earlier received bid between builder api bids.
136
+ * Ranking value of a bid, the boosted total payment scaled by 100 as `boostFactor` is a percentage.
137
+ * Kept scaled so bids that differ by less than a percent are not truncated into a tie.
139
138
  */
140
- function selectBestBid(candidates: BidCandidate[]): BidCandidate | null {
141
- const boostedValue = ({totalGwei, boostFactor}: BidCandidate): bigint => boostFactor * totalGwei;
142
- let best: BidCandidate | null = null;
143
- for (const candidate of candidates) {
144
- if (best === null) {
145
- best = candidate;
146
- continue;
147
- }
148
- // Preserve max boost preference before comparing bid values
149
- const candidateIsMaxBoost = candidate.boostFactor === MAX_BUILDER_BOOST_FACTOR;
150
- const bestIsMaxBoost = best.boostFactor === MAX_BUILDER_BOOST_FACTOR;
151
- if (candidateIsMaxBoost !== bestIsMaxBoost) {
152
- if (candidateIsMaxBoost) {
153
- best = candidate;
154
- }
155
- continue;
156
- }
157
- const candidateValue = boostedValue(candidate);
158
- const bestValue = boostedValue(best);
159
- if (candidateValue > bestValue) {
160
- best = candidate;
161
- } else if (
162
- candidateValue === bestValue &&
163
- // A tie prefers a builder api bid over the p2p bid, and the earlier received bid otherwise
164
- (best.url === undefined || (candidate.url !== undefined && candidate.receivedMs < best.receivedMs))
165
- ) {
166
- best = candidate;
167
- }
139
+ function getBoostedTotalScaled({totalGwei, boostFactor}: BidCandidate): bigint {
140
+ return boostFactor * totalGwei;
141
+ }
142
+
143
+ /** Order bid candidates by preference, best first, used to select a bid and to log the ranking */
144
+ function compareBidCandidates(a: BidCandidate, b: BidCandidate): number {
145
+ // Preserve max boost preference before comparing bid values
146
+ const aIsMaxBoost = a.boostFactor === MAX_BUILDER_BOOST_FACTOR;
147
+ const bIsMaxBoost = b.boostFactor === MAX_BUILDER_BOOST_FACTOR;
148
+ if (aIsMaxBoost !== bIsMaxBoost) {
149
+ return aIsMaxBoost ? -1 : 1;
168
150
  }
169
- return best;
151
+
152
+ const aBoostedTotal = getBoostedTotalScaled(a);
153
+ const bBoostedTotal = getBoostedTotalScaled(b);
154
+ if (aBoostedTotal !== bBoostedTotal) {
155
+ return aBoostedTotal > bBoostedTotal ? -1 : 1;
156
+ }
157
+
158
+ // A tie prefers a builder api bid over the p2p bid
159
+ const aIsBuilderApi = a.url !== undefined;
160
+ const bIsBuilderApi = b.url !== undefined;
161
+ if (aIsBuilderApi !== bIsBuilderApi) {
162
+ return aIsBuilderApi ? -1 : 1;
163
+ }
164
+
165
+ // and the earlier received bid between builder api bids
166
+ return a.receivedMs - b.receivedMs;
170
167
  }
171
168
 
172
169
  type ProduceBlockContentsRes = {executionPayloadValue: Wei; consensusBlockValue: Wei} & {
@@ -1049,20 +1046,24 @@ export function getValidatorApi(
1049
1046
  });
1050
1047
  }
1051
1048
 
1052
- const best = selectBestBid(candidates);
1053
- if (candidates.length > 0) {
1054
- logger.debug("Ranked builder bid candidates", {
1049
+ if (candidates.length === 0) {
1050
+ return null;
1051
+ }
1052
+
1053
+ const rankedCandidates = candidates.toSorted(compareBidCandidates);
1054
+ for (const [index, candidate] of rankedCandidates.entries()) {
1055
+ logger.debug("Builder bid candidate", {
1055
1056
  slot,
1056
- candidates: candidates
1057
- .map(
1058
- (candidate) =>
1059
- `${candidate.url ?? "p2p"}:total=${prettyGweiToEth(candidate.totalGwei)}:boost=${candidate.boostFactor}:received=${candidate.receivedMs}ms`
1060
- )
1061
- .join(","),
1062
- bidSource: best?.url ?? "p2p",
1057
+ rank: index + 1,
1058
+ source: candidate.url !== undefined ? toPrintableUrl(candidate.url) : "p2p",
1059
+ builder: candidate.signedBid.message.builderIndex,
1060
+ total: prettyGweiToEth(candidate.totalGwei),
1061
+ boost: candidate.boostFactor,
1062
+ boosted: prettyGweiToEth(getBoostedTotalScaled(candidate) / 100n),
1063
+ receivedMs: candidate.receivedMs,
1063
1064
  });
1064
1065
  }
1065
- return best;
1066
+ return rankedCandidates[0];
1066
1067
  })();
1067
1068
 
1068
1069
  const commonBlockBodyPromise = chain.produceCommonBlockBody({
@@ -524,19 +524,6 @@ export async function importBlock(
524
524
  this.metrics?.previousJustifiedEpoch.set(checkpointState.previousJustifiedCheckpoint.epoch);
525
525
  this.metrics?.currentJustifiedEpoch.set(justifiedCheckpoint.epoch);
526
526
  }
527
- const finalizedCheckpoint = checkpointState.finalizedCheckpoint;
528
- const finalizedEpoch = finalizedCheckpoint.epoch;
529
- const preFinalizedEpoch = parentBlockSummary.finalizedEpoch;
530
- if (finalizedEpoch > preFinalizedEpoch) {
531
- this.emitter.emit(routes.events.EventType.finalizedCheckpoint, {
532
- block: toRootHex(finalizedCheckpoint.root),
533
- epoch: finalizedCheckpoint.epoch,
534
- state: toRootHex(checkpointState.hashTreeRoot()),
535
- executionOptimistic: false,
536
- });
537
- this.logger.verbose("Checkpoint finalized", toCheckpointHex(finalizedCheckpoint));
538
- this.metrics?.finalizedEpoch.set(finalizedCheckpoint.epoch);
539
- }
540
527
  }
541
528
  }
542
529
 
@@ -13,8 +13,8 @@ import {IBlockInput} from "./blockInput/types.js";
13
13
  import {importBlock, importsBlockAttestations} from "./importBlock.js";
14
14
  import {PayloadError, importExecutionPayload} from "./importExecutionPayload.js";
15
15
  import {PayloadEnvelopeInput} from "./payloadEnvelopeInput/payloadEnvelopeInput.js";
16
- import {FullyVerifiedBlock, ImportBlockOpts} from "./types.js";
17
- import {assertLinearChainSegment} from "./utils/chainSegment.js";
16
+ import {FullyVerifiedBlock, ImportBlockOpts, ProcessBlocksResult} from "./types.js";
17
+ import {OrphanedPayloadEnvelope, assertLinearChainSegment} from "./utils/chainSegment.js";
18
18
  import {verifyBlocksInEpoch} from "./verifyBlock.js";
19
19
  import {verifyBlocksSanityChecks} from "./verifyBlocksSanityChecks.js";
20
20
  import {verifyPayloadsDataAvailability} from "./verifyPayloadsDataAvailability.js";
@@ -27,10 +27,16 @@ const QUEUE_MAX_LENGTH = 256;
27
27
  * BlockProcessor processes block jobs in a queued fashion, one after the other.
28
28
  */
29
29
  export class BlockProcessor {
30
- readonly jobQueue: JobItemQueue<[IBlockInput[], Map<Slot, PayloadEnvelopeInput> | null, ImportBlockOpts], void>;
30
+ readonly jobQueue: JobItemQueue<
31
+ [IBlockInput[], Map<Slot, PayloadEnvelopeInput> | null, ImportBlockOpts],
32
+ ProcessBlocksResult
33
+ >;
31
34
 
32
35
  constructor(chain: BeaconChain, metrics: Metrics | null, opts: BlockProcessOpts, signal: AbortSignal) {
33
- this.jobQueue = new JobItemQueue<[IBlockInput[], Map<Slot, PayloadEnvelopeInput> | null, ImportBlockOpts], void>(
36
+ this.jobQueue = new JobItemQueue<
37
+ [IBlockInput[], Map<Slot, PayloadEnvelopeInput> | null, ImportBlockOpts],
38
+ ProcessBlocksResult
39
+ >(
34
40
  (job, payloadEnvelopes, importOpts) => {
35
41
  return processBlocks.call(chain, job, payloadEnvelopes, {...opts, ...importOpts});
36
42
  },
@@ -43,8 +49,8 @@ export class BlockProcessor {
43
49
  job: IBlockInput[],
44
50
  payloadEnvelopes: Map<Slot, PayloadEnvelopeInput> | null,
45
51
  opts: ImportBlockOpts = {}
46
- ): Promise<void> {
47
- await this.jobQueue.push(job, payloadEnvelopes, opts);
52
+ ): Promise<ProcessBlocksResult> {
53
+ return this.jobQueue.push(job, payloadEnvelopes, opts);
48
54
  }
49
55
  }
50
56
 
@@ -63,9 +69,10 @@ export async function processBlocks(
63
69
  blocks: IBlockInput[],
64
70
  payloadEnvelopes: Map<Slot, PayloadEnvelopeInput> | null,
65
71
  opts: BlockProcessOpts & ImportBlockOpts
66
- ): Promise<void> {
72
+ ): Promise<ProcessBlocksResult> {
73
+ const emptyResult: ProcessBlocksResult = {orphaned: [], skipped: false};
67
74
  if (blocks.length === 0) {
68
- return; // TODO: or throw?
75
+ return emptyResult; // TODO: or throw?
69
76
  }
70
77
 
71
78
  try {
@@ -74,8 +81,7 @@ export async function processBlocks(
74
81
  // No relevant blocks, skip verifyBlocksInEpoch()
75
82
  if (relevantBlocks.length === 0 || parentBlock === null) {
76
83
  // parentBlock can only be null if relevantBlocks are empty
77
- await importPayloadEnvelopesOfKnownBlocks.call(this, payloadEnvelopes, opts);
78
- return;
84
+ return await importPayloadEnvelopesOfKnownBlocks.call(this, payloadEnvelopes, opts);
79
85
  }
80
86
 
81
87
  const {warnings: orphanedPayloads} = assertLinearChainSegment(
@@ -90,18 +96,15 @@ export async function processBlocks(
90
96
  // status tiebreaker then picks FULL and parks the head there.
91
97
  const blockEpoch = computeEpochAtSlot(relevantBlocks[0].getBlock().message.slot);
92
98
  const importsAttestations = importsBlockAttestations(opts, blockEpoch, this.clock.currentEpoch);
99
+ const skipped = orphanedPayloads != null && payloadEnvelopes !== null && !importsAttestations;
93
100
  let payloadEnvelopesToImport = payloadEnvelopes;
94
- if (orphanedPayloads != null && payloadEnvelopes !== null && !importsAttestations) {
101
+ if (skipped) {
95
102
  payloadEnvelopesToImport = new Map(payloadEnvelopes);
96
- for (const orphaned of orphanedPayloads) {
103
+ for (const orphaned of orphanedPayloads ?? []) {
97
104
  payloadEnvelopesToImport.delete(orphaned.slot);
98
105
  // never validated, drop it from the shared cache so it is not served to peers, by-root sync reloads the
99
106
  // entry from db if the payload is ever needed
100
107
  this.seenPayloadEnvelopeInputCache.prune(orphaned.payloadEnvelopeInput.blockRootHex);
101
- this.logger.debug("Skipping orphaned payload envelope in chain segment", {
102
- slot: orphaned.slot,
103
- blockRoot: orphaned.payloadEnvelopeInput.blockRootHex,
104
- });
105
108
  }
106
109
  }
107
110
 
@@ -176,9 +179,11 @@ export async function processBlocks(
176
179
 
177
180
  await nextEventLoop();
178
181
  }
182
+
183
+ return {orphaned: orphanedPayloads ?? [], skipped};
179
184
  } catch (e) {
180
185
  if (isErrorAborted(e) || isQueueErrorAborted(e) || isBlockErrorAborted(e)) {
181
- return; // Ignore
186
+ return emptyResult; // Ignore
182
187
  }
183
188
 
184
189
  // above functions should only throw BlockError, or PayloadError from the gloas payload import
@@ -238,15 +243,15 @@ async function importPayloadEnvelopesOfKnownBlocks(
238
243
  this: BeaconChain,
239
244
  payloadEnvelopes: Map<Slot, PayloadEnvelopeInput> | null,
240
245
  opts: ImportBlockOpts
241
- ): Promise<void> {
246
+ ): Promise<ProcessBlocksResult> {
242
247
  if (payloadEnvelopes === null) {
243
- return;
248
+ return {orphaned: [], skipped: false};
244
249
  }
245
250
 
246
251
  const head = this.forkChoice.getHead();
247
252
  const currentEpoch = this.clock.currentEpoch;
248
253
  const payloadInputs: PayloadEnvelopeInput[] = [];
249
- const orphanedSlots: Slot[] = [];
254
+ const orphaned: OrphanedPayloadEnvelope[] = [];
250
255
  for (const payloadInput of payloadEnvelopes.values()) {
251
256
  const {blockRootHex, slot} = payloadInput;
252
257
  if (
@@ -263,18 +268,17 @@ async function importPayloadEnvelopesOfKnownBlocks(
263
268
  ) {
264
269
  // never validated, see processBlocks()
265
270
  this.seenPayloadEnvelopeInputCache.prune(blockRootHex);
266
- orphanedSlots.push(slot);
271
+ orphaned.push({slot, payloadEnvelopeInput: payloadInput});
267
272
  continue;
268
273
  }
269
274
  payloadInputs.push(payloadInput);
270
275
  }
271
276
 
272
- if (orphanedSlots.length > 0) {
273
- this.logger.debug("Skipping orphaned payload envelopes of known blocks", {slots: orphanedSlots.join(",")});
274
- }
277
+ // orphaned envelopes on this path are always skipped, range sync logs them with peer/client context
278
+ const result: ProcessBlocksResult = {orphaned, skipped: orphaned.length > 0};
275
279
 
276
280
  if (payloadInputs.length === 0) {
277
- return;
281
+ return result;
278
282
  }
279
283
 
280
284
  const {dataAvailabilityStatuses} = await verifyPayloadsDataAvailability(payloadInputs, new AbortController().signal);
@@ -287,6 +291,8 @@ async function importPayloadEnvelopesOfKnownBlocks(
287
291
  }
288
292
  // the new FULL variants are not seen by the head cached from the last block import
289
293
  this.recomputeForkChoiceHead(ForkchoiceCaller.importBlock);
294
+
295
+ return result;
290
296
  }
291
297
 
292
298
  function getBlockOrPayloadError(e: unknown, block: SignedBeaconBlock): BlockError | PayloadError {
@@ -4,6 +4,7 @@ import {ForkSeq} from "@lodestar/params";
4
4
  import {DataAvailabilityStatus, IBeaconStateView, computeEpochAtSlot} from "@lodestar/state-transition";
5
5
  import type {IndexedAttestation, Slot, fulu} from "@lodestar/types";
6
6
  import {IBlockInput} from "./blockInput/types.js";
7
+ import {OrphanedPayloadEnvelope} from "./utils/chainSegment.js";
7
8
 
8
9
  export enum GossipedInputType {
9
10
  block = "block",
@@ -110,3 +111,11 @@ export type FullyVerifiedBlock = {
110
111
  /** If the execution payload couldn't be verified because of EL syncing status, used in optimistic sync */
111
112
  executionStatus: BlockExecutionStatus | PayloadExecutionStatus;
112
113
  };
114
+
115
+ /**
116
+ * Result of processing a chain segment.
117
+ */
118
+ export type ProcessBlocksResult = {
119
+ orphaned: OrphanedPayloadEnvelope[];
120
+ skipped: boolean;
121
+ };
@@ -22,7 +22,7 @@ export type ChainSegmentResult = {warnings: OrphanedPayloadEnvelope[] | null};
22
22
  * - Verifies parent root + slot linearity
23
23
  * - For gloas: verifies bid.parentBlockHash matches the tracked execution hash; if not, the
24
24
  * previous FULL envelope is treated as orphaned (segment continues as if previous slot was EMPTY)
25
- * - If an envelope exists for this slot: verifies it references this block's root
25
+ * - If an envelope exists for this slot (or the parent's slot): verifies it references this block's root
26
26
  * - Advances the tracked execution hash (FULL if envelope present, EMPTY if not)
27
27
  */
28
28
  export function assertLinearChainSegment(
@@ -48,6 +48,15 @@ export function assertLinearChainSegment(
48
48
  if (parentBlock !== null) {
49
49
  const parentPayloadInput = payloadEnvelopes?.get(parentBlock.slot);
50
50
  if (parentPayloadInput?.hasPayloadEnvelope()) {
51
+ // Envelopes are served by slot, the one at the parent's slot must reference the parent block. Without this
52
+ // check an envelope of a sibling block is taken as orphaned and only fails downstream in the payload import
53
+ if (parentPayloadInput.blockRootHex !== parentBlock.blockRoot) {
54
+ throw new BlockError(blocks[0].getBlock(), {
55
+ code: BlockErrorCode.ENVELOPE_BLOCK_ROOT_MISMATCH,
56
+ envelopeBlockRoot: parentPayloadInput.blockRootHex,
57
+ blockRoot: parentBlock.blockRoot,
58
+ });
59
+ }
51
60
  const parentPayloadBlockHash = parentPayloadInput.getBlockHashHex();
52
61
  if (currentExecHash === parentPayloadBlockHash) {
53
62
  // Checkpoint-sync first batch: the anchor is stored PENDING with the inherited (grandparent)