@lodestar/beacon-node 1.51.0-dev.2b933d3b9a → 1.51.0-dev.2bcbe7ce2d

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 (331) hide show
  1. package/lib/api/impl/api.js +1 -1
  2. package/lib/api/impl/api.js.map +1 -1
  3. package/lib/api/impl/beacon/blocks/index.d.ts +2 -1
  4. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  5. package/lib/api/impl/beacon/blocks/index.js +29 -34
  6. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  7. package/lib/api/impl/beacon/index.d.ts +2 -1
  8. package/lib/api/impl/beacon/index.d.ts.map +1 -1
  9. package/lib/api/impl/beacon/index.js +2 -2
  10. package/lib/api/impl/beacon/index.js.map +1 -1
  11. package/lib/api/impl/beacon/pool/index.d.ts.map +1 -1
  12. package/lib/api/impl/beacon/pool/index.js +5 -2
  13. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  14. package/lib/api/impl/beacon/state/utils.d.ts +1 -1
  15. package/lib/api/impl/beacon/state/utils.d.ts.map +1 -1
  16. package/lib/api/impl/validator/index.d.ts +6 -0
  17. package/lib/api/impl/validator/index.d.ts.map +1 -1
  18. package/lib/api/impl/validator/index.js +49 -31
  19. package/lib/api/impl/validator/index.js.map +1 -1
  20. package/lib/api/options.d.ts +2 -0
  21. package/lib/api/options.d.ts.map +1 -1
  22. package/lib/api/options.js +1 -0
  23. package/lib/api/options.js.map +1 -1
  24. package/lib/chain/GetBlobsTracker.d.ts +11 -0
  25. package/lib/chain/GetBlobsTracker.d.ts.map +1 -1
  26. package/lib/chain/GetBlobsTracker.js +85 -27
  27. package/lib/chain/GetBlobsTracker.js.map +1 -1
  28. package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
  29. package/lib/chain/archiveStore/archiveStore.js +1 -0
  30. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  31. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts +4 -0
  32. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +1 -1
  33. package/lib/chain/archiveStore/utils/archiveBlocks.js +61 -97
  34. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  35. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  36. package/lib/chain/blocks/importBlock.js +6 -5
  37. package/lib/chain/blocks/importBlock.js.map +1 -1
  38. package/lib/chain/blocks/importExecutionPayload.d.ts +6 -11
  39. package/lib/chain/blocks/importExecutionPayload.d.ts.map +1 -1
  40. package/lib/chain/blocks/importExecutionPayload.js +10 -16
  41. package/lib/chain/blocks/importExecutionPayload.js.map +1 -1
  42. package/lib/chain/blocks/index.js +2 -2
  43. package/lib/chain/blocks/index.js.map +1 -1
  44. package/lib/chain/blocks/payloadEnvelopeProcessor.d.ts +12 -9
  45. package/lib/chain/blocks/payloadEnvelopeProcessor.d.ts.map +1 -1
  46. package/lib/chain/blocks/payloadEnvelopeProcessor.js +24 -19
  47. package/lib/chain/blocks/payloadEnvelopeProcessor.js.map +1 -1
  48. package/lib/chain/blocks/types.d.ts +4 -1
  49. package/lib/chain/blocks/types.d.ts.map +1 -1
  50. package/lib/chain/blocks/verifyBlock.d.ts.map +1 -1
  51. package/lib/chain/blocks/verifyBlock.js +18 -7
  52. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  53. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +1 -1
  54. package/lib/chain/blocks/verifyBlocksDataAvailability.js +8 -1
  55. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  56. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +1 -1
  57. package/lib/chain/blocks/verifyBlocksSignatures.js +7 -5
  58. package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
  59. package/lib/chain/blocks/verifyPayloadsDataAvailability.d.ts +3 -3
  60. package/lib/chain/blocks/verifyPayloadsDataAvailability.d.ts.map +1 -1
  61. package/lib/chain/blocks/verifyPayloadsDataAvailability.js +11 -6
  62. package/lib/chain/blocks/verifyPayloadsDataAvailability.js.map +1 -1
  63. package/lib/chain/bls/interface.d.ts +2 -0
  64. package/lib/chain/bls/interface.d.ts.map +1 -1
  65. package/lib/chain/bls/multithread/index.d.ts.map +1 -1
  66. package/lib/chain/bls/multithread/index.js +13 -11
  67. package/lib/chain/bls/multithread/index.js.map +1 -1
  68. package/lib/chain/bls/multithread/types.d.ts +1 -1
  69. package/lib/chain/bls/multithread/types.d.ts.map +1 -1
  70. package/lib/chain/bls/multithread/worker.js +1 -1
  71. package/lib/chain/bls/multithread/worker.js.map +1 -1
  72. package/lib/chain/bls/singleThread.js +1 -1
  73. package/lib/chain/bls/singleThread.js.map +1 -1
  74. package/lib/chain/bls/utils.js +1 -1
  75. package/lib/chain/bls/utils.js.map +1 -1
  76. package/lib/chain/chain.d.ts +1 -1
  77. package/lib/chain/chain.d.ts.map +1 -1
  78. package/lib/chain/chain.js +4 -4
  79. package/lib/chain/chain.js.map +1 -1
  80. package/lib/chain/errors/blockError.d.ts +1 -1
  81. package/lib/chain/errors/blockError.d.ts.map +1 -1
  82. package/lib/chain/errors/blockError.js +1 -1
  83. package/lib/chain/errors/blockError.js.map +1 -1
  84. package/lib/chain/interface.d.ts +2 -3
  85. package/lib/chain/interface.d.ts.map +1 -1
  86. package/lib/chain/interface.js.map +1 -1
  87. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
  88. package/lib/chain/opPools/aggregatedAttestationPool.js +23 -10
  89. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  90. package/lib/chain/opPools/attestationPool.d.ts +1 -1
  91. package/lib/chain/opPools/attestationPool.d.ts.map +1 -1
  92. package/lib/chain/opPools/attestationPool.js +15 -4
  93. package/lib/chain/opPools/attestationPool.js.map +1 -1
  94. package/lib/chain/opPools/inclusionListStore.d.ts.map +1 -1
  95. package/lib/chain/opPools/inclusionListStore.js +2 -2
  96. package/lib/chain/opPools/inclusionListStore.js.map +1 -1
  97. package/lib/chain/opPools/payloadAttestationPool.d.ts.map +1 -1
  98. package/lib/chain/opPools/payloadAttestationPool.js +17 -7
  99. package/lib/chain/opPools/payloadAttestationPool.js.map +1 -1
  100. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +1 -1
  101. package/lib/chain/opPools/syncCommitteeMessagePool.js +9 -3
  102. package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
  103. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +1 -1
  104. package/lib/chain/opPools/syncContributionAndProofPool.js +11 -3
  105. package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
  106. package/lib/chain/opPools/utils.d.ts +1 -1
  107. package/lib/chain/opPools/utils.d.ts.map +1 -1
  108. package/lib/chain/opPools/utils.js +1 -1
  109. package/lib/chain/opPools/utils.js.map +1 -1
  110. package/lib/chain/options.d.ts +0 -1
  111. package/lib/chain/options.d.ts.map +1 -1
  112. package/lib/chain/options.js +0 -1
  113. package/lib/chain/options.js.map +1 -1
  114. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  115. package/lib/chain/produceBlock/produceBlockBody.js +0 -1
  116. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  117. package/lib/chain/regen/interface.d.ts +0 -1
  118. package/lib/chain/regen/interface.d.ts.map +1 -1
  119. package/lib/chain/regen/interface.js +0 -1
  120. package/lib/chain/regen/interface.js.map +1 -1
  121. package/lib/chain/validation/executionPayloadBid.d.ts +0 -15
  122. package/lib/chain/validation/executionPayloadBid.d.ts.map +1 -1
  123. package/lib/chain/validation/executionPayloadBid.js +13 -166
  124. package/lib/chain/validation/executionPayloadBid.js.map +1 -1
  125. package/lib/chain/validation/inclusionList.d.ts.map +1 -1
  126. package/lib/chain/validation/inclusionList.js +11 -2
  127. package/lib/chain/validation/inclusionList.js.map +1 -1
  128. package/lib/db/beacon.d.ts +7 -0
  129. package/lib/db/beacon.d.ts.map +1 -1
  130. package/lib/db/beacon.js +34 -0
  131. package/lib/db/beacon.js.map +1 -1
  132. package/lib/db/dataColumnStore.d.ts +1 -1
  133. package/lib/db/dataColumnStore.d.ts.map +1 -1
  134. package/lib/db/dataColumnStore.js +1 -4
  135. package/lib/db/dataColumnStore.js.map +1 -1
  136. package/lib/db/flatFileStore/flatFileStore.js +5 -5
  137. package/lib/db/flatFileStore/flatFileStore.js.map +1 -1
  138. package/lib/db/flatFileStore/slotIndex.d.ts.map +1 -1
  139. package/lib/db/flatFileStore/slotIndex.js +2 -2
  140. package/lib/db/flatFileStore/slotIndex.js.map +1 -1
  141. package/lib/db/interface.d.ts +1 -0
  142. package/lib/db/interface.d.ts.map +1 -1
  143. package/lib/db/repositories/dataColumnSidecarArchive.d.ts +6 -0
  144. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +1 -1
  145. package/lib/db/repositories/dataColumnSidecarArchive.js +19 -0
  146. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  147. package/lib/execution/builder/apiClient.d.ts +14 -8
  148. package/lib/execution/builder/apiClient.d.ts.map +1 -1
  149. package/lib/execution/builder/apiClient.js +12 -10
  150. package/lib/execution/builder/apiClient.js.map +1 -1
  151. package/lib/execution/builder/http.d.ts +2 -0
  152. package/lib/execution/builder/http.d.ts.map +1 -1
  153. package/lib/execution/builder/http.js +2 -0
  154. package/lib/execution/builder/http.js.map +1 -1
  155. package/lib/execution/engine/blobVersionedHashes.d.ts +1 -1
  156. package/lib/execution/engine/blobVersionedHashes.d.ts.map +1 -1
  157. package/lib/execution/engine/blobVersionedHashes.js.map +1 -1
  158. package/lib/execution/engine/http.d.ts.map +1 -1
  159. package/lib/execution/engine/http.js +0 -1
  160. package/lib/execution/engine/http.js.map +1 -1
  161. package/lib/execution/engine/index.d.ts +1 -1
  162. package/lib/execution/engine/index.d.ts.map +1 -1
  163. package/lib/execution/engine/index.js +1 -1
  164. package/lib/execution/engine/index.js.map +1 -1
  165. package/lib/execution/engine/interface.d.ts +1 -1
  166. package/lib/execution/engine/interface.d.ts.map +1 -1
  167. package/lib/execution/engine/interface.js.map +1 -1
  168. package/lib/execution/engine/mock.d.ts.map +1 -1
  169. package/lib/execution/engine/mock.js +6 -4
  170. package/lib/execution/engine/mock.js.map +1 -1
  171. package/lib/execution/engine/payloadIdCache.d.ts +1 -2
  172. package/lib/execution/engine/payloadIdCache.d.ts.map +1 -1
  173. package/lib/execution/engine/payloadIdCache.js +3 -3
  174. package/lib/execution/engine/payloadIdCache.js.map +1 -1
  175. package/lib/execution/engine/sszTypes.d.ts +38 -38
  176. package/lib/execution/engine/types.d.ts +1 -1
  177. package/lib/execution/engine/types.d.ts.map +1 -1
  178. package/lib/execution/engine/types.js +9 -8
  179. package/lib/execution/engine/types.js.map +1 -1
  180. package/lib/index.d.ts +1 -0
  181. package/lib/index.d.ts.map +1 -1
  182. package/lib/index.js +2 -0
  183. package/lib/index.js.map +1 -1
  184. package/lib/metrics/metrics/lodestar.d.ts +7 -0
  185. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  186. package/lib/metrics/metrics/lodestar.js +15 -0
  187. package/lib/metrics/metrics/lodestar.js.map +1 -1
  188. package/lib/monitoring/service.js +1 -1
  189. package/lib/monitoring/service.js.map +1 -1
  190. package/lib/network/core/networkCore.d.ts +2 -0
  191. package/lib/network/core/networkCore.d.ts.map +1 -1
  192. package/lib/network/core/networkCore.js +3 -0
  193. package/lib/network/core/networkCore.js.map +1 -1
  194. package/lib/network/core/networkCoreWorker.js +1 -0
  195. package/lib/network/core/networkCoreWorker.js.map +1 -1
  196. package/lib/network/core/networkCoreWorkerHandler.d.ts +2 -0
  197. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +1 -1
  198. package/lib/network/core/networkCoreWorkerHandler.js +3 -0
  199. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  200. package/lib/network/core/types.d.ts +2 -0
  201. package/lib/network/core/types.d.ts.map +1 -1
  202. package/lib/network/gossip/topic.d.ts +6 -6
  203. package/lib/network/interface.d.ts +2 -0
  204. package/lib/network/interface.d.ts.map +1 -1
  205. package/lib/network/libp2p/index.d.ts.map +1 -1
  206. package/lib/network/libp2p/index.js +5 -1
  207. package/lib/network/libp2p/index.js.map +1 -1
  208. package/lib/network/network.d.ts +2 -0
  209. package/lib/network/network.d.ts.map +1 -1
  210. package/lib/network/network.js +6 -1
  211. package/lib/network/network.js.map +1 -1
  212. package/lib/network/options.d.ts +2 -0
  213. package/lib/network/options.d.ts.map +1 -1
  214. package/lib/network/options.js.map +1 -1
  215. package/lib/network/peers/peerManager.d.ts +2 -1
  216. package/lib/network/peers/peerManager.d.ts.map +1 -1
  217. package/lib/network/peers/peerManager.js.map +1 -1
  218. package/lib/network/peers/utils/assertPeerRelevance.d.ts +9 -1
  219. package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +1 -1
  220. package/lib/network/peers/utils/assertPeerRelevance.js +32 -21
  221. package/lib/network/peers/utils/assertPeerRelevance.js.map +1 -1
  222. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  223. package/lib/network/processor/gossipHandlers.js +36 -26
  224. package/lib/network/processor/gossipHandlers.js.map +1 -1
  225. package/lib/network/processor/index.d.ts.map +1 -1
  226. package/lib/network/processor/index.js +26 -25
  227. package/lib/network/processor/index.js.map +1 -1
  228. package/lib/node/nodejs.d.ts +1 -1
  229. package/lib/node/nodejs.d.ts.map +1 -1
  230. package/lib/node/nodejs.js +11 -2
  231. package/lib/node/nodejs.js.map +1 -1
  232. package/lib/node/options.d.ts +3 -1
  233. package/lib/node/options.d.ts.map +1 -1
  234. package/lib/node/options.js +4 -2
  235. package/lib/node/options.js.map +1 -1
  236. package/lib/sync/interface.d.ts.map +1 -1
  237. package/lib/sync/interface.js.map +1 -1
  238. package/lib/sync/sync.d.ts +7 -0
  239. package/lib/sync/sync.d.ts.map +1 -1
  240. package/lib/sync/sync.js +61 -3
  241. package/lib/sync/sync.js.map +1 -1
  242. package/lib/sync/unknownBlock.d.ts.map +1 -1
  243. package/lib/sync/unknownBlock.js +42 -18
  244. package/lib/sync/unknownBlock.js.map +1 -1
  245. package/lib/util/file.d.ts.map +1 -1
  246. package/lib/util/file.js +8 -9
  247. package/lib/util/file.js.map +1 -1
  248. package/lib/util/queue/itemQueue.js +1 -1
  249. package/lib/util/queue/itemQueue.js.map +1 -1
  250. package/lib/util/sszBytes.js +2 -2
  251. package/lib/util/sszBytes.js.map +1 -1
  252. package/package.json +31 -32
  253. package/src/api/impl/api.ts +1 -1
  254. package/src/api/impl/beacon/blocks/index.ts +57 -62
  255. package/src/api/impl/beacon/index.ts +3 -1
  256. package/src/api/impl/beacon/pool/index.ts +5 -1
  257. package/src/api/impl/beacon/state/utils.ts +1 -1
  258. package/src/api/impl/validator/index.ts +54 -37
  259. package/src/api/options.ts +3 -0
  260. package/src/chain/GetBlobsTracker.ts +97 -38
  261. package/src/chain/archiveStore/archiveStore.ts +1 -0
  262. package/src/chain/archiveStore/utils/archiveBlocks.ts +76 -130
  263. package/src/chain/blocks/importBlock.ts +8 -7
  264. package/src/chain/blocks/importExecutionPayload.ts +15 -22
  265. package/src/chain/blocks/index.ts +6 -2
  266. package/src/chain/blocks/payloadEnvelopeProcessor.ts +35 -24
  267. package/src/chain/blocks/types.ts +4 -1
  268. package/src/chain/blocks/verifyBlock.ts +31 -16
  269. package/src/chain/blocks/verifyBlocksDataAvailability.ts +10 -1
  270. package/src/chain/blocks/verifyBlocksSignatures.ts +7 -5
  271. package/src/chain/blocks/verifyPayloadsDataAvailability.ts +14 -6
  272. package/src/chain/bls/interface.ts +2 -0
  273. package/src/chain/bls/multithread/index.ts +14 -10
  274. package/src/chain/bls/multithread/types.ts +1 -1
  275. package/src/chain/bls/multithread/worker.ts +1 -5
  276. package/src/chain/bls/singleThread.ts +1 -1
  277. package/src/chain/bls/utils.ts +1 -1
  278. package/src/chain/chain.ts +5 -5
  279. package/src/chain/errors/blockError.ts +1 -1
  280. package/src/chain/interface.ts +2 -3
  281. package/src/chain/opPools/aggregatedAttestationPool.ts +25 -9
  282. package/src/chain/opPools/attestationPool.ts +16 -4
  283. package/src/chain/opPools/inclusionListStore.ts +3 -3
  284. package/src/chain/opPools/payloadAttestationPool.ts +18 -7
  285. package/src/chain/opPools/syncCommitteeMessagePool.ts +10 -3
  286. package/src/chain/opPools/syncContributionAndProofPool.ts +13 -3
  287. package/src/chain/opPools/utils.ts +1 -1
  288. package/src/chain/options.ts +0 -2
  289. package/src/chain/produceBlock/produceBlockBody.ts +0 -1
  290. package/src/chain/regen/interface.ts +0 -1
  291. package/src/chain/validation/executionPayloadBid.ts +14 -193
  292. package/src/chain/validation/inclusionList.ts +11 -2
  293. package/src/db/beacon.ts +44 -0
  294. package/src/db/dataColumnStore.ts +2 -4
  295. package/src/db/flatFileStore/flatFileStore.ts +7 -7
  296. package/src/db/flatFileStore/slotIndex.ts +4 -3
  297. package/src/db/interface.ts +2 -0
  298. package/src/db/repositories/dataColumnSidecarArchive.ts +20 -0
  299. package/src/execution/builder/apiClient.ts +16 -13
  300. package/src/execution/builder/http.ts +4 -0
  301. package/src/execution/engine/blobVersionedHashes.ts +1 -1
  302. package/src/execution/engine/http.ts +0 -1
  303. package/src/execution/engine/index.ts +1 -1
  304. package/src/execution/engine/interface.ts +1 -1
  305. package/src/execution/engine/mock.ts +6 -4
  306. package/src/execution/engine/payloadIdCache.ts +6 -7
  307. package/src/execution/engine/types.ts +11 -9
  308. package/src/index.ts +2 -0
  309. package/src/metrics/metrics/lodestar.ts +15 -0
  310. package/src/monitoring/service.ts +1 -1
  311. package/src/network/core/networkCore.ts +5 -0
  312. package/src/network/core/networkCoreWorker.ts +1 -0
  313. package/src/network/core/networkCoreWorkerHandler.ts +4 -0
  314. package/src/network/core/types.ts +2 -0
  315. package/src/network/interface.ts +2 -0
  316. package/src/network/libp2p/index.ts +5 -1
  317. package/src/network/network.ts +8 -1
  318. package/src/network/options.ts +2 -0
  319. package/src/network/peers/peerManager.ts +1 -1
  320. package/src/network/peers/utils/assertPeerRelevance.ts +39 -23
  321. package/src/network/processor/gossipHandlers.ts +44 -28
  322. package/src/network/processor/index.ts +22 -23
  323. package/src/network/processor/types.ts +1 -1
  324. package/src/node/nodejs.ts +25 -7
  325. package/src/node/options.ts +9 -6
  326. package/src/sync/interface.ts +1 -0
  327. package/src/sync/sync.ts +65 -4
  328. package/src/sync/unknownBlock.ts +47 -28
  329. package/src/util/file.ts +8 -9
  330. package/src/util/queue/itemQueue.ts +1 -1
  331. package/src/util/sszBytes.ts +2 -2
