@lodestar/beacon-node 1.51.0-dev.ec493d509d → 1.51.0-dev.ee7f143944

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 (562) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +36 -88
  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 +22 -2
  6. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  7. package/lib/api/impl/beacon/state/utils.d.ts +1 -1
  8. package/lib/api/impl/beacon/state/utils.d.ts.map +1 -1
  9. package/lib/api/impl/validator/index.d.ts +6 -0
  10. package/lib/api/impl/validator/index.d.ts.map +1 -1
  11. package/lib/api/impl/validator/index.js +42 -26
  12. package/lib/api/impl/validator/index.js.map +1 -1
  13. package/lib/chain/GetBlobsTracker.d.ts +13 -2
  14. package/lib/chain/GetBlobsTracker.d.ts.map +1 -1
  15. package/lib/chain/GetBlobsTracker.js +69 -35
  16. package/lib/chain/GetBlobsTracker.js.map +1 -1
  17. package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
  18. package/lib/chain/archiveStore/archiveStore.js +1 -0
  19. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  20. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts +4 -0
  21. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +1 -1
  22. package/lib/chain/archiveStore/utils/archiveBlocks.js +7 -1
  23. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  24. package/lib/chain/blocks/blockInput/blockInput.d.ts +11 -56
  25. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +1 -1
  26. package/lib/chain/blocks/blockInput/blockInput.js +5 -241
  27. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  28. package/lib/chain/blocks/blockInput/errors.d.ts +2 -4
  29. package/lib/chain/blocks/blockInput/errors.d.ts.map +1 -1
  30. package/lib/chain/blocks/blockInput/errors.js.map +1 -1
  31. package/lib/chain/blocks/blockInput/types.d.ts +2 -18
  32. package/lib/chain/blocks/blockInput/types.d.ts.map +1 -1
  33. package/lib/chain/blocks/blockInput/types.js +0 -1
  34. package/lib/chain/blocks/blockInput/types.js.map +1 -1
  35. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  36. package/lib/chain/blocks/importBlock.js +36 -53
  37. package/lib/chain/blocks/importBlock.js.map +1 -1
  38. package/lib/chain/blocks/importExecutionPayload.d.ts +10 -11
  39. package/lib/chain/blocks/importExecutionPayload.d.ts.map +1 -1
  40. package/lib/chain/blocks/importExecutionPayload.js +32 -18
  41. package/lib/chain/blocks/importExecutionPayload.js.map +1 -1
  42. package/lib/chain/blocks/index.d.ts.map +1 -1
  43. package/lib/chain/blocks/index.js +4 -4
  44. package/lib/chain/blocks/index.js.map +1 -1
  45. package/lib/chain/blocks/payloadEnvelopeProcessor.d.ts +12 -9
  46. package/lib/chain/blocks/payloadEnvelopeProcessor.d.ts.map +1 -1
  47. package/lib/chain/blocks/payloadEnvelopeProcessor.js +24 -19
  48. package/lib/chain/blocks/payloadEnvelopeProcessor.js.map +1 -1
  49. package/lib/chain/blocks/types.d.ts +4 -20
  50. package/lib/chain/blocks/types.d.ts.map +1 -1
  51. package/lib/chain/blocks/types.js +0 -24
  52. package/lib/chain/blocks/types.js.map +1 -1
  53. package/lib/chain/blocks/verifyBlock.d.ts.map +1 -1
  54. package/lib/chain/blocks/verifyBlock.js +18 -7
  55. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  56. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +1 -1
  57. package/lib/chain/blocks/verifyBlocksDataAvailability.js +14 -2
  58. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  59. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts +1 -1
  60. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +1 -1
  61. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +7 -3
  62. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  63. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +1 -1
  64. package/lib/chain/blocks/verifyBlocksSanityChecks.js +4 -0
  65. package/lib/chain/blocks/verifyBlocksSanityChecks.js.map +1 -1
  66. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +1 -1
  67. package/lib/chain/blocks/verifyBlocksSignatures.js +10 -5
  68. package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
  69. package/lib/chain/blocks/verifyPayloadsDataAvailability.d.ts +3 -3
  70. package/lib/chain/blocks/verifyPayloadsDataAvailability.d.ts.map +1 -1
  71. package/lib/chain/blocks/verifyPayloadsDataAvailability.js +11 -6
  72. package/lib/chain/blocks/verifyPayloadsDataAvailability.js.map +1 -1
  73. package/lib/chain/blocks/writeBlockInputToDb.d.ts +0 -2
  74. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +1 -1
  75. package/lib/chain/blocks/writeBlockInputToDb.js +6 -24
  76. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  77. package/lib/chain/bls/interface.d.ts +2 -0
  78. package/lib/chain/bls/interface.d.ts.map +1 -1
  79. package/lib/chain/bls/multithread/index.d.ts +1 -1
  80. package/lib/chain/bls/multithread/index.d.ts.map +1 -1
  81. package/lib/chain/bls/multithread/index.js +50 -22
  82. package/lib/chain/bls/multithread/index.js.map +1 -1
  83. package/lib/chain/bls/multithread/types.d.ts +1 -1
  84. package/lib/chain/bls/multithread/types.d.ts.map +1 -1
  85. package/lib/chain/bls/multithread/worker.js +1 -1
  86. package/lib/chain/bls/multithread/worker.js.map +1 -1
  87. package/lib/chain/bls/singleThread.js +1 -1
  88. package/lib/chain/bls/singleThread.js.map +1 -1
  89. package/lib/chain/bls/utils.js +1 -1
  90. package/lib/chain/bls/utils.js.map +1 -1
  91. package/lib/chain/chain.d.ts +25 -4
  92. package/lib/chain/chain.d.ts.map +1 -1
  93. package/lib/chain/chain.js +120 -39
  94. package/lib/chain/chain.js.map +1 -1
  95. package/lib/chain/emitter.d.ts +7 -7
  96. package/lib/chain/emitter.d.ts.map +1 -1
  97. package/lib/chain/emitter.js +5 -5
  98. package/lib/chain/emitter.js.map +1 -1
  99. package/lib/chain/errors/blockError.d.ts +1 -1
  100. package/lib/chain/errors/blockError.d.ts.map +1 -1
  101. package/lib/chain/errors/blockError.js +1 -1
  102. package/lib/chain/errors/blockError.js.map +1 -1
  103. package/lib/chain/errors/executionPayloadEnvelope.d.ts +7 -0
  104. package/lib/chain/errors/executionPayloadEnvelope.d.ts.map +1 -1
  105. package/lib/chain/errors/executionPayloadEnvelope.js +1 -0
  106. package/lib/chain/errors/executionPayloadEnvelope.js.map +1 -1
  107. package/lib/chain/errors/index.d.ts +0 -1
  108. package/lib/chain/errors/index.d.ts.map +1 -1
  109. package/lib/chain/errors/index.js +0 -1
  110. package/lib/chain/errors/index.js.map +1 -1
  111. package/lib/chain/forkChoice/index.d.ts +11 -1
  112. package/lib/chain/forkChoice/index.d.ts.map +1 -1
  113. package/lib/chain/forkChoice/index.js +11 -0
  114. package/lib/chain/forkChoice/index.js.map +1 -1
  115. package/lib/chain/forkChoiceExecutionEngine.d.ts +51 -0
  116. package/lib/chain/forkChoiceExecutionEngine.d.ts.map +1 -0
  117. package/lib/chain/forkChoiceExecutionEngine.js +117 -0
  118. package/lib/chain/forkChoiceExecutionEngine.js.map +1 -0
  119. package/lib/chain/interface.d.ts +9 -7
  120. package/lib/chain/interface.d.ts.map +1 -1
  121. package/lib/chain/interface.js.map +1 -1
  122. package/lib/chain/opPools/aggregatedAttestationPool.d.ts +17 -4
  123. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
  124. package/lib/chain/opPools/aggregatedAttestationPool.js +199 -46
  125. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  126. package/lib/chain/opPools/attestationPool.d.ts +1 -1
  127. package/lib/chain/opPools/attestationPool.d.ts.map +1 -1
  128. package/lib/chain/opPools/attestationPool.js +15 -4
  129. package/lib/chain/opPools/attestationPool.js.map +1 -1
  130. package/lib/chain/opPools/index.d.ts +1 -0
  131. package/lib/chain/opPools/index.d.ts.map +1 -1
  132. package/lib/chain/opPools/index.js +1 -0
  133. package/lib/chain/opPools/index.js.map +1 -1
  134. package/lib/chain/opPools/payloadAttestationPool.d.ts.map +1 -1
  135. package/lib/chain/opPools/payloadAttestationPool.js +17 -7
  136. package/lib/chain/opPools/payloadAttestationPool.js.map +1 -1
  137. package/lib/chain/opPools/singleAttestationPool.d.ts +77 -0
  138. package/lib/chain/opPools/singleAttestationPool.d.ts.map +1 -0
  139. package/lib/chain/opPools/singleAttestationPool.js +209 -0
  140. package/lib/chain/opPools/singleAttestationPool.js.map +1 -0
  141. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +1 -1
  142. package/lib/chain/opPools/syncCommitteeMessagePool.js +9 -3
  143. package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
  144. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +1 -1
  145. package/lib/chain/opPools/syncContributionAndProofPool.js +11 -3
  146. package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
  147. package/lib/chain/opPools/utils.d.ts +1 -1
  148. package/lib/chain/opPools/utils.d.ts.map +1 -1
  149. package/lib/chain/opPools/utils.js +1 -1
  150. package/lib/chain/opPools/utils.js.map +1 -1
  151. package/lib/chain/options.d.ts +5 -3
  152. package/lib/chain/options.d.ts.map +1 -1
  153. package/lib/chain/options.js +0 -1
  154. package/lib/chain/options.js.map +1 -1
  155. package/lib/chain/produceBlock/produceBlockBody.d.ts +3 -2
  156. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  157. package/lib/chain/produceBlock/produceBlockBody.js +3 -2
  158. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  159. package/lib/chain/proposerTracker.d.ts +31 -0
  160. package/lib/chain/proposerTracker.d.ts.map +1 -0
  161. package/lib/chain/proposerTracker.js +75 -0
  162. package/lib/chain/proposerTracker.js.map +1 -0
  163. package/lib/chain/regen/interface.d.ts +1 -1
  164. package/lib/chain/regen/interface.d.ts.map +1 -1
  165. package/lib/chain/regen/queued.d.ts +1 -1
  166. package/lib/chain/regen/queued.d.ts.map +1 -1
  167. package/lib/chain/regen/queued.js +5 -3
  168. package/lib/chain/regen/queued.js.map +1 -1
  169. package/lib/chain/seenCache/seenGossipBlockInput.d.ts +7 -14
  170. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +1 -1
  171. package/lib/chain/seenCache/seenGossipBlockInput.js +6 -65
  172. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  173. package/lib/chain/validation/executionPayloadBid.js +13 -13
  174. package/lib/chain/validation/executionPayloadBid.js.map +1 -1
  175. package/lib/chain/validation/executionPayloadEnvelope.d.ts +6 -0
  176. package/lib/chain/validation/executionPayloadEnvelope.d.ts.map +1 -1
  177. package/lib/chain/validation/executionPayloadEnvelope.js +53 -0
  178. package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
  179. package/lib/chain/validation/syncCommittee.d.ts.map +1 -1
  180. package/lib/chain/validation/syncCommittee.js +16 -10
  181. package/lib/chain/validation/syncCommittee.js.map +1 -1
  182. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +1 -1
  183. package/lib/chain/validation/syncCommitteeContributionAndProof.js +11 -0
  184. package/lib/chain/validation/syncCommitteeContributionAndProof.js.map +1 -1
  185. package/lib/chain/validatorMonitor.d.ts +1 -2
  186. package/lib/chain/validatorMonitor.d.ts.map +1 -1
  187. package/lib/chain/validatorMonitor.js +0 -3
  188. package/lib/chain/validatorMonitor.js.map +1 -1
  189. package/lib/db/beacon.d.ts +7 -0
  190. package/lib/db/beacon.d.ts.map +1 -1
  191. package/lib/db/beacon.js +32 -0
  192. package/lib/db/beacon.js.map +1 -1
  193. package/lib/db/dataColumnStore.d.ts +1 -1
  194. package/lib/db/dataColumnStore.d.ts.map +1 -1
  195. package/lib/db/dataColumnStore.js +1 -4
  196. package/lib/db/dataColumnStore.js.map +1 -1
  197. package/lib/db/flatFileStore/flatFileStore.js +5 -5
  198. package/lib/db/flatFileStore/flatFileStore.js.map +1 -1
  199. package/lib/db/flatFileStore/slotIndex.d.ts.map +1 -1
  200. package/lib/db/flatFileStore/slotIndex.js +2 -2
  201. package/lib/db/flatFileStore/slotIndex.js.map +1 -1
  202. package/lib/db/interface.d.ts +1 -0
  203. package/lib/db/interface.d.ts.map +1 -1
  204. package/lib/db/repositories/blobSidecars.d.ts +0 -1
  205. package/lib/db/repositories/blobSidecars.d.ts.map +1 -1
  206. package/lib/db/repositories/blobSidecars.js +0 -1
  207. package/lib/db/repositories/blobSidecars.js.map +1 -1
  208. package/lib/db/repositories/dataColumnSidecarArchive.d.ts +6 -0
  209. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +1 -1
  210. package/lib/db/repositories/dataColumnSidecarArchive.js +19 -0
  211. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  212. package/lib/execution/builder/apiClient.d.ts +14 -8
  213. package/lib/execution/builder/apiClient.d.ts.map +1 -1
  214. package/lib/execution/builder/apiClient.js +12 -10
  215. package/lib/execution/builder/apiClient.js.map +1 -1
  216. package/lib/execution/builder/http.d.ts +2 -0
  217. package/lib/execution/builder/http.d.ts.map +1 -1
  218. package/lib/execution/builder/http.js +2 -0
  219. package/lib/execution/builder/http.js.map +1 -1
  220. package/lib/execution/engine/http.d.ts +4 -6
  221. package/lib/execution/engine/http.d.ts.map +1 -1
  222. package/lib/execution/engine/http.js +8 -10
  223. package/lib/execution/engine/http.js.map +1 -1
  224. package/lib/execution/engine/index.d.ts +1 -1
  225. package/lib/execution/engine/index.d.ts.map +1 -1
  226. package/lib/execution/engine/index.js +1 -1
  227. package/lib/execution/engine/index.js.map +1 -1
  228. package/lib/execution/engine/interface.d.ts +18 -6
  229. package/lib/execution/engine/interface.d.ts.map +1 -1
  230. package/lib/execution/engine/interface.js.map +1 -1
  231. package/lib/execution/engine/jsonRpcTransport.d.ts +2 -4
  232. package/lib/execution/engine/jsonRpcTransport.d.ts.map +1 -1
  233. package/lib/execution/engine/jsonRpcTransport.js +2 -12
  234. package/lib/execution/engine/jsonRpcTransport.js.map +1 -1
  235. package/lib/execution/engine/mock.d.ts +0 -1
  236. package/lib/execution/engine/mock.d.ts.map +1 -1
  237. package/lib/execution/engine/mock.js +0 -4
  238. package/lib/execution/engine/mock.js.map +1 -1
  239. package/lib/execution/engine/restTransport.d.ts +2 -4
  240. package/lib/execution/engine/restTransport.d.ts.map +1 -1
  241. package/lib/execution/engine/restTransport.js +1 -15
  242. package/lib/execution/engine/restTransport.js.map +1 -1
  243. package/lib/execution/engine/sszTypes.d.ts +0 -9
  244. package/lib/execution/engine/sszTypes.d.ts.map +1 -1
  245. package/lib/execution/engine/sszTypes.js +0 -5
  246. package/lib/execution/engine/sszTypes.js.map +1 -1
  247. package/lib/execution/engine/transport.d.ts +1 -14
  248. package/lib/execution/engine/transport.d.ts.map +1 -1
  249. package/lib/execution/engine/types.d.ts +0 -8
  250. package/lib/execution/engine/types.d.ts.map +1 -1
  251. package/lib/execution/engine/types.js +2 -10
  252. package/lib/execution/engine/types.js.map +1 -1
  253. package/lib/execution/engine/utils.d.ts.map +1 -1
  254. package/lib/execution/engine/utils.js +3 -2
  255. package/lib/execution/engine/utils.js.map +1 -1
  256. package/lib/index.d.ts +1 -1
  257. package/lib/index.d.ts.map +1 -1
  258. package/lib/index.js +1 -1
  259. package/lib/index.js.map +1 -1
  260. package/lib/metrics/metrics/beacon.d.ts +0 -9
  261. package/lib/metrics/metrics/beacon.d.ts.map +1 -1
  262. package/lib/metrics/metrics/beacon.js +0 -30
  263. package/lib/metrics/metrics/beacon.js.map +1 -1
  264. package/lib/metrics/metrics/lodestar.d.ts +30 -8
  265. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  266. package/lib/metrics/metrics/lodestar.js +79 -18
  267. package/lib/metrics/metrics/lodestar.js.map +1 -1
  268. package/lib/metrics/server/http.js +5 -5
  269. package/lib/metrics/server/http.js.map +1 -1
  270. package/lib/monitoring/service.js +1 -1
  271. package/lib/monitoring/service.js.map +1 -1
  272. package/lib/network/core/networkCore.d.ts +4 -1
  273. package/lib/network/core/networkCore.d.ts.map +1 -1
  274. package/lib/network/core/networkCore.js +7 -0
  275. package/lib/network/core/networkCore.js.map +1 -1
  276. package/lib/network/core/networkCoreWorker.js +2 -0
  277. package/lib/network/core/networkCoreWorker.js.map +1 -1
  278. package/lib/network/core/networkCoreWorkerHandler.d.ts +4 -1
  279. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +1 -1
  280. package/lib/network/core/networkCoreWorkerHandler.js +6 -0
  281. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  282. package/lib/network/core/types.d.ts +6 -1
  283. package/lib/network/core/types.d.ts.map +1 -1
  284. package/lib/network/gossip/gossipsub.d.ts +1 -0
  285. package/lib/network/gossip/gossipsub.d.ts.map +1 -1
  286. package/lib/network/gossip/gossipsub.js +10 -0
  287. package/lib/network/gossip/gossipsub.js.map +1 -1
  288. package/lib/network/gossip/interface.d.ts +1 -8
  289. package/lib/network/gossip/interface.d.ts.map +1 -1
  290. package/lib/network/gossip/interface.js +0 -1
  291. package/lib/network/gossip/interface.js.map +1 -1
  292. package/lib/network/gossip/topic.d.ts +0 -16
  293. package/lib/network/gossip/topic.d.ts.map +1 -1
  294. package/lib/network/gossip/topic.js +0 -23
  295. package/lib/network/gossip/topic.js.map +1 -1
  296. package/lib/network/interface.d.ts +4 -5
  297. package/lib/network/interface.d.ts.map +1 -1
  298. package/lib/network/libp2p/index.d.ts.map +1 -1
  299. package/lib/network/libp2p/index.js +5 -1
  300. package/lib/network/libp2p/index.js.map +1 -1
  301. package/lib/network/network.d.ts +8 -7
  302. package/lib/network/network.d.ts.map +1 -1
  303. package/lib/network/network.js +53 -35
  304. package/lib/network/network.js.map +1 -1
  305. package/lib/network/options.d.ts +2 -0
  306. package/lib/network/options.d.ts.map +1 -1
  307. package/lib/network/options.js +2 -0
  308. package/lib/network/options.js.map +1 -1
  309. package/lib/network/peers/peerManager.d.ts +2 -1
  310. package/lib/network/peers/peerManager.d.ts.map +1 -1
  311. package/lib/network/peers/peerManager.js +28 -1
  312. package/lib/network/peers/peerManager.js.map +1 -1
  313. package/lib/network/peers/utils/assertPeerRelevance.d.ts +9 -1
  314. package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +1 -1
  315. package/lib/network/peers/utils/assertPeerRelevance.js +32 -21
  316. package/lib/network/peers/utils/assertPeerRelevance.js.map +1 -1
  317. package/lib/network/peers/utils/prioritizePeers.d.ts +4 -1
  318. package/lib/network/peers/utils/prioritizePeers.d.ts.map +1 -1
  319. package/lib/network/peers/utils/prioritizePeers.js +8 -16
  320. package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
  321. package/lib/network/peers/utils/subnetMap.d.ts +5 -2
  322. package/lib/network/peers/utils/subnetMap.d.ts.map +1 -1
  323. package/lib/network/peers/utils/subnetMap.js +6 -3
  324. package/lib/network/peers/utils/subnetMap.js.map +1 -1
  325. package/lib/network/processor/extractSlotRootFns.d.ts.map +1 -1
  326. package/lib/network/processor/extractSlotRootFns.js +1 -8
  327. package/lib/network/processor/extractSlotRootFns.js.map +1 -1
  328. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  329. package/lib/network/processor/gossipHandlers.js +52 -131
  330. package/lib/network/processor/gossipHandlers.js.map +1 -1
  331. package/lib/network/processor/gossipQueues/index.d.ts.map +1 -1
  332. package/lib/network/processor/gossipQueues/index.js +0 -6
  333. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  334. package/lib/network/processor/gossipValidatorFn.d.ts.map +1 -1
  335. package/lib/network/processor/gossipValidatorFn.js +1 -5
  336. package/lib/network/processor/gossipValidatorFn.js.map +1 -1
  337. package/lib/network/processor/index.d.ts +6 -0
  338. package/lib/network/processor/index.d.ts.map +1 -1
  339. package/lib/network/processor/index.js +29 -4
  340. package/lib/network/processor/index.js.map +1 -1
  341. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +1 -1
  342. package/lib/network/reqresp/ReqRespBeaconNode.js +0 -3
  343. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  344. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts +2 -2
  345. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +1 -1
  346. package/lib/network/reqresp/handlers/index.d.ts.map +1 -1
  347. package/lib/network/reqresp/handlers/index.js +1 -12
  348. package/lib/network/reqresp/handlers/index.js.map +1 -1
  349. package/lib/network/reqresp/protocols.d.ts +0 -2
  350. package/lib/network/reqresp/protocols.d.ts.map +1 -1
  351. package/lib/network/reqresp/protocols.js +0 -10
  352. package/lib/network/reqresp/protocols.js.map +1 -1
  353. package/lib/network/reqresp/rateLimit.d.ts.map +1 -1
  354. package/lib/network/reqresp/rateLimit.js +1 -17
  355. package/lib/network/reqresp/rateLimit.js.map +1 -1
  356. package/lib/network/reqresp/types.d.ts +2 -8
  357. package/lib/network/reqresp/types.d.ts.map +1 -1
  358. package/lib/network/reqresp/types.js +1 -7
  359. package/lib/network/reqresp/types.js.map +1 -1
  360. package/lib/network/subnets/attnetsService.d.ts +35 -5
  361. package/lib/network/subnets/attnetsService.d.ts.map +1 -1
  362. package/lib/network/subnets/attnetsService.js +84 -6
  363. package/lib/network/subnets/attnetsService.js.map +1 -1
  364. package/lib/network/subnets/interface.d.ts +7 -0
  365. package/lib/network/subnets/interface.d.ts.map +1 -1
  366. package/lib/network/subnets/interface.js.map +1 -1
  367. package/lib/node/nodejs.d.ts +3 -1
  368. package/lib/node/nodejs.d.ts.map +1 -1
  369. package/lib/node/nodejs.js +47 -21
  370. package/lib/node/nodejs.js.map +1 -1
  371. package/lib/node/options.d.ts +3 -1
  372. package/lib/node/options.d.ts.map +1 -1
  373. package/lib/node/options.js +4 -2
  374. package/lib/node/options.js.map +1 -1
  375. package/lib/sync/interface.d.ts.map +1 -1
  376. package/lib/sync/interface.js.map +1 -1
  377. package/lib/sync/range/batch.d.ts +2 -3
  378. package/lib/sync/range/batch.d.ts.map +1 -1
  379. package/lib/sync/range/batch.js +9 -22
  380. package/lib/sync/range/batch.js.map +1 -1
  381. package/lib/sync/range/chain.d.ts.map +1 -1
  382. package/lib/sync/range/chain.js +2 -15
  383. package/lib/sync/range/chain.js.map +1 -1
  384. package/lib/sync/sync.d.ts +15 -0
  385. package/lib/sync/sync.d.ts.map +1 -1
  386. package/lib/sync/sync.js +103 -25
  387. package/lib/sync/sync.js.map +1 -1
  388. package/lib/sync/unknownBlock.d.ts.map +1 -1
  389. package/lib/sync/unknownBlock.js +1 -7
  390. package/lib/sync/unknownBlock.js.map +1 -1
  391. package/lib/sync/utils/downloadByRange.d.ts +6 -34
  392. package/lib/sync/utils/downloadByRange.d.ts.map +1 -1
  393. package/lib/sync/utils/downloadByRange.js +24 -128
  394. package/lib/sync/utils/downloadByRange.js.map +1 -1
  395. package/lib/sync/utils/downloadByRoot.d.ts +2 -18
  396. package/lib/sync/utils/downloadByRoot.d.ts.map +1 -1
  397. package/lib/sync/utils/downloadByRoot.js +14 -99
  398. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  399. package/lib/util/blobs.d.ts +1 -7
  400. package/lib/util/blobs.d.ts.map +1 -1
  401. package/lib/util/blobs.js +0 -19
  402. package/lib/util/blobs.js.map +1 -1
  403. package/lib/util/execution.d.ts +3 -4
  404. package/lib/util/execution.d.ts.map +1 -1
  405. package/lib/util/execution.js +1 -73
  406. package/lib/util/execution.js.map +1 -1
  407. package/lib/util/file.d.ts.map +1 -1
  408. package/lib/util/file.js +8 -9
  409. package/lib/util/file.js.map +1 -1
  410. package/lib/util/queue/itemQueue.js +1 -1
  411. package/lib/util/queue/itemQueue.js.map +1 -1
  412. package/lib/util/sszBytes.d.ts +5 -1
  413. package/lib/util/sszBytes.d.ts.map +1 -1
  414. package/lib/util/sszBytes.js +36 -19
  415. package/lib/util/sszBytes.js.map +1 -1
  416. package/lib/util/types.d.ts +0 -5
  417. package/lib/util/types.d.ts.map +1 -1
  418. package/lib/util/types.js +1 -2
  419. package/lib/util/types.js.map +1 -1
  420. package/package.json +16 -17
  421. package/src/api/impl/beacon/blocks/index.ts +59 -109
  422. package/src/api/impl/beacon/pool/index.ts +31 -1
  423. package/src/api/impl/beacon/state/utils.ts +1 -1
  424. package/src/api/impl/validator/index.ts +47 -30
  425. package/src/chain/GetBlobsTracker.ts +82 -52
  426. package/src/chain/archiveStore/archiveStore.ts +1 -0
  427. package/src/chain/archiveStore/utils/archiveBlocks.ts +12 -4
  428. package/src/chain/blocks/blockInput/blockInput.ts +11 -343
  429. package/src/chain/blocks/blockInput/errors.ts +1 -2
  430. package/src/chain/blocks/blockInput/types.ts +2 -20
  431. package/src/chain/blocks/importBlock.ts +56 -72
  432. package/src/chain/blocks/importExecutionPayload.ts +55 -34
  433. package/src/chain/blocks/index.ts +11 -4
  434. package/src/chain/blocks/payloadEnvelopeProcessor.ts +35 -24
  435. package/src/chain/blocks/types.ts +5 -31
  436. package/src/chain/blocks/verifyBlock.ts +31 -16
  437. package/src/chain/blocks/verifyBlocksDataAvailability.ts +16 -2
  438. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +9 -6
  439. package/src/chain/blocks/verifyBlocksSanityChecks.ts +4 -1
  440. package/src/chain/blocks/verifyBlocksSignatures.ts +10 -5
  441. package/src/chain/blocks/verifyPayloadsDataAvailability.ts +14 -6
  442. package/src/chain/blocks/writeBlockInputToDb.ts +6 -29
  443. package/src/chain/bls/interface.ts +2 -0
  444. package/src/chain/bls/multithread/index.ts +48 -24
  445. package/src/chain/bls/multithread/types.ts +1 -1
  446. package/src/chain/bls/multithread/worker.ts +1 -5
  447. package/src/chain/bls/singleThread.ts +1 -1
  448. package/src/chain/bls/utils.ts +1 -1
  449. package/src/chain/chain.ts +136 -38
  450. package/src/chain/emitter.ts +8 -8
  451. package/src/chain/errors/blockError.ts +1 -1
  452. package/src/chain/errors/executionPayloadEnvelope.ts +8 -0
  453. package/src/chain/errors/index.ts +0 -1
  454. package/src/chain/forkChoice/index.ts +11 -0
  455. package/src/chain/forkChoiceExecutionEngine.ts +183 -0
  456. package/src/chain/interface.ts +9 -6
  457. package/src/chain/opPools/aggregatedAttestationPool.ts +246 -43
  458. package/src/chain/opPools/attestationPool.ts +16 -4
  459. package/src/chain/opPools/index.ts +1 -0
  460. package/src/chain/opPools/payloadAttestationPool.ts +18 -7
  461. package/src/chain/opPools/singleAttestationPool.ts +287 -0
  462. package/src/chain/opPools/syncCommitteeMessagePool.ts +10 -3
  463. package/src/chain/opPools/syncContributionAndProofPool.ts +13 -3
  464. package/src/chain/opPools/utils.ts +1 -1
  465. package/src/chain/options.ts +5 -4
  466. package/src/chain/produceBlock/produceBlockBody.ts +7 -3
  467. package/src/chain/proposerTracker.ts +94 -0
  468. package/src/chain/regen/interface.ts +1 -1
  469. package/src/chain/regen/queued.ts +6 -4
  470. package/src/chain/seenCache/seenGossipBlockInput.ts +9 -93
  471. package/src/chain/validation/executionPayloadBid.ts +14 -13
  472. package/src/chain/validation/executionPayloadEnvelope.ts +68 -1
  473. package/src/chain/validation/syncCommittee.ts +31 -15
  474. package/src/chain/validation/syncCommitteeContributionAndProof.ts +13 -0
  475. package/src/chain/validatorMonitor.ts +0 -6
  476. package/src/db/beacon.ts +39 -0
  477. package/src/db/dataColumnStore.ts +2 -4
  478. package/src/db/flatFileStore/flatFileStore.ts +7 -7
  479. package/src/db/flatFileStore/slotIndex.ts +4 -3
  480. package/src/db/interface.ts +2 -0
  481. package/src/db/repositories/blobSidecars.ts +0 -1
  482. package/src/db/repositories/dataColumnSidecarArchive.ts +20 -0
  483. package/src/execution/builder/apiClient.ts +16 -13
  484. package/src/execution/builder/http.ts +4 -0
  485. package/src/execution/engine/http.ts +19 -42
  486. package/src/execution/engine/index.ts +1 -1
  487. package/src/execution/engine/interface.ts +19 -10
  488. package/src/execution/engine/jsonRpcTransport.ts +10 -22
  489. package/src/execution/engine/mock.ts +0 -7
  490. package/src/execution/engine/restTransport.ts +3 -22
  491. package/src/execution/engine/sszTypes.ts +0 -9
  492. package/src/execution/engine/transport.ts +8 -17
  493. package/src/execution/engine/types.ts +3 -18
  494. package/src/execution/engine/utils.ts +4 -2
  495. package/src/index.ts +1 -1
  496. package/src/metrics/metrics/beacon.ts +0 -30
  497. package/src/metrics/metrics/lodestar.ts +80 -18
  498. package/src/metrics/server/http.ts +5 -5
  499. package/src/monitoring/service.ts +1 -1
  500. package/src/network/core/networkCore.ts +11 -1
  501. package/src/network/core/networkCoreWorker.ts +2 -0
  502. package/src/network/core/networkCoreWorkerHandler.ts +8 -1
  503. package/src/network/core/types.ts +6 -1
  504. package/src/network/gossip/gossipsub.ts +11 -0
  505. package/src/network/gossip/interface.ts +0 -5
  506. package/src/network/gossip/topic.ts +0 -25
  507. package/src/network/interface.ts +2 -5
  508. package/src/network/libp2p/index.ts +5 -1
  509. package/src/network/network.ts +55 -58
  510. package/src/network/options.ts +4 -0
  511. package/src/network/peers/peerManager.ts +28 -3
  512. package/src/network/peers/utils/assertPeerRelevance.ts +39 -23
  513. package/src/network/peers/utils/prioritizePeers.ts +14 -22
  514. package/src/network/peers/utils/subnetMap.ts +6 -3
  515. package/src/network/processor/extractSlotRootFns.ts +0 -9
  516. package/src/network/processor/gossipHandlers.ts +65 -164
  517. package/src/network/processor/gossipQueues/index.ts +0 -6
  518. package/src/network/processor/gossipValidatorFn.ts +0 -5
  519. package/src/network/processor/index.ts +25 -4
  520. package/src/network/reqresp/ReqRespBeaconNode.ts +0 -7
  521. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +2 -2
  522. package/src/network/reqresp/handlers/index.ts +0 -17
  523. package/src/network/reqresp/protocols.ts +0 -12
  524. package/src/network/reqresp/rateLimit.ts +1 -17
  525. package/src/network/reqresp/types.ts +0 -13
  526. package/src/network/subnets/attnetsService.ts +94 -6
  527. package/src/network/subnets/interface.ts +7 -0
  528. package/src/node/nodejs.ts +58 -22
  529. package/src/node/options.ts +9 -6
  530. package/src/sync/interface.ts +1 -0
  531. package/src/sync/range/batch.ts +9 -21
  532. package/src/sync/range/chain.ts +2 -14
  533. package/src/sync/sync.ts +108 -26
  534. package/src/sync/unknownBlock.ts +1 -8
  535. package/src/sync/utils/downloadByRange.ts +31 -230
  536. package/src/sync/utils/downloadByRoot.ts +15 -142
  537. package/src/util/blobs.ts +0 -34
  538. package/src/util/execution.ts +8 -102
  539. package/src/util/file.ts +8 -9
  540. package/src/util/queue/itemQueue.ts +1 -1
  541. package/src/util/sszBytes.ts +42 -24
  542. package/src/util/types.ts +1 -8
  543. package/lib/chain/errors/blobSidecarError.d.ts +0 -108
  544. package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
  545. package/lib/chain/errors/blobSidecarError.js +0 -38
  546. package/lib/chain/errors/blobSidecarError.js.map +0 -1
  547. package/lib/chain/validation/blobSidecar.d.ts +0 -16
  548. package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
  549. package/lib/chain/validation/blobSidecar.js +0 -276
  550. package/lib/chain/validation/blobSidecar.js.map +0 -1
  551. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts +0 -9
  552. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
  553. package/lib/network/reqresp/handlers/blobSidecarsByRange.js +0 -91
  554. package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +0 -1
  555. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts +0 -5
  556. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
  557. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js +0 -46
  558. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +0 -1
  559. package/src/chain/errors/blobSidecarError.ts +0 -70
  560. package/src/chain/validation/blobSidecar.ts +0 -357
  561. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -133
  562. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -69
