@lodestar/beacon-node 1.41.0-dev.983b1a457b → 1.41.0-dev.9939b12b53

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 (891) 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 +132 -4
  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 +8 -8
  17. package/lib/api/impl/beacon/state/index.js.map +1 -1
  18. package/lib/api/impl/beacon/state/utils.d.ts +3 -4
  19. package/lib/api/impl/beacon/state/utils.d.ts.map +1 -1
  20. package/lib/api/impl/beacon/state/utils.js +5 -24
  21. package/lib/api/impl/beacon/state/utils.js.map +1 -1
  22. package/lib/api/impl/config/constants.js.map +1 -1
  23. package/lib/api/impl/config/index.js.map +1 -1
  24. package/lib/api/impl/debug/index.d.ts +1 -1
  25. package/lib/api/impl/debug/index.d.ts.map +1 -1
  26. package/lib/api/impl/debug/index.js +6 -2
  27. package/lib/api/impl/debug/index.js.map +1 -1
  28. package/lib/api/impl/errors.d.ts.map +1 -1
  29. package/lib/api/impl/errors.js.map +1 -1
  30. package/lib/api/impl/events/index.d.ts +1 -1
  31. package/lib/api/impl/events/index.d.ts.map +1 -1
  32. package/lib/api/impl/events/index.js.map +1 -1
  33. package/lib/api/impl/lightclient/index.d.ts +1 -1
  34. package/lib/api/impl/lightclient/index.d.ts.map +1 -1
  35. package/lib/api/impl/lightclient/index.js.map +1 -1
  36. package/lib/api/impl/lodestar/index.d.ts +1 -1
  37. package/lib/api/impl/lodestar/index.d.ts.map +1 -1
  38. package/lib/api/impl/lodestar/index.js.map +1 -1
  39. package/lib/api/impl/node/index.js.map +1 -1
  40. package/lib/api/impl/node/utils.d.ts +1 -1
  41. package/lib/api/impl/node/utils.d.ts.map +1 -1
  42. package/lib/api/impl/node/utils.js.map +1 -1
  43. package/lib/api/impl/proof/index.js.map +1 -1
  44. package/lib/api/impl/utils.js.map +1 -1
  45. package/lib/api/impl/validator/index.d.ts.map +1 -1
  46. package/lib/api/impl/validator/index.js +134 -18
  47. package/lib/api/impl/validator/index.js.map +1 -1
  48. package/lib/api/impl/validator/utils.d.ts +1 -1
  49. package/lib/api/impl/validator/utils.d.ts.map +1 -1
  50. package/lib/api/impl/validator/utils.js.map +1 -1
  51. package/lib/api/rest/activeSockets.d.ts.map +1 -1
  52. package/lib/api/rest/activeSockets.js.map +1 -1
  53. package/lib/api/rest/base.d.ts.map +1 -1
  54. package/lib/api/rest/base.js.map +1 -1
  55. package/lib/api/rest/index.d.ts.map +1 -1
  56. package/lib/api/rest/index.js.map +1 -1
  57. package/lib/api/rest/swaggerUI.js.map +1 -1
  58. package/lib/bun-wrappers/prometheus-gc-stats.js.map +1 -1
  59. package/lib/chain/ColumnReconstructionTracker.d.ts.map +1 -1
  60. package/lib/chain/ColumnReconstructionTracker.js.map +1 -1
  61. package/lib/chain/GetBlobsTracker.d.ts.map +1 -1
  62. package/lib/chain/GetBlobsTracker.js.map +1 -1
  63. package/lib/chain/archiveStore/archiveStore.d.ts +1 -0
  64. package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
  65. package/lib/chain/archiveStore/archiveStore.js +11 -1
  66. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  67. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts +5 -6
  68. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +1 -1
  69. package/lib/chain/archiveStore/historicalState/getHistoricalState.js +9 -10
  70. package/lib/chain/archiveStore/historicalState/getHistoricalState.js.map +1 -1
  71. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +1 -1
  72. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
  73. package/lib/chain/archiveStore/historicalState/metrics.js.map +1 -1
  74. package/lib/chain/archiveStore/historicalState/types.js +2 -1
  75. package/lib/chain/archiveStore/historicalState/types.js.map +1 -1
  76. package/lib/chain/archiveStore/historicalState/worker.js +3 -3
  77. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
  78. package/lib/chain/archiveStore/interface.js +2 -1
  79. package/lib/chain/archiveStore/interface.js.map +1 -1
  80. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts +1 -1
  81. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +1 -1
  82. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js +2 -1
  83. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js.map +1 -1
  84. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts +3 -8
  85. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +1 -1
  86. package/lib/chain/archiveStore/utils/archiveBlocks.js +1 -1
  87. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  88. package/lib/chain/archiveStore/utils/archivePayloads.d.ts +7 -0
  89. package/lib/chain/archiveStore/utils/archivePayloads.d.ts.map +1 -0
  90. package/lib/chain/archiveStore/utils/archivePayloads.js +10 -0
  91. package/lib/chain/archiveStore/utils/archivePayloads.js.map +1 -0
  92. package/lib/chain/archiveStore/utils/pruneHistory.js.map +1 -1
  93. package/lib/chain/archiveStore/utils/updateBackfillRange.js +1 -1
  94. package/lib/chain/archiveStore/utils/updateBackfillRange.js.map +1 -1
  95. package/lib/chain/balancesCache.d.ts.map +1 -1
  96. package/lib/chain/balancesCache.js.map +1 -1
  97. package/lib/chain/beaconProposerCache.d.ts.map +1 -1
  98. package/lib/chain/beaconProposerCache.js.map +1 -1
  99. package/lib/chain/blocks/blockInput/blockInput.d.ts +25 -2
  100. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +1 -1
  101. package/lib/chain/blocks/blockInput/blockInput.js +71 -0
  102. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  103. package/lib/chain/blocks/blockInput/errors.js +2 -1
  104. package/lib/chain/blocks/blockInput/errors.js.map +1 -1
  105. package/lib/chain/blocks/blockInput/types.d.ts +18 -1
  106. package/lib/chain/blocks/blockInput/types.d.ts.map +1 -1
  107. package/lib/chain/blocks/blockInput/types.js +5 -2
  108. package/lib/chain/blocks/blockInput/types.js.map +1 -1
  109. package/lib/chain/blocks/blockInput/utils.js.map +1 -1
  110. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  111. package/lib/chain/blocks/importBlock.js +28 -5
  112. package/lib/chain/blocks/importBlock.js.map +1 -1
  113. package/lib/chain/blocks/index.d.ts.map +1 -1
  114. package/lib/chain/blocks/index.js.map +1 -1
  115. package/lib/chain/blocks/types.js +6 -3
  116. package/lib/chain/blocks/types.js.map +1 -1
  117. package/lib/chain/blocks/utils/chainSegment.js.map +1 -1
  118. package/lib/chain/blocks/utils/checkpoint.js.map +1 -1
  119. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  120. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +1 -1
  121. package/lib/chain/blocks/verifyBlocksDataAvailability.js +3 -0
  122. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  123. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts +4 -0
  124. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +1 -1
  125. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +5 -1
  126. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  127. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +1 -1
  128. package/lib/chain/blocks/verifyBlocksSanityChecks.js +4 -1
  129. package/lib/chain/blocks/verifyBlocksSanityChecks.js.map +1 -1
  130. package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
  131. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js.map +1 -1
  132. package/lib/chain/blocks/writeBlockInputToDb.d.ts +12 -3
  133. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +1 -1
  134. package/lib/chain/blocks/writeBlockInputToDb.js +92 -98
  135. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  136. package/lib/chain/bls/maybeBatch.js.map +1 -1
  137. package/lib/chain/bls/multithread/index.d.ts +3 -3
  138. package/lib/chain/bls/multithread/index.d.ts.map +1 -1
  139. package/lib/chain/bls/multithread/index.js +5 -5
  140. package/lib/chain/bls/multithread/index.js.map +1 -1
  141. package/lib/chain/bls/multithread/jobItem.d.ts +2 -2
  142. package/lib/chain/bls/multithread/jobItem.d.ts.map +1 -1
  143. package/lib/chain/bls/multithread/jobItem.js +4 -3
  144. package/lib/chain/bls/multithread/jobItem.js.map +1 -1
  145. package/lib/chain/bls/multithread/types.js +2 -1
  146. package/lib/chain/bls/multithread/types.js.map +1 -1
  147. package/lib/chain/bls/multithread/utils.js.map +1 -1
  148. package/lib/chain/bls/multithread/worker.js.map +1 -1
  149. package/lib/chain/bls/singleThread.d.ts +4 -4
  150. package/lib/chain/bls/singleThread.d.ts.map +1 -1
  151. package/lib/chain/bls/singleThread.js +4 -4
  152. package/lib/chain/bls/singleThread.js.map +1 -1
  153. package/lib/chain/bls/utils.d.ts +2 -2
  154. package/lib/chain/bls/utils.d.ts.map +1 -1
  155. package/lib/chain/bls/utils.js +7 -4
  156. package/lib/chain/bls/utils.js.map +1 -1
  157. package/lib/chain/chain.d.ts +9 -12
  158. package/lib/chain/chain.d.ts.map +1 -1
  159. package/lib/chain/chain.js +49 -30
  160. package/lib/chain/chain.js.map +1 -1
  161. package/lib/chain/emitter.d.ts +6 -8
  162. package/lib/chain/emitter.d.ts.map +1 -1
  163. package/lib/chain/emitter.js +2 -1
  164. package/lib/chain/emitter.js.map +1 -1
  165. package/lib/chain/errors/attestationError.d.ts.map +1 -1
  166. package/lib/chain/errors/attestationError.js +2 -1
  167. package/lib/chain/errors/attestationError.js.map +1 -1
  168. package/lib/chain/errors/attesterSlashingError.js +2 -1
  169. package/lib/chain/errors/attesterSlashingError.js.map +1 -1
  170. package/lib/chain/errors/blobSidecarError.js +2 -1
  171. package/lib/chain/errors/blobSidecarError.js.map +1 -1
  172. package/lib/chain/errors/blockError.d.ts.map +1 -1
  173. package/lib/chain/errors/blockError.js +2 -1
  174. package/lib/chain/errors/blockError.js.map +1 -1
  175. package/lib/chain/errors/blsToExecutionChangeError.js +2 -1
  176. package/lib/chain/errors/blsToExecutionChangeError.js.map +1 -1
  177. package/lib/chain/errors/dataColumnSidecarError.js +2 -1
  178. package/lib/chain/errors/dataColumnSidecarError.js.map +1 -1
  179. package/lib/chain/errors/executionPayloadBid.d.ts +1 -1
  180. package/lib/chain/errors/executionPayloadBid.js +2 -1
  181. package/lib/chain/errors/executionPayloadBid.js.map +1 -1
  182. package/lib/chain/errors/executionPayloadEnvelope.d.ts +2 -2
  183. package/lib/chain/errors/executionPayloadEnvelope.d.ts.map +1 -1
  184. package/lib/chain/errors/executionPayloadEnvelope.js +2 -1
  185. package/lib/chain/errors/executionPayloadEnvelope.js.map +1 -1
  186. package/lib/chain/errors/gossipValidation.d.ts.map +1 -1
  187. package/lib/chain/errors/gossipValidation.js +4 -2
  188. package/lib/chain/errors/gossipValidation.js.map +1 -1
  189. package/lib/chain/errors/lightClientError.js +4 -2
  190. package/lib/chain/errors/lightClientError.js.map +1 -1
  191. package/lib/chain/errors/payloadAttestation.d.ts +1 -1
  192. package/lib/chain/errors/payloadAttestation.js +2 -1
  193. package/lib/chain/errors/payloadAttestation.js.map +1 -1
  194. package/lib/chain/errors/proposerSlashingError.js +2 -1
  195. package/lib/chain/errors/proposerSlashingError.js.map +1 -1
  196. package/lib/chain/errors/syncCommitteeError.js +2 -1
  197. package/lib/chain/errors/syncCommitteeError.js.map +1 -1
  198. package/lib/chain/errors/voluntaryExitError.js +2 -1
  199. package/lib/chain/errors/voluntaryExitError.js.map +1 -1
  200. package/lib/chain/forkChoice/index.d.ts.map +1 -1
  201. package/lib/chain/forkChoice/index.js +32 -25
  202. package/lib/chain/forkChoice/index.js.map +1 -1
  203. package/lib/chain/initState.d.ts +1 -1
  204. package/lib/chain/initState.d.ts.map +1 -1
  205. package/lib/chain/initState.js.map +1 -1
  206. package/lib/chain/interface.d.ts +4 -6
  207. package/lib/chain/interface.d.ts.map +1 -1
  208. package/lib/chain/interface.js +2 -1
  209. package/lib/chain/interface.js.map +1 -1
  210. package/lib/chain/lightClient/index.d.ts +0 -29
  211. package/lib/chain/lightClient/index.d.ts.map +1 -1
  212. package/lib/chain/lightClient/index.js.map +1 -1
  213. package/lib/chain/lightClient/proofs.js.map +1 -1
  214. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
  215. package/lib/chain/opPools/aggregatedAttestationPool.js +5 -3
  216. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  217. package/lib/chain/opPools/attestationPool.d.ts.map +1 -1
  218. package/lib/chain/opPools/attestationPool.js.map +1 -1
  219. package/lib/chain/opPools/executionPayloadBidPool.d.ts.map +1 -1
  220. package/lib/chain/opPools/executionPayloadBidPool.js.map +1 -1
  221. package/lib/chain/opPools/opPool.d.ts.map +1 -1
  222. package/lib/chain/opPools/opPool.js.map +1 -1
  223. package/lib/chain/opPools/payloadAttestationPool.d.ts.map +1 -1
  224. package/lib/chain/opPools/payloadAttestationPool.js.map +1 -1
  225. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +1 -1
  226. package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
  227. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +1 -1
  228. package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
  229. package/lib/chain/opPools/types.js +4 -2
  230. package/lib/chain/opPools/types.js.map +1 -1
  231. package/lib/chain/opPools/utils.js.map +1 -1
  232. package/lib/chain/options.d.ts.map +1 -1
  233. package/lib/chain/options.js.map +1 -1
  234. package/lib/chain/prepareNextSlot.d.ts +1 -2
  235. package/lib/chain/prepareNextSlot.d.ts.map +1 -1
  236. package/lib/chain/prepareNextSlot.js +3 -3
  237. package/lib/chain/prepareNextSlot.js.map +1 -1
  238. package/lib/chain/produceBlock/computeNewStateRoot.d.ts +9 -2
  239. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +1 -1
  240. package/lib/chain/produceBlock/computeNewStateRoot.js +25 -2
  241. package/lib/chain/produceBlock/computeNewStateRoot.js.map +1 -1
  242. package/lib/chain/produceBlock/produceBlockBody.d.ts +23 -8
  243. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  244. package/lib/chain/produceBlock/produceBlockBody.js +124 -14
  245. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  246. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.js.map +1 -1
  247. package/lib/chain/regen/errors.d.ts.map +1 -1
  248. package/lib/chain/regen/errors.js +2 -1
  249. package/lib/chain/regen/errors.js.map +1 -1
  250. package/lib/chain/regen/interface.js +4 -2
  251. package/lib/chain/regen/interface.js.map +1 -1
  252. package/lib/chain/regen/queued.d.ts.map +1 -1
  253. package/lib/chain/regen/queued.js +4 -1
  254. package/lib/chain/regen/queued.js.map +1 -1
  255. package/lib/chain/regen/regen.d.ts.map +1 -1
  256. package/lib/chain/regen/regen.js +6 -2
  257. package/lib/chain/regen/regen.js.map +1 -1
  258. package/lib/chain/reprocess.d.ts.map +1 -1
  259. package/lib/chain/reprocess.js +2 -1
  260. package/lib/chain/reprocess.js.map +1 -1
  261. package/lib/chain/seenCache/seenAggregateAndProof.d.ts.map +1 -1
  262. package/lib/chain/seenCache/seenAggregateAndProof.js.map +1 -1
  263. package/lib/chain/seenCache/seenAttestationData.d.ts.map +1 -1
  264. package/lib/chain/seenCache/seenAttestationData.js +2 -1
  265. package/lib/chain/seenCache/seenAttestationData.js.map +1 -1
  266. package/lib/chain/seenCache/seenAttesters.d.ts.map +1 -1
  267. package/lib/chain/seenCache/seenAttesters.js.map +1 -1
  268. package/lib/chain/seenCache/seenBlockAttesters.d.ts.map +1 -1
  269. package/lib/chain/seenCache/seenBlockAttesters.js.map +1 -1
  270. package/lib/chain/seenCache/seenBlockProposers.d.ts.map +1 -1
  271. package/lib/chain/seenCache/seenBlockProposers.js.map +1 -1
  272. package/lib/chain/seenCache/seenCommittee.d.ts.map +1 -1
  273. package/lib/chain/seenCache/seenCommittee.js.map +1 -1
  274. package/lib/chain/seenCache/seenCommitteeContribution.d.ts.map +1 -1
  275. package/lib/chain/seenCache/seenCommitteeContribution.js.map +1 -1
  276. package/lib/chain/seenCache/seenExecutionPayloadBids.d.ts.map +1 -1
  277. package/lib/chain/seenCache/seenExecutionPayloadBids.js.map +1 -1
  278. package/lib/chain/seenCache/seenExecutionPayloadEnvelope.d.ts.map +1 -1
  279. package/lib/chain/seenCache/seenExecutionPayloadEnvelope.js.map +1 -1
  280. package/lib/chain/seenCache/seenGossipBlockInput.d.ts +7 -3
  281. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +1 -1
  282. package/lib/chain/seenCache/seenGossipBlockInput.js +38 -16
  283. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  284. package/lib/chain/serializeState.js +1 -0
  285. package/lib/chain/serializeState.js.map +1 -1
  286. package/lib/chain/shufflingCache.d.ts.map +1 -1
  287. package/lib/chain/shufflingCache.js +2 -1
  288. package/lib/chain/shufflingCache.js.map +1 -1
  289. package/lib/chain/stateCache/datastore/db.d.ts.map +1 -1
  290. package/lib/chain/stateCache/datastore/db.js.map +1 -1
  291. package/lib/chain/stateCache/datastore/file.d.ts.map +1 -1
  292. package/lib/chain/stateCache/datastore/file.js.map +1 -1
  293. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +1 -1
  294. package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
  295. package/lib/chain/stateCache/mapMetrics.d.ts.map +1 -1
  296. package/lib/chain/stateCache/mapMetrics.js.map +1 -1
  297. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +1 -41
  298. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +1 -1
  299. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  300. package/lib/chain/stateCache/types.js +2 -1
  301. package/lib/chain/stateCache/types.js.map +1 -1
  302. package/lib/chain/validation/aggregateAndProof.js +1 -1
  303. package/lib/chain/validation/aggregateAndProof.js.map +1 -1
  304. package/lib/chain/validation/attestation.d.ts.map +1 -1
  305. package/lib/chain/validation/attestation.js +14 -7
  306. package/lib/chain/validation/attestation.js.map +1 -1
  307. package/lib/chain/validation/attesterSlashing.d.ts.map +1 -1
  308. package/lib/chain/validation/attesterSlashing.js +9 -2
  309. package/lib/chain/validation/attesterSlashing.js.map +1 -1
  310. package/lib/chain/validation/blobSidecar.js +2 -2
  311. package/lib/chain/validation/blobSidecar.js.map +1 -1
  312. package/lib/chain/validation/block.d.ts.map +1 -1
  313. package/lib/chain/validation/block.js +6 -3
  314. package/lib/chain/validation/block.js.map +1 -1
  315. package/lib/chain/validation/blsToExecutionChange.js.map +1 -1
  316. package/lib/chain/validation/dataColumnSidecar.d.ts +4 -3
  317. package/lib/chain/validation/dataColumnSidecar.d.ts.map +1 -1
  318. package/lib/chain/validation/dataColumnSidecar.js +125 -108
  319. package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
  320. package/lib/chain/validation/executionPayloadBid.js +1 -2
  321. package/lib/chain/validation/executionPayloadBid.js.map +1 -1
  322. package/lib/chain/validation/executionPayloadEnvelope.js +4 -4
  323. package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
  324. package/lib/chain/validation/lightClientFinalityUpdate.js.map +1 -1
  325. package/lib/chain/validation/lightClientOptimisticUpdate.js.map +1 -1
  326. package/lib/chain/validation/payloadAttestationMessage.js +9 -3
  327. package/lib/chain/validation/payloadAttestationMessage.js.map +1 -1
  328. package/lib/chain/validation/proposerSlashing.js +1 -1
  329. package/lib/chain/validation/proposerSlashing.js.map +1 -1
  330. package/lib/chain/validation/signatureSets/aggregateAndProof.js.map +1 -1
  331. package/lib/chain/validation/signatureSets/contributionAndProof.js.map +1 -1
  332. package/lib/chain/validation/signatureSets/selectionProof.js.map +1 -1
  333. package/lib/chain/validation/signatureSets/syncCommittee.js.map +1 -1
  334. package/lib/chain/validation/signatureSets/syncCommitteeContribution.js.map +1 -1
  335. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js.map +1 -1
  336. package/lib/chain/validation/syncCommittee.js.map +1 -1
  337. package/lib/chain/validation/syncCommitteeContributionAndProof.js +1 -1
  338. package/lib/chain/validation/syncCommitteeContributionAndProof.js.map +1 -1
  339. package/lib/chain/validation/voluntaryExit.js.map +1 -1
  340. package/lib/chain/validatorMonitor.d.ts.map +1 -1
  341. package/lib/chain/validatorMonitor.js +2 -1
  342. package/lib/chain/validatorMonitor.js.map +1 -1
  343. package/lib/constants/network.js +4 -2
  344. package/lib/constants/network.js.map +1 -1
  345. package/lib/db/beacon.d.ts +3 -1
  346. package/lib/db/beacon.d.ts.map +1 -1
  347. package/lib/db/beacon.js +5 -1
  348. package/lib/db/beacon.js.map +1 -1
  349. package/lib/db/buckets.d.ts +24 -22
  350. package/lib/db/buckets.d.ts.map +1 -1
  351. package/lib/db/buckets.js +4 -1
  352. package/lib/db/buckets.js.map +1 -1
  353. package/lib/db/index.d.ts +1 -0
  354. package/lib/db/index.d.ts.map +1 -1
  355. package/lib/db/index.js +1 -0
  356. package/lib/db/index.js.map +1 -1
  357. package/lib/db/interface.d.ts +3 -1
  358. package/lib/db/interface.d.ts.map +1 -1
  359. package/lib/db/repositories/attesterSlashing.d.ts.map +1 -1
  360. package/lib/db/repositories/attesterSlashing.js.map +1 -1
  361. package/lib/db/repositories/backfilledRanges.d.ts.map +1 -1
  362. package/lib/db/repositories/backfilledRanges.js.map +1 -1
  363. package/lib/db/repositories/blobSidecars.d.ts.map +1 -1
  364. package/lib/db/repositories/blobSidecars.js.map +1 -1
  365. package/lib/db/repositories/blobSidecarsArchive.d.ts.map +1 -1
  366. package/lib/db/repositories/blobSidecarsArchive.js.map +1 -1
  367. package/lib/db/repositories/block.d.ts.map +1 -1
  368. package/lib/db/repositories/block.js.map +1 -1
  369. package/lib/db/repositories/blockArchive.d.ts.map +1 -1
  370. package/lib/db/repositories/blockArchive.js +1 -2
  371. package/lib/db/repositories/blockArchive.js.map +1 -1
  372. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  373. package/lib/db/repositories/blockArchiveIndex.d.ts.map +1 -1
  374. package/lib/db/repositories/blockArchiveIndex.js.map +1 -1
  375. package/lib/db/repositories/blsToExecutionChange.d.ts.map +1 -1
  376. package/lib/db/repositories/blsToExecutionChange.js.map +1 -1
  377. package/lib/db/repositories/checkpointState.d.ts.map +1 -1
  378. package/lib/db/repositories/checkpointState.js.map +1 -1
  379. package/lib/db/repositories/dataColumnSidecar.d.ts +5 -3
  380. package/lib/db/repositories/dataColumnSidecar.d.ts.map +1 -1
  381. package/lib/db/repositories/dataColumnSidecar.js +14 -1
  382. package/lib/db/repositories/dataColumnSidecar.js.map +1 -1
  383. package/lib/db/repositories/dataColumnSidecarArchive.d.ts +5 -3
  384. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +1 -1
  385. package/lib/db/repositories/dataColumnSidecarArchive.js +14 -1
  386. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  387. package/lib/db/repositories/executionPayloadEnvelope.d.ts +19 -0
  388. package/lib/db/repositories/executionPayloadEnvelope.d.ts.map +1 -0
  389. package/lib/db/repositories/executionPayloadEnvelope.js +22 -0
  390. package/lib/db/repositories/executionPayloadEnvelope.js.map +1 -0
  391. package/lib/db/repositories/executionPayloadEnvelopeArchive.d.ts +18 -0
  392. package/lib/db/repositories/executionPayloadEnvelopeArchive.d.ts.map +1 -0
  393. package/lib/db/repositories/executionPayloadEnvelopeArchive.js +28 -0
  394. package/lib/db/repositories/executionPayloadEnvelopeArchive.js.map +1 -0
  395. package/lib/db/repositories/index.d.ts +2 -0
  396. package/lib/db/repositories/index.d.ts.map +1 -1
  397. package/lib/db/repositories/index.js +2 -0
  398. package/lib/db/repositories/index.js.map +1 -1
  399. package/lib/db/repositories/lightclientBestUpdate.d.ts.map +1 -1
  400. package/lib/db/repositories/lightclientBestUpdate.js.map +1 -1
  401. package/lib/db/repositories/lightclientCheckpointHeader.d.ts.map +1 -1
  402. package/lib/db/repositories/lightclientCheckpointHeader.js.map +1 -1
  403. package/lib/db/repositories/lightclientSyncCommittee.d.ts.map +1 -1
  404. package/lib/db/repositories/lightclientSyncCommittee.js.map +1 -1
  405. package/lib/db/repositories/lightclientSyncCommitteeWitness.d.ts.map +1 -1
  406. package/lib/db/repositories/lightclientSyncCommitteeWitness.js.map +1 -1
  407. package/lib/db/repositories/proposerSlashing.d.ts.map +1 -1
  408. package/lib/db/repositories/proposerSlashing.js.map +1 -1
  409. package/lib/db/repositories/stateArchive.d.ts.map +1 -1
  410. package/lib/db/repositories/stateArchive.js.map +1 -1
  411. package/lib/db/repositories/stateArchiveIndex.js.map +1 -1
  412. package/lib/db/repositories/voluntaryExit.d.ts.map +1 -1
  413. package/lib/db/repositories/voluntaryExit.js.map +1 -1
  414. package/lib/execution/builder/cache.d.ts.map +1 -1
  415. package/lib/execution/builder/cache.js.map +1 -1
  416. package/lib/execution/builder/http.d.ts.map +1 -1
  417. package/lib/execution/builder/http.js +2 -1
  418. package/lib/execution/builder/http.js.map +1 -1
  419. package/lib/execution/builder/index.js.map +1 -1
  420. package/lib/execution/builder/utils.js.map +1 -1
  421. package/lib/execution/engine/disabled.d.ts.map +1 -1
  422. package/lib/execution/engine/disabled.js.map +1 -1
  423. package/lib/execution/engine/http.d.ts +1 -0
  424. package/lib/execution/engine/http.d.ts.map +1 -1
  425. package/lib/execution/engine/http.js +3 -0
  426. package/lib/execution/engine/http.js.map +1 -1
  427. package/lib/execution/engine/index.js.map +1 -1
  428. package/lib/execution/engine/interface.js +4 -2
  429. package/lib/execution/engine/interface.js.map +1 -1
  430. package/lib/execution/engine/jsonRpcHttpClient.d.ts +10 -15
  431. package/lib/execution/engine/jsonRpcHttpClient.d.ts.map +1 -1
  432. package/lib/execution/engine/jsonRpcHttpClient.js +2 -1
  433. package/lib/execution/engine/jsonRpcHttpClient.js.map +1 -1
  434. package/lib/execution/engine/jwt.js.map +1 -1
  435. package/lib/execution/engine/mock.d.ts.map +1 -1
  436. package/lib/execution/engine/mock.js.map +1 -1
  437. package/lib/execution/engine/payloadIdCache.d.ts.map +1 -1
  438. package/lib/execution/engine/payloadIdCache.js.map +1 -1
  439. package/lib/execution/engine/types.js.map +1 -1
  440. package/lib/execution/engine/utils.d.ts +1 -1
  441. package/lib/execution/engine/utils.d.ts.map +1 -1
  442. package/lib/execution/engine/utils.js.map +1 -1
  443. package/lib/metrics/metrics/beacon.d.ts +3 -1
  444. package/lib/metrics/metrics/beacon.d.ts.map +1 -1
  445. package/lib/metrics/metrics/beacon.js +14 -3
  446. package/lib/metrics/metrics/beacon.js.map +1 -1
  447. package/lib/metrics/metrics/lodestar.d.ts +21 -11
  448. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  449. package/lib/metrics/metrics/lodestar.js +48 -24
  450. package/lib/metrics/metrics/lodestar.js.map +1 -1
  451. package/lib/metrics/metrics.js.map +1 -1
  452. package/lib/metrics/nodeJsMetrics.js.map +1 -1
  453. package/lib/metrics/server/http.d.ts +1 -1
  454. package/lib/metrics/server/http.d.ts.map +1 -1
  455. package/lib/metrics/server/http.js.map +1 -1
  456. package/lib/metrics/utils/avgMinMax.d.ts.map +1 -1
  457. package/lib/metrics/utils/avgMinMax.js.map +1 -1
  458. package/lib/metrics/utils/gauge.d.ts.map +1 -1
  459. package/lib/metrics/utils/gauge.js.map +1 -1
  460. package/lib/metrics/utils/registryMetricCreator.d.ts.map +1 -1
  461. package/lib/metrics/utils/registryMetricCreator.js.map +1 -1
  462. package/lib/monitoring/clientStats.js.map +1 -1
  463. package/lib/monitoring/properties.d.ts.map +1 -1
  464. package/lib/monitoring/properties.js.map +1 -1
  465. package/lib/monitoring/service.d.ts +2 -2
  466. package/lib/monitoring/service.d.ts.map +1 -1
  467. package/lib/monitoring/service.js +3 -2
  468. package/lib/monitoring/service.js.map +1 -1
  469. package/lib/monitoring/system.d.ts.map +1 -1
  470. package/lib/monitoring/system.js.map +1 -1
  471. package/lib/monitoring/types.js +4 -2
  472. package/lib/monitoring/types.js.map +1 -1
  473. package/lib/network/core/events.d.ts +1 -3
  474. package/lib/network/core/events.d.ts.map +1 -1
  475. package/lib/network/core/events.js +4 -2
  476. package/lib/network/core/events.js.map +1 -1
  477. package/lib/network/core/metrics.d.ts +6 -7
  478. package/lib/network/core/metrics.d.ts.map +1 -1
  479. package/lib/network/core/metrics.js.map +1 -1
  480. package/lib/network/core/networkCore.d.ts +4 -4
  481. package/lib/network/core/networkCore.d.ts.map +1 -1
  482. package/lib/network/core/networkCore.js.map +1 -1
  483. package/lib/network/core/networkCoreWorker.js.map +1 -1
  484. package/lib/network/core/networkCoreWorkerHandler.d.ts +3 -3
  485. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +1 -1
  486. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  487. package/lib/network/core/types.d.ts +2 -2
  488. package/lib/network/core/types.d.ts.map +1 -1
  489. package/lib/network/discv5/index.d.ts +1 -3
  490. package/lib/network/discv5/index.d.ts.map +1 -1
  491. package/lib/network/discv5/index.js.map +1 -1
  492. package/lib/network/discv5/utils.d.ts +1 -1
  493. package/lib/network/discv5/utils.d.ts.map +1 -1
  494. package/lib/network/discv5/utils.js +7 -5
  495. package/lib/network/discv5/utils.js.map +1 -1
  496. package/lib/network/discv5/worker.js.map +1 -1
  497. package/lib/network/events.d.ts +3 -4
  498. package/lib/network/events.d.ts.map +1 -1
  499. package/lib/network/events.js +4 -2
  500. package/lib/network/events.js.map +1 -1
  501. package/lib/network/forks.js.map +1 -1
  502. package/lib/network/gossip/encoding.d.ts +3 -3
  503. package/lib/network/gossip/encoding.d.ts.map +1 -1
  504. package/lib/network/gossip/encoding.js.map +1 -1
  505. package/lib/network/gossip/errors.d.ts.map +1 -1
  506. package/lib/network/gossip/errors.js.map +1 -1
  507. package/lib/network/gossip/gossipsub.d.ts +13 -4
  508. package/lib/network/gossip/gossipsub.d.ts.map +1 -1
  509. package/lib/network/gossip/gossipsub.js +56 -26
  510. package/lib/network/gossip/gossipsub.js.map +1 -1
  511. package/lib/network/gossip/interface.d.ts +6 -6
  512. package/lib/network/gossip/interface.d.ts.map +1 -1
  513. package/lib/network/gossip/interface.js +4 -2
  514. package/lib/network/gossip/interface.js.map +1 -1
  515. package/lib/network/gossip/metrics.d.ts +12 -14
  516. package/lib/network/gossip/metrics.d.ts.map +1 -1
  517. package/lib/network/gossip/metrics.js.map +1 -1
  518. package/lib/network/gossip/scoringParameters.d.ts +2 -2
  519. package/lib/network/gossip/scoringParameters.d.ts.map +1 -1
  520. package/lib/network/gossip/scoringParameters.js +1 -1
  521. package/lib/network/gossip/scoringParameters.js.map +1 -1
  522. package/lib/network/gossip/topic.d.ts +3166 -3169
  523. package/lib/network/gossip/topic.d.ts.map +1 -1
  524. package/lib/network/gossip/topic.js +2 -2
  525. package/lib/network/gossip/topic.js.map +1 -1
  526. package/lib/network/interface.d.ts +6 -5
  527. package/lib/network/interface.d.ts.map +1 -1
  528. package/lib/network/libp2p/error.js +2 -1
  529. package/lib/network/libp2p/error.js.map +1 -1
  530. package/lib/network/libp2p/index.d.ts +2 -2
  531. package/lib/network/libp2p/index.d.ts.map +1 -1
  532. package/lib/network/libp2p/index.js +42 -19
  533. package/lib/network/libp2p/index.js.map +1 -1
  534. package/lib/network/metadata.d.ts +1 -0
  535. package/lib/network/metadata.d.ts.map +1 -1
  536. package/lib/network/metadata.js +5 -2
  537. package/lib/network/metadata.js.map +1 -1
  538. package/lib/network/network.d.ts +6 -5
  539. package/lib/network/network.d.ts.map +1 -1
  540. package/lib/network/network.js +11 -2
  541. package/lib/network/network.js.map +1 -1
  542. package/lib/network/options.d.ts +2 -0
  543. package/lib/network/options.d.ts.map +1 -1
  544. package/lib/network/options.js +6 -0
  545. package/lib/network/options.js.map +1 -1
  546. package/lib/network/peers/client.js +2 -1
  547. package/lib/network/peers/client.js.map +1 -1
  548. package/lib/network/peers/datastore.d.ts +7 -8
  549. package/lib/network/peers/datastore.d.ts.map +1 -1
  550. package/lib/network/peers/datastore.js +10 -10
  551. package/lib/network/peers/datastore.js.map +1 -1
  552. package/lib/network/peers/discover.d.ts +2 -7
  553. package/lib/network/peers/discover.d.ts.map +1 -1
  554. package/lib/network/peers/discover.js +45 -12
  555. package/lib/network/peers/discover.js.map +1 -1
  556. package/lib/network/peers/peerManager.d.ts +3 -1
  557. package/lib/network/peers/peerManager.d.ts.map +1 -1
  558. package/lib/network/peers/peerManager.js +103 -53
  559. package/lib/network/peers/peerManager.js.map +1 -1
  560. package/lib/network/peers/peersData.d.ts.map +1 -1
  561. package/lib/network/peers/peersData.js +2 -1
  562. package/lib/network/peers/peersData.js.map +1 -1
  563. package/lib/network/peers/score/interface.js +4 -2
  564. package/lib/network/peers/score/interface.js.map +1 -1
  565. package/lib/network/peers/score/score.d.ts.map +1 -1
  566. package/lib/network/peers/score/score.js.map +1 -1
  567. package/lib/network/peers/score/store.d.ts.map +1 -1
  568. package/lib/network/peers/score/store.js.map +1 -1
  569. package/lib/network/peers/score/utils.js.map +1 -1
  570. package/lib/network/peers/utils/assertPeerRelevance.js +2 -1
  571. package/lib/network/peers/utils/assertPeerRelevance.js.map +1 -1
  572. package/lib/network/peers/utils/enrSubnetsDeserialize.js.map +1 -1
  573. package/lib/network/peers/utils/getConnectedPeerIds.js.map +1 -1
  574. package/lib/network/peers/utils/prioritizePeers.d.ts +3 -3
  575. package/lib/network/peers/utils/prioritizePeers.d.ts.map +1 -1
  576. package/lib/network/peers/utils/prioritizePeers.js +2 -1
  577. package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
  578. package/lib/network/peers/utils/subnetMap.d.ts.map +1 -1
  579. package/lib/network/peers/utils/subnetMap.js.map +1 -1
  580. package/lib/network/processor/aggregatorTracker.d.ts.map +1 -1
  581. package/lib/network/processor/aggregatorTracker.js.map +1 -1
  582. package/lib/network/processor/extractSlotRootFns.js.map +1 -1
  583. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  584. package/lib/network/processor/gossipHandlers.js +9 -2
  585. package/lib/network/processor/gossipHandlers.js.map +1 -1
  586. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  587. package/lib/network/processor/gossipQueues/indexed.d.ts.map +1 -1
  588. package/lib/network/processor/gossipQueues/indexed.js.map +1 -1
  589. package/lib/network/processor/gossipQueues/linear.d.ts.map +1 -1
  590. package/lib/network/processor/gossipQueues/linear.js.map +1 -1
  591. package/lib/network/processor/gossipQueues/types.js +4 -2
  592. package/lib/network/processor/gossipQueues/types.js.map +1 -1
  593. package/lib/network/processor/gossipValidatorFn.js +1 -1
  594. package/lib/network/processor/gossipValidatorFn.js.map +1 -1
  595. package/lib/network/processor/index.d.ts.map +1 -1
  596. package/lib/network/processor/index.js +4 -2
  597. package/lib/network/processor/index.js.map +1 -1
  598. package/lib/network/processor/types.d.ts +1 -1
  599. package/lib/network/processor/types.d.ts.map +1 -1
  600. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +1 -1
  601. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  602. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +1 -1
  603. package/lib/network/reqresp/handlers/beaconBlocksByRange.js +3 -2
  604. package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
  605. package/lib/network/reqresp/handlers/beaconBlocksByRoot.js.map +1 -1
  606. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +1 -1
  607. package/lib/network/reqresp/handlers/blobSidecarsByRange.js +3 -2
  608. package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +1 -1
  609. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js +1 -1
  610. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +1 -1
  611. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +1 -1
  612. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +3 -2
  613. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -1
  614. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js +1 -1
  615. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -1
  616. package/lib/network/reqresp/handlers/index.js.map +1 -1
  617. package/lib/network/reqresp/handlers/lightClientBootstrap.js.map +1 -1
  618. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.js.map +1 -1
  619. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.js.map +1 -1
  620. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.js.map +1 -1
  621. package/lib/network/reqresp/interface.js +2 -1
  622. package/lib/network/reqresp/interface.js.map +1 -1
  623. package/lib/network/reqresp/protocols.d.ts.map +1 -1
  624. package/lib/network/reqresp/protocols.js.map +1 -1
  625. package/lib/network/reqresp/rateLimit.js.map +1 -1
  626. package/lib/network/reqresp/score.d.ts.map +1 -1
  627. package/lib/network/reqresp/score.js +0 -1
  628. package/lib/network/reqresp/score.js.map +1 -1
  629. package/lib/network/reqresp/types.js +4 -2
  630. package/lib/network/reqresp/types.js.map +1 -1
  631. package/lib/network/reqresp/utils/collect.d.ts +1 -1
  632. package/lib/network/reqresp/utils/collect.js.map +1 -1
  633. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts +1 -1
  634. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.js +2 -1
  635. package/lib/network/reqresp/utils/collectSequentialBlocksInRange.js.map +1 -1
  636. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts +1 -1
  637. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +1 -1
  638. package/lib/network/reqresp/utils/dataColumnResponseValidation.js.map +1 -1
  639. package/lib/network/statusCache.d.ts.map +1 -1
  640. package/lib/network/statusCache.js.map +1 -1
  641. package/lib/network/subnets/attnetsService.d.ts.map +1 -1
  642. package/lib/network/subnets/attnetsService.js +2 -1
  643. package/lib/network/subnets/attnetsService.js.map +1 -1
  644. package/lib/network/subnets/interface.js.map +1 -1
  645. package/lib/network/subnets/syncnetsService.d.ts.map +1 -1
  646. package/lib/network/subnets/syncnetsService.js.map +1 -1
  647. package/lib/network/subnets/util.js.map +1 -1
  648. package/lib/network/util.js +2 -2
  649. package/lib/network/util.js.map +1 -1
  650. package/lib/node/nodejs.d.ts +4 -6
  651. package/lib/node/nodejs.d.ts.map +1 -1
  652. package/lib/node/nodejs.js +8 -5
  653. package/lib/node/nodejs.js.map +1 -1
  654. package/lib/node/notifier.js.map +1 -1
  655. package/lib/node/utils/interop/deposits.js.map +1 -1
  656. package/lib/node/utils/interop/state.d.ts +1 -1
  657. package/lib/node/utils/interop/state.d.ts.map +1 -1
  658. package/lib/node/utils/interop/state.js.map +1 -1
  659. package/lib/node/utils/lightclient.js.map +1 -1
  660. package/lib/node/utils/state.js.map +1 -1
  661. package/lib/sync/backfill/backfill.d.ts +1 -10
  662. package/lib/sync/backfill/backfill.d.ts.map +1 -1
  663. package/lib/sync/backfill/backfill.js +6 -3
  664. package/lib/sync/backfill/backfill.js.map +1 -1
  665. package/lib/sync/backfill/errors.js +2 -1
  666. package/lib/sync/backfill/errors.js.map +1 -1
  667. package/lib/sync/backfill/verify.js.map +1 -1
  668. package/lib/sync/interface.js +2 -1
  669. package/lib/sync/interface.js.map +1 -1
  670. package/lib/sync/range/batch.d.ts.map +1 -1
  671. package/lib/sync/range/batch.js +4 -2
  672. package/lib/sync/range/batch.js.map +1 -1
  673. package/lib/sync/range/chain.d.ts +0 -10
  674. package/lib/sync/range/chain.d.ts.map +1 -1
  675. package/lib/sync/range/chain.js +2 -1
  676. package/lib/sync/range/chain.js.map +1 -1
  677. package/lib/sync/range/range.d.ts +1 -3
  678. package/lib/sync/range/range.d.ts.map +1 -1
  679. package/lib/sync/range/range.js +5 -2
  680. package/lib/sync/range/range.js.map +1 -1
  681. package/lib/sync/range/utils/batches.js.map +1 -1
  682. package/lib/sync/range/utils/chainTarget.js.map +1 -1
  683. package/lib/sync/range/utils/hashBlocks.js.map +1 -1
  684. package/lib/sync/range/utils/peerBalancer.d.ts.map +1 -1
  685. package/lib/sync/range/utils/peerBalancer.js.map +1 -1
  686. package/lib/sync/range/utils/updateChains.js.map +1 -1
  687. package/lib/sync/sync.d.ts.map +1 -1
  688. package/lib/sync/sync.js.map +1 -1
  689. package/lib/sync/types.js +4 -2
  690. package/lib/sync/types.js.map +1 -1
  691. package/lib/sync/unknownBlock.d.ts +0 -14
  692. package/lib/sync/unknownBlock.d.ts.map +1 -1
  693. package/lib/sync/unknownBlock.js.map +1 -1
  694. package/lib/sync/utils/downloadByRange.d.ts +8 -5
  695. package/lib/sync/utils/downloadByRange.d.ts.map +1 -1
  696. package/lib/sync/utils/downloadByRange.js +8 -6
  697. package/lib/sync/utils/downloadByRange.js.map +1 -1
  698. package/lib/sync/utils/downloadByRoot.d.ts +8 -8
  699. package/lib/sync/utils/downloadByRoot.d.ts.map +1 -1
  700. package/lib/sync/utils/downloadByRoot.js +3 -2
  701. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  702. package/lib/sync/utils/pendingBlocksTree.js.map +1 -1
  703. package/lib/sync/utils/remoteSyncType.d.ts +1 -1
  704. package/lib/sync/utils/remoteSyncType.d.ts.map +1 -1
  705. package/lib/sync/utils/remoteSyncType.js +4 -2
  706. package/lib/sync/utils/remoteSyncType.js.map +1 -1
  707. package/lib/util/address.js.map +1 -1
  708. package/lib/util/array.d.ts.map +1 -1
  709. package/lib/util/array.js.map +1 -1
  710. package/lib/util/asyncIterableToEvents.d.ts.map +1 -1
  711. package/lib/util/asyncIterableToEvents.js +2 -1
  712. package/lib/util/asyncIterableToEvents.js.map +1 -1
  713. package/lib/util/binarySearch.d.ts.map +1 -1
  714. package/lib/util/binarySearch.js.map +1 -1
  715. package/lib/util/bitArray.js +2 -1
  716. package/lib/util/bitArray.js.map +1 -1
  717. package/lib/util/blobs.d.ts +2 -2
  718. package/lib/util/blobs.d.ts.map +1 -1
  719. package/lib/util/blobs.js.map +1 -1
  720. package/lib/util/bufferPool.d.ts.map +1 -1
  721. package/lib/util/bufferPool.js +2 -1
  722. package/lib/util/bufferPool.js.map +1 -1
  723. package/lib/util/chunkify.js.map +1 -1
  724. package/lib/util/clock.d.ts +6 -0
  725. package/lib/util/clock.d.ts.map +1 -1
  726. package/lib/util/clock.js +11 -4
  727. package/lib/util/clock.js.map +1 -1
  728. package/lib/util/dataColumns.d.ts +11 -3
  729. package/lib/util/dataColumns.d.ts.map +1 -1
  730. package/lib/util/dataColumns.js +36 -3
  731. package/lib/util/dataColumns.js.map +1 -1
  732. package/lib/util/dependentRoot.js.map +1 -1
  733. package/lib/util/enum.js.map +1 -1
  734. package/lib/util/error.js.map +1 -1
  735. package/lib/util/eventLoop.js.map +1 -1
  736. package/lib/util/execution.d.ts.map +1 -1
  737. package/lib/util/execution.js +19 -9
  738. package/lib/util/execution.js.map +1 -1
  739. package/lib/util/file.js.map +1 -1
  740. package/lib/util/forkChoice.js.map +1 -1
  741. package/lib/util/forkName.js.map +1 -1
  742. package/lib/util/graffiti.js.map +1 -1
  743. package/lib/util/hex.js.map +1 -1
  744. package/lib/util/ip.js.map +1 -1
  745. package/lib/util/itTrigger.d.ts.map +1 -1
  746. package/lib/util/itTrigger.js.map +1 -1
  747. package/lib/util/map.d.ts.map +1 -1
  748. package/lib/util/map.js.map +1 -1
  749. package/lib/util/metadata.js.map +1 -1
  750. package/lib/util/multifork.d.ts +8 -0
  751. package/lib/util/multifork.d.ts.map +1 -1
  752. package/lib/util/multifork.js +37 -0
  753. package/lib/util/multifork.js.map +1 -1
  754. package/lib/util/numpy.js.map +1 -1
  755. package/lib/util/peerId.js.map +1 -1
  756. package/lib/util/profile.js +2 -1
  757. package/lib/util/profile.js.map +1 -1
  758. package/lib/util/promises.js.map +1 -1
  759. package/lib/util/queue/errors.js +2 -1
  760. package/lib/util/queue/errors.js.map +1 -1
  761. package/lib/util/queue/fnQueue.d.ts.map +1 -1
  762. package/lib/util/queue/fnQueue.js.map +1 -1
  763. package/lib/util/queue/itemQueue.d.ts.map +1 -1
  764. package/lib/util/queue/itemQueue.js.map +1 -1
  765. package/lib/util/queue/options.js +2 -1
  766. package/lib/util/queue/options.js.map +1 -1
  767. package/lib/util/serializedCache.d.ts +4 -4
  768. package/lib/util/serializedCache.d.ts.map +1 -1
  769. package/lib/util/serializedCache.js +6 -4
  770. package/lib/util/serializedCache.js.map +1 -1
  771. package/lib/util/set.d.ts.map +1 -1
  772. package/lib/util/set.js.map +1 -1
  773. package/lib/util/shuffle.js.map +1 -1
  774. package/lib/util/sortBy.js.map +1 -1
  775. package/lib/util/sszBytes.js.map +1 -1
  776. package/lib/util/time.js.map +1 -1
  777. package/lib/util/timeSeries.d.ts.map +1 -1
  778. package/lib/util/timeSeries.js.map +1 -1
  779. package/lib/util/types.d.ts.map +1 -1
  780. package/lib/util/workerEvents.d.ts +1 -1
  781. package/lib/util/workerEvents.d.ts.map +1 -1
  782. package/lib/util/workerEvents.js.map +1 -1
  783. package/lib/util/wrapError.js.map +1 -1
  784. package/package.json +42 -44
  785. package/src/api/impl/beacon/blocks/index.ts +158 -3
  786. package/src/api/impl/beacon/state/index.ts +8 -8
  787. package/src/api/impl/beacon/state/utils.ts +15 -29
  788. package/src/api/impl/debug/index.ts +9 -5
  789. package/src/api/impl/node/utils.ts +3 -3
  790. package/src/api/impl/validator/index.ts +153 -17
  791. package/src/chain/archiveStore/archiveStore.ts +15 -5
  792. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +10 -11
  793. package/src/chain/archiveStore/historicalState/worker.ts +3 -3
  794. package/src/chain/archiveStore/utils/archiveBlocks.ts +4 -5
  795. package/src/chain/archiveStore/utils/archivePayloads.ts +15 -0
  796. package/src/chain/archiveStore/utils/updateBackfillRange.ts +1 -1
  797. package/src/chain/blocks/blockInput/blockInput.ts +103 -3
  798. package/src/chain/blocks/blockInput/types.ts +18 -0
  799. package/src/chain/blocks/importBlock.ts +36 -5
  800. package/src/chain/blocks/verifyBlocksDataAvailability.ts +3 -0
  801. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +9 -2
  802. package/src/chain/blocks/verifyBlocksSanityChecks.ts +7 -2
  803. package/src/chain/blocks/writeBlockInputToDb.ts +105 -104
  804. package/src/chain/bls/multithread/index.ts +7 -7
  805. package/src/chain/bls/multithread/jobItem.ts +3 -3
  806. package/src/chain/bls/singleThread.ts +5 -5
  807. package/src/chain/bls/utils.ts +8 -5
  808. package/src/chain/chain.ts +86 -47
  809. package/src/chain/emitter.ts +5 -5
  810. package/src/chain/errors/executionPayloadBid.ts +1 -1
  811. package/src/chain/errors/executionPayloadEnvelope.ts +6 -2
  812. package/src/chain/errors/payloadAttestation.ts +1 -1
  813. package/src/chain/forkChoice/index.ts +39 -21
  814. package/src/chain/interface.ts +4 -11
  815. package/src/chain/opPools/aggregatedAttestationPool.ts +1 -1
  816. package/src/chain/options.ts +1 -0
  817. package/src/chain/prepareNextSlot.ts +5 -5
  818. package/src/chain/produceBlock/computeNewStateRoot.ts +36 -3
  819. package/src/chain/produceBlock/produceBlockBody.ts +170 -14
  820. package/src/chain/regen/queued.ts +7 -2
  821. package/src/chain/regen/regen.ts +9 -3
  822. package/src/chain/seenCache/seenGossipBlockInput.ts +56 -18
  823. package/src/chain/validation/aggregateAndProof.ts +1 -1
  824. package/src/chain/validation/attestation.ts +14 -7
  825. package/src/chain/validation/attesterSlashing.ts +10 -1
  826. package/src/chain/validation/blobSidecar.ts +2 -2
  827. package/src/chain/validation/block.ts +9 -4
  828. package/src/chain/validation/dataColumnSidecar.ts +149 -132
  829. package/src/chain/validation/executionPayloadBid.ts +1 -2
  830. package/src/chain/validation/executionPayloadEnvelope.ts +4 -4
  831. package/src/chain/validation/payloadAttestationMessage.ts +10 -3
  832. package/src/chain/validation/proposerSlashing.ts +1 -1
  833. package/src/chain/validation/syncCommitteeContributionAndProof.ts +1 -1
  834. package/src/db/beacon.ts +8 -0
  835. package/src/db/buckets.ts +3 -0
  836. package/src/db/index.ts +1 -0
  837. package/src/db/interface.ts +5 -0
  838. package/src/db/repositories/blockArchive.ts +1 -2
  839. package/src/db/repositories/dataColumnSidecar.ts +18 -3
  840. package/src/db/repositories/dataColumnSidecarArchive.ts +18 -3
  841. package/src/db/repositories/executionPayloadEnvelope.ts +26 -0
  842. package/src/db/repositories/executionPayloadEnvelopeArchive.ts +32 -0
  843. package/src/db/repositories/index.ts +2 -0
  844. package/src/execution/engine/http.ts +3 -0
  845. package/src/metrics/metrics/beacon.ts +14 -3
  846. package/src/metrics/metrics/lodestar.ts +48 -24
  847. package/src/monitoring/service.ts +3 -2
  848. package/src/network/core/networkCore.ts +3 -3
  849. package/src/network/core/networkCoreWorkerHandler.ts +3 -3
  850. package/src/network/core/types.ts +2 -2
  851. package/src/network/discv5/utils.ts +5 -4
  852. package/src/network/events.ts +2 -1
  853. package/src/network/gossip/encoding.ts +3 -3
  854. package/src/network/gossip/gossipsub.ts +98 -32
  855. package/src/network/gossip/interface.ts +6 -6
  856. package/src/network/gossip/scoringParameters.ts +4 -4
  857. package/src/network/gossip/topic.ts +2 -1
  858. package/src/network/interface.ts +7 -4
  859. package/src/network/libp2p/index.ts +48 -21
  860. package/src/network/metadata.ts +1 -0
  861. package/src/network/network.ts +26 -7
  862. package/src/network/options.ts +8 -1
  863. package/src/network/peers/datastore.ts +13 -10
  864. package/src/network/peers/discover.ts +46 -11
  865. package/src/network/peers/peerManager.ts +118 -54
  866. package/src/network/peers/utils/prioritizePeers.ts +3 -3
  867. package/src/network/processor/gossipHandlers.ts +19 -4
  868. package/src/network/processor/gossipValidatorFn.ts +2 -2
  869. package/src/network/processor/types.ts +1 -1
  870. package/src/network/reqresp/ReqRespBeaconNode.ts +1 -1
  871. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +4 -3
  872. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +3 -2
  873. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +1 -1
  874. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +4 -3
  875. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +2 -2
  876. package/src/network/reqresp/score.ts +0 -1
  877. package/src/network/reqresp/utils/collect.ts +1 -1
  878. package/src/network/reqresp/utils/collectSequentialBlocksInRange.ts +1 -1
  879. package/src/network/util.ts +2 -2
  880. package/src/node/nodejs.ts +8 -9
  881. package/src/sync/range/range.ts +1 -0
  882. package/src/sync/utils/downloadByRange.ts +12 -3
  883. package/src/sync/utils/downloadByRoot.ts +2 -2
  884. package/src/sync/utils/remoteSyncType.ts +1 -1
  885. package/src/util/blobs.ts +3 -3
  886. package/src/util/clock.ts +9 -4
  887. package/src/util/dataColumns.ts +43 -3
  888. package/src/util/execution.ts +23 -12
  889. package/src/util/multifork.ts +45 -0
  890. package/src/util/serializedCache.ts +7 -5
  891. package/src/util/workerEvents.ts +1 -1
