@lodestar/beacon-node 1.41.0-dev.b90dff673d → 1.41.0-dev.bb16850567

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 (171) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +9 -0
  3. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  4. package/lib/api/impl/beacon/state/utils.d.ts +2 -2
  5. package/lib/api/impl/beacon/state/utils.d.ts.map +1 -1
  6. package/lib/api/impl/beacon/state/utils.js.map +1 -1
  7. package/lib/api/impl/validator/index.d.ts.map +1 -1
  8. package/lib/api/impl/validator/index.js +5 -1
  9. package/lib/api/impl/validator/index.js.map +1 -1
  10. package/lib/chain/archiveStore/archiveStore.d.ts +0 -1
  11. package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
  12. package/lib/chain/archiveStore/archiveStore.js +0 -9
  13. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  14. package/lib/chain/archiveStore/interface.d.ts +4 -4
  15. package/lib/chain/archiveStore/interface.d.ts.map +1 -1
  16. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts +4 -4
  17. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +1 -1
  18. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js +4 -1
  19. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js.map +1 -1
  20. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +1 -1
  21. package/lib/chain/archiveStore/utils/archiveBlocks.js +38 -0
  22. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  23. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  24. package/lib/chain/blocks/importBlock.js +12 -8
  25. package/lib/chain/blocks/importBlock.js.map +1 -1
  26. package/lib/chain/blocks/verifyBlocksSignatures.js +1 -1
  27. package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
  28. package/lib/chain/chain.d.ts +3 -3
  29. package/lib/chain/chain.d.ts.map +1 -1
  30. package/lib/chain/chain.js +20 -9
  31. package/lib/chain/chain.js.map +1 -1
  32. package/lib/chain/interface.d.ts +2 -2
  33. package/lib/chain/interface.d.ts.map +1 -1
  34. package/lib/chain/prepareNextSlot.d.ts.map +1 -1
  35. package/lib/chain/prepareNextSlot.js +6 -2
  36. package/lib/chain/prepareNextSlot.js.map +1 -1
  37. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  38. package/lib/chain/produceBlock/produceBlockBody.js +9 -1
  39. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  40. package/lib/chain/regen/errors.d.ts +11 -1
  41. package/lib/chain/regen/errors.d.ts.map +1 -1
  42. package/lib/chain/regen/errors.js +2 -0
  43. package/lib/chain/regen/errors.js.map +1 -1
  44. package/lib/chain/regen/interface.d.ts +12 -6
  45. package/lib/chain/regen/interface.d.ts.map +1 -1
  46. package/lib/chain/regen/queued.d.ts +11 -6
  47. package/lib/chain/regen/queued.d.ts.map +1 -1
  48. package/lib/chain/regen/queued.js +40 -8
  49. package/lib/chain/regen/queued.js.map +1 -1
  50. package/lib/chain/regen/regen.d.ts +5 -0
  51. package/lib/chain/regen/regen.d.ts.map +1 -1
  52. package/lib/chain/regen/regen.js +33 -6
  53. package/lib/chain/regen/regen.js.map +1 -1
  54. package/lib/chain/stateCache/datastore/db.d.ts +4 -5
  55. package/lib/chain/stateCache/datastore/db.d.ts.map +1 -1
  56. package/lib/chain/stateCache/datastore/db.js +32 -10
  57. package/lib/chain/stateCache/datastore/db.js.map +1 -1
  58. package/lib/chain/stateCache/datastore/file.d.ts +1 -1
  59. package/lib/chain/stateCache/datastore/file.d.ts.map +1 -1
  60. package/lib/chain/stateCache/datastore/file.js +5 -5
  61. package/lib/chain/stateCache/datastore/file.js.map +1 -1
  62. package/lib/chain/stateCache/datastore/types.d.ts +1 -1
  63. package/lib/chain/stateCache/datastore/types.d.ts.map +1 -1
  64. package/lib/chain/stateCache/fifoBlockStateCache.d.ts +7 -4
  65. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +1 -1
  66. package/lib/chain/stateCache/fifoBlockStateCache.js +8 -3
  67. package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
  68. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +33 -14
  69. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +1 -1
  70. package/lib/chain/stateCache/persistentCheckpointsCache.js +217 -119
  71. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  72. package/lib/chain/stateCache/types.d.ts +15 -8
  73. package/lib/chain/stateCache/types.d.ts.map +1 -1
  74. package/lib/chain/stateCache/types.js.map +1 -1
  75. package/lib/chain/validation/dataColumnSidecar.d.ts +2 -1
  76. package/lib/chain/validation/dataColumnSidecar.d.ts.map +1 -1
  77. package/lib/chain/validation/dataColumnSidecar.js +124 -107
  78. package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
  79. package/lib/chain/validation/voluntaryExit.d.ts.map +1 -1
  80. package/lib/chain/validation/voluntaryExit.js +2 -2
  81. package/lib/chain/validation/voluntaryExit.js.map +1 -1
  82. package/lib/metrics/metrics/beacon.d.ts +2 -1
  83. package/lib/metrics/metrics/beacon.d.ts.map +1 -1
  84. package/lib/metrics/metrics/beacon.js +9 -3
  85. package/lib/metrics/metrics/beacon.js.map +1 -1
  86. package/lib/metrics/metrics/lodestar.d.ts +5 -5
  87. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  88. package/lib/metrics/metrics/lodestar.js +16 -14
  89. package/lib/metrics/metrics/lodestar.js.map +1 -1
  90. package/lib/network/discv5/utils.d.ts +1 -1
  91. package/lib/network/discv5/utils.d.ts.map +1 -1
  92. package/lib/network/discv5/utils.js +5 -4
  93. package/lib/network/discv5/utils.js.map +1 -1
  94. package/lib/network/gossip/gossipsub.d.ts.map +1 -1
  95. package/lib/network/gossip/gossipsub.js +9 -6
  96. package/lib/network/gossip/gossipsub.js.map +1 -1
  97. package/lib/network/libp2p/index.d.ts +1 -1
  98. package/lib/network/libp2p/index.d.ts.map +1 -1
  99. package/lib/network/libp2p/index.js +35 -17
  100. package/lib/network/libp2p/index.js.map +1 -1
  101. package/lib/network/metadata.d.ts +1 -0
  102. package/lib/network/metadata.d.ts.map +1 -1
  103. package/lib/network/metadata.js +1 -0
  104. package/lib/network/metadata.js.map +1 -1
  105. package/lib/network/options.d.ts +2 -0
  106. package/lib/network/options.d.ts.map +1 -1
  107. package/lib/network/options.js +3 -0
  108. package/lib/network/options.js.map +1 -1
  109. package/lib/network/peers/discover.d.ts +2 -0
  110. package/lib/network/peers/discover.d.ts.map +1 -1
  111. package/lib/network/peers/discover.js +41 -10
  112. package/lib/network/peers/discover.js.map +1 -1
  113. package/lib/sync/range/range.d.ts.map +1 -1
  114. package/lib/sync/range/range.js +1 -0
  115. package/lib/sync/range/range.js.map +1 -1
  116. package/lib/sync/utils/downloadByRange.d.ts +6 -3
  117. package/lib/sync/utils/downloadByRange.d.ts.map +1 -1
  118. package/lib/sync/utils/downloadByRange.js +6 -5
  119. package/lib/sync/utils/downloadByRange.js.map +1 -1
  120. package/lib/sync/utils/downloadByRoot.js +1 -1
  121. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  122. package/lib/util/dataColumns.d.ts.map +1 -1
  123. package/lib/util/dataColumns.js +5 -1
  124. package/lib/util/dataColumns.js.map +1 -1
  125. package/lib/util/execution.d.ts.map +1 -1
  126. package/lib/util/execution.js +17 -8
  127. package/lib/util/execution.js.map +1 -1
  128. package/package.json +28 -27
  129. package/src/api/impl/beacon/blocks/index.ts +11 -0
  130. package/src/api/impl/beacon/state/utils.ts +2 -2
  131. package/src/api/impl/validator/index.ts +7 -3
  132. package/src/chain/archiveStore/archiveStore.ts +0 -10
  133. package/src/chain/archiveStore/interface.ts +4 -4
  134. package/src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts +8 -5
  135. package/src/chain/archiveStore/utils/archiveBlocks.ts +59 -1
  136. package/src/chain/blocks/importBlock.ts +12 -7
  137. package/src/chain/blocks/verifyBlocksSignatures.ts +1 -1
  138. package/src/chain/chain.ts +27 -14
  139. package/src/chain/interface.ts +2 -2
  140. package/src/chain/prepareNextSlot.ts +6 -2
  141. package/src/chain/produceBlock/produceBlockBody.ts +8 -1
  142. package/src/chain/regen/errors.ts +6 -1
  143. package/src/chain/regen/interface.ts +12 -6
  144. package/src/chain/regen/queued.ts +48 -12
  145. package/src/chain/regen/regen.ts +37 -7
  146. package/src/chain/stateCache/datastore/db.ts +33 -10
  147. package/src/chain/stateCache/datastore/file.ts +6 -5
  148. package/src/chain/stateCache/datastore/types.ts +3 -2
  149. package/src/chain/stateCache/fifoBlockStateCache.ts +10 -4
  150. package/src/chain/stateCache/persistentCheckpointsCache.ts +248 -139
  151. package/src/chain/stateCache/types.ts +18 -8
  152. package/src/chain/validation/dataColumnSidecar.ts +146 -126
  153. package/src/chain/validation/voluntaryExit.ts +2 -1
  154. package/src/metrics/metrics/beacon.ts +9 -3
  155. package/src/metrics/metrics/lodestar.ts +16 -14
  156. package/src/network/discv5/utils.ts +5 -4
  157. package/src/network/gossip/gossipsub.ts +12 -7
  158. package/src/network/libp2p/index.ts +40 -18
  159. package/src/network/metadata.ts +1 -0
  160. package/src/network/options.ts +5 -1
  161. package/src/network/peers/discover.ts +46 -11
  162. package/src/sync/range/range.ts +1 -0
  163. package/src/sync/utils/downloadByRange.ts +12 -3
  164. package/src/sync/utils/downloadByRoot.ts +1 -1
  165. package/src/util/dataColumns.ts +6 -2
  166. package/src/util/execution.ts +23 -12
  167. package/lib/chain/archiveStore/utils/archivePayloads.d.ts +0 -7
  168. package/lib/chain/archiveStore/utils/archivePayloads.d.ts.map +0 -1
  169. package/lib/chain/archiveStore/utils/archivePayloads.js +0 -10
  170. package/lib/chain/archiveStore/utils/archivePayloads.js.map +0 -1
  171. package/src/chain/archiveStore/utils/archivePayloads.ts +0 -15
