@lodestar/beacon-node 1.41.0 → 1.42.0-dev.4118b5b440

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 (252) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +35 -16
  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 +6 -2
  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/blockInput/types.d.ts +4 -3
  24. package/lib/chain/blocks/blockInput/types.d.ts.map +1 -1
  25. package/lib/chain/blocks/blockInput/types.js +1 -0
  26. package/lib/chain/blocks/blockInput/types.js.map +1 -1
  27. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  28. package/lib/chain/blocks/importBlock.js +29 -9
  29. package/lib/chain/blocks/importBlock.js.map +1 -1
  30. package/lib/chain/blocks/importExecutionPayload.d.ts +48 -0
  31. package/lib/chain/blocks/importExecutionPayload.d.ts.map +1 -0
  32. package/lib/chain/blocks/importExecutionPayload.js +159 -0
  33. package/lib/chain/blocks/importExecutionPayload.js.map +1 -0
  34. package/lib/chain/blocks/payloadEnvelopeInput/index.d.ts +3 -0
  35. package/lib/chain/blocks/payloadEnvelopeInput/index.d.ts.map +1 -0
  36. package/lib/chain/blocks/payloadEnvelopeInput/index.js +3 -0
  37. package/lib/chain/blocks/payloadEnvelopeInput/index.js.map +1 -0
  38. package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.d.ts +80 -0
  39. package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.d.ts.map +1 -0
  40. package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.js +248 -0
  41. package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.js.map +1 -0
  42. package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts +29 -0
  43. package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts.map +1 -0
  44. package/lib/chain/blocks/payloadEnvelopeInput/types.js +11 -0
  45. package/lib/chain/blocks/payloadEnvelopeInput/types.js.map +1 -0
  46. package/lib/chain/blocks/payloadEnvelopeProcessor.d.ts +15 -0
  47. package/lib/chain/blocks/payloadEnvelopeProcessor.d.ts.map +1 -0
  48. package/lib/chain/blocks/payloadEnvelopeProcessor.js +46 -0
  49. package/lib/chain/blocks/payloadEnvelopeProcessor.js.map +1 -0
  50. package/lib/chain/blocks/types.d.ts +7 -0
  51. package/lib/chain/blocks/types.d.ts.map +1 -1
  52. package/lib/chain/blocks/verifyBlocksSignatures.js +1 -1
  53. package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
  54. package/lib/chain/blocks/writePayloadEnvelopeInputToDb.d.ts +12 -0
  55. package/lib/chain/blocks/writePayloadEnvelopeInputToDb.d.ts.map +1 -0
  56. package/lib/chain/blocks/writePayloadEnvelopeInputToDb.js +40 -0
  57. package/lib/chain/blocks/writePayloadEnvelopeInputToDb.js.map +1 -0
  58. package/lib/chain/chain.d.ts +10 -5
  59. package/lib/chain/chain.d.ts.map +1 -1
  60. package/lib/chain/chain.js +44 -10
  61. package/lib/chain/chain.js.map +1 -1
  62. package/lib/chain/errors/executionPayloadEnvelope.d.ts +12 -2
  63. package/lib/chain/errors/executionPayloadEnvelope.d.ts.map +1 -1
  64. package/lib/chain/errors/executionPayloadEnvelope.js +3 -1
  65. package/lib/chain/errors/executionPayloadEnvelope.js.map +1 -1
  66. package/lib/chain/forkChoice/index.d.ts.map +1 -1
  67. package/lib/chain/forkChoice/index.js +0 -10
  68. package/lib/chain/forkChoice/index.js.map +1 -1
  69. package/lib/chain/interface.d.ts +8 -5
  70. package/lib/chain/interface.d.ts.map +1 -1
  71. package/lib/chain/opPools/utils.js +1 -1
  72. package/lib/chain/opPools/utils.js.map +1 -1
  73. package/lib/chain/prepareNextSlot.d.ts.map +1 -1
  74. package/lib/chain/prepareNextSlot.js +6 -2
  75. package/lib/chain/prepareNextSlot.js.map +1 -1
  76. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +1 -1
  77. package/lib/chain/produceBlock/computeNewStateRoot.js +6 -1
  78. package/lib/chain/produceBlock/computeNewStateRoot.js.map +1 -1
  79. package/lib/chain/produceBlock/produceBlockBody.js +1 -1
  80. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  81. package/lib/chain/regen/errors.d.ts +11 -1
  82. package/lib/chain/regen/errors.d.ts.map +1 -1
  83. package/lib/chain/regen/errors.js +2 -0
  84. package/lib/chain/regen/errors.js.map +1 -1
  85. package/lib/chain/regen/interface.d.ts +14 -6
  86. package/lib/chain/regen/interface.d.ts.map +1 -1
  87. package/lib/chain/regen/interface.js +2 -0
  88. package/lib/chain/regen/interface.js.map +1 -1
  89. package/lib/chain/regen/queued.d.ts +11 -6
  90. package/lib/chain/regen/queued.d.ts.map +1 -1
  91. package/lib/chain/regen/queued.js +40 -8
  92. package/lib/chain/regen/queued.js.map +1 -1
  93. package/lib/chain/regen/regen.d.ts +5 -0
  94. package/lib/chain/regen/regen.d.ts.map +1 -1
  95. package/lib/chain/regen/regen.js +33 -6
  96. package/lib/chain/regen/regen.js.map +1 -1
  97. package/lib/chain/seenCache/index.d.ts +1 -1
  98. package/lib/chain/seenCache/index.d.ts.map +1 -1
  99. package/lib/chain/seenCache/index.js +1 -1
  100. package/lib/chain/seenCache/index.js.map +1 -1
  101. package/lib/chain/seenCache/seenGossipBlockInput.js +2 -2
  102. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  103. package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts +38 -0
  104. package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts.map +1 -0
  105. package/lib/chain/seenCache/seenPayloadEnvelopeInput.js +76 -0
  106. package/lib/chain/seenCache/seenPayloadEnvelopeInput.js.map +1 -0
  107. package/lib/chain/stateCache/datastore/db.d.ts +4 -5
  108. package/lib/chain/stateCache/datastore/db.d.ts.map +1 -1
  109. package/lib/chain/stateCache/datastore/db.js +32 -10
  110. package/lib/chain/stateCache/datastore/db.js.map +1 -1
  111. package/lib/chain/stateCache/datastore/file.d.ts +1 -1
  112. package/lib/chain/stateCache/datastore/file.d.ts.map +1 -1
  113. package/lib/chain/stateCache/datastore/file.js +5 -5
  114. package/lib/chain/stateCache/datastore/file.js.map +1 -1
  115. package/lib/chain/stateCache/datastore/types.d.ts +1 -1
  116. package/lib/chain/stateCache/datastore/types.d.ts.map +1 -1
  117. package/lib/chain/stateCache/fifoBlockStateCache.d.ts +7 -4
  118. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +1 -1
  119. package/lib/chain/stateCache/fifoBlockStateCache.js +8 -3
  120. package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
  121. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +33 -14
  122. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +1 -1
  123. package/lib/chain/stateCache/persistentCheckpointsCache.js +217 -119
  124. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  125. package/lib/chain/stateCache/types.d.ts +15 -8
  126. package/lib/chain/stateCache/types.d.ts.map +1 -1
  127. package/lib/chain/stateCache/types.js.map +1 -1
  128. package/lib/chain/validation/executionPayloadEnvelope.d.ts.map +1 -1
  129. package/lib/chain/validation/executionPayloadEnvelope.js +30 -19
  130. package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
  131. package/lib/chain/validation/lightClientFinalityUpdate.js +1 -1
  132. package/lib/chain/validation/lightClientFinalityUpdate.js.map +1 -1
  133. package/lib/chain/validation/lightClientOptimisticUpdate.js +1 -1
  134. package/lib/chain/validation/lightClientOptimisticUpdate.js.map +1 -1
  135. package/lib/chain/validation/syncCommittee.d.ts +2 -2
  136. package/lib/chain/validation/syncCommittee.d.ts.map +1 -1
  137. package/lib/chain/validation/syncCommittee.js +12 -11
  138. package/lib/chain/validation/syncCommittee.js.map +1 -1
  139. package/lib/chain/validation/voluntaryExit.d.ts.map +1 -1
  140. package/lib/chain/validation/voluntaryExit.js +2 -2
  141. package/lib/chain/validation/voluntaryExit.js.map +1 -1
  142. package/lib/chain/validatorMonitor.d.ts +2 -1
  143. package/lib/chain/validatorMonitor.d.ts.map +1 -1
  144. package/lib/chain/validatorMonitor.js +4 -1
  145. package/lib/chain/validatorMonitor.js.map +1 -1
  146. package/lib/execution/engine/interface.d.ts +2 -2
  147. package/lib/metrics/metrics/lodestar.d.ts +40 -4
  148. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  149. package/lib/metrics/metrics/lodestar.js +93 -15
  150. package/lib/metrics/metrics/lodestar.js.map +1 -1
  151. package/lib/network/gossip/encoding.d.ts.map +1 -1
  152. package/lib/network/gossip/encoding.js +15 -0
  153. package/lib/network/gossip/encoding.js.map +1 -1
  154. package/lib/network/interface.d.ts +1 -1
  155. package/lib/network/interface.d.ts.map +1 -1
  156. package/lib/network/network.d.ts +1 -1
  157. package/lib/network/network.d.ts.map +1 -1
  158. package/lib/network/network.js +4 -4
  159. package/lib/network/network.js.map +1 -1
  160. package/lib/network/processor/extractSlotRootFns.d.ts +1 -1
  161. package/lib/network/processor/extractSlotRootFns.d.ts.map +1 -1
  162. package/lib/network/processor/extractSlotRootFns.js +15 -5
  163. package/lib/network/processor/extractSlotRootFns.js.map +1 -1
  164. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  165. package/lib/network/processor/gossipHandlers.js +39 -9
  166. package/lib/network/processor/gossipHandlers.js.map +1 -1
  167. package/lib/network/processor/index.d.ts +12 -7
  168. package/lib/network/processor/index.d.ts.map +1 -1
  169. package/lib/network/processor/index.js +99 -78
  170. package/lib/network/processor/index.js.map +1 -1
  171. package/lib/network/reqresp/ReqRespBeaconNode.d.ts +1 -1
  172. package/lib/network/reqresp/ReqRespBeaconNode.js +1 -1
  173. package/lib/sync/backfill/backfill.d.ts +1 -1
  174. package/lib/sync/backfill/backfill.js +1 -1
  175. package/lib/sync/constants.d.ts +1 -1
  176. package/lib/sync/constants.js +1 -1
  177. package/lib/sync/unknownBlock.d.ts +3 -9
  178. package/lib/sync/unknownBlock.d.ts.map +1 -1
  179. package/lib/sync/unknownBlock.js +8 -41
  180. package/lib/sync/unknownBlock.js.map +1 -1
  181. package/lib/util/sszBytes.d.ts +4 -1
  182. package/lib/util/sszBytes.d.ts.map +1 -1
  183. package/lib/util/sszBytes.js +69 -12
  184. package/lib/util/sszBytes.js.map +1 -1
  185. package/package.json +15 -15
  186. package/src/api/impl/beacon/blocks/index.ts +36 -17
  187. package/src/api/impl/beacon/state/utils.ts +2 -2
  188. package/src/api/impl/validator/index.ts +8 -4
  189. package/src/chain/archiveStore/archiveStore.ts +0 -10
  190. package/src/chain/archiveStore/interface.ts +4 -4
  191. package/src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts +8 -5
  192. package/src/chain/archiveStore/utils/archiveBlocks.ts +59 -1
  193. package/src/chain/blocks/blockInput/types.ts +4 -3
  194. package/src/chain/blocks/importBlock.ts +47 -8
  195. package/src/chain/blocks/importExecutionPayload.ts +241 -0
  196. package/src/chain/blocks/payloadEnvelopeInput/index.ts +2 -0
  197. package/src/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.ts +336 -0
  198. package/src/chain/blocks/payloadEnvelopeInput/types.ts +33 -0
  199. package/src/chain/blocks/payloadEnvelopeProcessor.ts +61 -0
  200. package/src/chain/blocks/types.ts +8 -0
  201. package/src/chain/blocks/verifyBlocksSignatures.ts +1 -1
  202. package/src/chain/blocks/writePayloadEnvelopeInputToDb.ts +55 -0
  203. package/src/chain/chain.ts +60 -15
  204. package/src/chain/errors/executionPayloadEnvelope.ts +6 -2
  205. package/src/chain/forkChoice/index.ts +0 -10
  206. package/src/chain/interface.ts +8 -5
  207. package/src/chain/opPools/utils.ts +1 -1
  208. package/src/chain/prepareNextSlot.ts +6 -2
  209. package/src/chain/produceBlock/computeNewStateRoot.ts +6 -1
  210. package/src/chain/produceBlock/produceBlockBody.ts +1 -1
  211. package/src/chain/regen/errors.ts +6 -1
  212. package/src/chain/regen/interface.ts +14 -6
  213. package/src/chain/regen/queued.ts +48 -12
  214. package/src/chain/regen/regen.ts +37 -7
  215. package/src/chain/seenCache/index.ts +1 -1
  216. package/src/chain/seenCache/seenGossipBlockInput.ts +2 -2
  217. package/src/chain/seenCache/seenPayloadEnvelopeInput.ts +106 -0
  218. package/src/chain/stateCache/datastore/db.ts +33 -10
  219. package/src/chain/stateCache/datastore/file.ts +6 -5
  220. package/src/chain/stateCache/datastore/types.ts +3 -2
  221. package/src/chain/stateCache/fifoBlockStateCache.ts +10 -4
  222. package/src/chain/stateCache/persistentCheckpointsCache.ts +248 -139
  223. package/src/chain/stateCache/types.ts +18 -8
  224. package/src/chain/validation/executionPayloadEnvelope.ts +38 -25
  225. package/src/chain/validation/lightClientFinalityUpdate.ts +1 -1
  226. package/src/chain/validation/lightClientOptimisticUpdate.ts +1 -1
  227. package/src/chain/validation/syncCommittee.ts +15 -14
  228. package/src/chain/validation/voluntaryExit.ts +2 -1
  229. package/src/chain/validatorMonitor.ts +11 -1
  230. package/src/execution/engine/interface.ts +2 -2
  231. package/src/metrics/metrics/lodestar.ts +100 -19
  232. package/src/network/gossip/encoding.ts +16 -0
  233. package/src/network/interface.ts +1 -1
  234. package/src/network/network.ts +4 -4
  235. package/src/network/processor/extractSlotRootFns.ts +19 -6
  236. package/src/network/processor/gossipHandlers.ts +45 -8
  237. package/src/network/processor/index.ts +110 -89
  238. package/src/network/reqresp/ReqRespBeaconNode.ts +1 -1
  239. package/src/sync/backfill/backfill.ts +1 -1
  240. package/src/sync/constants.ts +1 -1
  241. package/src/sync/unknownBlock.ts +10 -50
  242. package/src/util/sszBytes.ts +90 -10
  243. package/lib/chain/archiveStore/utils/archivePayloads.d.ts +0 -7
  244. package/lib/chain/archiveStore/utils/archivePayloads.d.ts.map +0 -1
  245. package/lib/chain/archiveStore/utils/archivePayloads.js +0 -10
  246. package/lib/chain/archiveStore/utils/archivePayloads.js.map +0 -1
  247. package/lib/chain/seenCache/seenExecutionPayloadEnvelope.d.ts +0 -15
  248. package/lib/chain/seenCache/seenExecutionPayloadEnvelope.d.ts.map +0 -1
  249. package/lib/chain/seenCache/seenExecutionPayloadEnvelope.js +0 -28
  250. package/lib/chain/seenCache/seenExecutionPayloadEnvelope.js.map +0 -1
  251. package/src/chain/archiveStore/utils/archivePayloads.ts +0 -15
  252. package/src/chain/seenCache/seenExecutionPayloadEnvelope.ts +0 -34
