@lodestar/beacon-node 1.51.0-dev.8d8efcbf5f → 1.51.0-dev.8fdbd61e7e

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 (511) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +19 -61
  3. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  4. package/lib/api/impl/beacon/pool/index.d.ts.map +1 -1
  5. package/lib/api/impl/beacon/pool/index.js +17 -0
  6. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  7. package/lib/api/impl/validator/index.d.ts +6 -0
  8. package/lib/api/impl/validator/index.d.ts.map +1 -1
  9. package/lib/api/impl/validator/index.js +38 -25
  10. package/lib/api/impl/validator/index.js.map +1 -1
  11. package/lib/chain/GetBlobsTracker.d.ts +2 -2
  12. package/lib/chain/GetBlobsTracker.d.ts.map +1 -1
  13. package/lib/chain/GetBlobsTracker.js +7 -31
  14. package/lib/chain/GetBlobsTracker.js.map +1 -1
  15. package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
  16. package/lib/chain/archiveStore/archiveStore.js +3 -4
  17. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  18. package/lib/chain/archiveStore/utils/pruneHistory.d.ts +9 -2
  19. package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +1 -1
  20. package/lib/chain/archiveStore/utils/pruneHistory.js +12 -4
  21. package/lib/chain/archiveStore/utils/pruneHistory.js.map +1 -1
  22. package/lib/chain/blocks/blockInput/blockInput.d.ts +11 -56
  23. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +1 -1
  24. package/lib/chain/blocks/blockInput/blockInput.js +5 -241
  25. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  26. package/lib/chain/blocks/blockInput/errors.d.ts +2 -4
  27. package/lib/chain/blocks/blockInput/errors.d.ts.map +1 -1
  28. package/lib/chain/blocks/blockInput/errors.js.map +1 -1
  29. package/lib/chain/blocks/blockInput/types.d.ts +2 -18
  30. package/lib/chain/blocks/blockInput/types.d.ts.map +1 -1
  31. package/lib/chain/blocks/blockInput/types.js +0 -1
  32. package/lib/chain/blocks/blockInput/types.js.map +1 -1
  33. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  34. package/lib/chain/blocks/importBlock.js +36 -53
  35. package/lib/chain/blocks/importBlock.js.map +1 -1
  36. package/lib/chain/blocks/importExecutionPayload.d.ts +6 -10
  37. package/lib/chain/blocks/importExecutionPayload.d.ts.map +1 -1
  38. package/lib/chain/blocks/importExecutionPayload.js +26 -17
  39. package/lib/chain/blocks/importExecutionPayload.js.map +1 -1
  40. package/lib/chain/blocks/index.d.ts.map +1 -1
  41. package/lib/chain/blocks/index.js +2 -2
  42. package/lib/chain/blocks/index.js.map +1 -1
  43. package/lib/chain/blocks/payloadEnvelopeProcessor.d.ts +10 -7
  44. package/lib/chain/blocks/payloadEnvelopeProcessor.d.ts.map +1 -1
  45. package/lib/chain/blocks/payloadEnvelopeProcessor.js +21 -16
  46. package/lib/chain/blocks/payloadEnvelopeProcessor.js.map +1 -1
  47. package/lib/chain/blocks/types.d.ts +4 -20
  48. package/lib/chain/blocks/types.d.ts.map +1 -1
  49. package/lib/chain/blocks/types.js +0 -24
  50. package/lib/chain/blocks/types.js.map +1 -1
  51. package/lib/chain/blocks/verifyBlock.d.ts.map +1 -1
  52. package/lib/chain/blocks/verifyBlock.js +17 -6
  53. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  54. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +1 -1
  55. package/lib/chain/blocks/verifyBlocksDataAvailability.js +6 -1
  56. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  57. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts +1 -1
  58. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +1 -1
  59. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +7 -3
  60. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  61. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +1 -1
  62. package/lib/chain/blocks/verifyBlocksSanityChecks.js +4 -0
  63. package/lib/chain/blocks/verifyBlocksSanityChecks.js.map +1 -1
  64. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +1 -1
  65. package/lib/chain/blocks/verifyBlocksSignatures.js +10 -5
  66. package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
  67. package/lib/chain/blocks/verifyPayloadsDataAvailability.d.ts.map +1 -1
  68. package/lib/chain/blocks/verifyPayloadsDataAvailability.js +1 -3
  69. package/lib/chain/blocks/verifyPayloadsDataAvailability.js.map +1 -1
  70. package/lib/chain/blocks/writeBlockInputToDb.d.ts +0 -2
  71. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +1 -1
  72. package/lib/chain/blocks/writeBlockInputToDb.js +6 -24
  73. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  74. package/lib/chain/bls/interface.d.ts +2 -0
  75. package/lib/chain/bls/interface.d.ts.map +1 -1
  76. package/lib/chain/bls/multithread/index.d.ts +1 -1
  77. package/lib/chain/bls/multithread/index.d.ts.map +1 -1
  78. package/lib/chain/bls/multithread/index.js +45 -17
  79. package/lib/chain/bls/multithread/index.js.map +1 -1
  80. package/lib/chain/chain.d.ts +24 -3
  81. package/lib/chain/chain.d.ts.map +1 -1
  82. package/lib/chain/chain.js +120 -39
  83. package/lib/chain/chain.js.map +1 -1
  84. package/lib/chain/emitter.d.ts +7 -7
  85. package/lib/chain/emitter.d.ts.map +1 -1
  86. package/lib/chain/emitter.js +5 -5
  87. package/lib/chain/emitter.js.map +1 -1
  88. package/lib/chain/errors/executionPayloadEnvelope.d.ts +7 -0
  89. package/lib/chain/errors/executionPayloadEnvelope.d.ts.map +1 -1
  90. package/lib/chain/errors/executionPayloadEnvelope.js +1 -0
  91. package/lib/chain/errors/executionPayloadEnvelope.js.map +1 -1
  92. package/lib/chain/errors/index.d.ts +0 -1
  93. package/lib/chain/errors/index.d.ts.map +1 -1
  94. package/lib/chain/errors/index.js +0 -1
  95. package/lib/chain/errors/index.js.map +1 -1
  96. package/lib/chain/forkChoice/index.d.ts +11 -1
  97. package/lib/chain/forkChoice/index.d.ts.map +1 -1
  98. package/lib/chain/forkChoice/index.js +11 -0
  99. package/lib/chain/forkChoice/index.js.map +1 -1
  100. package/lib/chain/forkChoiceExecutionEngine.d.ts +51 -0
  101. package/lib/chain/forkChoiceExecutionEngine.d.ts.map +1 -0
  102. package/lib/chain/forkChoiceExecutionEngine.js +117 -0
  103. package/lib/chain/forkChoiceExecutionEngine.js.map +1 -0
  104. package/lib/chain/interface.d.ts +7 -4
  105. package/lib/chain/interface.d.ts.map +1 -1
  106. package/lib/chain/interface.js.map +1 -1
  107. package/lib/chain/opPools/aggregatedAttestationPool.d.ts +17 -4
  108. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
  109. package/lib/chain/opPools/aggregatedAttestationPool.js +198 -45
  110. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  111. package/lib/chain/opPools/attestationPool.d.ts.map +1 -1
  112. package/lib/chain/opPools/attestationPool.js +14 -3
  113. package/lib/chain/opPools/attestationPool.js.map +1 -1
  114. package/lib/chain/opPools/index.d.ts +1 -0
  115. package/lib/chain/opPools/index.d.ts.map +1 -1
  116. package/lib/chain/opPools/index.js +1 -0
  117. package/lib/chain/opPools/index.js.map +1 -1
  118. package/lib/chain/opPools/payloadAttestationPool.d.ts.map +1 -1
  119. package/lib/chain/opPools/payloadAttestationPool.js +16 -6
  120. package/lib/chain/opPools/payloadAttestationPool.js.map +1 -1
  121. package/lib/chain/opPools/singleAttestationPool.d.ts +77 -0
  122. package/lib/chain/opPools/singleAttestationPool.d.ts.map +1 -0
  123. package/lib/chain/opPools/singleAttestationPool.js +209 -0
  124. package/lib/chain/opPools/singleAttestationPool.js.map +1 -0
  125. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +1 -1
  126. package/lib/chain/opPools/syncCommitteeMessagePool.js +8 -2
  127. package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
  128. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +1 -1
  129. package/lib/chain/opPools/syncContributionAndProofPool.js +10 -2
  130. package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
  131. package/lib/chain/options.d.ts +5 -2
  132. package/lib/chain/options.d.ts.map +1 -1
  133. package/lib/chain/options.js.map +1 -1
  134. package/lib/chain/produceBlock/produceBlockBody.d.ts +3 -2
  135. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  136. package/lib/chain/produceBlock/produceBlockBody.js +3 -2
  137. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  138. package/lib/chain/proposerTracker.d.ts +31 -0
  139. package/lib/chain/proposerTracker.d.ts.map +1 -0
  140. package/lib/chain/proposerTracker.js +75 -0
  141. package/lib/chain/proposerTracker.js.map +1 -0
  142. package/lib/chain/regen/interface.d.ts +1 -1
  143. package/lib/chain/regen/interface.d.ts.map +1 -1
  144. package/lib/chain/regen/queued.d.ts +1 -1
  145. package/lib/chain/regen/queued.d.ts.map +1 -1
  146. package/lib/chain/regen/queued.js +5 -3
  147. package/lib/chain/regen/queued.js.map +1 -1
  148. package/lib/chain/seenCache/seenGossipBlockInput.d.ts +7 -14
  149. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +1 -1
  150. package/lib/chain/seenCache/seenGossipBlockInput.js +6 -65
  151. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  152. package/lib/chain/validation/aggregateAndProof.js +1 -1
  153. package/lib/chain/validation/aggregateAndProof.js.map +1 -1
  154. package/lib/chain/validation/attestation.js +1 -1
  155. package/lib/chain/validation/attestation.js.map +1 -1
  156. package/lib/chain/validation/executionPayloadBid.js +13 -13
  157. package/lib/chain/validation/executionPayloadBid.js.map +1 -1
  158. package/lib/chain/validation/executionPayloadEnvelope.d.ts +6 -0
  159. package/lib/chain/validation/executionPayloadEnvelope.d.ts.map +1 -1
  160. package/lib/chain/validation/executionPayloadEnvelope.js +53 -0
  161. package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
  162. package/lib/chain/validation/syncCommittee.d.ts.map +1 -1
  163. package/lib/chain/validation/syncCommittee.js +16 -10
  164. package/lib/chain/validation/syncCommittee.js.map +1 -1
  165. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +1 -1
  166. package/lib/chain/validation/syncCommitteeContributionAndProof.js +11 -0
  167. package/lib/chain/validation/syncCommitteeContributionAndProof.js.map +1 -1
  168. package/lib/chain/validatorMonitor.d.ts +1 -2
  169. package/lib/chain/validatorMonitor.d.ts.map +1 -1
  170. package/lib/chain/validatorMonitor.js +0 -3
  171. package/lib/chain/validatorMonitor.js.map +1 -1
  172. package/lib/db/flatFileStore/flatFileStore.js +5 -5
  173. package/lib/db/flatFileStore/flatFileStore.js.map +1 -1
  174. package/lib/db/flatFileStore/slotIndex.d.ts.map +1 -1
  175. package/lib/db/flatFileStore/slotIndex.js +2 -2
  176. package/lib/db/flatFileStore/slotIndex.js.map +1 -1
  177. package/lib/db/repositories/blobSidecars.d.ts +0 -1
  178. package/lib/db/repositories/blobSidecars.d.ts.map +1 -1
  179. package/lib/db/repositories/blobSidecars.js +0 -1
  180. package/lib/db/repositories/blobSidecars.js.map +1 -1
  181. package/lib/execution/builder/apiClient.d.ts +14 -8
  182. package/lib/execution/builder/apiClient.d.ts.map +1 -1
  183. package/lib/execution/builder/apiClient.js +12 -10
  184. package/lib/execution/builder/apiClient.js.map +1 -1
  185. package/lib/execution/builder/http.d.ts +2 -0
  186. package/lib/execution/builder/http.d.ts.map +1 -1
  187. package/lib/execution/builder/http.js +2 -0
  188. package/lib/execution/builder/http.js.map +1 -1
  189. package/lib/execution/engine/http.d.ts +4 -6
  190. package/lib/execution/engine/http.d.ts.map +1 -1
  191. package/lib/execution/engine/http.js +8 -10
  192. package/lib/execution/engine/http.js.map +1 -1
  193. package/lib/execution/engine/interface.d.ts +17 -5
  194. package/lib/execution/engine/interface.d.ts.map +1 -1
  195. package/lib/execution/engine/interface.js.map +1 -1
  196. package/lib/execution/engine/jsonRpcTransport.d.ts +2 -4
  197. package/lib/execution/engine/jsonRpcTransport.d.ts.map +1 -1
  198. package/lib/execution/engine/jsonRpcTransport.js +2 -12
  199. package/lib/execution/engine/jsonRpcTransport.js.map +1 -1
  200. package/lib/execution/engine/mock.d.ts +0 -1
  201. package/lib/execution/engine/mock.d.ts.map +1 -1
  202. package/lib/execution/engine/mock.js +0 -4
  203. package/lib/execution/engine/mock.js.map +1 -1
  204. package/lib/execution/engine/restTransport.d.ts +2 -4
  205. package/lib/execution/engine/restTransport.d.ts.map +1 -1
  206. package/lib/execution/engine/restTransport.js +1 -15
  207. package/lib/execution/engine/restTransport.js.map +1 -1
  208. package/lib/execution/engine/sszTypes.d.ts +0 -9
  209. package/lib/execution/engine/sszTypes.d.ts.map +1 -1
  210. package/lib/execution/engine/sszTypes.js +0 -5
  211. package/lib/execution/engine/sszTypes.js.map +1 -1
  212. package/lib/execution/engine/transport.d.ts +1 -14
  213. package/lib/execution/engine/transport.d.ts.map +1 -1
  214. package/lib/execution/engine/types.d.ts +0 -8
  215. package/lib/execution/engine/types.d.ts.map +1 -1
  216. package/lib/execution/engine/types.js +0 -8
  217. package/lib/execution/engine/types.js.map +1 -1
  218. package/lib/execution/engine/utils.d.ts.map +1 -1
  219. package/lib/execution/engine/utils.js +3 -2
  220. package/lib/execution/engine/utils.js.map +1 -1
  221. package/lib/index.d.ts +1 -1
  222. package/lib/index.d.ts.map +1 -1
  223. package/lib/index.js +1 -1
  224. package/lib/index.js.map +1 -1
  225. package/lib/metrics/metrics/beacon.d.ts +0 -9
  226. package/lib/metrics/metrics/beacon.d.ts.map +1 -1
  227. package/lib/metrics/metrics/beacon.js +0 -30
  228. package/lib/metrics/metrics/beacon.js.map +1 -1
  229. package/lib/metrics/metrics/lodestar.d.ts +30 -8
  230. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  231. package/lib/metrics/metrics/lodestar.js +79 -18
  232. package/lib/metrics/metrics/lodestar.js.map +1 -1
  233. package/lib/metrics/server/http.js +5 -5
  234. package/lib/metrics/server/http.js.map +1 -1
  235. package/lib/network/core/networkCore.d.ts +4 -1
  236. package/lib/network/core/networkCore.d.ts.map +1 -1
  237. package/lib/network/core/networkCore.js +7 -0
  238. package/lib/network/core/networkCore.js.map +1 -1
  239. package/lib/network/core/networkCoreWorker.js +2 -0
  240. package/lib/network/core/networkCoreWorker.js.map +1 -1
  241. package/lib/network/core/networkCoreWorkerHandler.d.ts +4 -1
  242. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +1 -1
  243. package/lib/network/core/networkCoreWorkerHandler.js +6 -0
  244. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  245. package/lib/network/core/types.d.ts +6 -1
  246. package/lib/network/core/types.d.ts.map +1 -1
  247. package/lib/network/gossip/gossipsub.d.ts +1 -0
  248. package/lib/network/gossip/gossipsub.d.ts.map +1 -1
  249. package/lib/network/gossip/gossipsub.js +10 -0
  250. package/lib/network/gossip/gossipsub.js.map +1 -1
  251. package/lib/network/gossip/interface.d.ts +1 -8
  252. package/lib/network/gossip/interface.d.ts.map +1 -1
  253. package/lib/network/gossip/interface.js +0 -1
  254. package/lib/network/gossip/interface.js.map +1 -1
  255. package/lib/network/gossip/topic.d.ts +0 -16
  256. package/lib/network/gossip/topic.d.ts.map +1 -1
  257. package/lib/network/gossip/topic.js +0 -23
  258. package/lib/network/gossip/topic.js.map +1 -1
  259. package/lib/network/interface.d.ts +4 -5
  260. package/lib/network/interface.d.ts.map +1 -1
  261. package/lib/network/libp2p/index.d.ts.map +1 -1
  262. package/lib/network/libp2p/index.js +5 -1
  263. package/lib/network/libp2p/index.js.map +1 -1
  264. package/lib/network/network.d.ts +8 -7
  265. package/lib/network/network.d.ts.map +1 -1
  266. package/lib/network/network.js +53 -37
  267. package/lib/network/network.js.map +1 -1
  268. package/lib/network/options.d.ts +2 -0
  269. package/lib/network/options.d.ts.map +1 -1
  270. package/lib/network/options.js +2 -0
  271. package/lib/network/options.js.map +1 -1
  272. package/lib/network/peers/peerManager.d.ts +2 -1
  273. package/lib/network/peers/peerManager.d.ts.map +1 -1
  274. package/lib/network/peers/peerManager.js +28 -1
  275. package/lib/network/peers/peerManager.js.map +1 -1
  276. package/lib/network/peers/utils/assertPeerRelevance.d.ts +9 -1
  277. package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +1 -1
  278. package/lib/network/peers/utils/assertPeerRelevance.js +32 -21
  279. package/lib/network/peers/utils/assertPeerRelevance.js.map +1 -1
  280. package/lib/network/peers/utils/prioritizePeers.d.ts +4 -1
  281. package/lib/network/peers/utils/prioritizePeers.d.ts.map +1 -1
  282. package/lib/network/peers/utils/prioritizePeers.js +8 -16
  283. package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
  284. package/lib/network/peers/utils/subnetMap.d.ts +5 -2
  285. package/lib/network/peers/utils/subnetMap.d.ts.map +1 -1
  286. package/lib/network/peers/utils/subnetMap.js +6 -3
  287. package/lib/network/peers/utils/subnetMap.js.map +1 -1
  288. package/lib/network/processor/extractSlotRootFns.d.ts.map +1 -1
  289. package/lib/network/processor/extractSlotRootFns.js +1 -8
  290. package/lib/network/processor/extractSlotRootFns.js.map +1 -1
  291. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  292. package/lib/network/processor/gossipHandlers.js +46 -126
  293. package/lib/network/processor/gossipHandlers.js.map +1 -1
  294. package/lib/network/processor/gossipQueues/index.d.ts.map +1 -1
  295. package/lib/network/processor/gossipQueues/index.js +0 -6
  296. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  297. package/lib/network/processor/gossipValidatorFn.d.ts.map +1 -1
  298. package/lib/network/processor/gossipValidatorFn.js +1 -5
  299. package/lib/network/processor/gossipValidatorFn.js.map +1 -1
  300. package/lib/network/processor/index.d.ts +6 -0
  301. package/lib/network/processor/index.d.ts.map +1 -1
  302. package/lib/network/processor/index.js +29 -4
  303. package/lib/network/processor/index.js.map +1 -1
  304. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +1 -1
  305. package/lib/network/reqresp/ReqRespBeaconNode.js +0 -3
  306. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  307. package/lib/network/reqresp/handlers/beaconBlocksByHead.js +1 -1
  308. package/lib/network/reqresp/handlers/beaconBlocksByHead.js.map +1 -1
  309. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts +2 -2
  310. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +1 -1
  311. package/lib/network/reqresp/handlers/index.d.ts.map +1 -1
  312. package/lib/network/reqresp/handlers/index.js +1 -12
  313. package/lib/network/reqresp/handlers/index.js.map +1 -1
  314. package/lib/network/reqresp/protocols.d.ts +0 -2
  315. package/lib/network/reqresp/protocols.d.ts.map +1 -1
  316. package/lib/network/reqresp/protocols.js +0 -10
  317. package/lib/network/reqresp/protocols.js.map +1 -1
  318. package/lib/network/reqresp/rateLimit.d.ts.map +1 -1
  319. package/lib/network/reqresp/rateLimit.js +1 -17
  320. package/lib/network/reqresp/rateLimit.js.map +1 -1
  321. package/lib/network/reqresp/types.d.ts +2 -8
  322. package/lib/network/reqresp/types.d.ts.map +1 -1
  323. package/lib/network/reqresp/types.js +1 -7
  324. package/lib/network/reqresp/types.js.map +1 -1
  325. package/lib/network/subnets/attnetsService.d.ts +35 -5
  326. package/lib/network/subnets/attnetsService.d.ts.map +1 -1
  327. package/lib/network/subnets/attnetsService.js +84 -6
  328. package/lib/network/subnets/attnetsService.js.map +1 -1
  329. package/lib/network/subnets/interface.d.ts +7 -0
  330. package/lib/network/subnets/interface.d.ts.map +1 -1
  331. package/lib/network/subnets/interface.js.map +1 -1
  332. package/lib/node/nodejs.d.ts +2 -0
  333. package/lib/node/nodejs.d.ts.map +1 -1
  334. package/lib/node/nodejs.js +37 -19
  335. package/lib/node/nodejs.js.map +1 -1
  336. package/lib/node/options.d.ts +3 -1
  337. package/lib/node/options.d.ts.map +1 -1
  338. package/lib/node/options.js +4 -2
  339. package/lib/node/options.js.map +1 -1
  340. package/lib/sync/range/batch.d.ts +2 -3
  341. package/lib/sync/range/batch.d.ts.map +1 -1
  342. package/lib/sync/range/batch.js +9 -22
  343. package/lib/sync/range/batch.js.map +1 -1
  344. package/lib/sync/range/chain.d.ts.map +1 -1
  345. package/lib/sync/range/chain.js +2 -15
  346. package/lib/sync/range/chain.js.map +1 -1
  347. package/lib/sync/sync.d.ts +15 -0
  348. package/lib/sync/sync.d.ts.map +1 -1
  349. package/lib/sync/sync.js +103 -25
  350. package/lib/sync/sync.js.map +1 -1
  351. package/lib/sync/unknownBlock.d.ts.map +1 -1
  352. package/lib/sync/unknownBlock.js +1 -7
  353. package/lib/sync/unknownBlock.js.map +1 -1
  354. package/lib/sync/utils/downloadByRange.d.ts +6 -34
  355. package/lib/sync/utils/downloadByRange.d.ts.map +1 -1
  356. package/lib/sync/utils/downloadByRange.js +24 -128
  357. package/lib/sync/utils/downloadByRange.js.map +1 -1
  358. package/lib/sync/utils/downloadByRoot.d.ts +2 -18
  359. package/lib/sync/utils/downloadByRoot.d.ts.map +1 -1
  360. package/lib/sync/utils/downloadByRoot.js +14 -99
  361. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  362. package/lib/util/blobs.d.ts +1 -7
  363. package/lib/util/blobs.d.ts.map +1 -1
  364. package/lib/util/blobs.js +0 -19
  365. package/lib/util/blobs.js.map +1 -1
  366. package/lib/util/execution.d.ts +3 -4
  367. package/lib/util/execution.d.ts.map +1 -1
  368. package/lib/util/execution.js +1 -73
  369. package/lib/util/execution.js.map +1 -1
  370. package/lib/util/file.d.ts.map +1 -1
  371. package/lib/util/file.js +8 -9
  372. package/lib/util/file.js.map +1 -1
  373. package/lib/util/sszBytes.d.ts +5 -1
  374. package/lib/util/sszBytes.d.ts.map +1 -1
  375. package/lib/util/sszBytes.js +34 -17
  376. package/lib/util/sszBytes.js.map +1 -1
  377. package/lib/util/types.d.ts +0 -5
  378. package/lib/util/types.d.ts.map +1 -1
  379. package/lib/util/types.js +1 -2
  380. package/lib/util/types.js.map +1 -1
  381. package/package.json +16 -17
  382. package/src/api/impl/beacon/blocks/index.ts +24 -64
  383. package/src/api/impl/beacon/pool/index.ts +26 -0
  384. package/src/api/impl/validator/index.ts +43 -29
  385. package/src/chain/GetBlobsTracker.ts +10 -39
  386. package/src/chain/archiveStore/archiveStore.ts +5 -4
  387. package/src/chain/archiveStore/utils/pruneHistory.ts +16 -6
  388. package/src/chain/blocks/blockInput/blockInput.ts +11 -343
  389. package/src/chain/blocks/blockInput/errors.ts +1 -2
  390. package/src/chain/blocks/blockInput/types.ts +2 -20
  391. package/src/chain/blocks/importBlock.ts +56 -72
  392. package/src/chain/blocks/importExecutionPayload.ts +44 -33
  393. package/src/chain/blocks/index.ts +5 -2
  394. package/src/chain/blocks/payloadEnvelopeProcessor.ts +32 -21
  395. package/src/chain/blocks/types.ts +5 -31
  396. package/src/chain/blocks/verifyBlock.ts +30 -16
  397. package/src/chain/blocks/verifyBlocksDataAvailability.ts +6 -1
  398. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +9 -6
  399. package/src/chain/blocks/verifyBlocksSanityChecks.ts +4 -1
  400. package/src/chain/blocks/verifyBlocksSignatures.ts +10 -5
  401. package/src/chain/blocks/verifyPayloadsDataAvailability.ts +1 -3
  402. package/src/chain/blocks/writeBlockInputToDb.ts +6 -29
  403. package/src/chain/bls/interface.ts +2 -0
  404. package/src/chain/bls/multithread/index.ts +43 -19
  405. package/src/chain/chain.ts +135 -37
  406. package/src/chain/emitter.ts +8 -8
  407. package/src/chain/errors/executionPayloadEnvelope.ts +8 -0
  408. package/src/chain/errors/index.ts +0 -1
  409. package/src/chain/forkChoice/index.ts +11 -0
  410. package/src/chain/forkChoiceExecutionEngine.ts +183 -0
  411. package/src/chain/interface.ts +7 -3
  412. package/src/chain/opPools/aggregatedAttestationPool.ts +245 -42
  413. package/src/chain/opPools/attestationPool.ts +15 -3
  414. package/src/chain/opPools/index.ts +1 -0
  415. package/src/chain/opPools/payloadAttestationPool.ts +17 -6
  416. package/src/chain/opPools/singleAttestationPool.ts +287 -0
  417. package/src/chain/opPools/syncCommitteeMessagePool.ts +9 -2
  418. package/src/chain/opPools/syncContributionAndProofPool.ts +12 -2
  419. package/src/chain/options.ts +5 -2
  420. package/src/chain/produceBlock/produceBlockBody.ts +7 -3
  421. package/src/chain/proposerTracker.ts +94 -0
  422. package/src/chain/regen/interface.ts +1 -1
  423. package/src/chain/regen/queued.ts +6 -4
  424. package/src/chain/seenCache/seenGossipBlockInput.ts +9 -93
  425. package/src/chain/validation/aggregateAndProof.ts +1 -1
  426. package/src/chain/validation/attestation.ts +1 -1
  427. package/src/chain/validation/executionPayloadBid.ts +14 -13
  428. package/src/chain/validation/executionPayloadEnvelope.ts +68 -1
  429. package/src/chain/validation/syncCommittee.ts +31 -15
  430. package/src/chain/validation/syncCommitteeContributionAndProof.ts +13 -0
  431. package/src/chain/validatorMonitor.ts +0 -6
  432. package/src/db/flatFileStore/flatFileStore.ts +7 -7
  433. package/src/db/flatFileStore/slotIndex.ts +4 -3
  434. package/src/db/repositories/blobSidecars.ts +0 -1
  435. package/src/execution/builder/apiClient.ts +16 -13
  436. package/src/execution/builder/http.ts +4 -0
  437. package/src/execution/engine/http.ts +19 -42
  438. package/src/execution/engine/interface.ts +18 -9
  439. package/src/execution/engine/jsonRpcTransport.ts +10 -22
  440. package/src/execution/engine/mock.ts +0 -7
  441. package/src/execution/engine/restTransport.ts +3 -22
  442. package/src/execution/engine/sszTypes.ts +0 -9
  443. package/src/execution/engine/transport.ts +8 -17
  444. package/src/execution/engine/types.ts +0 -17
  445. package/src/execution/engine/utils.ts +4 -2
  446. package/src/index.ts +1 -1
  447. package/src/metrics/metrics/beacon.ts +0 -30
  448. package/src/metrics/metrics/lodestar.ts +80 -18
  449. package/src/metrics/server/http.ts +5 -5
  450. package/src/network/core/networkCore.ts +11 -1
  451. package/src/network/core/networkCoreWorker.ts +2 -0
  452. package/src/network/core/networkCoreWorkerHandler.ts +8 -1
  453. package/src/network/core/types.ts +6 -1
  454. package/src/network/gossip/gossipsub.ts +11 -0
  455. package/src/network/gossip/interface.ts +0 -5
  456. package/src/network/gossip/topic.ts +0 -25
  457. package/src/network/interface.ts +2 -5
  458. package/src/network/libp2p/index.ts +5 -1
  459. package/src/network/network.ts +55 -60
  460. package/src/network/options.ts +4 -0
  461. package/src/network/peers/peerManager.ts +28 -3
  462. package/src/network/peers/utils/assertPeerRelevance.ts +39 -23
  463. package/src/network/peers/utils/prioritizePeers.ts +14 -22
  464. package/src/network/peers/utils/subnetMap.ts +6 -3
  465. package/src/network/processor/extractSlotRootFns.ts +0 -9
  466. package/src/network/processor/gossipHandlers.ts +59 -159
  467. package/src/network/processor/gossipQueues/index.ts +0 -6
  468. package/src/network/processor/gossipValidatorFn.ts +0 -5
  469. package/src/network/processor/index.ts +25 -4
  470. package/src/network/reqresp/ReqRespBeaconNode.ts +0 -7
  471. package/src/network/reqresp/handlers/beaconBlocksByHead.ts +1 -1
  472. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +2 -2
  473. package/src/network/reqresp/handlers/index.ts +0 -17
  474. package/src/network/reqresp/protocols.ts +0 -12
  475. package/src/network/reqresp/rateLimit.ts +1 -17
  476. package/src/network/reqresp/types.ts +0 -13
  477. package/src/network/subnets/attnetsService.ts +94 -6
  478. package/src/network/subnets/interface.ts +7 -0
  479. package/src/node/nodejs.ts +34 -15
  480. package/src/node/options.ts +5 -1
  481. package/src/sync/range/batch.ts +9 -21
  482. package/src/sync/range/chain.ts +2 -14
  483. package/src/sync/sync.ts +108 -26
  484. package/src/sync/unknownBlock.ts +1 -8
  485. package/src/sync/utils/downloadByRange.ts +31 -230
  486. package/src/sync/utils/downloadByRoot.ts +15 -142
  487. package/src/util/blobs.ts +0 -34
  488. package/src/util/execution.ts +8 -102
  489. package/src/util/file.ts +8 -9
  490. package/src/util/sszBytes.ts +40 -22
  491. package/src/util/types.ts +1 -8
  492. package/lib/chain/errors/blobSidecarError.d.ts +0 -108
  493. package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
  494. package/lib/chain/errors/blobSidecarError.js +0 -38
  495. package/lib/chain/errors/blobSidecarError.js.map +0 -1
  496. package/lib/chain/validation/blobSidecar.d.ts +0 -16
  497. package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
  498. package/lib/chain/validation/blobSidecar.js +0 -276
  499. package/lib/chain/validation/blobSidecar.js.map +0 -1
  500. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts +0 -9
  501. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
  502. package/lib/network/reqresp/handlers/blobSidecarsByRange.js +0 -91
  503. package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +0 -1
  504. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts +0 -5
  505. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
  506. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js +0 -46
  507. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +0 -1
  508. package/src/chain/errors/blobSidecarError.ts +0 -70
  509. package/src/chain/validation/blobSidecar.ts +0 -357
  510. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -133
  511. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -69
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/validator/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/validator/index.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ export declare const MAX_GET_BLOBS_ATTEMPTS = 3;
10
10
  export declare const GET_BLOBS_RETRY_INTERVAL_MS = 1000;
