@lodestar/beacon-node 1.41.0-dev.bb33751bfd → 1.41.0-dev.c11b797bd6

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 +3 -2
  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.js.map +1 -1
  18. package/lib/api/impl/config/constants.js.map +1 -1
  19. package/lib/api/impl/config/index.js.map +1 -1
  20. package/lib/api/impl/debug/index.d.ts +1 -1
  21. package/lib/api/impl/debug/index.d.ts.map +1 -1
  22. package/lib/api/impl/debug/index.js.map +1 -1
  23. package/lib/api/impl/errors.d.ts.map +1 -1
  24. package/lib/api/impl/errors.js.map +1 -1
  25. package/lib/api/impl/events/index.d.ts +1 -1
  26. package/lib/api/impl/events/index.d.ts.map +1 -1
  27. package/lib/api/impl/events/index.js.map +1 -1
  28. package/lib/api/impl/lightclient/index.d.ts +1 -1
  29. package/lib/api/impl/lightclient/index.d.ts.map +1 -1
  30. package/lib/api/impl/lightclient/index.js.map +1 -1
  31. package/lib/api/impl/lodestar/index.d.ts +1 -1
  32. package/lib/api/impl/lodestar/index.d.ts.map +1 -1
  33. package/lib/api/impl/lodestar/index.js.map +1 -1
  34. package/lib/api/impl/node/index.js.map +1 -1
  35. package/lib/api/impl/node/utils.js.map +1 -1
  36. package/lib/api/impl/proof/index.js.map +1 -1
  37. package/lib/api/impl/utils.js.map +1 -1
  38. package/lib/api/impl/validator/index.d.ts.map +1 -1
  39. package/lib/api/impl/validator/index.js +30 -12
  40. package/lib/api/impl/validator/index.js.map +1 -1
  41. package/lib/api/impl/validator/utils.d.ts +1 -1
  42. package/lib/api/impl/validator/utils.d.ts.map +1 -1
  43. package/lib/api/impl/validator/utils.js.map +1 -1
  44. package/lib/api/rest/activeSockets.d.ts.map +1 -1
  45. package/lib/api/rest/activeSockets.js.map +1 -1
  46. package/lib/api/rest/base.d.ts.map +1 -1
  47. package/lib/api/rest/base.js.map +1 -1
  48. package/lib/api/rest/index.d.ts.map +1 -1
  49. package/lib/api/rest/index.js.map +1 -1
  50. package/lib/api/rest/swaggerUI.js.map +1 -1
  51. package/lib/bun-wrappers/prometheus-gc-stats.js.map +1 -1
  52. package/lib/chain/ColumnReconstructionTracker.d.ts.map +1 -1
  53. package/lib/chain/ColumnReconstructionTracker.js.map +1 -1
  54. package/lib/chain/GetBlobsTracker.d.ts.map +1 -1
  55. package/lib/chain/GetBlobsTracker.js.map +1 -1
  56. package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
  57. package/lib/chain/archiveStore/archiveStore.js +2 -1
  58. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  59. package/lib/chain/archiveStore/historicalState/getHistoricalState.js.map +1 -1
  60. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +1 -1
  61. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
  62. package/lib/chain/archiveStore/historicalState/metrics.js.map +1 -1
  63. package/lib/chain/archiveStore/historicalState/types.js +2 -1
  64. package/lib/chain/archiveStore/historicalState/types.js.map +1 -1
  65. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
  66. package/lib/chain/archiveStore/interface.js +2 -1
  67. package/lib/chain/archiveStore/interface.js.map +1 -1
  68. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts +1 -1
  69. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +1 -1
  70. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js +2 -1
  71. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js.map +1 -1
  72. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts +3 -8
  73. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +1 -1
  74. package/lib/chain/archiveStore/utils/archiveBlocks.js +1 -1
  75. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  76. package/lib/chain/archiveStore/utils/archivePayloads.js.map +1 -1
  77. package/lib/chain/archiveStore/utils/pruneHistory.js.map +1 -1
  78. package/lib/chain/archiveStore/utils/updateBackfillRange.js +1 -1
  79. package/lib/chain/archiveStore/utils/updateBackfillRange.js.map +1 -1
  80. package/lib/chain/balancesCache.d.ts.map +1 -1
  81. package/lib/chain/balancesCache.js.map +1 -1
  82. package/lib/chain/beaconProposerCache.d.ts.map +1 -1
  83. package/lib/chain/beaconProposerCache.js.map +1 -1
  84. package/lib/chain/blocks/blockInput/blockInput.d.ts +5 -0
  85. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +1 -1
  86. package/lib/chain/blocks/blockInput/blockInput.js +24 -0
  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.d.ts +16 -0
  91. package/lib/chain/blocks/blockInput/types.d.ts.map +1 -1
  92. package/lib/chain/blocks/blockInput/types.js +4 -2
  93. package/lib/chain/blocks/blockInput/types.js.map +1 -1
  94. package/lib/chain/blocks/blockInput/utils.js.map +1 -1
  95. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  96. package/lib/chain/blocks/importBlock.js +27 -4
  97. package/lib/chain/blocks/importBlock.js.map +1 -1
  98. package/lib/chain/blocks/index.d.ts.map +1 -1
  99. package/lib/chain/blocks/index.js.map +1 -1
  100. package/lib/chain/blocks/types.js +6 -3
  101. package/lib/chain/blocks/types.js.map +1 -1
  102. package/lib/chain/blocks/utils/chainSegment.js.map +1 -1
  103. package/lib/chain/blocks/utils/checkpoint.js.map +1 -1
  104. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  105. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  106. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  107. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +1 -1
  108. package/lib/chain/blocks/verifyBlocksSanityChecks.js +4 -1
  109. package/lib/chain/blocks/verifyBlocksSanityChecks.js.map +1 -1
  110. package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
  111. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js.map +1 -1
  112. package/lib/chain/blocks/writeBlockInputToDb.d.ts +12 -3
  113. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +1 -1
  114. package/lib/chain/blocks/writeBlockInputToDb.js +92 -98
  115. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  116. package/lib/chain/bls/maybeBatch.js.map +1 -1
  117. package/lib/chain/bls/multithread/index.d.ts.map +1 -1
  118. package/lib/chain/bls/multithread/index.js.map +1 -1
  119. package/lib/chain/bls/multithread/jobItem.js +2 -1
  120. package/lib/chain/bls/multithread/jobItem.js.map +1 -1
  121. package/lib/chain/bls/multithread/types.js +2 -1
  122. package/lib/chain/bls/multithread/types.js.map +1 -1
  123. package/lib/chain/bls/multithread/utils.js.map +1 -1
  124. package/lib/chain/bls/multithread/worker.js.map +1 -1
  125. package/lib/chain/bls/singleThread.d.ts.map +1 -1
  126. package/lib/chain/bls/singleThread.js.map +1 -1
  127. package/lib/chain/bls/utils.js.map +1 -1
  128. package/lib/chain/chain.d.ts +4 -4
  129. package/lib/chain/chain.d.ts.map +1 -1
  130. package/lib/chain/chain.js +13 -12
  131. package/lib/chain/chain.js.map +1 -1
  132. package/lib/chain/emitter.d.ts +4 -6
  133. package/lib/chain/emitter.d.ts.map +1 -1
  134. package/lib/chain/emitter.js +2 -1
  135. package/lib/chain/emitter.js.map +1 -1
  136. package/lib/chain/errors/attestationError.d.ts.map +1 -1
  137. package/lib/chain/errors/attestationError.js +2 -1
  138. package/lib/chain/errors/attestationError.js.map +1 -1
  139. package/lib/chain/errors/attesterSlashingError.js +2 -1
  140. package/lib/chain/errors/attesterSlashingError.js.map +1 -1
  141. package/lib/chain/errors/blobSidecarError.js +2 -1
  142. package/lib/chain/errors/blobSidecarError.js.map +1 -1
  143. package/lib/chain/errors/blockError.d.ts.map +1 -1
  144. package/lib/chain/errors/blockError.js +2 -1
  145. package/lib/chain/errors/blockError.js.map +1 -1
  146. package/lib/chain/errors/blsToExecutionChangeError.js +2 -1
  147. package/lib/chain/errors/blsToExecutionChangeError.js.map +1 -1
  148. package/lib/chain/errors/dataColumnSidecarError.js +2 -1
  149. package/lib/chain/errors/dataColumnSidecarError.js.map +1 -1
  150. package/lib/chain/errors/executionPayloadBid.d.ts +1 -1
  151. package/lib/chain/errors/executionPayloadBid.js +2 -1
  152. package/lib/chain/errors/executionPayloadBid.js.map +1 -1
  153. package/lib/chain/errors/executionPayloadEnvelope.d.ts +2 -2
  154. package/lib/chain/errors/executionPayloadEnvelope.d.ts.map +1 -1
  155. package/lib/chain/errors/executionPayloadEnvelope.js +2 -1
  156. package/lib/chain/errors/executionPayloadEnvelope.js.map +1 -1
  157. package/lib/chain/errors/gossipValidation.d.ts.map +1 -1
  158. package/lib/chain/errors/gossipValidation.js +4 -2
  159. package/lib/chain/errors/gossipValidation.js.map +1 -1
  160. package/lib/chain/errors/lightClientError.js +4 -2
  161. package/lib/chain/errors/lightClientError.js.map +1 -1
  162. package/lib/chain/errors/payloadAttestation.d.ts +1 -1
  163. package/lib/chain/errors/payloadAttestation.js +2 -1
  164. package/lib/chain/errors/payloadAttestation.js.map +1 -1
  165. package/lib/chain/errors/proposerSlashingError.js +2 -1
  166. package/lib/chain/errors/proposerSlashingError.js.map +1 -1
  167. package/lib/chain/errors/syncCommitteeError.js +2 -1
  168. package/lib/chain/errors/syncCommitteeError.js.map +1 -1
  169. package/lib/chain/errors/voluntaryExitError.js +2 -1
  170. package/lib/chain/errors/voluntaryExitError.js.map +1 -1
  171. package/lib/chain/forkChoice/index.d.ts.map +1 -1
  172. package/lib/chain/forkChoice/index.js +32 -25
  173. package/lib/chain/forkChoice/index.js.map +1 -1
  174. package/lib/chain/initState.d.ts +1 -1
  175. package/lib/chain/initState.d.ts.map +1 -1
  176. package/lib/chain/initState.js.map +1 -1
  177. package/lib/chain/interface.js +2 -1
  178. package/lib/chain/interface.js.map +1 -1
  179. package/lib/chain/lightClient/index.d.ts +0 -29
  180. package/lib/chain/lightClient/index.d.ts.map +1 -1
  181. package/lib/chain/lightClient/index.js.map +1 -1
  182. package/lib/chain/lightClient/proofs.js.map +1 -1
  183. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
  184. package/lib/chain/opPools/aggregatedAttestationPool.js +5 -3
  185. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  186. package/lib/chain/opPools/attestationPool.d.ts.map +1 -1
  187. package/lib/chain/opPools/attestationPool.js.map +1 -1
  188. package/lib/chain/opPools/executionPayloadBidPool.d.ts.map +1 -1
  189. package/lib/chain/opPools/executionPayloadBidPool.js.map +1 -1
  190. package/lib/chain/opPools/opPool.d.ts.map +1 -1
  191. package/lib/chain/opPools/opPool.js.map +1 -1
  192. package/lib/chain/opPools/payloadAttestationPool.d.ts.map +1 -1
  193. package/lib/chain/opPools/payloadAttestationPool.js.map +1 -1
  194. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +1 -1
  195. package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
  196. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +1 -1
  197. package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
  198. package/lib/chain/opPools/types.js +4 -2
  199. package/lib/chain/opPools/types.js.map +1 -1
  200. package/lib/chain/opPools/utils.js.map +1 -1
  201. package/lib/chain/prepareNextSlot.d.ts +1 -2
  202. package/lib/chain/prepareNextSlot.d.ts.map +1 -1
  203. package/lib/chain/prepareNextSlot.js.map +1 -1
  204. package/lib/chain/produceBlock/computeNewStateRoot.d.ts +0 -1
  205. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +1 -1
  206. package/lib/chain/produceBlock/computeNewStateRoot.js +4 -3
  207. package/lib/chain/produceBlock/computeNewStateRoot.js.map +1 -1
  208. package/lib/chain/produceBlock/produceBlockBody.d.ts +1 -1
  209. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  210. package/lib/chain/produceBlock/produceBlockBody.js +7 -5
  211. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  212. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.js.map +1 -1
  213. package/lib/chain/regen/errors.d.ts.map +1 -1
  214. package/lib/chain/regen/errors.js +2 -1
  215. package/lib/chain/regen/errors.js.map +1 -1
  216. package/lib/chain/regen/interface.js +4 -2
  217. package/lib/chain/regen/interface.js.map +1 -1
  218. package/lib/chain/regen/queued.d.ts.map +1 -1
  219. package/lib/chain/regen/queued.js +4 -1
  220. package/lib/chain/regen/queued.js.map +1 -1
  221. package/lib/chain/regen/regen.d.ts.map +1 -1
  222. package/lib/chain/regen/regen.js +6 -2
  223. package/lib/chain/regen/regen.js.map +1 -1
  224. package/lib/chain/reprocess.d.ts.map +1 -1
  225. package/lib/chain/reprocess.js +2 -1
  226. package/lib/chain/reprocess.js.map +1 -1
  227. package/lib/chain/seenCache/seenAggregateAndProof.d.ts.map +1 -1
  228. package/lib/chain/seenCache/seenAggregateAndProof.js.map +1 -1
  229. package/lib/chain/seenCache/seenAttestationData.d.ts.map +1 -1
  230. package/lib/chain/seenCache/seenAttestationData.js +2 -1
  231. package/lib/chain/seenCache/seenAttestationData.js.map +1 -1
  232. package/lib/chain/seenCache/seenAttesters.d.ts.map +1 -1
  233. package/lib/chain/seenCache/seenAttesters.js.map +1 -1
  234. package/lib/chain/seenCache/seenBlockAttesters.d.ts.map +1 -1
  235. package/lib/chain/seenCache/seenBlockAttesters.js.map +1 -1
  236. package/lib/chain/seenCache/seenBlockProposers.d.ts.map +1 -1
  237. package/lib/chain/seenCache/seenBlockProposers.js.map +1 -1
  238. package/lib/chain/seenCache/seenCommittee.d.ts.map +1 -1
  239. package/lib/chain/seenCache/seenCommittee.js.map +1 -1
  240. package/lib/chain/seenCache/seenCommitteeContribution.d.ts.map +1 -1
  241. package/lib/chain/seenCache/seenCommitteeContribution.js.map +1 -1
  242. package/lib/chain/seenCache/seenExecutionPayloadBids.d.ts.map +1 -1
  243. package/lib/chain/seenCache/seenExecutionPayloadBids.js.map +1 -1
  244. package/lib/chain/seenCache/seenExecutionPayloadEnvelope.d.ts.map +1 -1
  245. package/lib/chain/seenCache/seenExecutionPayloadEnvelope.js.map +1 -1
  246. package/lib/chain/seenCache/seenGossipBlockInput.d.ts +7 -3
  247. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +1 -1
  248. package/lib/chain/seenCache/seenGossipBlockInput.js +23 -9
  249. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  250. package/lib/chain/serializeState.js +1 -0
  251. package/lib/chain/serializeState.js.map +1 -1
  252. package/lib/chain/shufflingCache.d.ts.map +1 -1
  253. package/lib/chain/shufflingCache.js +2 -1
  254. package/lib/chain/shufflingCache.js.map +1 -1
  255. package/lib/chain/stateCache/datastore/db.d.ts.map +1 -1
  256. package/lib/chain/stateCache/datastore/db.js.map +1 -1
  257. package/lib/chain/stateCache/datastore/file.d.ts.map +1 -1
  258. package/lib/chain/stateCache/datastore/file.js.map +1 -1
  259. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +1 -1
  260. package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
  261. package/lib/chain/stateCache/mapMetrics.d.ts.map +1 -1
  262. package/lib/chain/stateCache/mapMetrics.js.map +1 -1
  263. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +1 -41
  264. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +1 -1
  265. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  266. package/lib/chain/stateCache/types.js +2 -1
  267. package/lib/chain/stateCache/types.js.map +1 -1
  268. package/lib/chain/validation/aggregateAndProof.js +1 -1
  269. package/lib/chain/validation/aggregateAndProof.js.map +1 -1
  270. package/lib/chain/validation/attestation.d.ts.map +1 -1
  271. package/lib/chain/validation/attestation.js +10 -6
  272. package/lib/chain/validation/attestation.js.map +1 -1
  273. package/lib/chain/validation/attesterSlashing.d.ts.map +1 -1
  274. package/lib/chain/validation/attesterSlashing.js +8 -1
  275. package/lib/chain/validation/attesterSlashing.js.map +1 -1
  276. package/lib/chain/validation/blobSidecar.js +2 -2
  277. package/lib/chain/validation/blobSidecar.js.map +1 -1
  278. package/lib/chain/validation/block.d.ts.map +1 -1
  279. package/lib/chain/validation/block.js +6 -3
  280. package/lib/chain/validation/block.js.map +1 -1
  281. package/lib/chain/validation/blsToExecutionChange.js.map +1 -1
  282. package/lib/chain/validation/dataColumnSidecar.js +1 -1
  283. package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
  284. package/lib/chain/validation/executionPayloadBid.js +1 -2
  285. package/lib/chain/validation/executionPayloadBid.js.map +1 -1
  286. package/lib/chain/validation/executionPayloadEnvelope.js +4 -4
  287. package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
  288. package/lib/chain/validation/lightClientFinalityUpdate.js.map +1 -1
  289. package/lib/chain/validation/lightClientOptimisticUpdate.js.map +1 -1
  290. package/lib/chain/validation/payloadAttestationMessage.js +1 -2
  291. package/lib/chain/validation/payloadAttestationMessage.js.map +1 -1
  292. package/lib/chain/validation/proposerSlashing.js.map +1 -1
  293. package/lib/chain/validation/signatureSets/aggregateAndProof.js.map +1 -1
  294. package/lib/chain/validation/signatureSets/contributionAndProof.js.map +1 -1
  295. package/lib/chain/validation/signatureSets/selectionProof.js.map +1 -1
  296. package/lib/chain/validation/signatureSets/syncCommittee.js.map +1 -1
  297. package/lib/chain/validation/signatureSets/syncCommitteeContribution.js.map +1 -1
  298. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js.map +1 -1
  299. package/lib/chain/validation/syncCommittee.js.map +1 -1
  300. package/lib/chain/validation/syncCommitteeContributionAndProof.js.map +1 -1
  301. package/lib/chain/validation/voluntaryExit.js.map +1 -1
  302. package/lib/chain/validatorMonitor.d.ts.map +1 -1
  303. package/lib/chain/validatorMonitor.js +2 -1
  304. package/lib/chain/validatorMonitor.js.map +1 -1
  305. package/lib/constants/network.js +4 -2
  306. package/lib/constants/network.js.map +1 -1
  307. package/lib/db/beacon.d.ts.map +1 -1
  308. package/lib/db/beacon.js.map +1 -1
  309. package/lib/db/buckets.d.ts +23 -23
  310. package/lib/db/buckets.d.ts.map +1 -1
  311. package/lib/db/buckets.js +2 -1
  312. package/lib/db/buckets.js.map +1 -1
  313. package/lib/db/index.d.ts +1 -0
  314. package/lib/db/index.d.ts.map +1 -1
  315. package/lib/db/index.js +1 -0
  316. package/lib/db/index.js.map +1 -1
  317. package/lib/db/repositories/attesterSlashing.d.ts.map +1 -1
  318. package/lib/db/repositories/attesterSlashing.js.map +1 -1
  319. package/lib/db/repositories/backfilledRanges.d.ts.map +1 -1
  320. package/lib/db/repositories/backfilledRanges.js.map +1 -1
  321. package/lib/db/repositories/blobSidecars.d.ts.map +1 -1
  322. package/lib/db/repositories/blobSidecars.js.map +1 -1
  323. package/lib/db/repositories/blobSidecarsArchive.d.ts.map +1 -1
  324. package/lib/db/repositories/blobSidecarsArchive.js.map +1 -1
  325. package/lib/db/repositories/block.d.ts.map +1 -1
  326. package/lib/db/repositories/block.js.map +1 -1
  327. package/lib/db/repositories/blockArchive.d.ts.map +1 -1
  328. package/lib/db/repositories/blockArchive.js.map +1 -1
  329. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  330. package/lib/db/repositories/blockArchiveIndex.js.map +1 -1
  331. package/lib/db/repositories/blsToExecutionChange.d.ts.map +1 -1
  332. package/lib/db/repositories/blsToExecutionChange.js.map +1 -1
  333. package/lib/db/repositories/checkpointState.d.ts.map +1 -1
  334. package/lib/db/repositories/checkpointState.js.map +1 -1
  335. package/lib/db/repositories/dataColumnSidecar.d.ts.map +1 -1
  336. package/lib/db/repositories/dataColumnSidecar.js.map +1 -1
  337. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +1 -1
  338. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  339. package/lib/db/repositories/executionPayloadEnvelope.d.ts.map +1 -1
  340. package/lib/db/repositories/executionPayloadEnvelope.js.map +1 -1
  341. package/lib/db/repositories/executionPayloadEnvelopeArchive.d.ts.map +1 -1
  342. package/lib/db/repositories/executionPayloadEnvelopeArchive.js.map +1 -1
  343. package/lib/db/repositories/lightclientBestUpdate.d.ts.map +1 -1
  344. package/lib/db/repositories/lightclientBestUpdate.js.map +1 -1
  345. package/lib/db/repositories/lightclientCheckpointHeader.d.ts.map +1 -1
  346. package/lib/db/repositories/lightclientCheckpointHeader.js.map +1 -1
  347. package/lib/db/repositories/lightclientSyncCommittee.d.ts.map +1 -1
  348. package/lib/db/repositories/lightclientSyncCommittee.js.map +1 -1
  349. package/lib/db/repositories/lightclientSyncCommitteeWitness.d.ts.map +1 -1
  350. package/lib/db/repositories/lightclientSyncCommitteeWitness.js.map +1 -1
  351. package/lib/db/repositories/proposerSlashing.d.ts.map +1 -1
  352. package/lib/db/repositories/proposerSlashing.js.map +1 -1
  353. package/lib/db/repositories/stateArchive.d.ts.map +1 -1
  354. package/lib/db/repositories/stateArchive.js.map +1 -1
  355. package/lib/db/repositories/stateArchiveIndex.js.map +1 -1
  356. package/lib/db/repositories/voluntaryExit.d.ts.map +1 -1
  357. package/lib/db/repositories/voluntaryExit.js.map +1 -1
  358. package/lib/execution/builder/cache.d.ts.map +1 -1
  359. package/lib/execution/builder/cache.js.map +1 -1
  360. package/lib/execution/builder/http.d.ts.map +1 -1
  361. package/lib/execution/builder/http.js +2 -1
  362. package/lib/execution/builder/http.js.map +1 -1
  363. package/lib/execution/builder/index.js.map +1 -1
  364. package/lib/execution/builder/utils.js.map +1 -1
  365. package/lib/execution/engine/disabled.d.ts.map +1 -1
  366. package/lib/execution/engine/disabled.js.map +1 -1
  367. package/lib/execution/engine/http.d.ts.map +1 -1
  368. package/lib/execution/engine/http.js.map +1 -1
  369. package/lib/execution/engine/index.js.map +1 -1
  370. package/lib/execution/engine/interface.js +4 -2
  371. package/lib/execution/engine/interface.js.map +1 -1
  372. package/lib/execution/engine/jsonRpcHttpClient.d.ts +10 -15
  373. package/lib/execution/engine/jsonRpcHttpClient.d.ts.map +1 -1
  374. package/lib/execution/engine/jsonRpcHttpClient.js +2 -1
  375. package/lib/execution/engine/jsonRpcHttpClient.js.map +1 -1
  376. package/lib/execution/engine/jwt.js.map +1 -1
  377. package/lib/execution/engine/mock.d.ts.map +1 -1
  378. package/lib/execution/engine/mock.js.map +1 -1
  379. package/lib/execution/engine/payloadIdCache.d.ts.map +1 -1
  380. package/lib/execution/engine/payloadIdCache.js.map +1 -1
  381. package/lib/execution/engine/types.js.map +1 -1
  382. package/lib/execution/engine/utils.d.ts +1 -1
  383. package/lib/execution/engine/utils.d.ts.map +1 -1
  384. package/lib/execution/engine/utils.js.map +1 -1
  385. package/lib/metrics/metrics/beacon.d.ts.map +1 -1
  386. package/lib/metrics/metrics/beacon.js.map +1 -1
  387. package/lib/metrics/metrics/lodestar.d.ts +8 -6
  388. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  389. package/lib/metrics/metrics/lodestar.js +18 -10
  390. package/lib/metrics/metrics/lodestar.js.map +1 -1
  391. package/lib/metrics/metrics.js.map +1 -1
  392. package/lib/metrics/nodeJsMetrics.js.map +1 -1
  393. package/lib/metrics/server/http.d.ts +1 -1
  394. package/lib/metrics/server/http.d.ts.map +1 -1
  395. package/lib/metrics/server/http.js.map +1 -1
  396. package/lib/metrics/utils/avgMinMax.d.ts.map +1 -1
  397. package/lib/metrics/utils/avgMinMax.js.map +1 -1
  398. package/lib/metrics/utils/gauge.d.ts.map +1 -1
  399. package/lib/metrics/utils/gauge.js.map +1 -1
  400. package/lib/metrics/utils/registryMetricCreator.d.ts.map +1 -1
  401. package/lib/metrics/utils/registryMetricCreator.js.map +1 -1
  402. package/lib/monitoring/clientStats.js.map +1 -1
  403. package/lib/monitoring/properties.d.ts.map +1 -1
  404. package/lib/monitoring/properties.js.map +1 -1
  405. package/lib/monitoring/service.d.ts.map +1 -1
  406. package/lib/monitoring/service.js.map +1 -1
  407. package/lib/monitoring/system.d.ts.map +1 -1
  408. package/lib/monitoring/system.js.map +1 -1
  409. package/lib/monitoring/types.js +4 -2
  410. package/lib/monitoring/types.js.map +1 -1
  411. package/lib/network/core/events.d.ts +1 -3
  412. package/lib/network/core/events.d.ts.map +1 -1
  413. package/lib/network/core/events.js +4 -2
  414. package/lib/network/core/events.js.map +1 -1
  415. package/lib/network/core/metrics.d.ts +6 -7
  416. package/lib/network/core/metrics.d.ts.map +1 -1
  417. package/lib/network/core/metrics.js.map +1 -1
  418. package/lib/network/core/networkCore.d.ts +1 -1
  419. package/lib/network/core/networkCore.d.ts.map +1 -1
  420. package/lib/network/core/networkCore.js.map +1 -1
  421. package/lib/network/core/networkCoreWorker.js.map +1 -1
  422. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +1 -1
  423. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  424. package/lib/network/discv5/index.d.ts +1 -3
  425. package/lib/network/discv5/index.d.ts.map +1 -1
  426. package/lib/network/discv5/index.js.map +1 -1
  427. package/lib/network/discv5/utils.d.ts +1 -1
  428. package/lib/network/discv5/utils.d.ts.map +1 -1
  429. package/lib/network/discv5/utils.js +7 -5
  430. package/lib/network/discv5/utils.js.map +1 -1
  431. package/lib/network/discv5/worker.js.map +1 -1
  432. package/lib/network/events.d.ts +1 -3
  433. package/lib/network/events.d.ts.map +1 -1
  434. package/lib/network/events.js +4 -2
  435. package/lib/network/events.js.map +1 -1
  436. package/lib/network/forks.js.map +1 -1
  437. package/lib/network/gossip/encoding.d.ts.map +1 -1
  438. package/lib/network/gossip/encoding.js.map +1 -1
  439. package/lib/network/gossip/errors.d.ts.map +1 -1
  440. package/lib/network/gossip/errors.js.map +1 -1
  441. package/lib/network/gossip/gossipsub.d.ts.map +1 -1
  442. package/lib/network/gossip/gossipsub.js +9 -6
  443. package/lib/network/gossip/gossipsub.js.map +1 -1
  444. package/lib/network/gossip/interface.js +4 -2
  445. package/lib/network/gossip/interface.js.map +1 -1
  446. package/lib/network/gossip/metrics.d.ts +12 -14
  447. package/lib/network/gossip/metrics.d.ts.map +1 -1
  448. package/lib/network/gossip/metrics.js.map +1 -1
  449. package/lib/network/gossip/scoringParameters.d.ts +1 -1
  450. package/lib/network/gossip/scoringParameters.d.ts.map +1 -1
  451. package/lib/network/gossip/scoringParameters.js.map +1 -1
  452. package/lib/network/gossip/topic.d.ts +2867 -2920
  453. package/lib/network/gossip/topic.d.ts.map +1 -1
  454. package/lib/network/gossip/topic.js.map +1 -1
  455. package/lib/network/libp2p/error.js +2 -1
  456. package/lib/network/libp2p/error.js.map +1 -1
  457. package/lib/network/libp2p/index.d.ts +1 -1
  458. package/lib/network/libp2p/index.d.ts.map +1 -1
  459. package/lib/network/libp2p/index.js +35 -17
  460. package/lib/network/libp2p/index.js.map +1 -1
  461. package/lib/network/metadata.d.ts +1 -0
  462. package/lib/network/metadata.d.ts.map +1 -1
  463. package/lib/network/metadata.js +5 -2
  464. package/lib/network/metadata.js.map +1 -1
  465. package/lib/network/network.d.ts +1 -1
  466. package/lib/network/network.d.ts.map +1 -1
  467. package/lib/network/network.js +1 -1
  468. package/lib/network/network.js.map +1 -1
  469. package/lib/network/options.d.ts +2 -0
  470. package/lib/network/options.d.ts.map +1 -1
  471. package/lib/network/options.js +3 -0
  472. package/lib/network/options.js.map +1 -1
  473. package/lib/network/peers/client.js +2 -1
  474. package/lib/network/peers/client.js.map +1 -1
  475. package/lib/network/peers/datastore.d.ts +0 -3
  476. package/lib/network/peers/datastore.d.ts.map +1 -1
  477. package/lib/network/peers/datastore.js.map +1 -1
  478. package/lib/network/peers/discover.d.ts +2 -7
  479. package/lib/network/peers/discover.d.ts.map +1 -1
  480. package/lib/network/peers/discover.js +45 -12
  481. package/lib/network/peers/discover.js.map +1 -1
  482. package/lib/network/peers/peerManager.d.ts +0 -1
  483. package/lib/network/peers/peerManager.d.ts.map +1 -1
  484. package/lib/network/peers/peerManager.js.map +1 -1
  485. package/lib/network/peers/peersData.d.ts.map +1 -1
  486. package/lib/network/peers/peersData.js +2 -1
  487. package/lib/network/peers/peersData.js.map +1 -1
  488. package/lib/network/peers/score/interface.js +4 -2
  489. package/lib/network/peers/score/interface.js.map +1 -1
  490. package/lib/network/peers/score/score.d.ts.map +1 -1
  491. package/lib/network/peers/score/score.js.map +1 -1
  492. package/lib/network/peers/score/store.d.ts.map +1 -1
  493. package/lib/network/peers/score/store.js.map +1 -1
  494. package/lib/network/peers/score/utils.js.map +1 -1
  495. package/lib/network/peers/utils/assertPeerRelevance.js +2 -1
  496. package/lib/network/peers/utils/assertPeerRelevance.js.map +1 -1
  497. package/lib/network/peers/utils/enrSubnetsDeserialize.js.map +1 -1
  498. package/lib/network/peers/utils/getConnectedPeerIds.js.map +1 -1
  499. package/lib/network/peers/utils/prioritizePeers.js +2 -1
  500. package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
  501. package/lib/network/peers/utils/subnetMap.d.ts.map +1 -1
  502. package/lib/network/peers/utils/subnetMap.js.map +1 -1
  503. package/lib/network/processor/aggregatorTracker.d.ts.map +1 -1
  504. package/lib/network/processor/aggregatorTracker.js.map +1 -1
  505. package/lib/network/processor/extractSlotRootFns.js.map +1 -1
  506. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  507. package/lib/network/processor/gossipHandlers.js +1 -0
  508. package/lib/network/processor/gossipHandlers.js.map +1 -1
  509. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  510. package/lib/network/processor/gossipQueues/indexed.d.ts.map +1 -1
  511. package/lib/network/processor/gossipQueues/indexed.js.map +1 -1
  512. package/lib/network/processor/gossipQueues/linear.d.ts.map +1 -1
  513. package/lib/network/processor/gossipQueues/linear.js.map +1 -1
  514. package/lib/network/processor/gossipQueues/types.js +4 -2
  515. package/lib/network/processor/gossipQueues/types.js.map +1 -1
  516. package/lib/network/processor/gossipValidatorFn.js.map +1 -1
  517. package/lib/network/processor/index.d.ts.map +1 -1
  518. package/lib/network/processor/index.js +4 -2
  519. package/lib/network/processor/index.js.map +1 -1
  520. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +1 -1
  521. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  522. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +1 -1
  523. package/lib/network/reqresp/handlers/beaconBlocksByRange.js +3 -2
  524. package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
  525. package/lib/network/reqresp/handlers/beaconBlocksByRoot.js.map +1 -1
  526. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +1 -1
  527. package/lib/network/reqresp/handlers/blobSidecarsByRange.js +3 -2
  528. package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +1 -1
  529. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js +1 -1
  530. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +1 -1
  531. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +1 -1
  532. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +3 -2
  533. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -1
  534. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js +1 -1
  535. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -1
  536. package/lib/network/reqresp/handlers/index.js.map +1 -1
  537. package/lib/network/reqresp/handlers/lightClientBootstrap.js.map +1 -1
  538. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.js.map +1 -1
  539. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.js.map +1 -1
  540. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.js.map +1 -1
  541. package/lib/network/reqresp/interface.js +2 -1
  542. package/lib/network/reqresp/interface.js.map +1 -1
  543. package/lib/network/reqresp/protocols.d.ts.map +1 -1
  544. package/lib/network/reqresp/protocols.js.map +1 -1
  545. package/lib/network/reqresp/rateLimit.js.map +1 -1
  546. package/lib/network/reqresp/score.js.map +1 -1
  547. package/lib/network/reqresp/types.js +4 -2
  548. package/lib/network/reqresp/types.js.map +1 -1
  549. package/lib/network/reqresp/utils/collect.d.ts +1 -1
  550. package/lib/network/reqresp/utils/collect.js.map +1 -1
  551. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts +1 -1
  552. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.js +2 -1
  553. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.js.map +1 -1
  554. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts +1 -1
  555. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +1 -1
  556. package/lib/network/reqresp/utils/dataColumnResponseValidation.js.map +1 -1
  557. package/lib/network/statusCache.d.ts.map +1 -1
  558. package/lib/network/statusCache.js.map +1 -1
  559. package/lib/network/subnets/attnetsService.d.ts.map +1 -1
  560. package/lib/network/subnets/attnetsService.js +2 -1
  561. package/lib/network/subnets/attnetsService.js.map +1 -1
  562. package/lib/network/subnets/interface.js.map +1 -1
  563. package/lib/network/subnets/syncnetsService.d.ts.map +1 -1
  564. package/lib/network/subnets/syncnetsService.js.map +1 -1
  565. package/lib/network/subnets/util.js.map +1 -1
  566. package/lib/network/util.js.map +1 -1
  567. package/lib/node/nodejs.d.ts +2 -2
  568. package/lib/node/nodejs.d.ts.map +1 -1
  569. package/lib/node/nodejs.js +2 -1
  570. package/lib/node/nodejs.js.map +1 -1
  571. package/lib/node/notifier.js.map +1 -1
  572. package/lib/node/utils/interop/deposits.js.map +1 -1
  573. package/lib/node/utils/interop/state.d.ts +1 -1
  574. package/lib/node/utils/interop/state.d.ts.map +1 -1
  575. package/lib/node/utils/interop/state.js.map +1 -1
  576. package/lib/node/utils/lightclient.js.map +1 -1
  577. package/lib/node/utils/state.js.map +1 -1
  578. package/lib/sync/backfill/backfill.d.ts +1 -10
  579. package/lib/sync/backfill/backfill.d.ts.map +1 -1
  580. package/lib/sync/backfill/backfill.js +6 -3
  581. package/lib/sync/backfill/backfill.js.map +1 -1
  582. package/lib/sync/backfill/errors.js +2 -1
  583. package/lib/sync/backfill/errors.js.map +1 -1
  584. package/lib/sync/backfill/verify.js.map +1 -1
  585. package/lib/sync/interface.js +2 -1
  586. package/lib/sync/interface.js.map +1 -1
  587. package/lib/sync/range/batch.d.ts.map +1 -1
  588. package/lib/sync/range/batch.js +4 -2
  589. package/lib/sync/range/batch.js.map +1 -1
  590. package/lib/sync/range/chain.d.ts +0 -10
  591. package/lib/sync/range/chain.d.ts.map +1 -1
  592. package/lib/sync/range/chain.js +2 -1
  593. package/lib/sync/range/chain.js.map +1 -1
  594. package/lib/sync/range/range.d.ts +1 -3
  595. package/lib/sync/range/range.d.ts.map +1 -1
  596. package/lib/sync/range/range.js +4 -2
  597. package/lib/sync/range/range.js.map +1 -1
  598. package/lib/sync/range/utils/batches.js.map +1 -1
  599. package/lib/sync/range/utils/chainTarget.js.map +1 -1
  600. package/lib/sync/range/utils/hashBlocks.js.map +1 -1
  601. package/lib/sync/range/utils/peerBalancer.d.ts.map +1 -1
  602. package/lib/sync/range/utils/peerBalancer.js.map +1 -1
  603. package/lib/sync/range/utils/updateChains.js.map +1 -1
  604. package/lib/sync/sync.d.ts.map +1 -1
  605. package/lib/sync/sync.js.map +1 -1
  606. package/lib/sync/types.js +4 -2
  607. package/lib/sync/types.js.map +1 -1
  608. package/lib/sync/unknownBlock.d.ts +0 -14
  609. package/lib/sync/unknownBlock.d.ts.map +1 -1
  610. package/lib/sync/unknownBlock.js.map +1 -1
  611. package/lib/sync/utils/downloadByRange.d.ts +4 -4
  612. package/lib/sync/utils/downloadByRange.d.ts.map +1 -1
  613. package/lib/sync/utils/downloadByRange.js +2 -1
  614. package/lib/sync/utils/downloadByRange.js.map +1 -1
  615. package/lib/sync/utils/downloadByRoot.d.ts +8 -8
  616. package/lib/sync/utils/downloadByRoot.d.ts.map +1 -1
  617. package/lib/sync/utils/downloadByRoot.js +2 -1
  618. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  619. package/lib/sync/utils/pendingBlocksTree.js.map +1 -1
  620. package/lib/sync/utils/remoteSyncType.d.ts +1 -1
  621. package/lib/sync/utils/remoteSyncType.d.ts.map +1 -1
  622. package/lib/sync/utils/remoteSyncType.js +4 -2
  623. package/lib/sync/utils/remoteSyncType.js.map +1 -1
  624. package/lib/util/address.js.map +1 -1
  625. package/lib/util/array.d.ts.map +1 -1
  626. package/lib/util/array.js.map +1 -1
  627. package/lib/util/asyncIterableToEvents.d.ts.map +1 -1
  628. package/lib/util/asyncIterableToEvents.js +2 -1
  629. package/lib/util/asyncIterableToEvents.js.map +1 -1
  630. package/lib/util/binarySearch.d.ts.map +1 -1
  631. package/lib/util/binarySearch.js.map +1 -1
  632. package/lib/util/bitArray.js +2 -1
  633. package/lib/util/bitArray.js.map +1 -1
  634. package/lib/util/blobs.js.map +1 -1
  635. package/lib/util/bufferPool.d.ts.map +1 -1
  636. package/lib/util/bufferPool.js +2 -1
  637. package/lib/util/bufferPool.js.map +1 -1
  638. package/lib/util/chunkify.js.map +1 -1
  639. package/lib/util/clock.d.ts.map +1 -1
  640. package/lib/util/clock.js +2 -1
  641. package/lib/util/clock.js.map +1 -1
  642. package/lib/util/dataColumns.d.ts.map +1 -1
  643. package/lib/util/dataColumns.js +4 -2
  644. package/lib/util/dataColumns.js.map +1 -1
  645. package/lib/util/dependentRoot.js.map +1 -1
  646. package/lib/util/enum.js.map +1 -1
  647. package/lib/util/error.js.map +1 -1
  648. package/lib/util/eventLoop.js.map +1 -1
  649. package/lib/util/execution.js +2 -1
  650. package/lib/util/execution.js.map +1 -1
  651. package/lib/util/file.js.map +1 -1
  652. package/lib/util/forkChoice.js.map +1 -1
  653. package/lib/util/forkName.js.map +1 -1
  654. package/lib/util/graffiti.js.map +1 -1
  655. package/lib/util/hex.js.map +1 -1
  656. package/lib/util/ip.js.map +1 -1
  657. package/lib/util/itTrigger.d.ts.map +1 -1
  658. package/lib/util/itTrigger.js.map +1 -1
  659. package/lib/util/map.d.ts.map +1 -1
  660. package/lib/util/map.js.map +1 -1
  661. package/lib/util/metadata.js.map +1 -1
  662. package/lib/util/multifork.js.map +1 -1
  663. package/lib/util/numpy.js.map +1 -1
  664. package/lib/util/peerId.js.map +1 -1
  665. package/lib/util/profile.js +2 -1
  666. package/lib/util/profile.js.map +1 -1
  667. package/lib/util/promises.js.map +1 -1
  668. package/lib/util/queue/errors.js +2 -1
  669. package/lib/util/queue/errors.js.map +1 -1
  670. package/lib/util/queue/fnQueue.d.ts.map +1 -1
  671. package/lib/util/queue/fnQueue.js.map +1 -1
  672. package/lib/util/queue/itemQueue.d.ts.map +1 -1
  673. package/lib/util/queue/itemQueue.js.map +1 -1
  674. package/lib/util/queue/options.js +2 -1
  675. package/lib/util/queue/options.js.map +1 -1
  676. package/lib/util/serializedCache.d.ts +4 -4
  677. package/lib/util/serializedCache.d.ts.map +1 -1
  678. package/lib/util/serializedCache.js +6 -4
  679. package/lib/util/serializedCache.js.map +1 -1
  680. package/lib/util/set.d.ts.map +1 -1
  681. package/lib/util/set.js.map +1 -1
  682. package/lib/util/shuffle.js.map +1 -1
  683. package/lib/util/sortBy.js.map +1 -1
  684. package/lib/util/sszBytes.js.map +1 -1
  685. package/lib/util/time.js.map +1 -1
  686. package/lib/util/timeSeries.d.ts.map +1 -1
  687. package/lib/util/timeSeries.js.map +1 -1
  688. package/lib/util/types.d.ts.map +1 -1
  689. package/lib/util/workerEvents.d.ts +1 -1
  690. package/lib/util/workerEvents.d.ts.map +1 -1
  691. package/lib/util/workerEvents.js.map +1 -1
  692. package/lib/util/wrapError.js.map +1 -1
  693. package/package.json +29 -28
  694. package/src/api/impl/beacon/blocks/index.ts +3 -2
  695. package/src/api/impl/validator/index.ts +26 -12
  696. package/src/chain/archiveStore/archiveStore.ts +5 -5
  697. package/src/chain/archiveStore/utils/archiveBlocks.ts +4 -5
  698. package/src/chain/archiveStore/utils/updateBackfillRange.ts +1 -1
  699. package/src/chain/blocks/blockInput/blockInput.ts +35 -0
  700. package/src/chain/blocks/blockInput/types.ts +17 -0
  701. package/src/chain/blocks/importBlock.ts +35 -4
  702. package/src/chain/blocks/verifyBlocksSanityChecks.ts +7 -2
  703. package/src/chain/blocks/writeBlockInputToDb.ts +105 -104
  704. package/src/chain/chain.ts +31 -19
  705. package/src/chain/emitter.ts +3 -3
  706. package/src/chain/errors/executionPayloadBid.ts +1 -1
  707. package/src/chain/errors/executionPayloadEnvelope.ts +6 -2
  708. package/src/chain/errors/payloadAttestation.ts +1 -1
  709. package/src/chain/forkChoice/index.ts +39 -21
  710. package/src/chain/opPools/aggregatedAttestationPool.ts +1 -1
  711. package/src/chain/produceBlock/computeNewStateRoot.ts +4 -3
  712. package/src/chain/produceBlock/produceBlockBody.ts +1 -2
  713. package/src/chain/regen/queued.ts +7 -2
  714. package/src/chain/regen/regen.ts +9 -3
  715. package/src/chain/seenCache/seenGossipBlockInput.ts +40 -11
  716. package/src/chain/validation/aggregateAndProof.ts +1 -1
  717. package/src/chain/validation/attestation.ts +10 -6
  718. package/src/chain/validation/attesterSlashing.ts +9 -0
  719. package/src/chain/validation/blobSidecar.ts +2 -2
  720. package/src/chain/validation/block.ts +9 -4
  721. package/src/chain/validation/dataColumnSidecar.ts +1 -1
  722. package/src/chain/validation/executionPayloadBid.ts +1 -2
  723. package/src/chain/validation/executionPayloadEnvelope.ts +4 -4
  724. package/src/chain/validation/payloadAttestationMessage.ts +1 -2
  725. package/src/db/index.ts +1 -0
  726. package/src/metrics/metrics/lodestar.ts +18 -10
  727. package/src/network/discv5/utils.ts +5 -4
  728. package/src/network/gossip/gossipsub.ts +12 -7
  729. package/src/network/libp2p/index.ts +40 -18
  730. package/src/network/metadata.ts +1 -0
  731. package/src/network/network.ts +2 -1
  732. package/src/network/options.ts +5 -1
  733. package/src/network/peers/discover.ts +46 -11
  734. package/src/network/processor/gossipHandlers.ts +6 -1
  735. package/src/network/processor/gossipValidatorFn.ts +1 -1
  736. package/src/network/reqresp/ReqRespBeaconNode.ts +1 -1
  737. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +4 -3
  738. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +3 -2
  739. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +1 -1
  740. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +4 -3
  741. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +2 -2
  742. package/src/network/reqresp/utils/collect.ts +1 -1
  743. package/src/network/reqresp/utils/collectSequentialBlocksInRange.ts +1 -1
  744. package/src/sync/utils/downloadByRoot.ts +1 -1
  745. package/src/sync/utils/remoteSyncType.ts +1 -1
  746. package/src/util/serializedCache.ts +7 -5