@@ -1,4 +1,3 @@
1
- import all from "it-all";
2
1
  import {ChainForkConfig} from "@lodestar/config";
3
2
  import {Db, FilterOptions, KeyValue, Repository} from "@lodestar/db";
4
3
  import {Root, SignedBeaconBlock, Slot, ssz} from "@lodestar/types";
@@ -121,7 +120,7 @@ export class BlockArchiveRepository extends Repository<Slot, SignedBeaconBlock>
121
120
  }
122
121
 
123
122
  async values(opts?: BlockFilterOptions): Promise<SignedBeaconBlock[]> {
124
- return all(this.valuesStream(opts));
123
+ return await Array.fromAsync(this.valuesStream(opts));
125
124
  }
126
125
 
127
126
  // INDEX
@@ -1,7 +1,8 @@
1
1
  import {ChainForkConfig} from "@lodestar/config";
2
2
  import {Db, PrefixedRepository, decodeNumberForDbKey, encodeNumberForDbKey} from "@lodestar/db";
3
3
  import {NUMBER_OF_COLUMNS} from "@lodestar/params";
4
- import {ColumnIndex, Root, fulu, ssz} from "@lodestar/types";
4
+ import {ColumnIndex, DataColumnSidecar, Root, isGloasDataColumnSidecar, ssz} from "@lodestar/types";
5
+ import {isGloasDataColumnSidecarBytes} from "../../util/multifork.js";
5
6
  import {Bucket, getBucketNameByValue} from "../buckets.js";
