@lodestar/beacon-node 1.36.0-dev.8b33937cc4 → 1.36.0-dev.9f2bb12ea7

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 (79) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +41 -22
  3. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  4. package/lib/chain/errors/dataColumnSidecarError.d.ts +17 -14
  5. package/lib/chain/errors/dataColumnSidecarError.d.ts.map +1 -1
  6. package/lib/chain/errors/dataColumnSidecarError.js +4 -0
  7. package/lib/chain/errors/dataColumnSidecarError.js.map +1 -1
  8. package/lib/chain/options.d.ts.map +1 -1
  9. package/lib/chain/options.js +2 -1
  10. package/lib/chain/options.js.map +1 -1
  11. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +16 -1
  12. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +1 -1
  13. package/lib/chain/stateCache/persistentCheckpointsCache.js +31 -1
  14. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  15. package/lib/chain/validation/dataColumnSidecar.d.ts.map +1 -1
  16. package/lib/chain/validation/dataColumnSidecar.js +32 -15
  17. package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
  18. package/lib/network/core/networkCore.d.ts.map +1 -1
  19. package/lib/network/core/networkCore.js +5 -1
  20. package/lib/network/core/networkCore.js.map +1 -1
  21. package/lib/network/core/networkCoreWorker.js +6 -1
  22. package/lib/network/core/networkCoreWorker.js.map +1 -1
  23. package/lib/network/core/networkCoreWorkerHandler.js +1 -1
  24. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  25. package/lib/network/events.d.ts +1 -0
  26. package/lib/network/events.d.ts.map +1 -1
  27. package/lib/network/metadata.d.ts +1 -1
  28. package/lib/network/metadata.d.ts.map +1 -1
  29. package/lib/network/metadata.js +1 -0
  30. package/lib/network/metadata.js.map +1 -1
  31. package/lib/network/processor/gossipHandlers.js +1 -1
  32. package/lib/network/processor/gossipHandlers.js.map +1 -1
  33. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +1 -1
  34. package/lib/network/reqresp/ReqRespBeaconNode.js +3 -1
  35. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  36. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts +2 -1
  37. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +1 -1
  38. package/lib/network/reqresp/handlers/beaconBlocksByRange.js +11 -2
  39. package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
  40. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts +2 -1
  41. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +1 -1
  42. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +9 -1
  43. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -1
  44. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts +2 -1
  45. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +1 -1
  46. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js +9 -1
  47. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -1
  48. package/lib/network/reqresp/handlers/index.js +6 -6
  49. package/lib/network/reqresp/handlers/index.js.map +1 -1
  50. package/lib/network/reqresp/types.d.ts +1 -0
  51. package/lib/network/reqresp/types.d.ts.map +1 -1
  52. package/lib/sync/utils/downloadByRange.d.ts +58 -13
  53. package/lib/sync/utils/downloadByRange.d.ts.map +1 -1
  54. package/lib/sync/utils/downloadByRange.js +201 -82
  55. package/lib/sync/utils/downloadByRange.js.map +1 -1
  56. package/lib/util/blobs.d.ts +1 -1
  57. package/lib/util/blobs.d.ts.map +1 -1
  58. package/lib/util/blobs.js +53 -20
  59. package/lib/util/blobs.js.map +1 -1
  60. package/package.json +15 -14
  61. package/src/api/impl/beacon/blocks/index.ts +47 -25
  62. package/src/chain/errors/dataColumnSidecarError.ts +20 -14
  63. package/src/chain/options.ts +2 -0
  64. package/src/chain/stateCache/persistentCheckpointsCache.ts +45 -2
  65. package/src/chain/validation/dataColumnSidecar.ts +34 -16
  66. package/src/network/core/networkCore.ts +5 -1
  67. package/src/network/core/networkCoreWorker.ts +7 -2
  68. package/src/network/core/networkCoreWorkerHandler.ts +1 -1
  69. package/src/network/events.ts +1 -1
  70. package/src/network/metadata.ts +3 -1
  71. package/src/network/processor/gossipHandlers.ts +1 -1
  72. package/src/network/reqresp/ReqRespBeaconNode.ts +3 -1
  73. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +15 -2
  74. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +13 -1
  75. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +13 -1
  76. package/src/network/reqresp/handlers/index.ts +6 -6
  77. package/src/network/reqresp/types.ts +1 -0
  78. package/src/sync/utils/downloadByRange.ts +259 -103
  79. package/src/util/blobs.ts +64 -20
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/blocks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAW,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAwDlE,OAAO,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAiB1C,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,MAAM,EACN,OAAO,EACP,OAAO,EACP,EAAE,GACH,EAAE,IAAI,CACL,UAAU,EACV,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI,CAClD,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAosBpD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/blocks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAW,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAwDlE,OAAO,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAiB1C,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,MAAM,EACN,OAAO,EACP,OAAO,EACP,EAAE,GACH,EAAE,IAAI,CACL,UAAU,EACV,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI,CAClD,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CA0tBpD"}
@@ -502,16 +502,18 @@ export function getBeaconBlockApi({ chain, config, metrics, network, db, }) {
502
502
  if (dataColumnSidecars.length === 0) {
503
503
  throw new ApiError(404, `dataColumnSidecars not found in db for slot=${block.message.slot} root=${toRootHex(blockRoot)} blobs=${blobCount}`);
504
504
  }
505
- const blobs = await reconstructBlobs(dataColumnSidecars);
505
+ for (const index of indices ?? []) {
506
+ if (index < 0 || index >= blobCount) {
507
+ throw new ApiError(400, `Invalid blob index ${index}, must be between 0 and ${blobCount - 1}`);
508
+ }
509
+ }
510
+ const indicesToReconstruct = indices ?? Array.from({ length: blobCount }, (_, i) => i);
511
+ const blobs = await reconstructBlobs(dataColumnSidecars, indicesToReconstruct);
506
512
  const signedBlockHeader = signedBlockToSignedHeader(config, block);
507
- const requestedIndices = indices ?? Array.from({ length: blobKzgCommitments.length }, (_, i) => i);
508
- data = await Promise.all(requestedIndices.map(async (index) => {
513
+ data = await Promise.all(indicesToReconstruct.map(async (index, i) => {
509
514
  // Reconstruct blob sidecar from blob
510
515
  const kzgCommitment = blobKzgCommitments[index];
511
- if (kzgCommitment === undefined) {
512
- throw new ApiError(400, `Blob index ${index} not found in block`);
513
- }
514
- const blob = blobs[index];
516
+ const blob = blobs[i]; // Use i since blobs only contains requested indices
515
517
  const kzgProof = await kzg.asyncComputeBlobKzgProof(blob, kzgCommitment);
516
518
  const kzgCommitmentInclusionProof = computePreFuluKzgCommitmentsInclusionProof(fork, block.message.body, index);
517
519
  return { index, blob, kzgCommitment, kzgProof, signedBlockHeader, kzgCommitmentInclusionProof };
@@ -554,7 +556,8 @@ export function getBeaconBlockApi({ chain, config, metrics, network, db, }) {
554
556
  if (targetCustodyGroupCount < NUMBER_OF_COLUMNS / 2) {
555
557
  throw new ApiError(503, `Custody group count of ${targetCustodyGroupCount} is not sufficient to serve blobs, must custody at least ${NUMBER_OF_COLUMNS / 2} data columns`);
556
558
  }
557
- const blobCount = block.message.body.blobKzgCommitments.length;
559
+ const blobKzgCommitments = block.message.body.blobKzgCommitments;
560
+ const blobCount = blobKzgCommitments.length;
558
561
  if (blobCount > 0) {
559
562
  let dataColumnSidecars = await fromAsync(db.dataColumnSidecar.valuesStream(blockRoot));
560
563
  if (dataColumnSidecars.length === 0) {
@@ -563,7 +566,23 @@ export function getBeaconBlockApi({ chain, config, metrics, network, db, }) {
563
566
  if (dataColumnSidecars.length === 0) {
564
567
  throw new ApiError(404, `dataColumnSidecars not found in db for slot=${block.message.slot} root=${toRootHex(blockRoot)} blobs=${blobCount}`);
565
568
  }
566
- blobs = await reconstructBlobs(dataColumnSidecars);
569
+ let indicesToReconstruct;
570
+ if (versionedHashes) {
571
+ const blockVersionedHashes = blobKzgCommitments.map((commitment) => toHex(kzgCommitmentToVersionedHash(commitment)));
572
+ indicesToReconstruct = [];
573
+ for (const requestedHash of versionedHashes) {
574
+ const index = blockVersionedHashes.findIndex((hash) => hash === requestedHash);
575
+ if (index === -1) {
576
+ throw new ApiError(400, `Versioned hash ${requestedHash} not found in block`);
577
+ }
578
+ indicesToReconstruct.push(index);
579
+ }
580
+ indicesToReconstruct.sort((a, b) => a - b);
581
+ }
582
+ else {
583
+ indicesToReconstruct = Array.from({ length: blobCount }, (_, i) => i);
584
+ }
585
+ blobs = await reconstructBlobs(dataColumnSidecars, indicesToReconstruct);
567
586
  }
568
587
  else {
569
588
  blobs = [];
@@ -578,23 +597,23 @@ export function getBeaconBlockApi({ chain, config, metrics, network, db, }) {
578
597
  throw new ApiError(404, `blobSidecars not found in db for slot=${block.message.slot} root=${toRootHex(blockRoot)}`);
579
598
  }
580
599
  blobs = blobSidecars.sort((a, b) => a.index - b.index).map(({ blob }) => blob);
600
+ if (blobs.length && versionedHashes) {
601
+ const kzgCommitments = block.message.body.blobKzgCommitments;
602
+ const blockVersionedHashes = kzgCommitments.map((commitment) => toHex(kzgCommitmentToVersionedHash(commitment)));
603
+ const requestedIndices = [];
604
+ for (const requestedHash of versionedHashes) {
605
+ const index = blockVersionedHashes.findIndex((hash) => hash === requestedHash);
606
+ if (index === -1) {
607
+ throw new ApiError(400, `Versioned hash ${requestedHash} not found in block`);
608
+ }
609
+ requestedIndices.push(index);
610
+ }
611
+ blobs = requestedIndices.sort((a, b) => a - b).map((index) => blobs[index]);
612
+ }
581
613
  }
582
614
  else {
583
615
  blobs = [];
584
616
  }
585
- if (blobs.length && versionedHashes?.length) {
586
- const kzgCommitments = block.message.body.blobKzgCommitments;
587
- const blockVersionedHashes = kzgCommitments.map((commitment) => toHex(kzgCommitmentToVersionedHash(commitment)));
588
- const requestedIndices = [];
589
- for (const requestedHash of versionedHashes) {
590
- const index = blockVersionedHashes.findIndex((hash) => hash === requestedHash);
591
- if (index === -1) {
592
- throw new ApiError(400, `Versioned hash ${requestedHash} not found in block`);
593
- }
594
- requestedIndices.push(index);
595
- }
596
- blobs = requestedIndices.sort((a, b) => a - b).map((index) => blobs[index]);
597
- }
598
617
  return {
599
618
  data: blobs,
600
619
  meta: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/blocks/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/blocks/index.ts"],"names":[],"mappings":"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"}
@@ -8,10 +8,14 @@ export declare enum DataColumnSidecarErrorCode {
8
8
  INVALID_SUBNET = "DATA_COLUMN_SIDECAR_ERROR_INVALID_SUBNET",
9
9
  INVALID_KZG_PROOF = "DATA_COLUMN_SIDECAR_ERROR_INVALID_KZG_PROOF",
10
10
  TOO_MANY_KZG_COMMITMENTS = "DATA_COLUMN_SIDECAR_ERROR_TOO_MANY_KZG_COMMITMENTS",
11
+ /** Block and sidecars header root mismatch */
12
+ INCORRECT_HEADER_ROOT = "DATA_COLUMN_SIDECAR_ERROR_INCORRECT_HEADER_ROOT",
11
13
  /** Block and sidecars data column count mismatch */
12
14
  INCORRECT_SIDECAR_COUNT = "DATA_COLUMN_SIDECAR_ERROR_INCORRECT_SIDECAR_COUNT",
13
15
  /** Sidecar doesn't match block */
14
16
  INCORRECT_BLOCK = "DATA_COLUMN_SIDECAR_ERROR_INCORRECT_BLOCK",
17
+ /** Sidecar cell count not as expected */
18
+ INCORRECT_CELL_COUNT = "DATA_COLUMN_SIDECAR_ERROR_INCORRECT_CELL_COUNT",
15
19
  /** Sidecar kzg proof count not as expected */
16
20
  INCORRECT_KZG_COMMITMENTS_COUNT = "DATA_COLUMN_SIDECAR_ERROR_INCORRECT_KZG_COMMITMENTS_COUNT",
17
21
  /** Sidecar kzg proof count not as expected */
@@ -30,11 +34,11 @@ export declare enum DataColumnSidecarErrorCode {
30
34
  export type DataColumnSidecarErrorType = {
31
35
  code: DataColumnSidecarErrorCode.INVALID_INDEX;
32
36
  slot: Slot;
33
- columnIdx: number;
37
+ columnIndex: number;
34
38
  } | {
35
39
  code: DataColumnSidecarErrorCode.NO_COMMITMENTS;
36
40
  slot: Slot;
37
- columnIdx: number;
41
+ columnIndex: number;
38
42
  } | {
39
43
  code: DataColumnSidecarErrorCode.MISMATCHED_LENGTHS;
40
44
  columnLength: number;
@@ -42,17 +46,17 @@ export type DataColumnSidecarErrorType = {
42
46
  proofsLength: number;
43
47
  } | {
44
48
  code: DataColumnSidecarErrorCode.INVALID_SUBNET;
45
- columnIdx: number;
49
+ columnIndex: number;
46
50
  gossipSubnet: SubnetID;
47
51
  } | {
48
52
  code: DataColumnSidecarErrorCode.TOO_MANY_KZG_COMMITMENTS;
49
53
  slot: number;
50
- columnIdx: number;
54
+ columnIndex: number;
51
55
  count: number;
52
56
  limit: number;
53
57
  } | {
54
58
  code: DataColumnSidecarErrorCode.ALREADY_KNOWN;
55
- columnIdx: number;
59
+ columnIndex: number;
56
60
  slot: Slot;
57
61
  } | {
58
62
  code: DataColumnSidecarErrorCode.FUTURE_SLOT;
@@ -74,11 +78,11 @@ export type DataColumnSidecarErrorType = {
74
78
  } | {
75
79
  code: DataColumnSidecarErrorCode.INCLUSION_PROOF_INVALID;
76
80
  slot: Slot;
77
- columnIdx: number;
81
+ columnIndex: number;
78
82
  } | {
79
83
  code: DataColumnSidecarErrorCode.INVALID_KZG_PROOF;
80
84
  slot: Slot;
81
- columnIdx: number;
85
+ columnIndex: number;
82
86
  } | {
83
87
  code: DataColumnSidecarErrorCode.INCORRECT_SIDECAR_COUNT;
84
88
  slot: number;
@@ -87,19 +91,18 @@ export type DataColumnSidecarErrorType = {
87
91
  } | {
88
92
  code: DataColumnSidecarErrorCode.INCORRECT_BLOCK;
89
93
  slot: number;
90
- columnIdx: number;
94
+ columnIndex: number;
91
95
  expected: string;
92
96
  actual: string;
93
97
  } | {
94
- code: DataColumnSidecarErrorCode.INCORRECT_KZG_COMMITMENTS_COUNT;
98
+ code: DataColumnSidecarErrorCode.INCORRECT_HEADER_ROOT;
95
99
  slot: number;
96
- columnIdx: number;
97
- expected: number;
98
- actual: number;
100
+ expected: string;
101
+ actual: string;
99
102
  } | {
100
- code: DataColumnSidecarErrorCode.INCORRECT_KZG_PROOF_COUNT;
103
+ code: DataColumnSidecarErrorCode.INCORRECT_CELL_COUNT | DataColumnSidecarErrorCode.INCORRECT_KZG_COMMITMENTS_COUNT | DataColumnSidecarErrorCode.INCORRECT_KZG_PROOF_COUNT;
101
104
  slot: number;
102
- columnIdx: number;
105
+ columnIndex: number;
103
106
  expected: number;
104
107
  actual: number;
105
108
  } | {
@@ -1 +1 @@
1
- {"version":3,"file":"dataColumnSidecarError.d.ts","sourceRoot":"","sources":["../../../src/chain/errors/dataColumnSidecarError.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataColumnSidecarError.d.ts","sourceRoot":"","sources":["../../../src/chain/errors/dataColumnSidecarError.ts"],"names":[],"mappings":"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"}
@@ -9,10 +9,14 @@ export var DataColumnSidecarErrorCode;
9
9
  DataColumnSidecarErrorCode["INVALID_KZG_PROOF"] = "DATA_COLUMN_SIDECAR_ERROR_INVALID_KZG_PROOF";
10
10
  DataColumnSidecarErrorCode["TOO_MANY_KZG_COMMITMENTS"] = "DATA_COLUMN_SIDECAR_ERROR_TOO_MANY_KZG_COMMITMENTS";
11
11
  // Validation errors when validating against an existing block
12
+ /** Block and sidecars header root mismatch */
13
+ DataColumnSidecarErrorCode["INCORRECT_HEADER_ROOT"] = "DATA_COLUMN_SIDECAR_ERROR_INCORRECT_HEADER_ROOT";
12
14
  /** Block and sidecars data column count mismatch */
13
15
  DataColumnSidecarErrorCode["INCORRECT_SIDECAR_COUNT"] = "DATA_COLUMN_SIDECAR_ERROR_INCORRECT_SIDECAR_COUNT";
14
16
  /** Sidecar doesn't match block */
15
17
  DataColumnSidecarErrorCode["INCORRECT_BLOCK"] = "DATA_COLUMN_SIDECAR_ERROR_INCORRECT_BLOCK";
18
+ /** Sidecar cell count not as expected */
19
+ DataColumnSidecarErrorCode["INCORRECT_CELL_COUNT"] = "DATA_COLUMN_SIDECAR_ERROR_INCORRECT_CELL_COUNT";
16
20
  /** Sidecar kzg proof count not as expected */
17
21
  DataColumnSidecarErrorCode["INCORRECT_KZG_COMMITMENTS_COUNT"] = "DATA_COLUMN_SIDECAR_ERROR_INCORRECT_KZG_COMMITMENTS_COUNT";
18
22
  /** Sidecar kzg proof count not as expected */
@@ -1 +1 @@
1
- {"version":3,"file":"dataColumnSidecarError.js","sourceRoot":"","sources":["../../../src/chain/errors/dataColumnSidecarError.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAN,IAAY,0BA8BX;AA9BD,WAAY,0BAA0B;IACpC,uFAAyD,CAAA;IACzD,yFAA2D,CAAA;IAC3D,iGAAmE,CAAA;IACnE,yFAA2D,CAAA;IAC3D,+FAAiE,CAAA;IACjE,6GAA+E,CAAA;IAE/E,8DAA8D;IAE9D,oDAAoD;IACpD,2GAA6E,CAAA;IAC7E,kCAAkC;IAClC,2FAA6D,CAAA;IAC7D,8CAA8C;IAC9C,2HAA6F,CAAA;IAC7F,8CAA8C;IAC9C,+GAAiF,CAAA;IACjF,gCAAgC;IAChC,2GAA6E,CAAA;IAE7E,qDAAqD;IACrD,uFAAyD,CAAA;IACzD,mFAAqD,CAAA;IACrD,mHAAqF,CAAA;IACrF,yFAA2D,CAAA;IAC3D,uGAAyE,CAAA;IACzE,iHAAmF,CAAA;IACnF,2GAA6E,CAAA;IAC7E,iGAAmE,CAAA;AACrE,CAAC,EA9BW,0BAA0B,KAA1B,0BAA0B,QA8BrC;AAoDD,MAAM,OAAO,4BAA6B,SAAQ,iBAA6C;CAAG;AAClG,MAAM,OAAO,gCAAiC,SAAQ,aAAyC;CAAG"}
1
+ {"version":3,"file":"dataColumnSidecarError.js","sourceRoot":"","sources":["../../../src/chain/errors/dataColumnSidecarError.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAN,IAAY,0BAkCX;AAlCD,WAAY,0BAA0B;IACpC,uFAAyD,CAAA;IACzD,yFAA2D,CAAA;IAC3D,iGAAmE,CAAA;IACnE,yFAA2D,CAAA;IAC3D,+FAAiE,CAAA;IACjE,6GAA+E,CAAA;IAE/E,8DAA8D;IAE9D,8CAA8C;IAC9C,uGAAyE,CAAA;IACzE,oDAAoD;IACpD,2GAA6E,CAAA;IAC7E,kCAAkC;IAClC,2FAA6D,CAAA;IAC7D,yCAAyC;IACzC,qGAAuE,CAAA;IACvE,8CAA8C;IAC9C,2HAA6F,CAAA;IAC7F,8CAA8C;IAC9C,+GAAiF,CAAA;IACjF,gCAAgC;IAChC,2GAA6E,CAAA;IAE7E,qDAAqD;IACrD,uFAAyD,CAAA;IACzD,mFAAqD,CAAA;IACrD,mHAAqF,CAAA;IACrF,yFAA2D,CAAA;IAC3D,uGAAyE,CAAA;IACzE,iHAAmF,CAAA;IACnF,2GAA6E,CAAA;IAC7E,iGAAmE,CAAA;AACrE,CAAC,EAlCW,0BAA0B,KAA1B,0BAA0B,QAkCrC;AAsDD,MAAM,OAAO,4BAA6B,SAAQ,iBAA6C;CAAG;AAClG,MAAM,OAAO,gCAAiC,SAAQ,aAAyC;CAAG"}
@@ -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,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"}
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,EAGL,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,aAiCjC,CAAC"}
@@ -3,7 +3,7 @@ import { defaultOptions as defaultValidatorOptions } from "@lodestar/validator";
3
3
  import { DEFAULT_ARCHIVE_MODE } from "./archiveStore/constants.js";
4
4
  import { ArchiveMode } from "./archiveStore/interface.js";
5
5
  import { DEFAULT_MAX_BLOCK_STATES } from "./stateCache/fifoBlockStateCache.js";
6
- import { DEFAULT_MAX_CP_STATE_EPOCHS_IN_MEMORY, } from "./stateCache/persistentCheckpointsCache.js";
6
+ import { DEFAULT_MAX_CP_STATE_EPOCHS_IN_MEMORY, DEFAULT_MAX_CP_STATE_ON_DISK, } from "./stateCache/persistentCheckpointsCache.js";
7
7
  export { ArchiveMode, DEFAULT_ARCHIVE_MODE };
8
8
  export const defaultChainOptions = {
9
9
  blsVerifyAllMainThread: false,
@@ -37,5 +37,6 @@ export const defaultChainOptions = {
37
37
  nHistoricalStatesFileDataStore: true,
38
38
  maxBlockStates: DEFAULT_MAX_BLOCK_STATES,
39
39
  maxCPStateEpochsInMemory: DEFAULT_MAX_CP_STATE_EPOCHS_IN_MEMORY,
40
+ maxCPStateEpochsOnDisk: DEFAULT_MAX_CP_STATE_ON_DISK,
40
41
  };
41
42
  //# sourceMappingURL=options.js.map
@@ -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;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"}
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,EACrC,4BAA4B,GAE7B,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;IAC/D,sBAAsB,EAAE,4BAA4B;CACrD,CAAC"}
@@ -9,8 +9,10 @@ import { StateRegenerationOpts } from "../regen/interface.js";
9
9
  import { CPStateDatastore, DatastoreKey } from "./datastore/index.js";
10
10
  import { BlockStateCache, CheckpointHex, CheckpointStateCache } from "./types.js";
11
11
  export type PersistentCheckpointStateCacheOpts = {
12
- /** Keep max n states in memory, persist the rest to disk */
12
+ /** Keep max n state epochs in memory, persist the rest to disk */
13
13
  maxCPStateEpochsInMemory?: number;
14
+ /** Keep max n state epochs on disk */
15
+ maxCPStateEpochsOnDisk?: number;
14
16
  };
15
17
  type PersistentCheckpointStateCacheModules = {
16
18
  metrics?: Metrics | null;
@@ -31,6 +33,13 @@ type LoadedStateBytesData = {
31
33
  * may not be available in memory, and stay on disk instead.
32
34
  */
33
35
  export declare const DEFAULT_MAX_CP_STATE_EPOCHS_IN_MEMORY = 3;
36
+ /**
37
+ * By default we don't prune any persistent checkpoint states as it's not safe to delete them during
38
+ * long non-finality as we don't know the state of the chain and there could be a deep (hundreds of epochs) reorg
39
+ * if there two competing chains with similar weight but we wouldn't have a close enough state to pivot to this chain
40
+ * and instead require a resync from last finalized checkpoint state which could be very far in the past.
41
+ */
42
+ export declare const DEFAULT_MAX_CP_STATE_ON_DISK: number;
34
43
  /**
35
44
  * An implementation of CheckpointStateCache that keep up to n epoch checkpoint states in memory and persist the rest to disk
36
45
  * - If it's more than `maxEpochsInMemory` epochs old, it will persist n last epochs to disk based on the view of the block
@@ -74,6 +83,7 @@ export declare class PersistentCheckpointStateCache implements CheckpointStateCa
74
83
  private preComputedCheckpoint;
75
84
  private preComputedCheckpointHits;
76
85
  private readonly maxEpochsInMemory;
86
+ private readonly maxEpochsOnDisk;
77
87
  private readonly datastore;
78
88
  private readonly blockStateCache;
79
89
  private readonly bufferPool?;
@@ -248,6 +258,11 @@ export declare class PersistentCheckpointStateCache implements CheckpointStateCa
248
258
  * Delete all items of an epoch from disk and memory
249
259
  */
250
260
  private deleteAllEpochItems;
261
+ /**
262
+ * Prune persisted checkpoint states from disk.
263
+ * Note that this should handle all possible errors and not throw.
264
+ */
265
+ private prunePersistedStates;
251
266
  /**
252
267
  * Serialize validators to bytes leveraging the buffer pool to save memory allocation.
253
268
  * - As monitored on holesky as of Jan 2024, it helps save ~500ms state reload time (4.3s vs 3.8s)
@@ -1 +1 @@
1
- {"version":3,"file":"persistentCheckpointsCache.d.ts","sourceRoot":"","sources":["../../../src/chain/stateCache/persistentCheckpointsCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persistentCheckpointsCache.d.ts","sourceRoot":"","sources":["../../../src/chain/stateCache/persistentCheckpointsCache.ts"],"names":[],"mappings":"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"}
@@ -62,6 +62,13 @@ import { CacheItemType } from "./types.js";
62
62
  * may not be available in memory, and stay on disk instead.
63
63
  */
64
64
  export const DEFAULT_MAX_CP_STATE_EPOCHS_IN_MEMORY = 3;
65
+ /**
66
+ * By default we don't prune any persistent checkpoint states as it's not safe to delete them during
67
+ * long non-finality as we don't know the state of the chain and there could be a deep (hundreds of epochs) reorg
68
+ * if there two competing chains with similar weight but we wouldn't have a close enough state to pivot to this chain
69
+ * and instead require a resync from last finalized checkpoint state which could be very far in the past.
70
+ */
71
+ export const DEFAULT_MAX_CP_STATE_ON_DISK = Infinity;
65
72
  // TODO GLOAS: re-evaluate this timing
66
73
  const PROCESS_CHECKPOINT_STATES_BPS = 6667;
67
74
  /**
@@ -107,6 +114,7 @@ export class PersistentCheckpointStateCache {
107
114
  preComputedCheckpoint = null;
108
115
  preComputedCheckpointHits = null;
109
116
  maxEpochsInMemory;
117
+ maxEpochsOnDisk;
110
118
  datastore;
111
119
  blockStateCache;
112
120
  bufferPool;
@@ -142,7 +150,11 @@ export class PersistentCheckpointStateCache {
142
150
  if (opts.maxCPStateEpochsInMemory !== undefined && opts.maxCPStateEpochsInMemory < 0) {
143
151
  throw new Error("maxEpochsInMemory must be >= 0");
144
152
  }
153
+ if (opts.maxCPStateEpochsOnDisk !== undefined && opts.maxCPStateEpochsOnDisk < 0) {
154
+ throw new Error("maxCPStateEpochsOnDisk must be >= 0");
155
+ }
145
156
  this.maxEpochsInMemory = opts.maxCPStateEpochsInMemory ?? DEFAULT_MAX_CP_STATE_EPOCHS_IN_MEMORY;
157
+ this.maxEpochsOnDisk = opts.maxCPStateEpochsOnDisk ?? DEFAULT_MAX_CP_STATE_ON_DISK;
146
158
  // Specify different datastore for testing
147
159
  this.datastore = datastore;
148
160
  this.blockStateCache = blockStateCache;
@@ -313,6 +325,7 @@ export class PersistentCheckpointStateCache {
313
325
  this.logger.verbose("Added checkpoint state to memory", { epoch: cp.epoch, rootHex: cpHex.rootHex });
314
326
  }
315
327
  this.epochIndex.getOrDefault(cp.epoch).add(cpHex.rootHex);
328
+ this.prunePersistedStates();
316
329
  }
317
330
  /**
318
331
  * Searches in-memory state for the latest cached state with a `root` without reload, starting with `epoch` and descending
@@ -707,12 +720,29 @@ export class PersistentCheckpointStateCache {
707
720
  this.cache.delete(key);
708
721
  }
709
722
  this.epochIndex.delete(epoch);
710
- this.logger.verbose("Pruned finalized checkpoints states for epoch", {
723
+ this.logger.verbose("Pruned checkpoint states for epoch", {
711
724
  epoch,
712
725
  persistCount,
713
726
  rootHexes: Array.from(rootHexes).join(","),
714
727
  });
715
728
  }
729
+ /**
730
+ * Prune persisted checkpoint states from disk.
731
+ * Note that this should handle all possible errors and not throw.
732
+ */
733
+ prunePersistedStates() {
734
+ // epochsOnDisk epochsInMemory
735
+ // |----------------------------------------------------------|----------------------|
736
+ const maxTrackedEpochs = this.maxEpochsOnDisk + this.maxEpochsInMemory;
737
+ if (this.epochIndex.size <= maxTrackedEpochs) {
738
+ return;
739
+ }
740
+ const sortedEpochs = Array.from(this.epochIndex.keys()).sort((a, b) => a - b);
741
+ const pruneEpochs = sortedEpochs.slice(0, sortedEpochs.length - maxTrackedEpochs);
742
+ for (const epoch of pruneEpochs) {
743
+ this.deleteAllEpochItems(epoch).catch((e) => this.logger.debug("Error delete all epoch items", { epoch, maxEpochsOnDisk: this.maxEpochsOnDisk, maxEpochsInMemory: this.maxEpochsInMemory }, e));
744
+ }
745
+ }
716
746
  /**
717
747
  * Serialize validators to bytes leveraging the buffer pool to save memory allocation.
718
748
  * - As monitored on holesky as of Jan 2024, it helps save ~500ms state reload time (4.3s vs 3.8s)