@@ -1,6 +1,6 @@
1
1
  import { SerializedList } from "@chainsafe/ssz";
2
2
  import { routes } from "@lodestar/api";
3
- import { ExecutionStatus, getFinalizedExecutionBlockHash, getSafeExecutionBlockHash, } from "@lodestar/fork-choice";
3
+ import { ExecutionStatus, ForkChoiceError, ForkChoiceErrorCode, InvalidBlockCode, getFinalizedExecutionBlockHash, getSafeExecutionBlockHash, } from "@lodestar/fork-choice";
4
4
  import { computeEpochAtSlot, isStatePostGloas, isStatePostHeze, } from "@lodestar/state-transition";
5
5
  import { isErrorAborted } from "@lodestar/utils";
6
6
  import { ExecutionPayloadStatus } from "../../execution/index.js";
@@ -9,16 +9,17 @@ import { isQueueErrorAborted } from "../../util/queue/index.js";
9
9
  import { RegenCaller } from "../regen/interface.js";
10
10
  import { PayloadEnvelopeInputSource } from "./payloadEnvelopeInput/index.js";
11
11
  import { verifyExecutionPayloadEnvelope, verifyExecutionPayloadEnvelopeSignature, } from "./verifyExecutionPayloadEnvelope.js";
12
- import { verifyPayloadsDataAvailability } from "./verifyPayloadsDataAvailability.js";
13
12
  const EVENTSTREAM_EMIT_RECENT_EXECUTION_PAYLOAD_SLOTS = 64;