@@ -3,6 +3,6 @@ export { SeenBlockProposers } from "./seenBlockProposers.js";
3
3
  export { SeenSyncCommitteeMessages } from "./seenCommittee.js";
4
4
  export { SeenContributionAndProof } from "./seenCommitteeContribution.js";
5
5
  export { SeenExecutionPayloadBids } from "./seenExecutionPayloadBids.js";
6
- export { SeenExecutionPayloadEnvelopes } from "./seenExecutionPayloadEnvelope.js";
7
6
  export { SeenBlockInput } from "./seenGossipBlockInput.js";
7
+ export { PayloadEnvelopeInput, SeenPayloadEnvelopeInput } from "./seenPayloadEnvelopeInput.js";
8
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chain/seenCache/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAE,aAAa,EAAE,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAC,yBAAyB,EAAC,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAC,wBAAwB,EAAC,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAC,wBAAwB,EAAC,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAC,6BAA6B,EAAC,MAAM,mCAAmC,CAAC;AAChF,OAAO,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chain/seenCache/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAE,aAAa,EAAE,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAC,yBAAyB,EAAC,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAC,wBAAwB,EAAC,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAC,wBAAwB,EAAC,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAC,oBAAoB,EAAE,wBAAwB,EAAC,MAAM,+BAA+B,CAAC"}
@@ -108,7 +108,7 @@ export class SeenBlockInput {
108
108
  blockInput = this.blockInputs.get(parentRootHex ?? "");
109
109
  parentRootHex = blockInput?.parentRootHex;
110
110
  }
