@lodestar/beacon-node 1.41.0-dev.f9a3a81538 → 1.41.0-rc.0

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 (686) 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.map +1 -1
  5. package/lib/api/impl/beacon/blocks/utils.js.map +1 -1
  6. package/lib/api/impl/beacon/index.js.map +1 -1
  7. package/lib/api/impl/beacon/pool/index.d.ts +1 -1
  8. package/lib/api/impl/beacon/pool/index.d.ts.map +1 -1
  9. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  10. package/lib/api/impl/beacon/rewards/index.d.ts +1 -1
  11. package/lib/api/impl/beacon/rewards/index.d.ts.map +1 -1
  12. package/lib/api/impl/beacon/rewards/index.js.map +1 -1
  13. package/lib/api/impl/beacon/state/index.d.ts +1 -1
  14. package/lib/api/impl/beacon/state/index.d.ts.map +1 -1
  15. package/lib/api/impl/beacon/state/index.js.map +1 -1
  16. package/lib/api/impl/beacon/state/utils.js.map +1 -1
  17. package/lib/api/impl/config/constants.js.map +1 -1
  18. package/lib/api/impl/config/index.js.map +1 -1
  19. package/lib/api/impl/debug/index.d.ts +1 -1
  20. package/lib/api/impl/debug/index.d.ts.map +1 -1
  21. package/lib/api/impl/debug/index.js.map +1 -1
  22. package/lib/api/impl/errors.d.ts.map +1 -1
  23. package/lib/api/impl/errors.js.map +1 -1
  24. package/lib/api/impl/events/index.d.ts +1 -1
  25. package/lib/api/impl/events/index.d.ts.map +1 -1
  26. package/lib/api/impl/events/index.js.map +1 -1
  27. package/lib/api/impl/lightclient/index.d.ts +1 -1
  28. package/lib/api/impl/lightclient/index.d.ts.map +1 -1
  29. package/lib/api/impl/lightclient/index.js.map +1 -1
  30. package/lib/api/impl/lodestar/index.d.ts +1 -1
  31. package/lib/api/impl/lodestar/index.d.ts.map +1 -1
  32. package/lib/api/impl/lodestar/index.js.map +1 -1
  33. package/lib/api/impl/node/index.js.map +1 -1
  34. package/lib/api/impl/node/utils.js.map +1 -1
  35. package/lib/api/impl/proof/index.js.map +1 -1
  36. package/lib/api/impl/utils.js.map +1 -1
  37. package/lib/api/impl/validator/index.js +4 -2
  38. package/lib/api/impl/validator/index.js.map +1 -1
  39. package/lib/api/impl/validator/utils.d.ts +1 -1
  40. package/lib/api/impl/validator/utils.d.ts.map +1 -1
  41. package/lib/api/impl/validator/utils.js.map +1 -1
  42. package/lib/api/rest/activeSockets.d.ts.map +1 -1
  43. package/lib/api/rest/activeSockets.js.map +1 -1
  44. package/lib/api/rest/base.d.ts.map +1 -1
  45. package/lib/api/rest/base.js.map +1 -1
  46. package/lib/api/rest/index.d.ts.map +1 -1
  47. package/lib/api/rest/index.js.map +1 -1
  48. package/lib/api/rest/swaggerUI.js.map +1 -1
  49. package/lib/bun-wrappers/prometheus-gc-stats.js.map +1 -1
  50. package/lib/chain/ColumnReconstructionTracker.d.ts.map +1 -1
  51. package/lib/chain/ColumnReconstructionTracker.js.map +1 -1
  52. package/lib/chain/GetBlobsTracker.d.ts.map +1 -1
  53. package/lib/chain/GetBlobsTracker.js.map +1 -1
  54. package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
  55. package/lib/chain/archiveStore/archiveStore.js +2 -1
  56. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  57. package/lib/chain/archiveStore/historicalState/getHistoricalState.js.map +1 -1
  58. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +1 -1
  59. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
  60. package/lib/chain/archiveStore/historicalState/metrics.js.map +1 -1
  61. package/lib/chain/archiveStore/historicalState/types.js +2 -1
  62. package/lib/chain/archiveStore/historicalState/types.js.map +1 -1
  63. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
  64. package/lib/chain/archiveStore/interface.js +2 -1
  65. package/lib/chain/archiveStore/interface.js.map +1 -1
  66. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts +1 -1
  67. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +1 -1
  68. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js +2 -1
  69. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js.map +1 -1
  70. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  71. package/lib/chain/archiveStore/utils/archivePayloads.js.map +1 -1
  72. package/lib/chain/archiveStore/utils/pruneHistory.js.map +1 -1
  73. package/lib/chain/archiveStore/utils/updateBackfillRange.js.map +1 -1
  74. package/lib/chain/balancesCache.d.ts.map +1 -1
  75. package/lib/chain/balancesCache.js.map +1 -1
  76. package/lib/chain/beaconProposerCache.d.ts.map +1 -1
  77. package/lib/chain/beaconProposerCache.js.map +1 -1
  78. package/lib/chain/blocks/blockInput/blockInput.d.ts +5 -0
  79. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +1 -1
  80. package/lib/chain/blocks/blockInput/blockInput.js +24 -0
  81. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  82. package/lib/chain/blocks/blockInput/errors.js +2 -1
  83. package/lib/chain/blocks/blockInput/errors.js.map +1 -1
  84. package/lib/chain/blocks/blockInput/types.d.ts +5 -0
  85. package/lib/chain/blocks/blockInput/types.d.ts.map +1 -1
  86. package/lib/chain/blocks/blockInput/types.js +4 -2
  87. package/lib/chain/blocks/blockInput/types.js.map +1 -1
  88. package/lib/chain/blocks/blockInput/utils.js.map +1 -1
  89. package/lib/chain/blocks/importBlock.js.map +1 -1
  90. package/lib/chain/blocks/index.d.ts.map +1 -1
  91. package/lib/chain/blocks/index.js.map +1 -1
  92. package/lib/chain/blocks/types.js +6 -3
  93. package/lib/chain/blocks/types.js.map +1 -1
  94. package/lib/chain/blocks/utils/chainSegment.js.map +1 -1
  95. package/lib/chain/blocks/utils/checkpoint.js.map +1 -1
  96. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  97. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  98. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  99. package/lib/chain/blocks/verifyBlocksSanityChecks.js.map +1 -1
  100. package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
  101. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js.map +1 -1
  102. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +1 -1
  103. package/lib/chain/blocks/writeBlockInputToDb.js +1 -12
  104. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  105. package/lib/chain/bls/maybeBatch.js.map +1 -1
  106. package/lib/chain/bls/multithread/index.d.ts.map +1 -1
  107. package/lib/chain/bls/multithread/index.js.map +1 -1
  108. package/lib/chain/bls/multithread/jobItem.js +2 -1
  109. package/lib/chain/bls/multithread/jobItem.js.map +1 -1
  110. package/lib/chain/bls/multithread/types.js +2 -1
  111. package/lib/chain/bls/multithread/types.js.map +1 -1
  112. package/lib/chain/bls/multithread/utils.js.map +1 -1
  113. package/lib/chain/bls/multithread/worker.js.map +1 -1
  114. package/lib/chain/bls/singleThread.d.ts.map +1 -1
  115. package/lib/chain/bls/singleThread.js.map +1 -1
  116. package/lib/chain/bls/utils.js.map +1 -1
  117. package/lib/chain/chain.d.ts +3 -3
  118. package/lib/chain/chain.d.ts.map +1 -1
  119. package/lib/chain/chain.js +2 -1
  120. package/lib/chain/chain.js.map +1 -1
  121. package/lib/chain/emitter.d.ts +1 -3
  122. package/lib/chain/emitter.d.ts.map +1 -1
  123. package/lib/chain/emitter.js +2 -1
  124. package/lib/chain/emitter.js.map +1 -1
  125. package/lib/chain/errors/attestationError.d.ts.map +1 -1
  126. package/lib/chain/errors/attestationError.js +2 -1
  127. package/lib/chain/errors/attestationError.js.map +1 -1
  128. package/lib/chain/errors/attesterSlashingError.js +2 -1
  129. package/lib/chain/errors/attesterSlashingError.js.map +1 -1
  130. package/lib/chain/errors/blobSidecarError.js +2 -1
  131. package/lib/chain/errors/blobSidecarError.js.map +1 -1
  132. package/lib/chain/errors/blockError.d.ts.map +1 -1
  133. package/lib/chain/errors/blockError.js +2 -1
  134. package/lib/chain/errors/blockError.js.map +1 -1
  135. package/lib/chain/errors/blsToExecutionChangeError.js +2 -1
  136. package/lib/chain/errors/blsToExecutionChangeError.js.map +1 -1
  137. package/lib/chain/errors/dataColumnSidecarError.js +2 -1
  138. package/lib/chain/errors/dataColumnSidecarError.js.map +1 -1
  139. package/lib/chain/errors/executionPayloadBid.d.ts +1 -1
  140. package/lib/chain/errors/executionPayloadBid.js +2 -1
  141. package/lib/chain/errors/executionPayloadBid.js.map +1 -1
  142. package/lib/chain/errors/executionPayloadEnvelope.js +2 -1
  143. package/lib/chain/errors/executionPayloadEnvelope.js.map +1 -1
  144. package/lib/chain/errors/gossipValidation.d.ts.map +1 -1
  145. package/lib/chain/errors/gossipValidation.js +4 -2
  146. package/lib/chain/errors/gossipValidation.js.map +1 -1
  147. package/lib/chain/errors/lightClientError.js +4 -2
  148. package/lib/chain/errors/lightClientError.js.map +1 -1
  149. package/lib/chain/errors/payloadAttestation.d.ts +1 -1
  150. package/lib/chain/errors/payloadAttestation.js +2 -1
  151. package/lib/chain/errors/payloadAttestation.js.map +1 -1
  152. package/lib/chain/errors/proposerSlashingError.js +2 -1
  153. package/lib/chain/errors/proposerSlashingError.js.map +1 -1
  154. package/lib/chain/errors/syncCommitteeError.js +2 -1
  155. package/lib/chain/errors/syncCommitteeError.js.map +1 -1
  156. package/lib/chain/errors/voluntaryExitError.js +2 -1
  157. package/lib/chain/errors/voluntaryExitError.js.map +1 -1
  158. package/lib/chain/forkChoice/index.js +2 -1
  159. package/lib/chain/forkChoice/index.js.map +1 -1
  160. package/lib/chain/initState.d.ts +1 -1
  161. package/lib/chain/initState.d.ts.map +1 -1
  162. package/lib/chain/initState.js.map +1 -1
  163. package/lib/chain/interface.js +2 -1
  164. package/lib/chain/interface.js.map +1 -1
  165. package/lib/chain/lightClient/index.d.ts +0 -29
  166. package/lib/chain/lightClient/index.d.ts.map +1 -1
  167. package/lib/chain/lightClient/index.js.map +1 -1
  168. package/lib/chain/lightClient/proofs.js.map +1 -1
  169. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
  170. package/lib/chain/opPools/aggregatedAttestationPool.js +4 -2
  171. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  172. package/lib/chain/opPools/attestationPool.d.ts.map +1 -1
  173. package/lib/chain/opPools/attestationPool.js.map +1 -1
  174. package/lib/chain/opPools/executionPayloadBidPool.d.ts.map +1 -1
  175. package/lib/chain/opPools/executionPayloadBidPool.js.map +1 -1
  176. package/lib/chain/opPools/opPool.d.ts.map +1 -1
  177. package/lib/chain/opPools/opPool.js.map +1 -1
  178. package/lib/chain/opPools/payloadAttestationPool.d.ts.map +1 -1
  179. package/lib/chain/opPools/payloadAttestationPool.js.map +1 -1
  180. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +1 -1
  181. package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
  182. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +1 -1
  183. package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
  184. package/lib/chain/opPools/types.js +4 -2
  185. package/lib/chain/opPools/types.js.map +1 -1
  186. package/lib/chain/opPools/utils.js.map +1 -1
  187. package/lib/chain/prepareNextSlot.d.ts +1 -2
  188. package/lib/chain/prepareNextSlot.d.ts.map +1 -1
  189. package/lib/chain/prepareNextSlot.js.map +1 -1
  190. package/lib/chain/produceBlock/computeNewStateRoot.d.ts +0 -1
  191. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +1 -1
  192. package/lib/chain/produceBlock/computeNewStateRoot.js +4 -3
  193. package/lib/chain/produceBlock/computeNewStateRoot.js.map +1 -1
  194. package/lib/chain/produceBlock/produceBlockBody.d.ts +1 -1
  195. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  196. package/lib/chain/produceBlock/produceBlockBody.js +6 -3
  197. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  198. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.js.map +1 -1
  199. package/lib/chain/regen/errors.d.ts.map +1 -1
  200. package/lib/chain/regen/errors.js +2 -1
  201. package/lib/chain/regen/errors.js.map +1 -1
  202. package/lib/chain/regen/interface.js +4 -2
  203. package/lib/chain/regen/interface.js.map +1 -1
  204. package/lib/chain/regen/queued.d.ts.map +1 -1
  205. package/lib/chain/regen/queued.js.map +1 -1
  206. package/lib/chain/regen/regen.d.ts.map +1 -1
  207. package/lib/chain/regen/regen.js.map +1 -1
  208. package/lib/chain/reprocess.d.ts.map +1 -1
  209. package/lib/chain/reprocess.js +2 -1
  210. package/lib/chain/reprocess.js.map +1 -1
  211. package/lib/chain/seenCache/seenAggregateAndProof.d.ts.map +1 -1
  212. package/lib/chain/seenCache/seenAggregateAndProof.js.map +1 -1
  213. package/lib/chain/seenCache/seenAttestationData.d.ts.map +1 -1
  214. package/lib/chain/seenCache/seenAttestationData.js +2 -1
  215. package/lib/chain/seenCache/seenAttestationData.js.map +1 -1
  216. package/lib/chain/seenCache/seenAttesters.d.ts.map +1 -1
  217. package/lib/chain/seenCache/seenAttesters.js.map +1 -1
  218. package/lib/chain/seenCache/seenBlockAttesters.d.ts.map +1 -1
  219. package/lib/chain/seenCache/seenBlockAttesters.js.map +1 -1
  220. package/lib/chain/seenCache/seenBlockProposers.d.ts.map +1 -1
  221. package/lib/chain/seenCache/seenBlockProposers.js.map +1 -1
  222. package/lib/chain/seenCache/seenCommittee.d.ts.map +1 -1
  223. package/lib/chain/seenCache/seenCommittee.js.map +1 -1
  224. package/lib/chain/seenCache/seenCommitteeContribution.d.ts.map +1 -1
  225. package/lib/chain/seenCache/seenCommitteeContribution.js.map +1 -1
  226. package/lib/chain/seenCache/seenExecutionPayloadBids.d.ts.map +1 -1
  227. package/lib/chain/seenCache/seenExecutionPayloadBids.js.map +1 -1
  228. package/lib/chain/seenCache/seenExecutionPayloadEnvelope.d.ts.map +1 -1
  229. package/lib/chain/seenCache/seenExecutionPayloadEnvelope.js.map +1 -1
  230. package/lib/chain/seenCache/seenGossipBlockInput.d.ts +7 -3
  231. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +1 -1
  232. package/lib/chain/seenCache/seenGossipBlockInput.js +23 -9
  233. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  234. package/lib/chain/serializeState.js +1 -0
  235. package/lib/chain/serializeState.js.map +1 -1
  236. package/lib/chain/shufflingCache.d.ts.map +1 -1
  237. package/lib/chain/shufflingCache.js +2 -1
  238. package/lib/chain/shufflingCache.js.map +1 -1
  239. package/lib/chain/stateCache/datastore/db.d.ts.map +1 -1
  240. package/lib/chain/stateCache/datastore/db.js.map +1 -1
  241. package/lib/chain/stateCache/datastore/file.d.ts.map +1 -1
  242. package/lib/chain/stateCache/datastore/file.js.map +1 -1
  243. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +1 -1
  244. package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
  245. package/lib/chain/stateCache/mapMetrics.d.ts.map +1 -1
  246. package/lib/chain/stateCache/mapMetrics.js.map +1 -1
  247. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +1 -41
  248. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +1 -1
  249. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  250. package/lib/chain/stateCache/types.js +2 -1
  251. package/lib/chain/stateCache/types.js.map +1 -1
  252. package/lib/chain/validation/aggregateAndProof.js.map +1 -1
  253. package/lib/chain/validation/attestation.d.ts.map +1 -1
  254. package/lib/chain/validation/attestation.js +7 -3
  255. package/lib/chain/validation/attestation.js.map +1 -1
  256. package/lib/chain/validation/attesterSlashing.js.map +1 -1
  257. package/lib/chain/validation/blobSidecar.js.map +1 -1
  258. package/lib/chain/validation/block.js.map +1 -1
  259. package/lib/chain/validation/blsToExecutionChange.js.map +1 -1
  260. package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
  261. package/lib/chain/validation/executionPayloadBid.js.map +1 -1
  262. package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
  263. package/lib/chain/validation/lightClientFinalityUpdate.js.map +1 -1
  264. package/lib/chain/validation/lightClientOptimisticUpdate.js.map +1 -1
  265. package/lib/chain/validation/payloadAttestationMessage.js.map +1 -1
  266. package/lib/chain/validation/proposerSlashing.js.map +1 -1
  267. package/lib/chain/validation/signatureSets/aggregateAndProof.js.map +1 -1
  268. package/lib/chain/validation/signatureSets/contributionAndProof.js.map +1 -1
  269. package/lib/chain/validation/signatureSets/selectionProof.js.map +1 -1
  270. package/lib/chain/validation/signatureSets/syncCommittee.js.map +1 -1
  271. package/lib/chain/validation/signatureSets/syncCommitteeContribution.js.map +1 -1
  272. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js.map +1 -1
  273. package/lib/chain/validation/syncCommittee.js.map +1 -1
  274. package/lib/chain/validation/syncCommitteeContributionAndProof.js.map +1 -1
  275. package/lib/chain/validation/voluntaryExit.js.map +1 -1
  276. package/lib/chain/validatorMonitor.d.ts.map +1 -1
  277. package/lib/chain/validatorMonitor.js +2 -1
  278. package/lib/chain/validatorMonitor.js.map +1 -1
  279. package/lib/constants/network.js +4 -2
  280. package/lib/constants/network.js.map +1 -1
  281. package/lib/db/beacon.d.ts.map +1 -1
  282. package/lib/db/beacon.js.map +1 -1
  283. package/lib/db/buckets.d.ts +23 -23
  284. package/lib/db/buckets.d.ts.map +1 -1
  285. package/lib/db/buckets.js +2 -1
  286. package/lib/db/buckets.js.map +1 -1
  287. package/lib/db/index.d.ts +1 -0
  288. package/lib/db/index.d.ts.map +1 -1
  289. package/lib/db/index.js +1 -0
  290. package/lib/db/index.js.map +1 -1
  291. package/lib/db/repositories/attesterSlashing.d.ts.map +1 -1
  292. package/lib/db/repositories/attesterSlashing.js.map +1 -1
  293. package/lib/db/repositories/backfilledRanges.d.ts.map +1 -1
  294. package/lib/db/repositories/backfilledRanges.js.map +1 -1
  295. package/lib/db/repositories/blobSidecars.d.ts.map +1 -1
  296. package/lib/db/repositories/blobSidecars.js.map +1 -1
  297. package/lib/db/repositories/blobSidecarsArchive.d.ts.map +1 -1
  298. package/lib/db/repositories/blobSidecarsArchive.js.map +1 -1
  299. package/lib/db/repositories/block.d.ts.map +1 -1
  300. package/lib/db/repositories/block.js.map +1 -1
  301. package/lib/db/repositories/blockArchive.d.ts.map +1 -1
  302. package/lib/db/repositories/blockArchive.js.map +1 -1
  303. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  304. package/lib/db/repositories/blockArchiveIndex.js.map +1 -1
  305. package/lib/db/repositories/blsToExecutionChange.d.ts.map +1 -1
  306. package/lib/db/repositories/blsToExecutionChange.js.map +1 -1
  307. package/lib/db/repositories/checkpointState.d.ts.map +1 -1
  308. package/lib/db/repositories/checkpointState.js.map +1 -1
  309. package/lib/db/repositories/dataColumnSidecar.d.ts.map +1 -1
  310. package/lib/db/repositories/dataColumnSidecar.js.map +1 -1
  311. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +1 -1
  312. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  313. package/lib/db/repositories/executionPayloadEnvelope.d.ts.map +1 -1
  314. package/lib/db/repositories/executionPayloadEnvelope.js.map +1 -1
  315. package/lib/db/repositories/executionPayloadEnvelopeArchive.d.ts.map +1 -1
  316. package/lib/db/repositories/executionPayloadEnvelopeArchive.js.map +1 -1
  317. package/lib/db/repositories/lightclientBestUpdate.d.ts.map +1 -1
  318. package/lib/db/repositories/lightclientBestUpdate.js.map +1 -1
  319. package/lib/db/repositories/lightclientCheckpointHeader.d.ts.map +1 -1
  320. package/lib/db/repositories/lightclientCheckpointHeader.js.map +1 -1
  321. package/lib/db/repositories/lightclientSyncCommittee.d.ts.map +1 -1
  322. package/lib/db/repositories/lightclientSyncCommittee.js.map +1 -1
  323. package/lib/db/repositories/lightclientSyncCommitteeWitness.d.ts.map +1 -1
  324. package/lib/db/repositories/lightclientSyncCommitteeWitness.js.map +1 -1
  325. package/lib/db/repositories/proposerSlashing.d.ts.map +1 -1
  326. package/lib/db/repositories/proposerSlashing.js.map +1 -1
  327. package/lib/db/repositories/stateArchive.d.ts.map +1 -1
  328. package/lib/db/repositories/stateArchive.js.map +1 -1
  329. package/lib/db/repositories/stateArchiveIndex.js.map +1 -1
  330. package/lib/db/repositories/voluntaryExit.d.ts.map +1 -1
  331. package/lib/db/repositories/voluntaryExit.js.map +1 -1
  332. package/lib/execution/builder/cache.d.ts.map +1 -1
  333. package/lib/execution/builder/cache.js.map +1 -1
  334. package/lib/execution/builder/http.d.ts.map +1 -1
  335. package/lib/execution/builder/http.js +2 -1
  336. package/lib/execution/builder/http.js.map +1 -1
  337. package/lib/execution/builder/index.js.map +1 -1
  338. package/lib/execution/builder/utils.js.map +1 -1
  339. package/lib/execution/engine/disabled.d.ts.map +1 -1
  340. package/lib/execution/engine/disabled.js.map +1 -1
  341. package/lib/execution/engine/http.d.ts.map +1 -1
  342. package/lib/execution/engine/http.js.map +1 -1
  343. package/lib/execution/engine/index.js.map +1 -1
  344. package/lib/execution/engine/interface.js +4 -2
  345. package/lib/execution/engine/interface.js.map +1 -1
  346. package/lib/execution/engine/jsonRpcHttpClient.d.ts +10 -15
  347. package/lib/execution/engine/jsonRpcHttpClient.d.ts.map +1 -1
  348. package/lib/execution/engine/jsonRpcHttpClient.js +2 -1
  349. package/lib/execution/engine/jsonRpcHttpClient.js.map +1 -1
  350. package/lib/execution/engine/jwt.js.map +1 -1
  351. package/lib/execution/engine/mock.d.ts.map +1 -1
  352. package/lib/execution/engine/mock.js.map +1 -1
  353. package/lib/execution/engine/payloadIdCache.d.ts.map +1 -1
  354. package/lib/execution/engine/payloadIdCache.js.map +1 -1
  355. package/lib/execution/engine/types.js.map +1 -1
  356. package/lib/execution/engine/utils.d.ts +1 -1
  357. package/lib/execution/engine/utils.d.ts.map +1 -1
  358. package/lib/execution/engine/utils.js.map +1 -1
  359. package/lib/metrics/metrics/beacon.d.ts.map +1 -1
  360. package/lib/metrics/metrics/beacon.js.map +1 -1
  361. package/lib/metrics/metrics/lodestar.d.ts +8 -6
  362. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  363. package/lib/metrics/metrics/lodestar.js +18 -10
  364. package/lib/metrics/metrics/lodestar.js.map +1 -1
  365. package/lib/metrics/metrics.js.map +1 -1
  366. package/lib/metrics/nodeJsMetrics.js.map +1 -1
  367. package/lib/metrics/server/http.d.ts +1 -1
  368. package/lib/metrics/server/http.d.ts.map +1 -1
  369. package/lib/metrics/server/http.js.map +1 -1
  370. package/lib/metrics/utils/avgMinMax.d.ts.map +1 -1
  371. package/lib/metrics/utils/avgMinMax.js.map +1 -1
  372. package/lib/metrics/utils/gauge.d.ts.map +1 -1
  373. package/lib/metrics/utils/gauge.js.map +1 -1
  374. package/lib/metrics/utils/registryMetricCreator.d.ts.map +1 -1
  375. package/lib/metrics/utils/registryMetricCreator.js.map +1 -1
  376. package/lib/monitoring/clientStats.js.map +1 -1
  377. package/lib/monitoring/properties.d.ts.map +1 -1
  378. package/lib/monitoring/properties.js.map +1 -1
  379. package/lib/monitoring/service.d.ts.map +1 -1
  380. package/lib/monitoring/service.js.map +1 -1
  381. package/lib/monitoring/system.d.ts.map +1 -1
  382. package/lib/monitoring/system.js.map +1 -1
  383. package/lib/monitoring/types.js +4 -2
  384. package/lib/monitoring/types.js.map +1 -1
  385. package/lib/network/core/events.d.ts +1 -3
  386. package/lib/network/core/events.d.ts.map +1 -1
  387. package/lib/network/core/events.js +4 -2
  388. package/lib/network/core/events.js.map +1 -1
  389. package/lib/network/core/metrics.d.ts +6 -7
  390. package/lib/network/core/metrics.d.ts.map +1 -1
  391. package/lib/network/core/metrics.js.map +1 -1
  392. package/lib/network/core/networkCore.d.ts +1 -1
  393. package/lib/network/core/networkCore.d.ts.map +1 -1
  394. package/lib/network/core/networkCore.js.map +1 -1
  395. package/lib/network/core/networkCoreWorker.js.map +1 -1
  396. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +1 -1
  397. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  398. package/lib/network/discv5/index.d.ts +1 -3
  399. package/lib/network/discv5/index.d.ts.map +1 -1
  400. package/lib/network/discv5/index.js.map +1 -1
  401. package/lib/network/discv5/utils.d.ts +1 -1
  402. package/lib/network/discv5/utils.d.ts.map +1 -1
  403. package/lib/network/discv5/utils.js +7 -5
  404. package/lib/network/discv5/utils.js.map +1 -1
  405. package/lib/network/discv5/worker.js.map +1 -1
  406. package/lib/network/events.d.ts +1 -3
  407. package/lib/network/events.d.ts.map +1 -1
  408. package/lib/network/events.js +4 -2
  409. package/lib/network/events.js.map +1 -1
  410. package/lib/network/forks.js.map +1 -1
  411. package/lib/network/gossip/encoding.d.ts.map +1 -1
  412. package/lib/network/gossip/encoding.js.map +1 -1
  413. package/lib/network/gossip/errors.d.ts.map +1 -1
  414. package/lib/network/gossip/errors.js.map +1 -1
  415. package/lib/network/gossip/gossipsub.d.ts.map +1 -1
  416. package/lib/network/gossip/gossipsub.js +9 -6
  417. package/lib/network/gossip/gossipsub.js.map +1 -1
  418. package/lib/network/gossip/interface.js +4 -2
  419. package/lib/network/gossip/interface.js.map +1 -1
  420. package/lib/network/gossip/metrics.d.ts +12 -14
  421. package/lib/network/gossip/metrics.d.ts.map +1 -1
  422. package/lib/network/gossip/metrics.js.map +1 -1
  423. package/lib/network/gossip/scoringParameters.d.ts +1 -1
  424. package/lib/network/gossip/scoringParameters.d.ts.map +1 -1
  425. package/lib/network/gossip/scoringParameters.js.map +1 -1
  426. package/lib/network/gossip/topic.d.ts +2867 -2920
  427. package/lib/network/gossip/topic.d.ts.map +1 -1
  428. package/lib/network/gossip/topic.js.map +1 -1
  429. package/lib/network/libp2p/error.js +2 -1
  430. package/lib/network/libp2p/error.js.map +1 -1
  431. package/lib/network/libp2p/index.d.ts +1 -1
  432. package/lib/network/libp2p/index.d.ts.map +1 -1
  433. package/lib/network/libp2p/index.js +35 -17
  434. package/lib/network/libp2p/index.js.map +1 -1
  435. package/lib/network/metadata.d.ts +1 -0
  436. package/lib/network/metadata.d.ts.map +1 -1
  437. package/lib/network/metadata.js +5 -2
  438. package/lib/network/metadata.js.map +1 -1
  439. package/lib/network/network.d.ts +1 -1
  440. package/lib/network/network.d.ts.map +1 -1
  441. package/lib/network/network.js +1 -1
  442. package/lib/network/network.js.map +1 -1
  443. package/lib/network/options.d.ts +2 -0
  444. package/lib/network/options.d.ts.map +1 -1
  445. package/lib/network/options.js +3 -0
  446. package/lib/network/options.js.map +1 -1
  447. package/lib/network/peers/client.js +2 -1
  448. package/lib/network/peers/client.js.map +1 -1
  449. package/lib/network/peers/datastore.d.ts +0 -3
  450. package/lib/network/peers/datastore.d.ts.map +1 -1
  451. package/lib/network/peers/datastore.js.map +1 -1
  452. package/lib/network/peers/discover.d.ts +2 -7
  453. package/lib/network/peers/discover.d.ts.map +1 -1
  454. package/lib/network/peers/discover.js +45 -12
  455. package/lib/network/peers/discover.js.map +1 -1
  456. package/lib/network/peers/peerManager.d.ts +0 -1
  457. package/lib/network/peers/peerManager.d.ts.map +1 -1
  458. package/lib/network/peers/peerManager.js.map +1 -1
  459. package/lib/network/peers/peersData.d.ts.map +1 -1
  460. package/lib/network/peers/peersData.js +2 -1
  461. package/lib/network/peers/peersData.js.map +1 -1
  462. package/lib/network/peers/score/interface.js +4 -2
  463. package/lib/network/peers/score/interface.js.map +1 -1
  464. package/lib/network/peers/score/score.d.ts.map +1 -1
  465. package/lib/network/peers/score/score.js.map +1 -1
  466. package/lib/network/peers/score/store.d.ts.map +1 -1
  467. package/lib/network/peers/score/store.js.map +1 -1
  468. package/lib/network/peers/score/utils.js.map +1 -1
  469. package/lib/network/peers/utils/assertPeerRelevance.js +2 -1
  470. package/lib/network/peers/utils/assertPeerRelevance.js.map +1 -1
  471. package/lib/network/peers/utils/enrSubnetsDeserialize.js.map +1 -1
  472. package/lib/network/peers/utils/getConnectedPeerIds.js.map +1 -1
  473. package/lib/network/peers/utils/prioritizePeers.js +2 -1
  474. package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
  475. package/lib/network/peers/utils/subnetMap.d.ts.map +1 -1
  476. package/lib/network/peers/utils/subnetMap.js.map +1 -1
  477. package/lib/network/processor/aggregatorTracker.d.ts.map +1 -1
  478. package/lib/network/processor/aggregatorTracker.js.map +1 -1
  479. package/lib/network/processor/extractSlotRootFns.js.map +1 -1
  480. package/lib/network/processor/gossipHandlers.js.map +1 -1
  481. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  482. package/lib/network/processor/gossipQueues/indexed.d.ts.map +1 -1
  483. package/lib/network/processor/gossipQueues/indexed.js.map +1 -1
  484. package/lib/network/processor/gossipQueues/linear.d.ts.map +1 -1
  485. package/lib/network/processor/gossipQueues/linear.js.map +1 -1
  486. package/lib/network/processor/gossipQueues/types.js +4 -2
  487. package/lib/network/processor/gossipQueues/types.js.map +1 -1
  488. package/lib/network/processor/gossipValidatorFn.js.map +1 -1
  489. package/lib/network/processor/index.d.ts.map +1 -1
  490. package/lib/network/processor/index.js +4 -2
  491. package/lib/network/processor/index.js.map +1 -1
  492. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +1 -1
  493. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  494. package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
  495. package/lib/network/reqresp/handlers/beaconBlocksByRoot.js.map +1 -1
  496. package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +1 -1
  497. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +1 -1
  498. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -1
  499. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -1
  500. package/lib/network/reqresp/handlers/index.js.map +1 -1
  501. package/lib/network/reqresp/handlers/lightClientBootstrap.js.map +1 -1
  502. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.js.map +1 -1
  503. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.js.map +1 -1
  504. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.js.map +1 -1
  505. package/lib/network/reqresp/interface.js +2 -1
  506. package/lib/network/reqresp/interface.js.map +1 -1
  507. package/lib/network/reqresp/protocols.d.ts.map +1 -1
  508. package/lib/network/reqresp/protocols.js.map +1 -1
  509. package/lib/network/reqresp/rateLimit.js.map +1 -1
  510. package/lib/network/reqresp/score.js.map +1 -1
  511. package/lib/network/reqresp/types.js +4 -2
  512. package/lib/network/reqresp/types.js.map +1 -1
  513. package/lib/network/reqresp/utils/collect.d.ts +1 -1
  514. package/lib/network/reqresp/utils/collect.js.map +1 -1
  515. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts +1 -1
  516. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.js +2 -1
  517. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.js.map +1 -1
  518. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts +1 -1
  519. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +1 -1
  520. package/lib/network/reqresp/utils/dataColumnResponseValidation.js.map +1 -1
  521. package/lib/network/statusCache.d.ts.map +1 -1
  522. package/lib/network/statusCache.js.map +1 -1
  523. package/lib/network/subnets/attnetsService.d.ts.map +1 -1
  524. package/lib/network/subnets/attnetsService.js +2 -1
  525. package/lib/network/subnets/attnetsService.js.map +1 -1
  526. package/lib/network/subnets/interface.js.map +1 -1
  527. package/lib/network/subnets/syncnetsService.d.ts.map +1 -1
  528. package/lib/network/subnets/syncnetsService.js.map +1 -1
  529. package/lib/network/subnets/util.js.map +1 -1
  530. package/lib/network/util.js.map +1 -1
  531. package/lib/node/nodejs.d.ts +2 -2
  532. package/lib/node/nodejs.d.ts.map +1 -1
  533. package/lib/node/nodejs.js +2 -1
  534. package/lib/node/nodejs.js.map +1 -1
  535. package/lib/node/notifier.js.map +1 -1
  536. package/lib/node/utils/interop/deposits.js.map +1 -1
  537. package/lib/node/utils/interop/state.d.ts +1 -1
  538. package/lib/node/utils/interop/state.d.ts.map +1 -1
  539. package/lib/node/utils/interop/state.js.map +1 -1
  540. package/lib/node/utils/lightclient.js.map +1 -1
  541. package/lib/node/utils/state.js.map +1 -1
  542. package/lib/sync/backfill/backfill.d.ts +1 -10
  543. package/lib/sync/backfill/backfill.d.ts.map +1 -1
  544. package/lib/sync/backfill/backfill.js +6 -3
  545. package/lib/sync/backfill/backfill.js.map +1 -1
  546. package/lib/sync/backfill/errors.js +2 -1
  547. package/lib/sync/backfill/errors.js.map +1 -1
  548. package/lib/sync/backfill/verify.js.map +1 -1
  549. package/lib/sync/interface.js +2 -1
  550. package/lib/sync/interface.js.map +1 -1
  551. package/lib/sync/range/batch.d.ts.map +1 -1
  552. package/lib/sync/range/batch.js +4 -2
  553. package/lib/sync/range/batch.js.map +1 -1
  554. package/lib/sync/range/chain.d.ts +0 -10
  555. package/lib/sync/range/chain.d.ts.map +1 -1
  556. package/lib/sync/range/chain.js +2 -1
  557. package/lib/sync/range/chain.js.map +1 -1
  558. package/lib/sync/range/range.d.ts +1 -3
  559. package/lib/sync/range/range.d.ts.map +1 -1
  560. package/lib/sync/range/range.js +4 -2
  561. package/lib/sync/range/range.js.map +1 -1
  562. package/lib/sync/range/utils/batches.js.map +1 -1
  563. package/lib/sync/range/utils/chainTarget.js.map +1 -1
  564. package/lib/sync/range/utils/hashBlocks.js.map +1 -1
  565. package/lib/sync/range/utils/peerBalancer.d.ts.map +1 -1
  566. package/lib/sync/range/utils/peerBalancer.js.map +1 -1
  567. package/lib/sync/range/utils/updateChains.js.map +1 -1
  568. package/lib/sync/sync.d.ts.map +1 -1
  569. package/lib/sync/sync.js.map +1 -1
  570. package/lib/sync/types.js +4 -2
  571. package/lib/sync/types.js.map +1 -1
  572. package/lib/sync/unknownBlock.d.ts +0 -14
  573. package/lib/sync/unknownBlock.d.ts.map +1 -1
  574. package/lib/sync/unknownBlock.js.map +1 -1
  575. package/lib/sync/utils/downloadByRange.d.ts +4 -4
  576. package/lib/sync/utils/downloadByRange.d.ts.map +1 -1
  577. package/lib/sync/utils/downloadByRange.js +2 -1
  578. package/lib/sync/utils/downloadByRange.js.map +1 -1
  579. package/lib/sync/utils/downloadByRoot.d.ts +8 -8
  580. package/lib/sync/utils/downloadByRoot.d.ts.map +1 -1
  581. package/lib/sync/utils/downloadByRoot.js +2 -1
  582. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  583. package/lib/sync/utils/pendingBlocksTree.js.map +1 -1
  584. package/lib/sync/utils/remoteSyncType.d.ts +1 -1
  585. package/lib/sync/utils/remoteSyncType.d.ts.map +1 -1
  586. package/lib/sync/utils/remoteSyncType.js +4 -2
  587. package/lib/sync/utils/remoteSyncType.js.map +1 -1
  588. package/lib/util/address.js.map +1 -1
  589. package/lib/util/array.d.ts.map +1 -1
  590. package/lib/util/array.js.map +1 -1
  591. package/lib/util/asyncIterableToEvents.d.ts.map +1 -1
  592. package/lib/util/asyncIterableToEvents.js +2 -1
  593. package/lib/util/asyncIterableToEvents.js.map +1 -1
  594. package/lib/util/binarySearch.d.ts.map +1 -1
  595. package/lib/util/binarySearch.js.map +1 -1
  596. package/lib/util/bitArray.js +2 -1
  597. package/lib/util/bitArray.js.map +1 -1
  598. package/lib/util/blobs.js.map +1 -1
  599. package/lib/util/bufferPool.d.ts.map +1 -1
  600. package/lib/util/bufferPool.js +2 -1
  601. package/lib/util/bufferPool.js.map +1 -1
  602. package/lib/util/chunkify.js.map +1 -1
  603. package/lib/util/clock.d.ts.map +1 -1
  604. package/lib/util/clock.js +2 -1
  605. package/lib/util/clock.js.map +1 -1
  606. package/lib/util/dataColumns.d.ts.map +1 -1
  607. package/lib/util/dataColumns.js +4 -2
  608. package/lib/util/dataColumns.js.map +1 -1
  609. package/lib/util/dependentRoot.js.map +1 -1
  610. package/lib/util/enum.js.map +1 -1
  611. package/lib/util/error.js.map +1 -1
  612. package/lib/util/eventLoop.js.map +1 -1
  613. package/lib/util/execution.js +2 -1
  614. package/lib/util/execution.js.map +1 -1
  615. package/lib/util/file.js.map +1 -1
  616. package/lib/util/forkChoice.js.map +1 -1
  617. package/lib/util/forkName.js.map +1 -1
  618. package/lib/util/graffiti.js.map +1 -1
  619. package/lib/util/hex.js.map +1 -1
  620. package/lib/util/ip.js.map +1 -1
  621. package/lib/util/itTrigger.d.ts.map +1 -1
  622. package/lib/util/itTrigger.js.map +1 -1
  623. package/lib/util/map.d.ts.map +1 -1
  624. package/lib/util/map.js.map +1 -1
  625. package/lib/util/metadata.js.map +1 -1
  626. package/lib/util/multifork.js.map +1 -1
  627. package/lib/util/numpy.js.map +1 -1
  628. package/lib/util/peerId.js.map +1 -1
  629. package/lib/util/profile.js +2 -1
  630. package/lib/util/profile.js.map +1 -1
  631. package/lib/util/promises.js.map +1 -1
  632. package/lib/util/queue/errors.js +2 -1
  633. package/lib/util/queue/errors.js.map +1 -1
  634. package/lib/util/queue/fnQueue.d.ts.map +1 -1
  635. package/lib/util/queue/fnQueue.js.map +1 -1
  636. package/lib/util/queue/itemQueue.d.ts.map +1 -1
  637. package/lib/util/queue/itemQueue.js.map +1 -1
  638. package/lib/util/queue/options.js +2 -1
  639. package/lib/util/queue/options.js.map +1 -1
  640. package/lib/util/serializedCache.d.ts +4 -4
  641. package/lib/util/serializedCache.d.ts.map +1 -1
  642. package/lib/util/serializedCache.js +6 -4
  643. package/lib/util/serializedCache.js.map +1 -1
  644. package/lib/util/set.d.ts.map +1 -1
  645. package/lib/util/set.js.map +1 -1
  646. package/lib/util/shuffle.js.map +1 -1
  647. package/lib/util/sortBy.js.map +1 -1
  648. package/lib/util/sszBytes.js.map +1 -1
  649. package/lib/util/time.js.map +1 -1
  650. package/lib/util/timeSeries.d.ts.map +1 -1
  651. package/lib/util/timeSeries.js.map +1 -1
  652. package/lib/util/types.d.ts.map +1 -1
  653. package/lib/util/workerEvents.d.ts +1 -1
  654. package/lib/util/workerEvents.d.ts.map +1 -1
  655. package/lib/util/workerEvents.js.map +1 -1
  656. package/lib/util/wrapError.js.map +1 -1
  657. package/package.json +28 -27
  658. package/src/chain/blocks/blockInput/blockInput.ts +35 -0
  659. package/src/chain/blocks/blockInput/types.ts +5 -0
  660. package/src/chain/blocks/writeBlockInputToDb.ts +1 -18
  661. package/src/chain/chain.ts +6 -6
  662. package/src/chain/errors/executionPayloadBid.ts +1 -1
  663. package/src/chain/errors/payloadAttestation.ts +1 -1
  664. package/src/chain/produceBlock/computeNewStateRoot.ts +4 -3
  665. package/src/chain/seenCache/seenGossipBlockInput.ts +40 -11
  666. package/src/chain/validation/attestation.ts +7 -3
  667. package/src/db/index.ts +1 -0
  668. package/src/metrics/metrics/lodestar.ts +18 -10
  669. package/src/network/discv5/utils.ts +5 -4
  670. package/src/network/gossip/gossipsub.ts +12 -7
  671. package/src/network/libp2p/index.ts +40 -18
  672. package/src/network/metadata.ts +1 -0
  673. package/src/network/network.ts +2 -1
  674. package/src/network/options.ts +5 -1
  675. package/src/network/peers/discover.ts +46 -11
  676. package/src/network/processor/gossipHandlers.ts +1 -1
  677. package/src/network/processor/gossipValidatorFn.ts +1 -1
  678. package/src/network/reqresp/ReqRespBeaconNode.ts +1 -1
  679. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +1 -1
  680. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +1 -1
  681. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +1 -1
  682. package/src/network/reqresp/utils/collect.ts +1 -1
  683. package/src/network/reqresp/utils/collectSequentialBlocksInRange.ts +1 -1
  684. package/src/sync/utils/downloadByRoot.ts +1 -1
  685. package/src/sync/utils/remoteSyncType.ts +1 -1
  686. package/src/util/serializedCache.ts +7 -5
