@lodestar/fork-choice 1.43.0-dev.2740f92909 → 1.43.0-dev.38479366cc

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":"protoArray.js","sourceRoot":"","sources":["../../src/protoArray/protoArray.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protoArray.js","sourceRoot":"","sources":["../../src/protoArray/protoArray.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.43.0-dev.2740f92909",
14
+ "version": "1.43.0-dev.38479366cc",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -39,12 +39,12 @@
39
39
  "check-readme": "pnpm exec ts-node ../../scripts/check_readme.ts"
40
40
  },
41
41
  "dependencies": {
42
- "@chainsafe/ssz": "^1.2.2",
43
- "@lodestar/config": "^1.43.0-dev.2740f92909",
44
- "@lodestar/params": "^1.43.0-dev.2740f92909",
45
- "@lodestar/state-transition": "^1.43.0-dev.2740f92909",
46
- "@lodestar/types": "^1.43.0-dev.2740f92909",
47
- "@lodestar/utils": "^1.43.0-dev.2740f92909"
42
+ "@chainsafe/ssz": "^1.4.0",
43
+ "@lodestar/config": "^1.43.0-dev.38479366cc",
44
+ "@lodestar/params": "^1.43.0-dev.38479366cc",
45
+ "@lodestar/state-transition": "^1.43.0-dev.38479366cc",
46
+ "@lodestar/types": "^1.43.0-dev.38479366cc",
47
+ "@lodestar/utils": "^1.43.0-dev.38479366cc"
48
48
  },
49
49
  "keywords": [
50
50
  "ethereum",
@@ -52,5 +52,5 @@
52
52
  "beacon",
53
53
  "blockchain"
54
54
  ],
55
- "gitHead": "ca082739323537e636d41772433e6dc57c9d6067"
55
+ "gitHead": "a709e9871edafe31a42cccd7c4f48ee5642f7800"
56
56
  }
@@ -1,5 +1,5 @@
1
1
  import {ChainForkConfig} from "@lodestar/config";