14
13
  export var PayloadErrorCode;
15
14
  (function (PayloadErrorCode) {
16
15
  PayloadErrorCode["EXECUTION_ENGINE_INVALID"] = "PAYLOAD_ERROR_EXECUTION_ENGINE_INVALID";
17
16
  PayloadErrorCode["EXECUTION_ENGINE_ERROR"] = "PAYLOAD_ERROR_EXECUTION_ENGINE_ERROR";
18
17
  PayloadErrorCode["BLOCK_NOT_IN_FORK_CHOICE"] = "PAYLOAD_ERROR_BLOCK_NOT_IN_FORK_CHOICE";
18
+ PayloadErrorCode["BLOCK_EXECUTION_INVALID"] = "PAYLOAD_ERROR_BLOCK_EXECUTION_INVALID";
19
19
  PayloadErrorCode["MISS_BLOCK_STATE"] = "PAYLOAD_ERROR_MISS_BLOCK_STATE";
20
20
  PayloadErrorCode["ENVELOPE_VERIFICATION_ERROR"] = "PAYLOAD_ERROR_ENVELOPE_VERIFICATION_ERROR";
21
21
  PayloadErrorCode["INVALID_SIGNATURE"] = "PAYLOAD_ERROR_INVALID_SIGNATURE";
22
+ PayloadErrorCode["DATA_UNAVAILABLE"] = "PAYLOAD_ERROR_DATA_UNAVAILABLE";
22
23
  })(PayloadErrorCode || (PayloadErrorCode = {}));