@@ -1 +1 @@
1
- {"version":3,"file":"workerEvents.d.ts","sourceRoot":"","sources":["../../src/util/workerEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAC;AAExC,OAAO,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAC,wBAAwB,EAAC,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAC,cAAc,EAAe,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAC,2BAA2B,EAAC,MAAM,mBAAmB,CAAC;AAI9D,MAAM,MAAM,iBAAiB,CAAC,SAAS,IAAI;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,SAAS,CAAC;IACvB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,IAAI,EAAE,SAAS,CAAC,MAAM,SAAS,CAAC,CAAC;CAClC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAChD,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,2BAA2B,CAAC,SAAS,CAAC,EAC9C,UAAU,EAAE,WAAW,EACvB,OAAO,EAAE,wBAAwB,GAAG,IAAI,EACxC,cAAc,EAAE;KAAE,CAAC,IAAI,MAAM,SAAS,GAAG,cAAc;CAAC,GACvD,IAAI,CAuCN;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAC9C,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,2BAA2B,CAAC,SAAS,CAAC,EAC9C,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,aAAa,CAAC,EAC1C,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,cAAc,EAAE;KAAE,CAAC,IAAI,MAAM,SAAS,GAAG,cAAc;CAAC,GACvD,IAAI,CAiCN;AAED,wBAAsB,qBAAqB,CAAC,EAC1C,MAAM,EACN,OAAO,EACP,UAAU,EACV,MAAM,GACP,EAAE;IACD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBhB"}
1
+ {"version":3,"file":"workerEvents.d.ts","sourceRoot":"","sources":["../../src/util/workerEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAC;AAExC,OAAO,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAC,wBAAwB,EAAC,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAC,cAAc,EAAe,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAC,2BAA2B,EAAC,MAAM,mBAAmB,CAAC;AAI9D,MAAM,MAAM,iBAAiB,CAAC,SAAS,IAAI;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,SAAS,CAAC;IACvB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,IAAI,EAAE,SAAS,CAAC,MAAM,SAAS,CAAC,CAAC;CAClC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAChD,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,2BAA2B,CAAC,SAAS,CAAC,EAC9C,UAAU,EAAE,WAAW,EACvB,OAAO,EAAE,wBAAwB,GAAG,IAAI,EACxC,cAAc,EAAE;KAAE,CAAC,IAAI,MAAM,SAAS,GAAG,cAAc;CAAC,GACvD,IAAI,CAuCN;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAC9C,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,2BAA2B,CAAC,SAAS,CAAC,EAC9C,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,aAAa,CAAC,EAC1C,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,cAAc,EAAE;KAAE,CAAC,IAAI,MAAM,SAAS,GAAG,cAAc;CAAC,GACvD,IAAI,CAiCN;AAED,wBAAsB,qBAAqB,CAAC,EAC1C,MAAM,EACN,OAAO,EACP,UAAU,EACV,MAAM,EACP,EAAE;IACD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"workerEvents.js","sourceRoot":"","sources":["../../src/util/workerEvents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workerEvents.js","sourceRoot":"","sources":["../../src/util/workerEvents.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"wrapError.js","sourceRoot":"","sources":["../../src/util/wrapError.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAI,OAAmB;IACpD,IAAI,CAAC;QACH,OAAO,EAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,OAAO,EAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAC,GAAG,EAAE,GAAY,EAAC,CAAC;IAC7B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"wrapError.js","sourceRoot":"","sources":["../../src/util/wrapError.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAI,OAAmB,EAAsB;IAC1E,IAAI,CAAC;QACH,OAAO,EAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,OAAO,EAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAC,GAAG,EAAE,GAAY,EAAC,CAAC;IAC7B,CAAC;AAAA,CACF"}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "bugs": {
12
12
  "url": "https://github.com/ChainSafe/lodestar/issues"
13
13
  },
14
- "version": "1.41.0-dev.f9a3a81538",
14
+ "version": "1.41.0-rc.0",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -87,11 +87,11 @@
87
87
  ],
88
88
  "scripts": {
89
89
  "clean": "rm -rf lib && rm -f *.tsbuildinfo",
90
- "build": "tsc -p tsconfig.build.json",
90
+ "build": "tsgo -p tsconfig.build.json",
91
91
  "build:watch": "pnpm run build --watch",
92
92
  "build:release": "pnpm clean && pnpm run build",
93
93
  "check-build": "node -e \"(async function() { await import('./lib/index.js') })()\"",
94
- "check-types": "tsc",
94
+ "check-types": "tsgo",
95
95
  "lint": "biome check src/ test/",
96
96
  "lint:fix": "pnpm run lint --write",
97
97
  "test": "pnpm test:unit && pnpm test:e2e",
@@ -113,6 +113,7 @@
113
113
  "@chainsafe/discv5": "^12.0.0",
114
114
  "@chainsafe/enr": "^6.0.0",
115
115
  "@chainsafe/libp2p-noise": "^17.0.0",
116
+ "@chainsafe/libp2p-quic": "^2.0.0",
116
117
  "@chainsafe/persistent-merkle-tree": "^1.2.1",
117
118
  "@chainsafe/prometheus-gc-stats": "^1.0.0",
118
119
  "@chainsafe/pubkey-index-map": "^3.0.0",
@@ -124,28 +125,28 @@
124
125
  "@fastify/cors": "^10.0.1",
125
126
  "@fastify/swagger": "^9.0.0",
126
127
  "@fastify/swagger-ui": "^5.0.1",
127
- "@libp2p/bootstrap": "^12.0.13",
128
+ "@libp2p/bootstrap": "^12.0.14",
128
129
  "@libp2p/crypto": "^5.1.13",
129
- "@libp2p/gossipsub": "^15.0.14",
130
- "@libp2p/identify": "^4.0.12",
130
+ "@libp2p/gossipsub": "^15.0.15",
131
+ "@libp2p/identify": "^4.0.13",
131
132
  "@libp2p/interface": "^3.1.0",
132
- "@libp2p/mdns": "^12.0.13",
133
- "@libp2p/mplex": "^12.0.13",
133
+ "@libp2p/mdns": "^12.0.14",
134
+ "@libp2p/mplex": "^12.0.14",
134
135
  "@libp2p/peer-id": "^6.0.4",
135
- "@libp2p/prometheus-metrics": "^5.0.13",
136
- "@libp2p/tcp": "^11.0.12",
137
- "@lodestar/api": "^1.41.0-dev.f9a3a81538",
138
- "@lodestar/config": "^1.41.0-dev.f9a3a81538",
139
- "@lodestar/db": "^1.41.0-dev.f9a3a81538",
140
- "@lodestar/fork-choice": "^1.41.0-dev.f9a3a81538",
141
- "@lodestar/light-client": "^1.41.0-dev.f9a3a81538",
142
- "@lodestar/logger": "^1.41.0-dev.f9a3a81538",
143
- "@lodestar/params": "^1.41.0-dev.f9a3a81538",
144
- "@lodestar/reqresp": "^1.41.0-dev.f9a3a81538",
145
- "@lodestar/state-transition": "^1.41.0-dev.f9a3a81538",
146
- "@lodestar/types": "^1.41.0-dev.f9a3a81538",
147
- "@lodestar/utils": "^1.41.0-dev.f9a3a81538",
148
- "@lodestar/validator": "^1.41.0-dev.f9a3a81538",
136
+ "@libp2p/prometheus-metrics": "^5.0.14",
137
+ "@libp2p/tcp": "^11.0.13",
138
+ "@lodestar/api": "^1.41.0-rc.0",
139
+ "@lodestar/config": "^1.41.0-rc.0",
140
+ "@lodestar/db": "^1.41.0-rc.0",
141
+ "@lodestar/fork-choice": "^1.41.0-rc.0",
142
+ "@lodestar/light-client": "^1.41.0-rc.0",
143
+ "@lodestar/logger": "^1.41.0-rc.0",
144
+ "@lodestar/params": "^1.41.0-rc.0",
145
+ "@lodestar/reqresp": "^1.41.0-rc.0",
146
+ "@lodestar/state-transition": "^1.41.0-rc.0",
147
+ "@lodestar/types": "^1.41.0-rc.0",
148
+ "@lodestar/utils": "^1.41.0-rc.0",
149
+ "@lodestar/validator": "^1.41.0-rc.0",
149
150
  "@multiformats/multiaddr": "^13.0.1",
150
151
  "datastore-core": "^11.0.2",
151
152
  "datastore-fs": "^11.0.2",
@@ -154,7 +155,7 @@
154
155
  "fastify": "^5.8.1",
155
156
  "interface-datastore": "^9.0.2",
156
157
  "jwt-simple": "0.5.6",
157
- "libp2p": "3.1.5",
158
+ "libp2p": "3.1.6",
158
159
  "multiformats": "^13.4.2",
159
160
  "prom-client": "^15.1.0",
160
161
  "qs": "^6.11.1",
@@ -165,10 +166,10 @@
165
166
  },
166
167
  "devDependencies": {
167
168
  "@chainsafe/swap-or-not-shuffle": "^1.2.1",
168
- "@libp2p/interface-internal": "^3.0.12",
169
+ "@libp2p/interface-internal": "^3.0.13",
169
170
  "@libp2p/logger": "^6.2.2",
170
- "@libp2p/utils": "^7.0.12",
171
- "@lodestar/spec-test-util": "^1.41.0-dev.f9a3a81538",
171
+ "@libp2p/utils": "^7.0.13",
172
+ "@lodestar/spec-test-util": "^1.41.0-rc.0",
172
173
  "@types/js-yaml": "^4.0.5",
173
174
  "@types/qs": "^6.9.7",
174
175
  "@types/tmp": "^0.2.3",
@@ -185,5 +186,5 @@
185
186
  "beacon",
186
187
  "blockchain"
187
188
  ],
188
- "gitHead": "8069d51d86a9ef01a8a6a0531cf090893d7c25d4"
189
+ "gitHead": "b2e8f3859d713e06e10a4cb5452d17276a4b47a5"
189
190
  }
@@ -105,6 +105,7 @@ abstract class AbstractBlockInput<F extends ForkName = ForkName, TData extends D
105
105
  }