6
7
 
7
8
  const COLUMN_INDEX_BYTE_SIZE = 2;
@@ -15,7 +16,7 @@ type BlockRoot = Root;
15
16
  *
16
17
  * Indexed data by `blockRoot` + `columnIndex`
17
18
  */
18
- export class DataColumnSidecarRepository extends PrefixedRepository<BlockRoot, ColumnIndex, fulu.DataColumnSidecar> {
19
+ export class DataColumnSidecarRepository extends PrefixedRepository<BlockRoot, ColumnIndex, DataColumnSidecar> {
19
20
  constructor(config: ChainForkConfig, db: Db) {
20
21
  const bucket = Bucket.fulu_dataColumnSidecars;
21
22
  super(config, db, bucket, ssz.fulu.DataColumnSidecar, getBucketNameByValue(bucket));
@@ -24,10 +25,24 @@ export class DataColumnSidecarRepository extends PrefixedRepository<BlockRoot, C
24
25
  /**
25
26
  * Id is hashTreeRoot of unsigned BeaconBlock
26
27
  */
27
- getId(value: fulu.DataColumnSidecar): ColumnIndex {
28
+ getId(value: DataColumnSidecar): ColumnIndex {
28
29
  return value.index;
29
30
  }
30
31
 
32
+ encodeValue(value: DataColumnSidecar): Uint8Array {
33
+ if (isGloasDataColumnSidecar(value)) {
34
+ return ssz.gloas.DataColumnSidecar.serialize(value);
35
+ }
36
+ return ssz.fulu.DataColumnSidecar.serialize(value);
37
+ }
38
+
39
+ decodeValue(data: Uint8Array): DataColumnSidecar {
40
+ if (isGloasDataColumnSidecarBytes(data)) {
41
+ return ssz.gloas.DataColumnSidecar.deserialize(data);
42
+ }
43
+ return ssz.fulu.DataColumnSidecar.deserialize(data);
44
+ }
45
+
31
46
  encodeKeyRaw(prefix: BlockRoot, id: ColumnIndex): Uint8Array {
32
47
  return Buffer.concat([prefix, encodeNumberForDbKey(id, COLUMN_INDEX_BYTE_SIZE)]);
33
48
  }
@@ -1,7 +1,8 @@
1
1
  import {ChainForkConfig} from "@lodestar/config";
2
2
  import {Db, PrefixedRepository, decodeNumberForDbKey, encodeNumberForDbKey} from "@lodestar/db";
3
3
  import {NUMBER_OF_COLUMNS} from "@lodestar/params";
4
- import {ColumnIndex, Slot, fulu, ssz} from "@lodestar/types";
4
+ import {ColumnIndex, DataColumnSidecar, Slot, isGloasDataColumnSidecar, ssz} from "@lodestar/types";
5
+ import {isGloasDataColumnSidecarBytes} from "../../util/multifork.js";
5
6
  import {Bucket, getBucketNameByValue} from "../buckets.js";
6
7
 
7
8
  const COLUMN_INDEX_BYTE_SIZE = 2;
@@ -13,7 +14,7 @@ const SLOT_BYTE_SIZE = 8;
13
14
  *
14
15
  * Indexed data by `slot` + `columnIndex`
15
16
  */
16
- export class DataColumnSidecarArchiveRepository extends PrefixedRepository<Slot, ColumnIndex, fulu.DataColumnSidecar> {
17
+ export class DataColumnSidecarArchiveRepository extends PrefixedRepository<Slot, ColumnIndex, DataColumnSidecar> {
17
18
  constructor(config: ChainForkConfig, db: Db) {
18
19
  const bucket = Bucket.fulu_dataColumnSidecarsArchive;
19
20
  super(config, db, bucket, ssz.fulu.DataColumnSidecar, getBucketNameByValue(bucket));
@@ -22,10 +23,24 @@ export class DataColumnSidecarArchiveRepository extends PrefixedRepository<Slot,
22
23
  /**
23
24
  * Id is hashTreeRoot of unsigned BeaconBlock
24
25
  */
25
- getId(value: fulu.DataColumnSidecar): ColumnIndex {
26
+ getId(value: DataColumnSidecar): ColumnIndex {
26
27
  return value.index;
27
28
  }
28
29
 
30
+ encodeValue(value: DataColumnSidecar): Uint8Array {
31
+ if (isGloasDataColumnSidecar(value)) {
32
+ return ssz.gloas.DataColumnSidecar.serialize(value);
33
+ }
34
+ return ssz.fulu.DataColumnSidecar.serialize(value);
35
+ }
36
+
37
+ decodeValue(data: Uint8Array): DataColumnSidecar {
38
+ if (isGloasDataColumnSidecarBytes(data)) {
39
+ return ssz.gloas.DataColumnSidecar.deserialize(data);
40
+ }
41
+ return ssz.fulu.DataColumnSidecar.deserialize(data);
42
+ }
43
+
29
44
  encodeKeyRaw(prefix: Slot, id: ColumnIndex): Uint8Array {
30
45
  return Buffer.concat([
31
46
  encodeNumberForDbKey(prefix, SLOT_BYTE_SIZE),
@@ -0,0 +1,26 @@
1
+ import {ChainForkConfig} from "@lodestar/config";
2
+ import {Db, Repository} from "@lodestar/db";
3
+ import {Root, gloas, ssz} from "@lodestar/types";
4
+ import {Bucket, getBucketNameByValue} from "../buckets.js";
5
+
6
+ type BlockRoot = Root;
7
+
8
+ /**
9
+ * Used to store unfinalized `SignedExecutionPayloadEnvelope`
10
+ *
11
+ * Indexed by beacon block root (root of the beacon block that contains the bid)
12
+ */
13
+ export class ExecutionPayloadEnvelopeRepository extends Repository<BlockRoot, gloas.SignedExecutionPayloadEnvelope> {
14
+ constructor(config: ChainForkConfig, db: Db) {
15
+ const bucket = Bucket.gloas_executionPayloadEnvelope;
16
+ super(config, db, bucket, ssz.gloas.SignedExecutionPayloadEnvelope, getBucketNameByValue(bucket));
17
+ }
18
+
19
+ /**
20
+ * Id is the beacon block root (not execution payload hash)
21
+ * This allows correlation with the block that contains the bid
22
+ */
23
+ getId(value: gloas.SignedExecutionPayloadEnvelope): BlockRoot {
24
+ return value.message.beaconBlockRoot;
25
+ }
26
+ }
@@ -0,0 +1,32 @@
1
+ import {ChainForkConfig} from "@lodestar/config";
2
+ import {BUCKET_LENGTH, Db, Repository, encodeKey as encodeDbKey} from "@lodestar/db";
3
+ import {Slot, gloas, ssz} from "@lodestar/types";
4
+ import {bytesToInt} from "@lodestar/utils";
5
+ import {Bucket, getBucketNameByValue} from "../buckets.js";
6
+
7
+ /**
8
+ * Used to store finalized `SignedExecutionPayloadEnvelope`
9
+ *
10
+ * Indexed by slot for chronological archival
11
+ */
12
+ export class ExecutionPayloadEnvelopeArchiveRepository extends Repository<Slot, gloas.SignedExecutionPayloadEnvelope> {
13
+ constructor(config: ChainForkConfig, db: Db) {
14
+ const bucket = Bucket.gloas_executionPayloadEnvelopeArchive;
15
+ super(config, db, bucket, ssz.gloas.SignedExecutionPayloadEnvelope, getBucketNameByValue(bucket));
16
+ }
17
+
18
+ /**
19
+ * Id is the slot from the envelope
20
+ */
21
+ getId(value: gloas.SignedExecutionPayloadEnvelope): Slot {
22
+ return value.message.slot;
23
+ }
24
+
25
+ encodeKey(id: Slot): Uint8Array {
26
+ return encodeDbKey(this.bucket, id);
27
+ }
28
+
29
+ decodeKey(data: Uint8Array): number {
30
+ return bytesToInt(data.subarray(BUCKET_LENGTH), "be");
31
+ }
32
+ }
@@ -8,6 +8,8 @@ export {BlockArchiveRepository} from "./blockArchive.js";
8
8
  export {BLSToExecutionChangeRepository} from "./blsToExecutionChange.js";
9
9
  export {DataColumnSidecarRepository} from "./dataColumnSidecar.js";
10
10
  export {DataColumnSidecarArchiveRepository} from "./dataColumnSidecarArchive.js";
11
+ export {ExecutionPayloadEnvelopeRepository} from "./executionPayloadEnvelope.js";
12
+ export {ExecutionPayloadEnvelopeArchiveRepository} from "./executionPayloadEnvelopeArchive.js";
11
13
  export {BestLightClientUpdateRepository} from "./lightclientBestUpdate.js";
12
14
  export {CheckpointHeaderRepository} from "./lightclientCheckpointHeader.js";
13
15
  export {SyncCommitteeRepository} from "./lightclientSyncCommittee.js";
@@ -128,6 +128,7 @@ const getClientVersionOpts: ReqOpts = {routeId: "getClientVersion"};
128
128
  */
129
129
  export class ExecutionEngineHttp implements IExecutionEngine {
130
130
  private logger: Logger;
131
+ private metrics: Metrics | null;
131
132
 
132
133
  // The default state is ONLINE, it will be updated to SYNCING once we receive the first payload
133
134
  // This assumption is better than the OFFLINE state, since we can't be sure if the EL is offline and being offline may trigger some notifications
@@ -167,6 +168,7 @@ export class ExecutionEngineHttp implements IExecutionEngine {
167
168
  metrics?.engineHttpProcessorQueue
168
169
  );
169
170
  this.logger = logger;
171
+ this.metrics = metrics ?? null;
170
172
 
171
173
  this.rpc.emitter.on(JsonRpcHttpClientEvent.ERROR, ({error}) => {
172
174
  this.updateEngineState(getExecutionEngineState({payloadError: error, oldState: this.state}));
@@ -369,6 +371,7 @@ export class ExecutionEngineHttp implements IExecutionEngine {
369
371
  } = await request;
370
372
 
371
373
  this.updateEngineState(getExecutionEngineState({payloadStatus: status, oldState: this.state}));
374
+ this.metrics?.engineNotifyForkchoiceUpdateResult.inc({result: status});
372
375
 
373
376
  switch (status) {
374
377
  case ExecutionPayloadStatus.VALID:
@@ -144,6 +144,11 @@ export function createBeaconMetrics(register: RegistryMetricCreator) {
144
144
  help: "Time for preparing payload in advance",
145
145
  buckets: [0.1, 1, 3, 5, 10],
146
146
  }),
147
+ executionPayloadEnvelopeProcessingTime: register.histogram({
148
+ name: "beacon_block_payload_envelope_processing_seconds",
149
+ help: "Time to process execution payload envelope during block production",
150
+ buckets: [0.005, 0.01, 0.05, 0.1, 0.2, 0.5, 1],
151
+ }),
147
152
  payloadFetchedTime: register.histogram<{prepType: PayloadPreparationType}>({
148
153
  name: "beacon_block_payload_fetched_time",
149
154
  help: "Time to fetch the payload from EL",
@@ -328,11 +333,13 @@ export function createBeaconMetrics(register: RegistryMetricCreator) {
328
333
  help: "Time taken to verify data_column sidecar inclusion proof",
329
334
  buckets: [0.002, 0.004, 0.006, 0.008, 0.01, 0.05, 1, 2],
330
335
  }),
336
+ // single verification
331
337
  dataColumnSidecarKzgProofsVerificationTime: register.histogram({
332
338
  name: "beacon_data_column_sidecar_kzg_proofs_verification_seconds",
333
- help: "Time taken to verify data_column sidecar kzg proofs",
339
+ help: "Time taken to verify single data_column sidecar kzg proofs",
334
340
  buckets: [0.01, 0.02, 0.03, 0.04, 0.05, 0.1, 0.2, 0.5, 1],
335
341
  }),
342
+ // batch verification
336
343
  kzgVerificationDataColumnBatchTime: register.histogram({
337
344
  name: "beacon_kzg_verification_data_column_batch_seconds",
338
345
  help: "Runtime of batched data column kzg verification",
@@ -356,10 +363,14 @@ export function createBeaconMetrics(register: RegistryMetricCreator) {
356
363
  help: "Duration of engine_getBlobsV2 requests",
357
364
  buckets: [0.01, 0.05, 0.1, 0.5, 1, 2.5, 5, 7.5],
358
365
  }),
359
- targetCustodyGroupCount: register.gauge({
360
- name: "beacon_target_custody_group_count",
366
+ custodyGroupCount: register.gauge({
367
+ name: "beacon_custody_groups",
361
368
  help: "Total number of custody groups within a node",
362
369
  }),
370
+ custodyGroupsBackfilled: register.gauge({
371
+ name: "beacon_custody_groups_backfilled",
372
+ help: "Total number of custody groups backfilled by a node",
373
+ }),
363
374
  reconstructedColumns: register.counter({
364
375
  name: "beacon_data_availability_reconstructed_columns_total",
365
376
  help: "Total count of reconstructed columns",
@@ -827,20 +827,32 @@ export function createLodestarMetrics(
827
827
  help: "Total number of blobs retrieved from execution engine and published to gossip",
828
828
  }),
829
829
  },
830
- recoverDataColumnSidecars: {
831
- recoverTime: register.histogram({
832
- name: "lodestar_recover_data_column_sidecar_recover_time_seconds",
833
- help: "Time elapsed to recover data column sidecar",
834
- buckets: [0.5, 1.0, 1.5, 2],
830
+ // Gossip execution payload envelope
831
+ gossipExecutionPayloadEnvelope: {
832
+ elapsedTimeTillReceived: register.histogram<{source: OpSource}>({
833
+ name: "lodestar_gossip_execution_payload_envelope_elapsed_time_till_received",
834
+ help: "Time elapsed between slot time and the time execution payload envelope received",
835
+ labelNames: ["source"],
836
+ buckets: [0.5, 1, 2, 4, 6, 12],
835
837
  }),
838
+ },
839
+ // recovery in the case of specific blob rows required
840
+ recoverBlobSidecars: {
841
+ blobsReconstructed: register.counter({
842
+ name: "lodestar_blobs_reconstructed_total",
843
+ help: "Total count of reconstructed blobs",
844
+ }),
845
+ reconstructionTime: register.histogram({
846
+ name: "lodestar_blob_reconstruction_seconds",
847
+ help: "Time taken to reconstruct blobs",
848
+ buckets: [0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 2, 5],
849
+ }),
850
+ },
851
+ recoverDataColumnSidecars: {
836
852
  custodyBeforeReconstruction: register.gauge({
837
853
  name: "lodestar_data_columns_in_custody_before_reconstruction",
838
854
  help: "Number of data columns in custody before reconstruction",
839
855
  }),
840
- numberOfColumnsRecovered: register.gauge({
841
- name: "lodestar_recover_data_column_sidecar_recovered_columns_total",
842
- help: "Total number of columns that were recovered",
843
- }),
844
856
  reconstructionResult: register.counter<{result: DataColumnReconstructionCode}>({
845
857
  name: "lodestar_data_column_sidecars_reconstruction_result",
846
858
  help: "Data column sidecars reconstruction result",
@@ -848,6 +860,10 @@ export function createLodestarMetrics(
848
860
  }),
849
861
  },
850
862
  dataColumns: {
863
+ alreadyAdded: register.counter({
864
+ name: "lodestar_data_column_sidecar_already_added",
865
+ help: "Total number of columns that were already added by other sources while waiting",
866
+ }),
851
867
  bySource: register.gauge<{source: BlockInputSource}>({
852
868
  name: "lodestar_data_columns_by_source",
853
869
  help: "Number of received data columns by source",
@@ -903,11 +919,6 @@ export function createLodestarMetrics(
903
919
  help: "Total number of imported blobs by source",
904
920
  labelNames: ["blobsSource"],
905
921
  }),
906
- columnsBySource: register.gauge<{source: BlockInputSource}>({
907
- name: "lodestar_import_columns_by_source_total",
908
- help: "Total number of imported columns (sampled columns) by source",
909
- labelNames: ["source"],
910
- }),
911
922
  notOverrideFcuReason: register.counter<{reason: NotReorgedReason}>({
912
923
  name: "lodestar_import_block_not_override_fcu_reason_total",
913
924
  help: "Reason why the fcu call is not suppressed during block import",
@@ -919,6 +930,11 @@ export function createLodestarMetrics(
919
930
  help: "The total result of calling notifyNewPayload execution engine api",
920
931
  labelNames: ["result"],
921
932
  }),
933
+ engineNotifyForkchoiceUpdateResult: register.gauge<{result: ExecutionPayloadStatus}>({
934
+ name: "lodestar_execution_engine_notify_forkchoice_update_result_total",
935
+ help: "The total result of calling notifyForkchoiceUpdate execution engine api",
936
+ labelNames: ["result"],
937
+ }),
922
938
  backfillSync: {
923
939
  backfilledTillSlot: register.gauge({
924
940
  name: "lodestar_backfill_till_slot",
@@ -1447,29 +1463,37 @@ export function createLodestarMetrics(
1447
1463
  name: "lodestar_seen_block_input_cache_size",
1448
1464
  help: "Number of cached BlockInputs",
1449
1465
  }),
1450
- duplicateBlockCount: register.gauge<{source: BlockInputSource}>({
1451
- name: "lodestar_seen_block_input_cache_duplicate_block_count",
1466
+ serializedObjectRefs: register.gauge({
1467
+ name: "lodestar_seen_block_input_cache_serialized_object_refs",
1468
+ help: "Number of serialized-cache object refs retained by cached BlockInputs",
1469
+ }),
1470
+ duplicateBlockCount: register.counter<{source: BlockInputSource}>({
1471
+ name: "lodestar_seen_block_input_cache_duplicate_block_total",
1452
1472
  help: "Total number of duplicate blocks that pass validation and attempt to be cached but are known",
1453
1473
  labelNames: ["source"],
1454
1474
  }),
1455
- duplicateBlobCount: register.gauge<{source: BlockInputSource}>({
1456
- name: "lodestar_seen_block_input_cache_duplicate_blob_count",
1475
+ duplicateBlobCount: register.counter<{source: BlockInputSource}>({
1476
+ name: "lodestar_seen_block_input_cache_duplicate_blob_total",
1457
1477
  help: "Total number of duplicate blobs that pass validation and attempt to be cached but are known",
1458
1478
  labelNames: ["source"],
1459
1479
  }),
1460
- duplicateColumnCount: register.gauge<{source: BlockInputSource}>({
1461
- name: "lodestar_seen_block_input_cache_duplicate_column_count",
1480
+ duplicateColumnCount: register.counter<{source: BlockInputSource}>({
1481
+ name: "lodestar_seen_block_input_cache_duplicate_column_total",
1462
1482
  help: "Total number of duplicate columns that pass validation and attempt to be cached but are known",
1463
1483
  labelNames: ["source"],
1464
1484
  }),
1465
- createdByBlock: register.gauge({
1466
- name: "lodestar_seen_block_input_cache_items_created_by_block",
1485
+ createdByBlock: register.counter({
1486
+ name: "lodestar_seen_block_input_cache_items_created_by_block_total",
1467
1487
  help: "Number of BlockInputs created via a block being seen first",
1468
1488
  }),
1469
- createdByBlob: register.gauge({
1470
- name: "lodestar_seen_block_input_cache_items_created_by_blob",
1489
+ createdByBlob: register.counter({
1490
+ name: "lodestar_seen_block_input_cache_items_created_by_blob_total",
1471
1491
  help: "Number of BlockInputs created via a blob being seen first",
1472
1492
  }),
1493
+ createdByColumn: register.counter({
1494
+ name: "lodestar_seen_block_input_cache_items_created_by_column_total",
1495
+ help: "Number of BlockInputs created via a data column being seen first",
1496
+ }),
1473
1497
  },
1474
1498
  },
1475
1499
 
@@ -89,9 +89,9 @@ export class MonitoringService {
89
89
  }
90
90
 
91
91
  /**
92
- * Stop sending client stats
92
+ * Stop sending client stats and wait for any pending request to complete
93
93
  */
94
- close(): void {
94
+ async close(): Promise<void> {
95
95
  if (this.status === Status.Closed) return;
96
96
  this.status = Status.Closed;
97
97
 
@@ -103,6 +103,7 @@ export class MonitoringService {
103
103
  }
104
104
  if (this.pendingRequest) {
105
105
  this.fetchAbortController?.abort(FetchAbortReason.Close);
106
+ await this.pendingRequest;
106
107
  }
107
108
  }
108
109
 
@@ -1,8 +1,8 @@
1
- import {Connection, PrivateKey} from "@libp2p/interface";
1
+ import type {PeerScoreStatsDump} from "@libp2p/gossipsub/score";
2
+ import type {PublishOpts} from "@libp2p/gossipsub/types";
3
+ import type {Connection, PrivateKey} from "@libp2p/interface";
2
4
  import {peerIdFromPrivateKey} from "@libp2p/peer-id";
3
5
  import {multiaddr} from "@multiformats/multiaddr";
4
- import {PeerScoreStatsDump} from "@chainsafe/libp2p-gossipsub/score";
5
- import {PublishOpts} from "@chainsafe/libp2p-gossipsub/types";
6
6
  import {routes} from "@lodestar/api";
7
7
  import {BeaconConfig, ForkBoundary} from "@lodestar/config";
8
8
  import type {LoggerNode} from "@lodestar/logger/node";
@@ -1,9 +1,9 @@
1
1
  import path from "node:path";
2
2
  import workerThreads from "node:worker_threads";
3
3
  import {privateKeyToProtobuf} from "@libp2p/crypto/keys";
4
- import {PrivateKey} from "@libp2p/interface";
5
- import {PeerScoreStatsDump} from "@chainsafe/libp2p-gossipsub/score";
6
- import {PublishOpts} from "@chainsafe/libp2p-gossipsub/types";
4
+ import type {PeerScoreStatsDump} from "@libp2p/gossipsub/score";
5
+ import type {PublishOpts} from "@libp2p/gossipsub/types";
6
+ import type {PrivateKey} from "@libp2p/interface";
7
7
  import {ModuleThread, Thread, Worker, spawn} from "@chainsafe/threads";
8
8
  import {routes} from "@lodestar/api";
9
9
  import {BeaconConfig, chainConfigToJson} from "@lodestar/config";
@@ -1,5 +1,5 @@
1
- import {PeerScoreStatsDump} from "@chainsafe/libp2p-gossipsub/score";
2
- import {PublishOpts} from "@chainsafe/libp2p-gossipsub/types";
1
+ import type {PeerScoreStatsDump} from "@libp2p/gossipsub/score";
2
+ import type {PublishOpts} from "@libp2p/gossipsub/types";
3
3
  import {routes} from "@lodestar/api";
4
4
  import {SpecJson} from "@lodestar/config";
5
5
  import {LoggerNodeOpts} from "@lodestar/logger/node";
@@ -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
@@ -1,5 +1,6 @@
1
1
  import {EventEmitter} from "node:events";
2
- import {PeerId, TopicValidatorResult} from "@libp2p/interface";
2
+ import type {TopicValidatorResult} from "@libp2p/gossipsub";
3
+ import type {PeerId} from "@libp2p/interface";
3
4
  import {CustodyIndex, Status} from "@lodestar/types";
4
5
  import {PeerIdStr} from "../util/peerId.js";
5
6
  import {StrictEventEmitterSingleArg} from "../util/strictEvents.js";
@@ -1,9 +1,9 @@
1
- import {Message} from "@libp2p/interface";
1
+ import type {Message} from "@libp2p/gossipsub";
2
+ import type {RPC} from "@libp2p/gossipsub/message";
3
+ import type {DataTransform} from "@libp2p/gossipsub/types";
2
4
  // snappyjs is better for compression for smaller payloads
3
5
  import xxhashFactory from "xxhash-wasm";
4
6
  import {digest} from "@chainsafe/as-sha256";
5
- import {RPC} from "@chainsafe/libp2p-gossipsub/message";
6
- import {DataTransform} from "@chainsafe/libp2p-gossipsub/types";
7
7
  import snappyWasm from "@chainsafe/snappy-wasm";
8
8
  import {ForkName} from "@lodestar/params";
9
9
  import {intToBytes} from "@lodestar/utils";