@lodestar/beacon-node 1.36.0-dev.6f46a8bd20 → 1.36.0-dev.88fbac9fcf

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 (89) hide show
  1. package/lib/api/impl/lodestar/index.d.ts +5 -0
  2. package/lib/api/impl/lodestar/index.d.ts.map +1 -1
  3. package/lib/api/impl/lodestar/index.js +29 -1
  4. package/lib/api/impl/lodestar/index.js.map +1 -1
  5. package/lib/api/impl/node/utils.js +1 -1
  6. package/lib/api/impl/node/utils.js.map +1 -1
  7. package/lib/chain/chain.d.ts +5 -2
  8. package/lib/chain/chain.d.ts.map +1 -1
  9. package/lib/chain/chain.js +32 -16
  10. package/lib/chain/chain.js.map +1 -1
  11. package/lib/chain/forkChoice/index.d.ts +9 -1
  12. package/lib/chain/forkChoice/index.d.ts.map +1 -1
  13. package/lib/chain/forkChoice/index.js +109 -4
  14. package/lib/chain/forkChoice/index.js.map +1 -1
  15. package/lib/chain/interface.d.ts +2 -0
  16. package/lib/chain/interface.d.ts.map +1 -1
  17. package/lib/chain/options.d.ts +0 -2
  18. package/lib/chain/options.d.ts.map +1 -1
  19. package/lib/chain/options.js +0 -1
  20. package/lib/chain/options.js.map +1 -1
  21. package/lib/chain/stateCache/datastore/db.d.ts +12 -0
  22. package/lib/chain/stateCache/datastore/db.d.ts.map +1 -1
  23. package/lib/chain/stateCache/datastore/db.js +70 -0
  24. package/lib/chain/stateCache/datastore/db.js.map +1 -1
  25. package/lib/chain/stateCache/datastore/file.d.ts +1 -0
  26. package/lib/chain/stateCache/datastore/file.d.ts.map +1 -1
  27. package/lib/chain/stateCache/datastore/file.js +7 -0
  28. package/lib/chain/stateCache/datastore/file.js.map +1 -1
  29. package/lib/chain/stateCache/datastore/types.d.ts +1 -0
  30. package/lib/chain/stateCache/datastore/types.d.ts.map +1 -1
  31. package/lib/index.d.ts +2 -0
  32. package/lib/index.d.ts.map +1 -1
  33. package/lib/index.js +2 -0
  34. package/lib/index.js.map +1 -1
  35. package/lib/network/core/networkCore.d.ts.map +1 -1
  36. package/lib/network/core/networkCore.js +5 -1
  37. package/lib/network/core/networkCore.js.map +1 -1
  38. package/lib/network/gossip/encoding.js +1 -1
  39. package/lib/network/gossip/encoding.js.map +1 -1
  40. package/lib/network/gossip/snappy_bun.d.ts +3 -0
  41. package/lib/network/gossip/snappy_bun.d.ts.map +1 -0
  42. package/lib/network/gossip/snappy_bun.js +3 -0
  43. package/lib/network/gossip/snappy_bun.js.map +1 -0
  44. package/lib/network/metadata.d.ts +1 -1
  45. package/lib/network/metadata.d.ts.map +1 -1
  46. package/lib/network/metadata.js +1 -0
  47. package/lib/network/metadata.js.map +1 -1
  48. package/lib/network/options.d.ts +0 -1
  49. package/lib/network/options.d.ts.map +1 -1
  50. package/lib/network/options.js.map +1 -1
  51. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +1 -1
  52. package/lib/network/reqresp/handlers/beaconBlocksByRange.js +3 -1
  53. package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
  54. package/lib/node/nodejs.d.ts +2 -1
  55. package/lib/node/nodejs.d.ts.map +1 -1
  56. package/lib/node/nodejs.js +2 -1
  57. package/lib/node/nodejs.js.map +1 -1
  58. package/lib/sync/range/range.d.ts.map +1 -1
  59. package/lib/sync/range/range.js +2 -1
  60. package/lib/sync/range/range.js.map +1 -1
  61. package/lib/sync/utils/remoteSyncType.d.ts +2 -1
  62. package/lib/sync/utils/remoteSyncType.d.ts.map +1 -1
  63. package/lib/sync/utils/remoteSyncType.js +19 -4
  64. package/lib/sync/utils/remoteSyncType.js.map +1 -1
  65. package/lib/util/sszBytes.d.ts +2 -0
  66. package/lib/util/sszBytes.d.ts.map +1 -1
  67. package/lib/util/sszBytes.js +25 -0
  68. package/lib/util/sszBytes.js.map +1 -1
  69. package/package.json +19 -14
  70. package/src/api/impl/lodestar/index.ts +36 -1
  71. package/src/api/impl/node/utils.ts +1 -1
  72. package/src/chain/chain.ts +48 -23
  73. package/src/chain/forkChoice/index.ts +178 -2
  74. package/src/chain/interface.ts +2 -0
  75. package/src/chain/options.ts +0 -3
  76. package/src/chain/stateCache/datastore/db.ts +89 -1
  77. package/src/chain/stateCache/datastore/file.ts +8 -0
  78. package/src/chain/stateCache/datastore/types.ts +1 -0
  79. package/src/index.ts +2 -0
  80. package/src/network/core/networkCore.ts +5 -1
  81. package/src/network/gossip/encoding.ts +1 -1
  82. package/src/network/gossip/snappy_bun.ts +2 -0
  83. package/src/network/metadata.ts +3 -1
  84. package/src/network/options.ts +0 -1
  85. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +3 -1
  86. package/src/node/nodejs.ts +3 -0
  87. package/src/sync/range/range.ts +2 -1
  88. package/src/sync/utils/remoteSyncType.ts +23 -4
  89. package/src/util/sszBytes.ts +30 -0