106
106
 
107
107
  abstract addBlock(props: AddBlock<F>): void;
108
+ abstract getSerializedCacheKeys(): object[];
108
109
 
109
110
  hasBlock(): boolean {
110
111
  return this.state.hasBlock;
@@ -243,6 +244,10 @@ export class BlockInputPreData extends AbstractBlockInput<ForkPreDeneb, null> {
243
244
  );
244
245
  }
245
246
  }
247
+
248
+ getSerializedCacheKeys(): object[] {
249
+ return [this.state.block];
250
+ }
246
251
  }
247
252
 
248
253
  // Blobs DA
@@ -526,6 +531,20 @@ export class BlockInputBlobs extends AbstractBlockInput<ForkBlobsDA, deneb.BlobS
526
531
  getBlobs(): deneb.BlobSidecars {
527
532
  return this.getAllBlobsWithSource().map(({blobSidecar}) => blobSidecar);
528
533
  }
534
+
535
+ getSerializedCacheKeys(): object[] {
536
+ const objects: object[] = [];
537
+
538
+ if (this.state.hasBlock) {
539
+ objects.push(this.state.block);
540
+ }
541
+
542
+ for (const {blobSidecar} of this.blobsCache.values()) {
543
+ objects.push(blobSidecar);
544
+ }
545
+
546
+ return objects;
547
+ }
529
548
  }