@@ -1 +1 @@
1
- {"version":3,"file":"fifoBlockStateCache.js","sourceRoot":"","sources":["../../../src/chain/stateCache/fifoBlockStateCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fifoBlockStateCache.js","sourceRoot":"","sources":["../../../src/chain/stateCache/fifoBlockStateCache.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAC,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAO3C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAC3C;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAElD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,mBAAmB;IACtB,SAAS,CAAS;IAET,KAAK,CAAgD;IACtE;;OAEG;IACc,QAAQ,CAAqB;IAC7B,OAAO,CAA2C;IAEnE,YAAY,IAA6B,EAAE,EAAC,OAAO,EAA6B,EAAE;QAChF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,IAAI,wBAAwB,CAAC;QACjE,IAAI,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACjD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;YAClC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,UAAU,EAAE,CAAC;IAAA,CAClC;IAED;;OAEG;IACH,YAAY,CAAC,IAAsC,EAAQ;QACzD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvB,CAAC;IAAA,CACF;IAED;;;;OAIG;IACH,YAAY,GAA8B;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;QAC9C,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YACpB,oBAAoB;YACpB,MAAM,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC;QACpC,iDAAiD;QACjD,OAAO,UAAU,CAAC;IAAA,CACnB;IAED;;OAEG;IACH,GAAG,CAAC,OAAgB,EAAoC;QACtD,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEzD,OAAO,IAAI,CAAC;IAAA,CACb;IAED;;;;OAIG;IACH,GAAG,CAAC,IAA+B,EAAE,MAAM,GAAG,KAAK,EAAQ;QACzD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,KAAK,CAAC,+CAA+C,GAAG,EAAE,CAAC,CAAC;YACpE,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAClC,CAAC;YACD,sBAAsB;YACtB,OAAO;QACT,CAAC;QAED,YAAY;QACZ,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1B,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,oBAAoB;YACpB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACjB,iDAAiD;gBACjD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAAA,CACjB;IAED,IAAI,IAAI,GAAW;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAAA,CACxB;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAoB,EAAQ;QAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACjC,uDAAuD;YACvD,kEAAkE;YAClE,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;gBACzB,MAAM;YACR,CAAC;YACD,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,oBAAoB;gBACpB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YACpB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;IAAA,CACF;IAED,cAAc,GAAS;QACrB,IAAI,CAAC,SAAS,GAAG,8BAA8B,CAAC;IAAA,CACjD;IAED;;;OAGG;IACH,oBAAoB,GAAS,EAAC,CAAC;IAE/B;;OAEG;IACH,KAAK,GAAS;QACZ,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAAA,CACpB;IAED,0DAA0D;IAC1D,WAAW,GAAqC;QAC9C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7D,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;YACrC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;YACzC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;YAC3C,eAAe,EAAE,KAAK;SACvB,CAAC,CAAC,CAAC;IAAA,CACL;IAED,SAAS,GAAgD;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IAAA,CAC5B;IAED;;OAEG;IACH,YAAY,GAAa;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAAA,CAChC;CACF"}
@@ -1,5 +1,6 @@
1
1
  import { routes } from "@lodestar/api";
2
2
  import { BeaconConfig } from "@lodestar/config";
3
+ import { CheckpointWithPayloadStatus } from "@lodestar/fork-choice";
3
4
  import { CachedBeaconStateAllForks } from "@lodestar/state-transition";
4
5
  import { Epoch, RootHex, phase0 } from "@lodestar/types";
5
6
  import { Logger } from "@lodestar/utils";
@@ -7,7 +8,7 @@ import { Metrics } from "../../metrics/index.js";
7
8
  import { BufferPool } from "../../util/bufferPool.js";
8
9
  import { IClock } from "../../util/clock.js";
9
10
  import { CPStateDatastore, DatastoreKey } from "./datastore/index.js";
10
- import { BlockStateCache, CheckpointHex, CheckpointStateCache } from "./types.js";
11
+ import { BlockStateCache, CheckpointHexPayload, CheckpointStateCache } from "./types.js";
11
12
  export type PersistentCheckpointStateCacheOpts = {
12
13
  /** Keep max n state epochs in memory, persist the rest to disk */
13
14
  maxCPStateEpochsInMemory?: number;
@@ -24,6 +25,8 @@ type PersistentCheckpointStateCacheModules = {
24
25
  blockStateCache: BlockStateCache;
25
26
  bufferPool?: BufferPool;
26
27
  };
28
+ /** checkpoint serialized as a string */
29
+ type CacheKey = string;
27
30
  type LoadedStateBytesData = {
28
31
  persistedKey: DatastoreKey;
29
32
  stateBytes: Uint8Array;
@@ -75,7 +78,7 @@ export declare const DEFAULT_MAX_CP_STATE_ON_DISK: number;
75
78
  */
76
79
  export declare class PersistentCheckpointStateCache implements CheckpointStateCache {
77
80
  private readonly cache;
78
- /** Epoch -> Set<blockRoot> */
81
+ /** Epoch -> Map<blockRoot, PayloadAvailability bitmask> */
79
82
  private readonly epochIndex;
80
83
  private readonly config;
81
84
  private readonly metrics;
@@ -101,27 +104,29 @@ export declare class PersistentCheckpointStateCache implements CheckpointStateCa
101
104
  * - Get block for processing
102
105
  * - Regen head state
103
106
  */
104
- getOrReload(cp: CheckpointHex): Promise<CachedBeaconStateAllForks | null>;
107
+ getOrReload(cp: CheckpointHexPayload): Promise<CachedBeaconStateAllForks | null>;
105
108
  /**
106
109
  * Return either state or state bytes loaded from db.
107
110
  */
108
- getStateOrBytes(cp: CheckpointHex): Promise<CachedBeaconStateAllForks | Uint8Array | null>;
111
+ getStateOrBytes(cp: CheckpointHexPayload): Promise<CachedBeaconStateAllForks | Uint8Array | null>;
109
112
  /**
110
113
  * Return either state or state bytes with persisted key loaded from db.
111
114
  */
112
- getStateOrLoadDb(cp: CheckpointHex): Promise<CachedBeaconStateAllForks | LoadedStateBytesData | null>;
115
+ getStateOrLoadDb(cp: CheckpointHexPayload): Promise<CachedBeaconStateAllForks | LoadedStateBytesData | null>;
113
116
  /**
114
117
  * Similar to get() api without reloading from disk
115
118
  */
116
- get(cpOrKey: CheckpointHex | string): CachedBeaconStateAllForks | null;
119
+ get(cpOrKey: CheckpointHexPayload | CacheKey): CachedBeaconStateAllForks | null;
117
120
  /**
118
121
  * Add a state of a checkpoint to this cache, prune from memory if necessary.
122
+ * @param payloadPresent - For Gloas: true if this is payload state, false if block state.
123
+ * Always true for pre-Gloas.
119
124
  */
120
- add(cp: phase0.Checkpoint, state: CachedBeaconStateAllForks): void;
125
+ add(cp: phase0.Checkpoint, state: CachedBeaconStateAllForks, payloadPresent: boolean): void;
121
126
  /**
122
127
  * Searches in-memory state for the latest cached state with a `root` without reload, starting with `epoch` and descending
123
128
  */
124
- getLatest(rootHex: RootHex, maxEpoch: Epoch): CachedBeaconStateAllForks | null;
129
+ getLatest(rootHex: RootHex, maxEpoch: Epoch, payloadPresent: boolean): CachedBeaconStateAllForks | null;
125
130
  /**
126
131
  * Searches state for the latest cached state with a `root`, reload if needed, starting with `epoch` and descending
127
132
  * This is expensive api, should only be called in some important flows:
@@ -129,12 +134,14 @@ export declare class PersistentCheckpointStateCache implements CheckpointStateCa
129
134
  * - Get block for processing
130
135
  * - Regen head state
131
136
  */
132
- getOrReloadLatest(rootHex: RootHex, maxEpoch: Epoch): Promise<CachedBeaconStateAllForks | null>;
137
+ getOrReloadLatest(rootHex: RootHex, maxEpoch: Epoch, payloadPresent: boolean): Promise<CachedBeaconStateAllForks | null>;
133
138
  /**
134
- * Update the precomputed checkpoint and return the number of his for the
139
+ * Update the precomputed checkpoint and return the number of hits for the
135
140
  * previous one (if any).
141
+ * @param payloadPresent - For Gloas: true if head block has FULL payload, false if EMPTY.
142
+ * Always true for pre-Gloas.
136
143
  */
137
- updatePreComputedCheckpoint(rootHex: RootHex, epoch: Epoch): number | null;
144
+ updatePreComputedCheckpoint(rootHex: RootHex, epoch: Epoch, payloadPresent: boolean): number | null;
138
145
  /**
139
146
  * This is just to conform to the old implementation
140
147
  */
@@ -192,6 +199,9 @@ export declare class PersistentCheckpointStateCache implements CheckpointStateCa
192
199
  * - 2 then we'll persist {root: b2, epoch n-2} checkpoint state to disk, there are also 2 checkpoint states in memory at epoch n, same to the above (maxEpochsInMemory=1)
193
200
  *
194
201
  * As of Mar 2024, it takes <=350ms to persist a holesky state on fast server
202
+ *
203
+ * For Gloas: Processes both block state and payload state variants together. The decision of which roots to persist/prune
204
+ * is based on root canonicality (from state's view), not payload presence. Both variants are managed as a unit.
195
205
  */
196
206
  processState(blockRootHex: RootHex, state: CachedBeaconStateAllForks): Promise<number>;
197
207
  /**
@@ -211,8 +221,11 @@ export declare class PersistentCheckpointStateCache implements CheckpointStateCa
211
221
  *
212
222
  * Use seed state from the block cache if cannot find any seed states within this cache.
213
223
  */
214
- findSeedStateToReload(reloadedCp: CheckpointHex): CachedBeaconStateAllForks;
224
+ findSeedStateToReload(reloadedCp: CheckpointHexPayload): CachedBeaconStateAllForks;
215
225
  clear(): void;
226
+ private addToEpochIndex;
227
+ private removeFromEpochIndex;
228
+ private hasPayloadVariant;
216
229
  /** ONLY FOR DEBUGGING PURPOSES. For lodestar debug API */
217
230
  dumpSummary(): routes.lodestar.StateCacheItem[];
218
231
  getStates(): IterableIterator<CachedBeaconStateAllForks>;
@@ -233,7 +246,13 @@ export declare class PersistentCheckpointStateCache implements CheckpointStateCa
233
246
  */
234
247
  private serializeStateValidators;
235
248
  }
236
- export declare function toCheckpointHex(checkpoint: phase0.Checkpoint): CheckpointHex;
237
- export declare function toCheckpointKey(cp: CheckpointHex): string;
249
+ export declare function toCheckpointHexPayload(checkpoint: phase0.Checkpoint, payloadPresent: boolean): CheckpointHexPayload;
250
+ /**
251
+ * Convert fork-choice CheckpointWithPayloadStatus to beacon-node CheckpointHexPayload.
252
+ * Maps PayloadStatus enum to boolean payloadPresent.
253
+ * @throws Error if checkpoint has PENDING payload status (ambiguous which variant to use)
254
+ */
255
+ export declare function fcCheckpointToHexPayload(checkpoint: CheckpointWithPayloadStatus): CheckpointHexPayload;
256
+ export declare function toCheckpointKey(cp: CheckpointHexPayload): string;
238
257
  export {};
239
258
  //# sourceMappingURL=persistentCheckpointsCache.d.ts.map
@@ -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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"}