@lodestar/beacon-node 1.41.0-dev.b847afb846 → 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 (746) hide show
  1. package/lib/api/impl/api.js.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.d.ts +1 -1
  3. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  4. package/lib/api/impl/beacon/blocks/index.js +9 -0
  5. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  6. package/lib/api/impl/beacon/blocks/utils.js.map +1 -1
  7. package/lib/api/impl/beacon/index.js.map +1 -1
  8. package/lib/api/impl/beacon/pool/index.d.ts +1 -1
  9. package/lib/api/impl/beacon/pool/index.d.ts.map +1 -1
  10. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  11. package/lib/api/impl/beacon/rewards/index.d.ts +1 -1
  12. package/lib/api/impl/beacon/rewards/index.d.ts.map +1 -1
  13. package/lib/api/impl/beacon/rewards/index.js.map +1 -1
  14. package/lib/api/impl/beacon/state/index.d.ts +1 -1
  15. package/lib/api/impl/beacon/state/index.d.ts.map +1 -1
  16. package/lib/api/impl/beacon/state/index.js.map +1 -1
  17. package/lib/api/impl/beacon/state/utils.d.ts +2 -2
  18. package/lib/api/impl/beacon/state/utils.d.ts.map +1 -1
  19. package/lib/api/impl/beacon/state/utils.js.map +1 -1
  20. package/lib/api/impl/config/constants.js.map +1 -1
  21. package/lib/api/impl/config/index.js.map +1 -1
  22. package/lib/api/impl/debug/index.d.ts +1 -1
  23. package/lib/api/impl/debug/index.d.ts.map +1 -1
  24. package/lib/api/impl/debug/index.js.map +1 -1
  25. package/lib/api/impl/errors.d.ts.map +1 -1
  26. package/lib/api/impl/errors.js.map +1 -1
  27. package/lib/api/impl/events/index.d.ts +1 -1
  28. package/lib/api/impl/events/index.d.ts.map +1 -1
  29. package/lib/api/impl/events/index.js.map +1 -1
  30. package/lib/api/impl/lightclient/index.d.ts +1 -1
  31. package/lib/api/impl/lightclient/index.d.ts.map +1 -1
  32. package/lib/api/impl/lightclient/index.js.map +1 -1
  33. package/lib/api/impl/lodestar/index.d.ts +1 -1
  34. package/lib/api/impl/lodestar/index.d.ts.map +1 -1
  35. package/lib/api/impl/lodestar/index.js.map +1 -1
  36. package/lib/api/impl/node/index.js.map +1 -1
  37. package/lib/api/impl/node/utils.js.map +1 -1
  38. package/lib/api/impl/proof/index.js.map +1 -1
  39. package/lib/api/impl/utils.js.map +1 -1
  40. package/lib/api/impl/validator/index.d.ts.map +1 -1
  41. package/lib/api/impl/validator/index.js +9 -3
  42. package/lib/api/impl/validator/index.js.map +1 -1
  43. package/lib/api/impl/validator/utils.d.ts +1 -1
  44. package/lib/api/impl/validator/utils.d.ts.map +1 -1
  45. package/lib/api/impl/validator/utils.js.map +1 -1
  46. package/lib/api/rest/activeSockets.d.ts.map +1 -1
  47. package/lib/api/rest/activeSockets.js.map +1 -1
  48. package/lib/api/rest/base.d.ts.map +1 -1
  49. package/lib/api/rest/base.js.map +1 -1
  50. package/lib/api/rest/index.d.ts.map +1 -1
  51. package/lib/api/rest/index.js.map +1 -1
  52. package/lib/api/rest/swaggerUI.js.map +1 -1
  53. package/lib/bun-wrappers/prometheus-gc-stats.js.map +1 -1
  54. package/lib/chain/ColumnReconstructionTracker.d.ts.map +1 -1
  55. package/lib/chain/ColumnReconstructionTracker.js.map +1 -1
  56. package/lib/chain/GetBlobsTracker.d.ts.map +1 -1
  57. package/lib/chain/GetBlobsTracker.js.map +1 -1
  58. package/lib/chain/archiveStore/archiveStore.d.ts +0 -1
  59. package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
  60. package/lib/chain/archiveStore/archiveStore.js +2 -10
  61. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  62. package/lib/chain/archiveStore/historicalState/getHistoricalState.js.map +1 -1
  63. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +1 -1
  64. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
  65. package/lib/chain/archiveStore/historicalState/metrics.js.map +1 -1
  66. package/lib/chain/archiveStore/historicalState/types.js +2 -1
  67. package/lib/chain/archiveStore/historicalState/types.js.map +1 -1
  68. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
  69. package/lib/chain/archiveStore/interface.d.ts +4 -4
  70. package/lib/chain/archiveStore/interface.d.ts.map +1 -1
  71. package/lib/chain/archiveStore/interface.js +2 -1
  72. package/lib/chain/archiveStore/interface.js.map +1 -1
  73. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts +5 -5
  74. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +1 -1
  75. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js +6 -2
  76. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js.map +1 -1
  77. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +1 -1
  78. package/lib/chain/archiveStore/utils/archiveBlocks.js +38 -0
  79. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  80. package/lib/chain/archiveStore/utils/pruneHistory.js.map +1 -1
  81. package/lib/chain/archiveStore/utils/updateBackfillRange.js.map +1 -1
  82. package/lib/chain/balancesCache.d.ts.map +1 -1
  83. package/lib/chain/balancesCache.js.map +1 -1
  84. package/lib/chain/beaconProposerCache.d.ts.map +1 -1
  85. package/lib/chain/beaconProposerCache.js.map +1 -1
  86. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +1 -1
  87. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  88. package/lib/chain/blocks/blockInput/errors.js +2 -1
  89. package/lib/chain/blocks/blockInput/errors.js.map +1 -1
  90. package/lib/chain/blocks/blockInput/types.js +4 -2
  91. package/lib/chain/blocks/blockInput/types.js.map +1 -1
  92. package/lib/chain/blocks/blockInput/utils.js.map +1 -1
  93. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  94. package/lib/chain/blocks/importBlock.js +12 -8
  95. package/lib/chain/blocks/importBlock.js.map +1 -1
  96. package/lib/chain/blocks/index.d.ts.map +1 -1
  97. package/lib/chain/blocks/index.js.map +1 -1
  98. package/lib/chain/blocks/types.js +6 -3
  99. package/lib/chain/blocks/types.js.map +1 -1
  100. package/lib/chain/blocks/utils/chainSegment.js.map +1 -1
  101. package/lib/chain/blocks/utils/checkpoint.js.map +1 -1
  102. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  103. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  104. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  105. package/lib/chain/blocks/verifyBlocksSanityChecks.js.map +1 -1
  106. package/lib/chain/blocks/verifyBlocksSignatures.js +1 -1
  107. package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
  108. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js.map +1 -1
  109. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  110. package/lib/chain/bls/maybeBatch.js.map +1 -1
  111. package/lib/chain/bls/multithread/index.d.ts.map +1 -1
  112. package/lib/chain/bls/multithread/index.js.map +1 -1
  113. package/lib/chain/bls/multithread/jobItem.js +2 -1
  114. package/lib/chain/bls/multithread/jobItem.js.map +1 -1
  115. package/lib/chain/bls/multithread/types.js +2 -1
  116. package/lib/chain/bls/multithread/types.js.map +1 -1
  117. package/lib/chain/bls/multithread/utils.js.map +1 -1
  118. package/lib/chain/bls/multithread/worker.js.map +1 -1
  119. package/lib/chain/bls/singleThread.d.ts.map +1 -1
  120. package/lib/chain/bls/singleThread.js.map +1 -1
  121. package/lib/chain/bls/utils.js.map +1 -1
  122. package/lib/chain/chain.d.ts +6 -6
  123. package/lib/chain/chain.d.ts.map +1 -1
  124. package/lib/chain/chain.js +20 -9
  125. package/lib/chain/chain.js.map +1 -1
  126. package/lib/chain/emitter.d.ts +1 -3
  127. package/lib/chain/emitter.d.ts.map +1 -1
  128. package/lib/chain/emitter.js +2 -1
  129. package/lib/chain/emitter.js.map +1 -1
  130. package/lib/chain/errors/attestationError.d.ts.map +1 -1
  131. package/lib/chain/errors/attestationError.js +2 -1
  132. package/lib/chain/errors/attestationError.js.map +1 -1
  133. package/lib/chain/errors/attesterSlashingError.js +2 -1
  134. package/lib/chain/errors/attesterSlashingError.js.map +1 -1
  135. package/lib/chain/errors/blobSidecarError.js +2 -1
  136. package/lib/chain/errors/blobSidecarError.js.map +1 -1
  137. package/lib/chain/errors/blockError.d.ts.map +1 -1
  138. package/lib/chain/errors/blockError.js +2 -1
  139. package/lib/chain/errors/blockError.js.map +1 -1
  140. package/lib/chain/errors/blsToExecutionChangeError.js +2 -1
  141. package/lib/chain/errors/blsToExecutionChangeError.js.map +1 -1
  142. package/lib/chain/errors/dataColumnSidecarError.js +2 -1
  143. package/lib/chain/errors/dataColumnSidecarError.js.map +1 -1
  144. package/lib/chain/errors/executionPayloadBid.d.ts +1 -1
  145. package/lib/chain/errors/executionPayloadBid.js +2 -1
  146. package/lib/chain/errors/executionPayloadBid.js.map +1 -1
  147. package/lib/chain/errors/executionPayloadEnvelope.js +2 -1
  148. package/lib/chain/errors/executionPayloadEnvelope.js.map +1 -1
  149. package/lib/chain/errors/gossipValidation.d.ts.map +1 -1
  150. package/lib/chain/errors/gossipValidation.js +4 -2
  151. package/lib/chain/errors/gossipValidation.js.map +1 -1
  152. package/lib/chain/errors/lightClientError.js +4 -2
  153. package/lib/chain/errors/lightClientError.js.map +1 -1
  154. package/lib/chain/errors/payloadAttestation.d.ts +1 -1
  155. package/lib/chain/errors/payloadAttestation.js +2 -1
  156. package/lib/chain/errors/payloadAttestation.js.map +1 -1
  157. package/lib/chain/errors/proposerSlashingError.js +2 -1
  158. package/lib/chain/errors/proposerSlashingError.js.map +1 -1
  159. package/lib/chain/errors/syncCommitteeError.js +2 -1
  160. package/lib/chain/errors/syncCommitteeError.js.map +1 -1
  161. package/lib/chain/errors/voluntaryExitError.js +2 -1
  162. package/lib/chain/errors/voluntaryExitError.js.map +1 -1
  163. package/lib/chain/forkChoice/index.js +2 -1
  164. package/lib/chain/forkChoice/index.js.map +1 -1
  165. package/lib/chain/initState.d.ts +1 -1
  166. package/lib/chain/initState.d.ts.map +1 -1
  167. package/lib/chain/initState.js.map +1 -1
  168. package/lib/chain/interface.d.ts +2 -2
  169. package/lib/chain/interface.d.ts.map +1 -1
  170. package/lib/chain/interface.js +2 -1
  171. package/lib/chain/interface.js.map +1 -1
  172. package/lib/chain/lightClient/index.d.ts +0 -29
  173. package/lib/chain/lightClient/index.d.ts.map +1 -1
  174. package/lib/chain/lightClient/index.js.map +1 -1
  175. package/lib/chain/lightClient/proofs.js.map +1 -1
  176. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
  177. package/lib/chain/opPools/aggregatedAttestationPool.js +4 -2
  178. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  179. package/lib/chain/opPools/attestationPool.d.ts.map +1 -1
  180. package/lib/chain/opPools/attestationPool.js.map +1 -1
  181. package/lib/chain/opPools/executionPayloadBidPool.d.ts.map +1 -1
  182. package/lib/chain/opPools/executionPayloadBidPool.js.map +1 -1
  183. package/lib/chain/opPools/opPool.d.ts.map +1 -1
  184. package/lib/chain/opPools/opPool.js.map +1 -1
  185. package/lib/chain/opPools/payloadAttestationPool.d.ts.map +1 -1
  186. package/lib/chain/opPools/payloadAttestationPool.js.map +1 -1
  187. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +1 -1
  188. package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
  189. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +1 -1
  190. package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
  191. package/lib/chain/opPools/types.js +4 -2
  192. package/lib/chain/opPools/types.js.map +1 -1
  193. package/lib/chain/opPools/utils.js.map +1 -1
  194. package/lib/chain/prepareNextSlot.d.ts +1 -2
  195. package/lib/chain/prepareNextSlot.d.ts.map +1 -1
  196. package/lib/chain/prepareNextSlot.js +6 -2
  197. package/lib/chain/prepareNextSlot.js.map +1 -1
  198. package/lib/chain/produceBlock/computeNewStateRoot.d.ts +0 -1
  199. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +1 -1
  200. package/lib/chain/produceBlock/computeNewStateRoot.js +4 -3
  201. package/lib/chain/produceBlock/computeNewStateRoot.js.map +1 -1
  202. package/lib/chain/produceBlock/produceBlockBody.d.ts +1 -1
  203. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  204. package/lib/chain/produceBlock/produceBlockBody.js +15 -4
  205. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  206. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.js.map +1 -1
  207. package/lib/chain/regen/errors.d.ts +11 -1
  208. package/lib/chain/regen/errors.d.ts.map +1 -1
  209. package/lib/chain/regen/errors.js +4 -1
  210. package/lib/chain/regen/errors.js.map +1 -1
  211. package/lib/chain/regen/interface.d.ts +12 -6
  212. package/lib/chain/regen/interface.d.ts.map +1 -1
  213. package/lib/chain/regen/interface.js +4 -2
  214. package/lib/chain/regen/interface.js.map +1 -1
  215. package/lib/chain/regen/queued.d.ts +11 -6
  216. package/lib/chain/regen/queued.d.ts.map +1 -1
  217. package/lib/chain/regen/queued.js +40 -8
  218. package/lib/chain/regen/queued.js.map +1 -1
  219. package/lib/chain/regen/regen.d.ts +5 -0
  220. package/lib/chain/regen/regen.d.ts.map +1 -1
  221. package/lib/chain/regen/regen.js +33 -6
  222. package/lib/chain/regen/regen.js.map +1 -1
  223. package/lib/chain/reprocess.d.ts.map +1 -1
  224. package/lib/chain/reprocess.js +2 -1
  225. package/lib/chain/reprocess.js.map +1 -1
  226. package/lib/chain/seenCache/seenAggregateAndProof.d.ts.map +1 -1
  227. package/lib/chain/seenCache/seenAggregateAndProof.js.map +1 -1
  228. package/lib/chain/seenCache/seenAttestationData.d.ts.map +1 -1
  229. package/lib/chain/seenCache/seenAttestationData.js +2 -1
  230. package/lib/chain/seenCache/seenAttestationData.js.map +1 -1
  231. package/lib/chain/seenCache/seenAttesters.d.ts.map +1 -1
  232. package/lib/chain/seenCache/seenAttesters.js.map +1 -1
  233. package/lib/chain/seenCache/seenBlockAttesters.d.ts.map +1 -1
  234. package/lib/chain/seenCache/seenBlockAttesters.js.map +1 -1
  235. package/lib/chain/seenCache/seenBlockProposers.d.ts.map +1 -1
  236. package/lib/chain/seenCache/seenBlockProposers.js.map +1 -1
  237. package/lib/chain/seenCache/seenCommittee.d.ts.map +1 -1
  238. package/lib/chain/seenCache/seenCommittee.js.map +1 -1
  239. package/lib/chain/seenCache/seenCommitteeContribution.d.ts.map +1 -1
  240. package/lib/chain/seenCache/seenCommitteeContribution.js.map +1 -1
  241. package/lib/chain/seenCache/seenExecutionPayloadBids.d.ts.map +1 -1
  242. package/lib/chain/seenCache/seenExecutionPayloadBids.js.map +1 -1
  243. package/lib/chain/seenCache/seenExecutionPayloadEnvelope.d.ts.map +1 -1
  244. package/lib/chain/seenCache/seenExecutionPayloadEnvelope.js.map +1 -1
  245. package/lib/chain/seenCache/seenGossipBlockInput.d.ts +3 -3
  246. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +1 -1
  247. package/lib/chain/seenCache/seenGossipBlockInput.js +3 -2
  248. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  249. package/lib/chain/serializeState.js +1 -0
  250. package/lib/chain/serializeState.js.map +1 -1
  251. package/lib/chain/shufflingCache.d.ts.map +1 -1
  252. package/lib/chain/shufflingCache.js +2 -1
  253. package/lib/chain/shufflingCache.js.map +1 -1
  254. package/lib/chain/stateCache/datastore/db.d.ts +4 -5
  255. package/lib/chain/stateCache/datastore/db.d.ts.map +1 -1
  256. package/lib/chain/stateCache/datastore/db.js +32 -10
  257. package/lib/chain/stateCache/datastore/db.js.map +1 -1
  258. package/lib/chain/stateCache/datastore/file.d.ts +1 -1
  259. package/lib/chain/stateCache/datastore/file.d.ts.map +1 -1
  260. package/lib/chain/stateCache/datastore/file.js +5 -5
  261. package/lib/chain/stateCache/datastore/file.js.map +1 -1
  262. package/lib/chain/stateCache/datastore/types.d.ts +1 -1
  263. package/lib/chain/stateCache/datastore/types.d.ts.map +1 -1
  264. package/lib/chain/stateCache/fifoBlockStateCache.d.ts +7 -4
  265. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +1 -1
  266. package/lib/chain/stateCache/fifoBlockStateCache.js +8 -3
  267. package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
  268. package/lib/chain/stateCache/mapMetrics.d.ts.map +1 -1
  269. package/lib/chain/stateCache/mapMetrics.js.map +1 -1
  270. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +34 -55
  271. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +1 -1
  272. package/lib/chain/stateCache/persistentCheckpointsCache.js +217 -119
  273. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  274. package/lib/chain/stateCache/types.d.ts +15 -8
  275. package/lib/chain/stateCache/types.d.ts.map +1 -1
  276. package/lib/chain/stateCache/types.js +2 -1
  277. package/lib/chain/stateCache/types.js.map +1 -1
  278. package/lib/chain/validation/aggregateAndProof.js.map +1 -1
  279. package/lib/chain/validation/attestation.d.ts.map +1 -1
  280. package/lib/chain/validation/attestation.js +7 -3
  281. package/lib/chain/validation/attestation.js.map +1 -1
  282. package/lib/chain/validation/attesterSlashing.js.map +1 -1
  283. package/lib/chain/validation/blobSidecar.js.map +1 -1
  284. package/lib/chain/validation/block.js.map +1 -1
  285. package/lib/chain/validation/blsToExecutionChange.js.map +1 -1
  286. package/lib/chain/validation/dataColumnSidecar.d.ts +2 -1
  287. package/lib/chain/validation/dataColumnSidecar.d.ts.map +1 -1
  288. package/lib/chain/validation/dataColumnSidecar.js +124 -107
  289. package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
  290. package/lib/chain/validation/executionPayloadBid.js.map +1 -1
  291. package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
  292. package/lib/chain/validation/lightClientFinalityUpdate.js.map +1 -1
  293. package/lib/chain/validation/lightClientOptimisticUpdate.js.map +1 -1
  294. package/lib/chain/validation/payloadAttestationMessage.js.map +1 -1
  295. package/lib/chain/validation/proposerSlashing.js.map +1 -1
  296. package/lib/chain/validation/signatureSets/aggregateAndProof.js.map +1 -1
  297. package/lib/chain/validation/signatureSets/contributionAndProof.js.map +1 -1
  298. package/lib/chain/validation/signatureSets/selectionProof.js.map +1 -1
  299. package/lib/chain/validation/signatureSets/syncCommittee.js.map +1 -1
  300. package/lib/chain/validation/signatureSets/syncCommitteeContribution.js.map +1 -1
  301. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js.map +1 -1
  302. package/lib/chain/validation/syncCommittee.js.map +1 -1
  303. package/lib/chain/validation/syncCommitteeContributionAndProof.js.map +1 -1
  304. package/lib/chain/validation/voluntaryExit.d.ts.map +1 -1
  305. package/lib/chain/validation/voluntaryExit.js +2 -2
  306. package/lib/chain/validation/voluntaryExit.js.map +1 -1
  307. package/lib/chain/validatorMonitor.d.ts.map +1 -1
  308. package/lib/chain/validatorMonitor.js +2 -1
  309. package/lib/chain/validatorMonitor.js.map +1 -1
  310. package/lib/constants/network.js +4 -2
  311. package/lib/constants/network.js.map +1 -1
  312. package/lib/db/beacon.d.ts.map +1 -1
  313. package/lib/db/beacon.js.map +1 -1
  314. package/lib/db/buckets.d.ts +23 -23
  315. package/lib/db/buckets.d.ts.map +1 -1
  316. package/lib/db/buckets.js +2 -1
  317. package/lib/db/buckets.js.map +1 -1
  318. package/lib/db/index.d.ts +1 -0
  319. package/lib/db/index.d.ts.map +1 -1
  320. package/lib/db/index.js +1 -0
  321. package/lib/db/index.js.map +1 -1
  322. package/lib/db/repositories/attesterSlashing.d.ts.map +1 -1
  323. package/lib/db/repositories/attesterSlashing.js.map +1 -1
  324. package/lib/db/repositories/backfilledRanges.d.ts.map +1 -1
  325. package/lib/db/repositories/backfilledRanges.js.map +1 -1
  326. package/lib/db/repositories/blobSidecars.d.ts.map +1 -1
  327. package/lib/db/repositories/blobSidecars.js.map +1 -1
  328. package/lib/db/repositories/blobSidecarsArchive.d.ts.map +1 -1
  329. package/lib/db/repositories/blobSidecarsArchive.js.map +1 -1
  330. package/lib/db/repositories/block.d.ts.map +1 -1
  331. package/lib/db/repositories/block.js.map +1 -1
  332. package/lib/db/repositories/blockArchive.d.ts.map +1 -1
  333. package/lib/db/repositories/blockArchive.js.map +1 -1
  334. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  335. package/lib/db/repositories/blockArchiveIndex.js.map +1 -1
  336. package/lib/db/repositories/blsToExecutionChange.d.ts.map +1 -1
  337. package/lib/db/repositories/blsToExecutionChange.js.map +1 -1
  338. package/lib/db/repositories/checkpointState.d.ts.map +1 -1
  339. package/lib/db/repositories/checkpointState.js.map +1 -1
  340. package/lib/db/repositories/dataColumnSidecar.d.ts.map +1 -1
  341. package/lib/db/repositories/dataColumnSidecar.js.map +1 -1
  342. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +1 -1
  343. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  344. package/lib/db/repositories/executionPayloadEnvelope.d.ts.map +1 -1
  345. package/lib/db/repositories/executionPayloadEnvelope.js.map +1 -1
  346. package/lib/db/repositories/executionPayloadEnvelopeArchive.d.ts.map +1 -1
  347. package/lib/db/repositories/executionPayloadEnvelopeArchive.js.map +1 -1
  348. package/lib/db/repositories/lightclientBestUpdate.d.ts.map +1 -1
  349. package/lib/db/repositories/lightclientBestUpdate.js.map +1 -1
  350. package/lib/db/repositories/lightclientCheckpointHeader.d.ts.map +1 -1
  351. package/lib/db/repositories/lightclientCheckpointHeader.js.map +1 -1
  352. package/lib/db/repositories/lightclientSyncCommittee.d.ts.map +1 -1
  353. package/lib/db/repositories/lightclientSyncCommittee.js.map +1 -1
  354. package/lib/db/repositories/lightclientSyncCommitteeWitness.d.ts.map +1 -1
  355. package/lib/db/repositories/lightclientSyncCommitteeWitness.js.map +1 -1
  356. package/lib/db/repositories/proposerSlashing.d.ts.map +1 -1
  357. package/lib/db/repositories/proposerSlashing.js.map +1 -1
  358. package/lib/db/repositories/stateArchive.d.ts.map +1 -1
  359. package/lib/db/repositories/stateArchive.js.map +1 -1
  360. package/lib/db/repositories/stateArchiveIndex.js.map +1 -1
  361. package/lib/db/repositories/voluntaryExit.d.ts.map +1 -1
  362. package/lib/db/repositories/voluntaryExit.js.map +1 -1
  363. package/lib/execution/builder/cache.d.ts.map +1 -1
  364. package/lib/execution/builder/cache.js.map +1 -1
  365. package/lib/execution/builder/http.d.ts.map +1 -1
  366. package/lib/execution/builder/http.js +2 -1
  367. package/lib/execution/builder/http.js.map +1 -1
  368. package/lib/execution/builder/index.js.map +1 -1
  369. package/lib/execution/builder/utils.js.map +1 -1
  370. package/lib/execution/engine/disabled.d.ts.map +1 -1
  371. package/lib/execution/engine/disabled.js.map +1 -1
  372. package/lib/execution/engine/http.d.ts.map +1 -1
  373. package/lib/execution/engine/http.js.map +1 -1
  374. package/lib/execution/engine/index.js.map +1 -1
  375. package/lib/execution/engine/interface.js +4 -2
  376. package/lib/execution/engine/interface.js.map +1 -1
  377. package/lib/execution/engine/jsonRpcHttpClient.d.ts +10 -15
  378. package/lib/execution/engine/jsonRpcHttpClient.d.ts.map +1 -1
  379. package/lib/execution/engine/jsonRpcHttpClient.js +2 -1
  380. package/lib/execution/engine/jsonRpcHttpClient.js.map +1 -1
  381. package/lib/execution/engine/jwt.js.map +1 -1
  382. package/lib/execution/engine/mock.d.ts.map +1 -1
  383. package/lib/execution/engine/mock.js.map +1 -1
  384. package/lib/execution/engine/payloadIdCache.d.ts.map +1 -1
  385. package/lib/execution/engine/payloadIdCache.js.map +1 -1
  386. package/lib/execution/engine/types.js.map +1 -1
  387. package/lib/execution/engine/utils.d.ts +1 -1
  388. package/lib/execution/engine/utils.d.ts.map +1 -1
  389. package/lib/execution/engine/utils.js.map +1 -1
  390. package/lib/metrics/metrics/beacon.d.ts +2 -1
  391. package/lib/metrics/metrics/beacon.d.ts.map +1 -1
  392. package/lib/metrics/metrics/beacon.js +9 -3
  393. package/lib/metrics/metrics/beacon.js.map +1 -1
  394. package/lib/metrics/metrics/lodestar.d.ts +13 -12
  395. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  396. package/lib/metrics/metrics/lodestar.js +33 -27
  397. package/lib/metrics/metrics/lodestar.js.map +1 -1
  398. package/lib/metrics/metrics.js.map +1 -1
  399. package/lib/metrics/nodeJsMetrics.js.map +1 -1
  400. package/lib/metrics/server/http.d.ts +1 -1
  401. package/lib/metrics/server/http.d.ts.map +1 -1
  402. package/lib/metrics/server/http.js.map +1 -1
  403. package/lib/metrics/utils/avgMinMax.d.ts.map +1 -1
  404. package/lib/metrics/utils/avgMinMax.js.map +1 -1
  405. package/lib/metrics/utils/gauge.d.ts.map +1 -1
  406. package/lib/metrics/utils/gauge.js.map +1 -1
  407. package/lib/metrics/utils/registryMetricCreator.d.ts.map +1 -1
  408. package/lib/metrics/utils/registryMetricCreator.js.map +1 -1
  409. package/lib/monitoring/clientStats.js.map +1 -1
  410. package/lib/monitoring/properties.d.ts.map +1 -1
  411. package/lib/monitoring/properties.js.map +1 -1
  412. package/lib/monitoring/service.d.ts.map +1 -1
  413. package/lib/monitoring/service.js.map +1 -1
  414. package/lib/monitoring/system.d.ts.map +1 -1
  415. package/lib/monitoring/system.js.map +1 -1
  416. package/lib/monitoring/types.js +4 -2
  417. package/lib/monitoring/types.js.map +1 -1
  418. package/lib/network/core/events.d.ts +1 -3
  419. package/lib/network/core/events.d.ts.map +1 -1
  420. package/lib/network/core/events.js +4 -2
  421. package/lib/network/core/events.js.map +1 -1
  422. package/lib/network/core/metrics.d.ts +6 -7
  423. package/lib/network/core/metrics.d.ts.map +1 -1
  424. package/lib/network/core/metrics.js.map +1 -1
  425. package/lib/network/core/networkCore.d.ts +1 -1
  426. package/lib/network/core/networkCore.d.ts.map +1 -1
  427. package/lib/network/core/networkCore.js.map +1 -1
  428. package/lib/network/core/networkCoreWorker.js.map +1 -1
  429. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +1 -1
  430. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  431. package/lib/network/discv5/index.d.ts +1 -3
  432. package/lib/network/discv5/index.d.ts.map +1 -1
  433. package/lib/network/discv5/index.js.map +1 -1
  434. package/lib/network/discv5/utils.d.ts +1 -1
  435. package/lib/network/discv5/utils.d.ts.map +1 -1
  436. package/lib/network/discv5/utils.js +7 -5
  437. package/lib/network/discv5/utils.js.map +1 -1
  438. package/lib/network/discv5/worker.js.map +1 -1
  439. package/lib/network/events.d.ts +1 -3
  440. package/lib/network/events.d.ts.map +1 -1
  441. package/lib/network/events.js +4 -2
  442. package/lib/network/events.js.map +1 -1
  443. package/lib/network/forks.js.map +1 -1
  444. package/lib/network/gossip/encoding.d.ts.map +1 -1
  445. package/lib/network/gossip/encoding.js.map +1 -1
  446. package/lib/network/gossip/errors.d.ts.map +1 -1
  447. package/lib/network/gossip/errors.js.map +1 -1
  448. package/lib/network/gossip/gossipsub.d.ts.map +1 -1
  449. package/lib/network/gossip/gossipsub.js +9 -6
  450. package/lib/network/gossip/gossipsub.js.map +1 -1
  451. package/lib/network/gossip/interface.js +4 -2
  452. package/lib/network/gossip/interface.js.map +1 -1
  453. package/lib/network/gossip/metrics.d.ts +12 -14
  454. package/lib/network/gossip/metrics.d.ts.map +1 -1
  455. package/lib/network/gossip/metrics.js.map +1 -1
  456. package/lib/network/gossip/scoringParameters.d.ts +1 -1
  457. package/lib/network/gossip/scoringParameters.d.ts.map +1 -1
  458. package/lib/network/gossip/scoringParameters.js.map +1 -1
  459. package/lib/network/gossip/topic.d.ts +2867 -2920
  460. package/lib/network/gossip/topic.d.ts.map +1 -1
  461. package/lib/network/gossip/topic.js.map +1 -1
  462. package/lib/network/libp2p/error.js +2 -1
  463. package/lib/network/libp2p/error.js.map +1 -1
  464. package/lib/network/libp2p/index.d.ts +1 -1
  465. package/lib/network/libp2p/index.d.ts.map +1 -1
  466. package/lib/network/libp2p/index.js +35 -17
  467. package/lib/network/libp2p/index.js.map +1 -1
  468. package/lib/network/metadata.d.ts +1 -0
  469. package/lib/network/metadata.d.ts.map +1 -1
  470. package/lib/network/metadata.js +5 -2
  471. package/lib/network/metadata.js.map +1 -1
  472. package/lib/network/network.d.ts +1 -1
  473. package/lib/network/network.d.ts.map +1 -1
  474. package/lib/network/network.js.map +1 -1
  475. package/lib/network/options.d.ts +2 -0
  476. package/lib/network/options.d.ts.map +1 -1
  477. package/lib/network/options.js +3 -0
  478. package/lib/network/options.js.map +1 -1
  479. package/lib/network/peers/client.js +2 -1
  480. package/lib/network/peers/client.js.map +1 -1
  481. package/lib/network/peers/datastore.d.ts +0 -3
  482. package/lib/network/peers/datastore.d.ts.map +1 -1
  483. package/lib/network/peers/datastore.js.map +1 -1
  484. package/lib/network/peers/discover.d.ts +2 -7
  485. package/lib/network/peers/discover.d.ts.map +1 -1
  486. package/lib/network/peers/discover.js +45 -12
  487. package/lib/network/peers/discover.js.map +1 -1
  488. package/lib/network/peers/peerManager.d.ts +0 -1
  489. package/lib/network/peers/peerManager.d.ts.map +1 -1
  490. package/lib/network/peers/peerManager.js.map +1 -1
  491. package/lib/network/peers/peersData.d.ts.map +1 -1
  492. package/lib/network/peers/peersData.js +2 -1
  493. package/lib/network/peers/peersData.js.map +1 -1
  494. package/lib/network/peers/score/interface.js +4 -2
  495. package/lib/network/peers/score/interface.js.map +1 -1
  496. package/lib/network/peers/score/score.d.ts.map +1 -1
  497. package/lib/network/peers/score/score.js.map +1 -1
  498. package/lib/network/peers/score/store.d.ts.map +1 -1
  499. package/lib/network/peers/score/store.js.map +1 -1
  500. package/lib/network/peers/score/utils.js.map +1 -1
  501. package/lib/network/peers/utils/assertPeerRelevance.js +2 -1
  502. package/lib/network/peers/utils/assertPeerRelevance.js.map +1 -1
  503. package/lib/network/peers/utils/enrSubnetsDeserialize.js.map +1 -1
  504. package/lib/network/peers/utils/getConnectedPeerIds.js.map +1 -1
  505. package/lib/network/peers/utils/prioritizePeers.js +2 -1
  506. package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
  507. package/lib/network/peers/utils/subnetMap.d.ts.map +1 -1
  508. package/lib/network/peers/utils/subnetMap.js.map +1 -1
  509. package/lib/network/processor/aggregatorTracker.d.ts.map +1 -1
  510. package/lib/network/processor/aggregatorTracker.js.map +1 -1
  511. package/lib/network/processor/extractSlotRootFns.js.map +1 -1
  512. package/lib/network/processor/gossipHandlers.js.map +1 -1
  513. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  514. package/lib/network/processor/gossipQueues/indexed.d.ts.map +1 -1
  515. package/lib/network/processor/gossipQueues/indexed.js.map +1 -1
  516. package/lib/network/processor/gossipQueues/linear.d.ts.map +1 -1
  517. package/lib/network/processor/gossipQueues/linear.js.map +1 -1
  518. package/lib/network/processor/gossipQueues/types.js +4 -2
  519. package/lib/network/processor/gossipQueues/types.js.map +1 -1
  520. package/lib/network/processor/gossipValidatorFn.js.map +1 -1
  521. package/lib/network/processor/index.d.ts.map +1 -1
  522. package/lib/network/processor/index.js +4 -2
  523. package/lib/network/processor/index.js.map +1 -1
  524. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +1 -1
  525. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  526. package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
  527. package/lib/network/reqresp/handlers/beaconBlocksByRoot.js.map +1 -1
  528. package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +1 -1
  529. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +1 -1
  530. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -1
  531. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -1
  532. package/lib/network/reqresp/handlers/index.js.map +1 -1
  533. package/lib/network/reqresp/handlers/lightClientBootstrap.js.map +1 -1
  534. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.js.map +1 -1
  535. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.js.map +1 -1
  536. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.js.map +1 -1
  537. package/lib/network/reqresp/interface.js +2 -1
  538. package/lib/network/reqresp/interface.js.map +1 -1
  539. package/lib/network/reqresp/protocols.d.ts.map +1 -1
  540. package/lib/network/reqresp/protocols.js.map +1 -1
  541. package/lib/network/reqresp/rateLimit.js.map +1 -1
  542. package/lib/network/reqresp/score.js.map +1 -1
  543. package/lib/network/reqresp/types.js +4 -2
  544. package/lib/network/reqresp/types.js.map +1 -1
  545. package/lib/network/reqresp/utils/collect.d.ts +1 -1
  546. package/lib/network/reqresp/utils/collect.js.map +1 -1
  547. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts +1 -1
  548. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.js +2 -1
  549. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.js.map +1 -1
  550. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts +1 -1
  551. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +1 -1
  552. package/lib/network/reqresp/utils/dataColumnResponseValidation.js.map +1 -1
  553. package/lib/network/statusCache.d.ts.map +1 -1
  554. package/lib/network/statusCache.js.map +1 -1
  555. package/lib/network/subnets/attnetsService.d.ts.map +1 -1
  556. package/lib/network/subnets/attnetsService.js +2 -1
  557. package/lib/network/subnets/attnetsService.js.map +1 -1
  558. package/lib/network/subnets/interface.js.map +1 -1
  559. package/lib/network/subnets/syncnetsService.d.ts.map +1 -1
  560. package/lib/network/subnets/syncnetsService.js.map +1 -1
  561. package/lib/network/subnets/util.js.map +1 -1
  562. package/lib/network/util.js.map +1 -1
  563. package/lib/node/nodejs.d.ts +2 -2
  564. package/lib/node/nodejs.d.ts.map +1 -1
  565. package/lib/node/nodejs.js +2 -1
  566. package/lib/node/nodejs.js.map +1 -1
  567. package/lib/node/notifier.js.map +1 -1
  568. package/lib/node/utils/interop/deposits.js.map +1 -1
  569. package/lib/node/utils/interop/state.d.ts +1 -1
  570. package/lib/node/utils/interop/state.d.ts.map +1 -1
  571. package/lib/node/utils/interop/state.js.map +1 -1
  572. package/lib/node/utils/lightclient.js.map +1 -1
  573. package/lib/node/utils/state.js.map +1 -1
  574. package/lib/sync/backfill/backfill.d.ts +1 -10
  575. package/lib/sync/backfill/backfill.d.ts.map +1 -1
  576. package/lib/sync/backfill/backfill.js +6 -3
  577. package/lib/sync/backfill/backfill.js.map +1 -1
  578. package/lib/sync/backfill/errors.js +2 -1
  579. package/lib/sync/backfill/errors.js.map +1 -1
  580. package/lib/sync/backfill/verify.js.map +1 -1
  581. package/lib/sync/interface.js +2 -1
  582. package/lib/sync/interface.js.map +1 -1
  583. package/lib/sync/range/batch.d.ts.map +1 -1
  584. package/lib/sync/range/batch.js +4 -2
  585. package/lib/sync/range/batch.js.map +1 -1
  586. package/lib/sync/range/chain.d.ts +0 -10
  587. package/lib/sync/range/chain.d.ts.map +1 -1
  588. package/lib/sync/range/chain.js +2 -1
  589. package/lib/sync/range/chain.js.map +1 -1
  590. package/lib/sync/range/range.d.ts +1 -3
  591. package/lib/sync/range/range.d.ts.map +1 -1
  592. package/lib/sync/range/range.js +5 -2
  593. package/lib/sync/range/range.js.map +1 -1
  594. package/lib/sync/range/utils/batches.js.map +1 -1
  595. package/lib/sync/range/utils/chainTarget.js.map +1 -1
  596. package/lib/sync/range/utils/hashBlocks.js.map +1 -1
  597. package/lib/sync/range/utils/peerBalancer.d.ts.map +1 -1
  598. package/lib/sync/range/utils/peerBalancer.js.map +1 -1
  599. package/lib/sync/range/utils/updateChains.js.map +1 -1
  600. package/lib/sync/sync.d.ts.map +1 -1
  601. package/lib/sync/sync.js.map +1 -1
  602. package/lib/sync/types.js +4 -2
  603. package/lib/sync/types.js.map +1 -1
  604. package/lib/sync/unknownBlock.d.ts +0 -14
  605. package/lib/sync/unknownBlock.d.ts.map +1 -1
  606. package/lib/sync/unknownBlock.js.map +1 -1
  607. package/lib/sync/utils/downloadByRange.d.ts +8 -5
  608. package/lib/sync/utils/downloadByRange.d.ts.map +1 -1
  609. package/lib/sync/utils/downloadByRange.js +8 -6
  610. package/lib/sync/utils/downloadByRange.js.map +1 -1
  611. package/lib/sync/utils/downloadByRoot.d.ts +8 -8
  612. package/lib/sync/utils/downloadByRoot.d.ts.map +1 -1
  613. package/lib/sync/utils/downloadByRoot.js +3 -2
  614. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  615. package/lib/sync/utils/pendingBlocksTree.js.map +1 -1
  616. package/lib/sync/utils/remoteSyncType.d.ts +1 -1
  617. package/lib/sync/utils/remoteSyncType.d.ts.map +1 -1
  618. package/lib/sync/utils/remoteSyncType.js +4 -2
  619. package/lib/sync/utils/remoteSyncType.js.map +1 -1
  620. package/lib/util/address.js.map +1 -1
  621. package/lib/util/array.d.ts.map +1 -1
  622. package/lib/util/array.js.map +1 -1
  623. package/lib/util/asyncIterableToEvents.d.ts.map +1 -1
  624. package/lib/util/asyncIterableToEvents.js +2 -1
  625. package/lib/util/asyncIterableToEvents.js.map +1 -1
  626. package/lib/util/binarySearch.d.ts.map +1 -1
  627. package/lib/util/binarySearch.js.map +1 -1
  628. package/lib/util/bitArray.js +2 -1
  629. package/lib/util/bitArray.js.map +1 -1
  630. package/lib/util/blobs.js.map +1 -1
  631. package/lib/util/bufferPool.d.ts.map +1 -1
  632. package/lib/util/bufferPool.js +2 -1
  633. package/lib/util/bufferPool.js.map +1 -1
  634. package/lib/util/chunkify.js.map +1 -1
  635. package/lib/util/clock.d.ts.map +1 -1
  636. package/lib/util/clock.js +2 -1
  637. package/lib/util/clock.js.map +1 -1
  638. package/lib/util/dataColumns.d.ts.map +1 -1
  639. package/lib/util/dataColumns.js +9 -3
  640. package/lib/util/dataColumns.js.map +1 -1
  641. package/lib/util/dependentRoot.js.map +1 -1
  642. package/lib/util/enum.js.map +1 -1
  643. package/lib/util/error.js.map +1 -1
  644. package/lib/util/eventLoop.js.map +1 -1
  645. package/lib/util/execution.d.ts.map +1 -1
  646. package/lib/util/execution.js +19 -9
  647. package/lib/util/execution.js.map +1 -1
  648. package/lib/util/file.js.map +1 -1
  649. package/lib/util/forkChoice.js.map +1 -1
  650. package/lib/util/forkName.js.map +1 -1
  651. package/lib/util/graffiti.js.map +1 -1
  652. package/lib/util/hex.js.map +1 -1
  653. package/lib/util/ip.js.map +1 -1
  654. package/lib/util/itTrigger.d.ts.map +1 -1
  655. package/lib/util/itTrigger.js.map +1 -1
  656. package/lib/util/map.d.ts.map +1 -1
  657. package/lib/util/map.js.map +1 -1
  658. package/lib/util/metadata.js.map +1 -1
  659. package/lib/util/multifork.js.map +1 -1
  660. package/lib/util/numpy.js.map +1 -1
  661. package/lib/util/peerId.js.map +1 -1
  662. package/lib/util/profile.js +2 -1
  663. package/lib/util/profile.js.map +1 -1
  664. package/lib/util/promises.js.map +1 -1
  665. package/lib/util/queue/errors.js +2 -1
  666. package/lib/util/queue/errors.js.map +1 -1
  667. package/lib/util/queue/fnQueue.d.ts.map +1 -1
  668. package/lib/util/queue/fnQueue.js.map +1 -1
  669. package/lib/util/queue/itemQueue.d.ts.map +1 -1
  670. package/lib/util/queue/itemQueue.js.map +1 -1
  671. package/lib/util/queue/options.js +2 -1
  672. package/lib/util/queue/options.js.map +1 -1
  673. package/lib/util/serializedCache.d.ts.map +1 -1
  674. package/lib/util/serializedCache.js.map +1 -1
  675. package/lib/util/set.d.ts.map +1 -1
  676. package/lib/util/set.js.map +1 -1
  677. package/lib/util/shuffle.js.map +1 -1
  678. package/lib/util/sortBy.js.map +1 -1
  679. package/lib/util/sszBytes.js.map +1 -1
  680. package/lib/util/time.js.map +1 -1
  681. package/lib/util/timeSeries.d.ts.map +1 -1
  682. package/lib/util/timeSeries.js.map +1 -1
  683. package/lib/util/types.d.ts.map +1 -1
  684. package/lib/util/workerEvents.d.ts +1 -1
  685. package/lib/util/workerEvents.d.ts.map +1 -1
  686. package/lib/util/workerEvents.js.map +1 -1
  687. package/lib/util/wrapError.js.map +1 -1
  688. package/package.json +30 -29
  689. package/src/api/impl/beacon/blocks/index.ts +11 -0
  690. package/src/api/impl/beacon/state/utils.ts +2 -2
  691. package/src/api/impl/validator/index.ts +7 -3
  692. package/src/chain/archiveStore/archiveStore.ts +0 -10
  693. package/src/chain/archiveStore/interface.ts +4 -4
  694. package/src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts +8 -5
  695. package/src/chain/archiveStore/utils/archiveBlocks.ts +59 -1
  696. package/src/chain/blocks/importBlock.ts +12 -7
  697. package/src/chain/blocks/verifyBlocksSignatures.ts +1 -1
  698. package/src/chain/chain.ts +31 -18
  699. package/src/chain/errors/executionPayloadBid.ts +1 -1
  700. package/src/chain/errors/payloadAttestation.ts +1 -1
  701. package/src/chain/interface.ts +2 -2
  702. package/src/chain/prepareNextSlot.ts +6 -2
  703. package/src/chain/produceBlock/computeNewStateRoot.ts +4 -3
  704. package/src/chain/produceBlock/produceBlockBody.ts +8 -1
  705. package/src/chain/regen/errors.ts +6 -1
  706. package/src/chain/regen/interface.ts +12 -6
  707. package/src/chain/regen/queued.ts +48 -12
  708. package/src/chain/regen/regen.ts +37 -7
  709. package/src/chain/seenCache/seenGossipBlockInput.ts +3 -2
  710. package/src/chain/stateCache/datastore/db.ts +33 -10
  711. package/src/chain/stateCache/datastore/file.ts +6 -5
  712. package/src/chain/stateCache/datastore/types.ts +3 -2
  713. package/src/chain/stateCache/fifoBlockStateCache.ts +10 -4
  714. package/src/chain/stateCache/persistentCheckpointsCache.ts +248 -139
  715. package/src/chain/stateCache/types.ts +18 -8
  716. package/src/chain/validation/attestation.ts +7 -3
  717. package/src/chain/validation/dataColumnSidecar.ts +146 -126
  718. package/src/chain/validation/voluntaryExit.ts +2 -1
  719. package/src/db/index.ts +1 -0
  720. package/src/metrics/metrics/beacon.ts +9 -3
  721. package/src/metrics/metrics/lodestar.ts +33 -27
  722. package/src/network/discv5/utils.ts +5 -4
  723. package/src/network/gossip/gossipsub.ts +12 -7
  724. package/src/network/libp2p/index.ts +40 -18
  725. package/src/network/metadata.ts +1 -0
  726. package/src/network/options.ts +5 -1
  727. package/src/network/peers/discover.ts +46 -11
  728. package/src/network/processor/gossipHandlers.ts +1 -1
  729. package/src/network/processor/gossipValidatorFn.ts +1 -1
  730. package/src/network/reqresp/ReqRespBeaconNode.ts +1 -1
  731. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +1 -1
  732. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +1 -1
  733. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +1 -1
  734. package/src/network/reqresp/utils/collect.ts +1 -1
  735. package/src/network/reqresp/utils/collectSequentialBlocksInRange.ts +1 -1
  736. package/src/sync/range/range.ts +1 -0
  737. package/src/sync/utils/downloadByRange.ts +12 -3
  738. package/src/sync/utils/downloadByRoot.ts +2 -2
  739. package/src/sync/utils/remoteSyncType.ts +1 -1
  740. package/src/util/dataColumns.ts +6 -2
  741. package/src/util/execution.ts +23 -12
  742. package/lib/chain/archiveStore/utils/archivePayloads.d.ts +0 -7
  743. package/lib/chain/archiveStore/utils/archivePayloads.d.ts.map +0 -1
  744. package/lib/chain/archiveStore/utils/archivePayloads.js +0 -10
  745. package/lib/chain/archiveStore/utils/archivePayloads.js.map +0 -1
  746. package/src/chain/archiveStore/utils/archivePayloads.ts +0 -15