530
549
 
531
550
  function blockAndBlobArePaired(block: SignedBeaconBlock<ForkBlobsDA>, blobSidecar: deneb.BlobSidecar): boolean {
@@ -906,6 +925,18 @@ export class BlockInputColumns extends AbstractBlockInput<ForkColumnsDA, fulu.Da
906
925
  }
907
926
  return Promise.resolve(this.getSampledColumns());
908
927
  }
928
+
929
+ getSerializedCacheKeys(): object[] {
930
+ const objects: object[] = [];
931
+
932
+ if (this.state.hasBlock) {
933
+ objects.push(this.state.block);
934
+ }
935
+
936
+ objects.push(...this.getAllColumns());
937
+
938
+ return objects;
939
+ }
909
940
  }
910
941
 
911
942
  type BlockInputNoDataState = {
@@ -967,4 +998,8 @@ export class BlockInputNoData extends AbstractBlockInput<ForkPostGloas, null> {
967
998
  return (this.state.block.message.body as gloas.BeaconBlockBody).signedExecutionPayloadBid.message
968
999
  .blobKzgCommitments;
969
1000
  }
1001
+
1002
+ getSerializedCacheKeys(): object[] {
1003
+ return [this.state.block];
1004
+ }
970
1005
  }
@@ -151,6 +151,11 @@ export interface IBlockInput<F extends ForkName = ForkName, TData extends DAData
151
151
 