@@ -1,9 +1,13 @@
1
1
  import { computeEpochAtSlot } from "@lodestar/state-transition";
2
+ import { pruneSetToMax } from "@lodestar/utils";
2
3
  import { BLOB_AND_PROOF_V2_RPC_BYTES } from "../execution/engine/types.js";
3
- import { callInNextEventLoop } from "../util/eventLoop.js";
4
4
  import { DataColumnEngineResult, getBlobSidecarsFromExecution, getDataColumnSidecarsFromExecution, } from "../util/execution.js";
5
5
  import { isBlockInputBlobs } from "./blocks/blockInput/index.js";
6
6
  import { PayloadEnvelopeInput } from "./blocks/payloadEnvelopeInput/index.js";
7
+ /** A `null` answer only changes if the EL receives the transactions later, so retries are few and spaced out */
8
+ export const MAX_GET_BLOBS_ATTEMPTS = 3;
9
+ export const GET_BLOBS_RETRY_INTERVAL_MS = 1000;
10
+ const MAX_TRACKED_BLOCK_ROOTS = 64;
7
11
  /**
8
12
  * Tracks getBlobsV2 calls to the execution engine to avoid duplicate and multiple in-flight calls
9
13
  */
@@ -14,6 +18,8 @@ export class GetBlobsTracker {
14
18
  metrics;
15
19
  config;
16
20
  activeReconstructions = new Set();
21
+ failedAttempts = new Map();
22
+ pendingTriggers = new Set();
17
23
  // Preallocate buffers for getBlobsV2 RPC calls
18
24
  // See https://github.com/ChainSafe/lodestar/pull/8282 for context
19
25
  blobsAndProofsBuffers = [];
@@ -26,19 +32,52 @@ export class GetBlobsTracker {
26
32
  }
27
33
  triggerGetBlobs(input) {
28
34
  if (this.activeReconstructions.has(input.blockRootHex)) {
35
+ this.pendingTriggers.add(input.blockRootHex);
29
36
  return;
30
37
  }
38
+ const failed = this.failedAttempts.get(input.blockRootHex);
39
+ if (failed) {
40
+ if (failed.count >= MAX_GET_BLOBS_ATTEMPTS) {
41
+ return;
42
+ }
43
+ const waitMs = GET_BLOBS_RETRY_INTERVAL_MS - (Date.now() - failed.lastAttemptMs);
44
+ if (waitMs > 0) {
45
+ // Columns tend to arrive in one burst, so keep a single trailing retry instead of relying on a later trigger
46
+ failed.retryTimer ??= setTimeout(() => {
47
+ failed.retryTimer = undefined;
48
+ if (this.failedAttempts.get(input.blockRootHex) === failed && !input.hasAllData()) {
49
+ this.triggerGetBlobs(input);
50
+ }
51
+ }, waitMs).unref();
52
+ return;
53
+ }
54
+ }
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
31
57
  if (!(input instanceof PayloadEnvelopeInput) && isBlockInputBlobs(input)) {
32
58
  // there is not preallocation for blob sidecars like there is for columns sidecars so no need to
33
59
  // store the index for the preallocated buffers
34
60
  this.activeReconstructions.add(input.blockRootHex);
35
- callInNextEventLoop(() => {
36
- const logCtx = { slot: input.slot, root: input.blockRootHex };
37
- this.logger.verbose("Trigger getBlobsV1 for block", logCtx);
38
- getBlobSidecarsFromExecution(this.config, this.executionEngine, this.metrics, this.emitter, input).finally(() => {
39
- this.logger.verbose("Completed getBlobsV1 for block", logCtx);
40
- this.activeReconstructions.delete(input.blockRootHex);
41
- });
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);
42
81
  });
43
82
  return;
44
83
  }
@@ -56,28 +95,47 @@ export class GetBlobsTracker {
56
95
  }
57
96
  }
