@lodestar/beacon-node 1.22.0-dev.21afb72525 → 1.22.0-dev.2fcecd61f5

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 (60) hide show
  1. package/lib/chain/archiver/archiveBlocks.js +4 -5
  2. package/lib/chain/archiver/archiveBlocks.js.map +1 -1
  3. package/lib/chain/archiver/archiveStates.d.ts +3 -1
  4. package/lib/chain/archiver/archiveStates.js +6 -3
  5. package/lib/chain/archiver/archiveStates.js.map +1 -1
  6. package/lib/chain/archiver/index.js +1 -1
  7. package/lib/chain/archiver/index.js.map +1 -1
  8. package/lib/chain/blocks/importBlock.js +3 -4
  9. package/lib/chain/blocks/importBlock.js.map +1 -1
  10. package/lib/chain/chain.d.ts +3 -1
  11. package/lib/chain/chain.js +11 -9
  12. package/lib/chain/chain.js.map +1 -1
  13. package/lib/chain/initState.d.ts +3 -3
  14. package/lib/chain/initState.js +7 -6
  15. package/lib/chain/initState.js.map +1 -1
  16. package/lib/chain/interface.d.ts +2 -0
  17. package/lib/chain/interface.js.map +1 -1
  18. package/lib/chain/opPools/opPool.js +3 -4
  19. package/lib/chain/opPools/opPool.js.map +1 -1
  20. package/lib/chain/regen/regen.d.ts +1 -1
  21. package/lib/chain/regen/regen.js +48 -13
  22. package/lib/chain/regen/regen.js.map +1 -1
  23. package/lib/chain/serializeState.d.ts +6 -0
  24. package/lib/chain/serializeState.js +22 -0
  25. package/lib/chain/serializeState.js.map +1 -0
  26. package/lib/chain/stateCache/datastore/file.js +5 -5
  27. package/lib/chain/stateCache/datastore/file.js.map +1 -1
  28. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +1 -2
  29. package/lib/chain/stateCache/persistentCheckpointsCache.js +22 -53
  30. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  31. package/lib/eth1/index.js +2 -2
  32. package/lib/eth1/index.js.map +1 -1
  33. package/lib/eth1/provider/eth1Provider.js +2 -3
  34. package/lib/eth1/provider/eth1Provider.js.map +1 -1
  35. package/lib/eth1/provider/utils.js +4 -5
  36. package/lib/eth1/provider/utils.js.map +1 -1
  37. package/lib/eth1/utils/depositContract.js +5 -5
  38. package/lib/eth1/utils/depositContract.js.map +1 -1
  39. package/lib/eth1/utils/eth1Vote.js +0 -1
  40. package/lib/eth1/utils/eth1Vote.js.map +1 -1
  41. package/lib/execution/engine/types.js +1 -1
  42. package/lib/execution/engine/types.js.map +1 -1
  43. package/lib/index.d.ts +2 -2
  44. package/lib/index.js +2 -2
  45. package/lib/index.js.map +1 -1
  46. package/lib/metrics/metrics/lodestar.d.ts +21 -3
  47. package/lib/metrics/metrics/lodestar.js +29 -4
  48. package/lib/metrics/metrics/lodestar.js.map +1 -1
  49. package/lib/network/core/networkCore.js +2 -3
  50. package/lib/network/core/networkCore.js.map +1 -1
  51. package/lib/network/peers/utils/assertPeerRelevance.js +2 -3
  52. package/lib/network/peers/utils/assertPeerRelevance.js.map +1 -1
  53. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js +2 -2
  54. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js.map +1 -1
  55. package/lib/sync/unknownBlock.js +3 -4
  56. package/lib/sync/unknownBlock.js.map +1 -1
  57. package/lib/util/bufferPool.d.ts +7 -2
  58. package/lib/util/bufferPool.js +13 -7
  59. package/lib/util/bufferPool.js.map +1 -1
  60. package/package.json +14 -14