@@ -56,6 +56,19 @@ import { AllocSource } from "../../util/bufferPool.js";
56
56
  import { serializeState } from "../serializeState.js";
57
57
  import { MapTracker } from "./mapMetrics.js";
58
58
  import { CacheItemType } from "./types.js";
59
+ /** Bitmask for tracking which payload variants exist per root in the epochIndex */
60
+ var PayloadAvailability;
61
+ (function (PayloadAvailability) {
62
+ PayloadAvailability[PayloadAvailability["NOT_PRESENT"] = 1] = "NOT_PRESENT";
63
+ PayloadAvailability[PayloadAvailability["PRESENT"] = 2] = "PRESENT";
64
+ })(PayloadAvailability || (PayloadAvailability = {}));
65
+ const PAYLOAD_AVAILABILITY_ALL = [PayloadAvailability.NOT_PRESENT, PayloadAvailability.PRESENT];
66
+ function toPayloadAvailability(payloadPresent) {
67
+ return payloadPresent ? PayloadAvailability.PRESENT : PayloadAvailability.NOT_PRESENT;
68
+ }
69
+ function fromPayloadAvailability(flag) {
70
+ return flag === PayloadAvailability.PRESENT;
71
+ }
59
72
  /**
60
73
  * Before n-historical states, lodestar keeps all checkpoint states since finalized
61
74
  * Since Sep 2024, lodestar stores 3 most recent checkpoint states in memory and the rest on disk. The finalized state
@@ -105,8 +118,8 @@ const PROCESS_CHECKPOINT_STATES_BPS = 6667;
105
118
  */