2
- import {ForkSeq, SLOTS_PER_EPOCH, SLOTS_PER_HISTORICAL_ROOT} from "@lodestar/params";
2
+ import {SLOTS_PER_EPOCH} from "@lodestar/params";
3
3
  import {
4
4
  DataAvailabilityStatus,
5
5
  EffectiveBalanceIncrements,
@@ -11,7 +11,6 @@ import {
11
11
  getAttesterSlashableIndices,
12
12
  isExecutionBlockBodyType,
13
13
  isStatePostBellatrix,
14
- isStatePostGloas,
15
14
  } from "@lodestar/state-transition";
16
15
  import {
17
16
  AttesterSlashing,
@@ -53,7 +52,7 @@ import {
53
52
  NotReorgedReason,
54
53
  ShouldOverrideForkChoiceUpdateResult,
55
54
  } from "./interface.js";
56
- import {CheckpointWithPayloadStatus, IForkChoiceStore, JustifiedBalances, toCheckpointWithPayload} from "./store.js";
55
+ import {CheckpointWithHex, IForkChoiceStore, JustifiedBalances, toCheckpointWithHex} from "./store.js";
57
56
 
58
57
  export type ForkChoiceOpts = {
59
58
  proposerBoost?: boolean;
@@ -269,6 +268,11 @@ export class ForkChoice implements IForkChoice {
269
268
  return {shouldOverrideFcu: false, reason: NotReorgedReason.ProposerBoostReorgDisabled};
270
269
  }
271
270
 
271
+ // Gloas genesis anchor has no parent in the proto array. No reorg possible.
272
+ if (headBlock.parentRoot === HEX_ZERO_HASH) {
273
+ return {shouldOverrideFcu: false, reason: NotReorgedReason.ParentBlockNotAvailable};
274
+ }
275
+
272
276
  const parentBlock = this.protoArray.getBlock(
273
277
  headBlock.parentRoot,
274
278
  this.protoArray.getParentPayloadStatus(headBlock)
@@ -311,6 +315,14 @@ export class ForkChoice implements IForkChoice {
311
315
  return this.proposerBoostRoot ?? HEX_ZERO_HASH;
312
316
  }
313
317
 
318
+ /**
319
+ * Decides whether to extend an available payload from the previous slot,
320
+ * corresponding to the beacon block `blockRoot`.
321
+ */
322
+ shouldExtendPayload(blockRoot: RootHex): boolean {
323
+ return this.protoArray.shouldExtendPayload(blockRoot, this.proposerBoostRoot);
324
+ }
325
+
314
326
  /**
315
327
  * To predict the proposer head of the next slot. That is, to predict if proposer-boost-reorg could happen.
316
328
  * Reason why we can't be certain is because information of the head block is not fully available yet
@@ -381,6 +393,11 @@ export class ForkChoice implements IForkChoice {
381
393
  return {proposerHead, isHeadTimely, notReorgedReason: NotReorgedReason.ProposerBoostReorgDisabled};
382
394
  }
383
395
 
396
+ // Gloas genesis anchor has no parent in the proto array. No reorg possible.
397
+ if (headBlock.parentRoot === HEX_ZERO_HASH) {
398
+ return {proposerHead, isHeadTimely, notReorgedReason: NotReorgedReason.ParentBlockNotAvailable};
399
+ }
400
+
384
401
  const parentBlock = this.protoArray.getBlock(
385
402
  headBlock.parentRoot,
386
403
  this.protoArray.getParentPayloadStatus(headBlock)
@@ -556,11 +573,11 @@ export class ForkChoice implements IForkChoice {
556
573
  return this.protoArray.nodes;
557
574
  }
558
575
 
559
- getFinalizedCheckpoint(): CheckpointWithPayloadStatus {
576
+ getFinalizedCheckpoint(): CheckpointWithHex {
560
577
  return this.fcStore.finalizedCheckpoint;
561
578
  }
562
579
 
563
- getJustifiedCheckpoint(): CheckpointWithPayloadStatus {
580
+ getJustifiedCheckpoint(): CheckpointWithHex {
564
581
  return this.fcStore.justified.checkpoint;
565
582
  }
566
583
 
@@ -641,10 +658,7 @@ export class ForkChoice implements IForkChoice {
641
658
  // Check block is a descendant of the finalized block at the checkpoint finalized slot.
642
659
  const blockAncestorNode = this.getAncestor(parentRootHex, finalizedSlot);
643
660
  const fcStoreFinalized = this.fcStore.finalizedCheckpoint;
644
- if (
645
- blockAncestorNode.blockRoot !== fcStoreFinalized.rootHex ||
646
- blockAncestorNode.payloadStatus !== fcStoreFinalized.payloadStatus
647
- ) {
661
+ if (blockAncestorNode.blockRoot !== fcStoreFinalized.rootHex) {
648
662
  throw new ForkChoiceError({
649
663
  code: ForkChoiceErrorCode.INVALID_BLOCK,
650
664
  err: {
@@ -670,18 +684,10 @@ export class ForkChoice implements IForkChoice {
670
684
  this.proposerBoostRoot = blockRootHex;
671
685
  }
672
686
 
673
- // Get justified checkpoint with payload status for Gloas
674
- const justifiedPayloadStatus = getCheckpointPayloadStatus(
675
- this.config,
676
- state,
677
- state.currentJustifiedCheckpoint.epoch
678
- );
679
- const justifiedCheckpoint = toCheckpointWithPayload(state.currentJustifiedCheckpoint, justifiedPayloadStatus);
687
+ const justifiedCheckpoint = toCheckpointWithHex(state.currentJustifiedCheckpoint);
680
688
  const stateJustifiedEpoch = justifiedCheckpoint.epoch;
681
689
 
682
- // Get finalized checkpoint with payload status for Gloas
683
- const finalizedPayloadStatus = getCheckpointPayloadStatus(this.config, state, state.finalizedCheckpoint.epoch);
684
- const finalizedCheckpoint = toCheckpointWithPayload(state.finalizedCheckpoint, finalizedPayloadStatus);
690
+ const finalizedCheckpoint = toCheckpointWithHex(state.finalizedCheckpoint);
685
691
 
686
692
  // Justified balances for `justifiedCheckpoint` are new to the fork-choice. Compute them on demand only if
687
693
  // the justified checkpoint changes
@@ -703,61 +709,29 @@ export class ForkChoice implements IForkChoice {
703
709
  // This is an optimization. It should reduce the amount of times we run
704
710
  // `process_justification_and_finalization` by approximately 1/3rd when the chain is
705
711
  // performing optimally.
706
- let unrealizedJustifiedCheckpoint: CheckpointWithPayloadStatus;
707
- let unrealizedFinalizedCheckpoint: CheckpointWithPayloadStatus;
712
+ let unrealizedJustifiedCheckpoint: CheckpointWithHex;
713
+ let unrealizedFinalizedCheckpoint: CheckpointWithHex;
708
714
  if (this.opts?.computeUnrealized) {
709
715
  if (
710
716
  parentBlock.unrealizedJustifiedEpoch === blockEpoch &&
711
717
  parentBlock.unrealizedFinalizedEpoch + 1 >= blockEpoch
712
718
  ) {
713
719
  // reuse from parent, happens at 1/3 last blocks of epoch as monitored in mainnet
714
- // Get payload status for unrealized justified checkpoint
715
- const unrealizedJustifiedPayloadStatus = getCheckpointPayloadStatus(
716
- this.config,
717
- state,
718
- parentBlock.unrealizedJustifiedEpoch
719
- );
720
720
  unrealizedJustifiedCheckpoint = {
721
721
  epoch: parentBlock.unrealizedJustifiedEpoch,
722
722
  root: fromHex(parentBlock.unrealizedJustifiedRoot),
723
723
  rootHex: parentBlock.unrealizedJustifiedRoot,
724
- payloadStatus: unrealizedJustifiedPayloadStatus,
725
724
  };
726
- // Get payload status for unrealized finalized checkpoint
727
- const unrealizedFinalizedPayloadStatus = getCheckpointPayloadStatus(
728
- this.config,
729
- state,
730
- parentBlock.unrealizedFinalizedEpoch
731
- );
732
725
  unrealizedFinalizedCheckpoint = {
733
726
  epoch: parentBlock.unrealizedFinalizedEpoch,
734
727
  root: fromHex(parentBlock.unrealizedFinalizedRoot),
735
728
  rootHex: parentBlock.unrealizedFinalizedRoot,
736
- payloadStatus: unrealizedFinalizedPayloadStatus,
737
729
  };
738
730
  } else {
739
731
  // compute new, happens 2/3 first blocks of epoch as monitored in mainnet
740
732
  const unrealized = state.computeUnrealizedCheckpoints();
741
- // Get payload status for unrealized justified checkpoint
742
- const unrealizedJustifiedPayloadStatus = getCheckpointPayloadStatus(
743
- this.config,
744
- state,
745
- unrealized.justifiedCheckpoint.epoch
746
- );
747
- unrealizedJustifiedCheckpoint = toCheckpointWithPayload(
748
- unrealized.justifiedCheckpoint,
749
- unrealizedJustifiedPayloadStatus
750
- );
751
- // Get payload status for unrealized finalized checkpoint
752
- const unrealizedFinalizedPayloadStatus = getCheckpointPayloadStatus(
753
- this.config,
754
- state,
755
- unrealized.finalizedCheckpoint.epoch
756
- );
757
- unrealizedFinalizedCheckpoint = toCheckpointWithPayload(
758
- unrealized.finalizedCheckpoint,
759
- unrealizedFinalizedPayloadStatus
760
- );
733
+ unrealizedJustifiedCheckpoint = toCheckpointWithHex(unrealized.justifiedCheckpoint);
734
+ unrealizedFinalizedCheckpoint = toCheckpointWithHex(unrealized.finalizedCheckpoint);
761
735
  }
762
736
  } else {
763
737
  unrealizedJustifiedCheckpoint = justifiedCheckpoint;
@@ -983,7 +957,6 @@ export class ForkChoice implements IForkChoice {
983
957
  blockRoot: RootHex,
984
958
  executionPayloadBlockHash: RootHex,
985
959
  executionPayloadNumber: number,
986
- executionPayloadStateRoot: RootHex,
987
960
  executionStatus: PayloadExecutionStatus
988
961
  ): void {
989
962
  this.protoArray.onExecutionPayload(
@@ -991,7 +964,6 @@ export class ForkChoice implements IForkChoice {
991
964
  this.fcStore.currentSlot,
992
965
  executionPayloadBlockHash,
993
966
  executionPayloadNumber,
994
- executionPayloadStateRoot,
995
967
  this.proposerBoostRoot,
996
968
  executionStatus
997
969
  );
@@ -1122,8 +1094,8 @@ export class ForkChoice implements IForkChoice {
1122
1094
  }
1123
1095
 
1124
1096
  getJustifiedBlock(): ProtoBlock {
1125
- const {rootHex, payloadStatus} = this.fcStore.justified.checkpoint;
1126
- const block = this.getBlockHex(rootHex, payloadStatus);
1097
+ const {rootHex} = this.fcStore.justified.checkpoint;
1098
+ const block = this.getBlockHexDefaultStatus(rootHex);
1127
1099
  if (!block) {
1128
1100
  throw new ForkChoiceError({
1129
1101
  code: ForkChoiceErrorCode.MISSING_PROTO_ARRAY_BLOCK,
@@ -1134,8 +1106,8 @@ export class ForkChoice implements IForkChoice {
1134
1106
  }
1135
1107
 
1136
1108
  getFinalizedBlock(): ProtoBlock {
1137
- const {rootHex, payloadStatus} = this.fcStore.finalizedCheckpoint;
1138
- const block = this.getBlockHex(rootHex, payloadStatus);
1109
+ const {rootHex} = this.fcStore.finalizedCheckpoint;
1110
+ const block = this.getBlockHexDefaultStatus(rootHex);
1139
1111
  if (!block) {
1140
1112
  throw new ForkChoiceError({
1141
1113
  code: ForkChoiceErrorCode.MISSING_PROTO_ARRAY_BLOCK,
@@ -1210,13 +1182,12 @@ export class ForkChoice implements IForkChoice {
1210
1182
  }
1211
1183
 
1212
1184
  /**
1213
- * Returns all blocks backwards starting from a block root.
1214
- * Return only the non-finalized blocks.
1185
+ * Raw ancestor walk from `blockRoot` back toward the previous finalized block. Includes both
1186
+ * `blockRoot` and the previous-finalized boundary as last element. Mirrors the semantics of
1187
+ * `getAllAncestorAndNonAncestorBlocks.ancestors`
1215
1188
  */
1216
1189
  getAllAncestorBlocks(blockRoot: RootHex, payloadStatus: PayloadStatus): ProtoBlock[] {
1217
- const blocks = this.protoArray.getAllAncestorNodes(blockRoot, payloadStatus);
1218
- // the last node is the previous finalized one, it's there to check onBlock finalized checkpoint only.
1219
- return blocks.slice(0, blocks.length - 1);
1190
+ return this.protoArray.getAllAncestorNodes(blockRoot, payloadStatus);
1220
1191
  }
1221
1192
 
1222
1193
  /**
@@ -1228,18 +1199,33 @@ export class ForkChoice implements IForkChoice {
1228
1199
 
1229
1200
  /**
1230
1201
  * Returns both ancestor and non-ancestor blocks in a single traversal.
1202
+ *
1203
+ * `ancestors` is the raw walk and includes the previous finalized block as its last element —
1204
+ * callers that don't want the boundary should slice it off themselves.
1205
+ * Post-gloas for each block root, it returns exactly one variant of it.
1231
1206
  */
1232
1207
  getAllAncestorAndNonAncestorBlocks(
1233
1208
  blockRoot: RootHex,
1234
1209
  payloadStatus: PayloadStatus
1235
1210
  ): {ancestors: ProtoBlock[]; nonAncestors: ProtoBlock[]} {
1236
- const {ancestors, nonAncestors} = this.protoArray.getAllAncestorAndNonAncestorNodes(blockRoot, payloadStatus);
1211
+ return this.protoArray.getAllAncestorAndNonAncestorNodes(blockRoot, payloadStatus);
1212
+ }
1237
1213
 
1238
- return {
1239
- // the last node is the previous finalized one, it's there to check onBlock finalized checkpoint only.
1240
- ancestors: ancestors.slice(0, ancestors.length - 1),
1241
- nonAncestors,
1242
- };
1214
+ /**
1215
+ * Same to getAllAncestorAndNonAncestorBlocks with default variant of ${blockRoot} to start with
1216
+ */
1217
+ getAllAncestorAndNonAncestorBlocksDefaultStatus(blockRoot: RootHex): {
1218
+ ancestors: ProtoBlock[];
1219
+ nonAncestors: ProtoBlock[];
1220
+ } {
1221
+ const defaultStatus = this.protoArray.getDefaultVariant(blockRoot);
1222
+ if (defaultStatus === undefined) {
1223
+ throw new ForkChoiceError({
1224
+ code: ForkChoiceErrorCode.MISSING_PROTO_ARRAY_BLOCK,
1225
+ root: blockRoot,
1226
+ });
1227
+ }
1228
+ return this.getAllAncestorAndNonAncestorBlocks(blockRoot, defaultStatus);
1243
1229
  }
1244
1230
 
1245
1231
  getCanonicalBlockByRoot(blockRoot: Root): ProtoBlock | null {
@@ -1311,6 +1297,17 @@ export class ForkChoice implements IForkChoice {
1311
1297
  }
1312
1298
  }
1313
1299
 
1300
+ forwardIterateDescendantsDefaultStatus(blockRoot: RootHex): IterableIterator<ProtoBlock> {
1301
+ const defaultStatus = this.protoArray.getDefaultVariant(blockRoot);
1302
+ if (defaultStatus === undefined) {
1303
+ throw new ForkChoiceError({
1304
+ code: ForkChoiceErrorCode.MISSING_PROTO_ARRAY_BLOCK,
1305
+ root: blockRoot,
1306
+ });
1307
+ }
1308
+ return this.forwardIterateDescendants(blockRoot, defaultStatus);
1309
+ }
1310
+
1314
1311
  /** Very expensive function, iterates the entire ProtoArray. TODO: Is this function even necessary? */
1315
1312
  getBlockSummariesByParentRoot(parentRoot: RootHex): ProtoBlock[] {
1316
1313
  return this.protoArray.nodes.filter((node) => node.parentRoot === parentRoot);
@@ -1497,12 +1494,12 @@ export class ForkChoice implements IForkChoice {
1497
1494
  *
1498
1495
  * **`on_tick`**
1499
1496
  * May need the justified balances of:
1500
- * - unrealizedJustified: Already available in `CheckpointWithPayloadAndBalance`
1497
+ * - unrealizedJustified: Already available in `CheckpointWithBalance`
1501
1498
  * Since this balances are already available the getter is just `() => balances`, without cache interaction
1502
1499
  */
1503
1500
  private updateCheckpoints(
1504
- justifiedCheckpoint: CheckpointWithPayloadStatus,
1505
- finalizedCheckpoint: CheckpointWithPayloadStatus,
1501
+ justifiedCheckpoint: CheckpointWithHex,
1502
+ finalizedCheckpoint: CheckpointWithHex,
1506
1503
  getJustifiedBalances: () => JustifiedBalances
1507
1504
  ): void {
1508
1505
  // Update justified checkpoint.
@@ -1522,8 +1519,8 @@ export class ForkChoice implements IForkChoice {
1522
1519
  * Update unrealized checkpoints in store if necessary
1523
1520
  */
1524
1521
  private updateUnrealizedCheckpoints(
1525
- unrealizedJustifiedCheckpoint: CheckpointWithPayloadStatus,
1526
- unrealizedFinalizedCheckpoint: CheckpointWithPayloadStatus,
1522
+ unrealizedJustifiedCheckpoint: CheckpointWithHex,
1523
+ unrealizedFinalizedCheckpoint: CheckpointWithHex,
1527
1524
  getJustifiedBalances: () => JustifiedBalances
1528
1525
  ): void {
1529
1526
  if (unrealizedJustifiedCheckpoint.epoch > this.fcStore.unrealizedJustified.checkpoint.epoch) {
@@ -1898,38 +1895,3 @@ export function getCommitteeFraction(
1898
1895
  const committeeWeight = Math.floor(justifiedTotalActiveBalanceByIncrement / config.slotsPerEpoch);
1899
1896
  return Math.floor((committeeWeight * config.committeePercent) / 100);
1900
1897
  }
1901
-
1902
- /**
1903
- * Get the payload status for a checkpoint.
1904
- *
1905
- * Pre-Gloas: always FULL (payload embedded in block)
1906
- * Gloas: determined by state.execution_payload_availability
1907
- *
1908
- * @param config - The chain fork config to determine fork at checkpoint slot
1909
- * @param state - The state to check execution_payload_availability
1910
- * @param checkpointEpoch - The epoch of the checkpoint
1911
- */
1912
- export function getCheckpointPayloadStatus(
1913
- config: ChainForkConfig,
1914
- state: IBeaconStateView,
1915
- checkpointEpoch: number
1916
- ): PayloadStatus {
1917
- // Compute checkpoint slot first to determine the correct fork
1918
- const checkpointSlot = computeStartSlotAtEpoch(checkpointEpoch);
1919
- const fork = config.getForkSeq(checkpointSlot);
1920
-
1921
- // Pre-Gloas: always FULL
1922
- if (fork < ForkSeq.gloas) {
1923
- return PayloadStatus.FULL;
1924
- }
1925
- if (!isStatePostGloas(state)) {
1926
- throw new Error(`Expected gloas+ state for checkpoint payload status, got fork=${state.forkName}`);
1927
- }
1928
-
1929
- // For Gloas, check state.execution_payload_availability
1930
- // - For non-skipped slots at checkpoint: returns false (EMPTY) since payload hasn't arrived yet
1931
- // - For skipped slots at checkpoint: returns the actual availability status from state
1932
- const payloadAvailable = state.executionPayloadAvailability.get(checkpointSlot % SLOTS_PER_HISTORICAL_ROOT);
1933
-
1934
- return payloadAvailable ? PayloadStatus.FULL : PayloadStatus.EMPTY;
1935
- }