@lodestar/fork-choice 1.51.0-dev.4bacee3dac → 1.51.0-dev.4e12403e39

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.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/forkChoice/fastConfirmation/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/forkChoice/fastConfirmation/utils.ts"],"names":[],"mappings":"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"}
@@ -169,6 +169,15 @@ export function getCurrentBalanceSource(store, cache) {
169
169
  export function getPreviousBalanceSource(store, cache) {
170
170
  return getBalanceSource(store, cache, "previous");
171
171
  }
172
+ /**
173
+ * Balances with inactive and slashed validators zeroed.
174
+ * Full-registry scans read weights from here: `state.getValidator()` materializes a validator
175
+ * object per index on native state views.
176
+ */
177
+ function getZeroInactiveBalances(balanceSource) {
178
+ // Fallback balances come from the justified-balance path and already zero inactive validators
179
+ return balanceSource.state?.getEffectiveBalanceIncrementsZeroInactive() ?? balanceSource.balances;
180
+ }
172
181
  export function getTotalActiveBalance(balanceSource, cache) {
173
182
  // Invariant per balance source within a run, but read many times per is_one_confirmed evaluation
174
183
  // across the epoch-boundary chain walk; memoize so the full validator-set scan runs once per run.
@@ -176,11 +185,7 @@ export function getTotalActiveBalance(balanceSource, cache) {
176
185
  const cached = cache.totalActiveBalanceByKey.get(key);
177
186
  if (cached !== undefined)
178
187
  return cached;
179
- const total = balanceSource.state
180
- ? computeTotalBalance(balanceSource.state.getEffectiveBalanceIncrementsZeroInactive())
181
- : // Fallback balances come from the justified-balance path and already zero inactive
182
- // validators, so summing them gives the active justified total for this balance source.
183
- computeTotalBalance(balanceSource.balances);
188
+ const total = computeTotalBalance(getZeroInactiveBalances(balanceSource));
184
189
  cache.totalActiveBalanceByKey.set(key, total);
185
190
  return total;
186
191
  }
@@ -243,15 +248,11 @@ function ensureVoteMaps(ctx, cache, balanceSource, sourceKey) {
243
248
  if (cache.voteWeightBySource.has(sourceKey))
244
249
  return;
245
250
  const voteMap = new Map();
246
- const balances = balanceSource.balances;
247
- const state = balanceSource.state;
248
- const activeIndices = state?.getCurrentShuffling().activeIndices ?? null;
251
+ const balances = getZeroInactiveBalances(balanceSource);
252
+ const activeIndices = balanceSource.state?.getCurrentShuffling().activeIndices ?? null;
249
253
  const equivocating = ctx.getEquivocatingIndices();
250
254
  const indices = activeIndices ?? balances.keys();
251
- const isSlashed = state ? (i) => state.getValidator(i).slashed : () => false;
252
255
  for (const i of indices) {
253
- if (isSlashed(i))
254
- continue;
255
256
  if (equivocating.has(i))
256
257
  continue;
257
258
  const weight = balances[i] ?? 0;
@@ -278,27 +279,21 @@ export function getAttestationScore(ctx, cache, balanceSource, blockRoot, source
278
279
  export function getNodeSupportBetweenSlots(ctx, store, cache, balanceSource, nodeRoot, nodePayloadStatus, startSlot, endSlot) {
279
280
  if (startSlot > endSlot)
280
281
  return 0;
281
- const balances = balanceSource.balances;
282
- const state = balanceSource.state;
283
- const stateEpoch = state ? computeEpochAtSlot(state.slot) : null;
282
+ const balances = getZeroInactiveBalances(balanceSource);
284
283
  const participants = getSlotRangeParticipants(ctx, store, cache, startSlot, endSlot);
285
284
  if (participants.size === 0)
286
285
  return 0;
287
286
  const equivocating = ctx.getEquivocatingIndices();
288
287
  let score = 0;
289
288
  for (const i of participants) {
290
- if (i >= balances.length)
291
- continue;
292
- const validator = state?.getValidator(i);
293
- if (validator?.slashed)
294
- continue;
295
- if (validator && stateEpoch !== null && !isActiveValidator(validator, stateEpoch))
289
+ const weight = balances[i] ?? 0;
290
+ if (weight === 0)
296
291
  continue;
297
292
  if (equivocating.has(i))
298
293
  continue;
299
294
  const latestMessage = ctx.getLatestMessage(i);
300
295
  if (latestMessage?.root === nodeRoot && latestMessage.payloadStatus === nodePayloadStatus) {
301
- score += balances[i] ?? 0;
296
+ score += weight;
302
297
  }
303
298
  }
304
299
  return score;
@@ -325,6 +320,8 @@ export function getEquivocationScore(ctx, store, cache, balanceSource, startSlot
325
320
  continue;
326
321
  if (i >= balances.length)
327
322
  continue;
323
+ // Slashed equivocators still count, so this cannot read the zero-inactive balances.
324
+ // Reads are bounded by the equivocating set.
328
325
  const validator = state?.getValidator(i);
329
326
  if (validator && stateEpoch !== null && !isActiveValidator(validator, stateEpoch))
330
327
  continue;
@@ -445,15 +442,13 @@ export function getCurrentTargetScore(ctx, store, cache) {
445
442
  const targetState = getCurrentEpochState(ctx, store, cache);
446
443
  if (!target || !targetState)
447
444
  return 0;
448
- const balances = targetState.effectiveBalanceIncrements;
445
+ const balances = getZeroInactiveBalances({ state: targetState, balances: targetState.effectiveBalanceIncrements });
449
446
  const activeIndices = targetState.getCurrentShuffling().activeIndices;
450
447
  const equivocating = ctx.getEquivocatingIndices();
451
448
  // Group validators by (voteRoot, voteEpoch) to avoid per-validator getCheckpointForBlock calls.
452
449
  // On mainnet ~1M validators vote for only ~50 unique (root, epoch) pairs.
453
450
  const voteGroups = new Map();
454
451
  for (const i of activeIndices) {
455
- if (targetState.getValidator(i).slashed)
456
- continue;
457
452
  if (equivocating.has(i))
458
453
  continue;
459
454
  const msg = ctx.getLatestMessage(i);
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/forkChoice/fastConfirmation/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/forkChoice/fastConfirmation/utils.ts"],"names":[],"mappings":"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"}
@@ -23,11 +23,11 @@ export type UpdateAndGetHeadOpt = {
23
23
  mode: UpdateHeadOpt.GetCanonicalHead;
24
24
  } | {
25
25
  mode: UpdateHeadOpt.GetProposerHead;
26
- secFromSlot: number;
26
+ msFromSlot: number;
27
27
  slot: Slot;
28
28
  } | {
29
29
  mode: UpdateHeadOpt.GetPredictedProposerHead;
30
- secFromSlot: number;
30
+ msFromSlot: number;
31
31
  slot: Slot;
32
32
  };
33
33
  /**
@@ -150,7 +150,7 @@ export declare class ForkChoice implements IForkChoice {
150
150
  isHeadTimely?: boolean;
151
151
  notReorgedReason?: NotReorgedReason;
152
152
  };
153
- shouldOverrideForkChoiceUpdate(headBlock: ProtoBlock, secFromSlot: number, currentSlot: Slot): ShouldOverrideForkChoiceUpdateResult;
153
+ shouldOverrideForkChoiceUpdate(headBlock: ProtoBlock, msFromSlot: number, currentSlot: Slot): ShouldOverrideForkChoiceUpdateResult;
154
154
  /**
155
155
  * Get the proposer boost root
156
156
  */
@@ -177,7 +177,7 @@ export declare class ForkChoice implements IForkChoice {
177
177
  * By calling this function, we assume we are the proposer of next slot
178
178
  *
179
179
  */
180
- predictProposerHead(headBlock: ProtoBlock, secFromSlot: number, currentSlot: Slot): ProtoBlock;
180
+ predictProposerHead(headBlock: ProtoBlock, msFromSlot: number, currentSlot: Slot): ProtoBlock;
181
181
  /**
182
182
  *
183
183
  * This function takes in the canonical head block and determine the proposer head (canonical head block or its parent)
@@ -187,7 +187,7 @@ export declare class ForkChoice implements IForkChoice {
187
187
  * https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.14/specs/phase0/fork-choice.md#get_proposer_head
188
188
  * https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.14/specs/gloas/fork-choice.md#modified-get_proposer_head
189
189
  */
190
- getProposerHead(headBlock: ProtoBlock, secFromSlot: number, slot: Slot): {
190
+ getProposerHead(headBlock: ProtoBlock, msFromSlot: number, slot: Slot): {
191
191
  proposerHead: ProtoBlock;
192
192
  isHeadTimely: boolean;
193
193
  notReorgedReason?: NotReorgedReason;
@@ -246,7 +246,7 @@ export declare class ForkChoice implements IForkChoice {
246
246
  * `justifiedBalances` balances of justified state which is updated synchronously.
247
247
  * This ensures that the forkchoice is never out of sync.
248
248
  */
249
- onBlock(block: BeaconBlock, state: IBeaconStateView, receiveDelaySec: number, importDelaySec: number, currentSlot: Slot, executionStatus: BlockExecutionStatus, dataAvailabilityStatus: DataAvailabilityStatus): ProtoBlock;
249
+ onBlock(block: BeaconBlock, state: IBeaconStateView, receiveDelayMs: number, importDelayMs: number, currentSlot: Slot, executionStatus: BlockExecutionStatus, dataAvailabilityStatus: DataAvailabilityStatus): ProtoBlock;
250
250
  /**
251
251
  * Register `attestation` with the fork choice DAG so that it may influence future calls to `getHead`.
252
252
  *
@@ -384,7 +384,9 @@ export declare class ForkChoice implements IForkChoice {
384
384
  *
385
385
  * `ancestors` is the raw walk and includes the previous finalized block as its last element —
386
386
  * callers that don't want the boundary should slice it off themselves.
387
- * Post-gloas for each block root, it returns exactly one variant of it.
387
+ * For Gloas parent blocks, `ancestors` contains the selected EMPTY or FULL variant.
388
+ * The other variant, if present in the traversed range, goes into `nonAncestors` with the same root.
389
+ * Exclude roots present in `ancestors` before pruning by block root.
388
390
  */
389
391
  getAllAncestorAndNonAncestorBlocks(blockRoot: RootHex, payloadStatus: PayloadStatus): {
390
392
  ancestors: ProtoBlock[];
@@ -466,7 +468,7 @@ export declare class ForkChoice implements IForkChoice {
466
468
  * Return true if the block is timely for the current slot.
467
469
  * Child class can overwrite this for testing purpose.
468
470
  */
469
- protected isBlockReceivedTimely(block: BeaconBlock, blockDelaySec: number): boolean;
471
+ protected isBlockReceivedTimely(block: BeaconBlock, blockDelayMs: number): boolean;
470
472
  /**
471
473
  * Return true if the block arrived before the PTC (payload-timeliness committee) deadline,
472
474
  * ie. block_timeliness[PTC_TIMELINESS_INDEX]. should_apply_proposer_boost uses this as the
@@ -477,13 +479,13 @@ export declare class ForkChoice implements IForkChoice {
477
479
  *
478
480
  * Child class can overwrite this for testing purpose.
479
481
  */
480
- protected isBlockPtcTimely(block: BeaconBlock, blockDelaySec: number): boolean;
482
+ protected isBlockPtcTimely(block: BeaconBlock, blockDelayMs: number): boolean;
481
483
  /**
482
484
  * Return true if THIS node finished importing the block before the attestation cutoff, ie. the
483
485
  * block was imported in a timely manner for its own slot.
484
486
  * This is not part of the spec, we use this to determine late canonical blocks.
485
487
  */
486
- protected isBlockImportedTimely(block: BeaconBlock, importDelaySec: number): boolean;
488
+ protected isBlockImportedTimely(block: BeaconBlock, importDelayMs: number): boolean;
487
489
  /**
488
490
  * Determine whether proposer boost should be applied to `proposerBoostRoot`.
489
491
  *
@@ -1 +1 @@
1
- {"version":3,"file":"forkChoice.d.ts","sourceRoot":"","sources":["../../src/forkChoice/forkChoice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forkChoice.d.ts","sourceRoot":"","sources":["../../src/forkChoice/forkChoice.ts"],"names":[],"mappings":"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"}
@@ -223,9 +223,9 @@ export class ForkChoice {
223
223
  const canonicalHeadBlock = mode === UpdateHeadOpt.GetPredictedProposerHead ? this.getHead() : this.updateHead();
224
224
  switch (mode) {
225
225
  case UpdateHeadOpt.GetPredictedProposerHead:
226
- return { head: this.predictProposerHead(canonicalHeadBlock, opt.secFromSlot, opt.slot) };
226
+ return { head: this.predictProposerHead(canonicalHeadBlock, opt.msFromSlot, opt.slot) };
227
227
  case UpdateHeadOpt.GetProposerHead: {
228
- const { proposerHead: head, isHeadTimely, notReorgedReason, } = this.getProposerHead(canonicalHeadBlock, opt.secFromSlot, opt.slot);
228
+ const { proposerHead: head, isHeadTimely, notReorgedReason, } = this.getProposerHead(canonicalHeadBlock, opt.msFromSlot, opt.slot);
229
229
  return { head, isHeadTimely, notReorgedReason };
230
230
  }
231
231
  case UpdateHeadOpt.GetCanonicalHead:
@@ -239,7 +239,7 @@ export class ForkChoice {
239
239
  // Return true if the given block passes all criteria to be re-orged out
240
240
  // Return false otherwise.
241
241
  // Note when proposer boost reorg is disabled, it always returns false
242
- shouldOverrideForkChoiceUpdate(headBlock, secFromSlot, currentSlot) {
242
+ shouldOverrideForkChoiceUpdate(headBlock, msFromSlot, currentSlot) {
243
243
  if (headBlock === null) {
244
244
  // should not happen because this block just got imported. Fall back to no-reorg.
245
245
  return { shouldOverrideFcu: false, reason: NotReorgedReason.HeadBlockNotAvailable };
@@ -261,7 +261,7 @@ export class ForkChoice {
261
261
  return { shouldOverrideFcu: false, reason: NotReorgedReason.ParentBlockNotAvailable };
262
262
  }
263
263
  const currentTimeOk = headBlock.slot === currentSlot ||
264
- (proposalSlot === currentSlot && this.isProposingOnTime(secFromSlot, currentSlot));
264
+ (proposalSlot === currentSlot && this.isProposingOnTime(msFromSlot, currentSlot));
265
265
  // Mirror the proposer equivocation branch of getProposerHead(). The head slot's attestations are
266
266
  // still queued at this point so the head is assumed weak, same as for the regular branch below.
267
267
  if (currentTimeOk && this.isProposerEquivocation(headBlock)) {
@@ -330,7 +330,7 @@ export class ForkChoice {
330
330
  * By calling this function, we assume we are the proposer of next slot
331
331
  *
332
332
  */
333
- predictProposerHead(headBlock, secFromSlot, currentSlot) {
333
+ predictProposerHead(headBlock, msFromSlot, currentSlot) {
334
334
  const { proposerBoost, proposerBoostReorg } = this.opts ?? {};
335
335
  // Skip re-org attempt if proposer boost (reorg) are disabled
336
336
  if (!proposerBoost || !proposerBoostReorg) {
@@ -342,7 +342,7 @@ export class ForkChoice {
342
342
  return headBlock;
343
343
  }
344
344
  const blockRoot = headBlock.blockRoot;
345
- const result = this.shouldOverrideForkChoiceUpdate(headBlock, secFromSlot, currentSlot);
345
+ const result = this.shouldOverrideForkChoiceUpdate(headBlock, msFromSlot, currentSlot);
346
346
  if (result.shouldOverrideFcu) {
347
347
  this.logger?.verbose("Current head is weak. Predicting next block to be built on parent of head.", {
348
348
  slot: currentSlot,
@@ -367,7 +367,7 @@ export class ForkChoice {
367
367
  * https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.14/specs/phase0/fork-choice.md#get_proposer_head
368
368
  * https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.14/specs/gloas/fork-choice.md#modified-get_proposer_head
369
369
  */
370
- getProposerHead(headBlock, secFromSlot, slot) {
370
+ getProposerHead(headBlock, msFromSlot, slot) {
371
371
  const isHeadTimely = headBlock.timeliness;
372
372
  let proposerHead = headBlock;
373
373
  // Skip re-org attempt if proposer boost (reorg) are disabled
@@ -408,7 +408,7 @@ export class ForkChoice {
408
408
  return { proposerHead, isHeadTimely, notReorgedReason: prelimNotReorgedReason };
409
409
  }
410
410
  // Only re-org if we are proposing on-time
411
- if (!this.isProposingOnTime(secFromSlot, slot)) {
411
+ if (!this.isProposingOnTime(msFromSlot, slot)) {
412
412
  return { proposerHead, isHeadTimely, notReorgedReason: NotReorgedReason.NotProposingOnTime };
413
413
  }
414
414
  // No reorg if attempted reorg is more than a single slot
@@ -567,7 +567,7 @@ export class ForkChoice {
567
567
  * `justifiedBalances` balances of justified state which is updated synchronously.
568
568
  * This ensures that the forkchoice is never out of sync.
569
569
  */
570
- onBlock(block, state, receiveDelaySec, importDelaySec, currentSlot, executionStatus, dataAvailabilityStatus) {
570
+ onBlock(block, state, receiveDelayMs, importDelayMs, currentSlot, executionStatus, dataAvailabilityStatus) {
571
571
  const { parentRoot, slot } = block;
572
572
  const parentRootHex = toRootHex(parentRoot);
573
573
  // Parent block must be known because state_transition would have failed otherwise.
@@ -630,7 +630,7 @@ export class ForkChoice {
630
630
  // Decide whether this block should receive proposer boost, and whether the block is timely.
631
631
  // The store field `this.proposerBoostRoot` and `updateCheckpoints()` are mutated only after
632
632
  // `protoArray.onBlock()` succeeds
633
- const isTimely = this.isBlockReceivedTimely(block, receiveDelaySec);
633
+ const isTimely = this.isBlockReceivedTimely(block, receiveDelayMs);
634
634
  const isProposerBoostBlock = this.opts?.proposerBoost === true &&
635
635
  isTimely &&
636
636
  // only boost the first block we see
@@ -694,8 +694,8 @@ export class ForkChoice {
694
694
  targetRoot: toRootHex(targetRoot),
695
695
  stateRoot: toRootHex(block.stateRoot),
696
696
  timeliness: isTimely,
697
- ptcTimeliness: this.isBlockPtcTimely(block, receiveDelaySec),
698
- importedTimely: this.isBlockImportedTimely(block, importDelaySec),
697
+ ptcTimeliness: this.isBlockPtcTimely(block, receiveDelayMs),
698
+ importedTimely: this.isBlockImportedTimely(block, importDelayMs),
699
699
  proposerIndex: block.proposerIndex,
700
700
  justifiedEpoch: stateJustifiedEpoch,
701
701
  justifiedRoot: toRootHex(state.currentJustifiedCheckpoint.root),
@@ -1138,7 +1138,9 @@ export class ForkChoice {
1138
1138
  *
1139
1139
  * `ancestors` is the raw walk and includes the previous finalized block as its last element —
1140
1140
  * callers that don't want the boundary should slice it off themselves.
1141
- * Post-gloas for each block root, it returns exactly one variant of it.
1141
+ * For Gloas parent blocks, `ancestors` contains the selected EMPTY or FULL variant.
1142
+ * The other variant, if present in the traversed range, goes into `nonAncestors` with the same root.
1143
+ * Exclude roots present in `ancestors` before pruning by block root.
1142
1144
  */
1143
1145
  getAllAncestorAndNonAncestorBlocks(blockRoot, payloadStatus) {
1144
1146
  return this.protoArray.getAllAncestorAndNonAncestorNodes(blockRoot, payloadStatus);
@@ -1435,9 +1437,9 @@ export class ForkChoice {
1435
1437
  * Return true if the block is timely for the current slot.
1436
1438
  * Child class can overwrite this for testing purpose.
1437
1439
  */
1438
- isBlockReceivedTimely(block, blockDelaySec) {
1440
+ isBlockReceivedTimely(block, blockDelayMs) {
1439
1441
  const fork = this.config.getForkName(block.slot);
1440
- const isBeforeLateBlockCutoff = blockDelaySec * 1000 < this.config.getAttestationDueMs(fork);
1442
+ const isBeforeLateBlockCutoff = blockDelayMs < this.config.getAttestationDueMs(fork);
1441
1443
  return this.fcStore.currentSlot === block.slot && isBeforeLateBlockCutoff;
1442
1444
  }
1443
1445
  /**
@@ -1450,18 +1452,18 @@ export class ForkChoice {
1450
1452
  *
1451
1453
  * Child class can overwrite this for testing purpose.
1452
1454
  */
1453
- isBlockPtcTimely(block, blockDelaySec) {
1455
+ isBlockPtcTimely(block, blockDelayMs) {
1454
1456
  const ptcThresholdMs = this.config.getSlotComponentDurationMs(this.config.getForkName(block.slot), this.config.PAYLOAD_ATTESTATION_DUE_BPS);
1455
- return this.fcStore.currentSlot === block.slot && blockDelaySec * 1000 < ptcThresholdMs;
1457
+ return this.fcStore.currentSlot === block.slot && blockDelayMs < ptcThresholdMs;
1456
1458
  }
1457
1459
  /**
1458
1460
  * Return true if THIS node finished importing the block before the attestation cutoff, ie. the
1459
1461
  * block was imported in a timely manner for its own slot.
1460
1462
  * This is not part of the spec, we use this to determine late canonical blocks.
1461
1463
  */
1462
- isBlockImportedTimely(block, importDelaySec) {
1464
+ isBlockImportedTimely(block, importDelayMs) {
1463
1465
  const fork = this.config.getForkName(block.slot);
1464
- const isBeforeLateBlockCutoff = importDelaySec * 1000 < this.config.getAttestationDueMs(fork);
1466
+ const isBeforeLateBlockCutoff = importDelayMs < this.config.getAttestationDueMs(fork);
1465
1467
  return this.fcStore.currentSlot === block.slot && isBeforeLateBlockCutoff;
1466
1468
  }
1467
1469
  /**
@@ -1530,10 +1532,10 @@ export class ForkChoice {
1530
1532
  /**
1531
1533
  * https://github.com/ethereum/consensus-specs/blob/v1.5.0/specs/phase0/fork-choice.md#is_proposing_on_time
1532
1534
  */
1533
- isProposingOnTime(secFromSlot, slot) {
1535
+ isProposingOnTime(msFromSlot, slot) {
1534
1536
  const fork = this.config.getForkName(slot);
1535
1537
  const proposerReorgCutoff = this.config.getProposerReorgCutoffMs(fork);
1536
- return secFromSlot * 1000 <= proposerReorgCutoff;
1538
+ return msFromSlot <= proposerReorgCutoff;
1537
1539
  }
1538
1540
  getPreMergeExecStatus(executionStatus) {
1539
1541
  if (executionStatus !== ExecutionStatus.PreMerge)
@@ -1 +1 @@
1
- {"version":3,"file":"forkChoice.js","sourceRoot":"","sources":["../../src/forkChoice/forkChoice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forkChoice.js","sourceRoot":"","sources":["../../src/forkChoice/forkChoice.ts"],"names":[],"mappings":"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"}
@@ -113,7 +113,7 @@ export interface IForkChoice {
113
113
  * fcu call in `importBlock()` will be suppressed if this returns true. It is also
114
114
  * called by `predictProposerHead()` during `prepareNextSlot()`.
115
115
  */
116
- shouldOverrideForkChoiceUpdate(headBlock: ProtoBlock, secFromSlot: number, currentSlot: Slot): ShouldOverrideForkChoiceUpdateResult;
116
+ shouldOverrideForkChoiceUpdate(headBlock: ProtoBlock, msFromSlot: number, currentSlot: Slot): ShouldOverrideForkChoiceUpdateResult;
117
117
  /**
118
118
  * Retrieves all possible chain heads (leaves of fork choice tree).
119
119
  */
@@ -144,7 +144,7 @@ export interface IForkChoice {
144
144
  *
145
145
  * The supplied block **must** pass the `state_transition` function as it will not be run here.
146
146
  */
147
- onBlock(block: BeaconBlock, state: IBeaconStateView, receiveDelaySec: number, importDelaySec: number, currentSlot: Slot, executionStatus: BlockExecutionStatus, dataAvailabilityStatus: DataAvailabilityStatus): ProtoBlock;
147
+ onBlock(block: BeaconBlock, state: IBeaconStateView, receiveDelayMs: number, importDelayMs: number, currentSlot: Slot, executionStatus: BlockExecutionStatus, dataAvailabilityStatus: DataAvailabilityStatus): ProtoBlock;
148
148
  /**
149
149
  * Register `attestation` with the fork choice DAG so that it may influence future calls to `getHead`.
150
150
  *
@@ -1 +1 @@
1
- {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/forkChoice/interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/forkChoice/interface.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.51.0-dev.4bacee3dac",
14
+ "version": "1.51.0-dev.4e12403e39",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -40,11 +40,11 @@
40
40
  },
41
41
  "dependencies": {
42
42
  "@chainsafe/ssz": "^1.9.0",
43
- "@lodestar/config": "^1.51.0-dev.4bacee3dac",
44
- "@lodestar/params": "^1.51.0-dev.4bacee3dac",
45
- "@lodestar/state-transition": "^1.51.0-dev.4bacee3dac",
46
- "@lodestar/types": "^1.51.0-dev.4bacee3dac",
47
- "@lodestar/utils": "^1.51.0-dev.4bacee3dac"
43
+ "@lodestar/config": "^1.51.0-dev.4e12403e39",
44
+ "@lodestar/params": "^1.51.0-dev.4e12403e39",
45
+ "@lodestar/state-transition": "^1.51.0-dev.4e12403e39",
46
+ "@lodestar/types": "^1.51.0-dev.4e12403e39",
47
+ "@lodestar/utils": "^1.51.0-dev.4e12403e39"
48
48
  },
49
49
  "keywords": [
50
50
  "ethereum",
@@ -52,5 +52,5 @@
52
52
  "beacon",
53
53
  "blockchain"
54
54
  ],
55
- "gitHead": "a0236772c08e7efe51c902caecf53cedc0ab9c86"
55
+ "gitHead": "e214ede1b6de730639949c74a7397a796a923b8c"
56
56
  }
@@ -1,5 +1,6 @@
1
1
  import {SLOTS_PER_EPOCH} from "@lodestar/params";
2
2
  import {
3
+ EffectiveBalanceIncrements,
3
4
  IBeaconStateView,
4
5
  computeEpochAtSlot,
5
6
  computeSlotsSinceEpochStart,
@@ -267,6 +268,16 @@ export function getPreviousBalanceSource(
267
268
  return getBalanceSource(store, cache, "previous");
268
269
  }
269
270
 
271
+ /**
272
+ * Balances with inactive and slashed validators zeroed.
273
+ * Full-registry scans read weights from here: `state.getValidator()` materializes a validator
274
+ * object per index on native state views.
275
+ */
276
+ function getZeroInactiveBalances(balanceSource: FastConfirmationBalanceSource): EffectiveBalanceIncrements {
277
+ // Fallback balances come from the justified-balance path and already zero inactive validators
278
+ return balanceSource.state?.getEffectiveBalanceIncrementsZeroInactive() ?? balanceSource.balances;
279
+ }
280
+
270
281
  export function getTotalActiveBalance(
271
282
  balanceSource: FastConfirmationBalanceSource,
272
283
  cache: FastConfirmationCache
@@ -277,11 +288,7 @@ export function getTotalActiveBalance(
277
288
  const cached = cache.totalActiveBalanceByKey.get(key);
278
289
  if (cached !== undefined) return cached;
279
290
 
280
- const total = balanceSource.state
281
- ? computeTotalBalance(balanceSource.state.getEffectiveBalanceIncrementsZeroInactive())
282
- : // Fallback balances come from the justified-balance path and already zero inactive
283
- // validators, so summing them gives the active justified total for this balance source.
284
- computeTotalBalance(balanceSource.balances);
291
+ const total = computeTotalBalance(getZeroInactiveBalances(balanceSource));
285
292
 
286
293
  cache.totalActiveBalanceByKey.set(key, total);
287
294
  return total;
@@ -369,15 +376,12 @@ function ensureVoteMaps(
369
376
  if (cache.voteWeightBySource.has(sourceKey)) return;
370
377
 
371
378
  const voteMap = new Map<RootHex, number>();
372
- const balances = balanceSource.balances;
373
- const state = balanceSource.state;
374
- const activeIndices = state?.getCurrentShuffling().activeIndices ?? null;
379
+ const balances = getZeroInactiveBalances(balanceSource);
380
+ const activeIndices = balanceSource.state?.getCurrentShuffling().activeIndices ?? null;
375
381
  const equivocating = ctx.getEquivocatingIndices();
376
382
  const indices: Iterable<number> = activeIndices ?? balances.keys();
377
- const isSlashed = state ? (i: ValidatorIndex) => state.getValidator(i).slashed : () => false;
378
383
 
379
384
  for (const i of indices) {
380
- if (isSlashed(i)) continue;
381
385
  if (equivocating.has(i)) continue;
382
386
  const weight = balances[i] ?? 0;
383
387
  if (weight === 0) continue;
@@ -420,23 +424,19 @@ export function getNodeSupportBetweenSlots(
420
424
  endSlot: Slot
421
425
  ): number {
422
426
  if (startSlot > endSlot) return 0;
423
- const balances = balanceSource.balances;
424
- const state = balanceSource.state;
425
- const stateEpoch = state ? computeEpochAtSlot(state.slot) : null;
427
+ const balances = getZeroInactiveBalances(balanceSource);
426
428
  const participants = getSlotRangeParticipants(ctx, store, cache, startSlot, endSlot);
427
429
  if (participants.size === 0) return 0;
428
430
 
429
431
  const equivocating = ctx.getEquivocatingIndices();
430
432
  let score = 0;
431
433
  for (const i of participants) {
432
- if (i >= balances.length) continue;
433
- const validator = state?.getValidator(i);
434
- if (validator?.slashed) continue;
435
- if (validator && stateEpoch !== null && !isActiveValidator(validator, stateEpoch)) continue;
434
+ const weight = balances[i] ?? 0;
435
+ if (weight === 0) continue;
436
436
  if (equivocating.has(i)) continue;
437
437
  const latestMessage = ctx.getLatestMessage(i);
438
438
  if (latestMessage?.root === nodeRoot && latestMessage.payloadStatus === nodePayloadStatus) {
439
- score += balances[i] ?? 0;
439
+ score += weight;
440
440
  }
441
441
  }
442
442
  return score;
@@ -469,6 +469,8 @@ export function getEquivocationScore(
469
469
  for (const i of participants) {
470
470
  if (!equivocating.has(i)) continue;
471
471
  if (i >= balances.length) continue;
472
+ // Slashed equivocators still count, so this cannot read the zero-inactive balances.
473
+ // Reads are bounded by the equivocating set.
472
474
  const validator = state?.getValidator(i);
473
475
  if (validator && stateEpoch !== null && !isActiveValidator(validator, stateEpoch)) continue;
474
476
  score += balances[i] ?? 0;
@@ -672,7 +674,7 @@ export function getCurrentTargetScore(
672
674
  const target = getCurrentTarget(ctx);
673
675
  const targetState = getCurrentEpochState(ctx, store, cache);
674
676
  if (!target || !targetState) return 0;
675
- const balances = targetState.effectiveBalanceIncrements;
677
+ const balances = getZeroInactiveBalances({state: targetState, balances: targetState.effectiveBalanceIncrements});
676
678
  const activeIndices = targetState.getCurrentShuffling().activeIndices;
677
679
  const equivocating = ctx.getEquivocatingIndices();
678
680
 
@@ -680,7 +682,6 @@ export function getCurrentTargetScore(
680
682
  // On mainnet ~1M validators vote for only ~50 unique (root, epoch) pairs.
681
683
  const voteGroups = new Map<RootHex, Map<Epoch, number>>();
682
684
  for (const i of activeIndices) {
683
- if (targetState.getValidator(i).slashed) continue;
684
685
  if (equivocating.has(i)) continue;
685
686
  const msg = ctx.getLatestMessage(i);
686
687
  if (!msg) continue;
@@ -86,8 +86,8 @@ export enum UpdateHeadOpt {
86
86
 
87
87
  export type UpdateAndGetHeadOpt =
88
88
  | {mode: UpdateHeadOpt.GetCanonicalHead}
89
- | {mode: UpdateHeadOpt.GetProposerHead; secFromSlot: number; slot: Slot}
90
- | {mode: UpdateHeadOpt.GetPredictedProposerHead; secFromSlot: number; slot: Slot};
89
+ | {mode: UpdateHeadOpt.GetProposerHead; msFromSlot: number; slot: Slot}
90
+ | {mode: UpdateHeadOpt.GetPredictedProposerHead; msFromSlot: number; slot: Slot};
91
91
 
92
92
  // the initial vote epoch for all validators
93
93
  const INIT_VOTE_SLOT: Slot = 0;
@@ -315,13 +315,13 @@ export class ForkChoice implements IForkChoice {
315
315
  const canonicalHeadBlock = mode === UpdateHeadOpt.GetPredictedProposerHead ? this.getHead() : this.updateHead();
316
316
  switch (mode) {
317
317
  case UpdateHeadOpt.GetPredictedProposerHead:
318
- return {head: this.predictProposerHead(canonicalHeadBlock, opt.secFromSlot, opt.slot)};
318
+ return {head: this.predictProposerHead(canonicalHeadBlock, opt.msFromSlot, opt.slot)};
319
319
  case UpdateHeadOpt.GetProposerHead: {
320
320
  const {
321
321
  proposerHead: head,
322
322
  isHeadTimely,
323
323
  notReorgedReason,
324
- } = this.getProposerHead(canonicalHeadBlock, opt.secFromSlot, opt.slot);
324
+ } = this.getProposerHead(canonicalHeadBlock, opt.msFromSlot, opt.slot);
325
325
  return {head, isHeadTimely, notReorgedReason};
326
326
  }
327
327
  case UpdateHeadOpt.GetCanonicalHead:
@@ -338,7 +338,7 @@ export class ForkChoice implements IForkChoice {
338
338
  // Note when proposer boost reorg is disabled, it always returns false
339
339
  shouldOverrideForkChoiceUpdate(
340
340
  headBlock: ProtoBlock,
341
- secFromSlot: number,
341
+ msFromSlot: number,
342
342
  currentSlot: Slot
343
343
  ): ShouldOverrideForkChoiceUpdateResult {
344
344
  if (headBlock === null) {
@@ -369,7 +369,7 @@ export class ForkChoice implements IForkChoice {
369
369
 
370
370
  const currentTimeOk =
371
371
  headBlock.slot === currentSlot ||
372
- (proposalSlot === currentSlot && this.isProposingOnTime(secFromSlot, currentSlot));
372
+ (proposalSlot === currentSlot && this.isProposingOnTime(msFromSlot, currentSlot));
373
373
 
374
374
  // Mirror the proposer equivocation branch of getProposerHead(). The head slot's attestations are
375
375
  // still queued at this point so the head is assumed weak, same as for the regular branch below.
@@ -455,7 +455,7 @@ export class ForkChoice implements IForkChoice {
455
455
  * By calling this function, we assume we are the proposer of next slot
456
456
  *
457
457
  */
458
- predictProposerHead(headBlock: ProtoBlock, secFromSlot: number, currentSlot: Slot): ProtoBlock {
458
+ predictProposerHead(headBlock: ProtoBlock, msFromSlot: number, currentSlot: Slot): ProtoBlock {
459
459
  const {proposerBoost, proposerBoostReorg} = this.opts ?? {};
460
460
  // Skip re-org attempt if proposer boost (reorg) are disabled
461
461
  if (!proposerBoost || !proposerBoostReorg) {
@@ -468,7 +468,7 @@ export class ForkChoice implements IForkChoice {
468
468
  }
469
469
 
470
470
  const blockRoot = headBlock.blockRoot;
471
- const result = this.shouldOverrideForkChoiceUpdate(headBlock, secFromSlot, currentSlot);
471
+ const result = this.shouldOverrideForkChoiceUpdate(headBlock, msFromSlot, currentSlot);
472
472
 
473
473
  if (result.shouldOverrideFcu) {
474
474
  this.logger?.verbose("Current head is weak. Predicting next block to be built on parent of head.", {
@@ -499,7 +499,7 @@ export class ForkChoice implements IForkChoice {
499
499
  */
500
500
  getProposerHead(
501
501
  headBlock: ProtoBlock,
502
- secFromSlot: number,
502
+ msFromSlot: number,
503
503
  slot: Slot
504
504
  ): {proposerHead: ProtoBlock; isHeadTimely: boolean; notReorgedReason?: NotReorgedReason} {
505
505
  const isHeadTimely = headBlock.timeliness;
@@ -556,7 +556,7 @@ export class ForkChoice implements IForkChoice {
556
556
  }
557
557
 
558
558
  // Only re-org if we are proposing on-time
559
- if (!this.isProposingOnTime(secFromSlot, slot)) {
559
+ if (!this.isProposingOnTime(msFromSlot, slot)) {
560
560
  return {proposerHead, isHeadTimely, notReorgedReason: NotReorgedReason.NotProposingOnTime};
561
561
  }
562
562
 
@@ -757,8 +757,8 @@ export class ForkChoice implements IForkChoice {
757
757
  onBlock(
758
758
  block: BeaconBlock,
759
759
  state: IBeaconStateView,
760
- receiveDelaySec: number,
761
- importDelaySec: number,
760
+ receiveDelayMs: number,
761
+ importDelayMs: number,
762
762
  currentSlot: Slot,
763
763
  executionStatus: BlockExecutionStatus,
764
764
  dataAvailabilityStatus: DataAvailabilityStatus
@@ -830,7 +830,7 @@ export class ForkChoice implements IForkChoice {
830
830
  // Decide whether this block should receive proposer boost, and whether the block is timely.
831
831
  // The store field `this.proposerBoostRoot` and `updateCheckpoints()` are mutated only after
832
832
  // `protoArray.onBlock()` succeeds
833
- const isTimely = this.isBlockReceivedTimely(block, receiveDelaySec);
833
+ const isTimely = this.isBlockReceivedTimely(block, receiveDelayMs);
834
834
  const isProposerBoostBlock =
835
835
  this.opts?.proposerBoost === true &&
836
836
  isTimely &&
@@ -901,8 +901,8 @@ export class ForkChoice implements IForkChoice {
901
901
  targetRoot: toRootHex(targetRoot),
902
902
  stateRoot: toRootHex(block.stateRoot),
903
903
  timeliness: isTimely,
904
- ptcTimeliness: this.isBlockPtcTimely(block, receiveDelaySec),
905
- importedTimely: this.isBlockImportedTimely(block, importDelaySec),
904
+ ptcTimeliness: this.isBlockPtcTimely(block, receiveDelayMs),
905
+ importedTimely: this.isBlockImportedTimely(block, importDelayMs),
906
906
  proposerIndex: block.proposerIndex,
907
907
 
908
908
  justifiedEpoch: stateJustifiedEpoch,
@@ -1432,7 +1432,9 @@ export class ForkChoice implements IForkChoice {
1432
1432
  *
1433
1433
  * `ancestors` is the raw walk and includes the previous finalized block as its last element —
1434
1434
  * callers that don't want the boundary should slice it off themselves.
1435
- * Post-gloas for each block root, it returns exactly one variant of it.
1435
+ * For Gloas parent blocks, `ancestors` contains the selected EMPTY or FULL variant.
1436
+ * The other variant, if present in the traversed range, goes into `nonAncestors` with the same root.
1437
+ * Exclude roots present in `ancestors` before pruning by block root.
1436
1438
  */
1437
1439
  getAllAncestorAndNonAncestorBlocks(
1438
1440
  blockRoot: RootHex,
@@ -1775,9 +1777,9 @@ export class ForkChoice implements IForkChoice {
1775
1777
  * Return true if the block is timely for the current slot.
1776
1778
  * Child class can overwrite this for testing purpose.
1777
1779
  */
1778
- protected isBlockReceivedTimely(block: BeaconBlock, blockDelaySec: number): boolean {
1780
+ protected isBlockReceivedTimely(block: BeaconBlock, blockDelayMs: number): boolean {
1779
1781
  const fork = this.config.getForkName(block.slot);
1780
- const isBeforeLateBlockCutoff = blockDelaySec * 1000 < this.config.getAttestationDueMs(fork);
1782
+ const isBeforeLateBlockCutoff = blockDelayMs < this.config.getAttestationDueMs(fork);
1781
1783
  return this.fcStore.currentSlot === block.slot && isBeforeLateBlockCutoff;
1782
1784
  }
1783
1785
 
@@ -1791,12 +1793,12 @@ export class ForkChoice implements IForkChoice {
1791
1793
  *
1792
1794
  * Child class can overwrite this for testing purpose.
1793
1795
  */
1794
- protected isBlockPtcTimely(block: BeaconBlock, blockDelaySec: number): boolean {
1796
+ protected isBlockPtcTimely(block: BeaconBlock, blockDelayMs: number): boolean {
1795
1797
  const ptcThresholdMs = this.config.getSlotComponentDurationMs(
1796
1798
  this.config.getForkName(block.slot),
1797
1799
  this.config.PAYLOAD_ATTESTATION_DUE_BPS
1798
1800
  );
1799
- return this.fcStore.currentSlot === block.slot && blockDelaySec * 1000 < ptcThresholdMs;
1801
+ return this.fcStore.currentSlot === block.slot && blockDelayMs < ptcThresholdMs;
1800
1802
  }
1801
1803
 
1802
1804
  /**
@@ -1804,9 +1806,9 @@ export class ForkChoice implements IForkChoice {
1804
1806
  * block was imported in a timely manner for its own slot.
1805
1807
  * This is not part of the spec, we use this to determine late canonical blocks.
1806
1808
  */
1807
- protected isBlockImportedTimely(block: BeaconBlock, importDelaySec: number): boolean {
1809
+ protected isBlockImportedTimely(block: BeaconBlock, importDelayMs: number): boolean {
1808
1810
  const fork = this.config.getForkName(block.slot);
1809
- const isBeforeLateBlockCutoff = importDelaySec * 1000 < this.config.getAttestationDueMs(fork);
1811
+ const isBeforeLateBlockCutoff = importDelayMs < this.config.getAttestationDueMs(fork);
1810
1812
  return this.fcStore.currentSlot === block.slot && isBeforeLateBlockCutoff;
1811
1813
  }
1812
1814
 
@@ -1891,10 +1893,10 @@ export class ForkChoice implements IForkChoice {
1891
1893
  /**
1892
1894
  * https://github.com/ethereum/consensus-specs/blob/v1.5.0/specs/phase0/fork-choice.md#is_proposing_on_time
1893
1895
  */
1894
- private isProposingOnTime(secFromSlot: number, slot: Slot): boolean {
1896
+ private isProposingOnTime(msFromSlot: number, slot: Slot): boolean {
1895
1897
  const fork = this.config.getForkName(slot);
1896
1898
  const proposerReorgCutoff = this.config.getProposerReorgCutoffMs(fork);
1897
- return secFromSlot * 1000 <= proposerReorgCutoff;
1899
+ return msFromSlot <= proposerReorgCutoff;
1898
1900
  }
1899
1901
 
1900
1902
  private getPreMergeExecStatus(executionStatus: BlockExecutionStatus): ExecutionStatus.PreMerge {
@@ -123,7 +123,7 @@ export interface IForkChoice {
123
123
  */
124
124
  shouldOverrideForkChoiceUpdate(
125
125
  headBlock: ProtoBlock,
126
- secFromSlot: number,
126
+ msFromSlot: number,
127
127
  currentSlot: Slot
128
128
  ): ShouldOverrideForkChoiceUpdateResult;
129
129
  /**
@@ -159,8 +159,8 @@ export interface IForkChoice {
159
159
  onBlock(
160
160
  block: BeaconBlock,
161
161
  state: IBeaconStateView,
162
- receiveDelaySec: number,
163
- importDelaySec: number,
162
+ receiveDelayMs: number,
163
+ importDelayMs: number,
164
164
  currentSlot: Slot,
165
165
  executionStatus: BlockExecutionStatus,
166
166
  dataAvailabilityStatus: DataAvailabilityStatus