106
119
  export class PersistentCheckpointStateCache {
107
120
  cache;
108
- /** Epoch -> Set<blockRoot> */
109
- epochIndex = new MapDef(() => new Set());
121
+ /** Epoch -> Map<blockRoot, PayloadAvailability bitmask> */
122
+ epochIndex = new MapDef(() => new Map());
110
123
  config;
111
124
  metrics;
112
125
  logger;
@@ -192,7 +205,12 @@ export class PersistentCheckpointStateCache {
192
205
  return stateOrStateBytesData ?? null;
193
206
  }
194
207
  const { persistedKey, stateBytes } = stateOrStateBytesData;
195
- const logMeta = { persistedKey: toHex(persistedKey) };
208
+ const logMeta = {
209
+ epoch: cp.epoch,
210
+ rootHex: cp.rootHex,
211
+ payloadPresent: cp.payloadPresent,
212
+ persistedKey: toHex(persistedKey),
213
+ };
196
214
  this.logger.debug("Reload: read state successful", logMeta);
197
215
  this.metrics?.cpStateCache.stateReloadSecFromSlot.observe(this.clock?.secFromSlot(this.clock?.currentSlot ?? 0) ?? 0);
198
216
  const seedState = this.findSeedStateToReload(cp);
@@ -230,7 +248,7 @@ export class PersistentCheckpointStateCache {
230
248
  // only remove persisted state once we reload successfully
231
249
  const cpKey = toCacheKey(cp);
232
250
  this.cache.set(cpKey, { type: CacheItemType.inMemory, state: newCachedState, persistedKey });
233
- this.epochIndex.getOrDefault(cp.epoch).add(cp.rootHex);
251
+ this.addToEpochIndex(cp.epoch, cp.rootHex, cp.payloadPresent);
234
252
  // don't prune from memory here, call it at the last 1/3 of slot 0 of an epoch
235
253
  return newCachedState;
236
254
  }
@@ -306,9 +324,11 @@ export class PersistentCheckpointStateCache {
306
324
  }
307
325
  /**
308
326
  * Add a state of a checkpoint to this cache, prune from memory if necessary.
327
+ * @param payloadPresent - For Gloas: true if this is payload state, false if block state.
328
+ * Always true for pre-Gloas.
309
329
  */
310
- add(cp, state) {
311
- const cpHex = toCheckpointHex(cp);
330
+ add(cp, state, payloadPresent) {
331
+ const cpHex = toCheckpointHexPayload(cp, payloadPresent);
312
332
  const key = toCacheKey(cpHex);
313
333
  const cacheItem = this.cache.get(key);
314
334
  this.metrics?.cpStateCache.adds.inc();
@@ -319,27 +339,32 @@ export class PersistentCheckpointStateCache {
319
339
  this.logger.verbose("Added checkpoint state to memory but a persisted key existed", {
320
340
  epoch: cp.epoch,
321
341
  rootHex: cpHex.rootHex,
342
+ payloadPresent,
322
343
  persistedKey: toHex(persistedKey),
323
344
  });
324
345
  }
325
346
  else {
326
347
  this.cache.set(key, { type: CacheItemType.inMemory, state });
327
- this.logger.verbose("Added checkpoint state to memory", { epoch: cp.epoch, rootHex: cpHex.rootHex });
348
+ this.logger.verbose("Added checkpoint state to memory", {
349
+ epoch: cp.epoch,
350
+ rootHex: cpHex.rootHex,
351
+ payloadPresent,
352
+ });
328
353
  }
329
- this.epochIndex.getOrDefault(cp.epoch).add(cpHex.rootHex);
354
+ this.addToEpochIndex(cp.epoch, cpHex.rootHex, cpHex.payloadPresent);
330
355
  this.prunePersistedStates();
331
356
  }
332
357
  /**
333
358
  * Searches in-memory state for the latest cached state with a `root` without reload, starting with `epoch` and descending
334
359
  */
335
- getLatest(rootHex, maxEpoch) {
360
+ getLatest(rootHex, maxEpoch, payloadPresent) {
336
361
  // sort epochs in descending order, only consider epochs lte `epoch`
337
362
  const epochs = Array.from(this.epochIndex.keys())
338
363
  .sort((a, b) => b - a)
339
364
  .filter((e) => e <= maxEpoch);
340
365
  for (const epoch of epochs) {
341
- if (this.epochIndex.get(epoch)?.has(rootHex)) {
342
- const inMemoryClonedState = this.get({ rootHex, epoch });
366
+ if (this.hasPayloadVariant(epoch, rootHex, payloadPresent)) {
367
+ const inMemoryClonedState = this.get({ rootHex, epoch, payloadPresent });
343
368
  if (inMemoryClonedState) {
344
369
  return inMemoryClonedState;
345
370
  }
@@ -354,33 +379,35 @@ export class PersistentCheckpointStateCache {
354
379
  * - Get block for processing
355
380
  * - Regen head state
356
381
  */
357
- async getOrReloadLatest(rootHex, maxEpoch) {
382
+ async getOrReloadLatest(rootHex, maxEpoch, payloadPresent) {
358
383
  // sort epochs in descending order, only consider epochs lte `epoch`
359
384
  const epochs = Array.from(this.epochIndex.keys())
360
385
  .sort((a, b) => b - a)
361
386
  .filter((e) => e <= maxEpoch);
362
387
  for (const epoch of epochs) {
363
- if (this.epochIndex.get(epoch)?.has(rootHex)) {
388
+ if (this.hasPayloadVariant(epoch, rootHex, payloadPresent)) {
364
389
  try {
365
- const state = await this.getOrReload({ rootHex, epoch });
390
+ const state = await this.getOrReload({ rootHex, epoch, payloadPresent });
366
391
  if (state) {
367
392
  return state;
368
393
  }
369
394
  }
370
395
  catch (e) {
371
- this.logger.debug("Error get or reload state", { epoch, rootHex }, e);
396
+ this.logger.debug("Error get or reload state", { epoch, rootHex, payloadPresent }, e);
372
397
  }
373
398
  }
374
399
  }
375
400
  return null;
376
401
  }
377
402
  /**
378
- * Update the precomputed checkpoint and return the number of his for the
403
+ * Update the precomputed checkpoint and return the number of hits for the
379
404
  * previous one (if any).
405
+ * @param payloadPresent - For Gloas: true if head block has FULL payload, false if EMPTY.
406
+ * Always true for pre-Gloas.
380
407
  */
381
- updatePreComputedCheckpoint(rootHex, epoch) {
408
+ updatePreComputedCheckpoint(rootHex, epoch, payloadPresent) {
382
409
  const previousHits = this.preComputedCheckpointHits;
383
- this.preComputedCheckpoint = toCacheKey({ rootHex, epoch });
410
+ this.preComputedCheckpoint = toCacheKey({ rootHex, epoch, payloadPresent });
384
411
  this.preComputedCheckpointHits = 0;
385
412
  return previousHits;
386
413
  }
@@ -449,6 +476,9 @@ export class PersistentCheckpointStateCache {
449
476
  * - 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)
450
477
  *
451
478
  * As of Mar 2024, it takes <=350ms to persist a holesky state on fast server
479
+ *
480
+ * For Gloas: Processes both block state and payload state variants together. The decision of which roots to persist/prune
481
+ * is based on root canonicality (from state's view), not payload presence. Both variants are managed as a unit.
452
482
  */
453
483
  async processState(blockRootHex, state) {
454
484
  let persistCount = 0;
@@ -523,30 +553,34 @@ export class PersistentCheckpointStateCache {
523
553
  if (firstState !== null) {
524
554
  return firstState;
525
555
  }
526
- for (const rootHex of this.epochIndex.get(epoch) || []) {
527
- const cpKey = toCacheKey({ rootHex, epoch });
528
- const cacheItem = this.cache.get(cpKey);
529
- if (cacheItem === undefined) {
530
- // should not happen
531
- continue;
532
- }
533
- if (isInMemoryCacheItem(cacheItem)) {
534
- const { state } = cacheItem;
535
- if (firstState === null) {
536
- firstState = state;
556
+ for (const [rootHex, bitmask] of this.epochIndex.get(epoch) || []) {
557
+ for (const flag of PAYLOAD_AVAILABILITY_ALL) {
558
+ if (!(bitmask & flag))
559
+ continue;
560
+ const payloadPresent = fromPayloadAvailability(flag);
561
+ const cpKey = toCacheKey({ rootHex, epoch, payloadPresent });
562
+ const cacheItem = this.cache.get(cpKey);
563
+ if (cacheItem === undefined) {
564
+ continue;
537
565
  }
538
- const cpLog = { cpEpoch: epoch, cpRoot: rootHex };
539
- try {
540
- // amongst states of the same epoch, choose the one with the same view of reloadedCp
541
- if (reloadedCpSlot < state.slot &&
542
- toRootHex(getBlockRootAtSlot(state, reloadedCpSlot)) === reloadedCp.rootHex) {
543
- this.logger.verbose("Reload: use checkpoint state as seed state", { ...cpLog, ...logCtx });
544
- return state;
566
+ if (isInMemoryCacheItem(cacheItem)) {
567
+ const { state } = cacheItem;
568
+ if (firstState === null) {
569
+ firstState = state;
570
+ }
571
+ const cpLog = { cpEpoch: epoch, cpRoot: rootHex, payloadPresent };
572
+ try {
573
+ // amongst states of the same epoch, choose the one with the same view of reloadedCp
574
+ if (reloadedCpSlot < state.slot &&
575
+ toRootHex(getBlockRootAtSlot(state, reloadedCpSlot)) === reloadedCp.rootHex) {
576
+ this.logger.verbose("Reload: use checkpoint state as seed state", { ...cpLog, ...logCtx });
577
+ return state;
578
+ }
579
+ }
580
+ catch (e) {
581
+ // getBlockRootAtSlot may throw error
582
+ this.logger.debug("Error finding checkpoint state to reload", { ...cpLog, ...logCtx }, e);
545
583
  }
546
- }
547
- catch (e) {
548
- // getBlockRootAtSlot may throw error
549
- this.logger.debug("Error finding checkpoint state to reload", { ...cpLog, ...logCtx }, e);
550
584
  }
551
585
  }
552
586
  }
@@ -560,6 +594,31 @@ export class PersistentCheckpointStateCache {
560
594
  this.cache.clear();
561
595
  this.epochIndex.clear();
562
596
  }
597
+ addToEpochIndex(epoch, rootHex, payloadPresent) {
598
+ const rootMap = this.epochIndex.getOrDefault(epoch);
599
+ rootMap.set(rootHex, (rootMap.get(rootHex) ?? 0) | toPayloadAvailability(payloadPresent));
600
+ }
601
+ removeFromEpochIndex(epoch, rootHex, payloadPresent) {
602
+ const rootMap = this.epochIndex.get(epoch);
603
+ if (rootMap === undefined)
604
+ return;
605
+ const existing = rootMap.get(rootHex);
606
+ if (existing === undefined)
607
+ return;
608
+ const updated = existing & ~toPayloadAvailability(payloadPresent);
609
+ if (updated === 0) {
610
+ rootMap.delete(rootHex);
611
+ if (rootMap.size === 0) {
612
+ this.epochIndex.delete(epoch);
613
+ }
614
+ }
615
+ else {
616
+ rootMap.set(rootHex, updated);
617
+ }
618
+ }
619
+ hasPayloadVariant(epoch, rootHex, payloadPresent) {
620
+ return Boolean((this.epochIndex.get(epoch)?.get(rootHex) ?? 0) & toPayloadAvailability(payloadPresent));
621
+ }
563
622
  /** ONLY FOR DEBUGGING PURPOSES. For lodestar debug API */
564
623
  dumpSummary() {
565
624
  return Array.from(this.cache.keys()).map((key) => {
@@ -628,75 +687,81 @@ export class PersistentCheckpointStateCache {
628
687
  const epochBoundaryHex = toRootHex(epochBoundaryRoot);
629
688
  const prevEpochRoot = toRootHex(getBlockRootAtSlot(state, epochBoundarySlot - 1));
630
689
  // for each epoch, usually there are 2 rootHexes respective to the 2 checkpoint states: Previous Root Checkpoint State and Current Root Checkpoint State
631
- const cpRootHexes = this.epochIndex.get(epoch) ?? [];
690
+ const cpRootHexMap = this.epochIndex.get(epoch) ?? new Map();
632
691
  const persistedRootHexes = new Set();
633
692
  // 1) if there is no CRCS, persist PRCS (block 0 of epoch is skipped). In this case prevEpochRoot === epochBoundaryHex
634
693
  // 2) if there are PRCS and CRCS, persist CRCS => persist CRCS
635
694
  // => this is simplified to always persist epochBoundaryHex
636
695
  persistedRootHexes.add(epochBoundaryHex);
637
696
  // 3) persist any states with unknown roots to this state
638
- for (const rootHex of cpRootHexes) {
697
+ for (const rootHex of cpRootHexMap.keys()) {
639
698
  if (rootHex !== epochBoundaryHex && rootHex !== prevEpochRoot) {
640
699
  persistedRootHexes.add(rootHex);
641
700
  }
642
701
  }
643
- for (const rootHex of cpRootHexes) {
644
- const cpKey = toCacheKey({ epoch: epoch, rootHex });
645
- const cacheItem = this.cache.get(cpKey);
646
- if (cacheItem !== undefined && isInMemoryCacheItem(cacheItem)) {
647
- let { persistedKey } = cacheItem;
648
- const { state } = cacheItem;
649
- const logMeta = {
650
- stateSlot: state.slot,
651
- rootHex,
652
- epochBoundaryHex,
653
- persistedKey: persistedKey ? toHex(persistedKey) : "",
654
- };
655
- if (persistedRootHexes.has(rootHex)) {
656
- if (persistedKey) {
657
- // we don't care if the checkpoint state is already persisted
658
- this.logger.verbose("Pruned checkpoint state from memory but no need to persist", logMeta);
659
- }
660
- else {
661
- // persist and do not update epochIndex
662
- this.metrics?.cpStateCache.statePersistSecFromSlot.observe(this.clock?.secFromSlot(this.clock?.currentSlot ?? 0) ?? 0);
663
- const cpPersist = { epoch: epoch, root: fromHex(rootHex) };
664
- // It's not sustainable to allocate ~240MB for each state every epoch, so we use buffer pool to reuse the memory.
665
- // As monitored on holesky as of Jan 2024:
666
- // - This does not increase heap allocation while gc time is the same
667
- // - It helps stabilize persist time and save ~300ms in average (1.5s vs 1.2s)
668
- // - It also helps the state reload to save ~500ms in average (4.3s vs 3.8s)
669
- // - Also `serializeState.test.ts` perf test shows a lot of differences allocating ~240MB once vs per state serialization
670
- const timer = this.metrics?.stateSerializeDuration.startTimer({
671
- source: AllocSource.PERSISTENT_CHECKPOINTS_CACHE_STATE,
672
- });
673
- persistedKey = await serializeState(state, AllocSource.PERSISTENT_CHECKPOINTS_CACHE_STATE, (stateBytes) => {
674
- timer?.();
675
- return this.datastore.write(cpPersist, stateBytes);
676
- }, this.bufferPool);
677
- persistCount++;
678
- this.logger.verbose("Pruned checkpoint state from memory and persisted to disk", {
679
- ...logMeta,
680
- persistedKey: toHex(persistedKey),
681
- });
682
- }
683
- // overwrite cpKey, this means the state is deleted from memory
684
- this.cache.set(cpKey, { type: CacheItemType.persisted, value: persistedKey });
685
- }
686
- else {
687
- if (persistedKey) {
688
- // persisted file will be eventually deleted by the archive task
689
- // this also means the state is deleted from memory
702
+ for (const [rootHex, bitmask] of cpRootHexMap) {
703
+ for (const flag of PAYLOAD_AVAILABILITY_ALL) {
704
+ if (!(bitmask & flag))
705
+ continue;
706
+ const payloadPresent = fromPayloadAvailability(flag);
707
+ const cpKey = toCacheKey({ epoch: epoch, rootHex, payloadPresent });
708
+ const cacheItem = this.cache.get(cpKey);
709
+ if (cacheItem !== undefined && isInMemoryCacheItem(cacheItem)) {
710
+ let { persistedKey } = cacheItem;
711
+ const { state } = cacheItem;
712
+ const logMeta = {
713
+ stateSlot: state.slot,
714
+ rootHex,
715
+ payloadPresent,
716
+ epochBoundaryHex,
717
+ persistedKey: persistedKey ? toHex(persistedKey) : "",
718
+ };
719
+ if (persistedRootHexes.has(rootHex)) {
720
+ if (persistedKey) {
721
+ // we don't care if the checkpoint state is already persisted
722
+ this.logger.verbose("Pruned checkpoint state from memory but no need to persist", logMeta);
723
+ }
724
+ else {
725
+ // persist and do not update epochIndex
726
+ this.metrics?.cpStateCache.statePersistSecFromSlot.observe(this.clock?.secFromSlot(this.clock?.currentSlot ?? 0) ?? 0);
727
+ const cpPersist = { epoch: epoch, root: fromHex(rootHex) };
728
+ // It's not sustainable to allocate ~240MB for each state every epoch, so we use buffer pool to reuse the memory.
729
+ // As monitored on holesky as of Jan 2024:
730
+ // - This does not increase heap allocation while gc time is the same
731
+ // - It helps stabilize persist time and save ~300ms in average (1.5s vs 1.2s)
732
+ // - It also helps the state reload to save ~500ms in average (4.3s vs 3.8s)
733
+ // - Also `serializeState.test.ts` perf test shows a lot of differences allocating ~240MB once vs per state serialization
734
+ const timer = this.metrics?.stateSerializeDuration.startTimer({
735
+ source: AllocSource.PERSISTENT_CHECKPOINTS_CACHE_STATE,
736
+ });
737
+ persistedKey = await serializeState(state, AllocSource.PERSISTENT_CHECKPOINTS_CACHE_STATE, (stateBytes) => {
738
+ timer?.();
739
+ return this.datastore.write(cpPersist, stateBytes, payloadPresent);
740
+ }, this.bufferPool);
741
+ persistCount++;
742
+ this.logger.verbose("Pruned checkpoint state from memory and persisted to disk", {
743
+ ...logMeta,
744
+ persistedKey: toHex(persistedKey),
745
+ });
746
+ }
747
+ // overwrite cpKey, this means the state is deleted from memory
690
748
  this.cache.set(cpKey, { type: CacheItemType.persisted, value: persistedKey });
691
- // do not update epochIndex
692
749
  }
693
750
  else {
694
- // delete the state from memory
695
- this.cache.delete(cpKey);
696
- this.epochIndex.get(epoch)?.delete(rootHex);
751
+ if (persistedKey) {
752
+ // persisted file will be eventually deleted by the archive task
753
+ // this also means the state is deleted from memory
754
+ this.cache.set(cpKey, { type: CacheItemType.persisted, value: persistedKey });
755
+ // do not update epochIndex
756
+ }
757
+ else {
758
+ // delete the state from memory
759
+ this.cache.delete(cpKey);
760
+ this.removeFromEpochIndex(epoch, rootHex, payloadPresent);
761
+ }
762
+ this.metrics?.cpStateCache.statePruneFromMemoryCount.inc();
763
+ this.logger.verbose("Pruned checkpoint state from memory", logMeta);
697
764
  }
698
- this.metrics?.cpStateCache.statePruneFromMemoryCount.inc();
699
- this.logger.verbose("Pruned checkpoint state from memory", logMeta);
700
765
  }
701
766
  }
702
767
  }
@@ -707,25 +772,38 @@ export class PersistentCheckpointStateCache {
707
772
  */
708
773
  async deleteAllEpochItems(epoch) {
709
774
  let persistCount = 0;
710
- const rootHexes = this.epochIndex.get(epoch) || [];
711
- for (const rootHex of rootHexes) {
712
- const key = toCacheKey({ rootHex, epoch });
713
- const cacheItem = this.cache.get(key);
714
- if (cacheItem) {
715
- const persistedKey = isPersistedCacheItem(cacheItem) ? cacheItem.value : cacheItem.persistedKey;
716
- if (persistedKey) {
717
- await this.datastore.remove(persistedKey);
718
- persistCount++;
719
- this.metrics?.cpStateCache.persistedStateRemoveCount.inc();
775
+ const rootHexMap = this.epochIndex.get(epoch) || new Map();
776
+ for (const [rootHex, bitmask] of rootHexMap) {
777
+ for (const flag of PAYLOAD_AVAILABILITY_ALL) {
778
+ if (!(bitmask & flag))
779
+ continue;
780
+ const payloadPresent = fromPayloadAvailability(flag);
781
+ const key = toCacheKey({ rootHex, epoch, payloadPresent });
782
+ const cacheItem = this.cache.get(key);
783
+ if (cacheItem) {
784
+ const persistedKey = isPersistedCacheItem(cacheItem) ? cacheItem.value : cacheItem.persistedKey;
785
+ if (persistedKey) {
786
+ await this.datastore.remove(persistedKey);
787
+ persistCount++;
788
+ this.metrics?.cpStateCache.persistedStateRemoveCount.inc();
789
+ }
720
790
  }
791
+ this.cache.delete(key);
792
+ this.logger.verbose("Pruned checkpoint state", {
793
+ epoch,
794
+ rootHex,
795
+ payloadPresent,
796
+ type: cacheItem ? (isPersistedCacheItem(cacheItem) ? "persisted" : "in-memory") : "missing",
797
+ });
721
798
  }
722
- this.cache.delete(key);
723
799
  }
724
800
  this.epochIndex.delete(epoch);
725
- this.logger.verbose("Pruned checkpoint states for epoch", {
801
+ this.logger.verbose("Pruned all checkpoint states for epoch", {
726
802
  epoch,
727
803
  persistCount,
728
- rootHexes: Array.from(rootHexes).join(","),
804
+ items: Array.from(rootHexMap.entries())
805
+ .flatMap(([rootHex, bitmask]) => PAYLOAD_AVAILABILITY_ALL.filter((f) => bitmask & f).map((f) => `${rootHex}:${fromPayloadAvailability(f)}`))
806
+ .join(","),
729
807
  });
730
808
  }
731
809
  /**
@@ -766,26 +844,49 @@ export class PersistentCheckpointStateCache {
766
844
  return null;
767
845
  }
768
846
  }
769
- export function toCheckpointHex(checkpoint) {
847
+ export function toCheckpointHexPayload(checkpoint, payloadPresent) {
770
848
  return {
771
849
  epoch: checkpoint.epoch,
772
850
  rootHex: toRootHex(checkpoint.root),
851
+ payloadPresent,
852
+ };
853
+ }
854
+ /**
855
+ * Convert fork-choice CheckpointWithPayloadStatus to beacon-node CheckpointHexPayload.
856
+ * Maps PayloadStatus enum to boolean payloadPresent.
857
+ * @throws Error if checkpoint has PENDING payload status (ambiguous which variant to use)
858
+ */
859
+ export function fcCheckpointToHexPayload(checkpoint) {
860
+ const PayloadStatus = { PENDING: 0, EMPTY: 1, FULL: 2 };
861
+ if (checkpoint.payloadStatus === PayloadStatus.PENDING) {
862
+ throw Error(`Cannot convert checkpoint with PENDING payload status at epoch ${checkpoint.epoch} root ${checkpoint.rootHex}`);
863
+ }
864
+ return {
865
+ epoch: checkpoint.epoch,
866
+ rootHex: checkpoint.rootHex,
867
+ payloadPresent: checkpoint.payloadStatus === PayloadStatus.FULL,
773
868
  };
774
869
  }
775
870
  export function toCheckpointKey(cp) {
776
- return `${cp.rootHex}:${cp.epoch}`;
871
+ return `${cp.rootHex}:${cp.epoch}:${cp.payloadPresent}`;
777
872
  }
873
+ /**
874
+ * Convert checkpoint to cache key string.
875
+ * Format: `{rootHex}_{epoch}_{payloadPresent}`
876
+ */
778
877
  function toCacheKey(cp) {
779
- if (isCheckpointHex(cp)) {
780
- return `${cp.rootHex}_${cp.epoch}`;
781
- }
782
- return `${toRootHex(cp.root)}_${cp.epoch}`;
878
+ return `${cp.rootHex}_${cp.epoch}_${cp.payloadPresent}`;
783
879
  }
784
880
  function fromCacheKey(key) {
785
- const [rootHex, epoch] = key.split("_");
881
+ const parts = key.split("_");
882
+ const rootHex = parts[0];
883
+ const epoch = Number(parts[1]);
884
+ // For backward compatibility with old format (rootHex_epoch), default to true
885
+ const payloadPresent = parts.length > 2 ? parts[2] === "true" : true;
786
886
  return {
787
887
  rootHex,
788
- epoch: Number(epoch),
888
+ epoch,
889
+ payloadPresent,
789
890
  };
790
891
  }
791
892
  function isCachedBeaconState(stateOrBytes) {
@@ -797,7 +898,4 @@ function isInMemoryCacheItem(cacheItem) {
797
898
  function isPersistedCacheItem(cacheItem) {
798
899
  return cacheItem.type === CacheItemType.persisted;
799
900
  }
800
- function isCheckpointHex(cp) {
801
- return cp.rootHex !== undefined;
802
- }
803
901
  //# sourceMappingURL=persistentCheckpointsCache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"persistentCheckpointsCache.js","sourceRoot":"","sources":["../../../src/chain/stateCache/persistentCheckpointsCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persistentCheckpointsCache.js","sourceRoot":"","sources":["../../../src/chain/stateCache/persistentCheckpointsCache.ts"],"names":[],"mappings":"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"}