11
11
  export type GetBlobsTrackerInit = {
12
12
  logger: Logger;
13
- executionEngine: IExecutionEngine;
13
+ executionEngine: Pick<IExecutionEngine, "getBlobs">;
14
14
  emitter: ChainEventEmitter;
15
15
  metrics: Metrics | null;
16
16
  config: ChainForkConfig;
@@ -20,7 +20,7 @@ export type GetBlobsTrackerInit = {
20
20
  */
21
21
  export declare class GetBlobsTracker {
22
22
  logger: Logger;
23
- executionEngine: IExecutionEngine;
23
+ executionEngine: Pick<IExecutionEngine, "getBlobs">;
24
24
  emitter: ChainEventEmitter;
25
25
  metrics: Metrics | null;
26
26
  config: ChainForkConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"GetBlobsTracker.d.ts","sourceRoot":"","sources":["../../src/chain/GetBlobsTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAC,MAAM,EAAgB,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAM9C,OAAO,EAAC,WAAW,EAAoB,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAC,oBAAoB,EAAC,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAC,iBAAiB,EAAC,MAAM,cAAc,CAAC;AAE/C,gHAAgH;AAChH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAGhD,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,gBAAgB,CAAC;IAClC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,eAAe,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,qBAAa,eAAe;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,gBAAgB,CAAC;IAClC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,eAAe,CAAC;IACxB,qBAAqB,cAAqB;IAC1C,cAAc;eAA2B,MAAM;uBAAiB,MAAM;qBAAe,MAAM,CAAC,OAAO;OAAK;IACxG,eAAe,cAAqB;IAGpC,qBAAqB,EAAE;QAAC,OAAO,EAAE,UAAU,EAAE,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAC,EAAE,CAAM;IAEtE,YAAY,IAAI,EAAE,mBAAmB,EAMpC;IAED,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,oBAAoB,GAAG,IAAI,CAwG/D;IAED,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,mBAAmB;CAM5B"}
1
+ {"version":3,"file":"GetBlobsTracker.d.ts","sourceRoot":"","sources":["../../src/chain/GetBlobsTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAC,MAAM,EAAgB,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAE9C,OAAO,EAAC,WAAW,EAAsB,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAC,oBAAoB,EAAC,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAC,iBAAiB,EAAC,MAAM,cAAc,CAAC;AAE/C,gHAAgH;AAChH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAGhD,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IACpD,OAAO,EAAE,iBAAiB,CAAC;IAC3B,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,eAAe,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,qBAAa,eAAe;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IACpD,OAAO,EAAE,iBAAiB,CAAC;IAC3B,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,eAAe,CAAC;IACxB,qBAAqB,cAAqB;IAC1C,cAAc;eAA2B,MAAM;uBAAiB,MAAM;qBAAe,MAAM,CAAC,OAAO;OAAK;IACxG,eAAe,cAAqB;IAGpC,qBAAqB,EAAE;QAAC,OAAO,EAAE,UAAU,EAAE,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAC,EAAE,CAAM;IAEtE,YAAY,IAAI,EAAE,mBAAmB,EAMpC;IAED,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,oBAAoB,GAAG,IAAI,CA+E/D;IAED,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,mBAAmB;CAM5B"}
@@ -1,8 +1,8 @@
1
1
  import { computeEpochAtSlot } from "@lodestar/state-transition";
2
2
  import { pruneSetToMax } from "@lodestar/utils";
3
3
  import { BLOB_AND_PROOF_V2_RPC_BYTES } from "../execution/engine/types.js";
4
- import { DataColumnEngineResult, getBlobSidecarsFromExecution, getDataColumnSidecarsFromExecution, } from "../util/execution.js";
5
- import { isBlockInputBlobs } from "./blocks/blockInput/index.js";
4
+ import { DataColumnEngineResult, getDataColumnSidecarsFromExecution } from "../util/execution.js";
5
+ import { isBlockInputColumns } from "./blocks/blockInput/index.js";
6
6
  import { PayloadEnvelopeInput } from "./blocks/payloadEnvelopeInput/index.js";
7
7
  /** A `null` answer only changes if the EL receives the transactions later, so retries are few and spaced out */
8
8
  export const MAX_GET_BLOBS_ATTEMPTS = 3;
@@ -31,6 +31,9 @@ export class GetBlobsTracker {
31
31
  this.config = init.config;
32
32
  }
33
33
  triggerGetBlobs(input) {
34
+ if (!(input instanceof PayloadEnvelopeInput) && !isBlockInputColumns(input)) {
35
+ return;
36
+ }
34
37
  if (this.activeReconstructions.has(input.blockRootHex)) {
35
38
  this.pendingTriggers.add(input.blockRootHex);
36
39
  return;
@@ -52,35 +55,6 @@ export class GetBlobsTracker {
52
55
  return;
53
56
  }
54
57
  }
55
- // The request is sent right away, before block processing issues newPayload: ELs that drop a
56
- // transaction's blobs once the payload is validated can only answer a request that gets there first
57
- if (!(input instanceof PayloadEnvelopeInput) && isBlockInputBlobs(input)) {
58
- // there is not preallocation for blob sidecars like there is for columns sidecars so no need to
59
- // store the index for the preallocated buffers
60
- this.activeReconstructions.add(input.blockRootHex);
61
- const logCtx = { slot: input.slot, root: input.blockRootHex };
62
- this.logger.verbose("Trigger getBlobsV1 for block", logCtx);
63
- let requestFailed = false;
64
- getBlobSidecarsFromExecution(this.config, this.executionEngine, this.metrics, this.emitter, input)
65
- .then(() => {
66
- // EL errors and misses are handled inside the helper, blobs still missing means the attempt failed
67
- if (!input.hasAllData()) {
68
- requestFailed = true;
69
- this.recordFailedAttempt(input.blockRootHex);
70
- }
71
- })
72
- .catch((error) => {
73
- this.logger.debug("Error during getBlobsV1 for block", logCtx, error);
74
- requestFailed = true;
75
- this.recordFailedAttempt(input.blockRootHex);
76
- })
77
- .finally(() => {
78
- this.logger.verbose("Completed getBlobsV1 for block", logCtx);
79
- this.activeReconstructions.delete(input.blockRootHex);
80
- this.retryPendingTrigger(input, requestFailed);
81
- });
82
- return;
83
- }
84
58
  let freeIndex = this.blobsAndProofsBuffers.findIndex(({ inUse }) => !inUse);
85
59
  if (freeIndex === -1) {
86
60
  freeIndex = this.blobsAndProofsBuffers.length;
@@ -100,6 +74,8 @@ export class GetBlobsTracker {
100
74
  const logCtx = { slot: input.slot, root: input.blockRootHex };
101
75
  this.logger.verbose("Trigger getBlobsV2 for block", logCtx);
102
76
  let requestFailed = false;
77
+ // The request is sent right away, before block processing issues newPayload: ELs that drop a
78
+ // transaction's blobs once the payload is validated can only answer a request that gets there first
103
79
  getDataColumnSidecarsFromExecution(this.config, this.executionEngine, this.emitter, input, this.metrics, this.blobsAndProofsBuffers[freeIndex].buffers)
104
80
  .then((result) => {
105
81
  this.logger.debug("getBlobsV2 result for block", { ...logCtx, result });
@@ -1 +1 @@
1
- {"version":3,"file":"GetBlobsTracker.js","sourceRoot":"","sources":["../../src/chain/GetBlobsTracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GetBlobsTracker.js","sourceRoot":"","sources":["../../src/chain/GetBlobsTracker.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"archiveStore.d.ts","sourceRoot":"","sources":["../../../src/chain/archiveStore/archiveStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAGjD,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAC;AAKjD,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAG7C,OAAO,EAAc,gBAAgB,EAAuB,MAAM,gBAAgB,CAAC;AAKnF,KAAK,mBAAmB,GAAG;IACzB,KAAK,EAAE,YAAY,CAAC;IACpB,EAAE,EAAE,SAAS,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,KAAK,oBAAoB,GAAG,gBAAgB,GAAG;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE;QAAC,mBAAmB,EAAE,UAAU,CAAA;KAAC,CAAC;CAChD,CAAC;AAEF,oBAAY,gBAAgB;IAC1B,aAAa,mBAAmB;IAChC,YAAY,kBAAkB;IAC9B,qBAAqB,4BAA4B;IACjD,iBAAiB,wBAAwB;IACzC,eAAe,qBAAqB;CACrC;AAED;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,QAAQ,CAA0C;IAE1D,OAAO,CAAC,iBAAiB,CAAC,CAAS;IAEnC,OAAO,CAAC,kBAAkB,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAuB;IAC9D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAY;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAuB;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IAErC,OAAO,CAAC,oBAAoB,CAAC,CAAuB;IAEpD,YAAY,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,WAAW,EAwCxF;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAoC1B;IAED;;;OAGG;IACH,OAAO,CAAC,4BAA4B,CAMlC;IAEI,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3B;IAEK,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAErC;IAEK,wBAAwB,CAC5B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;QAAC,KAAK,EAAE,UAAU,CAAC;QAAC,mBAAmB,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAC,GAAG,IAAI,CAAC,CAcvF;IAED;;SAEK;IACC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAEnC;IAKD,OAAO,CAAC,qBAAqB,CAuB3B;IAEF,OAAO,CAAC,YAAY,CAWlB;IAEF,OAAO,CAAC,0BAA0B,CAkEhC;CACH"}
1
+ {"version":3,"file":"archiveStore.d.ts","sourceRoot":"","sources":["../../../src/chain/archiveStore/archiveStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAGjD,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAC;AAKjD,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAG7C,OAAO,EAAc,gBAAgB,EAAuB,MAAM,gBAAgB,CAAC;AAKnF,KAAK,mBAAmB,GAAG;IACzB,KAAK,EAAE,YAAY,CAAC;IACpB,EAAE,EAAE,SAAS,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,KAAK,oBAAoB,GAAG,gBAAgB,GAAG;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE;QAAC,mBAAmB,EAAE,UAAU,CAAA;KAAC,CAAC;CAChD,CAAC;AAEF,oBAAY,gBAAgB;IAC1B,aAAa,mBAAmB;IAChC,YAAY,kBAAkB;IAC9B,qBAAqB,4BAA4B;IACjD,iBAAiB,wBAAwB;IACzC,eAAe,qBAAqB;CACrC;AAED;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,QAAQ,CAA0C;IAE1D,OAAO,CAAC,iBAAiB,CAAC,CAAS;IAEnC,OAAO,CAAC,kBAAkB,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAuB;IAC9D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAY;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAuB;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IAErC,OAAO,CAAC,oBAAoB,CAAC,CAAuB;IAEpD,YAAY,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,WAAW,EAwCxF;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAoC1B;IAED;;;OAGG;IACH,OAAO,CAAC,4BAA4B,CAMlC;IAEI,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3B;IAEK,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAErC;IAEK,wBAAwB,CAC5B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;QAAC,KAAK,EAAE,UAAU,CAAC;QAAC,mBAAmB,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAC,GAAG,IAAI,CAAC,CAcvF;IAED;;SAEK;IACC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAEnC;IAKD,OAAO,CAAC,qBAAqB,CAuB3B;IAEF,OAAO,CAAC,YAAY,CAWlB;IAEF,OAAO,CAAC,0BAA0B,CAmEhC;CACH"}
@@ -9,7 +9,7 @@ import { HistoricalStateRegen } from "./historicalState/historicalStateRegen.js"
9
9
  import { ArchiveMode } from "./interface.js";
10
10
  import { FrequencyStateArchiveStrategy } from "./strategies/frequencyStateArchiveStrategy.js";
11
11
  import { archiveBlocks } from "./utils/archiveBlocks.js";
12
- import { pruneHistory } from "./utils/pruneHistory.js";
12
+ import { MAX_PRUNE_BLOCK_SLOTS_PER_RUN, pruneHistory } from "./utils/pruneHistory.js";
13
13
  export var ArchiveStoreTask;
14
14
  (function (ArchiveStoreTask) {
15
15
  ArchiveStoreTask["ArchiveBlocks"] = "archive_blocks";
@@ -66,9 +66,8 @@ export class ArchiveStore {
66
66
  }
67
67
  async init() {
68
68
  if (this.opts.pruneHistory) {
69
- // prune ALL stale data before starting
70
69
  this.logger.info("Pruning historical data");
71
- const { stateCutoffSlot } = await callFnWhenAwait(pruneHistory(this.chain.config, this.db, this.logger, this.metrics, this.opts.anchorState.finalizedCheckpoint.epoch, this.chain.clock.currentEpoch, this.statePruneFromSlot, this.advanceEarliestAvailableSlot), () => this.logger.info("Still pruning historical data, please wait..."), 30_000, this.signal);
70
+ const { stateCutoffSlot } = await callFnWhenAwait(pruneHistory(this.chain.config, this.db, this.logger, this.metrics, this.opts.anchorState.finalizedCheckpoint.epoch, this.chain.clock.currentEpoch, this.statePruneFromSlot, this.advanceEarliestAvailableSlot, MAX_PRUNE_BLOCK_SLOTS_PER_RUN), () => this.logger.info("Still pruning historical data, please wait..."), 30_000, this.signal);
72
71
  this.statePruneFromSlot = stateCutoffSlot;
73
72
  }
74
73
  if (this.opts.serveHistoricalState) {
@@ -163,7 +162,7 @@ export class ArchiveStore {
163
162
  timer?.({ source: ArchiveStoreTask.ArchiveBlocks });
164
163
  if (this.opts.pruneHistory) {
165
164
  timer = this.metrics?.processFinalizedCheckpoint.durationByTask.startTimer();
166
- const { stateCutoffSlot } = await pruneHistory(this.chain.config, this.db, this.logger, this.metrics, finalizedEpoch, this.chain.clock.currentEpoch, this.statePruneFromSlot, this.advanceEarliestAvailableSlot);
165
+ const { stateCutoffSlot } = await pruneHistory(this.chain.config, this.db, this.logger, this.metrics, finalizedEpoch, this.chain.clock.currentEpoch, this.statePruneFromSlot, this.advanceEarliestAvailableSlot, MAX_PRUNE_BLOCK_SLOTS_PER_RUN);
167
166
  this.statePruneFromSlot = stateCutoffSlot;
168
167
  timer?.({ source: ArchiveStoreTask.PruneHistory });
169
168
  }
@@ -1 +1 @@
1
- {"version":3,"file":"archiveStore.js","sourceRoot":"","sources":["../../../src/chain/archiveStore/archiveStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"archiveStore.js","sourceRoot":"","sources":["../../../src/chain/archiveStore/archiveStore.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,16 @@
1
- import { ChainConfig } from "@lodestar/config";
1
+ import { ChainForkConfig } from "@lodestar/config";
2
2
  import { Epoch, Slot } from "@lodestar/types";
3
3
  import { Logger } from "@lodestar/utils";
4
4
  import { IBeaconDb } from "../../../db/interface.js";
5
5
  import { Metrics } from "../../../metrics/index.js";
6
- export declare function pruneHistory(config: ChainConfig, db: IBeaconDb, logger: Logger, metrics: Metrics | null | undefined, finalizedEpoch: Epoch, currentEpoch: Epoch, statePruneFromSlot: Slot, beforePrune: (blockCutoffSlot: Slot) => Promise<void>): Promise<{
6
+ /**
7
+ * Bounds the blocks pruned per run, on startup and on every finalized checkpoint, so a large backlog is
8
+ * drained over many runs instead of stalling one. The cutoff can be far ahead when pruning is first enabled
9
+ * on an existing database, when the retention window shrinks at a fork or when finality resumes after a
10
+ * long period of non-finality.
11
+ */
12
+ export declare const MAX_PRUNE_BLOCK_SLOTS_PER_RUN = 4096;
13
+ export declare function pruneHistory(config: ChainForkConfig, db: IBeaconDb, logger: Logger, metrics: Metrics | null | undefined, finalizedEpoch: Epoch, currentEpoch: Epoch, statePruneFromSlot: Slot, beforePrune: (blockCutoffSlot: Slot) => Promise<void>, maxBlockSlots?: number): Promise<{
7
14
  blockCutoffSlot: Slot;
8
15
  stateCutoffSlot: Slot;
9
16
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"pruneHistory.d.ts","sourceRoot":"","sources":["../../../../src/chain/archiveStore/utils/pruneHistory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,MAAM,EAAqB,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAC,OAAO,EAAC,MAAM,2BAA2B,CAAC;AAElD,wBAAsB,YAAY,CAChC,MAAM,EAAE,WAAW,EACnB,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EACnC,cAAc,EAAE,KAAK,EACrB,YAAY,EAAE,KAAK,EACnB,kBAAkB,EAAE,IAAI,EACxB,WAAW,EAAE,CAAC,eAAe,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,GACpD,OAAO,CAAC;IAAC,eAAe,EAAE,IAAI,CAAC;IAAC,eAAe,EAAE,IAAI,CAAA;CAAC,CAAC,CAwDzD"}
1
+ {"version":3,"file":"pruneHistory.d.ts","sourceRoot":"","sources":["../../../../src/chain/archiveStore/utils/pruneHistory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,MAAM,EAAqB,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAC,OAAO,EAAC,MAAM,2BAA2B,CAAC;AAElD;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,OAAO,CAAC;AAElD,wBAAsB,YAAY,CAChC,MAAM,EAAE,eAAe,EACvB,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EACnC,cAAc,EAAE,KAAK,EACrB,YAAY,EAAE,KAAK,EACnB,kBAAkB,EAAE,IAAI,EACxB,WAAW,EAAE,CAAC,eAAe,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,EACrD,aAAa,SAAW,GACvB,OAAO,CAAC;IAAC,eAAe,EAAE,IAAI,CAAC;IAAC,eAAe,EAAE,IAAI,CAAA;CAAC,CAAC,CAyDzD"}
@@ -1,19 +1,27 @@
1
1
  import { computeStartSlotAtEpoch } from "@lodestar/state-transition";
2
2
  import { prettyPrintIndices } from "@lodestar/utils";
3
- export async function pruneHistory(config, db, logger, metrics, finalizedEpoch, currentEpoch, statePruneFromSlot, beforePrune) {
3
+ /**
4
+ * Bounds the blocks pruned per run, on startup and on every finalized checkpoint, so a large backlog is
5
+ * drained over many runs instead of stalling one. The cutoff can be far ahead when pruning is first enabled
6
+ * on an existing database, when the retention window shrinks at a fork or when finality resumes after a
7
+ * long period of non-finality.
8
+ */
9
+ export const MAX_PRUNE_BLOCK_SLOTS_PER_RUN = 4096;
10
+ export async function pruneHistory(config, db, logger, metrics, finalizedEpoch, currentEpoch, statePruneFromSlot, beforePrune, maxBlockSlots = Infinity) {
4
11
  const blockCutoffEpoch = Math.min(
5
12
  // set by config, with underflow protection
6
- Math.max(currentEpoch - config.MIN_EPOCHS_FOR_BLOCK_REQUESTS, 0),
13
+ Math.max(currentEpoch - config.getMinEpochsForBlockRequests(currentEpoch), 0),
7
14
  // ensure that during (extremely lol) long periods of non-finality we don't delete unfinalized epoch data
8
15
  finalizedEpoch);
9
- const blockCutoffSlot = computeStartSlotAtEpoch(blockCutoffEpoch);
16
+ const firstBlockSlot = (await db.blockArchive.firstKey()) ?? 0;
17
+ const blockCutoffSlot = Math.min(computeStartSlotAtEpoch(blockCutoffEpoch), firstBlockSlot + maxBlockSlots);
10
18
  // The latest archived state is the anchor on restart and can trail finalization by a few epochs
11
19
  const lastArchivedStateSlot = (await db.stateArchive.lastKey()) ?? 0;
12
20
  const stateCutoffSlot = Math.min(computeStartSlotAtEpoch(finalizedEpoch), lastArchivedStateSlot);
13
21
  logger.debug("Preparing to prune history", {
14
22
  currentEpoch,
15
23
  finalizedEpoch,
16
- blockCutoffEpoch,
24
+ blockCutoffSlot,
17
25
  statePruneFromSlot,
18
26
  stateCutoffSlot,
19
27
  });
@@ -1 +1 @@
1
- {"version":3,"file":"pruneHistory.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/utils/pruneHistory.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,uBAAuB,EAAC,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAS,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAI3D,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAmB,EACnB,EAAa,EACb,MAAc,EACd,OAAmC,EACnC,cAAqB,EACrB,YAAmB,EACnB,kBAAwB,EACxB,WAAqD;IAErD,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG;IAC/B,2CAA2C;IAC3C,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,MAAM,CAAC,6BAA6B,EAAE,CAAC,CAAC;IAChE,yGAAyG;IACzG,cAAc,CACf,CAAC;IACF,MAAM,eAAe,GAAG,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;IAClE,gGAAgG;IAChG,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;IACrE,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAEjG,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;QACzC,YAAY;QACZ,cAAc;QACd,gBAAgB;QAChB,kBAAkB;QAClB,eAAe;KAChB,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;IAC3D,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpD,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,eAAe,EAAC,CAAC;QACnD,EAAE,CAAC,+BAA+B,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,eAAe,EAAC,CAAC;QACtE,eAAe,GAAG,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,kBAAkB,EAAE,EAAE,EAAE,eAAe,EAAC,CAAC,CAAC,CAAC,CAAC,EAAE;KACjH,CAAC,CAAC;IACH,KAAK,EAAE,EAAE,CAAC;IAEV,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE;QAC9B,YAAY;QACZ,aAAa,EAAE,MAAM,CAAC,MAAM;QAC5B,gBAAgB,EAAE,SAAS,CAAC,MAAM;QAClC,aAAa,EAAE,MAAM,CAAC,MAAM;QAC5B,UAAU,EAAE,kBAAkB,CAAC,MAAM,CAAC;QACtC,aAAa,EAAE,kBAAkB,CAAC,SAAS,CAAC;QAC5C,UAAU,EAAE,kBAAkB,CAAC,MAAM,CAAC;KACvC,CAAC,CAAC;IAEH,MAAM,WAAW,CAAC,eAAe,CAAC,CAAC;IAEnC,MAAM,KAAK,GAAG,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;IAC3D,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,KAAK;QACL,EAAE,CAAC,YAAY,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACxC,EAAE,CAAC,+BAA+B,CAAC,WAAW,CAAC,SAAS,CAAC;QACzD,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC;KACpC,CAAC,CAAC;IACH,KAAK,EAAE,EAAE,CAAC;IAEV,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE;QAC7B,YAAY;KACb,CAAC,CAAC;IAEH,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;IAEvC,OAAO,EAAC,eAAe,EAAE,eAAe,EAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"pruneHistory.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/utils/pruneHistory.ts"],"names":[],"mappings":"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"}