152
152
  /** Only safe to call when `hasBlockAndAllData` is true */
153
153
  getTimeComplete(): number;
154
+ /**
155
+ * Return object references used as keys in `SerializedCache` that can be safely removed
156
+ * once this block input lifecycle has completed.
157
+ */
158
+ getSerializedCacheKeys(): object[];
154
159
 
155
160
  waitForBlock(timeout: number, signal?: AbortSignal): Promise<SignedBeaconBlock<F>>;
156
161
  waitForAllData(timeout: number, signal?: AbortSignal): Promise<TData>;
@@ -3,13 +3,7 @@ import {SignedBeaconBlock} from "@lodestar/types";
3
3
  import {fromHex, toRootHex} from "@lodestar/utils";
4
4
  import {getBlobKzgCommitments} from "../../util/dataColumns.js";
5
5
  import {BeaconChain} from "../chain.js";
6
- import {
7
- IBlockInput,
8
- IDataColumnsInput,
9
- isBlockInputBlobs,
10
- isBlockInputColumns,
11
- isBlockInputNoData,
12
- } from "./blockInput/index.js";
6
+ import {IBlockInput, IDataColumnsInput, isBlockInputBlobs, isBlockInputColumns} from "./blockInput/index.js";
13
7
  import {BLOB_AVAILABILITY_TIMEOUT} from "./verifyBlocksDataAvailability.js";