58
97
  timer?.();
59
- // We don't care about the outcome of this call,
60
- // just that it has been triggered for this block root.
61
98
  this.activeReconstructions.add(input.blockRootHex);
62
99
  this.blobsAndProofsBuffers[freeIndex].inUse = true;
63
- callInNextEventLoop(() => {
64
- const logCtx = { slot: input.slot, root: input.blockRootHex };
65
- this.logger.verbose("Trigger getBlobsV2 for block", logCtx);
66
- getDataColumnSidecarsFromExecution(this.config, this.executionEngine, this.emitter, input, this.metrics, this.blobsAndProofsBuffers[freeIndex].buffers)
67
- .then((result) => {
68
- this.logger.debug("getBlobsV2 result for block", { ...logCtx, result });
69
- this.metrics?.dataColumns.dataColumnEngineResult.inc({ result });
70
- })
71
- .catch((error) => {
72
- this.logger.debug("Error during getBlobsV2 for block", logCtx, error);
73
- this.metrics?.dataColumns.dataColumnEngineResult.inc({ result: DataColumnEngineResult.Failed });
74
- })
75
- .finally(() => {
76
- this.logger.verbose("Completed getBlobsV2 for block", logCtx);
77
- this.activeReconstructions.delete(input.blockRootHex);
78
- this.blobsAndProofsBuffers[freeIndex].inUse = false;
79
- });
100
+ const logCtx = { slot: input.slot, root: input.blockRootHex };
101
+ this.logger.verbose("Trigger getBlobsV2 for block", logCtx);
102
+ let requestFailed = false;
103
+ getDataColumnSidecarsFromExecution(this.config, this.executionEngine, this.emitter, input, this.metrics, this.blobsAndProofsBuffers[freeIndex].buffers)
104
+ .then((result) => {
105
+ this.logger.debug("getBlobsV2 result for block", { ...logCtx, result });
106
+ this.metrics?.dataColumns.dataColumnEngineResult.inc({ result });
107
+ if (result === DataColumnEngineResult.NullResponse) {
108
+ requestFailed = true;
109
+ this.recordFailedAttempt(input.blockRootHex);
110
+ }
111
+ })
112
+ .catch((error) => {
113
+ this.logger.debug("Error during getBlobsV2 for block", logCtx, error);
114
+ this.metrics?.dataColumns.dataColumnEngineResult.inc({ result: DataColumnEngineResult.Failed });
115
+ requestFailed = true;
116
+ this.recordFailedAttempt(input.blockRootHex);
117
+ })
118
+ .finally(() => {
119
+ this.logger.verbose("Completed getBlobsV2 for block", logCtx);
120
+ this.activeReconstructions.delete(input.blockRootHex);
121
+ this.blobsAndProofsBuffers[freeIndex].inUse = false;
122
+ this.retryPendingTrigger(input, requestFailed);
80
123
  });
81
124
  }
125
+ retryPendingTrigger(input, requestFailed) {
126
+ // Triggers dropped while the request was in flight re-enter once it failed, the attempt that was just
127
+ // recorded makes this arm the trailing retry instead of sending another request right away.
128
+ // Post-gloas only the bid triggers a request, so every failed attempt re-enters to arm its own retry
129
+ const hadPendingTrigger = this.pendingTriggers.delete(input.blockRootHex);
130
+ if (requestFailed && (hadPendingTrigger || input instanceof PayloadEnvelopeInput)) {
131
+ this.triggerGetBlobs(input);
132
+ }
133
+ }
134
+ recordFailedAttempt(blockRootHex) {
135
+ const failed = this.failedAttempts.get(blockRootHex);
136
+ clearTimeout(failed?.retryTimer);
137
+ this.failedAttempts.set(blockRootHex, { count: (failed?.count ?? 0) + 1, lastAttemptMs: Date.now() });
138
+ pruneSetToMax(this.failedAttempts, MAX_TRACKED_BLOCK_ROOTS);
139
+ }
82
140
  }