23
24
  export class PayloadError extends Error {
24
25
  payloadInput;
@@ -47,7 +48,8 @@ function toForkChoiceExecutionStatus(status) {
47
48
  * are applied on the next block via processParentExecutionPayload.
48
49
  *
49
50
  * The DA wait must have run upstream (range sync awaits DA in `verifyBlocksInEpoch` for the
50
- * whole segment; gossip / API path uses the `processExecutionPayload` wrapper below).
51
+ * whole segment; the gossip / API / unknown-payload sync path waits in `PayloadEnvelopeProcessor`
52
+ * before the import is queued).
51
53
  *
52
54
  * Steps:
53
55
  * 1. Emit `execution_payload_available` event for payload attestation
@@ -85,6 +87,13 @@ export async function importExecutionPayload(payloadInput, dataAvailabilityStatu
85
87
  blockRootHex,
86
88
  });
87
89
  }
90
+ // The payload chain this block builds on was invalidated, a VALID verdict here would contradict it
91
+ if (protoBlock.executionStatus === ExecutionStatus.Invalid) {
92
+ throw new PayloadError(payloadInput, {
93
+ code: PayloadErrorCode.BLOCK_EXECUTION_INVALID,
94
+ blockRootHex,
95
+ });
96
+ }
88
97
  // 3. Regenerate state for envelope verification
89
98
  const blockState = await this.regen
90
99
  .getBlockSlotState(protoBlock, protoBlock.slot, { dontTransferCache: true }, RegenCaller.importExecutionPayload)
@@ -218,13 +227,30 @@ export async function importExecutionPayload(payloadInput, dataAvailabilityStatu
218
227
  }
219
228
  // 6. Update fork choice, transitions the block's PENDING variant to FULL
220
229
  const execStatus = toForkChoiceExecutionStatus(execResult.status);
221
- this.forkChoice.onExecutionPayload(blockRootHex, blockHashHex, envelope.payload.blockNumber, envelope.payload.gasLimit, execStatus, dataAvailabilityStatus);
230
+ try {
231
+ this.forkChoice.onExecutionPayload(blockRootHex, blockHashHex, envelope.payload.blockNumber, envelope.payload.gasLimit, execStatus, dataAvailabilityStatus);
232
+ }
233
+ catch (e) {
234
+ // The payload chain can be invalidated by a forkchoiceUpdated verdict while the engine was awaited
235
+ if (e instanceof ForkChoiceError &&
236
+ e.type.code === ForkChoiceErrorCode.INVALID_BLOCK &&
237
+ e.type.err.code === InvalidBlockCode.PARENT_EXECUTION_INVALID) {
238
+ throw new PayloadError(payloadInput, { code: PayloadErrorCode.BLOCK_EXECUTION_INVALID, blockRootHex });
239
+ }
240
+ throw e;
241
+ }
222
242
  // 7. Queue notifyForkchoiceUpdate to engine api
223
243
  const head = this.forkChoice.getHead();