14
8
 
15
9
  /**
@@ -137,17 +131,6 @@ export async function persistBlockInput(this: BeaconChain, blockInput: IBlockInp
137
131
  })
138
132
  .finally(() => {
139
133
  this.seenBlockInputCache.prune(blockInput.blockRootHex);
140
- // Without forcefully clearing this cache, we would rely on WeakMap to evict memory which is not reliable.
141
- // Clear here (after the DB write) so that writeBlockInputToDb can still use the cached serialized bytes.
142
- //
143
- // For Gloas (BlockInputNoData), the execution payload and columns arrive separately after the beacon block.
144
- // Do NOT clear the cache here — it must remain available for writeDataColumnsToDb when the payload arrives.
145
- // The cache is cleared in the Gloas payload persistence path instead.
146
- if (!isBlockInputNoData(blockInput)) {
147
- // TODO: enhance this SerializedCache for Gloas because payload may not come
148
- // see https://github.com/ChainSafe/lodestar/pull/8974#discussion_r2885598229
149
- this.serializedCache.clear();
150
- }
151
134
  this.logger.debug("Pruned block input", {
152
135
  slot: blockInput.slot,
153
136
  root: blockInput.blockRootHex,
@@ -64,7 +64,7 @@ import {Logger, fromHex, gweiToWei, isErrorAborted, pruneSetToMax, sleep, toRoot
64
64
  import {ProcessShutdownCallback} from "@lodestar/validator";
65
65
  import {GENESIS_EPOCH, ZERO_HASH} from "../constants/index.js";
66
66
  import {IBeaconDb} from "../db/index.js";
67
- import {BLOB_SIDECARS_IN_WRAPPER_INDEX} from "../db/repositories/blobSidecars.ts";
67
+ import {BLOB_SIDECARS_IN_WRAPPER_INDEX} from "../db/repositories/blobSidecars.js";
68
68
  import {BuilderStatus} from "../execution/builder/http.js";
69
69
  import {IExecutionBuilder, IExecutionEngine} from "../execution/index.js";
70
70
  import {Metrics} from "../metrics/index.js";
@@ -75,15 +75,15 @@ import {CustodyConfig, getValidatorsCustodyRequirement} from "../util/dataColumn
75
75
  import {callInNextEventLoop} from "../util/eventLoop.js";
76
76
  import {ensureDir, writeIfNotExist} from "../util/file.js";
77
77
  import {isOptimisticBlock} from "../util/forkChoice.js";
78
- import {JobItemQueue} from "../util/queue/itemQueue.ts";
78
+ import {JobItemQueue} from "../util/queue/itemQueue.js";
79
79
  import {SerializedCache} from "../util/serializedCache.js";
80
- import {getSlotFromSignedBeaconBlockSerialized} from "../util/sszBytes.ts";
80
+ import {getSlotFromSignedBeaconBlockSerialized} from "../util/sszBytes.js";
81
81
  import {ArchiveStore} from "./archiveStore/archiveStore.js";
82
82
  import {CheckpointBalancesCache} from "./balancesCache.js";
83
83
  import {BeaconProposerCache} from "./beaconProposerCache.js";
84
84
  import {IBlockInput, isBlockInputBlobs, isBlockInputColumns} from "./blocks/blockInput/index.js";
85
85
  import {BlockProcessor, ImportBlockOpts} from "./blocks/index.js";
86
- import {persistBlockInput} from "./blocks/writeBlockInputToDb.ts";
86
+ import {persistBlockInput} from "./blocks/writeBlockInputToDb.js";
87
87
  import {BlsMultiThreadWorkerPool, BlsSingleThreadVerifier, IBlsVerifier} from "./bls/index.js";
88
88
  import {ColumnReconstructionTracker} from "./ColumnReconstructionTracker.js";
89
89
  import {ChainEvent, ChainEventEmitter} from "./emitter.js";
@@ -320,12 +320,14 @@ export class BeaconChain implements IBeaconChain {
320
320
 
321
321
  this.beaconProposerCache = new BeaconProposerCache(opts);
322
322
  this.checkpointBalancesCache = new CheckpointBalancesCache();
323
+ this.serializedCache = new SerializedCache();
323
324
  this.seenBlockInputCache = new SeenBlockInput({
324
325
  config,
325
326
  custodyConfig: this.custodyConfig,
326
327
  clock,
327
328
  chainEvents: emitter,
328
329
  signal,
330
+ serializedCache: this.serializedCache,
329
331
  metrics,
330
332
  logger,
331
333
  });
@@ -412,8 +414,6 @@ export class BeaconChain implements IBeaconChain {
412
414
  this.bls = bls;
413
415
  this.emitter = emitter;
414
416
 
415
- this.serializedCache = new SerializedCache();
416
-
417
417
  this.getBlobsTracker = new GetBlobsTracker({
418
418
  logger,
419
419
  executionEngine: this.executionEngine,
@@ -1,5 +1,5 @@
1
1
  import {BuilderIndex, RootHex, Slot} from "@lodestar/types";
2
- import {GossipActionError} from "./gossipValidation.ts";
2
+ import {GossipActionError} from "./gossipValidation.js";
3
3
 
4
4
  export enum ExecutionPayloadBidErrorCode {
5
5
  BUILDER_NOT_ELIGIBLE = "EXECUTION_PAYLOAD_BID_ERROR_BUILDER_NOT_ELIGIBLE",
@@ -1,5 +1,5 @@
1
1
  import {RootHex, Slot, ValidatorIndex} from "@lodestar/types";
2
- import {GossipActionError} from "./gossipValidation.ts";
2
+ import {GossipActionError} from "./gossipValidation.js";
3
3
 
4
4
  export enum PayloadAttestationErrorCode {
5
5
  NOT_CURRENT_SLOT = "PAYLOAD_ATTESTATION_ERROR_NOT_CURRENT_SLOT",
@@ -61,7 +61,6 @@ export function computeNewStateRoot(
61
61
  * Compute the state root after processing an execution payload envelope.
62
62
  * Similar to `computeNewStateRoot` but for payload envelope processing.
63
63
  *
64
- * The `postBlockState` is mutated in place, callers must ensure it is not needed afterward.
65
64
  */