111
- this.logger?.debug(`BlockInputCache.prune deleted ${deletedCount} cached BlockInputs`);
111
+ this.logger?.debug("BlockInputCache.prune deleted cached BlockInputs", { deletedCount });
112
112
  this.pruneToMaxSize();
113
113
  }
114
114
  onFinalized = (checkpoint) => {
@@ -120,7 +120,7 @@ export class SeenBlockInput {
120
120
  this.evictBlockInput(blockInput);
121
121
  }
122
122
  }
123
- this.logger?.debug(`BlockInputCache.onFinalized deleted ${deletedCount} cached BlockInputs`);
123
+ this.logger?.debug("BlockInputCache.onFinalized deleted cached BlockInputs", { deletedCount });
124
124
  this.pruneToMaxSize();
125
125
  };
126
126
  getByBlock({ blockRootHex, block, source, seenTimestampSec, peerIdStr }) {
@@ -1 +1 @@
1
- {"version":3,"file":"seenGossipBlockInput.js","sourceRoot":"","sources":["../../../src/chain/seenCache/seenGossipBlockInput.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seenGossipBlockInput.js","sourceRoot":"","sources":["../../../src/chain/seenCache/seenGossipBlockInput.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { RootHex } from "@lodestar/types";
2
+ import { Logger } from "@lodestar/utils";
3
+ import { Metrics } from "../../metrics/metrics.js";
4
+ import { SerializedCache } from "../../util/serializedCache.js";
5
+ import { CreateFromBlockProps, PayloadEnvelopeInput } from "../blocks/payloadEnvelopeInput/index.js";
6
+ import { ChainEventEmitter } from "../emitter.js";
7
+ export type { PayloadEnvelopeInputState } from "../blocks/payloadEnvelopeInput/index.js";
8
+ export { PayloadEnvelopeInput } from "../blocks/payloadEnvelopeInput/index.js";
9
+ export type SeenPayloadEnvelopeInputModules = {
10
+ chainEvents: ChainEventEmitter;
11
+ signal: AbortSignal;
12
+ serializedCache: SerializedCache;
13
+ metrics: Metrics | null;
14
+ logger?: Logger;
15
+ };
16
+ /**
17
+ * Cache for tracking PayloadEnvelopeInput instances, keyed by beacon block root.
18
+ *
19
+ * Created during block import when a block is processed.
20
+ * Pruned on finalization and after payload is written to DB.
21
+ */
22
+ export declare class SeenPayloadEnvelopeInput {
23
+ private readonly chainEvents;
24
+ private readonly signal;
25
+ private readonly serializedCache;
26
+ private readonly metrics;
27
+ private readonly logger?;
28
+ private payloadInputs;
29
+ constructor({ chainEvents, signal, serializedCache, metrics, logger }: SeenPayloadEnvelopeInputModules);
30
+ private onFinalized;
31
+ add(props: CreateFromBlockProps): PayloadEnvelopeInput;
32
+ get(blockRootHex: RootHex): PayloadEnvelopeInput | undefined;
33
+ has(blockRootHex: RootHex): boolean;
34
+ prune(blockRootHex: RootHex): void;
35
+ size(): number;
36
+ private evictPayloadInput;
37
+ }
38
+ //# sourceMappingURL=seenPayloadEnvelopeInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seenPayloadEnvelopeInput.d.ts","sourceRoot":"","sources":["../../../src/chain/seenCache/seenPayloadEnvelopeInput.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAC,oBAAoB,EAAE,oBAAoB,EAAC,MAAM,yCAAyC,CAAC;AACnG,OAAO,EAAa,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAE5D,YAAY,EAAC,yBAAyB,EAAC,MAAM,yCAAyC,CAAC;AACvF,OAAO,EAAC,oBAAoB,EAAC,MAAM,yCAAyC,CAAC;AAE7E,MAAM,MAAM,+BAA+B,GAAG;IAC5C,WAAW,EAAE,iBAAiB,CAAC;IAC/B,MAAM,EAAE,WAAW,CAAC;IACpB,eAAe,EAAE,eAAe,CAAC;IACjC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,aAAa,CAA4C;IAEjE,YAAY,EAAC,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAC,EAAE,+BAA+B,EAuBnG;IAED,OAAO,CAAC,WAAW,CAWjB;IAEF,GAAG,CAAC,KAAK,EAAE,oBAAoB,GAAG,oBAAoB,CAQrD;IAED,GAAG,CAAC,YAAY,EAAE,OAAO,GAAG,oBAAoB,GAAG,SAAS,CAE3D;IAED,GAAG,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAElC;IAED,KAAK,CAAC,YAAY,EAAE,OAAO,GAAG,IAAI,CAKjC;IAED,IAAI,IAAI,MAAM,CAEb;IAED,OAAO,CAAC,iBAAiB;CAI1B"}
@@ -0,0 +1,76 @@
1
+ import { computeStartSlotAtEpoch } from "@lodestar/state-transition";
2
+ import { PayloadEnvelopeInput } from "../blocks/payloadEnvelopeInput/index.js";
3
+ import { ChainEvent } from "../emitter.js";
4
+ export { PayloadEnvelopeInput } from "../blocks/payloadEnvelopeInput/index.js";
5
+ /**
6
+ * Cache for tracking PayloadEnvelopeInput instances, keyed by beacon block root.
7
+ *
8
+ * Created during block import when a block is processed.
9
+ * Pruned on finalization and after payload is written to DB.
10
+ */
11
+ export class SeenPayloadEnvelopeInput {
12
+ chainEvents;
13
+ signal;
14
+ serializedCache;
15
+ metrics;
16
+ logger;
17
+ payloadInputs = new Map();
18
+ constructor({ chainEvents, signal, serializedCache, metrics, logger }) {
19
+ this.chainEvents = chainEvents;
20
+ this.signal = signal;
21
+ this.serializedCache = serializedCache;
22
+ this.metrics = metrics;
23
+ this.logger = logger;
24
+ if (metrics) {
25
+ metrics.seenCache.payloadEnvelopeInput.count.addCollect(() => {
26
+ metrics.seenCache.payloadEnvelopeInput.count.set(this.payloadInputs.size);
27
+ metrics.seenCache.payloadEnvelopeInput.serializedObjectRefs.set(Array.from(this.payloadInputs.values()).reduce((count, payloadInput) => count + payloadInput.getSerializedCacheKeys().length, 0));
28
+ });
29
+ }
30
+ this.chainEvents.on(ChainEvent.forkChoiceFinalized, this.onFinalized);
31
+ this.signal.addEventListener("abort", () => {
32
+ this.chainEvents.off(ChainEvent.forkChoiceFinalized, this.onFinalized);
33
+ });
34
+ }
35
+ onFinalized = (checkpoint) => {
36
+ // Prune all entries with slot < finalized slot
37
+ const finalizedSlot = computeStartSlotAtEpoch(checkpoint.epoch);
38
+ let deletedCount = 0;
39
+ for (const [, input] of this.payloadInputs) {
40
+ if (input.slot < finalizedSlot) {
41
+ this.evictPayloadInput(input);
42
+ deletedCount++;
43
+ }
44
+ }
45
+ this.logger?.debug("SeenPayloadEnvelopeInput.onFinalized deleted cached entries", { deletedCount });
46
+ };
47
+ add(props) {
48
+ if (this.payloadInputs.has(props.blockRootHex)) {
49
+ throw new Error(`PayloadEnvelopeInput already exists for block ${props.blockRootHex}`);
50
+ }
51
+ const input = PayloadEnvelopeInput.createFromBlock(props);
52
+ this.payloadInputs.set(props.blockRootHex, input);
53
+ this.metrics?.seenCache.payloadEnvelopeInput.created.inc();
54
+ return input;
55
+ }
56
+ get(blockRootHex) {
57
+ return this.payloadInputs.get(blockRootHex);
58
+ }
59
+ has(blockRootHex) {
60
+ return this.payloadInputs.has(blockRootHex);
61
+ }
62
+ prune(blockRootHex) {
63
+ const payloadInput = this.payloadInputs.get(blockRootHex);
64
+ if (payloadInput) {
65
+ this.evictPayloadInput(payloadInput);
66
+ }
67
+ }
68
+ size() {
69
+ return this.payloadInputs.size;
70
+ }
71
+ evictPayloadInput(payloadInput) {
72
+ this.serializedCache.delete(payloadInput.getSerializedCacheKeys());
73
+ this.payloadInputs.delete(payloadInput.blockRootHex);
74
+ }
75
+ }
76
+ //# sourceMappingURL=seenPayloadEnvelopeInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seenPayloadEnvelopeInput.js","sourceRoot":"","sources":["../../../src/chain/seenCache/seenPayloadEnvelopeInput.ts"],"names":[],"mappings":"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"}
@@ -7,18 +7,17 @@ import { CPStateDatastore, DatastoreKey } from "./types.js";
7
7
  export declare class DbCPStateDatastore implements CPStateDatastore {
8
8
  private readonly db;
9
9
  constructor(db: IBeaconDb);
10
- write(cpKey: phase0.Checkpoint, stateBytes: Uint8Array): Promise<DatastoreKey>;
10
+ write(cpKey: phase0.Checkpoint, stateBytes: Uint8Array, payloadPresent: boolean): Promise<DatastoreKey>;
11
11
  remove(serializedCheckpoint: DatastoreKey): Promise<void>;
12
12
  read(serializedCheckpoint: DatastoreKey): Promise<Uint8Array | null>;
13
13
  readLatestSafe(): Promise<Uint8Array | null>;
14
14
  readKeys(): Promise<DatastoreKey[]>;
15
15
  }
16
16
  export declare function datastoreKeyToCheckpoint(key: DatastoreKey): phase0.Checkpoint;
17
- export declare function checkpointToDatastoreKey(cp: phase0.Checkpoint): DatastoreKey;
17
+ export declare function checkpointToDatastoreKey(cp: phase0.Checkpoint, payloadPresent: boolean): DatastoreKey;
18
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
19
+ * Get the latest "safe" checkpoint state the node can use to boot from
20
+ * - its last processed block slot should be at epoch boundary (CRCS) or last slot of previous epoch (PRCS)
22
21
  * - state slot should be at epoch boundary
23
22
  * - state slot should be equal to epoch * SLOTS_PER_EPOCH
24
23
  *
@@ -1 +1 @@
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;IAA/B,YAA6B,EAAE,EAAE,SAAS,EAAI;IAExC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAInF;IAEK,MAAM,CAAC,oBAAoB,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9D;IAEK,IAAI,CAAC,oBAAoB,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAEzE;IAEK,cAAc,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAKjD;IAEK,QAAQ,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAExC;CACF;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
+ {"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;IAA/B,YAA6B,EAAE,EAAE,SAAS,EAAI;IAExC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAI5G;IAEK,MAAM,CAAC,oBAAoB,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9D;IAEK,IAAI,CAAC,oBAAoB,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAEzE;IAEK,cAAc,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAKjD;IAEK,QAAQ,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAExC;CACF;AAOD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAAC,UAAU,CAE7E;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,cAAc,EAAE,OAAO,GAAG,YAAY,CAMrG;AAMD;;;;;;;;GAQG;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,CAuE5B"}
@@ -1,6 +1,6 @@
1
1
  import { SLOTS_PER_EPOCH } from "@lodestar/params";
2
2
  import { ssz } from "@lodestar/types";
3
- import { MapDef } from "@lodestar/utils";
3
+ import { MapDef, byteArrayEquals } from "@lodestar/utils";
4
4
  import { getLastProcessedSlotFromBeaconStateSerialized, getSlotFromBeaconStateSerialized, } from "../../../util/sszBytes.js";
5
5
  /**
6
6
  * Implementation of CPStateDatastore using db.
@@ -10,8 +10,8 @@ export class DbCPStateDatastore {
10
10
  constructor(db) {
11
11
  this.db = db;
12
12
  }
13
- async write(cpKey, stateBytes) {
14
- const serializedCheckpoint = checkpointToDatastoreKey(cpKey);
13
+ async write(cpKey, stateBytes, payloadPresent) {
14
+ const serializedCheckpoint = checkpointToDatastoreKey(cpKey, payloadPresent);
15
15
  await this.db.checkpointState.putBinary(serializedCheckpoint, stateBytes);
16
16
  return serializedCheckpoint;
17
17
  }
@@ -31,16 +31,26 @@ export class DbCPStateDatastore {
31
31
  return this.db.checkpointState.keys();
32
32
  }
33
33
  }
34
+ function extractCheckpointBytes(key) {
35
+ const fixedSize = ssz.phase0.Checkpoint.minSize;
36
+ return key.subarray(0, fixedSize);
37
+ }
34
38
  export function datastoreKeyToCheckpoint(key) {
35
- return ssz.phase0.Checkpoint.deserialize(key);
39
+ return ssz.phase0.Checkpoint.deserialize(extractCheckpointBytes(key));
40
+ }
41
+ export function checkpointToDatastoreKey(cp, payloadPresent) {
42
+ const cpBytes = ssz.phase0.Checkpoint.serialize(cp);
43
+ const key = new Uint8Array(cpBytes.length + 1);
44
+ key.set(cpBytes);
45
+ key[cpBytes.length] = payloadPresent ? 1 : 0;
46
+ return key;
36
47
  }
37
- export function checkpointToDatastoreKey(cp) {
38
- return ssz.phase0.Checkpoint.serialize(cp);
48
+ function isPayloadCheckpointState(key) {
49
+ return key.at(-1) === 1;
39
50
  }
40
51
  /**
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
52
+ * Get the latest "safe" checkpoint state the node can use to boot from
53
+ * - its last processed block slot should be at epoch boundary (CRCS) or last slot of previous epoch (PRCS)
44
54
  * - state slot should be at epoch boundary
45
55
  * - state slot should be equal to epoch * SLOTS_PER_EPOCH
46
56
  *
@@ -55,10 +65,22 @@ export async function getLatestSafeDatastoreKey(allKeys, readFn) {
55
65
  }
56
66
  const dataStoreKeyByEpoch = new Map();
57
67
  for (const [epoch, keys] of checkpointsByEpoch.entries()) {
58
- // only consider epochs with a single checkpoint to avoid ambiguity from forks
59
68
  if (keys.length === 1) {
69
+ // PRCS (skipped slot) or CRCS and no payloadPresent
70
+ // Pre-gloas always fall into this case
60
71
  dataStoreKeyByEpoch.set(epoch, keys[0]);
61
72
  }
73
+ else if (keys.length === 2) {
74
+ // CRCS without payload and CRCS with payload
75
+ // ie Two keys for the same checkpoint with different payloadPresent suffix (FULL/EMPTY)
76
+ // TODO GLOAS: Here we pick FULL key, there is a chance that payload is orphaned hence we not be able to sync
77
+ const cp0 = extractCheckpointBytes(keys[0]);
78
+ const cp1 = extractCheckpointBytes(keys[1]);
79
+ if (byteArrayEquals(cp0, cp1)) {
80
+ const fullKey = isPayloadCheckpointState(keys[0]) ? keys[0] : keys[1];
81
+ dataStoreKeyByEpoch.set(epoch, fullKey);
82
+ }
83
+ }
62
84
  }
63
85
  const epochsDesc = Array.from(dataStoreKeyByEpoch.keys()).sort((a, b) => b - a);
64
86
  for (const epoch of epochsDesc) {
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../../../../src/chain/stateCache/datastore/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../../../src/chain/stateCache/datastore/db.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ export declare class FileCPStateDatastore implements CPStateDatastore {
7
7
  private readonly folderPath;
8
8
  constructor(dataDir: string);
9
9
  init(): Promise<void>;
10
- write(cpKey: phase0.Checkpoint, stateBytes: Uint8Array): Promise<DatastoreKey>;
10
+ write(cpKey: phase0.Checkpoint, stateBytes: Uint8Array, payloadPresent: boolean): Promise<DatastoreKey>;
11
11
  remove(serializedCheckpoint: DatastoreKey): Promise<void>;
12
12
  read(serializedCheckpoint: DatastoreKey): Promise<Uint8Array | null>;
13
13
  readLatestSafe(): Promise<Uint8Array | null>;
@@ -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;AAI5C,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,MAAM,YAAY,CAAC;AAK1D;;GAEG;AACH,qBAAa,oBAAqB,YAAW,gBAAgB;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,YAAY,OAAO,EAAE,MAAM,EAI1B;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAM1B;IAEK,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAKnF;IAEK,MAAM,CAAC,oBAAoB,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9D;IAEK,IAAI,CAAC,oBAAoB,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAGzE;IAEK,cAAc,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAKjD;IAEK,QAAQ,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAKxC;CACF"}
1
+ {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../../src/chain/stateCache/datastore/file.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAIvC,OAAO,EAAC,gBAAgB,EAAE,YAAY,EAAC,MAAM,YAAY,CAAC;AAM1D;;GAEG;AACH,qBAAa,oBAAqB,YAAW,gBAAgB;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,YAAY,OAAO,EAAE,MAAM,EAI1B;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAM1B;IAEK,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAK5G;IAEK,MAAM,CAAC,oBAAoB,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9D;IAEK,IAAI,CAAC,oBAAoB,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAGzE;IAEK,cAAc,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAKjD;IAEK,QAAQ,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAKxC;CACF"}
@@ -1,10 +1,10 @@
1
1
  import path from "node:path";
2
- import { ssz } from "@lodestar/types";
3
2
  import { fromHex, toHex } from "@lodestar/utils";
4
3
  import { ensureDir, readFile, readFileNames, removeFile, writeIfNotExist } from "../../../util/file.js";
5
- import { getLatestSafeDatastoreKey } from "./db.js";
4
+ import { checkpointToDatastoreKey, getLatestSafeDatastoreKey } from "./db.js";
6
5
  const CHECKPOINT_STATES_FOLDER = "checkpoint_states";
7
- const CHECKPOINT_FILE_NAME_LENGTH = 82;
6
+ /** 41 bytes (40 checkpoint + 1 payloadPresent) = 82 hex chars + "0x" prefix = 84 */
7
+ const CHECKPOINT_FILE_NAME_LENGTH = 84;
8
8
  /**
9
9
  * Implementation of CPStateDatastore using file system, this is beneficial for debugging.
10
10
  */
@@ -23,8 +23,8 @@ export class FileCPStateDatastore {
23
23
  // do nothing
24
24
  }
25
25
  }
26
- async write(cpKey, stateBytes) {
27
- const serializedCheckpoint = ssz.phase0.Checkpoint.serialize(cpKey);
26
+ async write(cpKey, stateBytes, payloadPresent) {
27
+ const serializedCheckpoint = checkpointToDatastoreKey(cpKey, payloadPresent);
28
28
  const filePath = path.join(this.folderPath, toHex(serializedCheckpoint));
29
29
  await writeIfNotExist(filePath, stateBytes);
30
30
  return serializedCheckpoint;
@@ -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;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,EAAE;QAC3B,kDAAkD;QAClD,+CAA+C;QAC/C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;IAAA,CAChE;IAED,KAAK,CAAC,IAAI,GAAkB;QAC1B,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,aAAa;QACf,CAAC;IAAA,CACF;IAED,KAAK,CAAC,KAAK,CAAC,KAAwB,EAAE,UAAsB,EAAyB;QACnF,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;IAAA,CAC7B;IAED,KAAK,CAAC,MAAM,CAAC,oBAAkC,EAAiB;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACzE,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;IAAA,CAC5B;IAED,KAAK,CAAC,IAAI,CAAC,oBAAkC,EAA8B;QACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACzE,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAAA,CAC3B;IAED,KAAK,CAAC,cAAc,GAA+B;QACjD,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;IAAA,CACjE;IAED,KAAK,CAAC,QAAQ,GAA4B;QACxC,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;IAAA,CACzC;CACF"}
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../../../src/chain/stateCache/datastore/file.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,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,wBAAwB,EAAE,yBAAyB,EAAC,MAAM,SAAS,CAAC;AAG5E,MAAM,wBAAwB,GAAG,mBAAmB,CAAC;AACrD,oFAAoF;AACpF,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAEvC;;GAEG;AACH,MAAM,OAAO,oBAAoB;IACd,UAAU,CAAS;IAEpC,YAAY,OAAe,EAAE;QAC3B,kDAAkD;QAClD,+CAA+C;QAC/C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;IAAA,CAChE;IAED,KAAK,CAAC,IAAI,GAAkB;QAC1B,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,aAAa;QACf,CAAC;IAAA,CACF;IAED,KAAK,CAAC,KAAK,CAAC,KAAwB,EAAE,UAAsB,EAAE,cAAuB,EAAyB;QAC5G,MAAM,oBAAoB,GAAG,wBAAwB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAC7E,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;IAAA,CAC7B;IAED,KAAK,CAAC,MAAM,CAAC,oBAAkC,EAAiB;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACzE,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;IAAA,CAC5B;IAED,KAAK,CAAC,IAAI,CAAC,oBAAkC,EAA8B;QACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACzE,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAAA,CAC3B;IAED,KAAK,CAAC,cAAc,GAA+B;QACjD,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;IAAA,CACjE;IAED,KAAK,CAAC,QAAQ,GAA4B;QACxC,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;IAAA,CACzC;CACF"}
@@ -1,7 +1,7 @@
1
1
  import { phase0 } from "@lodestar/types";
2
2
  export type DatastoreKey = Uint8Array;
3
3
  export interface CPStateDatastore {
4
- write: (cpKey: phase0.Checkpoint, stateBytes: Uint8Array) => Promise<DatastoreKey>;
4
+ write: (cpKey: phase0.Checkpoint, stateBytes: Uint8Array, payloadPresent: boolean) => Promise<DatastoreKey>;
5
5
  remove: (key: DatastoreKey) => Promise<void>;
6
6
  read: (key: DatastoreKey) => Promise<Uint8Array | null>;
7
7
  readLatestSafe: () => Promise<Uint8Array | null>;
@@ -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,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"}
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;AAIvC,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC;AAGtC,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5G,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"}
@@ -15,6 +15,11 @@ export type FIFOBlockStateCacheOpts = {
15
15
  * clock slot
16
16
  */
17
17
  export declare const DEFAULT_MAX_BLOCK_STATES = 64;
18
+ /**
19
+ * For Gloas (ePBS), each block can have two states: block state and payload state.
20
+ * Double the cache size to maintain the same effective block depth.
21
+ */
22
+ export declare const DEFAULT_MAX_BLOCK_STATES_GLOAS = 128;
18
23
  /**
19
24
  * New implementation of BlockStateCache that keeps the most recent n states consistently
20
25
  * - Maintain a linked list (FIFO) with special handling for head state, which is always the first item in the list
@@ -35,10 +40,7 @@ export declare const DEFAULT_MAX_BLOCK_STATES = 64;
35
40
  * The maintained key order would be: 11 -> 13 -> 12 -> 10, and state 10 will be pruned first.
36
41
  */
37
42
  export declare class FIFOBlockStateCache implements BlockStateCache {
38
- /**
39
- * Max number of states allowed in the cache
40
- */
41
- readonly maxStates: number;
43
+ private maxStates;
42
44
  private readonly cache;
43
45
  /**
44
46
  * Key order to implement FIFO cache
@@ -76,6 +78,7 @@ export declare class FIFOBlockStateCache implements BlockStateCache {
76
78
  * The FIFO cache helps with this.
77
79
  */
78
80
  prune(lastAddedKey: string): void;
81
+ upgradeToGloas(): void;
79
82
  /**
80
83
  * No need for this implementation
81
84
  * This is only to conform to the old api
@@ -1 +1 @@
1
- {"version":3,"file":"fifoBlockStateCache.d.ts","sourceRoot":"","sources":["../../../src/chain/stateCache/fifoBlockStateCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,yBAAyB,EAAC,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAExC,OAAO,EAAC,OAAO,EAAC,MAAM,wBAAwB,CAAC;AAG/C,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAE3C,MAAM,MAAM,uBAAuB,GAAG;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,mBAAoB,YAAW,eAAe;IACzD;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgD;IACtE;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2C;IAEnE,YAAY,IAAI,EAAE,uBAAuB,EAAE,EAAC,OAAO,EAAC,EAAE;QAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;KAAC,EAQ/E;IAED;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,yBAAyB,GAAG,IAAI,GAAG,IAAI,CAIzD;IAED;;;;OAIG;IACH,YAAY,IAAI,yBAAyB,CAUxC;IAED;;OAEG;IACH,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,yBAAyB,GAAG,IAAI,CAWtD;IAED;;;;OAIG;IACH,GAAG,CAAC,IAAI,EAAE,yBAAyB,EAAE,MAAM,UAAQ,GAAG,IAAI,CA+BzD;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAehC;IAED;;;OAGG;IACH,oBAAoB,IAAI,IAAI,CAAG;IAE/B;;OAEG;IACH,KAAK,IAAI,IAAI,CAEZ;IAED,0DAA0D;IAC1D,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,CAQ9C;IAED,SAAS,IAAI,gBAAgB,CAAC,yBAAyB,CAAC,CAEvD;IAED;;OAEG;IACH,YAAY,IAAI,MAAM,EAAE,CAEvB;CACF"}
1
+ {"version":3,"file":"fifoBlockStateCache.d.ts","sourceRoot":"","sources":["../../../src/chain/stateCache/fifoBlockStateCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,yBAAyB,EAAC,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAExC,OAAO,EAAC,OAAO,EAAC,MAAM,wBAAwB,CAAC;AAG/C,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAE3C,MAAM,MAAM,uBAAuB,GAAG;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C;;;GAGG;AACH,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAElD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,mBAAoB,YAAW,eAAe;IACzD,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgD;IACtE;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2C;IAEnE,YAAY,IAAI,EAAE,uBAAuB,EAAE,EAAC,OAAO,EAAC,EAAE;QAAC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;KAAC,EAQ/E;IAED;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,yBAAyB,GAAG,IAAI,GAAG,IAAI,CAIzD;IAED;;;;OAIG;IACH,YAAY,IAAI,yBAAyB,CAUxC;IAED;;OAEG;IACH,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,yBAAyB,GAAG,IAAI,CAWtD;IAED;;;;OAIG;IACH,GAAG,CAAC,IAAI,EAAE,yBAAyB,EAAE,MAAM,UAAQ,GAAG,IAAI,CA+BzD;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAehC;IAED,cAAc,IAAI,IAAI,CAErB;IAED;;;OAGG;IACH,oBAAoB,IAAI,IAAI,CAAG;IAE/B;;OAEG;IACH,KAAK,IAAI,IAAI,CAEZ;IAED,0DAA0D;IAC1D,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,CAQ9C;IAED,SAAS,IAAI,gBAAgB,CAAC,yBAAyB,CAAC,CAEvD;IAED;;OAEG;IACH,YAAY,IAAI,MAAM,EAAE,CAEvB;CACF"}
@@ -10,6 +10,11 @@ import { MapTracker } from "./mapMetrics.js";
10
10
  * clock slot
11
11
  */
12
12
  export const DEFAULT_MAX_BLOCK_STATES = 64;
13
+ /**
14
+ * For Gloas (ePBS), each block can have two states: block state and payload state.
15
+ * Double the cache size to maintain the same effective block depth.
16
+ */
17
+ export const DEFAULT_MAX_BLOCK_STATES_GLOAS = 128;
13
18
  /**
14
19
  * New implementation of BlockStateCache that keeps the most recent n states consistently
15
20
  * - Maintain a linked list (FIFO) with special handling for head state, which is always the first item in the list
@@ -30,9 +35,6 @@ export const DEFAULT_MAX_BLOCK_STATES = 64;
30
35
  * The maintained key order would be: 11 -> 13 -> 12 -> 10, and state 10 will be pruned first.
31
36
  */
32
37
  export class FIFOBlockStateCache {
33
- /**
34
- * Max number of states allowed in the cache
35
- */
36
38
  maxStates;
37
39
  cache;
38
40
  /**
@@ -149,6 +151,9 @@ export class FIFOBlockStateCache {
149
151
  this.cache.delete(key);
150
152
  }
151
153
  }
154
+ upgradeToGloas() {
155
+ this.maxStates = DEFAULT_MAX_BLOCK_STATES_GLOAS;
156
+ }
152
157
  /**
153
158
  * No need for this implementation
154
159
  * This is only to conform to the old api
@@ -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":"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"}