83
141
  //# sourceMappingURL=GetBlobsTracker.js.map
@@ -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,CAsB3B;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,CAkEhC;CACH"}
@@ -133,6 +133,7 @@ export class ArchiveStore {
133
133
  //
134
134
  // `jobQueue.push()` can throw synchronously (queue aborted / full) or reject asynchronously;
135
135
  // awaiting it inside the deferred callback funnels both failure modes into the one catch.
136
+ // biome-ignore lint/nursery/noMisusedPromises: the callback catches all errors itself
136
137
  callInNextEventLoop(async () => {
137
138
  try {
138
139
  await this.jobQueue.push(finalized);
@@ -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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"}
@@ -12,6 +12,10 @@ export declare enum LateCanonicalBlockReason {
12
12
  SlowImport = "slow_import",
13
13
  LateReceive = "late_receive"
14
14
  }
15
+ /**
16
+ * Oldest epoch for which data column sidecars are kept
17
+ */
18
+ export declare function getDataColumnSidecarsMinEpoch(config: ChainForkConfig, currentEpoch: Epoch, archiveDataEpochs?: number): Epoch;
15
19
  /**
16
20
  * Archives finalized blocks from active bucket to archive bucket.
17
21
  *
@@ -1 +1 @@
1
- {"version":3,"file":"archiveBlocks.d.ts","sourceRoot":"","sources":["../../../../src/chain/archiveStore/utils/archiveBlocks.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAC,iBAAiB,EAAmB,WAAW,EAAiB,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAGjH,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,MAAM,EAAoD,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAC,OAAO,EAAC,MAAM,6BAA6B,CAAC;AAIpD,OAAO,EAAC,iBAAiB,EAAC,MAAM,4BAA4B,CAAC;AAU7D;;GAEG;AACH,oBAAY,wBAAwB;IAElC,UAAU,gBAAgB;IAE1B,WAAW,iBAAiB;CAC7B;AAmBD;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,eAAe,EACvB,EAAE,EAAE,SAAS,EACb,UAAU,EAAE,WAAW,EACvB,iBAAiB,EAAE,iBAAiB,GAAG,SAAS,EAChD,MAAM,EAAE,MAAM,EACd,mBAAmB,EAAE,iBAAiB,EACtC,YAAY,EAAE,KAAK,EACnB,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,YAAY,EAAE,OAAO,EACrB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,qBAAqB,CAAC,EAAE,OAAO,EAC/B,wBAAwB,CAAC,EAAE,MAAM,EACjC,cAAc,UAAO,GACpB,OAAO,CAAC,IAAI,CAAC,CAkOf;AAgLD;;;;;;;GAOG;AACH,wBAAsB,+CAA+C,CACnE,MAAM,EAAE,eAAe,EACvB,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,UAAU,EAAE,EAC7B,cAAc,EAAE,OAAO,GACtB,OAAO,CAAC,IAAI,EAAE,CAAC,CAmDjB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAE1E;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS;IAAC,IAAI,EAAE,IAAI,CAAA;CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CA+C/E"}
1
+ {"version":3,"file":"archiveBlocks.d.ts","sourceRoot":"","sources":["../../../../src/chain/archiveStore/utils/archiveBlocks.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EACL,iBAAiB,EAEjB,WAAW,EAEX,UAAU,EAEX,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,MAAM,EAAyC,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAC,OAAO,EAAC,MAAM,6BAA6B,CAAC;AAIpD,OAAO,EAAC,iBAAiB,EAAC,MAAM,4BAA4B,CAAC;AAU7D;;GAEG;AACH,oBAAY,wBAAwB;IAElC,UAAU,gBAAgB;IAE1B,WAAW,iBAAiB;CAC7B;AAmBD;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,eAAe,EACvB,YAAY,EAAE,KAAK,EACnB,iBAAiB,CAAC,EAAE,MAAM,GACzB,KAAK,CAEP;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,eAAe,EACvB,EAAE,EAAE,SAAS,EACb,UAAU,EAAE,WAAW,EACvB,iBAAiB,EAAE,iBAAiB,GAAG,SAAS,EAChD,MAAM,EAAE,MAAM,EACd,mBAAmB,EAAE,iBAAiB,EACtC,YAAY,EAAE,KAAK,EACnB,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,YAAY,EAAE,OAAO,EACrB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,qBAAqB,CAAC,EAAE,OAAO,EAC/B,wBAAwB,CAAC,EAAE,MAAM,EACjC,cAAc,UAAO,GACpB,OAAO,CAAC,IAAI,CAAC,CA4Nf;AA8GD;;;;;;;GAOG;AACH,wBAAsB,+CAA+C,CACnE,MAAM,EAAE,eAAe,EACvB,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,UAAU,EAAE,EAC7B,cAAc,EAAE,OAAO,GACtB,OAAO,CAAC,IAAI,EAAE,CAAC,CAmDjB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAE1E;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS;IAAC,IAAI,EAAE,IAAI,CAAA;CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CA+C/E"}
@@ -1,8 +1,8 @@
1
1
  import path from "node:path";
2
- import { ExecutionStatus, PayloadStatus } from "@lodestar/fork-choice";
2
+ import { ExecutionStatus, PayloadStatus, isGloasBlock, } from "@lodestar/fork-choice";
3
3
  import { ForkSeq, SLOTS_PER_EPOCH } from "@lodestar/params";
4
4
  import { computeEpochAtSlot, computeStartSlotAtEpoch, getBlobDataRetentionStartEpoch } from "@lodestar/state-transition";
5
- import { fromAsync, fromHex, prettyPrintIndices, toRootHex } from "@lodestar/utils";
5
+ import { fromHex, prettyPrintIndices, toRootHex } from "@lodestar/utils";
6
6
  import { encodeArchivedHeaderEnvelope } from "../../../db/repositories/index.js";
7
7
  import { ensureDir, writeIfNotExist } from "../../../util/file.js";
8
8
  import { toSignedHeaderEnvelope } from "../../../util/headerEnvelope.js";
@@ -30,6 +30,12 @@ async function persistOrphanedBlock(slot, blockRoot, bytes, opts) {
30
30
  await ensureDir(dirpath);
31
31
  await writeIfNotExist(filepath, bytes);
32
32
  }
33
+ /**
34
+ * Oldest epoch for which data column sidecars are kept
35
+ */
36
+ export function getDataColumnSidecarsMinEpoch(config, currentEpoch, archiveDataEpochs) {
37
+ return Math.min(getBlobDataRetentionStartEpoch(config, currentEpoch), currentEpoch - (archiveDataEpochs ?? 0));
38
+ }
33
39
  /**
34
40
  * Archives finalized blocks from active bucket to archive bucket.
35
41
  *
@@ -90,16 +96,6 @@ export async function archiveBlocks(config, db, forkChoice, lightclientServer, l
90
96
  const migratedEntries = await migrateBlobSidecarsFromHotToColdDb(config, db, logger, finalizedCanonicalBlockRoots, currentEpoch);
91
97
  logger.verbose("Migrated blobSidecars from hot DB to cold DB", { ...logCtx, migratedEntries });
92
98
  }
93
- // Keep the normal LevelDB hot-to-cold flow for legacy columns. New columns are written
94
- // directly to flat files, so this only moves fallback data left by older versions.
95
- if (finalizedPostFulu) {
96
- const migratedSlots = await migrateDataColumnSidecarsFromHotToColdDb(config, db, logger, finalizedCanonicalBlocks, currentEpoch);
97
- logger.verbose("Migrated legacy dataColumnSidecars from hot DB to cold DB", {
98
- ...logCtx,
99
- migratedEntries: migratedSlots.length,
100
- slotRange: prettyPrintIndices(migratedSlots),
101
- });
102
- }
103
99
  if (finalizedPostGloas) {
104
100
  const migratedSlots = await migrateExecutionPayloadEnvelopesFromHotToColdDb(config, db, logger, finalizedCanonicalBlocks, dedupePayloads);
105
101
  logger.verbose("Migrated executionPayloadEnvelopes from hot DB to cold DB", {
@@ -109,38 +105,31 @@ export async function archiveBlocks(config, db, forkChoice, lightclientServer, l
109
105
  });
110
106
  }
111
107
  }
112
- // deleteNonCanonicalBlocks
113
- // loop through forkchoice single time
114
- const nonCanonicalBlockRoots = finalizedNonCanonicalBlocks.map((summary) => fromHex(summary.blockRoot));
115
- if (nonCanonicalBlockRoots.length > 0) {
116
- if (persistOrphanedBlocks) {
117
- // Persist orphaned blocks to disk before deleting them from hot db
118
- await Promise.all(nonCanonicalBlockRoots.map(async (root, index) => {
119
- const block = finalizedNonCanonicalBlocks[index];
120
- const blockBytes = await db.block.getBinary(root);
121
- const blockLogCtx = { slot: block.slot, root: block.blockRoot };
122
- if (blockBytes) {
123
- await persistOrphanedBlock(block.slot, block.blockRoot, blockBytes, {
124
- persistOrphanedBlocksDir: persistOrphanedBlocksDir ?? "orphaned_blocks",
125
- });
126
- logger.verbose("Persisted orphaned block", { ...logCtx, ...blockLogCtx });
127
- }
128
- else {
129
- logger.warn("Tried to persist orphaned block but no block found", { ...logCtx, ...blockLogCtx });
130
- }
131
- }));
108
+ const canonicalRoots = new Set(finalizedCanonicalBlocks.map((block) => block.blockRoot));
109
+ const orphanedBlocks = [];
110
+ const orphanedPayloads = [];
111
+ for (const block of finalizedNonCanonicalBlocks) {
112
+ if (block.payloadStatus === PayloadStatus.FULL) {
113
+ orphanedPayloads.push(block);
114
+ }
115
+ // Every Gloas block gets EMPTY before FULL. If only FULL survives pruning, an earlier archive run
116
+ // already handled the root's block-level data.
117
+ const isBlockNode = !isGloasBlock(block) || block.payloadStatus === PayloadStatus.EMPTY;
118
+ if (isBlockNode && !canonicalRoots.has(block.blockRoot)) {
119
+ orphanedBlocks.push(block);
132
120
  }
133
- const nonCanonicalSlots = finalizedNonCanonicalBlocks.map((summary) => summary.slot).sort((a, b) => a - b);
134
- const nonCanonicalLogCtx = {
121
+ }
122
+ const orphanedBlockRoots = orphanedBlocks.map((block) => fromHex(block.blockRoot));
123
+ if (orphanedPayloads.length > 0) {
124
+ const orphanedPayloadRoots = orphanedPayloads.map((block) => fromHex(block.blockRoot));
125
+ const orphanedPayloadLogCtx = {
135
126
  ...logCtx,
136
- count: nonCanonicalBlockRoots.length,
137
- slotRange: prettyPrintIndices(nonCanonicalSlots),
127
+ count: orphanedPayloads.length,
128
+ slotRange: prettyPrintIndices(orphanedPayloads.map((block) => block.slot).sort((a, b) => a - b)),
138
129
  };
139
- const columnItems = finalizedNonCanonicalBlocks
140
- // Gloas EMPTY and FULL variants share a block root. EMPTY has no sidecars, so deleting by its root could
141
- // remove the canonical FULL variant's columns. Pre-Gloas blocks are always FULL.
142
- .filter((summary) => config.getForkSeq(summary.slot) >= ForkSeq.fulu && summary.payloadStatus === PayloadStatus.FULL)
143
- .map((summary) => ({ slot: summary.slot, blockRoot: summary.blockRoot }));
130
+ const columnItems = orphanedPayloads
131
+ .filter((block) => config.getForkSeq(block.slot) >= ForkSeq.fulu)
132
+ .map((block) => ({ slot: block.slot, blockRoot: block.blockRoot }));
144
133
  if (columnItems.length > 0) {
145
134
  // Delete sidecars first so their block roots remain available to retry cleanup after a failure or crash.
146
135
  await db.dataColumns.deleteMany(columnItems);
@@ -150,16 +139,38 @@ export async function archiveBlocks(config, db, forkChoice, lightclientServer, l
150
139
  slotRange: prettyPrintIndices(columnItems.map(({ slot }) => slot).sort((a, b) => a - b)),
151
140
  });
152
141
  }
153
- await db.block.batchDelete(nonCanonicalBlockRoots);
154
- logger.verbose("Deleted non canonical blocks from hot DB", nonCanonicalLogCtx);
155
142
  if (finalizedPostDeneb) {
156
- await db.blobSidecars.batchDelete(nonCanonicalBlockRoots);
157
- logger.verbose("Deleted non canonical blobSidecars from hot DB", nonCanonicalLogCtx);
143
+ await db.blobSidecars.batchDelete(orphanedPayloadRoots);
144
+ logger.verbose("Deleted non canonical blobSidecars from hot DB", orphanedPayloadLogCtx);
158
145
  }
159
146
  if (finalizedPostGloas) {
160
- await db.executionPayloadEnvelope.batchDelete(nonCanonicalBlockRoots);
161
- logger.verbose("Deleted non canonical executionPayloadEnvelopes from hot DB", nonCanonicalLogCtx);
147
+ await db.executionPayloadEnvelope.batchDelete(orphanedPayloadRoots);
148
+ logger.verbose("Deleted non canonical executionPayloadEnvelopes from hot DB", orphanedPayloadLogCtx);
149
+ }
150
+ }
151
+ if (orphanedBlocks.length > 0) {
152
+ if (persistOrphanedBlocks) {
153
+ // Persist orphaned blocks to disk before deleting them from hot db
154
+ await Promise.all(orphanedBlocks.map(async (block) => {
155
+ const blockBytes = await db.block.getBinary(fromHex(block.blockRoot));
156
+ const blockLogCtx = { slot: block.slot, root: block.blockRoot };
157
+ if (blockBytes) {
158
+ await persistOrphanedBlock(block.slot, block.blockRoot, blockBytes, {
159
+ persistOrphanedBlocksDir: persistOrphanedBlocksDir ?? "orphaned_blocks",
160
+ });
161
+ logger.verbose("Persisted orphaned block", { ...logCtx, ...blockLogCtx });
162
+ }
163
+ else {
164
+ logger.debug("Tried to persist orphaned block but no block found", { ...logCtx, ...blockLogCtx });
165
+ }
166
+ }));
162
167
  }
168
+ await db.block.batchDelete(orphanedBlockRoots);
169
+ logger.verbose("Deleted non canonical blocks from hot DB", {
170
+ ...logCtx,
171
+ count: orphanedBlocks.length,
172
+ slotRange: prettyPrintIndices(orphanedBlocks.map((block) => block.slot).sort((a, b) => a - b)),
173
+ });
163
174
  }
164
175
  // Delete expired blobs
165
176
  // Keep only `[current_epoch - max(MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS, archiveDataEpochs)]`
@@ -187,7 +198,7 @@ export async function archiveBlocks(config, db, forkChoice, lightclientServer, l
187
198
  // Keep only `[min(compute_blob_data_retention_start_epoch(current_epoch), current_epoch - archiveDataEpochs)]`
188
199
  if (finalizedPostFulu) {
189
200
  if (archiveDataEpochs !== Infinity) {
190
- const dataColumnSidecarsMinEpoch = Math.min(getBlobDataRetentionStartEpoch(config, currentEpoch), currentEpoch - (archiveDataEpochs ?? 0));
201
+ const dataColumnSidecarsMinEpoch = getDataColumnSidecarsMinEpoch(config, currentEpoch, archiveDataEpochs);
191
202
  if (dataColumnSidecarsMinEpoch >= config.FULU_FORK_EPOCH) {
192
203
  const columnsPruneSlot = computeStartSlotAtEpoch(dataColumnSidecarsMinEpoch);
193
204
  const prunedColumnSlots = await db.dataColumns.pruneBefore(columnsPruneSlot);
@@ -210,9 +221,9 @@ export async function archiveBlocks(config, db, forkChoice, lightclientServer, l
210
221
  logger.verbose("dataColumnSidecars pruning skipped: archiveDataEpochs set to Infinity", logCtx);
211
222
  }
212
223
  }
213
- // Prunning potential checkpoint data
224
+ // Pruning potential checkpoint data
214
225
  const finalizedCanonicalNonCheckpointBlocks = getNonCheckpointBlocks(finalizedCanonicalBlockRoots);
215
- const nonCheckpointBlockRoots = [...nonCanonicalBlockRoots];
226
+ const nonCheckpointBlockRoots = [...orphanedBlockRoots];
216
227
  for (const block of finalizedCanonicalNonCheckpointBlocks) {
217
228
  nonCheckpointBlockRoots.push(block.root);
218
229
  }
@@ -310,53 +321,6 @@ async function migrateBlobSidecarsFromHotToColdDb(config, db, logger, blocks, cu
310
321
  }
311
322
  return migratedWrappedBlobSidecars;
312
323
  }
313
- // TODO: This function can be simplified further by reducing layers of promises in a loop
314
- /**
315
- * Post-gloas the data columns of a Gloas block are tied to its execution payload envelope.
316
- * Columns only exist once the FULL variant of the block is in the proto-array. Pre-Gloas
317
- * blocks only have a FULL variant, so the payload-status filter passes them all.
318
- */
319
- async function migrateDataColumnSidecarsFromHotToColdDb(config, db, logger, canonicalBlocks, currentEpoch) {
320
- const columnBlocks = canonicalBlocks.filter((block) => config.getForkSeq(block.slot) < ForkSeq.gloas || block.payloadStatus === PayloadStatus.FULL);
321
- if (columnBlocks.length === 0)
322
- return [];
323
- const blocks = columnBlocks.map((block) => ({ slot: block.slot, root: fromHex(block.blockRoot) }));
324
- const migratedSlots = [];
325
- for (let i = 0; i < blocks.length; i += BLOB_SIDECAR_BATCH_SIZE) {
326
- const toIdx = Math.min(i + BLOB_SIDECAR_BATCH_SIZE, blocks.length);
327
- const batch = blocks.slice(i, toIdx);
328
- if (batch.length === 0)
329
- break;
330
- const promises = [];
331
- for (const block of batch) {
332
- const blockEpoch = computeEpochAtSlot(block.slot);
333
- if (config.getForkSeq(block.slot) < ForkSeq.fulu ||
334
- blockEpoch < getBlobDataRetentionStartEpoch(config, currentEpoch)) {
335
- continue;
336
- }
337
- const dataColumnSidecarBytes = await fromAsync(db.dataColumnSidecar.valuesStreamBinary(block.root));
338
- if (dataColumnSidecarBytes.length === 0) {
339
- logger.debug("DataColumnSidecars in forkchoice but missing in hot db, could be already archived", {
340
- slot: block.slot,
341
- root: toRootHex(block.root),
342
- });
343
- continue;
344
- }
345
- logger.verbose("Migrated legacy dataColumnSidecars for block", {
346
- currentEpoch,
347
- slot: block.slot,
348
- root: toRootHex(block.root),
349
- numSidecars: dataColumnSidecarBytes.length,
350
- });
351
- promises.push(db.dataColumnSidecarArchive.putManyBinary(block.slot, dataColumnSidecarBytes.map((entry) => ({ key: entry.id, value: entry.value }))));
352
- migratedSlots.push(block.slot);
353
- }
354
- await Promise.all(promises);
355
- await db.dataColumnSidecar.deleteMany(batch.map((block) => block.root));
356
- }
357
- // Ancestor walk is newest to oldest; sort ascending so `prettyPrintIndices` renders cleanly.
358
- return migratedSlots.sort((a, b) => a - b);
359
- }
360
324
  /**
361
325
  * Post-gloas given a finalized checkpoint at a block root, payload of that block root
362
326
  * is not considered finalized, hence they are archived in the next run.
@@ -1 +1 @@
1
- {"version":3,"file":"archiveBlocks.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/utils/archiveBlocks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"archiveBlocks.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/utils/archiveBlocks.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"importBlock.d.ts","sourceRoot":"","sources":["../../../src/chain/blocks/importBlock.ts"],"names":[],"mappings":"AAWA,OAAO,EAEL,eAAe,EAKhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,gBAAgB,EAOjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,WAAW,EAEX,KAAK,EAGL,OAAO,EAEP,MAAM,EAEP,MAAM,iBAAiB,CAAC;AAMzB,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAM7C,OAAO,EAAuB,kBAAkB,EAAE,eAAe,EAAC,MAAM,YAAY,CAAC;AAOrF;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,GAAG,OAAO,CAK/G;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,WAAW,EACjB,kBAAkB,EAAE,kBAAkB,EACtC,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,IAAI,CAAC,CAkhBf;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,WAAW,EAEjB,CAAC,EAAE,gBAAgB,EACnB,MAAM,EAAE,MAAM,CAAC,UAAU,EACzB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,GAC5C,IAAI,CAQN;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,MAAM,CAAC,UAAU,EACzB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,CAAC,eAAe,CAAC,EACzC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,GAC7C,IAAI,CAmCN"}
1
+ {"version":3,"file":"importBlock.d.ts","sourceRoot":"","sources":["../../../src/chain/blocks/importBlock.ts"],"names":[],"mappings":"AAWA,OAAO,EAEL,eAAe,EAKhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,gBAAgB,EAOjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,WAAW,EAEX,KAAK,EAGL,OAAO,EAEP,MAAM,EAEP,MAAM,iBAAiB,CAAC;AAMzB,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAM7C,OAAO,EAAuB,kBAAkB,EAAE,eAAe,EAAC,MAAM,YAAY,CAAC;AAOrF;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,GAAG,OAAO,CAK/G;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,WAAW,EACjB,kBAAkB,EAAE,kBAAkB,EACtC,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,IAAI,CAAC,CAmhBf;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,WAAW,EAEjB,CAAC,EAAE,gBAAgB,EACnB,MAAM,EAAE,MAAM,CAAC,UAAU,EACzB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,GAC5C,IAAI,CAQN;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,MAAM,CAAC,UAAU,EACzB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,CAAC,eAAe,CAAC,EACzC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,GAC7C,IAAI,CAmCN"}
@@ -2,7 +2,7 @@ import { BitArray } from "@chainsafe/ssz";
2
2
  import { routes } from "@lodestar/api";
3
3
  import { AncestorStatus, ExecutionStatus, ForkChoiceError, ForkChoiceErrorCode, NotReorgedReason, getFinalizedExecutionBlockHash, getSafeExecutionBlockHash, } from "@lodestar/fork-choice";
4
4
  import { ForkSeq, GENESIS_EPOCH, MAX_SEED_LOOKAHEAD, SLOTS_PER_EPOCH, } from "@lodestar/params";
5
- import { RootCache, computeEpochAtSlot, computeTimeAtSlot, getBeaconCommittees, isStatePostAltair, isStatePostBellatrix, } from "@lodestar/state-transition";
5
+ import { RootCache, computeEpochAtSlot, computeTimeAtSlotMs, getBeaconCommittees, isStatePostAltair, isStatePostBellatrix, } from "@lodestar/state-transition";
6
6
  import { isGloasBeaconBlock, ssz, } from "@lodestar/types";
7
7
  import { isErrorAborted, toRootHex } from "@lodestar/utils";
8
8
  import { GENESIS_SLOT, ZERO_HASH_HEX } from "../../constants/index.js";
@@ -63,7 +63,8 @@ export async function importBlock(fullyVerifiedBlock, opts) {
63
63
  const currentEpoch = computeEpochAtSlot(currentSlot);
64
64
  const blockEpoch = computeEpochAtSlot(blockSlot);
65
65
  const prevFinalizedEpoch = this.forkChoice.getFinalizedCheckpoint().epoch;
66
- const receiveDelaySec = fullyVerifiedBlock.seenTimestampSec - computeTimeAtSlot(this.config, blockSlot, postState.genesisTime);
66
+ const receiveDelayMs = Math.round(fullyVerifiedBlock.seenTimestampSec * 1000) -
67
+ computeTimeAtSlotMs(this.config, blockSlot, postState.genesisTime * 1000);
67
68
  const recvToValLatency = Date.now() / 1000 - (opts.seenTimestampSec ?? Date.now() / 1000);
68
69
  const fork = this.config.getForkSeq(blockSlot);
69
70
  // this is just a type assertion since blockinput with dataPromise type will not end up here
@@ -98,8 +99,8 @@ export async function importBlock(fullyVerifiedBlock, opts) {
98
99
  }
99
100
  executionStatus = parentBlock.executionStatus;
100
101
  }
101
- const importDelaySec = this.clock.secFromSlot(blockSlot);
102
- const blockSummary = this.forkChoice.onBlock(block.message, postState, receiveDelaySec, importDelaySec, currentSlot, executionStatus, dataAvailabilityStatus);
102
+ const importDelayMs = this.clock.msFromSlot(blockSlot);
103
+ const blockSummary = this.forkChoice.onBlock(block.message, postState, receiveDelayMs, importDelayMs, currentSlot, executionStatus, dataAvailabilityStatus);
103
104
  // This adds the state necessary to process the next block
104
105
  // Some block event handlers require state being in state cache so need to do this before emitting EventType.block
105
106
  this.regen.processState(blockRootHex, postState);
@@ -294,7 +295,7 @@ export async function importBlock(fullyVerifiedBlock, opts) {
294
295
  // 2) We are proposer of next slot
295
296
  // 3) Proposer boost reorg related flag is turned on (this is checked inside the function)
296
297
  // 4) Block meets the criteria of being re-orged out (this is also checked inside the function)
297
- const result = this.forkChoice.shouldOverrideForkChoiceUpdate(blockSummary, this.clock.secFromSlot(currentSlot), currentSlot);
298
+ const result = this.forkChoice.shouldOverrideForkChoiceUpdate(blockSummary, this.clock.msFromSlot(currentSlot), currentSlot);
298
299
  shouldOverrideFcu = result.shouldOverrideFcu;
299
300
  if (!result.shouldOverrideFcu) {
300
301
  notOverrideFcuReason = result.reason;