66
65
  export function computeEnvelopeStateRoot(
67
66
  metrics: Metrics | null,
@@ -74,13 +73,15 @@ export function computeEnvelopeStateRoot(
74
73
  };
75
74
 
76
75
  const processEnvelopeTimer = metrics?.blockPayload.executionPayloadEnvelopeProcessingTime.startTimer();
77
- processExecutionPayloadEnvelope(postBlockState, signedEnvelope, false);
76
+ const postEnvelopeState = processExecutionPayloadEnvelope(postBlockState, signedEnvelope, false, {
77
+ dontTransferCache: true,
78
+ });
78
79
  processEnvelopeTimer?.();
79
80
 
80
81
  const hashTreeRootTimer = metrics?.stateHashTreeRootTime.startTimer({
81
82
  source: StateHashTreeRootSource.computeEnvelopeStateRoot,
82
83
  });
83
- const stateRoot = postBlockState.hashTreeRoot();
84
+ const stateRoot = postEnvelopeState.hashTreeRoot();
84
85
  hashTreeRootTimer?.();
85
86
 
86
87
  return stateRoot;
@@ -17,6 +17,7 @@ import {Metrics} from "../../metrics/metrics.js";
17
17
  import {MAX_LOOK_AHEAD_EPOCHS} from "../../sync/constants.js";
18
18
  import {IClock} from "../../util/clock.js";
19
19
  import {CustodyConfig} from "../../util/dataColumns.js";
20
+ import {SerializedCache} from "../../util/serializedCache.js";
20
21
  import {
21
22
  BlockInput,
22
23
  BlockInputBlobs,
@@ -55,6 +56,7 @@ export type SeenBlockInputCacheModules = {
55
56
  chainEvents: ChainEventEmitter;
56
57
  signal: AbortSignal;
57
58
  custodyConfig: CustodyConfig;
59
+ serializedCache: SerializedCache;
58
60
  metrics: Metrics | null;
59
61
  logger?: Logger;
60
62
  };
@@ -101,6 +103,7 @@ export class SeenBlockInput {
101
103
  private readonly clock: IClock;
102
104
  private readonly chainEvents: ChainEventEmitter;
103
105
  private readonly signal: AbortSignal;
106
+ private readonly serializedCache: SerializedCache;
104
107
  private readonly metrics: Metrics | null;
105
108
  private readonly logger?: Logger;
106
109
  private blockInputs = new Map<RootHex, IBlockInput>();
@@ -109,19 +112,35 @@ export class SeenBlockInput {
109
112
  // and the signature to ensure we only skip verification if both match
110
113
  private verifiedProposerSignatures = new Map<Slot, Map<RootHex, BLSSignature>>();
111
114
 
112
- constructor({config, custodyConfig, clock, chainEvents, signal, metrics, logger}: SeenBlockInputCacheModules) {
115
+ constructor({
116
+ config,
117
+ custodyConfig,
118
+ clock,
119
+ chainEvents,
120
+ signal,
121
+ serializedCache,
122
+ metrics,
123
+ logger,
124
+ }: SeenBlockInputCacheModules) {
113
125
  this.config = config;
114
126
  this.custodyConfig = custodyConfig;
115
127
  this.clock = clock;
116
128
  this.chainEvents = chainEvents;
117
129
  this.signal = signal;
130
+ this.serializedCache = serializedCache;
118
131
  this.metrics = metrics;
119
132
  this.logger = logger;
120
133
 
121
134
  if (metrics) {
122
- metrics.seenCache.blockInput.blockInputCount.addCollect(() =>
123
- metrics.seenCache.blockInput.blockInputCount.set(this.blockInputs.size)
124
- );
135
+ metrics.seenCache.blockInput.blockInputCount.addCollect(() => {
136
+ metrics.seenCache.blockInput.blockInputCount.set(this.blockInputs.size);
137
+ metrics.seenCache.blockInput.serializedObjectRefs.set(
138
+ Array.from(this.blockInputs.values()).reduce(
139
+ (count, blockInput) => count + blockInput.getSerializedCacheKeys().length,
140
+ 0
141
+ )
142
+ );
143
+ });
125
144
  }
126
145
 
127
146
  this.chainEvents.on(ChainEvent.forkChoiceFinalized, this.onFinalized);
@@ -142,7 +161,10 @@ export class SeenBlockInput {
142
161
  * Removes the single BlockInput from the cache
143
162
  */
144
163
  remove(rootHex: RootHex): void {
145
- this.blockInputs.delete(rootHex);
164
+ const blockInput = this.blockInputs.get(rootHex);
165
+ if (blockInput) {
166
+ this.evictBlockInput(blockInput);
167
+ }
146
168
  }
147
169
 
148
170
  /**
@@ -154,7 +176,7 @@ export class SeenBlockInput {
154
176
  let deletedCount = 0;
155
177
  while (blockInput) {
156
178
  deletedCount++;
157
- this.blockInputs.delete(blockInput.blockRootHex);
179
+ this.evictBlockInput(blockInput);
158
180
  blockInput = this.blockInputs.get(parentRootHex ?? "");
159
181
  parentRootHex = blockInput?.parentRootHex;
160
182
  }
@@ -165,10 +187,10 @@ export class SeenBlockInput {
165
187
  onFinalized = (checkpoint: CheckpointWithHex) => {
166
188
  let deletedCount = 0;
167
189
  const cutoffSlot = computeStartSlotAtEpoch(checkpoint.epoch);
168
- for (const [rootHex, blockInput] of this.blockInputs) {
190
+ for (const [, blockInput] of this.blockInputs) {
169
191
  if (blockInput.slot < cutoffSlot) {
170
192
  deletedCount++;
171
- this.blockInputs.delete(rootHex);
193
+ this.evictBlockInput(blockInput);
172
194
  }
173
195
  }
174
196
  this.logger?.debug(`BlockInputCache.onFinalized deleted ${deletedCount} cached BlockInputs`);
@@ -228,6 +250,7 @@ export class SeenBlockInput {
228
250
  peerIdStr,
229
251
  });
230
252
  }
253
+ this.metrics?.seenCache.blockInput.createdByBlock.inc();
231
254
  this.blockInputs.set(blockInput.blockRootHex, blockInput);
232
255
  }
233
256
 
@@ -327,7 +350,7 @@ export class SeenBlockInput {
327
350
  custodyColumns: this.custodyConfig.custodyColumns,
328
351
  sampledColumns: this.custodyConfig.sampledColumns,
329
352
  });
330
- this.metrics?.seenCache.blockInput.createdByBlob.inc();
353
+ this.metrics?.seenCache.blockInput.createdByColumn.inc();
331
354
  this.blockInputs.set(blockRootHex, blockInput);
332
355
  }
333
356
 
@@ -408,14 +431,20 @@ export class SeenBlockInput {
408
431
 
409
432
  if (itemsToDelete > 0) {
410
433
  const sorted = [...this.blockInputs.entries()].sort((a, b) => a[1].slot - b[1].slot);
411
- for (const [rootHex] of sorted) {
412
- this.blockInputs.delete(rootHex);
434
+ for (const [, blockInput] of sorted) {
435
+ this.evictBlockInput(blockInput);
413
436
  itemsToDelete--;
414
437
  if (itemsToDelete <= 0) return;
415
438
  }
416
439
  }
417
440
  pruneSetToMax(this.verifiedProposerSignatures, MAX_BLOCK_INPUT_CACHE_SIZE);
418
441
  }
442
+
443
+ private evictBlockInput(blockInput: IBlockInput): void {
444
+ // Without forcefully clearing this cache, we would rely on WeakMap to evict memory which is not reliable
445
+ this.serializedCache.delete(blockInput.getSerializedCacheKeys());
446
+ this.blockInputs.delete(blockInput.blockRootHex);
447
+ }
419
448
  }
420
449
 
421
450
  enum SeenBlockInputCacheErrorCode {
@@ -604,10 +604,14 @@ export function verifyPropagationSlotRange(fork: ForkName, chain: IBeaconChain,
604
604
  //
605
605
  // see: https://github.com/ethereum/consensus-specs/pull/3360
606
606
  if (ForkSeq[fork] < ForkSeq.deneb) {
607
+ const currentSlot = chain.clock.currentSlot;
608
+ const withinPastDisparity = currentSlot > 0 && chain.clock.isCurrentSlotGivenGossipDisparity(currentSlot - 1);
607
609
  const earliestPermissibleSlot = Math.max(
608
- // slot with past tolerance of MAXIMUM_GOSSIP_CLOCK_DISPARITY
609
- chain.clock.slotWithPastTolerance(chain.config.MAXIMUM_GOSSIP_CLOCK_DISPARITY / 1000) -
610
- chain.config.ATTESTATION_PROPAGATION_SLOT_RANGE,
610
+ // Pre-Deneb propagation is time-bounded: an attestation remains valid at the exact old
611
+ // boundary `compute_time_at_slot(slot + range + 1) + MAXIMUM_GOSSIP_CLOCK_DISPARITY`.
612
+ // Model that boundary by extending the lower slot bound by one additional slot only while
613
+ // the clock still considers the previous slot current given gossip disparity.
614
+ currentSlot - chain.config.ATTESTATION_PROPAGATION_SLOT_RANGE - (withinPastDisparity ? 1 : 0),
611
615
  0
612
616
  );
613
617
 
package/src/db/index.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export {BeaconDb} from "./beacon.js";
2
+ export {Bucket} from "./buckets.js";
2
3
  export type {IBeaconDb} from "./interface.js";
@@ -1461,29 +1461,37 @@ export function createLodestarMetrics(
1461
1461
  name: "lodestar_seen_block_input_cache_size",
1462
1462
  help: "Number of cached BlockInputs",
1463
1463
  }),
1464
- duplicateBlockCount: register.gauge<{source: BlockInputSource}>({
1465
- name: "lodestar_seen_block_input_cache_duplicate_block_count",
1464
+ serializedObjectRefs: register.gauge({
1465
+ name: "lodestar_seen_block_input_cache_serialized_object_refs",
1466
+ help: "Number of serialized-cache object refs retained by cached BlockInputs",
1467
+ }),
1468
+ duplicateBlockCount: register.counter<{source: BlockInputSource}>({
1469
+ name: "lodestar_seen_block_input_cache_duplicate_block_total",
1466
1470
  help: "Total number of duplicate blocks that pass validation and attempt to be cached but are known",
1467
1471
  labelNames: ["source"],
1468
1472
  }),
1469
- duplicateBlobCount: register.gauge<{source: BlockInputSource}>({
1470
- name: "lodestar_seen_block_input_cache_duplicate_blob_count",
1473
+ duplicateBlobCount: register.counter<{source: BlockInputSource}>({
1474
+ name: "lodestar_seen_block_input_cache_duplicate_blob_total",
1471
1475
  help: "Total number of duplicate blobs that pass validation and attempt to be cached but are known",
1472
1476
  labelNames: ["source"],
1473
1477
  }),
1474
- duplicateColumnCount: register.gauge<{source: BlockInputSource}>({
1475
- name: "lodestar_seen_block_input_cache_duplicate_column_count",
1478
+ duplicateColumnCount: register.counter<{source: BlockInputSource}>({
1479
+ name: "lodestar_seen_block_input_cache_duplicate_column_total",
1476
1480
  help: "Total number of duplicate columns that pass validation and attempt to be cached but are known",
1477
1481
  labelNames: ["source"],
1478
1482
  }),
1479
- createdByBlock: register.gauge({
1480
- name: "lodestar_seen_block_input_cache_items_created_by_block",
1483
+ createdByBlock: register.counter({
1484
+ name: "lodestar_seen_block_input_cache_items_created_by_block_total",
1481
1485
  help: "Number of BlockInputs created via a block being seen first",
1482
1486
  }),
1483
- createdByBlob: register.gauge({
1484
- name: "lodestar_seen_block_input_cache_items_created_by_blob",
1487
+ createdByBlob: register.counter({
1488
+ name: "lodestar_seen_block_input_cache_items_created_by_blob_total",
1485
1489
  help: "Number of BlockInputs created via a blob being seen first",
1486
1490
  }),
1491
+ createdByColumn: register.counter({
1492
+ name: "lodestar_seen_block_input_cache_items_created_by_column_total",
1493
+ help: "Number of BlockInputs created via a data column being seen first",
1494
+ }),
1487
1495
  },
1488
1496
  },
1489
1497
 
@@ -4,7 +4,7 @@ import {IClock} from "../../util/clock.js";
4
4
  import {ENRKey} from "../metadata.js";
5
5
 
6
6
  export enum ENRRelevance {
7
- no_tcp = "no_tcp",
7
+ no_transport = "no_transport",
8
8
  no_eth2 = "no_eth2",
9
9
  // biome-ignore lint/style/useNamingConvention: Need to use the this name for network convention
10
10
  unknown_forkDigest = "unknown_forkDigest",
@@ -13,10 +13,11 @@ export enum ENRRelevance {
13
13
  }
14
14
 
15
15
  export function enrRelevance(enr: ENR, config: BeaconConfig, clock: IClock): ENRRelevance {
16
- // We are not interested in peers that don't advertise their tcp addr
16
+ // We are not interested in peers that don't advertise at least one transport (tcp or quic)
17
17
  const multiaddrTCP = enr.getLocationMultiaddr(ENRKey.tcp);
18
- if (!multiaddrTCP) {
19
- return ENRRelevance.no_tcp;
18
+ const multiaddrQUIC = enr.getLocationMultiaddr(ENRKey.quic);
19
+ if (!multiaddrTCP && !multiaddrQUIC) {
20
+ return ENRRelevance.no_transport;
20
21
  }
21
22
 
22
23
  // Check if the ENR.eth2 field matches and is of interest
@@ -11,7 +11,7 @@ import type {PeerScoreParams, PeerScoreStatsDump} from "@libp2p/gossipsub/score"
11
11
  import type {AddrInfo, PublishOpts, TopicStr} from "@libp2p/gossipsub/types";
12
12
  import type {PeerId} from "@libp2p/interface";
13
13
  import {peerIdFromString} from "@libp2p/peer-id";
14
- import {multiaddr} from "@multiformats/multiaddr";
14
+ import {type Multiaddr, multiaddr} from "@multiformats/multiaddr";
15
15
  import {ENR} from "@chainsafe/enr";
16
16
  import {routes} from "@lodestar/api";
17
17
  import {BeaconConfig, ForkBoundary} from "@lodestar/config";
@@ -537,19 +537,24 @@ export function parseDirectPeers(directPeerStrs: routes.lodestar.DirectPeer[], l
537
537
  const enr = ENR.decodeTxt(peerStr);
538
538
  const peerId = enr.peerId;
539
539
 
540
- // Get TCP multiaddr from ENR
541
- const multiaddrTCP = enr.getLocationMultiaddr("tcp");
542
- if (!multiaddrTCP) {
543
- logger.warn("ENR does not contain TCP multiaddr", {enr: peerStr});
540
+ // Get all available transport multiaddrs from ENR
541
+ const addrs = [enr.getLocationMultiaddr("quic"), enr.getLocationMultiaddr("tcp")].filter(
542
+ (a): a is Multiaddr => a != null
543
+ );
544
+ if (addrs.length === 0) {
545
+ logger.warn("ENR does not contain any transport multiaddr", {enr: peerStr});
544
546
  continue;
545
547
  }
546
548
 
547
549
  directPeers.push({
548
550
  id: peerId,
549
- addrs: [multiaddrTCP],
551
+ addrs,
550
552
  });
551
553
 
552
- logger.info("Added direct peer from ENR", {peerId: peerId.toString(), addr: multiaddrTCP.toString()});
554
+ logger.info("Added direct peer from ENR", {
555
+ peerId: peerId.toString(),
556
+ addrs: addrs.map((a) => a.toString()).join(", "),
557
+ });
553
558
  } catch (e) {
554
559
  logger.warn("Failed to parse direct peer ENR", {enr: peerStr}, e as Error);
555
560
  }