@@ -1,5 +1,7 @@
1
1
  import { ExecutionStatus, ForkChoice, ForkChoiceStore, ProtoArray, } from "@lodestar/fork-choice";
2
- import { DataAvailabilityStatus, computeAnchorCheckpoint, getEffectiveBalanceIncrementsZeroInactive, isExecutionStateType, isMergeTransitionComplete, } from "@lodestar/state-transition";
2
+ import { ZERO_HASH_HEX } from "@lodestar/params";
3
+ import { DataAvailabilityStatus, computeAnchorCheckpoint, computeEpochAtSlot, computeStartSlotAtEpoch, getBlockRootAtSlot, getEffectiveBalanceIncrementsZeroInactive, isExecutionStateType, isMergeTransitionComplete, } from "@lodestar/state-transition";
4
+ import { ssz } from "@lodestar/types";
3
5
  import { toRootHex } from "@lodestar/utils";
4
6
  import { GENESIS_SLOT } from "../../constants/index.js";
5
7
  import { ChainEvent } from "../emitter.js";
@@ -11,7 +13,15 @@ export var ForkchoiceCaller;
11
13
  /**
12
14
  * Fork Choice extended with a ChainEventEmitter
13
15
  */
14
- export function initializeForkChoice(config, emitter, currentSlot, state, opts, justifiedBalancesGetter, metrics, logger) {
16
+ export function initializeForkChoice(config, emitter, currentSlot, state, isFinalizedState, opts, justifiedBalancesGetter, metrics, logger) {
17
+ return isFinalizedState
18
+ ? initializeForkChoiceFromFinalizedState(config, emitter, currentSlot, state, opts, justifiedBalancesGetter, metrics, logger)
19
+ : initializeForkChoiceFromUnfinalizedState(config, emitter, currentSlot, state, opts, justifiedBalancesGetter, metrics, logger);
20
+ }
21
+ /**
22
+ * Initialize forkchoice from a finalized state.
23
+ */
24
+ export function initializeForkChoiceFromFinalizedState(config, emitter, currentSlot, state, opts, justifiedBalancesGetter, metrics, logger) {
15
25
  const { blockHeader, checkpoint } = computeAnchorCheckpoint(config, state);
16
26
  const finalizedCheckpoint = { ...checkpoint };
17
27
  const justifiedCheckpoint = {
@@ -34,7 +44,7 @@ export function initializeForkChoice(config, emitter, currentSlot, state, opts,
34
44
  parentRoot: toRootHex(blockHeader.parentRoot),
35
45
  stateRoot: toRootHex(blockHeader.stateRoot),
36
46
  blockRoot: toRootHex(checkpoint.root),
37
- timeliness: true, // Optimisitcally assume is timely
47
+ timeliness: true, // Optimistically assume is timely
38
48
  justifiedEpoch: justifiedCheckpoint.epoch,
39
49
  justifiedRoot: toRootHex(justifiedCheckpoint.root),
40
50
  finalizedEpoch: finalizedCheckpoint.epoch,
@@ -51,6 +61,101 @@ export function initializeForkChoice(config, emitter, currentSlot, state, opts,
51
61
  }
52
62
  : { executionPayloadBlockHash: null, executionStatus: ExecutionStatus.PreMerge }),
53
63
  dataAvailabilityStatus: DataAvailabilityStatus.PreData,
54
- }, currentSlot), metrics, opts, logger);
64
+ }, currentSlot), state.validators.length, metrics, opts, logger);
65
+ }
66
+ /**
67
+ * Initialize forkchoice from an unfinalized state.
68
+ */
69
+ export function initializeForkChoiceFromUnfinalizedState(config, emitter, currentSlot, unfinalizedState, opts, justifiedBalancesGetter, metrics, logger) {
70
+ const { blockHeader } = computeAnchorCheckpoint(config, unfinalizedState);
71
+ const finalizedCheckpoint = unfinalizedState.finalizedCheckpoint.toValue();
72
+ const justifiedCheckpoint = unfinalizedState.currentJustifiedCheckpoint.toValue();
73
+ const headRoot = toRootHex(ssz.phase0.BeaconBlockHeader.hashTreeRoot(blockHeader));
74
+ const logCtx = {
75
+ currentSlot: currentSlot,
76
+ stateSlot: unfinalizedState.slot,
77
+ headSlot: blockHeader.slot,
78
+ headRoot: headRoot,
79
+ finalizedEpoch: finalizedCheckpoint.epoch,
80
+ finalizedRoot: toRootHex(finalizedCheckpoint.root),
81
+ justifiedEpoch: justifiedCheckpoint.epoch,
82
+ justifiedRoot: toRootHex(justifiedCheckpoint.root),
83
+ };
84
+ logger?.warn("Initializing fork choice from unfinalized state", logCtx);
85
+ // this is not the justified state, but there is no other ways to get justified balances
86
+ const justifiedBalances = getEffectiveBalanceIncrementsZeroInactive(unfinalizedState);
87
+ const store = new ForkChoiceStore(currentSlot, justifiedCheckpoint, finalizedCheckpoint, justifiedBalances, justifiedBalancesGetter, {
88
+ onJustified: (cp) => emitter.emit(ChainEvent.forkChoiceJustified, cp),
89
+ onFinalized: (cp) => emitter.emit(ChainEvent.forkChoiceFinalized, cp),
90
+ });
91
+ // this is the same to the finalized state
92
+ const headBlock = {
93
+ slot: blockHeader.slot,
94
+ parentRoot: toRootHex(blockHeader.parentRoot),
95
+ stateRoot: toRootHex(blockHeader.stateRoot),
96
+ blockRoot: headRoot,
97
+ targetRoot: headRoot,
98
+ timeliness: true, // Optimistically assume is timely
99
+ justifiedEpoch: justifiedCheckpoint.epoch,
100
+ justifiedRoot: toRootHex(justifiedCheckpoint.root),
101
+ finalizedEpoch: finalizedCheckpoint.epoch,
102
+ finalizedRoot: toRootHex(finalizedCheckpoint.root),
103
+ unrealizedJustifiedEpoch: justifiedCheckpoint.epoch,
104
+ unrealizedJustifiedRoot: toRootHex(justifiedCheckpoint.root),
105
+ unrealizedFinalizedEpoch: finalizedCheckpoint.epoch,
106
+ unrealizedFinalizedRoot: toRootHex(finalizedCheckpoint.root),
107
+ ...(isExecutionStateType(unfinalizedState) && isMergeTransitionComplete(unfinalizedState)
108
+ ? {
109
+ executionPayloadBlockHash: toRootHex(unfinalizedState.latestExecutionPayloadHeader.blockHash),
110
+ executionPayloadNumber: unfinalizedState.latestExecutionPayloadHeader.blockNumber,
111
+ executionStatus: blockHeader.slot === GENESIS_SLOT ? ExecutionStatus.Valid : ExecutionStatus.Syncing,
112
+ }
113
+ : { executionPayloadBlockHash: null, executionStatus: ExecutionStatus.PreMerge }),
114
+ dataAvailabilityStatus: DataAvailabilityStatus.PreData,
115
+ };
116
+ const parentSlot = blockHeader.slot - 1;
117
+ const parentEpoch = computeEpochAtSlot(parentSlot);
118
+ // parent of head block
119
+ const parentBlock = {
120
+ ...headBlock,
121
+ slot: parentSlot,
122
+ // link this to the dummy justified block
123
+ parentRoot: toRootHex(justifiedCheckpoint.root),
124
+ // dummy data, we're not able to regen state before headBlock
125
+ stateRoot: ZERO_HASH_HEX,
126
+ blockRoot: headBlock.parentRoot,
127
+ targetRoot: toRootHex(getBlockRootAtSlot(unfinalizedState, computeStartSlotAtEpoch(parentEpoch))),
128
+ };
129
+ const justifiedBlock = {
130
+ ...headBlock,
131
+ slot: computeStartSlotAtEpoch(justifiedCheckpoint.epoch),
132
+ // link this to the finalized root so that getAncestors can find the finalized block
133
+ parentRoot: toRootHex(finalizedCheckpoint.root),
134
+ // dummy data, we're not able to regen state before headBlock
135
+ stateRoot: ZERO_HASH_HEX,
136
+ blockRoot: toRootHex(justifiedCheckpoint.root),
137
+ // same to blockRoot
138
+ targetRoot: toRootHex(justifiedCheckpoint.root),
139
+ };
140
+ const finalizedBlock = {
141
+ ...headBlock,
142
+ slot: computeStartSlotAtEpoch(finalizedCheckpoint.epoch),
143
+ // we don't care parent of finalized block
144
+ parentRoot: ZERO_HASH_HEX,
145
+ // dummy data, we're not able to regen state before headBlock
146
+ stateRoot: ZERO_HASH_HEX,
147
+ blockRoot: toRootHex(finalizedCheckpoint.root),
148
+ // same to blockRoot
149
+ targetRoot: toRootHex(finalizedCheckpoint.root),
150
+ };
151
+ const protoArray = ProtoArray.initialize(finalizedBlock, currentSlot);
152
+ protoArray.onBlock(justifiedBlock, currentSlot);
153
+ protoArray.onBlock(parentBlock, currentSlot);
154
+ protoArray.onBlock(headBlock, currentSlot);
155
+ logger?.verbose("Initialized protoArray successfully", { ...logCtx, length: protoArray.length() });
156
+ // forkchoiceConstructor is only used for some test cases
157
+ // production code use ForkChoice constructor directly
158
+ const forkchoiceConstructor = opts.forkchoiceConstructor ?? ForkChoice;
159
+ return new forkchoiceConstructor(config, store, protoArray, unfinalizedState.validators.length, metrics, opts, logger);
55
160
  }