224
- if (!this.opts.disableImportExecutionFcU && blockRootHex === head.blockRoot) {
244
+ if (!this.opts.disableImportExecutionFcU &&
245
+ blockRootHex === head.blockRoot &&
246
+ // Skip a payload that does not satisfy the inclusion list constraints, fork choice keeps the EMPTY
247
+ // variant as head and the next prepare fcU keeps the engine on the parent payload
248
+ this.forkChoice.isPayloadInclusionListSatisfied(blockRootHex)) {
225
249
  const safeBlockHash = getSafeExecutionBlockHash(this.forkChoice, this.logger);
226
250
  const finalizedBlockHash = getFinalizedExecutionBlockHash(this.forkChoice);
227
- this.executionEngine.notifyForkchoiceUpdate(fork, blockHashHex, safeBlockHash, finalizedBlockHash).catch((e) => {
251
+ this.executionEngine
252
+ .notifyForkchoiceUpdate(fork, blockRootHex, blockHashHex, safeBlockHash, finalizedBlockHash)
253
+ .catch((e) => {
228
254
  if (!isErrorAborted(e) && !isQueueErrorAborted(e)) {
229
255
  this.logger.error("Error pushing notifyForkchoiceUpdate()", { blockHashHex, finalizedBlockHash }, e);
230
256
  }
@@ -254,16 +280,4 @@ export async function importExecutionPayload(payloadInput, dataAvailabilityStatu
254
280
  delaySec,
255
281
  });
256
282
  }
257
- /**
258
- * Process an execution payload envelope end-to-end: wait for DA, then import.
259
- *
260
- * Used by the PayloadEnvelopeProcessor queue (gossip / API / unknown-payload sync) — i.e.
261
- * callers that have NOT already awaited DA themselves. Range sync's inline dispatch in
262
- * processBlocks skips this wrapper and calls `importExecutionPayload` directly, since
263
- * `verifyBlocksInEpoch` already awaited DA for the segment.
264
- */
265
- export async function processExecutionPayload(payloadInput, signal, opts = {}) {
266
- const { dataAvailabilityStatuses } = await verifyPayloadsDataAvailability([payloadInput], signal);
267
- await importExecutionPayload.call(this, payloadInput, dataAvailabilityStatuses[0], opts);
268
- }
269
283
  //# sourceMappingURL=importExecutionPayload.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"importExecutionPayload.js","sourceRoot":"","sources":["../../../src/chain/blocks/importExecutionPayload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"importExecutionPayload.js","sourceRoot":"","sources":["../../../src/chain/blocks/importExecutionPayload.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chain/blocks/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAC;AAEjD,OAAO,EAAC,YAAY,EAAsB,MAAM,2BAA2B,CAAC;AAC5E,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAC,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAGlD,OAAO,EAAC,oBAAoB,EAAC,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAqB,eAAe,EAAE,mBAAmB,EAAC,MAAM,YAAY,CAAC;AAMpF,OAAO,EAAC,oBAAoB,EAAE,KAAK,eAAe,EAAC,MAAM,YAAY,CAAC;AAItE;;GAEG;AACH,qBAAa,cAAc;IACzB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAC7B;QAAC,WAAW,EAAE;QAAE,GAAG,CAAC,IAAI,EAAE,oBAAoB,CAAC,GAAG,IAAI;QAAE,eAAe;KAAC,EACxE,mBAAmB,CACpB,CAAC;IAEF,YAAY,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAWnG;IAEK,gBAAgB,CACpB,GAAG,EAAE,WAAW,EAAE,EAClB,gBAAgB,EAAE,GAAG,CAAC,IAAI,EAAE,oBAAoB,CAAC,GAAG,IAAI,EACxD,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,mBAAmB,CAAC,CAE9B;CACF;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,WAAW,EAAE,EACrB,gBAAgB,EAAE,GAAG,CAAC,IAAI,EAAE,oBAAoB,CAAC,GAAG,IAAI,EACxD,IAAI,EAAE,gBAAgB,GAAG,eAAe,GACvC,OAAO,CAAC,mBAAmB,CAAC,CA2K9B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chain/blocks/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAC;AAEjD,OAAO,EAAC,YAAY,EAAsB,MAAM,2BAA2B,CAAC;AAC5E,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAC,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAGlD,OAAO,EAAC,oBAAoB,EAAC,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAqB,eAAe,EAAE,mBAAmB,EAAC,MAAM,YAAY,CAAC;AAMpF,OAAO,EAAC,oBAAoB,EAAE,KAAK,eAAe,EAAC,MAAM,YAAY,CAAC;AAItE;;GAEG;AACH,qBAAa,cAAc;IACzB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAC7B;QAAC,WAAW,EAAE;QAAE,GAAG,CAAC,IAAI,EAAE,oBAAoB,CAAC,GAAG,IAAI;QAAE,eAAe;KAAC,EACxE,mBAAmB,CACpB,CAAC;IAEF,YAAY,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAWnG;IAEK,gBAAgB,CACpB,GAAG,EAAE,WAAW,EAAE,EAClB,gBAAgB,EAAE,GAAG,CAAC,IAAI,EAAE,oBAAoB,CAAC,GAAG,IAAI,EACxD,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,mBAAmB,CAAC,CAE9B;CACF;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,WAAW,EAAE,EACrB,gBAAgB,EAAE,GAAG,CAAC,IAAI,EAAE,oBAAoB,CAAC,GAAG,IAAI,EACxD,IAAI,EAAE,gBAAgB,GAAG,eAAe,GACvC,OAAO,CAAC,mBAAmB,CAAC,CA8K9B"}
@@ -4,7 +4,7 @@ import { isErrorAborted, toRootHex } from "@lodestar/utils";
4
4
  import { nextEventLoop } from "../../util/eventLoop.js";
5
5
  import { JobItemQueue, isQueueErrorAborted } from "../../util/queue/index.js";
6
6
  import { BlockError, BlockErrorCode, isBlockErrorAborted } from "../errors/index.js";
7
- import { ForkchoiceCaller } from "../forkChoice/index.js";
7
+ import { ExecutionInvalidSource, ForkchoiceCaller } from "../forkChoice/index.js";
8
8
  import { importBlock, importsBlockAttestations } from "./importBlock.js";
9
9
  import { PayloadError, importExecutionPayload } from "./importExecutionPayload.js";
10
10
  import { assertLinearChainSegment } from "./utils/chainSegment.js";
@@ -74,7 +74,7 @@ export async function processBlocks(blocks, payloadEnvelopes, opts) {
74
74
  // and we need to further propagate
75
75
  if (segmentExecStatus.execAborted !== null) {
76
76
  if (segmentExecStatus.invalidSegmentLVH !== undefined) {
77
- this.forkChoice.validateLatestHash(segmentExecStatus.invalidSegmentLVH);
77
+ this.executionEngine.invalidateExecutionPayloads(segmentExecStatus.invalidSegmentLVH, ExecutionInvalidSource.blockSegment);
78
78
  }
79
79
  throw segmentExecStatus.execAborted.execError;
80
80
  }
@@ -96,7 +96,7 @@ export async function processBlocks(blocks, payloadEnvelopes, opts) {
96
96
  proposerBalanceDelta: proposerBalanceDeltas[i],
97
97
  indexedAttestations: indexedAttestationsByBlock[i],
98
98
  // TODO: Make this param mandatory and capture in gossip
99
- seenTimestampSec: opts.seenTimestampSec ?? Math.floor(Date.now() / 1000),
99
+ seenTimestampSec: opts.seenTimestampSec ?? Date.now() / 1000,
100
100
  });
101
101
  }
102
102
  const slotSet = new Set(blocks.map((b) => b.getBlock().message.slot));
@@ -207,7 +207,7 @@ async function importPayloadEnvelopesOfKnownBlocks(payloadEnvelopes, opts) {
207
207
  if (payloadInputs.length === 0) {
208
208
  return result;
209
209
  }
210
- const { dataAvailabilityStatuses } = await verifyPayloadsDataAvailability(payloadInputs, new AbortController().signal);
210
+ const { dataAvailabilityStatuses } = await verifyPayloadsDataAvailability(this.config, payloadInputs, new AbortController().signal);
211
211
  for (let i = 0; i < payloadInputs.length; i++) {
212
212
  this.logger.debug("Importing payload envelope of known block", {
213
213
  slot: payloadInputs[i].slot,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chain/blocks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAC,cAAc,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAC,YAAY,EAAE,mBAAmB,EAAC,MAAM,2BAA2B,CAAC;AAE5E,OAAO,EAAC,UAAU,EAAE,cAAc,EAAE,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AAGxD,OAAO,EAAC,WAAW,EAAE,wBAAwB,EAAC,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAC,YAAY,EAAE,sBAAsB,EAAC,MAAM,6BAA6B,CAAC;AAGjF,OAAO,EAA0B,wBAAwB,EAAC,MAAM,yBAAyB,CAAC;AAC1F,OAAO,EAAC,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAC,wBAAwB,EAAC,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAC,8BAA8B,EAAC,MAAM,qCAAqC,CAAC;AAEnF,OAAO,EAAC,oBAAoB,EAAuB,MAAM,YAAY,CAAC;AAEtE,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B;;GAEG;AACH,MAAM,OAAO,cAAc;IAChB,QAAQ,CAGf;IAEF,YAAY,KAAkB,EAAE,OAAuB,EAAE,IAAsB,EAAE,MAAmB;QAClG,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAI9B,CAAC,GAAG,EAAE,gBAAgB,EAAE,UAAU,EAAE,EAAE;YACpC,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,gBAAgB,EAAE,EAAC,GAAG,IAAI,EAAE,GAAG,UAAU,EAAC,CAAC,CAAC;QACpF,CAAC,EACD,EAAC,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAC,EAC7D,OAAO,EAAE,mBAAmB,IAAI,SAAS,CAC1C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,GAAkB,EAClB,gBAAwD,EACxD,IAAI,GAAoB,EAAE;QAE1B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;CACF;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAEjC,MAAqB,EACrB,gBAAwD,EACxD,IAAwC;IAExC,MAAM,WAAW,GAAwB,EAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC;IACxE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,WAAW,CAAC,CAAC,kBAAkB;IACxC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAC,cAAc,EAAE,WAAW,EAAE,WAAW,EAAC,GAAG,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;QAElH,iDAAiD;QACjD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACxD,2DAA2D;YAC3D,OAAO,MAAM,mCAAmC,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;QACtF,CAAC;QAED,MAAM,EAAC,QAAQ,EAAE,gBAAgB,EAAC,GAAG,wBAAwB,CAC3D,IAAI,CAAC,MAAM,EACX,cAAc,EACd,gBAAgB,EAChB,WAAW,CACZ,CAAC;QACF,+GAA+G;QAC/G,+GAA+G;QAC/G,4GAA4G;QAC5G,8DAA8D;QAC9D,MAAM,UAAU,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjF,MAAM,mBAAmB,GAAG,wBAAwB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAChG,MAAM,OAAO,GAAG,gBAAgB,IAAI,IAAI,IAAI,gBAAgB,KAAK,IAAI,IAAI,CAAC,mBAAmB,CAAC;QAC9F,IAAI,wBAAwB,GAAG,gBAAgB,CAAC;QAChD,IAAI,OAAO,EAAE,CAAC;YACZ,wBAAwB,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACrD,KAAK,MAAM,QAAQ,IAAI,gBAAgB,IAAI,EAAE,EAAE,CAAC;gBAC9C,wBAAwB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC/C,wGAAwG;gBACxG,8CAA8C;gBAC9C,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;YACxF,CAAC;QACH,CAAC;QAED,uHAAuH;QACvH,2CAA2C;QAC3C,MAAM,EACJ,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,0BAA0B,GAC3B,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,wBAAwB,EAAE,IAAI,CAAC,CAAC;QAEtG,oFAAoF;QACpF,mCAAmC;QACnC,IAAI,iBAAiB,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAC3C,IAAI,iBAAiB,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;gBACtD,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;YAC1E,CAAC;YACD,MAAM,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC;QAChD,CAAC;QAED,KAAK,MAAM,UAAU,IAAI,cAAc,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;YAC5C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;QACxF,CAAC;QAED,MAAM,EAAC,iBAAiB,EAAC,GAAG,iBAAiB,CAAC;QAC9C,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAA4B,CAAC;QACjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YAChC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE;gBACtD,UAAU,EAAE,KAAK;gBACjB,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;gBACxB,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC;gBAC/B,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAC;gBACrC,iDAAiD;gBACjD,sBAAsB,EAAE,eAAe,CAAC,CAAC,CAAC;gBAC1C,oBAAoB,EAAE,qBAAqB,CAAC,CAAC,CAAC;gBAC9C,mBAAmB,EAAE,0BAA0B,CAAC,CAAC,CAAC;gBAClD,wDAAwD;gBACxD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;aACzE,CAAC,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5E,IAAI,wBAAwB,EAAE,CAAC;YAC7B,KAAK,MAAM,IAAI,IAAI,wBAAwB,CAAC,IAAI,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;gBACrC,uEAAuE;gBACvE,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;YACzD,CAAC;YAED,8FAA8F;YAC9F,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,YAAY,GAAG,wBAAwB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBACzD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC/B,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,wBAAwB,CAAC,CAAC;gBAClF,CAAC;gBACD,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC;oBAC/B,uCAAuC;oBACvC,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,qCAAqC,CAAC,CAAC;gBAC1F,CAAC;gBACD,MAAM,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,EAAC,cAAc,EAAE,KAAK,EAAC,CAAC,CAAC;YAC5F,CAAC;YAED,MAAM,aAAa,EAAE,CAAC;QACxB,CAAC;QAED,OAAO,EAAC,QAAQ,EAAE,gBAAgB,IAAI,EAAE,EAAE,OAAO,EAAC,CAAC;IACrD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,OAAO,WAAW,CAAC,CAAC,SAAS;QAC/B,CAAC;QAED,8FAA8F;QAC9F,MAAM,GAAG,GAAG,sBAAsB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE5D,sCAAsC;QACtC,wBAAwB;QACxB,IAAI,CAAC,CAAC,GAAG,YAAY,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,YAAY,YAAY,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QAC7E,CAAC;aAAM,IAAI,GAAG,YAAY,YAAY,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,eAAe,EACf,EAAC,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,YAAY,EAAC,EACvE,GAAG,CACJ,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,EAAC,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAC,EAAE,GAAG,CAAC,CAAC;YAE5E,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,iBAAiB,EAAE,CAAC;gBACvD,MAAM,EAAC,WAAW,EAAC,GAAG,GAAG,CAAC;gBAC1B,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC3C,MAAM,EAAC,KAAK,EAAC,GAAG,GAAG,CAAC,IAAI,CAAC;gBACzB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;gBACtD,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;gBACxF,IAAI,CAAC,sBAAsB,CACzB,SAAS,CAAC,iBAAiB,EAC3B,WAAW,EACX,GAAG,SAAS,oBAAoB,EAChC,YAAY,CACb,CAAC;gBACF,IAAI,CAAC,sBAAsB,CACzB,aAAa,EACb,KAAK,CAAC,SAAS,EAAE,EACjB,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,EAC/B,GAAG,KAAK,CAAC,IAAI,oBAAoB,CAClC,CAAC;YACJ,CAAC;iBAAM,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,kBAAkB,EAAE,CAAC;gBAC/D,MAAM,EAAC,WAAW,EAAC,GAAG,GAAG,CAAC;gBAC1B,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC3C,MAAM,EAAC,QAAQ,EAAE,SAAS,EAAC,GAAG,GAAG,CAAC,IAAI,CAAC;gBACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;gBACxC,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC;gBAC1C,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;oBACzE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,6CAA6C,EAC7C,EAAC,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAC,EACvF,CAAC,CACF,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,mCAAmC,CAEhD,gBAAwD,EACxD,IAAqB;IAErB,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;QAC9B,OAAO,EAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC;IACxC,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IACvC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;IAC7C,MAAM,aAAa,GAA2B,EAAE,CAAC;IACjD,MAAM,QAAQ,GAA8B,EAAE,CAAC;IAC/C,KAAK,MAAM,YAAY,IAAI,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC;QACrD,MAAM,EAAC,YAAY,EAAE,IAAI,EAAC,GAAG,YAAY,CAAC;QAC1C,IACE,CAAC,YAAY,CAAC,kBAAkB,EAAE;YAClC,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC;YAC1C,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,YAAY,EAAE,YAAY,CAAC,eAAe,EAAE,CAAC,KAAK,IAAI,EAC9F,CAAC;YACD,SAAS;QACX,CAAC;QACD,IACE,IAAI,CAAC,SAAS,KAAK,YAAY;YAC/B,CAAC,wBAAwB,CAAC,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC;YACvE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,EACnG,CAAC;YACD,uCAAuC;YACvC,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACxD,QAAQ,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,oBAAoB,EAAE,YAAY,EAAC,CAAC,CAAC;YAC1D,SAAS;QACX,CAAC;QACD,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;IAED,oGAAoG;IACpG,MAAM,MAAM,GAAwB,EAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAC,CAAC;IAE7E,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,EAAC,wBAAwB,EAAC,GAAG,MAAM,8BAA8B,CAAC,aAAa,EAAE,IAAI,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC;IACrH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE;YAC7D,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI;YAC3B,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,YAAY;SACzC,CAAC,CAAC;QACH,MAAM,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC,CAAC,EAAE,EAAC,cAAc,EAAE,KAAK,EAAC,CAAC,CAAC;IAClH,CAAC;IACD,mFAAmF;IACnF,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAE3D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAAC,CAAU,EAAE,KAAwB;IAClE,IAAI,CAAC,YAAY,UAAU,EAAE,CAAC;QAC5B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,CAAC,YAAY,YAAY,EAAE,CAAC;QAC9B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE,EAAC,IAAI,EAAE,cAAc,CAAC,kBAAkB,EAAE,KAAK,EAAE,CAAC,EAAC,CAAC,CAAC;QAC9F,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;QAC3B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO,IAAI,UAAU,CAAC,KAAK,EAAE,EAAC,IAAI,EAAE,cAAc,CAAC,kBAAkB,EAAE,KAAK,EAAE,CAAU,EAAC,CAAC,CAAC;AAC7F,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chain/blocks/index.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,26 @@
1
+ import { DataAvailabilityStatus } from "@lodestar/state-transition";
1
2
  import { Metrics } from "../../metrics/metrics.js";
2
3
  import { JobItemQueue } from "../../util/queue/index.js";
3
4
  import type { BeaconChain } from "../chain.js";
4
5
  import { PayloadEnvelopeInput } from "../seenCache/seenPayloadEnvelopeInput.js";
5
6
  import { ImportPayloadOpts } from "./types.js";
6
7
  /**
7
- * PayloadEnvelopeProcessor processes payload envelope jobs in a queued fashion, one after the other.
8
+ * PayloadEnvelopeProcessor imports payload envelopes in a queued fashion, one after the other.
8
9
  *
9
- * Jobs are enqueued only on envelope arrival (gossip or API). The envelope may reach us before
10
- * the sampled data columns; importExecutionPayload awaits `verifyPayloadsDataAvailability`
11
- * internally, so a queued job can pend for up to `PAYLOAD_DATA_AVAILABILITY_TIMEOUT` while
12
- * waiting for columns. Duplicate triggers for the same payloadInput are deduped by sharing the
13
- * in-flight import promise: every caller observes the real import outcome. Resolving duplicates
14
- * early instead would let BlockInputSync mark a still-pending payload as processed, re-queue it,
15
- * and spin re-processing the same root until OOM while the import is blocked (e.g. EL syncing).
10
+ * Jobs are triggered only on envelope arrival (gossip or API). The envelope may reach us before the
11
+ * sampled data columns, the data availability wait runs before the job is queued. Duplicate
12
+ * triggers for the same payloadInput are deduped by sharing the in-flight promise: every caller
13
+ * observes the real import outcome. Resolving duplicates early instead would let
14
+ * BlockInputSync mark a still-pending payload as processed, re-queue it, and spin re-processing
15
+ * the same root until OOM while the import is blocked (e.g. EL syncing).
16
16
  */
17
17
  export declare class PayloadEnvelopeProcessor {
18
- readonly jobQueue: JobItemQueue<[PayloadEnvelopeInput, ImportPayloadOpts], void>;
18
+ private readonly chain;
19
+ private readonly signal;
20
+ readonly jobQueue: JobItemQueue<[PayloadEnvelopeInput, DataAvailabilityStatus, ImportPayloadOpts], void>;
19
21
  private readonly imports;
20
22
  constructor(chain: BeaconChain, metrics: Metrics | null, signal: AbortSignal);
21
23
  processPayloadEnvelopeJob(payloadInput: PayloadEnvelopeInput, opts?: ImportPayloadOpts): Promise<void>;
24
+ private waitForDataAndImport;
22
25
  }
23
26
  //# sourceMappingURL=payloadEnvelopeProcessor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"payloadEnvelopeProcessor.d.ts","sourceRoot":"","sources":["../../../src/chain/blocks/payloadEnvelopeProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAC,oBAAoB,EAAC,MAAM,0CAA0C,CAAC;AAE9E,OAAO,EAAC,iBAAiB,EAAC,MAAM,YAAY,CAAC;AAK7C;;;;;;;;;;GAUG;AACH,qBAAa,wBAAwB;IACnC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,EAAE,IAAI,CAAC,CAAC;IACjF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsD;IAE9E,YAAY,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,EAAE,MAAM,EAAE,WAAW,EAQ3E;IAEK,yBAAyB,CAAC,YAAY,EAAE,oBAAoB,EAAE,IAAI,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyB/G;CACF"}
1
+ {"version":3,"file":"payloadEnvelopeProcessor.d.ts","sourceRoot":"","sources":["../../../src/chain/blocks/payloadEnvelopeProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,sBAAsB,EAAC,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAC,oBAAoB,EAAC,MAAM,0CAA0C,CAAC;AAE9E,OAAO,EAAC,iBAAiB,EAAC,MAAM,YAAY,CAAC;AAM7C;;;;;;;;;GASG;AACH,qBAAa,wBAAwB;IAKjC,OAAO,CAAC,QAAQ,CAAC,KAAK;IAEtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IANzB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,oBAAoB,EAAE,sBAAsB,EAAE,iBAAiB,CAAC,EAAE,IAAI,CAAC,CAAC;IACzG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsD;IAE9E,YACmB,KAAK,EAAE,WAAW,EACnC,OAAO,EAAE,OAAO,GAAG,IAAI,EACN,MAAM,EAAE,WAAW,EASrC;IAEK,yBAAyB,CAAC,YAAY,EAAE,oBAAoB,EAAE,IAAI,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB/G;YAEa,oBAAoB;CAanC"}
@@ -1,38 +1,36 @@
1
1
  import { JobItemQueue } from "../../util/queue/index.js";
2
- import { processExecutionPayload } from "./importExecutionPayload.js";
2
+ import { importExecutionPayload } from "./importExecutionPayload.js";
3
+ import { verifyPayloadsDataAvailability } from "./verifyPayloadsDataAvailability.js";
3
4
  // TODO GLOAS: Set to be equal to DEFAULT_MAX_PENDING_UNFINALIZED_PAYLOAD_ENVELOPE_WRITES for now
4
5
  const QUEUE_MAX_LENGTH = 16;
5
6
  /**
6
- * PayloadEnvelopeProcessor processes payload envelope jobs in a queued fashion, one after the other.
7
+ * PayloadEnvelopeProcessor imports payload envelopes in a queued fashion, one after the other.
7
8
  *
8
- * Jobs are enqueued only on envelope arrival (gossip or API). The envelope may reach us before
9
- * the sampled data columns; importExecutionPayload awaits `verifyPayloadsDataAvailability`
10
- * internally, so a queued job can pend for up to `PAYLOAD_DATA_AVAILABILITY_TIMEOUT` while
11
- * waiting for columns. Duplicate triggers for the same payloadInput are deduped by sharing the
12
- * in-flight import promise: every caller observes the real import outcome. Resolving duplicates
13
- * early instead would let BlockInputSync mark a still-pending payload as processed, re-queue it,
14
- * and spin re-processing the same root until OOM while the import is blocked (e.g. EL syncing).
9
+ * Jobs are triggered only on envelope arrival (gossip or API). The envelope may reach us before the
10
+ * sampled data columns, the data availability wait runs before the job is queued. Duplicate
11
+ * triggers for the same payloadInput are deduped by sharing the in-flight promise: every caller
12
+ * observes the real import outcome. Resolving duplicates early instead would let
13
+ * BlockInputSync mark a still-pending payload as processed, re-queue it, and spin re-processing
14
+ * the same root until OOM while the import is blocked (e.g. EL syncing).
15
15
  */
16
16
  export class PayloadEnvelopeProcessor {
17
+ chain;
18
+ signal;
17
19
  jobQueue;
18
20
  imports = new WeakMap();
19
21
  constructor(chain, metrics, signal) {
20
- this.jobQueue = new JobItemQueue((payloadInput, opts) => {
21
- return processExecutionPayload.call(chain, payloadInput, signal, opts);
22
+ this.chain = chain;
23
+ this.signal = signal;
24
+ this.jobQueue = new JobItemQueue((payloadInput, dataAvailabilityStatus, opts) => {
25
+ return importExecutionPayload.call(chain, payloadInput, dataAvailabilityStatus, opts);
22
26
  }, { maxLength: QUEUE_MAX_LENGTH, noYieldIfOneItem: true, signal }, metrics?.payloadEnvelopeProcessorQueue ?? undefined);
23
27
  }
24
28
  async processPayloadEnvelopeJob(payloadInput, opts = {}) {
25
29
  const existing = this.imports.get(payloadInput);
26
- if (existing) {
30
+ if (existing !== undefined) {
27
31
  return existing;
28
32
  }
29
- await this.jobQueue.waitForSpace();
30
- // Re-check after await, as another call may have queued this payload.
31
- const queued = this.imports.get(payloadInput);
32
- if (queued) {
33
- return queued;
34
- }
35
- const importPromise = this.jobQueue.push(payloadInput, opts);
33
+ const importPromise = this.waitForDataAndImport(payloadInput, opts);
36
34
  this.imports.set(payloadInput, importPromise);
37
35
  try {
38
36
  await importPromise;
@@ -44,5 +42,12 @@ export class PayloadEnvelopeProcessor {
44
42
  throw e;
45
43
  }
46
44
  }
45
+ async waitForDataAndImport(payloadInput, opts) {
46
+ const { dataAvailabilityStatuses } = await verifyPayloadsDataAvailability(this.chain.config, [payloadInput], this.signal);
47
+ while (this.jobQueue.jobLen >= QUEUE_MAX_LENGTH) {
48
+ await this.jobQueue.waitForSpace();
49
+ }
50
+ return this.jobQueue.push(payloadInput, dataAvailabilityStatuses[0], opts);
51
+ }
47
52
  }
48
53
  //# sourceMappingURL=payloadEnvelopeProcessor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"payloadEnvelopeProcessor.js","sourceRoot":"","sources":["../../../src/chain/blocks/payloadEnvelopeProcessor.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AAGvD,OAAO,EAAC,uBAAuB,EAAC,MAAM,6BAA6B,CAAC;AAGpE,iGAAiG;AACjG,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B;;;;;;;;;;GAUG;AACH,MAAM,OAAO,wBAAwB;IAC1B,QAAQ,CAAgE;IAChE,OAAO,GAAG,IAAI,OAAO,EAAuC,CAAC;IAE9E,YAAY,KAAkB,EAAE,OAAuB,EAAE,MAAmB;QAC1E,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAC9B,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE;YACrB,OAAO,uBAAuB,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACzE,CAAC,EACD,EAAC,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAC,EAC7D,OAAO,EAAE,6BAA6B,IAAI,SAAS,CACpD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,YAAkC,EAAE,IAAI,GAAsB,EAAE;QAC9F,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAEnC,sEAAsE;QACtE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAE9C,IAAI,CAAC;YACH,MAAM,aAAa,CAAC;QACtB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,yFAAyF;YACzF,uEAAuE;YACvE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAClC,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"payloadEnvelopeProcessor.js","sourceRoot":"","sources":["../../../src/chain/blocks/payloadEnvelopeProcessor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AAGvD,OAAO,EAAC,sBAAsB,EAAC,MAAM,6BAA6B,CAAC;AAEnE,OAAO,EAAC,8BAA8B,EAAC,MAAM,qCAAqC,CAAC;AAEnF,iGAAiG;AACjG,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B;;;;;;;;;GASG;AACH,MAAM,OAAO,wBAAwB;IAKhB,KAAK;IAEL,MAAM;IANhB,QAAQ,CAAwF;IACxF,OAAO,GAAG,IAAI,OAAO,EAAuC,CAAC;IAE9E,YACmB,KAAkB,EACnC,OAAuB,EACN,MAAmB;qBAFnB,KAAK;sBAEL,MAAM;QAEvB,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAC9B,CAAC,YAAY,EAAE,sBAAsB,EAAE,IAAI,EAAE,EAAE;YAC7C,OAAO,sBAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAC;QACxF,CAAC,EACD,EAAC,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAC,EAC7D,OAAO,EAAE,6BAA6B,IAAI,SAAS,CACpD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,YAAkC,EAAE,IAAI,GAAsB,EAAE;QAC9F,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAE9C,IAAI,CAAC;YACH,MAAM,aAAa,CAAC;QACtB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,yFAAyF;YACzF,uEAAuE;YACvE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAClC,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,YAAkC,EAAE,IAAuB;QAC5F,MAAM,EAAC,wBAAwB,EAAC,GAAG,MAAM,8BAA8B,CACrE,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,CAAC,YAAY,CAAC,EACd,IAAI,CAAC,MAAM,CACZ,CAAC;QAEF,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,gBAAgB,EAAE,CAAC;YAChD,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QACrC,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC7E,CAAC;CACF"}
@@ -1,14 +1,8 @@
1
- import type { ChainForkConfig } from "@lodestar/config";
2
1
  import type { BlockExecutionStatus, PayloadExecutionStatus } from "@lodestar/fork-choice";
3
2
  import { DataAvailabilityStatus, IBeaconStateView } from "@lodestar/state-transition";
4
3
  import type { IndexedAttestation, Slot, fulu } from "@lodestar/types";
5
4
  import { IBlockInput } from "./blockInput/types.js";
6
5
  import { OrphanedPayloadEnvelope } from "./utils/chainSegment.js";
7
- export declare enum GossipedInputType {
8
- block = "block",
9
- blob = "blob",
10
- dataColumn = "data_column"
11
- }
12
6
  export declare enum InclusionListSource {
13
7
  gossip = "gossip",
14
8
  api = "api"
@@ -18,21 +12,10 @@ type DataColumnData = {
18
12
  dataColumnBytes: Uint8Array | null;
19
13
  };
20
14
  export type DataColumnsCacheMap = Map<number, DataColumnData>;
21
- export declare function blockRequiresBlobs(config: ChainForkConfig, blockSlot: Slot, clockSlot: Slot): boolean;
22
15
  export declare enum AttestationImportOpt {
23
16
  Skip = 0,
24
17
  Force = 1
25
18
  }
26
- export declare enum BlobSidecarValidation {
27
- /** When recieved in gossip the blobs are individually verified before import */
28
- Individual = 0,
29
- /**
30
- * Blobs when recieved in req/resp can be fully verified before import
31
- * but currently used in spec tests where blobs come without proofs and assumed
32
- * to be valid
33
- */
34
- Full = 1
35
- }
36
19
  export type ImportPayloadOpts = {
37
20
  /**
38
21
  * Set to true when the envelope was already validated upstream (e.g., gossip/API validation):
@@ -74,8 +57,6 @@ export type ImportBlockOpts = {
74
57
  * Metadata: `true` if all the signatures including the proposer signature have been verified
75
58
  */
76
59
  validSignatures?: boolean;
77
- /** Set to true if already run `validateBlobSidecars()` sucessfully on the blobs */
78
- validBlobSidecars?: BlobSidecarValidation;
79
60
  /** Seen timestamp seconds */
80
61
  seenTimestampSec?: number;
81
62
  };
@@ -93,7 +74,10 @@ export type FullyVerifiedBlock = {
93
74
  parentBlockSlot: Slot;
94
75
  proposerBalanceDelta: number;
95
76
  dataAvailabilityStatus: DataAvailabilityStatus;
96
- /** Pre-computed indexed attestations from signature verification to avoid duplicate work */
77
+ /**
78
+ * Pre-computed indexed attestations from signature verification to avoid duplicate work.
79
+ * Their `attestingIndices` are in committee order, not sorted, so they are not spec-valid `IndexedAttestation`s.
80
+ */
97
81
  indexedAttestations: IndexedAttestation[];
98
82
  /** Seen timestamp seconds */
99
83
  seenTimestampSec: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/chain/blocks/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAC,oBAAoB,EAAE,sBAAsB,EAAC,MAAM,uBAAuB,CAAC;AAExF,OAAO,EAAC,sBAAsB,EAAE,gBAAgB,EAAqB,MAAM,4BAA4B,CAAC;AACxG,OAAO,KAAK,EAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAC,uBAAuB,EAAC,MAAM,yBAAyB,CAAC;AAEhE,oBAAY,iBAAiB;IAC3B,KAAK,UAAU;IACf,IAAI,SAAS;IACb,UAAU,gBAAgB;CAC3B;AAED,oBAAY,mBAAmB;IAC7B,MAAM,WAAW;IACjB,GAAG,QAAQ;CACZ;AAED,KAAK,cAAc,GAAG;IACpB,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC;IACnC,eAAe,EAAE,UAAU,GAAG,IAAI,CAAC;CACpC,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAE9D,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,CAMrG;AAED,oBAAY,oBAAoB;IAC9B,IAAI,IAAA;IACJ,KAAK,IAAA;CACN;AAED,oBAAY,qBAAqB;IAC/B,gFAAgF;IAChF,UAAU,IAAA;IACV;;;;OAIG;IACH,IAAI,IAAA;CACL;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,kBAAkB,CAAC,EAAE,oBAAoB,CAAC;IAC1C;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mFAAmF;IACnF,iBAAiB,CAAC,EAAE,qBAAqB,CAAC;IAC1C,6BAA6B;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,WAAW,CAAC;IACxB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,eAAe,EAAE,IAAI,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sBAAsB,EAAE,sBAAsB,CAAC;IAC/C,4FAA4F;IAC5F,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;IAC1C,6BAA6B;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,0GAA0G;IAC1G,eAAe,EAAE,oBAAoB,GAAG,sBAAsB,CAAC;CAChE,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,uBAAuB,EAAE,CAAC;IACpC,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/chain/blocks/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,oBAAoB,EAAE,sBAAsB,EAAC,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAC,sBAAsB,EAAE,gBAAgB,EAAC,MAAM,4BAA4B,CAAC;AACpF,OAAO,KAAK,EAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAC,uBAAuB,EAAC,MAAM,yBAAyB,CAAC;AAEhE,oBAAY,mBAAmB;IAC7B,MAAM,WAAW;IACjB,GAAG,QAAQ;CACZ;AAED,KAAK,cAAc,GAAG;IACpB,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC;IACnC,eAAe,EAAE,UAAU,GAAG,IAAI,CAAC;CACpC,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAE9D,oBAAY,oBAAoB;IAC9B,IAAI,IAAA;IACJ,KAAK,IAAA;CACN;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,kBAAkB,CAAC,EAAE,oBAAoB,CAAC;IAC1C;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,6BAA6B;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,WAAW,CAAC;IACxB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,eAAe,EAAE,IAAI,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sBAAsB,EAAE,sBAAsB,CAAC;IAC/C;;;OAGG;IACH,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;IAC1C,6BAA6B;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,0GAA0G;IAC1G,eAAe,EAAE,oBAAoB,GAAG,sBAAsB,CAAC;CAChE,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,uBAAuB,EAAE,CAAC;IACpC,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC"}
@@ -1,35 +1,11 @@
1
- import { ForkSeq } from "@lodestar/params";
2
- import { computeEpochAtSlot } from "@lodestar/state-transition";
3
- export var GossipedInputType;
4
- (function (GossipedInputType) {
5
- GossipedInputType["block"] = "block";
6
- GossipedInputType["blob"] = "blob";
7
- GossipedInputType["dataColumn"] = "data_column";
8
- })(GossipedInputType || (GossipedInputType = {}));
9
1
  export var InclusionListSource;
10
2
  (function (InclusionListSource) {
11
3
  InclusionListSource["gossip"] = "gossip";
12
4
  InclusionListSource["api"] = "api";
13
5
  })(InclusionListSource || (InclusionListSource = {}));
14
- export function blockRequiresBlobs(config, blockSlot, clockSlot) {
15
- return (config.getForkSeq(blockSlot) >= ForkSeq.deneb &&
16
- // Only request blobs if they are recent enough
17
- computeEpochAtSlot(blockSlot) >= computeEpochAtSlot(clockSlot) - config.MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS);
18
- }
19
6
  export var AttestationImportOpt;
20
7
  (function (AttestationImportOpt) {
21
8
  AttestationImportOpt[AttestationImportOpt["Skip"] = 0] = "Skip";
22
9
  AttestationImportOpt[AttestationImportOpt["Force"] = 1] = "Force";
23
10
  })(AttestationImportOpt || (AttestationImportOpt = {}));
24
- export var BlobSidecarValidation;
25
- (function (BlobSidecarValidation) {
26
- /** When recieved in gossip the blobs are individually verified before import */
27
- BlobSidecarValidation[BlobSidecarValidation["Individual"] = 0] = "Individual";
28
- /**
29
- * Blobs when recieved in req/resp can be fully verified before import
30
- * but currently used in spec tests where blobs come without proofs and assumed
31
- * to be valid
32
- */
33
- BlobSidecarValidation[BlobSidecarValidation["Full"] = 1] = "Full";
34
- })(BlobSidecarValidation || (BlobSidecarValidation = {}));
35
11
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/chain/blocks/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAA2C,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAKxG,MAAM,CAAN,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,oCAAe,CAAA;IACf,kCAAa,CAAA;IACb,+CAA0B,CAAA;AAC5B,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,QAI5B;AAED,MAAM,CAAN,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,wCAAiB,CAAA;IACjB,kCAAW,CAAA;AACb,CAAC,EAHW,mBAAmB,KAAnB,mBAAmB,QAG9B;AAQD,MAAM,UAAU,kBAAkB,CAAC,MAAuB,EAAE,SAAe,EAAE,SAAe;IAC1F,OAAO,CACL,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,KAAK;QAC7C,+CAA+C;QAC/C,kBAAkB,CAAC,SAAS,CAAC,IAAI,kBAAkB,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,qCAAqC,CAC9G,CAAC;AACJ,CAAC;AAED,MAAM,CAAN,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,+DAAI,CAAA;IACJ,iEAAK,CAAA;AACP,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B;AAED,MAAM,CAAN,IAAY,qBASX;AATD,WAAY,qBAAqB;IAC/B,gFAAgF;IAChF,6EAAU,CAAA;IACV;;;;OAIG;IACH,iEAAI,CAAA;AACN,CAAC,EATW,qBAAqB,KAArB,qBAAqB,QAShC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/chain/blocks/types.ts"],"names":[],"mappings":"AAMA,MAAM,CAAN,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,wCAAiB,CAAA;IACjB,kCAAW,CAAA;AACb,CAAC,EAHW,mBAAmB,KAAnB,mBAAmB,QAG9B;AAQD,MAAM,CAAN,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,+DAAI,CAAA;IACJ,iEAAK,CAAA;AACP,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"verifyBlock.d.ts","sourceRoot":"","sources":["../../../src/chain/blocks/verifyBlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAElE,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAIjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,kBAAkB,EAAE,IAAI,EAAQ,MAAM,iBAAiB,CAAC;AAGhE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAC,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAS,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAC,oBAAoB,EAAC,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAO3C,OAAO,EAAC,iBAAiB,EAA+B,MAAM,oCAAoC,CAAC;AAKnG;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,WAAW,EACjB,WAAW,EAAE,UAAU,EACvB,WAAW,EAAE,WAAW,EAAE,EAC1B,gBAAgB,EAAE,GAAG,CAAC,IAAI,EAAE,oBAAoB,CAAC,GAAG,IAAI,EACxD,IAAI,EAAE,gBAAgB,GAAG,eAAe,GACvC,OAAO,CAAC;IACT,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,eAAe,EAAE,sBAAsB,EAAE,CAAC;IAC1C,iBAAiB,EAAE,GAAG,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;IACrD,0BAA0B,EAAE,kBAAkB,EAAE,EAAE,CAAC;CACpD,CAAC,CA6QD"}
1
+ {"version":3,"file":"verifyBlock.d.ts","sourceRoot":"","sources":["../../../src/chain/blocks/verifyBlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAElE,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAIjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,kBAAkB,EAAE,IAAI,EAAQ,MAAM,iBAAiB,CAAC;AAGhE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAC,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAS,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAC,oBAAoB,EAAC,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAO3C,OAAO,EAAC,iBAAiB,EAA+B,MAAM,oCAAoC,CAAC;AAKnG;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,WAAW,EACjB,WAAW,EAAE,UAAU,EACvB,WAAW,EAAE,WAAW,EAAE,EAC1B,gBAAgB,EAAE,GAAG,CAAC,IAAI,EAAE,oBAAoB,CAAC,GAAG,IAAI,EACxD,IAAI,EAAE,gBAAgB,GAAG,eAAe,GACvC,OAAO,CAAC;IACT,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,eAAe,EAAE,sBAAsB,EAAE,CAAC;IAC1C,iBAAiB,EAAE,GAAG,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;IACrD,0BAA0B,EAAE,kBAAkB,EAAE,EAAE,CAAC;CACpD,CAAC,CA4RD"}
@@ -1,6 +1,6 @@
1
1
  import { ExecutionStatus } from "@lodestar/fork-choice";
2
2
  import { ForkName, ForkSeq, isForkPostFulu } from "@lodestar/params";
3
- import { DataAvailabilityStatus, computeEpochAtSlot, getIndexedAttestation, signedBlockToSignedHeader, } from "@lodestar/state-transition";
3
+ import { DataAvailabilityStatus, computeEpochAtSlot, getAttestingIndices, signedBlockToSignedHeader, } from "@lodestar/state-transition";
4
4
  import { getBlobKzgCommitments } from "../../util/dataColumns.js";
5
5
  import { callInNextEventLoop } from "../../util/eventLoop.js";
6
6
  import { BlockError, BlockErrorCode } from "../errors/index.js";
@@ -83,7 +83,13 @@ export async function verifyBlocksInEpoch(parentBlock, blockInputs, payloadEnvel
83
83
  // we should have the shuffling inside ShufflingCache most of the time
84
84
  const shuffling = this.shufflingCache.getSync(attEpoch, preState0.getShufflingDecisionRoot(attEpoch)) ??
85
85
  preState0.getShufflingAtEpoch(attEpoch);
86
- return getIndexedAttestation(shuffling, fork, attestation);
86
+ // Unlike getIndexedAttestation, keep attestingIndices in committee order: sorting them dominates building
87
+ // these on mainnet blocks. See FullyVerifiedBlock.indexedAttestations.
88
+ return {
89
+ attestingIndices: getAttestingIndices(shuffling, fork, attestation),
90
+ data: attestation.data,
91
+ signature: attestation.signature,
92
+ };
87
93
  });
88
94
  }
89
95
  // Pick the data-availability source by fork:
@@ -99,7 +105,7 @@ export async function verifyBlocksInEpoch(parentBlock, blockInputs, payloadEnvel
99
105
  const payloadInputsForDa = payloadEnvelopes !== null
100
106
  ? Array.from(payloadEnvelopes.values()).filter((payloadInput) => payloadInput.hasPayloadEnvelope())
101
107
  : [];
102
- const { dataAvailabilityStatuses, availableTime } = await verifyPayloadsDataAvailability(payloadInputsForDa, abortController.signal);
108
+ const { dataAvailabilityStatuses, availableTime } = await verifyPayloadsDataAvailability(this.config, payloadInputsForDa, abortController.signal);
103
109
  const payloadDAStatuses = new Map();
104
110
  for (let i = 0; i < payloadInputsForDa.length; i++) {
105
111
  payloadDAStatuses.set(payloadInputsForDa[i].slot, dataAvailabilityStatuses[i]);
@@ -120,20 +126,25 @@ export async function verifyBlocksInEpoch(parentBlock, blockInputs, payloadEnvel
120
126
  };
121
127
  })();
122
128
  // batch all I/O operations to reduce overhead
123
- const [segmentExecStatus, { blockDAStatuses, payloadDAStatuses, availableTime }, { postStates, proposerBalanceDeltas, verifyStateTime }, { verifySignaturesTime },] = await Promise.all([
129
+ const [segmentExecStatus, { blockDAStatuses, payloadDAStatuses, availableTime }, { verifySignaturesTime }, { postStates, proposerBalanceDeltas, verifyStateTime },] = await Promise.all([
124
130
  verifyExecutionPayloadsPromise,
125
131
  // data availability (fork-specific; see daAvailabilityPromise above)
126
132
  daAvailabilityPromise,
133
+ // All signatures at once. Must be called before verifyBlocksStateTransitionOnly()
134
+ // so we hand the BLS job to the worker pool before the main thread
135
+ // is busy with the state transition.
136
+ verifyBlocksSignatures(this.config, this.bls, this.logger, this.metrics, preState0, blocks, indexedAttestationsByBlock, opts),
127
137
  // Run state transition only
128
- // TODO: Ensure it yields to allow flushing to workers and engine API
129
138
  verifyBlocksStateTransitionOnly(preState0, blockInputs,
130
139
  // hack availability for state transition eval as availability is separately determined
131
140
  blocks.map(() => DataAvailabilityStatus.Available), this.serializedCache, this.logger, this.metrics, this.validatorMonitor, abortController.signal, opts),
132
- // All signatures at once
133
- verifyBlocksSignatures(this.config, this.bls, this.logger, this.metrics, preState0, blocks, indexedAttestationsByBlock, opts),
134
141
  // TODO GLOAS: can verify payload signatures in batch too
135
142
  // maybe chain with the above verifyBlocksSignatures()
136
143
  ]);
144
+ if (blockInputs.length === 1 && opts.seenTimestampSec !== undefined) {
145
+ const consensusVerifiedTime = Math.max(verifyStateTime, verifySignaturesTime);
146
+ this.metrics?.gossipBlock.receivedToConsensusVerifiedTime.observe(consensusVerifiedTime / 1000 - opts.seenTimestampSec);
147
+ }
137
148
  for (const blockInput of blockInputs) {
138
149
  const block = blockInput.getBlock();
139
150
  const { slot, proposerIndex } = block.message;
@@ -1 +1 @@
1
- {"version":3,"file":"verifyBlock.js","sourceRoot":"","sources":["../../../src/chain/blocks/verifyBlock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verifyBlock.js","sourceRoot":"","sources":["../../../src/chain/blocks/verifyBlock.ts"],"names":[],"mappings":"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"}