@@ -1 +1 @@
1
- {"version":3,"file":"initState.js","sourceRoot":"","sources":["../../src/chain/initState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initState.js","sourceRoot":"","sources":["../../src/chain/initState.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import { IEth1ForBlockProduction } from "../eth1/index.js";
8
8
  import { IExecutionEngine, IExecutionBuilder } from "../execution/index.js";
9
9
  import { Metrics } from "../metrics/metrics.js";
10
10
  import { IClock } from "../util/clock.js";
11
+ import { BufferPool } from "../util/bufferPool.js";
11
12
  import { ChainEventEmitter } from "./emitter.js";
12
13
  import { IStateRegenerator, RegenCaller } from "./regen/index.js";
13
14
  import { IBlsVerifier } from "./bls/index.js";
@@ -53,6 +54,7 @@ export interface IBeaconChain {
53
54
  readonly config: BeaconConfig;
54
55
  readonly logger: Logger;
55
56
  readonly metrics: Metrics | null;
57
+ readonly bufferPool: BufferPool | null;
56
58
  /** The initial slot that the chain is started with */
57
59
  readonly anchorStateLatestBlockSlot: Slot;
58
60
  readonly bls: IBlsVerifier;
@@ -1 +1 @@
1
- {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/chain/interface.ts"],"names":[],"mappings":"AAoDA,OAAO,EAAsC,SAAS,EAAC,MAAM,oCAAoC,CAAC;AAQlG,OAAO,EAAC,SAAS,EAA0B,CAAC;AAQ5C,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,qEAAmD,CAAA;IACnD,6DAA2C,CAAA;IAC3C,qDAAmC,CAAA;AACrC,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB"}
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/chain/interface.ts"],"names":[],"mappings":"AAqDA,OAAO,EAAsC,SAAS,EAAC,MAAM,oCAAoC,CAAC;AAQlG,OAAO,EAAC,SAAS,EAA0B,CAAC;AAQ5C,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,qEAAmD,CAAA;IACnD,6DAA2C,CAAA;IAC3C,qDAAmC,CAAA;AACrC,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB"}
@@ -1,7 +1,6 @@
1
- import { fromHexString, toHexString } from "@chainsafe/ssz";
2
1
  import { computeEpochAtSlot, computeStartSlotAtEpoch, getAttesterSlashableIndices, isValidVoluntaryExit, } from "@lodestar/state-transition";
3
2
  import { MAX_PROPOSER_SLASHINGS, MAX_VOLUNTARY_EXITS, MAX_BLS_TO_EXECUTION_CHANGES, BLS_WITHDRAWAL_PREFIX, MAX_ATTESTER_SLASHINGS, ForkSeq, MAX_ATTESTER_SLASHINGS_ELECTRA, } from "@lodestar/params";
4
- import { toRootHex } from "@lodestar/utils";
3
+ import { fromHex, toHex, toRootHex } from "@lodestar/utils";
5
4
  import { ssz } from "@lodestar/types";
6
5
  import { BlockType } from "../interface.js";
7
6
  import { BlockProductionStep } from "../produceBlock/produceBlockBody.js";
@@ -55,9 +54,9 @@ export class OpPool {
55
54
  async toPersisted(db) {
56
55
  await Promise.all([
57
56
  persistDiff(db.attesterSlashing, Array.from(this.attesterSlashings.entries()).map(([key, value]) => ({
58
- key: fromHexString(key),
57
+ key: fromHex(key),
59
58
  value: value.attesterSlashing,
60
- })), toHexString),
59
+ })), toHex),
61
60
  persistDiff(db.proposerSlashing, Array.from(this.proposerSlashings.entries()).map(([key, value]) => ({ key, value })), (index) => index),
62
61
  persistDiff(db.voluntaryExit, Array.from(this.voluntaryExits.entries()).map(([key, value]) => ({ key, value })), (index) => index),
63
62
  persistDiff(db.blsToExecutionChange, Array.from(this.blsToExecutionChanges.entries()).map(([key, value]) => ({ key, value })), (index) => index),
@@ -1 +1 @@
1
- {"version":3,"file":"opPool.js","sourceRoot":"","sources":["../../../src/chain/opPools/opPool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opPool.js","sourceRoot":"","sources":["../../../src/chain/opPools/opPool.ts"],"names":[],"mappings":"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"}
@@ -49,7 +49,7 @@ export declare class StateRegenerator implements IStateRegeneratorInternal {
49
49
  * forkchoice and replaying blocks to get to it.
50
50
  * - allowDiskReload should be used with care, as it will cause the state to be reloaded from disk
51
51
  */
52
- getState(stateRoot: RootHex, _rCaller: RegenCaller, opts?: StateCloneOpts, allowDiskReload?: boolean): Promise<CachedBeaconStateAllForks>;
52
+ getState(stateRoot: RootHex, caller: RegenCaller, opts?: StateCloneOpts, allowDiskReload?: boolean): Promise<CachedBeaconStateAllForks>;
53
53
  private findFirstStateBlock;
54
54
  }
55
55
  //# sourceMappingURL=regen.d.ts.map
@@ -1,6 +1,5 @@
1
- import { fromHexString } from "@chainsafe/ssz";
2
- import { computeEpochAtSlot, computeStartSlotAtEpoch, ExecutionPayloadStatus, DataAvailableStatus, processSlots, stateTransition, } from "@lodestar/state-transition";
3
- import { toRootHex } from "@lodestar/utils";
1
+ import { computeEpochAtSlot, computeStartSlotAtEpoch, ExecutionPayloadStatus, DataAvailableStatus, processSlots, stateTransition, StateHashTreeRootSource, } from "@lodestar/state-transition";
2
+ import { fromHex, toRootHex } from "@lodestar/utils";
4
3
  import { SLOTS_PER_EPOCH } from "@lodestar/params";
5
4
  import { getCheckpointFromState } from "../blocks/utils/checkpoint.js";
6
5
  import { ChainEvent } from "../emitter.js";
@@ -92,7 +91,7 @@ export class StateRegenerator {
92
91
  * forkchoice and replaying blocks to get to it.
93
92
  * - allowDiskReload should be used with care, as it will cause the state to be reloaded from disk
94
93
  */
95
- async getState(stateRoot, _rCaller, opts,
94
+ async getState(stateRoot, caller, opts,
96
95
  // internal option, don't want to expose to external caller
97
96
  allowDiskReload = false) {
98
97
  // Trivial case, state at stateRoot is already cached
@@ -100,6 +99,12 @@ export class StateRegenerator {
100
99
  if (cachedStateCtx) {
101
100
  return cachedStateCtx;
102
101
  }
102
+ // in block gossip validation (getPreState() call), dontTransferCache is specified as true because we only want to transfer cache in verifyBlocksStateTransitionOnly()
103
+ // but here we want to process blocks as fast as possible so force to transfer cache in this case
104
+ if (opts && allowDiskReload) {
105
+ // if there is no `opts` specified, it already means "false"
106
+ opts.dontTransferCache = false;
107
+ }
103
108
  // Otherwise we have to use the fork choice to traverse backwards, block by block,
104
109
  // searching the state caches
105
110
  // then replay blocks forward to the desired stateRoot
@@ -109,6 +114,7 @@ export class StateRegenerator {
109
114
  const blocksToReplay = [block];
110
115
  let state = null;
111
116
  const { checkpointStateCache } = this.modules;
117
+ const getSeedStateTimer = this.modules.metrics?.regenGetState.getSeedState.startTimer({ caller });
112
118
  // iterateAncestorBlocks only returns ancestor blocks, not the block itself
113
119
  for (const b of this.modules.forkChoice.iterateAncestorBlocks(block.blockRoot)) {
114
120
  state = this.modules.blockStateCache.get(b.stateRoot, opts);
@@ -124,23 +130,49 @@ export class StateRegenerator {
124
130
  }
125
131
  blocksToReplay.push(b);
126
132
  }
133
+ getSeedStateTimer?.();
127
134
  if (state === null) {
128
135
  throw new RegenError({
129
136
  code: RegenErrorCode.NO_SEED_STATE,
130
137
  });
131
138
  }
139
+ const blockCount = blocksToReplay.length;
132
140
  const MAX_EPOCH_TO_PROCESS = 5;
133
- if (blocksToReplay.length > MAX_EPOCH_TO_PROCESS * SLOTS_PER_EPOCH) {
141
+ if (blockCount > MAX_EPOCH_TO_PROCESS * SLOTS_PER_EPOCH) {
134
142
  throw new RegenError({
135
143
  code: RegenErrorCode.TOO_MANY_BLOCK_PROCESSED,
136
144
  stateRoot,
137
145
  });
138
146
  }
139
- const replaySlots = blocksToReplay.map((b) => b.slot).join(",");
140
- this.modules.logger.debug("Replaying blocks to get state", { stateRoot, replaySlots });
141
- for (const b of blocksToReplay.reverse()) {
142
- const block = await this.modules.db.block.get(fromHexString(b.blockRoot));
143
- if (!block) {
147
+ this.modules.metrics?.regenGetState.blockCount.observe({ caller }, blockCount);
148
+ const replaySlots = new Array(blockCount);
149
+ const blockPromises = new Array(blockCount);
150
+ const protoBlocksAsc = blocksToReplay.reverse();
151
+ for (const [i, protoBlock] of protoBlocksAsc.entries()) {
152
+ replaySlots[i] = protoBlock.slot;
153
+ blockPromises[i] = this.modules.db.block.get(fromHex(protoBlock.blockRoot));
154
+ }
155
+ const logCtx = { stateRoot, replaySlots: replaySlots.join(",") };
156
+ this.modules.logger.debug("Replaying blocks to get state", logCtx);
157
+ const loadBlocksTimer = this.modules.metrics?.regenGetState.loadBlocks.startTimer({ caller });
158
+ const blockOrNulls = await Promise.all(blockPromises);
159
+ loadBlocksTimer?.();
160
+ const blocksByRoot = new Map();
161
+ for (const [i, blockOrNull] of blockOrNulls.entries()) {
162
+ // checking early here helps prevent unneccessary state transition below
163
+ if (blockOrNull === null) {
164
+ throw new RegenError({
165
+ code: RegenErrorCode.BLOCK_NOT_IN_DB,
166
+ blockRoot: protoBlocksAsc[i].blockRoot,
167
+ });
168
+ }
169
+ blocksByRoot.set(protoBlocksAsc[i].blockRoot, blockOrNull);
170
+ }
171
+ const stateTransitionTimer = this.modules.metrics?.regenGetState.stateTransition.startTimer({ caller });
172
+ for (const b of protoBlocksAsc) {
173
+ const block = blocksByRoot.get(b.blockRoot);
174
+ // just to make compiler happy, we checked in the above for loop already
175
+ if (block === undefined) {
144
176
  throw new RegenError({
145
177
  code: RegenErrorCode.BLOCK_NOT_IN_DB,
146
178
  blockRoot: b.blockRoot,
@@ -157,7 +189,11 @@ export class StateRegenerator {
157
189
  verifyProposer: false,
158
190
  verifySignatures: false,
159
191
  }, this.modules.metrics);
192
+ const hashTreeRootTimer = this.modules.metrics?.stateHashTreeRootTime.startTimer({
193
+ source: StateHashTreeRootSource.regenState,
194
+ });
160
195
  const stateRoot = toRootHex(state.hashTreeRoot());
196
+ hashTreeRootTimer?.();
161
197
  if (b.stateRoot !== stateRoot) {
162
198
  throw new RegenError({
163
199
  slot: b.slot,
@@ -170,8 +206,6 @@ export class StateRegenerator {
170
206
  // also with allowDiskReload flag, we "reload" it to the state cache too
171
207
  this.modules.blockStateCache.add(state);
172
208
  }
173
- // this avoids keeping our node busy processing blocks
174
- await nextEventLoop();
175
209
  }
176
210
  catch (e) {
177
211
  throw new RegenError({
@@ -180,7 +214,8 @@ export class StateRegenerator {
180
214
  });
181
215
  }
182
216
  }
183
- this.modules.logger.debug("Replayed blocks to get state", { stateRoot, replaySlots });
217
+ stateTransitionTimer?.();
218
+ this.modules.logger.debug("Replayed blocks to get state", { ...logCtx, stateSlot: state.slot });
184
219
  return state;
185
220
  }
186
221
  findFirstStateBlock(stateRoot) {
@@ -1 +1 @@
1
- {"version":3,"file":"regen.js","sourceRoot":"","sources":["../../../src/chain/regen/regen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"regen.js","sourceRoot":"","sources":["../../../src/chain/regen/regen.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { CachedBeaconStateAllForks } from "@lodestar/state-transition";
2
+ import { AllocSource, BufferPool } from "../util/bufferPool.js";
3
+ type ProcessStateBytesFn<T> = (stateBytes: Uint8Array) => Promise<T>;
4
+ export declare function serializeState<T>(state: CachedBeaconStateAllForks, source: AllocSource, processFn: ProcessStateBytesFn<T>, bufferPool?: BufferPool | null): Promise<T>;
5
+ export {};
6
+ //# sourceMappingURL=serializeState.d.ts.map
@@ -0,0 +1,22 @@
1
+ /*
2
+ * Serialize state using the BufferPool if provided.
3
+ */
4
+ export async function serializeState(state, source, processFn, bufferPool) {
5
+ const size = state.type.tree_serializedSize(state.node);
6
+ let stateBytes = null;
7
+ if (bufferPool) {
8
+ const bufferWithKey = bufferPool.alloc(size, source);
9
+ if (bufferWithKey) {
10
+ stateBytes = bufferWithKey.buffer;
11
+ const dataView = new DataView(stateBytes.buffer, stateBytes.byteOffset, stateBytes.byteLength);
12
+ state.serializeToBytes({ uint8Array: stateBytes, dataView }, 0);
13
+ }
14
+ }
15
+ if (!stateBytes) {
16
+ // we already have metrics in BufferPool so no need to do it here
17
+ stateBytes = state.serialize();
18
+ }
19
+ return processFn(stateBytes);
20
+ // release the buffer back to the pool automatically
21
+ }
22
+ //# sourceMappingURL=serializeState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serializeState.js","sourceRoot":"","sources":["../../src/chain/serializeState.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAgC,EAChC,MAAmB,EACnB,SAAiC,EACjC,UAA8B;IAE9B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,UAAU,GAAsB,IAAI,CAAC;IACzC,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrD,IAAI,aAAa,EAAE,CAAC;YAClB,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;YAC/F,KAAK,CAAC,gBAAgB,CAAC,EAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAC,EAAE,CAAC,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,iEAAiE;QACjE,UAAU,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC;IAED,OAAO,SAAS,CAAC,UAAU,CAAC,CAAC;IAC7B,oDAAoD;AACtD,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import path from "node:path";
2
- import { toHexString, fromHexString } from "@chainsafe/ssz";
3
2
  import { ssz } from "@lodestar/types";
3
+ import { fromHex, toHex } from "@lodestar/utils";
4
4
  import { ensureDir, readFile, readFileNames, removeFile, writeIfNotExist } from "../../../util/file.js";
5
5
  const CHECKPOINT_STATES_FOLDER = "checkpoint_states";
6
6
  const CHECKPOINT_FILE_NAME_LENGTH = 82;
@@ -22,23 +22,23 @@ export class FileCPStateDatastore {
22
22
  }
23
23
  async write(cpKey, stateBytes) {
24
24
  const serializedCheckpoint = ssz.phase0.Checkpoint.serialize(cpKey);
25
- const filePath = path.join(this.folderPath, toHexString(serializedCheckpoint));
25
+ const filePath = path.join(this.folderPath, toHex(serializedCheckpoint));
26
26
  await writeIfNotExist(filePath, stateBytes);
27
27
  return serializedCheckpoint;
28
28
  }
29
29
  async remove(serializedCheckpoint) {
30
- const filePath = path.join(this.folderPath, toHexString(serializedCheckpoint));
30
+ const filePath = path.join(this.folderPath, toHex(serializedCheckpoint));
31
31
  await removeFile(filePath);
32
32
  }
33
33
  async read(serializedCheckpoint) {
34
- const filePath = path.join(this.folderPath, toHexString(serializedCheckpoint));
34
+ const filePath = path.join(this.folderPath, toHex(serializedCheckpoint));
35
35
  return readFile(filePath);
36
36
  }
37
37
  async readKeys() {
38
38
  const fileNames = await readFileNames(this.folderPath);
39
39
  return fileNames
40
40
  .filter((fileName) => fileName.startsWith("0x") && fileName.length === CHECKPOINT_FILE_NAME_LENGTH)
41
- .map((fileName) => fromHexString(fileName));
41
+ .map((fileName) => fromHex(fileName));
42
42
  }
43
43
  }
44
44
  //# sourceMappingURL=file.js.map
@@ -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,EAAC,WAAW,EAAE,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAS,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC5C,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;IAG/B,YAAY,YAAoB,GAAG;QACjC,+DAA+D;QAC/D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;IACnE,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,WAAW,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC/E,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,WAAW,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC/E,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,WAAW,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC/E,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,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChD,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;AAGtG,MAAM,wBAAwB,GAAG,mBAAmB,CAAC;AACrD,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAEvC;;GAEG;AACH,MAAM,OAAO,oBAAoB;IAG/B,YAAY,YAAoB,GAAG;QACjC,+DAA+D;QAC/D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;IACnE,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"}
@@ -23,7 +23,7 @@ type PersistentCheckpointStateCacheModules = {
23
23
  shufflingCache: ShufflingCache;
24
24
  datastore: CPStateDatastore;
25
25
  blockStateCache: BlockStateCache;
26
- bufferPool?: BufferPool;
26
+ bufferPool?: BufferPool | null;
27
27
  };
28
28
  type LoadedStateBytesData = {
29
29
  persistedKey: DatastoreKey;
@@ -253,7 +253,6 @@ export declare class PersistentCheckpointStateCache implements CheckpointStateCa
253
253
  * Delete all items of an epoch from disk and memory
254
254
  */
255
255
  private deleteAllEpochItems;
256
- private serializeState;
257
256
  /**
258
257
  * Serialize validators to bytes leveraging the buffer pool to save memory allocation.
259
258
  * - As monitored on holesky as of Jan 2024, it helps save ~500ms state reload time (4.3s vs 3.8s)
@@ -43,11 +43,12 @@ var __disposeResources = (this && this.__disposeResources) || (function (Suppres
43
43
  var e = new Error(message);
44
44
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
45
45
  });
46
- import { fromHexString, toHexString } from "@chainsafe/ssz";
47
46
  import { computeStartSlotAtEpoch, getBlockRootAtSlot } from "@lodestar/state-transition";
48
- import { MapDef, sleep, toRootHex } from "@lodestar/utils";
47
+ import { MapDef, fromHex, sleep, toHex, toRootHex } from "@lodestar/utils";
49
48
  import { loadCachedBeaconState } from "@lodestar/state-transition";
50
49
  import { INTERVALS_PER_SLOT } from "@lodestar/params";
50
+ import { AllocSource } from "../../util/bufferPool.js";
51
+ import { serializeState } from "../serializeState.js";
51
52
  import { MapTracker } from "./mapMetrics.js";
52
53
  import { datastoreKeyToCheckpoint } from "./datastore/index.js";
53
54
  import { CacheItemType } from "./types.js";
@@ -164,7 +165,7 @@ export class PersistentCheckpointStateCache {
164
165
  return stateOrStateBytesData?.clone(opts?.dontTransferCache) ?? null;
165
166
  }
166
167
  const { persistedKey, stateBytes } = stateOrStateBytesData;
167
- const logMeta = { persistedKey: toHexString(persistedKey) };
168
+ const logMeta = { persistedKey: toHex(persistedKey) };
168
169
  this.logger.debug("Reload: read state successful", logMeta);
169
170
  this.metrics?.stateReloadSecFromSlot.observe(this.clock?.secFromSlot(this.clock?.currentSlot ?? 0) ?? 0);
170
171
  const seedState = this.findSeedStateToReload(cp);
@@ -197,6 +198,9 @@ export class PersistentCheckpointStateCache {
197
198
  newCachedState.commit();
198
199
  const stateRoot = toRootHex(newCachedState.hashTreeRoot());
199
200
  timer?.();
201
+ // load all cache in order for consumers (usually regen.getState()) to process blocks faster
202
+ newCachedState.validators.getAllReadonlyValues();
203
+ newCachedState.balances.getAll();
200
204
  this.logger.debug("Reload: cached state load successful", {
201
205
  ...logMeta,
202
206
  stateSlot: newCachedState.slot,
@@ -296,7 +300,7 @@ export class PersistentCheckpointStateCache {
296
300
  this.logger.verbose("Added checkpoint state to memory but a persisted key existed", {
297
301
  epoch: cp.epoch,
298
302
  rootHex: cpHex.rootHex,
299
- persistedKey: toHexString(persistedKey),
303
+ persistedKey: toHex(persistedKey),
300
304
  });
301
305
  }
302
306
  else {
@@ -583,7 +587,7 @@ export class PersistentCheckpointStateCache {
583
587
  async processPastEpoch(blockRootHex, state, epoch) {
584
588
  let persistCount = 0;
585
589
  const epochBoundarySlot = computeStartSlotAtEpoch(epoch);
586
- const epochBoundaryRoot = epochBoundarySlot === state.slot ? fromHexString(blockRootHex) : getBlockRootAtSlot(state, epochBoundarySlot);
590
+ const epochBoundaryRoot = epochBoundarySlot === state.slot ? fromHex(blockRootHex) : getBlockRootAtSlot(state, epochBoundarySlot);
587
591
  const epochBoundaryHex = toRootHex(epochBoundaryRoot);
588
592
  const prevEpochRoot = toRootHex(getBlockRootAtSlot(state, epochBoundarySlot - 1));
589
593
  // for each epoch, usually there are 2 rootHexes respective to the 2 checkpoint states: Previous Root Checkpoint State and Current Root Checkpoint State
@@ -609,7 +613,7 @@ export class PersistentCheckpointStateCache {
609
613
  stateSlot: state.slot,
610
614
  rootHex,
611
615
  epochBoundaryHex,
612
- persistedKey: persistedKey ? toHexString(persistedKey) : "",
616
+ persistedKey: persistedKey ? toHex(persistedKey) : "",
613
617
  };
614
618
  if (persistedRootHexes.has(rootHex)) {
615
619
  if (persistedKey) {
@@ -619,34 +623,20 @@ export class PersistentCheckpointStateCache {
619
623
  else {
620
624
  // persist and do not update epochIndex
621
625
  this.metrics?.statePersistSecFromSlot.observe(this.clock?.secFromSlot(this.clock?.currentSlot ?? 0) ?? 0);
622
- const cpPersist = { epoch: epoch, root: fromHexString(rootHex) };
623
- {
624
- const env_2 = { stack: [], error: void 0, hasError: false };
625
- try {
626
- const timer = this.metrics?.stateSerializeDuration.startTimer();
627
- // automatically free the buffer pool after this scope
628
- const stateBytesWithKey = __addDisposableResource(env_2, this.serializeState(state), false);
629
- let stateBytes = stateBytesWithKey?.buffer;
630
- if (stateBytes == null) {
631
- // fallback logic to use regular way to get state ssz bytes
632
- this.metrics?.persistedStateAllocCount.inc();
633
- stateBytes = state.serialize();
634
- }
635
- timer?.();
636
- persistedKey = await this.datastore.write(cpPersist, stateBytes);
637
- }
638
- catch (e_2) {
639
- env_2.error = e_2;
640
- env_2.hasError = true;
641
- }
642
- finally {
643
- __disposeResources(env_2);
644
- }
645
- }
626
+ const cpPersist = { epoch: epoch, root: fromHex(rootHex) };
627
+ // It's not sustainable to allocate ~240MB for each state every epoch, so we use buffer pool to reuse the memory.
628
+ // As monitored on holesky as of Jan 2024:
629
+ // - This does not increase heap allocation while gc time is the same
630
+ // - It helps stabilize persist time and save ~300ms in average (1.5s vs 1.2s)
631
+ // - It also helps the state reload to save ~500ms in average (4.3s vs 3.8s)
632
+ // - Also `serializeState.test.ts` perf test shows a lot of differences allocating ~240MB once vs per state serialization
633
+ const timer = this.metrics?.stateSerializeDuration.startTimer();
634
+ persistedKey = await serializeState(state, AllocSource.PERSISTENT_CHECKPOINTS_CACHE_STATE, (stateBytes) => this.datastore.write(cpPersist, stateBytes), this.bufferPool);
635
+ timer?.();
646
636
  persistCount++;
647
637
  this.logger.verbose("Pruned checkpoint state from memory and persisted to disk", {
648
638
  ...logMeta,
649
- persistedKey: toHexString(persistedKey),
639
+ persistedKey: toHex(persistedKey),
650
640
  });
651
641
  }
652
642
  // overwrite cpKey, this means the state is deleted from memory
@@ -697,27 +687,6 @@ export class PersistentCheckpointStateCache {
697
687
  rootHexes: Array.from(rootHexes).join(","),
698
688
  });
699
689
  }
700
- /*
701
- * It's not sustainable to allocate ~240MB for each state every epoch, so we use buffer pool to reuse the memory.
702
- * As monitored on holesky as of Jan 2024:
703
- * - This does not increase heap allocation while gc time is the same
704
- * - It helps stabilize persist time and save ~300ms in average (1.5s vs 1.2s)
705
- * - It also helps the state reload to save ~500ms in average (4.3s vs 3.8s)
706
- * - Also `serializeState.test.ts` perf test shows a lot of differences allocating ~240MB once vs per state serialization
707
- */
708
- serializeState(state) {
709
- const size = state.type.tree_serializedSize(state.node);
710
- if (this.bufferPool) {
711
- const bufferWithKey = this.bufferPool.alloc(size);
712
- if (bufferWithKey) {
713
- const stateBytes = bufferWithKey.buffer;
714
- const dataView = new DataView(stateBytes.buffer, stateBytes.byteOffset, stateBytes.byteLength);
715
- state.serializeToBytes({ uint8Array: stateBytes, dataView }, 0);
716
- return bufferWithKey;
717
- }
718
- }
719
- return null;
720
- }
721
690
  /**
722
691
  * Serialize validators to bytes leveraging the buffer pool to save memory allocation.
723
692
  * - As monitored on holesky as of Jan 2024, it helps save ~500ms state reload time (4.3s vs 3.8s)
@@ -728,7 +697,7 @@ export class PersistentCheckpointStateCache {
728
697
  const type = state.type.fields.validators;
729
698
  const size = type.tree_serializedSize(state.validators.node);
730
699
  if (this.bufferPool) {
731
- const bufferWithKey = this.bufferPool.alloc(size);
700
+ const bufferWithKey = this.bufferPool.alloc(size, AllocSource.PERSISTENT_CHECKPOINTS_CACHE_VALIDATORS);
732
701
  if (bufferWithKey) {
733
702
  const validatorsBytes = bufferWithKey.buffer;
734
703
  const dataView = new DataView(validatorsBytes.buffer, validatorsBytes.byteOffset, validatorsBytes.byteLength);