@@ -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
  }
@@ -5,11 +5,12 @@ import {mdns} from "@libp2p/mdns";
5
5
  import {mplex} from "@libp2p/mplex";
6
6
  import {prometheusMetrics} from "@libp2p/prometheus-metrics";
7
7
  import {tcp} from "@libp2p/tcp";
8
- import {createLibp2p} from "libp2p";
8
+ import {Libp2pInit, createLibp2p} from "libp2p";
9
9
  import {Registry} from "prom-client";
10
10
  import {ENR} from "@chainsafe/enr";
11
11
  import {noise} from "@chainsafe/libp2p-noise";
12
12
  import {asCrypto, defaultCrypto} from "@chainsafe/libp2p-noise/crypto";
13
+ import {quic} from "@chainsafe/libp2p-quic";
13
14
  import {Libp2p, LodestarComponents} from "../interface.js";
14
15
  import {NetworkOptions, defaultNetworkOptions} from "../options.js";
15
16
  import {Eth2PeerDataStore} from "../peers/datastore.js";
@@ -21,11 +22,14 @@ export type NodeJsLibp2pOpts = {
21
22
  metricsRegistry?: Registry;
22
23
  };
23
24
 
24
- export async function getDiscv5Multiaddrs(bootEnrs: string[]): Promise<string[]> {
25
+ export async function getDiscv5Multiaddrs(bootEnrs: string[], quicEnabled?: boolean): Promise<string[]> {
25
26
  const bootMultiaddrs = [];
26
27
  for (const enrStr of bootEnrs) {
27
28
  const enr = ENR.decodeTxt(enrStr);
28
- const multiaddrWithPeerId = (await enr.getFullMultiaddr("tcp"))?.toString();
29
+ // Prefer QUIC over TCP when available
30
+ const quicMultiaddr = quicEnabled ? (await enr.getFullMultiaddr("quic"))?.toString() : undefined;
31
+ const tcpMultiaddr = (await enr.getFullMultiaddr("tcp"))?.toString();
32
+ const multiaddrWithPeerId = quicMultiaddr ?? tcpMultiaddr;
29
33
  if (multiaddrWithPeerId) {
30
34
  bootMultiaddrs.push(multiaddrWithPeerId);
31
35
  }
@@ -53,7 +57,9 @@ export async function createNodeJsLibp2p(
53
57
  const bootMultiaddrs = [
54
58
  ...(networkOpts.bootMultiaddrs ?? defaultNetworkOptions.bootMultiaddrs ?? []),
55
59
  // Append discv5.bootEnrs to bootMultiaddrs if requested
56
- ...(networkOpts.connectToDiscv5Bootnodes ? await getDiscv5Multiaddrs(networkOpts.discv5?.bootEnrs ?? []) : []),
60
+ ...(networkOpts.connectToDiscv5Bootnodes
61
+ ? await getDiscv5Multiaddrs(networkOpts.discv5?.bootEnrs ?? [], networkOpts.quic)
62
+ : []),
57
63
  ];
58
64
 
59
65
  if ((bootMultiaddrs.length ?? 0) > 0) {
@@ -64,6 +70,35 @@ export async function createNodeJsLibp2p(
64
70
  peerDiscovery.push(mdns());
65
71
  }
66
72
  }
73
+ const transports: Libp2pInit["transports"] = [];
74
+ if (networkOpts.tcp ?? true) {
75
+ transports.unshift(
76
+ tcp({
77
+ // Reject connections when the server's connection count gets high
78
+ maxConnections: networkOpts.maxPeers,
79
+ // socket option: the maximum length of the queue of pending connections
80
+ // https://nodejs.org/dist/latest-v18.x/docs/api/net.html#serverlisten
81
+ // it's not safe if we increase this number
82
+ backlog: 5,
83
+ closeServerOnMaxConnections: {
84
+ closeAbove: networkOpts.maxPeers ?? Infinity,
85
+ listenBelow: networkOpts.maxPeers ?? Infinity,
86
+ },
87
+ })
88
+ );
89
+ }
90
+ if (networkOpts.quic) {
91
+ transports.unshift(
92
+ quic({
93
+ handshakeTimeout: 5_000,
94
+ maxIdleTimeout: 10_000,
95
+ keepAliveInterval: 5_000,
96
+ maxConcurrentStreamLimit: 256,
97
+ maxStreamData: 10_000_000,
98
+ maxConnectionData: 15_000_000,
99
+ })
100
+ );
101
+ }
67
102
 
68
103
  const noiseCrypto = {
69
104
  ...defaultCrypto,
@@ -85,20 +120,7 @@ export async function createNodeJsLibp2p(
85
120
  announce: [],
86
121
  },
87
122
  connectionEncrypters: [noise({crypto: noiseCrypto})],
88
- // Reject connections when the server's connection count gets high
89
- transports: [
90
- tcp({
91
- maxConnections: networkOpts.maxPeers,
92
- // socket option: the maximum length of the queue of pending connections
93
- // https://nodejs.org/dist/latest-v18.x/docs/api/net.html#serverlisten
94
- // it's not safe if we increase this number
95
- backlog: 5,
96
- closeServerOnMaxConnections: {
97
- closeAbove: networkOpts.maxPeers ?? Infinity,
98
- listenBelow: networkOpts.maxPeers ?? Infinity,
99
- },
100
- }),
101
- ],
123
+ transports,
102
124
  streamMuxers: [mplex({disconnectThreshold})],
103
125
  peerDiscovery,
104
126
  metrics: nodeJsLibp2pOpts.metrics
@@ -11,6 +11,7 @@ import {NetworkConfig} from "./networkConfig.js";
11
11
 
12
12
  export enum ENRKey {
13
13
  tcp = "tcp",
14
+ quic = "quic",
14
15
  eth2 = "eth2",
15
16
  attnets = "attnets",
16
17
  syncnets = "syncnets",
@@ -539,7 +539,8 @@ export class Network implements INetwork {
539
539
  this.config.getForkSeq(this.clock.currentSlot) >= ForkSeq.altair ? [Version.V2] : [Version.V2, Version.V1],
540
540
  request
541
541
  ),
542
- request
542
+ request,
543
+ this.chain.serializedCache
543
544
  );
544
545
  }
545
546
 
@@ -29,7 +29,6 @@ export interface NetworkOptions
29
29
  useWorker?: boolean;
30
30
  maxYoungGenerationSizeMb?: number;
31
31
  disableLightClientServer?: boolean;
32
-
33
32
  /**
34
33
  * During E2E tests observe a lot of following `missing stream`:
35
34
  *
@@ -48,11 +47,14 @@ export interface NetworkOptions
48
47
  * We need to increase this only for the testing purpose
49
48
  */
50
49
  disconnectThreshold?: number;
50
+ quic?: boolean;
51
+ tcp?: boolean;
51
52
  }
52
53
 
53
54
  export const defaultNetworkOptions: NetworkOptions = {
54
55
  maxPeers: 210, // Allow some room above targetPeers for new inbound peers
55
56
  targetPeers: 200,
57
+ // In CLI usage this is typically overridden; when unset it serves as a fallback default (e.g. programmatic usage/tests)
56
58
  localMultiaddrs: ["/ip4/0.0.0.0/tcp/9000", "/ip6/::/tcp/9000"],
57
59
  bootMultiaddrs: [],
58
60
  /** disabled by default */
@@ -67,6 +69,8 @@ export const defaultNetworkOptions: NetworkOptions = {
67
69
  slotsToSubscribeBeforeAggregatorDuty: 2,
68
70
  // This will enable the light client server by default
69
71
  disableLightClientServer: false,
72
+ quic: false,
73
+ tcp: true,
70
74
  // specific option for fulu
71
75
  // - this is the same to TARGET_SUBNET_PEERS
72
76
  // - for fusaka-devnets, we have 25-30 peers per subnet
@@ -59,6 +59,7 @@ export enum DiscoveredPeerStatus {
59
59
  cached = "cached",
60
60
  dropped = "dropped",
61
61
  no_multiaddrs = "no_multiaddrs",
62
+ transport_incompatible = "transport_incompatible",
62
63
  peer_cooling_down = "peer_cooling_down",
63
64
  }
64
65
 
@@ -88,7 +89,8 @@ export type SubnetDiscvQueryMs = {
88
89
 
89
90
  type CachedENR = {
90
91
  peerId: PeerId;
91
- multiaddrTCP: Multiaddr;
92
+ multiaddrTCP?: Multiaddr;
93
+ multiaddrQUIC?: Multiaddr;
92
94
  subnets: Record<SubnetType, boolean[]>;
93
95
  addedUnixMs: number;
94
96
  // custodyGroups is null for pre-fulu
@@ -114,6 +116,7 @@ export class PeerDiscovery {
114
116
  attnets: new Map(),
115
117
  syncnets: new Map(),
116
118
  };
119
+ private transports: string[];
117
120
 
118
121
  private custodyGroupQueries: CustodyGroupQueries;
119
122
 
@@ -180,6 +183,17 @@ export class PeerDiscovery {
180
183
  }
181
184
  });
182
185
  }
186
+
187
+ // Transport tags vary by library: @libp2p/tcp uses '@libp2p/tcp', @chainsafe/libp2p-quic uses 'quic'
188
+ // Normalize to simple 'tcp' / 'quic' strings for matching
189
+ this.transports = libp2p.services.components.transportManager
190
+ .getTransports()
191
+ .map((t) => t[Symbol.toStringTag])
192
+ .map((tag) => {
193
+ if (tag?.includes("tcp")) return "tcp";
194
+ if (tag?.includes("quic")) return "quic";
195
+ return tag;
196
+ });
183
197
  }
184
198
 
185
199
  static async init(modules: PeerDiscoveryModules, opts: PeerDiscoveryOpts): Promise<PeerDiscovery> {
@@ -372,10 +386,15 @@ export class PeerDiscovery {
372
386
  return;
373
387
  }
374
388
 
389
+ // Select multiaddrs by protocol rather than index — libp2p discovery events
390
+ // don't guarantee ordering or number of addresses
391
+ const multiaddrTCP = multiaddrs.find((ma) => ma.toString().includes("/tcp/"));
392
+ const multiaddrQUIC = multiaddrs.find((ma) => ma.toString().includes("/quic-v1"));
393
+
375
394
  const attnets = zeroAttnets;
376
395
  const syncnets = zeroSyncnets;
377
396
 
378
- const status = this.handleDiscoveredPeer(id, multiaddrs[0], attnets, syncnets, undefined);
397
+ const status = this.handleDiscoveredPeer(id, multiaddrTCP, multiaddrQUIC, attnets, syncnets, undefined);
379
398
  this.logger.debug("Discovered peer via libp2p", {peer: prettyPrintPeerId(id), status});
380
399
  this.metrics?.discovery.discoveredStatus.inc({status});
381
400
  };
@@ -388,13 +407,15 @@ export class PeerDiscovery {
388
407
  this.randomNodeQuery.count++;
389
408
  }
390
409
  const peerId = enr.peerId;
391
- // tcp multiaddr is known to be be present, checked inside the worker
410
+ // At least one transport is known to be present, checked inside the worker
392
411
  const multiaddrTCP = enr.getLocationMultiaddr(ENRKey.tcp);
393
- if (!multiaddrTCP) {
394
- this.logger.warn("Discv5 worker sent enr without tcp multiaddr", {enr: enr.encodeTxt()});
412
+ const multiaddrQUIC = enr.getLocationMultiaddr(ENRKey.quic);
413
+ if (!multiaddrTCP && !multiaddrQUIC) {
414
+ this.logger.warn("Discv5 worker sent enr without any transport multiaddr", {enr: enr.encodeTxt()});
395
415
  this.metrics?.discovery.discoveredStatus.inc({status: DiscoveredPeerStatus.no_multiaddrs});
396
416
  return;
397
417
  }
418
+
398
419
  // Are this fields mandatory?
399
420
  const attnetsBytes = enr.kvs.get(ENRKey.attnets); // 64 bits
400
421
  const syncnetsBytes = enr.kvs.get(ENRKey.syncnets); // 4 bits
@@ -414,7 +435,7 @@ export class PeerDiscovery {
414
435
  const syncnets = syncnetsBytes ? deserializeEnrSubnets(syncnetsBytes, SYNC_COMMITTEE_SUBNET_COUNT) : zeroSyncnets;
415
436
  const custodyGroupCount = custodyGroupCountBytes ? bytesToInt(custodyGroupCountBytes, "be") : undefined;
416
437
 
417
- const status = this.handleDiscoveredPeer(peerId, multiaddrTCP, attnets, syncnets, custodyGroupCount);
438
+ const status = this.handleDiscoveredPeer(peerId, multiaddrTCP, multiaddrQUIC, attnets, syncnets, custodyGroupCount);
418
439
  this.logger.debug("Discovered peer via discv5", {
419
440
  peer: prettyPrintPeerId(peerId),
420
441
  status,
@@ -428,7 +449,8 @@ export class PeerDiscovery {
428
449
  */
429
450
  private handleDiscoveredPeer(
430
451
  peerId: PeerId,
431
- multiaddrTCP: Multiaddr,
452
+ multiaddrTCP: Multiaddr | undefined,
453
+ multiaddrQUIC: Multiaddr | undefined,
432
454
  attnets: boolean[],
433
455
  syncnets: boolean[],
434
456
  custodySubnetCount?: number
@@ -454,6 +476,13 @@ export class PeerDiscovery {
454
476
  return DiscoveredPeerStatus.already_connected;
455
477
  }
456
478
 
479
+ // ignore peers if they don't share any transport with us
480
+ const hasTcpMatch = this.transports.includes("tcp") && multiaddrTCP;
481
+ const hasQuicMatch = this.transports.includes("quic") && multiaddrQUIC;
482
+ if (!hasTcpMatch && !hasQuicMatch) {
483
+ return DiscoveredPeerStatus.transport_incompatible;
484
+ }
485
+
457
486
  // Ignore dialing peers
458
487
  if (
459
488
  this.libp2p.services.components.connectionManager
@@ -469,6 +498,7 @@ export class PeerDiscovery {
469
498
  const cachedPeer: CachedENR = {
470
499
  peerId,
471
500
  multiaddrTCP,
501
+ multiaddrQUIC,
472
502
  subnets: {attnets, syncnets},
473
503
  addedUnixMs: Date.now(),
474
504
  // for pre-fulu, custodyGroups is null
@@ -566,19 +596,24 @@ export class PeerDiscovery {
566
596
  // are not successful.
567
597
  this.peersToConnect = Math.max(this.peersToConnect - 1, 0);
568
598
 
569
- const {peerId, multiaddrTCP} = cachedPeer;
599
+ const {peerId, multiaddrTCP, multiaddrQUIC} = cachedPeer;
570
600
 
571
601
  // Must add the multiaddrs array to the address book before dialing
572
602
  // https://github.com/libp2p/js-libp2p/blob/aec8e3d3bb1b245051b60c2a890550d262d5b062/src/index.js#L638
573
- const peer = await this.libp2p.peerStore.merge(peerId, {multiaddrs: [multiaddrTCP]});
603
+ const peer = await this.libp2p.peerStore.merge(peerId, {
604
+ multiaddrs: [multiaddrQUIC, multiaddrTCP].filter(Boolean) as Multiaddr[],
605
+ });
574
606
  if (peer.addresses.length === 0) {
575
607
  this.metrics?.discovery.notDialReason.inc({reason: NotDialReason.no_multiaddrs});
576
608
  return;
577
609
  }
578
610
 
579
- // Note: PeerDiscovery adds the multiaddrTCP beforehand
611
+ // Note: PeerDiscovery adds the multiaddrs beforehand
580
612
  const peerIdShort = prettyPrintPeerId(peerId);
581
- this.logger.debug("Dialing discovered peer", {peer: peerIdShort});
613
+ this.logger.debug("Dialing discovered peer", {
614
+ peer: peerIdShort,
615
+ addresses: peer.addresses.map((a) => a.multiaddr.toString()).join(", "),
616
+ });
582
617
 
583
618
  this.metrics?.discovery.dialAttempts.inc();
584
619
  const timer = this.metrics?.discovery.dialTime.startTimer();
@@ -71,7 +71,7 @@ import {validateGossipPayloadAttestationMessage} from "../../chain/validation/pa
71
71
  import {OpSource} from "../../chain/validatorMonitor.js";
72
72
  import {Metrics} from "../../metrics/index.js";
73
73
  import {kzgCommitmentToVersionedHash} from "../../util/blobs.js";
74
- import {getBlobKzgCommitments} from "../../util/dataColumns.ts";
74
+ import {getBlobKzgCommitments} from "../../util/dataColumns.js";
75
75
  import {INetworkCore} from "../core/index.js";
76
76
  import {NetworkEventBus} from "../events.js";
77
77
  import {
@@ -856,6 +856,11 @@ function getSequentialHandlers(modules: ValidatorFnsModules, options: GossipHand
856
856
  } catch (e) {
857
857
  logger.error("Error adding to payloadAttestation pool", {}, e as Error);
858
858
  }
859
+ chain.forkChoice.notifyPtcMessages(
860
+ toRootHex(payloadAttestationMessage.data.beaconBlockRoot),
861
+ [validationResult.validatorCommitteeIndex],
862
+ payloadAttestationMessage.data.payloadPresent
863
+ );
859
864
  },
860
865
  [GossipType.execution_payload_bid]: async ({
861
866
  gossipData,
@@ -11,7 +11,7 @@ import {
11
11
  GossipValidatorBatchFn,
12
12
  GossipValidatorFn,
13
13
  } from "../gossip/interface.js";
14
- import {prettyPrintPeerIdStr} from "../util.ts";
14
+ import {prettyPrintPeerIdStr} from "../util.js";
15
15
 
16
16
  export type ValidatorFnModules = {
17
17
  config: ChainForkConfig;
@@ -19,7 +19,7 @@ import {callInNextEventLoop} from "../../util/eventLoop.js";
19
19
  import {NetworkCoreMetrics} from "../core/metrics.js";
20
20
  import {INetworkEventBus, NetworkEvent} from "../events.js";
21
21
  import {MetadataController} from "../metadata.js";
22
- import {ClientKind} from "../peers/client.ts";
22
+ import {ClientKind} from "../peers/client.js";
23
23
  import {PeersData} from "../peers/peersData.js";
24
24
  import {IPeerRpcScoreStore, PeerAction} from "../peers/score/index.js";
25
25
  import {StatusCache} from "../statusCache.js";
@@ -6,7 +6,7 @@ import {computeEpochAtSlot} from "@lodestar/state-transition";
6
6
  import {deneb, phase0} from "@lodestar/types";
7
7
  import {IBeaconChain} from "../../../chain/index.js";
8
8
  import {IBeaconDb} from "../../../db/index.js";
9
- import {prettyPrintPeerId} from "../../util.ts";
9
+ import {prettyPrintPeerId} from "../../util.js";
10
10
 
11
11
  // TODO: Unit test
12
12
 
@@ -47,9 +47,10 @@ export async function* onBeaconBlocksByRange(
47
47
 
48
48
  // Non-finalized range of blocks
49
49
  if (endSlot > finalizedSlot) {
50
- const headRoot = chain.forkChoice.getHeadRoot();
50
+ const headBlock = chain.forkChoice.getHead();
51
+ const headRoot = headBlock.blockRoot;
51
52
  // TODO DENEB: forkChoice should mantain an array of canonical blocks, and change only on reorg
52
- const headChain = chain.forkChoice.getAllAncestorBlocks(headRoot);
53
+ const headChain = chain.forkChoice.getAllAncestorBlocks(headRoot, headBlock.payloadStatus);
53
54
  // getAllAncestorBlocks response includes the head node, so it's the full chain.
54
55
 
55
56
  // Iterate head chain with ascending block numbers
@@ -34,9 +34,10 @@ export async function* onBlobSidecarsByRange(
34
34
 
35
35
  // Non-finalized range of blobs
36
36
  if (endSlot > finalizedSlot) {
37
- const headRoot = chain.forkChoice.getHeadRoot();
37
+ const headBlock = chain.forkChoice.getHead();
38
+ const headRoot = headBlock.blockRoot;
38
39
  // TODO DENEB: forkChoice should mantain an array of canonical blocks, and change only on reorg
39
- const headChain = chain.forkChoice.getAllAncestorBlocks(headRoot);
40
+ const headChain = chain.forkChoice.getAllAncestorBlocks(headRoot, headBlock.payloadStatus);
40
41
 
41
42
  // Iterate head chain with ascending block numbers
42
43
  for (let i = headChain.length - 1; i >= 0; i--) {
@@ -20,7 +20,7 @@ export async function* onBlobSidecarsByRoot(
20
20
  for (const blobIdentifier of requestBody) {
21
21
  const {blockRoot, index} = blobIdentifier;
22
22
  const blockRootHex = toRootHex(blockRoot);
23
- const block = chain.forkChoice.getBlockHex(blockRootHex);
23
+ const block = chain.forkChoice.getBlockHexDefaultStatus(blockRootHex);
24
24
 
25
25
  // NOTE: Only support non-finalized blocks.
26
26
  // SPEC: Clients MUST support requesting blocks and sidecars since the latest finalized epoch.
@@ -7,7 +7,7 @@ import {ColumnIndex, fulu} from "@lodestar/types";
7
7
  import {fromHex} from "@lodestar/utils";
8
8
  import {IBeaconChain} from "../../../chain/index.js";
9
9
  import {IBeaconDb} from "../../../db/index.js";
10
- import {prettyPrintPeerId} from "../../util.ts";
10
+ import {prettyPrintPeerId} from "../../util.js";
11
11
  import {
12
12
  handleColumnSidecarUnavailability,
13
13
  validateRequestedDataColumns,
@@ -78,8 +78,9 @@ export async function* onDataColumnSidecarsByRange(
78
78
 
79
79
  // Non-finalized range of columns
80
80
  if (endSlot > finalizedSlot) {
81
- const headRoot = chain.forkChoice.getHeadRoot();
82
- const headChain = chain.forkChoice.getAllAncestorBlocks(headRoot);
81
+ const headBlock = chain.forkChoice.getHead();
82
+ const headRoot = headBlock.blockRoot;
83
+ const headChain = chain.forkChoice.getAllAncestorBlocks(headRoot, headBlock.payloadStatus);
83
84
 
84
85
  // Iterate head chain with ascending block numbers
85
86
  for (let i = headChain.length - 1; i >= 0; i--) {
@@ -6,7 +6,7 @@ import {toRootHex} from "@lodestar/utils";
6
6
  import {IBeaconChain} from "../../../chain/index.js";
7
7
  import {IBeaconDb} from "../../../db/index.js";
8
8
  import {DataColumnSidecarsByRootRequest} from "../../../util/types.js";
9
- import {prettyPrintPeerId} from "../../util.ts";
9
+ import {prettyPrintPeerId} from "../../util.js";
10
10
  import {
11
11
  handleColumnSidecarUnavailability,
12
12
  validateRequestedDataColumns,
@@ -34,7 +34,7 @@ export async function* onDataColumnSidecarsByRoot(
34
34
  }
35
35
 
36
36
  const blockRootHex = toRootHex(blockRoot);
37
- const block = chain.forkChoice.getBlockHex(blockRootHex);
37
+ const block = chain.forkChoice.getBlockHexDefaultStatus(blockRootHex);
38
38
  // If the block is not in fork choice, it may be finalized. Attempt to find its slot in block archive
39
39
  const slot = block ? block.slot : await db.blockArchive.getSlotByRoot(blockRoot);
40
40
 
@@ -1,6 +1,6 @@
1
1
  import {Type} from "@chainsafe/ssz";
2
2
  import {RequestError, RequestErrorCode, ResponseIncoming} from "@lodestar/reqresp";
3
- import {SerializedCache} from "../../../util/serializedCache.ts";
3
+ import {SerializedCache} from "../../../util/serializedCache.js";
4
4
  import {ResponseTypeGetter} from "../types.js";
5
5
 
6
6
  /**
@@ -1,7 +1,7 @@
1
1
  import {ResponseIncoming} from "@lodestar/reqresp";
2
2
  import {SignedBeaconBlock, phase0} from "@lodestar/types";
3
3
  import {LodestarError} from "@lodestar/utils";
4
- import {SerializedCache} from "../../../util/serializedCache.ts";
4
+ import {SerializedCache} from "../../../util/serializedCache.js";
5
5
  import {ReqRespMethod, responseSszTypeByMethod} from "../types.js";
6
6
  import {sszDeserializeResponse} from "./collect.js";
7
7
 
@@ -6,7 +6,7 @@ import {LodestarError, byteArrayEquals, fromHex, prettyPrintIndices, toHex, toRo
6
6
  import {isBlockInputBlobs, isBlockInputColumns} from "../../chain/blocks/blockInput/blockInput.js";
7
7
  import {BlockInputSource, IBlockInput} from "../../chain/blocks/blockInput/types.js";
8
8
  import {ChainEventEmitter} from "../../chain/emitter.js";
9
- import {IBeaconChain} from "../../chain/interface.ts";
9
+ import {IBeaconChain} from "../../chain/interface.js";
10
10
  import {validateBlockBlobSidecars} from "../../chain/validation/blobSidecar.js";
11
11
  import {validateBlockDataColumnSidecars} from "../../chain/validation/dataColumnSidecar.js";
12
12
  import {INetwork} from "../../network/interface.js";
@@ -1,7 +1,7 @@
1
1
  import {IForkChoice} from "@lodestar/fork-choice";
2
2
  import {computeEpochAtSlot, computeStartSlotAtEpoch} from "@lodestar/state-transition";
3
3
  import {Slot, Status} from "@lodestar/types";
4
- import {IBeaconChain} from "../../chain/interface.ts";
4
+ import {IBeaconChain} from "../../chain/interface.js";
5
5
  import {ChainTarget} from "../range/utils/index.js";
6
6
 
7
7
  /** The type of peer relative to our current state */
@@ -4,7 +4,7 @@
4
4
  * This is a thin wrapper around WeakMap
5
5
  */
6
6
  export class SerializedCache {
7
- map: WeakMap<object, Uint8Array> = new WeakMap();
7
+ private map: WeakMap<object, Uint8Array> = new WeakMap();
8
8
 
9
9
  get(obj: object): Uint8Array | undefined {
10
10
  return this.map.get(obj);
@@ -15,11 +15,13 @@ export class SerializedCache {
15
15
  }
16
16
 
17
17
  /**
18
- * Replace the internal WeakMap to force GC of all cached entries.
19
- * Must only be called after all DB writes that may read from this cache have completed,
18
+ * Delete cached serialized entries for the provided object references.
19
+ * Must only be called after all DB writes that read from this cache for these objects have completed,
20
20
  * otherwise cached serialized bytes will be unavailable and data will be re-serialized unnecessarily.
21
21
  */
22
- clear(): void {
23
- this.map = new WeakMap();
22
+ delete(objs: object[]): void {
23
+ for (const obj of objs) {
24
+ this.map.delete(obj);
25
+ }
24
26
  }
25
27
  }