56
161
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chain/forkChoice/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chain/forkChoice/index.ts"],"names":[],"mappings":"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"}
@@ -133,6 +133,8 @@ export interface IBeaconChain {
133
133
  executionOptimistic: boolean;
134
134
  finalized: boolean;
135
135
  } | null>;
136
+ /** Return serialized bytes of a persisted checkpoint state */
137
+ getPersistedCheckpointState(checkpoint?: phase0.Checkpoint): Promise<Uint8Array | null>;
136
138
  /** Returns a cached state by checkpoint */
137
139
  getStateByCheckpoint(checkpoint: CheckpointWithHex): {
138
140
  state: BeaconStateAllForks;
@@ -1 +1 @@
1
- {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/chain/interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/chain/interface.ts"],"names":[],"mappings":"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"}
@@ -25,8 +25,6 @@ export type IChainOptions = BlockProcessOpts & PoolOpts & SeenCacheOpts & ForkCh
25
25
  maxCachedBlobSidecars?: number;
26
26
  /** Max number of produced block roots (blinded or full) cached for broadcast validations */
27
27
  maxCachedProducedRoots?: number;
28
- /** Subscribe to and custody all data column sidecar subnets */
29
- supernode?: boolean;
30
28
  initialCustodyGroupCount?: number;
31
29
  broadcastValidationStrictness?: string;
32
30
  minSameMessageSignatureSetsToBatch: number;
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/chain/options.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,oBAAoB,EAAC,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAC,WAAW,EAAE,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAC,qBAAqB,EAAC,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAA2B,uBAAuB,EAAC,MAAM,qCAAqC,CAAC;AACtG,OAAO,EAEL,kCAAkC,EACnC,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAC,oBAAoB,EAAC,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAC,WAAW,EAAE,oBAAoB,EAAC,CAAC;AAE3C,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAC1C,QAAQ,GACR,aAAa,GACb,cAAc,GACd,gBAAgB,GAChB,uBAAuB,GACvB,kCAAkC,GAClC,kBAAkB,GAClB,oBAAoB,GACpB,qBAAqB,GAAG;IACtB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,qBAAqB,EAAE,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,gEAAgE;IAChE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,4FAA4F;IAC5F,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,+DAA+D;IAC/D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,kCAAkC,EAAE,MAAM,CAAC;IAC3C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,8BAA8B,CAAC,EAAE,OAAO,CAAC;CAC1C,CAAC;AAEJ,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;OAEG;IACH,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC;;OAEG;IACH,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAC3C,sCAAsC;IACtC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,sCAAsC;IACtC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2DAA2D;IAC3D,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,0DAA0D;IAC1D,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB;;OAEG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B;;OAEG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,aAiCjC,CAAC"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/chain/options.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,oBAAoB,EAAC,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAC,WAAW,EAAE,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAC,qBAAqB,EAAC,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAA2B,uBAAuB,EAAC,MAAM,qCAAqC,CAAC;AACtG,OAAO,EAEL,kCAAkC,EACnC,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAC,oBAAoB,EAAC,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAC,WAAW,EAAE,oBAAoB,EAAC,CAAC;AAE3C,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAC1C,QAAQ,GACR,aAAa,GACb,cAAc,GACd,gBAAgB,GAChB,uBAAuB,GACvB,kCAAkC,GAClC,kBAAkB,GAClB,oBAAoB,GACpB,qBAAqB,GAAG;IACtB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,qBAAqB,EAAE,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,gEAAgE;IAChE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,4FAA4F;IAC5F,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,kCAAkC,EAAE,MAAM,CAAC;IAC3C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,8BAA8B,CAAC,EAAE,OAAO,CAAC;CAC1C,CAAC;AAEJ,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;OAEG;IACH,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC;;OAEG;IACH,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAC3C,sCAAsC;IACtC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,sCAAsC;IACtC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2DAA2D;IAC3D,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,0DAA0D;IAC1D,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB;;OAEG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B;;OAEG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,aAgCjC,CAAC"}
@@ -21,7 +21,6 @@ export const defaultChainOptions = {
21
21
  archiveMode: DEFAULT_ARCHIVE_MODE,
22
22
  pruneHistory: false,
23
23
  emitPayloadAttributes: false,
24
- supernode: false,
25
24
  // for gossip block validation, it's unlikely we see a reorg with 32 slots
26
25
  // for attestation validation, having this value ensures we don't have to regen states most of the time
27
26
  maxSkipSlots: 32,
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/chain/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mCAAmC,EAAC,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAC,cAAc,IAAI,uBAAuB,EAAC,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAC,oBAAoB,EAAC,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAC,WAAW,EAAmB,MAAM,6BAA6B,CAAC;AAI1E,OAAO,EAAC,wBAAwB,EAA0B,MAAM,qCAAqC,CAAC;AACtG,OAAO,EACL,qCAAqC,GAEtC,MAAM,4CAA4C,CAAC;AAGpD,OAAO,EAAC,WAAW,EAAE,oBAAoB,EAAC,CAAC;AA0F3C,MAAM,CAAC,MAAM,mBAAmB,GAAkB;IAChD,sBAAsB,EAAE,KAAK;IAC7B,uBAAuB,EAAE,KAAK;IAC9B,iBAAiB,EAAE,EAAE;IACrB,qBAAqB,EAAE,KAAK;IAC5B,aAAa,EAAE,IAAI;IACnB,kBAAkB,EAAE,IAAI;IACxB,iBAAiB,EAAE,IAAI;IACvB,+BAA+B,EAAE,mCAAmC;IACpE,qBAAqB,EAAE,uBAAuB,CAAC,qBAAqB;IACpE,oBAAoB,EAAE,KAAK;IAC3B,gCAAgC,EAAE,KAAK;IACvC,0BAA0B,EAAE,IAAI;IAChC,WAAW,EAAE,oBAAoB;IACjC,YAAY,EAAE,KAAK;IACnB,qBAAqB,EAAE,KAAK;IAC5B,SAAS,EAAE,KAAK;IAChB,0EAA0E;IAC1E,uGAAuG;IACvG,YAAY,EAAE,EAAE;IAChB,6BAA6B,EAAE,MAAM;IACrC,qEAAqE;IACrE,gGAAgG;IAChG,wGAAwG;IACxG,kCAAkC,EAAE,CAAC;IACrC,iBAAiB,EAAE,IAAI;IACvB,4DAA4D;IAC5D,qEAAqE;IACrE,uFAAuF;IACvF,wDAAwD;IACxD,8BAA8B,EAAE,IAAI;IACpC,cAAc,EAAE,wBAAwB;IACxC,wBAAwB,EAAE,qCAAqC;CAChE,CAAC"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/chain/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mCAAmC,EAAC,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAC,cAAc,IAAI,uBAAuB,EAAC,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAC,oBAAoB,EAAC,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAC,WAAW,EAAmB,MAAM,6BAA6B,CAAC;AAI1E,OAAO,EAAC,wBAAwB,EAA0B,MAAM,qCAAqC,CAAC;AACtG,OAAO,EACL,qCAAqC,GAEtC,MAAM,4CAA4C,CAAC;AAGpD,OAAO,EAAC,WAAW,EAAE,oBAAoB,EAAC,CAAC;AAwF3C,MAAM,CAAC,MAAM,mBAAmB,GAAkB;IAChD,sBAAsB,EAAE,KAAK;IAC7B,uBAAuB,EAAE,KAAK;IAC9B,iBAAiB,EAAE,EAAE;IACrB,qBAAqB,EAAE,KAAK;IAC5B,aAAa,EAAE,IAAI;IACnB,kBAAkB,EAAE,IAAI;IACxB,iBAAiB,EAAE,IAAI;IACvB,+BAA+B,EAAE,mCAAmC;IACpE,qBAAqB,EAAE,uBAAuB,CAAC,qBAAqB;IACpE,oBAAoB,EAAE,KAAK;IAC3B,gCAAgC,EAAE,KAAK;IACvC,0BAA0B,EAAE,IAAI;IAChC,WAAW,EAAE,oBAAoB;IACjC,YAAY,EAAE,KAAK;IACnB,qBAAqB,EAAE,KAAK;IAC5B,0EAA0E;IAC1E,uGAAuG;IACvG,YAAY,EAAE,EAAE;IAChB,6BAA6B,EAAE,MAAM;IACrC,qEAAqE;IACrE,gGAAgG;IAChG,wGAAwG;IACxG,kCAAkC,EAAE,CAAC;IACrC,iBAAiB,EAAE,IAAI;IACvB,4DAA4D;IAC5D,qEAAqE;IACrE,uFAAuF;IACvF,wDAAwD;IACxD,8BAA8B,EAAE,IAAI;IACpC,cAAc,EAAE,wBAAwB;IACxC,wBAAwB,EAAE,qCAAqC;CAChE,CAAC"}
@@ -10,8 +10,20 @@ export declare class DbCPStateDatastore implements CPStateDatastore {
10
10
  write(cpKey: phase0.Checkpoint, stateBytes: Uint8Array): Promise<DatastoreKey>;
11
11
  remove(serializedCheckpoint: DatastoreKey): Promise<void>;
12
12
  read(serializedCheckpoint: DatastoreKey): Promise<Uint8Array | null>;
13
+ readLatestSafe(): Promise<Uint8Array | null>;
13
14
  readKeys(): Promise<DatastoreKey[]>;
14
15
  }
15
16
  export declare function datastoreKeyToCheckpoint(key: DatastoreKey): phase0.Checkpoint;
16
17
  export declare function checkpointToDatastoreKey(cp: phase0.Checkpoint): DatastoreKey;
18
+ /**
19
+ * Get the latest safe checkpoint state the node can use to boot from
20
+ * - it should be the checkpoint state that's unique in its epoch
21
+ * - its last processed block slot should be at epoch boundary or last slot of previous epoch
22
+ * - state slot should be at epoch boundary
23
+ * - state slot should be equal to epoch * SLOTS_PER_EPOCH
24
+ *
25
+ * return the serialized data of Current Root Checkpoint State (CRCS) or Previous Root Checkpoint State (PRCS)
26
+ *
27
+ */
28
+ export declare function getLatestSafeDatastoreKey(allKeys: DatastoreKey[], readFn: (key: DatastoreKey) => Promise<Uint8Array | null>): Promise<Uint8Array | null>;
17
29
  //# sourceMappingURL=db.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../../src/chain/stateCache/datastore/db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAM,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,MAAM,YAAY,CAAC;AAE1D;;GAEG;AACH,qBAAa,kBAAmB,YAAW,gBAAgB;IAC7C,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,SAAS;IAEpC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;IAM9E,MAAM,CAAC,oBAAoB,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD,IAAI,CAAC,oBAAoB,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAIpE,QAAQ,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;CAG1C;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAAC,UAAU,CAE7E;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,CAAC,UAAU,GAAG,YAAY,CAE5E"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../../src/chain/stateCache/datastore/db.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,MAAM,EAAM,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;AAKnD,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,MAAM,YAAY,CAAC;AAE1D;;GAEG;AACH,qBAAa,kBAAmB,YAAW,gBAAgB;IAC7C,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,SAAS;IAEpC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;IAM9E,MAAM,CAAC,oBAAoB,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD,IAAI,CAAC,oBAAoB,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAIpE,cAAc,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAO5C,QAAQ,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;CAG1C;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAAC,UAAU,CAE7E;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,CAAC,UAAU,GAAG,YAAY,CAE5E;AAED;;;;;;;;;GASG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,YAAY,EAAE,EACvB,MAAM,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,GACxD,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CA4D5B"}
@@ -1,4 +1,7 @@
1
+ import { SLOTS_PER_EPOCH } from "@lodestar/params";
1
2
  import { ssz } from "@lodestar/types";
3
+ import { MapDef } from "@lodestar/utils";
4
+ import { getLastProcessedSlotFromBeaconStateSerialized, getSlotFromBeaconStateSerialized, } from "../../../util/sszBytes.js";
2
5
  /**
3
6
  * Implementation of CPStateDatastore using db.
4
7
  */
@@ -18,6 +21,12 @@ export class DbCPStateDatastore {
18
21
  async read(serializedCheckpoint) {
19
22
  return this.db.checkpointState.getBinary(serializedCheckpoint);
20
23
  }
24
+ async readLatestSafe() {
25
+ const allKeys = await this.readKeys();
26
+ if (allKeys.length === 0)
27
+ return null;
28
+ return getLatestSafeDatastoreKey(allKeys, this.read.bind(this));
29
+ }
21
30
  async readKeys() {
22
31
  return this.db.checkpointState.keys();
23
32
  }
@@ -28,4 +37,65 @@ export function datastoreKeyToCheckpoint(key) {
28
37
  export function checkpointToDatastoreKey(cp) {
29
38
  return ssz.phase0.Checkpoint.serialize(cp);
30
39
  }
40
+ /**
41
+ * Get the latest safe checkpoint state the node can use to boot from
42
+ * - it should be the checkpoint state that's unique in its epoch
43
+ * - its last processed block slot should be at epoch boundary or last slot of previous epoch
44
+ * - state slot should be at epoch boundary
45
+ * - state slot should be equal to epoch * SLOTS_PER_EPOCH
46
+ *
47
+ * return the serialized data of Current Root Checkpoint State (CRCS) or Previous Root Checkpoint State (PRCS)
48
+ *
49
+ */
50
+ export async function getLatestSafeDatastoreKey(allKeys, readFn) {
51
+ const checkpointsByEpoch = new MapDef(() => []);
52
+ for (const key of allKeys) {
53
+ const cp = datastoreKeyToCheckpoint(key);
54
+ checkpointsByEpoch.getOrDefault(cp.epoch).push(key);
55
+ }
56
+ const dataStoreKeyByEpoch = new Map();
57
+ for (const [epoch, keys] of checkpointsByEpoch.entries()) {
58
+ // only consider epochs with a single checkpoint to avoid ambiguity from forks
59
+ if (keys.length === 1) {
60
+ dataStoreKeyByEpoch.set(epoch, keys[0]);
61
+ }
62
+ }
63
+ const epochsDesc = Array.from(dataStoreKeyByEpoch.keys()).sort((a, b) => b - a);
64
+ for (const epoch of epochsDesc) {
65
+ const datastoreKey = dataStoreKeyByEpoch.get(epoch);
66
+ if (datastoreKey == null) {
67
+ // should not happen
68
+ continue;
69
+ }
70
+ const stateBytes = await readFn(datastoreKey);
71
+ if (stateBytes == null) {
72
+ // should not happen
73
+ continue;
74
+ }
75
+ const lastProcessedSlot = getLastProcessedSlotFromBeaconStateSerialized(stateBytes);
76
+ if (lastProcessedSlot == null) {
77
+ // cannot extract last processed slot from serialized state, skip
78
+ continue;
79
+ }
80
+ const stateSlot = getSlotFromBeaconStateSerialized(stateBytes);
81
+ if (stateSlot == null) {
82
+ // cannot extract slot from serialized state, skip
83
+ continue;
84
+ }
85
+ if (lastProcessedSlot !== stateSlot && lastProcessedSlot !== stateSlot - 1) {
86
+ // not CRCS or PRCS, skip
87
+ continue;
88
+ }
89
+ if (stateSlot % SLOTS_PER_EPOCH !== 0) {
90
+ // not at epoch boundary, skip
91
+ continue;
92
+ }
93
+ if (stateSlot !== SLOTS_PER_EPOCH * epoch) {
94
+ // should not happen after above checks, but just to be safe
95
+ continue;
96
+ }
97
+ return stateBytes;
98
+ }
99
+ return null;
100
+ }
31
101
  //# sourceMappingURL=db.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../../../../src/chain/stateCache/datastore/db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAI5C;;GAEG;AACH,MAAM,OAAO,kBAAkB;IACA;IAA7B,YAA6B,EAAa;QAAb,OAAE,GAAF,EAAE,CAAW;IAAG,CAAC;IAE9C,KAAK,CAAC,KAAK,CAAC,KAAwB,EAAE,UAAsB;QAC1D,MAAM,oBAAoB,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;QAC1E,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,oBAAkC;QAC7C,MAAM,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,oBAAkC;QAC3C,OAAO,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IACxC,CAAC;CACF;AAED,MAAM,UAAU,wBAAwB,CAAC,GAAiB;IACxD,OAAO,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,EAAqB;IAC5D,OAAO,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../../../src/chain/stateCache/datastore/db.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ export declare class FileCPStateDatastore implements CPStateDatastore {
10
10
  write(cpKey: phase0.Checkpoint, stateBytes: Uint8Array): Promise<DatastoreKey>;
11
11
  remove(serializedCheckpoint: DatastoreKey): Promise<void>;
12
12
  read(serializedCheckpoint: DatastoreKey): Promise<Uint8Array | null>;
13
+ readLatestSafe(): Promise<Uint8Array | null>;
13
14
  readKeys(): Promise<DatastoreKey[]>;
14
15
  }
15
16
  //# sourceMappingURL=file.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../../src/chain/stateCache/datastore/file.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAM,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,MAAM,YAAY,CAAC;AAK1D;;GAEG;AACH,qBAAa,oBAAqB,YAAW,gBAAgB;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,OAAO,EAAE,MAAM;IAMrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQrB,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;IAO9E,MAAM,CAAC,oBAAoB,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzD,IAAI,CAAC,oBAAoB,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAKpE,QAAQ,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;CAM1C"}
1
+ {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../../src/chain/stateCache/datastore/file.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAM,MAAM,iBAAiB,CAAC;AAI5C,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,MAAM,YAAY,CAAC;AAK1D;;GAEG;AACH,qBAAa,oBAAqB,YAAW,gBAAgB;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,OAAO,EAAE,MAAM;IAMrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQrB,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;IAO9E,MAAM,CAAC,oBAAoB,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzD,IAAI,CAAC,oBAAoB,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAKpE,cAAc,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAO5C,QAAQ,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;CAM1C"}
@@ -2,6 +2,7 @@ import path from "node:path";
2
2
  import { ssz } from "@lodestar/types";
3
3
  import { fromHex, toHex } from "@lodestar/utils";
4
4
  import { ensureDir, readFile, readFileNames, removeFile, writeIfNotExist } from "../../../util/file.js";
5
+ import { getLatestSafeDatastoreKey } from "./db.js";
5
6
  const CHECKPOINT_STATES_FOLDER = "checkpoint_states";
6
7
  const CHECKPOINT_FILE_NAME_LENGTH = 82;
7
8
  /**
@@ -36,6 +37,12 @@ export class FileCPStateDatastore {
36
37
  const filePath = path.join(this.folderPath, toHex(serializedCheckpoint));
37
38
  return readFile(filePath);
38
39
  }
40
+ async readLatestSafe() {
41
+ const allKeys = await this.readKeys();
42
+ if (allKeys.length === 0)
43
+ return null;
44
+ return getLatestSafeDatastoreKey(allKeys, this.read.bind(this));
45
+ }
39
46
  async readKeys() {
40
47
  const fileNames = await readFileNames(this.folderPath);
41
48
  return fileNames
@@ -1 +1 @@
1
- {"version":3,"file":"file.js","sourceRoot":"","sources":["../../../../src/chain/stateCache/datastore/file.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAS,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,OAAO,EAAE,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAGtG,MAAM,wBAAwB,GAAG,mBAAmB,CAAC;AACrD,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAEvC;;GAEG;AACH,MAAM,OAAO,oBAAoB;IACd,UAAU,CAAS;IAEpC,YAAY,OAAe;QACzB,kDAAkD;QAClD,+CAA+C;QAC/C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,aAAa;QACf,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAwB,EAAE,UAAsB;QAC1D,MAAM,oBAAoB,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACzE,MAAM,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5C,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,oBAAkC;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACzE,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,oBAAkC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACzE,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvD,OAAO,SAAS;aACb,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,2BAA2B,CAAC;aAClG,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1C,CAAC;CACF"}
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../../../src/chain/stateCache/datastore/file.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAS,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,OAAO,EAAE,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAC,MAAM,uBAAuB,CAAC;AACtG,OAAO,EAAC,yBAAyB,EAAC,MAAM,SAAS,CAAC;AAGlD,MAAM,wBAAwB,GAAG,mBAAmB,CAAC;AACrD,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAEvC;;GAEG;AACH,MAAM,OAAO,oBAAoB;IACd,UAAU,CAAS;IAEpC,YAAY,OAAe;QACzB,kDAAkD;QAClD,+CAA+C;QAC/C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,aAAa;QACf,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAwB,EAAE,UAAsB;QAC1D,MAAM,oBAAoB,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACzE,MAAM,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5C,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,oBAAkC;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACzE,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,oBAAkC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACzE,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEtC,OAAO,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvD,OAAO,SAAS;aACb,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,2BAA2B,CAAC;aAClG,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1C,CAAC;CACF"}
@@ -4,6 +4,7 @@ export interface CPStateDatastore {
4
4
  write: (cpKey: phase0.Checkpoint, stateBytes: Uint8Array) => Promise<DatastoreKey>;
5
5
  remove: (key: DatastoreKey) => Promise<void>;
6
6
  read: (key: DatastoreKey) => Promise<Uint8Array | null>;
7
+ readLatestSafe: () => Promise<Uint8Array | null>;
7
8
  readKeys: () => Promise<DatastoreKey[]>;
8
9
  init?: () => Promise<void>;
9
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/chain/stateCache/datastore/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAGvC,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC;AAGtC,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACnF,MAAM,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACxD,QAAQ,EAAE,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/chain/stateCache/datastore/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAGvC,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC;AAGtC,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACnF,MAAM,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACxD,cAAc,EAAE,MAAM,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACjD,QAAQ,EAAE,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B"}
package/lib/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  export type { RestApiServerMetrics, RestApiServerModules, RestApiServerOpts } from "./api/rest/base.js";
2
2
  export { RestApiServer } from "./api/rest/base.js";
3
3
  export { checkAndPersistAnchorState, initStateFromDb, initStateFromEth1 } from "./chain/index.js";
4
+ export { DbCPStateDatastore } from "./chain/stateCache/datastore/db.js";
5
+ export { FileCPStateDatastore } from "./chain/stateCache/datastore/file.js";
4
6
  export { BeaconDb, type IBeaconDb } from "./db/index.js";
5
7
  export { Eth1Provider, type IEth1Provider } from "./eth1/index.js";
6
8
  export { type HttpMetricsServer, RegistryMetricCreator, collectNodeJSMetrics, getHttpMetricsServer, } from "./metrics/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAC,oBAAoB,EAAE,oBAAoB,EAAE,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AACtG,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,0BAA0B,EAAE,eAAe,EAAE,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAC,QAAQ,EAAE,KAAK,SAAS,EAAC,MAAM,eAAe,CAAC;AACvD,OAAO,EAAC,YAAY,EAAE,KAAK,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAEjE,OAAO,EACL,KAAK,iBAAiB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAC,KAAK,gBAAgB,EAAE,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAC7E,cAAc,iBAAiB,CAAC;AAEhC,OAAO,EAAC,qBAAqB,EAAE,qBAAqB,EAAC,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAC,oBAAoB,EAAE,oBAAoB,EAAE,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AACtG,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,0BAA0B,EAAE,eAAe,EAAE,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAC,kBAAkB,EAAC,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAC,oBAAoB,EAAC,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAC,QAAQ,EAAE,KAAK,SAAS,EAAC,MAAM,eAAe,CAAC;AACvD,OAAO,EAAC,YAAY,EAAE,KAAK,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAEjE,OAAO,EACL,KAAK,iBAAiB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAC,KAAK,gBAAgB,EAAE,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAC7E,cAAc,iBAAiB,CAAC;AAEhC,OAAO,EAAC,qBAAqB,EAAE,qBAAqB,EAAC,MAAM,qBAAqB,CAAC"}
package/lib/index.js CHANGED
@@ -1,6 +1,8 @@
1
1
  // Export generic RestApi server for CLI
2
2
  export { RestApiServer } from "./api/rest/base.js";
3
3
  export { checkAndPersistAnchorState, initStateFromDb, initStateFromEth1 } from "./chain/index.js";
4
+ export { DbCPStateDatastore } from "./chain/stateCache/datastore/db.js";
5
+ export { FileCPStateDatastore } from "./chain/stateCache/datastore/file.js";
4
6
  export { BeaconDb } from "./db/index.js";
5
7
  export { Eth1Provider } from "./eth1/index.js";
6
8
  // Export metrics utilities to de-duplicate validator metrics
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAGxC,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,0BAA0B,EAAE,eAAe,EAAE,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAC,QAAQ,EAAiB,MAAM,eAAe,CAAC;AACvD,OAAO,EAAC,YAAY,EAAqB,MAAM,iBAAiB,CAAC;AACjE,6DAA6D;AAC7D,OAAO,EAEL,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,2DAA2D;AAC3D,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAwB,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAC7E,cAAc,iBAAiB,CAAC;AAChC,oEAAoE;AACpE,OAAO,EAAC,qBAAqB,EAAE,qBAAqB,EAAC,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAGxC,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,0BAA0B,EAAE,eAAe,EAAE,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAC,kBAAkB,EAAC,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAC,oBAAoB,EAAC,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAC,QAAQ,EAAiB,MAAM,eAAe,CAAC;AACvD,OAAO,EAAC,YAAY,EAAqB,MAAM,iBAAiB,CAAC;AACjE,6DAA6D;AAC7D,OAAO,EAEL,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,2DAA2D;AAC3D,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAwB,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAC7E,cAAc,iBAAiB,CAAC;AAChC,oEAAoE;AACpE,OAAO,EAAC,qBAAqB,EAAE,qBAAqB,EAAC,MAAM,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"networkCore.d.ts","sourceRoot":"","sources":["../../../src/network/core/networkCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"networkCore.d.ts","sourceRoot":"","sources":["../../../src/network/core/networkCore.ts"],"names":[],"mappings":"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"}
@@ -416,7 +416,11 @@ export class NetworkCore {
416
416
  // On fork boundary transition
417
417
  if (epoch === nextBoundaryEpoch) {
418
418
  // updateEth2Field() MUST be called with clock epoch, onEpoch event is emitted in response to clock events
419
- this.metadata.updateEth2Field(epoch);
419
+ const { forkDigest } = this.metadata.updateEth2Field(epoch);
420
+ // Update local status to reflect the new fork digest, otherwise we will disconnect peers that re-status us
421
+ // right after the fork transition due to incompatible forks as our fork digest is stale since we only
422
+ // update it once we import a new head or when emitting update status event.
423
+ this.statusCache.update({ ...this.statusCache.get(), forkDigest });
420
424
  this.reqResp.registerProtocolsAtBoundary(nextBoundary);
421
425
  }
422
426
  // After fork boundary transition
@@ -1 +1 @@
1
- {"version":3,"file":"networkCore.js","sourceRoot":"","sources":["../../../src/network/core/networkCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"networkCore.js","sourceRoot":"","sources":["../../../src/network/core/networkCore.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { compress, uncompress } from "snappyjs";
2
1
  import xxhashFactory from "xxhash-wasm";
2
+ import { compress, uncompress } from "#snappy";
3
3
  import { digest } from "@chainsafe/as-sha256";
4
4
  import { ForkName } from "@lodestar/params";
5
5
  import { intToBytes } from "@lodestar/utils";