@lodestar/beacon-node 1.51.0-dev.d2b5232209 → 1.51.0-dev.d5620be4a1

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 (530) 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 +38 -25
  12. package/lib/api/impl/validator/index.js.map +1 -1
  13. package/lib/chain/GetBlobsTracker.d.ts +2 -2
  14. package/lib/chain/GetBlobsTracker.d.ts.map +1 -1
  15. package/lib/chain/GetBlobsTracker.js +11 -33
  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/blocks/blockInput/blockInput.d.ts +11 -56
  21. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +1 -1
  22. package/lib/chain/blocks/blockInput/blockInput.js +5 -241
  23. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  24. package/lib/chain/blocks/blockInput/errors.d.ts +2 -4
  25. package/lib/chain/blocks/blockInput/errors.d.ts.map +1 -1
  26. package/lib/chain/blocks/blockInput/errors.js.map +1 -1
  27. package/lib/chain/blocks/blockInput/types.d.ts +2 -18
  28. package/lib/chain/blocks/blockInput/types.d.ts.map +1 -1
  29. package/lib/chain/blocks/blockInput/types.js +0 -1
  30. package/lib/chain/blocks/blockInput/types.js.map +1 -1
  31. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  32. package/lib/chain/blocks/importBlock.js +36 -53
  33. package/lib/chain/blocks/importBlock.js.map +1 -1
  34. package/lib/chain/blocks/importExecutionPayload.d.ts +10 -11
  35. package/lib/chain/blocks/importExecutionPayload.d.ts.map +1 -1
  36. package/lib/chain/blocks/importExecutionPayload.js +32 -18
  37. package/lib/chain/blocks/importExecutionPayload.js.map +1 -1
  38. package/lib/chain/blocks/index.d.ts.map +1 -1
  39. package/lib/chain/blocks/index.js +2 -2
  40. package/lib/chain/blocks/index.js.map +1 -1
  41. package/lib/chain/blocks/payloadEnvelopeProcessor.d.ts +10 -7
  42. package/lib/chain/blocks/payloadEnvelopeProcessor.d.ts.map +1 -1
  43. package/lib/chain/blocks/payloadEnvelopeProcessor.js +22 -17
  44. package/lib/chain/blocks/payloadEnvelopeProcessor.js.map +1 -1
  45. package/lib/chain/blocks/types.d.ts +4 -20
  46. package/lib/chain/blocks/types.d.ts.map +1 -1
  47. package/lib/chain/blocks/types.js +0 -24
  48. package/lib/chain/blocks/types.js.map +1 -1
  49. package/lib/chain/blocks/verifyBlock.d.ts.map +1 -1
  50. package/lib/chain/blocks/verifyBlock.js +17 -6
  51. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  52. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +1 -1
  53. package/lib/chain/blocks/verifyBlocksDataAvailability.js +14 -2
  54. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  55. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts +1 -1
  56. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +1 -1
  57. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +7 -3
  58. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  59. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +1 -1
  60. package/lib/chain/blocks/verifyBlocksSanityChecks.js +4 -0
  61. package/lib/chain/blocks/verifyBlocksSanityChecks.js.map +1 -1
  62. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +1 -1
  63. package/lib/chain/blocks/verifyBlocksSignatures.js +10 -5
  64. package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
  65. package/lib/chain/blocks/verifyPayloadsDataAvailability.d.ts.map +1 -1
  66. package/lib/chain/blocks/verifyPayloadsDataAvailability.js +9 -4
  67. package/lib/chain/blocks/verifyPayloadsDataAvailability.js.map +1 -1
  68. package/lib/chain/blocks/writeBlockInputToDb.d.ts +0 -2
  69. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +1 -1
  70. package/lib/chain/blocks/writeBlockInputToDb.js +6 -24
  71. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  72. package/lib/chain/bls/interface.d.ts +2 -0
  73. package/lib/chain/bls/interface.d.ts.map +1 -1
  74. package/lib/chain/bls/multithread/index.d.ts +1 -1
  75. package/lib/chain/bls/multithread/index.d.ts.map +1 -1
  76. package/lib/chain/bls/multithread/index.js +50 -22
  77. package/lib/chain/bls/multithread/index.js.map +1 -1
  78. package/lib/chain/bls/multithread/types.d.ts +1 -1
  79. package/lib/chain/bls/multithread/types.d.ts.map +1 -1
  80. package/lib/chain/bls/multithread/worker.js +1 -1
  81. package/lib/chain/bls/multithread/worker.js.map +1 -1
  82. package/lib/chain/bls/singleThread.js +1 -1
  83. package/lib/chain/bls/singleThread.js.map +1 -1
  84. package/lib/chain/bls/utils.js +1 -1
  85. package/lib/chain/bls/utils.js.map +1 -1
  86. package/lib/chain/chain.d.ts +25 -4
  87. package/lib/chain/chain.d.ts.map +1 -1
  88. package/lib/chain/chain.js +120 -39
  89. package/lib/chain/chain.js.map +1 -1
  90. package/lib/chain/emitter.d.ts +7 -7
  91. package/lib/chain/emitter.d.ts.map +1 -1
  92. package/lib/chain/emitter.js +5 -5
  93. package/lib/chain/emitter.js.map +1 -1
  94. package/lib/chain/errors/blockError.d.ts +1 -1
  95. package/lib/chain/errors/blockError.d.ts.map +1 -1
  96. package/lib/chain/errors/blockError.js +1 -1
  97. package/lib/chain/errors/blockError.js.map +1 -1
  98. package/lib/chain/errors/executionPayloadEnvelope.d.ts +7 -0
  99. package/lib/chain/errors/executionPayloadEnvelope.d.ts.map +1 -1
  100. package/lib/chain/errors/executionPayloadEnvelope.js +1 -0
  101. package/lib/chain/errors/executionPayloadEnvelope.js.map +1 -1
  102. package/lib/chain/errors/index.d.ts +0 -1
  103. package/lib/chain/errors/index.d.ts.map +1 -1
  104. package/lib/chain/errors/index.js +0 -1
  105. package/lib/chain/errors/index.js.map +1 -1
  106. package/lib/chain/forkChoice/index.d.ts +11 -1
  107. package/lib/chain/forkChoice/index.d.ts.map +1 -1
  108. package/lib/chain/forkChoice/index.js +11 -0
  109. package/lib/chain/forkChoice/index.js.map +1 -1
  110. package/lib/chain/forkChoiceExecutionEngine.d.ts +51 -0
  111. package/lib/chain/forkChoiceExecutionEngine.d.ts.map +1 -0
  112. package/lib/chain/forkChoiceExecutionEngine.js +117 -0
  113. package/lib/chain/forkChoiceExecutionEngine.js.map +1 -0
  114. package/lib/chain/interface.d.ts +9 -7
  115. package/lib/chain/interface.d.ts.map +1 -1
  116. package/lib/chain/interface.js.map +1 -1
  117. package/lib/chain/opPools/aggregatedAttestationPool.d.ts +17 -4
  118. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
  119. package/lib/chain/opPools/aggregatedAttestationPool.js +199 -46
  120. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  121. package/lib/chain/opPools/attestationPool.d.ts +1 -1
  122. package/lib/chain/opPools/attestationPool.d.ts.map +1 -1
  123. package/lib/chain/opPools/attestationPool.js +15 -4
  124. package/lib/chain/opPools/attestationPool.js.map +1 -1
  125. package/lib/chain/opPools/index.d.ts +1 -0
  126. package/lib/chain/opPools/index.d.ts.map +1 -1
  127. package/lib/chain/opPools/index.js +1 -0
  128. package/lib/chain/opPools/index.js.map +1 -1
  129. package/lib/chain/opPools/payloadAttestationPool.d.ts.map +1 -1
  130. package/lib/chain/opPools/payloadAttestationPool.js +17 -7
  131. package/lib/chain/opPools/payloadAttestationPool.js.map +1 -1
  132. package/lib/chain/opPools/singleAttestationPool.d.ts +77 -0
  133. package/lib/chain/opPools/singleAttestationPool.d.ts.map +1 -0
  134. package/lib/chain/opPools/singleAttestationPool.js +209 -0
  135. package/lib/chain/opPools/singleAttestationPool.js.map +1 -0
  136. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +1 -1
  137. package/lib/chain/opPools/syncCommitteeMessagePool.js +9 -3
  138. package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
  139. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +1 -1
  140. package/lib/chain/opPools/syncContributionAndProofPool.js +11 -3
  141. package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
  142. package/lib/chain/opPools/utils.d.ts +1 -1
  143. package/lib/chain/opPools/utils.d.ts.map +1 -1
  144. package/lib/chain/opPools/utils.js +1 -1
  145. package/lib/chain/opPools/utils.js.map +1 -1
  146. package/lib/chain/options.d.ts +5 -3
  147. package/lib/chain/options.d.ts.map +1 -1
  148. package/lib/chain/options.js +0 -1
  149. package/lib/chain/options.js.map +1 -1
  150. package/lib/chain/produceBlock/produceBlockBody.d.ts +3 -2
  151. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  152. package/lib/chain/produceBlock/produceBlockBody.js +3 -2
  153. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  154. package/lib/chain/proposerTracker.d.ts +31 -0
  155. package/lib/chain/proposerTracker.d.ts.map +1 -0
  156. package/lib/chain/proposerTracker.js +75 -0
  157. package/lib/chain/proposerTracker.js.map +1 -0
  158. package/lib/chain/regen/interface.d.ts +1 -1
  159. package/lib/chain/regen/interface.d.ts.map +1 -1
  160. package/lib/chain/regen/queued.d.ts +1 -1
  161. package/lib/chain/regen/queued.d.ts.map +1 -1
  162. package/lib/chain/regen/queued.js +5 -3
  163. package/lib/chain/regen/queued.js.map +1 -1
  164. package/lib/chain/seenCache/seenGossipBlockInput.d.ts +7 -14
  165. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +1 -1
  166. package/lib/chain/seenCache/seenGossipBlockInput.js +6 -65
  167. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  168. package/lib/chain/validation/executionPayloadBid.js +13 -13
  169. package/lib/chain/validation/executionPayloadBid.js.map +1 -1
  170. package/lib/chain/validation/executionPayloadEnvelope.d.ts +6 -0
  171. package/lib/chain/validation/executionPayloadEnvelope.d.ts.map +1 -1
  172. package/lib/chain/validation/executionPayloadEnvelope.js +53 -0
  173. package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
  174. package/lib/chain/validatorMonitor.d.ts +1 -2
  175. package/lib/chain/validatorMonitor.d.ts.map +1 -1
  176. package/lib/chain/validatorMonitor.js +0 -3
  177. package/lib/chain/validatorMonitor.js.map +1 -1
  178. package/lib/db/flatFileStore/flatFileStore.js +5 -5
  179. package/lib/db/flatFileStore/flatFileStore.js.map +1 -1
  180. package/lib/db/flatFileStore/slotIndex.d.ts.map +1 -1
  181. package/lib/db/flatFileStore/slotIndex.js +2 -2
  182. package/lib/db/flatFileStore/slotIndex.js.map +1 -1
  183. package/lib/db/repositories/blobSidecars.d.ts +0 -1
  184. package/lib/db/repositories/blobSidecars.d.ts.map +1 -1
  185. package/lib/db/repositories/blobSidecars.js +0 -1
  186. package/lib/db/repositories/blobSidecars.js.map +1 -1
  187. package/lib/execution/builder/apiClient.d.ts +14 -8
  188. package/lib/execution/builder/apiClient.d.ts.map +1 -1
  189. package/lib/execution/builder/apiClient.js +12 -10
  190. package/lib/execution/builder/apiClient.js.map +1 -1
  191. package/lib/execution/builder/http.d.ts +2 -0
  192. package/lib/execution/builder/http.d.ts.map +1 -1
  193. package/lib/execution/builder/http.js +2 -0
  194. package/lib/execution/builder/http.js.map +1 -1
  195. package/lib/execution/engine/http.d.ts +4 -6
  196. package/lib/execution/engine/http.d.ts.map +1 -1
  197. package/lib/execution/engine/http.js +8 -10
  198. package/lib/execution/engine/http.js.map +1 -1
  199. package/lib/execution/engine/index.d.ts +1 -1
  200. package/lib/execution/engine/index.d.ts.map +1 -1
  201. package/lib/execution/engine/index.js +1 -1
  202. package/lib/execution/engine/index.js.map +1 -1
  203. package/lib/execution/engine/interface.d.ts +18 -6
  204. package/lib/execution/engine/interface.d.ts.map +1 -1
  205. package/lib/execution/engine/interface.js.map +1 -1
  206. package/lib/execution/engine/jsonRpcTransport.d.ts +2 -4
  207. package/lib/execution/engine/jsonRpcTransport.d.ts.map +1 -1
  208. package/lib/execution/engine/jsonRpcTransport.js +2 -12
  209. package/lib/execution/engine/jsonRpcTransport.js.map +1 -1
  210. package/lib/execution/engine/mock.d.ts +0 -1
  211. package/lib/execution/engine/mock.d.ts.map +1 -1
  212. package/lib/execution/engine/mock.js +0 -4
  213. package/lib/execution/engine/mock.js.map +1 -1
  214. package/lib/execution/engine/restTransport.d.ts +2 -4
  215. package/lib/execution/engine/restTransport.d.ts.map +1 -1
  216. package/lib/execution/engine/restTransport.js +1 -15
  217. package/lib/execution/engine/restTransport.js.map +1 -1
  218. package/lib/execution/engine/sszTypes.d.ts +0 -9
  219. package/lib/execution/engine/sszTypes.d.ts.map +1 -1
  220. package/lib/execution/engine/sszTypes.js +0 -5
  221. package/lib/execution/engine/sszTypes.js.map +1 -1
  222. package/lib/execution/engine/transport.d.ts +1 -14
  223. package/lib/execution/engine/transport.d.ts.map +1 -1
  224. package/lib/execution/engine/types.d.ts +0 -8
  225. package/lib/execution/engine/types.d.ts.map +1 -1
  226. package/lib/execution/engine/types.js +2 -10
  227. package/lib/execution/engine/types.js.map +1 -1
  228. package/lib/execution/engine/utils.d.ts.map +1 -1
  229. package/lib/execution/engine/utils.js +3 -2
  230. package/lib/execution/engine/utils.js.map +1 -1
  231. package/lib/index.d.ts +1 -1
  232. package/lib/index.d.ts.map +1 -1
  233. package/lib/index.js +1 -1
  234. package/lib/index.js.map +1 -1
  235. package/lib/metrics/metrics/beacon.d.ts +0 -9
  236. package/lib/metrics/metrics/beacon.d.ts.map +1 -1
  237. package/lib/metrics/metrics/beacon.js +0 -30
  238. package/lib/metrics/metrics/beacon.js.map +1 -1
  239. package/lib/metrics/metrics/lodestar.d.ts +30 -8
  240. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  241. package/lib/metrics/metrics/lodestar.js +79 -18
  242. package/lib/metrics/metrics/lodestar.js.map +1 -1
  243. package/lib/metrics/server/http.js +5 -5
  244. package/lib/metrics/server/http.js.map +1 -1
  245. package/lib/monitoring/service.js +1 -1
  246. package/lib/monitoring/service.js.map +1 -1
  247. package/lib/network/core/networkCore.d.ts +4 -1
  248. package/lib/network/core/networkCore.d.ts.map +1 -1
  249. package/lib/network/core/networkCore.js +7 -0
  250. package/lib/network/core/networkCore.js.map +1 -1
  251. package/lib/network/core/networkCoreWorker.js +2 -0
  252. package/lib/network/core/networkCoreWorker.js.map +1 -1
  253. package/lib/network/core/networkCoreWorkerHandler.d.ts +4 -1
  254. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +1 -1
  255. package/lib/network/core/networkCoreWorkerHandler.js +6 -0
  256. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  257. package/lib/network/core/types.d.ts +6 -1
  258. package/lib/network/core/types.d.ts.map +1 -1
  259. package/lib/network/gossip/gossipsub.d.ts +1 -0
  260. package/lib/network/gossip/gossipsub.d.ts.map +1 -1
  261. package/lib/network/gossip/gossipsub.js +10 -0
  262. package/lib/network/gossip/gossipsub.js.map +1 -1
  263. package/lib/network/gossip/interface.d.ts +1 -8
  264. package/lib/network/gossip/interface.d.ts.map +1 -1
  265. package/lib/network/gossip/interface.js +0 -1
  266. package/lib/network/gossip/interface.js.map +1 -1
  267. package/lib/network/gossip/topic.d.ts +0 -16
  268. package/lib/network/gossip/topic.d.ts.map +1 -1
  269. package/lib/network/gossip/topic.js +0 -23
  270. package/lib/network/gossip/topic.js.map +1 -1
  271. package/lib/network/interface.d.ts +4 -5
  272. package/lib/network/interface.d.ts.map +1 -1
  273. package/lib/network/libp2p/index.d.ts.map +1 -1
  274. package/lib/network/libp2p/index.js +5 -1
  275. package/lib/network/libp2p/index.js.map +1 -1
  276. package/lib/network/network.d.ts +8 -7
  277. package/lib/network/network.d.ts.map +1 -1
  278. package/lib/network/network.js +53 -35
  279. package/lib/network/network.js.map +1 -1
  280. package/lib/network/options.d.ts +2 -0
  281. package/lib/network/options.d.ts.map +1 -1
  282. package/lib/network/options.js +2 -0
  283. package/lib/network/options.js.map +1 -1
  284. package/lib/network/peers/peerManager.d.ts +2 -1
  285. package/lib/network/peers/peerManager.d.ts.map +1 -1
  286. package/lib/network/peers/peerManager.js +28 -1
  287. package/lib/network/peers/peerManager.js.map +1 -1
  288. package/lib/network/peers/utils/assertPeerRelevance.d.ts +9 -1
  289. package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +1 -1
  290. package/lib/network/peers/utils/assertPeerRelevance.js +32 -21
  291. package/lib/network/peers/utils/assertPeerRelevance.js.map +1 -1
  292. package/lib/network/peers/utils/prioritizePeers.d.ts +4 -1
  293. package/lib/network/peers/utils/prioritizePeers.d.ts.map +1 -1
  294. package/lib/network/peers/utils/prioritizePeers.js +8 -16
  295. package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
  296. package/lib/network/peers/utils/subnetMap.d.ts +5 -2
  297. package/lib/network/peers/utils/subnetMap.d.ts.map +1 -1
  298. package/lib/network/peers/utils/subnetMap.js +6 -3
  299. package/lib/network/peers/utils/subnetMap.js.map +1 -1
  300. package/lib/network/processor/extractSlotRootFns.d.ts.map +1 -1
  301. package/lib/network/processor/extractSlotRootFns.js +1 -8
  302. package/lib/network/processor/extractSlotRootFns.js.map +1 -1
  303. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  304. package/lib/network/processor/gossipHandlers.js +52 -131
  305. package/lib/network/processor/gossipHandlers.js.map +1 -1
  306. package/lib/network/processor/gossipQueues/index.d.ts.map +1 -1
  307. package/lib/network/processor/gossipQueues/index.js +0 -6
  308. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  309. package/lib/network/processor/gossipValidatorFn.d.ts.map +1 -1
  310. package/lib/network/processor/gossipValidatorFn.js +1 -5
  311. package/lib/network/processor/gossipValidatorFn.js.map +1 -1
  312. package/lib/network/processor/index.d.ts +6 -0
  313. package/lib/network/processor/index.d.ts.map +1 -1
  314. package/lib/network/processor/index.js +29 -4
  315. package/lib/network/processor/index.js.map +1 -1
  316. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +1 -1
  317. package/lib/network/reqresp/ReqRespBeaconNode.js +0 -3
  318. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  319. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts +2 -2
  320. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +1 -1
  321. package/lib/network/reqresp/handlers/index.d.ts.map +1 -1
  322. package/lib/network/reqresp/handlers/index.js +1 -12
  323. package/lib/network/reqresp/handlers/index.js.map +1 -1
  324. package/lib/network/reqresp/protocols.d.ts +0 -2
  325. package/lib/network/reqresp/protocols.d.ts.map +1 -1
  326. package/lib/network/reqresp/protocols.js +0 -10
  327. package/lib/network/reqresp/protocols.js.map +1 -1
  328. package/lib/network/reqresp/rateLimit.d.ts.map +1 -1
  329. package/lib/network/reqresp/rateLimit.js +1 -17
  330. package/lib/network/reqresp/rateLimit.js.map +1 -1
  331. package/lib/network/reqresp/types.d.ts +2 -8
  332. package/lib/network/reqresp/types.d.ts.map +1 -1
  333. package/lib/network/reqresp/types.js +1 -7
  334. package/lib/network/reqresp/types.js.map +1 -1
  335. package/lib/network/subnets/attnetsService.d.ts +35 -5
  336. package/lib/network/subnets/attnetsService.d.ts.map +1 -1
  337. package/lib/network/subnets/attnetsService.js +84 -6
  338. package/lib/network/subnets/attnetsService.js.map +1 -1
  339. package/lib/network/subnets/interface.d.ts +7 -0
  340. package/lib/network/subnets/interface.d.ts.map +1 -1
  341. package/lib/network/subnets/interface.js.map +1 -1
  342. package/lib/node/nodejs.d.ts +3 -1
  343. package/lib/node/nodejs.d.ts.map +1 -1
  344. package/lib/node/nodejs.js +38 -20
  345. package/lib/node/nodejs.js.map +1 -1
  346. package/lib/node/options.d.ts +3 -1
  347. package/lib/node/options.d.ts.map +1 -1
  348. package/lib/node/options.js +4 -2
  349. package/lib/node/options.js.map +1 -1
  350. package/lib/sync/interface.d.ts.map +1 -1
  351. package/lib/sync/interface.js.map +1 -1
  352. package/lib/sync/range/batch.d.ts +2 -3
  353. package/lib/sync/range/batch.d.ts.map +1 -1
  354. package/lib/sync/range/batch.js +9 -22
  355. package/lib/sync/range/batch.js.map +1 -1
  356. package/lib/sync/range/chain.d.ts.map +1 -1
  357. package/lib/sync/range/chain.js +2 -15
  358. package/lib/sync/range/chain.js.map +1 -1
  359. package/lib/sync/sync.d.ts +7 -0
  360. package/lib/sync/sync.d.ts.map +1 -1
  361. package/lib/sync/sync.js +61 -3
  362. package/lib/sync/sync.js.map +1 -1
  363. package/lib/sync/unknownBlock.d.ts.map +1 -1
  364. package/lib/sync/unknownBlock.js +1 -7
  365. package/lib/sync/unknownBlock.js.map +1 -1
  366. package/lib/sync/utils/downloadByRange.d.ts +6 -34
  367. package/lib/sync/utils/downloadByRange.d.ts.map +1 -1
  368. package/lib/sync/utils/downloadByRange.js +24 -128
  369. package/lib/sync/utils/downloadByRange.js.map +1 -1
  370. package/lib/sync/utils/downloadByRoot.d.ts +2 -18
  371. package/lib/sync/utils/downloadByRoot.d.ts.map +1 -1
  372. package/lib/sync/utils/downloadByRoot.js +14 -99
  373. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  374. package/lib/util/blobs.d.ts +1 -7
  375. package/lib/util/blobs.d.ts.map +1 -1
  376. package/lib/util/blobs.js +0 -19
  377. package/lib/util/blobs.js.map +1 -1
  378. package/lib/util/execution.d.ts +3 -4
  379. package/lib/util/execution.d.ts.map +1 -1
  380. package/lib/util/execution.js +1 -73
  381. package/lib/util/execution.js.map +1 -1
  382. package/lib/util/file.d.ts.map +1 -1
  383. package/lib/util/file.js +8 -9
  384. package/lib/util/file.js.map +1 -1
  385. package/lib/util/queue/itemQueue.js +1 -1
  386. package/lib/util/queue/itemQueue.js.map +1 -1
  387. package/lib/util/sszBytes.d.ts +5 -1
  388. package/lib/util/sszBytes.d.ts.map +1 -1
  389. package/lib/util/sszBytes.js +36 -19
  390. package/lib/util/sszBytes.js.map +1 -1
  391. package/lib/util/types.d.ts +0 -5
  392. package/lib/util/types.d.ts.map +1 -1
  393. package/lib/util/types.js +1 -2
  394. package/lib/util/types.js.map +1 -1
  395. package/package.json +16 -17
  396. package/src/api/impl/beacon/blocks/index.ts +59 -109
  397. package/src/api/impl/beacon/pool/index.ts +31 -1
  398. package/src/api/impl/beacon/state/utils.ts +1 -1
  399. package/src/api/impl/validator/index.ts +43 -29
  400. package/src/chain/GetBlobsTracker.ts +14 -41
  401. package/src/chain/archiveStore/archiveStore.ts +1 -0
  402. package/src/chain/blocks/blockInput/blockInput.ts +11 -343
  403. package/src/chain/blocks/blockInput/errors.ts +1 -2
  404. package/src/chain/blocks/blockInput/types.ts +2 -20
  405. package/src/chain/blocks/importBlock.ts +56 -72
  406. package/src/chain/blocks/importExecutionPayload.ts +55 -34
  407. package/src/chain/blocks/index.ts +5 -2
  408. package/src/chain/blocks/payloadEnvelopeProcessor.ts +33 -22
  409. package/src/chain/blocks/types.ts +5 -31
  410. package/src/chain/blocks/verifyBlock.ts +30 -16
  411. package/src/chain/blocks/verifyBlocksDataAvailability.ts +16 -2
  412. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +9 -6
  413. package/src/chain/blocks/verifyBlocksSanityChecks.ts +4 -1
  414. package/src/chain/blocks/verifyBlocksSignatures.ts +10 -5
  415. package/src/chain/blocks/verifyPayloadsDataAvailability.ts +11 -4
  416. package/src/chain/blocks/writeBlockInputToDb.ts +6 -29
  417. package/src/chain/bls/interface.ts +2 -0
  418. package/src/chain/bls/multithread/index.ts +48 -24
  419. package/src/chain/bls/multithread/types.ts +1 -1
  420. package/src/chain/bls/multithread/worker.ts +1 -5
  421. package/src/chain/bls/singleThread.ts +1 -1
  422. package/src/chain/bls/utils.ts +1 -1
  423. package/src/chain/chain.ts +136 -38
  424. package/src/chain/emitter.ts +8 -8
  425. package/src/chain/errors/blockError.ts +1 -1
  426. package/src/chain/errors/executionPayloadEnvelope.ts +8 -0
  427. package/src/chain/errors/index.ts +0 -1
  428. package/src/chain/forkChoice/index.ts +11 -0
  429. package/src/chain/forkChoiceExecutionEngine.ts +183 -0
  430. package/src/chain/interface.ts +9 -6
  431. package/src/chain/opPools/aggregatedAttestationPool.ts +246 -43
  432. package/src/chain/opPools/attestationPool.ts +16 -4
  433. package/src/chain/opPools/index.ts +1 -0
  434. package/src/chain/opPools/payloadAttestationPool.ts +18 -7
  435. package/src/chain/opPools/singleAttestationPool.ts +287 -0
  436. package/src/chain/opPools/syncCommitteeMessagePool.ts +10 -3
  437. package/src/chain/opPools/syncContributionAndProofPool.ts +13 -3
  438. package/src/chain/opPools/utils.ts +1 -1
  439. package/src/chain/options.ts +5 -4
  440. package/src/chain/produceBlock/produceBlockBody.ts +7 -3
  441. package/src/chain/proposerTracker.ts +94 -0
  442. package/src/chain/regen/interface.ts +1 -1
  443. package/src/chain/regen/queued.ts +6 -4
  444. package/src/chain/seenCache/seenGossipBlockInput.ts +9 -93
  445. package/src/chain/validation/executionPayloadBid.ts +14 -13
  446. package/src/chain/validation/executionPayloadEnvelope.ts +68 -1
  447. package/src/chain/validatorMonitor.ts +0 -6
  448. package/src/db/flatFileStore/flatFileStore.ts +7 -7
  449. package/src/db/flatFileStore/slotIndex.ts +4 -3
  450. package/src/db/repositories/blobSidecars.ts +0 -1
  451. package/src/execution/builder/apiClient.ts +16 -13
  452. package/src/execution/builder/http.ts +4 -0
  453. package/src/execution/engine/http.ts +19 -42
  454. package/src/execution/engine/index.ts +1 -1
  455. package/src/execution/engine/interface.ts +19 -10
  456. package/src/execution/engine/jsonRpcTransport.ts +10 -22
  457. package/src/execution/engine/mock.ts +0 -7
  458. package/src/execution/engine/restTransport.ts +3 -22
  459. package/src/execution/engine/sszTypes.ts +0 -9
  460. package/src/execution/engine/transport.ts +8 -17
  461. package/src/execution/engine/types.ts +3 -18
  462. package/src/execution/engine/utils.ts +4 -2
  463. package/src/index.ts +1 -1
  464. package/src/metrics/metrics/beacon.ts +0 -30
  465. package/src/metrics/metrics/lodestar.ts +80 -18
  466. package/src/metrics/server/http.ts +5 -5
  467. package/src/monitoring/service.ts +1 -1
  468. package/src/network/core/networkCore.ts +11 -1
  469. package/src/network/core/networkCoreWorker.ts +2 -0
  470. package/src/network/core/networkCoreWorkerHandler.ts +8 -1
  471. package/src/network/core/types.ts +6 -1
  472. package/src/network/gossip/gossipsub.ts +11 -0
  473. package/src/network/gossip/interface.ts +0 -5
  474. package/src/network/gossip/topic.ts +0 -25
  475. package/src/network/interface.ts +2 -5
  476. package/src/network/libp2p/index.ts +5 -1
  477. package/src/network/network.ts +55 -58
  478. package/src/network/options.ts +4 -0
  479. package/src/network/peers/peerManager.ts +28 -3
  480. package/src/network/peers/utils/assertPeerRelevance.ts +39 -23
  481. package/src/network/peers/utils/prioritizePeers.ts +14 -22
  482. package/src/network/peers/utils/subnetMap.ts +6 -3
  483. package/src/network/processor/extractSlotRootFns.ts +0 -9
  484. package/src/network/processor/gossipHandlers.ts +65 -164
  485. package/src/network/processor/gossipQueues/index.ts +0 -6
  486. package/src/network/processor/gossipValidatorFn.ts +0 -5
  487. package/src/network/processor/index.ts +25 -4
  488. package/src/network/reqresp/ReqRespBeaconNode.ts +0 -7
  489. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +2 -2
  490. package/src/network/reqresp/handlers/index.ts +0 -17
  491. package/src/network/reqresp/protocols.ts +0 -12
  492. package/src/network/reqresp/rateLimit.ts +1 -17
  493. package/src/network/reqresp/types.ts +0 -13
  494. package/src/network/subnets/attnetsService.ts +94 -6
  495. package/src/network/subnets/interface.ts +7 -0
  496. package/src/node/nodejs.ts +40 -21
  497. package/src/node/options.ts +9 -6
  498. package/src/sync/interface.ts +1 -0
  499. package/src/sync/range/batch.ts +9 -21
  500. package/src/sync/range/chain.ts +2 -14
  501. package/src/sync/sync.ts +65 -4
  502. package/src/sync/unknownBlock.ts +1 -8
  503. package/src/sync/utils/downloadByRange.ts +31 -230
  504. package/src/sync/utils/downloadByRoot.ts +15 -142
  505. package/src/util/blobs.ts +0 -34
  506. package/src/util/execution.ts +8 -102
  507. package/src/util/file.ts +8 -9
  508. package/src/util/queue/itemQueue.ts +1 -1
  509. package/src/util/sszBytes.ts +42 -24
  510. package/src/util/types.ts +1 -8
  511. package/lib/chain/errors/blobSidecarError.d.ts +0 -108
  512. package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
  513. package/lib/chain/errors/blobSidecarError.js +0 -38
  514. package/lib/chain/errors/blobSidecarError.js.map +0 -1
  515. package/lib/chain/validation/blobSidecar.d.ts +0 -16
  516. package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
  517. package/lib/chain/validation/blobSidecar.js +0 -276
  518. package/lib/chain/validation/blobSidecar.js.map +0 -1
  519. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts +0 -9
  520. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
  521. package/lib/network/reqresp/handlers/blobSidecarsByRange.js +0 -91
  522. package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +0 -1
  523. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts +0 -5
  524. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
  525. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js +0 -46
  526. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +0 -1
  527. package/src/chain/errors/blobSidecarError.ts +0 -70
  528. package/src/chain/validation/blobSidecar.ts +0 -357
  529. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -133
  530. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -69
@@ -1 +1 @@
1
- {"version":3,"file":"itemQueue.js","sourceRoot":"","sources":["../../../src/util/queue/itemQueue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"itemQueue.js","sourceRoot":"","sources":["../../../src/util/queue/itemQueue.ts"],"names":[],"mappings":"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"}
@@ -121,7 +121,6 @@ export declare function getAttDataFromSignedAggregateAndProofPhase0(data: Uint8A
121
121
  export declare function getSlotFromSignedBeaconBlockSerialized(data: Uint8Array): Slot | null;
122
122
  export declare function getParentRootFromSignedBeaconBlockSerialized(data: Uint8Array): RootHex | null;
123
123
  export declare function getParentBlockHashFromGloasSignedBeaconBlockSerialized(data: Uint8Array, fork: ForkPostGloas): RootHex | null;
124
- export declare function getSlotFromBlobSidecarSerialized(data: Uint8Array): Slot | null;
125
124
  export declare function getSlotFromDataColumnSidecarSerialized(data: Uint8Array, fork: ForkName): Slot | null;
126
125
  export declare function getBeaconBlockRootFromDataColumnSidecarSerialized(data: Uint8Array): RootHex | null;
127
126
  /**
@@ -131,6 +130,11 @@ export declare function getBeaconBlockRootFromDataColumnSidecarSerialized(data:
131
130
  export declare function computeMaxGloasDataColumnSidecarSize(config: ChainForkConfig): number;
132
131
  export declare function getSlotFromExecutionPayloadEnvelopeSerialized(data: Uint8Array): Slot | null;
133
132
  export declare function getBeaconBlockRootFromExecutionPayloadEnvelopeSerialized(data: Uint8Array): RootHex | null;
133
+ /**
134
+ * Transaction count of the payload, read from the SSZ offsets without deserializing the envelope.
135
+ * Returns null on malformed offsets, deserialization reports the exact error.
136
+ */
137
+ export declare function getTransactionCountFromExecutionPayloadEnvelopeSerialized(data: Uint8Array): number | null;
134
138
  export declare function getLastProcessedSlotFromBeaconStateSerialized(data: Uint8Array): Slot | null;
135
139
  export declare function getSlotFromBeaconStateSerialized(data: Uint8Array): Slot | null;
136
140
  export declare function getSlotFromPayloadAttestationMessageSerialized(data: Uint8Array): Slot | null;
@@ -1 +1 @@
1
- {"version":3,"file":"sszBytes.d.ts","sourceRoot":"","sources":["../../src/util/sszBytes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sszBytes.d.ts","sourceRoot":"","sources":["../../src/util/sszBytes.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { BitArray, deserializeUint8ArrayBitListFromBytes } from "@chainsafe/ssz";
2
- import { BYTES_PER_CELL, BYTES_PER_FIELD_ELEMENT, FIELD_ELEMENTS_PER_BLOB, ForkSeq, MAX_COMMITTEES_PER_SLOT, isForkPostElectra, isForkPostGloas, isForkPostHeze, } from "@lodestar/params";
2
+ import { BYTES_PER_CELL, ForkSeq, MAX_COMMITTEES_PER_SLOT, isForkPostElectra, isForkPostGloas, isForkPostHeze, } from "@lodestar/params";
3
3
  import { ssz } from "@lodestar/types";
4
4
  // pre-electra
5
5
  // class Attestation(Container):
@@ -381,22 +381,6 @@ export function getParentBlockHashFromGloasSignedBeaconBlockSerialized(data, for
381
381
  blockRootBuf.set(data.subarray(parentBlockHashStart, parentBlockHashStart + ROOT_SIZE));
382
382
  return `0x${blockRootBuf.toString("hex")}`;
383
383
  }
384
- /**
385
- * class BlobSidecar(Container):
386
- * index: BlobIndex [fixed - 8 bytes ],
387
- * blob: Blob, BYTES_PER_FIELD_ELEMENT * FIELD_ELEMENTS_PER_BLOB
388
- * kzgCommitment: Bytes48,
389
- * kzgProof: Bytes48,
390
- * signedBlockHeader:
391
- * slot: 8 bytes
392
- */
393
- const SLOT_BYTES_POSITION_IN_SIGNED_BLOB_SIDECAR = 8 + BYTES_PER_FIELD_ELEMENT * FIELD_ELEMENTS_PER_BLOB + 48 + 48;
394
- export function getSlotFromBlobSidecarSerialized(data) {
395
- if (data.length < SLOT_BYTES_POSITION_IN_SIGNED_BLOB_SIDECAR + SLOT_SIZE) {
396
- return null;
397
- }
398
- return getSlotFromOffset(data, SLOT_BYTES_POSITION_IN_SIGNED_BLOB_SIDECAR);
399
- }
400
384
  /**
401
385
  * Pre-Gloas DataColumnSidecar:
402
386
  * {
@@ -498,6 +482,39 @@ export function getBeaconBlockRootFromExecutionPayloadEnvelopeSerialized(data) {
498
482
  blockRootBuf.set(data.subarray(BEACON_BLOCK_ROOT_OFFSET_IN_SIGNED_EXECUTION_PAYLOAD_ENVELOPE, BEACON_BLOCK_ROOT_OFFSET_IN_SIGNED_EXECUTION_PAYLOAD_ENVELOPE + ROOT_SIZE));
499
483
  return "0x" + blockRootBuf.toString("hex");
500
484
  }
485
+ // transactions offset within ExecutionPayload fixed portion, see SLOT_NUMBER_OFFSET_IN_EXECUTION_PAYLOAD:
486
+ // everything up to and including blockHash(32) = 504, followed by withdrawals_offset(4)
487
+ const PAYLOAD_START_IN_SIGNED_EXECUTION_PAYLOAD_ENVELOPE = ENVELOPE_START_IN_SIGNED + EXECUTION_PAYLOAD_ENVELOPE_FIXED_SIZE; // 180
488
+ const TRANSACTIONS_OFFSET_POSITION_IN_SIGNED_EXECUTION_PAYLOAD_ENVELOPE = PAYLOAD_START_IN_SIGNED_EXECUTION_PAYLOAD_ENVELOPE + 504; // 684
489
+ const WITHDRAWALS_OFFSET_POSITION_IN_SIGNED_EXECUTION_PAYLOAD_ENVELOPE = TRANSACTIONS_OFFSET_POSITION_IN_SIGNED_EXECUTION_PAYLOAD_ENVELOPE + 4; // 688
490
+ /**
491
+ * Transaction count of the payload, read from the SSZ offsets without deserializing the envelope.
492
+ * Returns null on malformed offsets, deserialization reports the exact error.
493
+ */
494
+ export function getTransactionCountFromExecutionPayloadEnvelopeSerialized(data) {
495
+ if (data.length < WITHDRAWALS_OFFSET_POSITION_IN_SIGNED_EXECUTION_PAYLOAD_ENVELOPE + 4) {
496
+ return null;
497
+ }
498
+ const view = new DataView(data.buffer, data.byteOffset, data.byteLength);
499
+ const transactionsOffset = view.getUint32(TRANSACTIONS_OFFSET_POSITION_IN_SIGNED_EXECUTION_PAYLOAD_ENVELOPE, true);
500
+ const withdrawalsOffset = view.getUint32(WITHDRAWALS_OFFSET_POSITION_IN_SIGNED_EXECUTION_PAYLOAD_ENVELOPE, true);
501
+ if (transactionsOffset > withdrawalsOffset) {
502
+ return null;
503
+ }
504
+ if (transactionsOffset === withdrawalsOffset) {
505
+ return 0;
506
+ }
507
+ const transactionsStart = PAYLOAD_START_IN_SIGNED_EXECUTION_PAYLOAD_ENVELOPE + transactionsOffset;
508
+ if (transactionsStart + 4 > data.length) {
509
+ return null;
510
+ }
511
+ // first offset of a non-empty list is the size of its offset table, 4 bytes per element
512
+ const firstTransactionOffset = view.getUint32(transactionsStart, true);
513
+ if (firstTransactionOffset % 4 !== 0 || firstTransactionOffset > withdrawalsOffset - transactionsOffset) {
514
+ return null;
515
+ }
516
+ return firstTransactionOffset / 4;
517
+ }
501
518
  /**
502
519
  * BeaconState of all forks (up until Electra, check with new forks)
503
520
  * class BeaconState(Container):
@@ -656,7 +673,7 @@ export function getBlobKzgCommitmentsCountFromSignedBeaconBlockSerialized(config
656
673
  const commitmentsRange = execBidRanges[commitmentsIdx];
657
674
  const start = bidMsgStart + commitmentsRange.start;
658
675
  const end = bidMsgStart + commitmentsRange.end;
659
- return Math.round(((end > blockBytes.byteLength ? blockBytes.byteLength : end) - start) / commitmentSize);
676
+ return Math.round((Math.min(end, blockBytes.byteLength) - start) / commitmentSize);
660
677
  }
661
678
  const { SignedBeaconBlock, BeaconBlock, BeaconBlockBody, KZGCommitment } = ssz[forkName];
662
679
  const view = new DataView(blockBytes.buffer, blockBytes.byteOffset, blockBytes.byteLength);
@@ -672,6 +689,6 @@ export function getBlobKzgCommitmentsCountFromSignedBeaconBlockSerialized(config
672
689
  const commitmentSize = KZGCommitment.fixedSize;
673
690
  const end = messageRange.end + bodyRange.end + kzgCommitmentsRange.end;
674
691
  const start = messageRange.start + bodyRange.start + kzgCommitmentsRange.start;
675
- return Math.round(((end > blockBytes.byteLength ? blockBytes.byteLength : end) - start) / commitmentSize);
692
+ return Math.round((Math.min(end, blockBytes.byteLength) - start) / commitmentSize);
676
693
  }
677
694
  //# sourceMappingURL=sszBytes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sszBytes.js","sourceRoot":"","sources":["../../src/util/sszBytes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sszBytes.js","sourceRoot":"","sources":["../../src/util/sszBytes.ts"],"names":[],"mappings":"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"}
@@ -15,11 +15,6 @@ export declare const signedBLSToExecutionChangeVersionedType: ContainerType<{
15
15
  export type SignedBLSToExecutionChangeVersioned = ValueOf<typeof signedBLSToExecutionChangeVersionedType>;
16
16
  export declare const BeaconBlocksByRootRequestType: (fork: ForkName, config: BeaconConfig) => ListCompositeType<import("@chainsafe/ssz").ByteVectorType>;
17
17
  export type BeaconBlocksByRootRequest = ValueOf<ReturnType<typeof BeaconBlocksByRootRequestType>>;
18
- export declare const BlobSidecarsByRootRequestType: (fork: ForkName, config: BeaconConfig) => ListCompositeType<ContainerType<{
19
- blockRoot: import("@chainsafe/ssz").ByteVectorType;
20
- index: import("@chainsafe/ssz").UintNumberType;
21
- }>>;
22
- export type BlobSidecarsByRootRequest = ValueOf<ReturnType<typeof BlobSidecarsByRootRequestType>>;
23
18
  export declare const DataColumnSidecarsByRootRequestType: (config: BeaconConfig) => ListCompositeType<ContainerType<{
24
19
  blockRoot: import("@chainsafe/ssz").ByteVectorType;
25
20
  columns: import("@chainsafe/ssz").ListBasicType<import("@chainsafe/ssz").UintNumberType>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/util/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,iBAAiB,EAAE,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,QAAQ,EAAqC,MAAM,kBAAkB,CAAC;AAK9E,eAAO,MAAM,uCAAuC;;;;;;;;;;EAOnD,CAAC;AACF,MAAM,MAAM,mCAAmC,GAAG,OAAO,CAAC,OAAO,uCAAuC,CAAC,CAAC;AAE1G,eAAO,MAAM,6BAA6B,SAAU,QAAQ,UAAU,YAAY,+DACoC,CAAC;AACvH,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC;AAElG,eAAO,MAAM,6BAA6B,SAAU,QAAQ,UAAU,YAAY;;;GAI/E,CAAC;AACJ,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC;AAElG,eAAO,MAAM,mCAAmC,WAAY,YAAY;;;GACsB,CAAC;AAC/F,MAAM,MAAM,+BAA+B,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,mCAAmC,CAAC,CAAC,CAAC;AAE9G,eAAO,MAAM,0CAA0C,WAAY,YAAY,+DACjB,CAAC;AAC/D,MAAM,MAAM,sCAAsC,GAAG,OAAO,CAC1D,UAAU,CAAC,OAAO,0CAA0C,CAAC,CAC9D,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/util/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,iBAAiB,EAAE,OAAO,EAAC,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,QAAQ,EAAkB,MAAM,kBAAkB,CAAC;AAK3D,eAAO,MAAM,uCAAuC;;;;;;;;;;EAOnD,CAAC;AACF,MAAM,MAAM,mCAAmC,GAAG,OAAO,CAAC,OAAO,uCAAuC,CAAC,CAAC;AAE1G,eAAO,MAAM,6BAA6B,SAAU,QAAQ,UAAU,YAAY,+DACoC,CAAC;AACvH,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC;AAElG,eAAO,MAAM,mCAAmC,WAAY,YAAY;;;GACsB,CAAC;AAC/F,MAAM,MAAM,+BAA+B,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,mCAAmC,CAAC,CAAC,CAAC;AAE9G,eAAO,MAAM,0CAA0C,WAAY,YAAY,+DACjB,CAAC;AAC/D,MAAM,MAAM,sCAAsC,GAAG,OAAO,CAC1D,UAAU,CAAC,OAAO,0CAA0C,CAAC,CAC9D,CAAC"}
package/lib/util/types.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { ContainerType, ListCompositeType } from "@chainsafe/ssz";
2
- import { isForkPostDeneb, isForkPostElectra } from "@lodestar/params";
2
+ import { isForkPostDeneb } from "@lodestar/params";
3
3
  import { ssz } from "@lodestar/types";
4
4
  // Misc SSZ types used only in the beacon-node package, no need to upstream to types
5
5
  export const signedBLSToExecutionChangeVersionedType = new ContainerType({
@@ -8,7 +8,6 @@ export const signedBLSToExecutionChangeVersionedType = new ContainerType({
8
8
  data: ssz.capella.SignedBLSToExecutionChange,
9
9
  }, { jsonCase: "eth2", typeName: "SignedBLSToExecutionChangeVersionedType" });
10
10
  export const BeaconBlocksByRootRequestType = (fork, config) => new ListCompositeType(ssz.Root, isForkPostDeneb(fork) ? config.MAX_REQUEST_BLOCKS_DENEB : config.MAX_REQUEST_BLOCKS);
11
- export const BlobSidecarsByRootRequestType = (fork, config) => new ListCompositeType(ssz.deneb.BlobIdentifier, isForkPostElectra(fork) ? config.MAX_REQUEST_BLOB_SIDECARS_ELECTRA : config.MAX_REQUEST_BLOB_SIDECARS);
12
11
  export const DataColumnSidecarsByRootRequestType = (config) => new ListCompositeType(ssz.fulu.DataColumnsByRootIdentifier, config.MAX_REQUEST_BLOCKS_DENEB);
13
12
  export const ExecutionPayloadEnvelopesByRootRequestType = (config) => new ListCompositeType(ssz.Root, config.MAX_REQUEST_PAYLOADS);
14
13
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/util/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,iBAAiB,EAAU,MAAM,gBAAgB,CAAC;AAEzE,OAAO,EAAW,eAAe,EAAE,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAEpC,oFAAoF;AAEpF,MAAM,CAAC,MAAM,uCAAuC,GAAG,IAAI,aAAa,CACtE;IACE,iEAAiE;IACjE,UAAU,EAAE,GAAG,CAAC,OAAO;IACvB,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,0BAA0B;CAC7C,EACD,EAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,yCAAyC,EAAC,CACxE,CAAC;AAGF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,IAAc,EAAE,MAAoB,EAAE,EAAE,CACpF,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAGvH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,IAAc,EAAE,MAAoB,EAAE,EAAE,CACpF,IAAI,iBAAiB,CACnB,GAAG,CAAC,KAAK,CAAC,cAAc,EACxB,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC,CAAC,MAAM,CAAC,yBAAyB,CACtG,CAAC;AAGJ,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,MAAoB,EAAE,EAAE,CAC1E,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAG/F,MAAM,CAAC,MAAM,0CAA0C,GAAG,CAAC,MAAoB,EAAE,EAAE,CACjF,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/util/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,iBAAiB,EAAU,MAAM,gBAAgB,CAAC;AAEzE,OAAO,EAAW,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAEpC,oFAAoF;AAEpF,MAAM,CAAC,MAAM,uCAAuC,GAAG,IAAI,aAAa,CACtE;IACE,iEAAiE;IACjE,UAAU,EAAE,GAAG,CAAC,OAAO;IACvB,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,0BAA0B;CAC7C,EACD,EAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,yCAAyC,EAAC,CACxE,CAAC;AAGF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,IAAc,EAAE,MAAoB,EAAE,EAAE,CACpF,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAGvH,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,MAAoB,EAAE,EAAE,CAC1E,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAG/F,MAAM,CAAC,MAAM,0CAA0C,GAAG,CAAC,MAAoB,EAAE,EAAE,CACjF,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC"}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "bugs": {
12
12
  "url": "https://github.com/ChainSafe/lodestar/issues"
13
13
  },
14
- "version": "1.51.0-dev.d2b5232209",
14
+ "version": "1.51.0-dev.d5620be4a1",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -105,7 +105,6 @@
105
105
  "@chainsafe/enr": "^6.0.2",
106
106
  "@chainsafe/libp2p-noise": "^17.0.0",
107
107
  "@chainsafe/libp2p-quic": "^2.1.5",
108
- "@chainsafe/lodestar-z": "catalog:",
109
108
  "@chainsafe/persistent-merkle-tree": "^1.3.1",
110
109
  "@chainsafe/prometheus-gc-stats": "^1.0.0",
111
110
  "@chainsafe/snappy-wasm": "^0.5.2",
@@ -127,17 +126,18 @@
127
126
  "@libp2p/prometheus-metrics": "^5.0.31",
128
127
  "@libp2p/tcp": "^11.0.30",
129
128
  "@libp2p/utils": "^7.4.3",
130
- "@lodestar/api": "^1.51.0-dev.d2b5232209",
131
- "@lodestar/config": "^1.51.0-dev.d2b5232209",
132
- "@lodestar/db": "^1.51.0-dev.d2b5232209",
133
- "@lodestar/fork-choice": "^1.51.0-dev.d2b5232209",
134
- "@lodestar/logger": "^1.51.0-dev.d2b5232209",
135
- "@lodestar/params": "^1.51.0-dev.d2b5232209",
136
- "@lodestar/reqresp": "^1.51.0-dev.d2b5232209",
137
- "@lodestar/state-transition": "^1.51.0-dev.d2b5232209",
138
- "@lodestar/types": "^1.51.0-dev.d2b5232209",
139
- "@lodestar/utils": "^1.51.0-dev.d2b5232209",
140
- "@lodestar/validator": "^1.51.0-dev.d2b5232209",
129
+ "@lodestar/api": "^1.51.0-dev.d5620be4a1",
130
+ "@lodestar/config": "^1.51.0-dev.d5620be4a1",
131
+ "@lodestar/db": "^1.51.0-dev.d5620be4a1",
132
+ "@lodestar/fork-choice": "^1.51.0-dev.d5620be4a1",
133
+ "@lodestar/logger": "^1.51.0-dev.d5620be4a1",
134
+ "@lodestar/native": "^1.51.0-dev.d5620be4a1",
135
+ "@lodestar/params": "^1.51.0-dev.d5620be4a1",
136
+ "@lodestar/reqresp": "^1.51.0-dev.d5620be4a1",
137
+ "@lodestar/state-transition": "^1.51.0-dev.d5620be4a1",
138
+ "@lodestar/types": "^1.51.0-dev.d5620be4a1",
139
+ "@lodestar/utils": "^1.51.0-dev.d5620be4a1",
140
+ "@lodestar/validator": "^1.51.0-dev.d5620be4a1",
141
141
  "@multiformats/multiaddr": "^13.0.1",
142
142
  "datastore-core": "^12.0.1",
143
143
  "datastore-level": "^13.0.1",
@@ -159,14 +159,13 @@
159
159
  "@ethereumjs/rlp": "^4.0.1",
160
160
  "@libp2p/interface-internal": "^3.2.0",
161
161
  "@libp2p/logger": "^6.2.15",
162
- "@lodestar/spec-test-util": "^1.51.0-dev.d2b5232209",
163
- "@lodestar/test-utils": "^1.51.0-dev.d2b5232209",
162
+ "@lodestar/spec-test-util": "^1.51.0-dev.d5620be4a1",
163
+ "@lodestar/test-utils": "^1.51.0-dev.d5620be4a1",
164
164
  "@types/js-yaml": "^4.0.5",
165
165
  "@types/qs": "^6.9.7",
166
166
  "@types/tmp": "^0.2.3",
167
167
  "dotenv": "^16.4.5",
168
168
  "js-yaml": "^4.1.0",
169
- "rimraf": "^4.4.1",
170
169
  "tmp": "^0.2.1"
171
170
  },
172
171
  "keywords": [
@@ -175,5 +174,5 @@
175
174
  "beacon",
176
175
  "blockchain"
177
176
  ],
178
- "gitHead": "0af5352c464145e0fe7e420bdc5a8c79c063265d"
177
+ "gitHead": "c76975acffbeab8e33a2f1ae9197767e6eac357f"
179
178
  }
@@ -37,7 +37,7 @@ import {
37
37
  sszTypesFor,
38
38
  } from "@lodestar/types";
39
39
  import {fromHex, prettyGweiToEth, sleep, toHex, toRootHex} from "@lodestar/utils";
40
- import {BlockInputSource, isBlockInputBlobs, isBlockInputColumns} from "../../../../chain/blocks/blockInput/index.js";
40
+ import {BlockInputSource, isBlockInputColumns} from "../../../../chain/blocks/blockInput/index.js";
41
41
  import {PayloadEnvelopeInputSource} from "../../../../chain/blocks/payloadEnvelopeInput/index.js";
42
42
  import {ImportBlockOpts} from "../../../../chain/blocks/types.js";
43
43
  import {verifyBlocksInEpoch} from "../../../../chain/blocks/verifyBlock.js";
@@ -67,7 +67,6 @@ import {validateApiExecutionPayloadEnvelope} from "../../../../chain/validation/
67
67
  import {OpSource} from "../../../../chain/validatorMonitor.js";
68
68
  import {
69
69
  computePreFuluKzgCommitmentsInclusionProof,
70
- getBlobSidecars,
71
70
  kzgCommitmentToVersionedHash,
72
71
  reconstructBlobs,
73
72
  } from "../../../../util/blobs.js";
@@ -110,6 +109,9 @@ export function getBeaconBlockApi(
110
109
  const signedBlock = signedBlockContents.signedBlock;
111
110
  const slot = signedBlock.message.slot;
112
111
  const fork = config.getForkName(slot);
112
+ if (!isForkPostFulu(fork)) {
113
+ throw new ApiError(400, `Publishing blocks is not supported for pre-fulu fork=${fork}`);
114
+ }
113
115
  const blockRoot = toRootHex(chain.config.getForkTypes(slot).BeaconBlock.hashTreeRoot(signedBlock.message));
114
116
 
115
117
  const blockForImport = chain.seenBlockInputCache.getByBlock({
@@ -131,40 +133,26 @@ export function getBeaconBlockApi(
131
133
  });
132
134
  }
133
135
 
134
- let blobSidecars: deneb.BlobSidecars, dataColumnSidecars: fulu.DataColumnSidecar[];
135
-
136
- if (isDenebBlockContents(signedBlockContents)) {
137
- if (isForkPostGloas(fork)) {
138
- // After gloas, data columns are not published with the block but when publishing the execution payload envelope
139
- blobSidecars = [];
140
- dataColumnSidecars = [];
141
- } else if (isForkPostFulu(fork)) {
142
- const timer = metrics?.peerDas.dataColumnSidecarComputationTime.startTimer();
143
- // If the block was produced by this node, we will already have computed cells
144
- // Otherwise, we will compute them from the blobs in this function
145
- const cells =
146
- (chain.blockProductionCache.get(blockRoot) as ProduceFullFulu)?.cells ??
147
- signedBlockContents.blobs.map((blob) => kzg.computeCells(blob));
148
- const cellsAndProofs = cells.map((rowCells, rowIndex) => ({
149
- cells: rowCells,
150
- proofs: signedBlockContents.kzgProofs.slice(rowIndex * NUMBER_OF_COLUMNS, (rowIndex + 1) * NUMBER_OF_COLUMNS),
151
- }));
152
- dataColumnSidecars = getDataColumnSidecarsFromBlock(
153
- config,
154
- signedBlock as SignedBeaconBlock<ForkPostFulu>,
155
- cellsAndProofs
156
- ) as fulu.DataColumnSidecar[];
157
- timer?.();
158
- blobSidecars = [];
159
- } else if (isForkPostDeneb(fork)) {
160
- blobSidecars = getBlobSidecars(config, signedBlock, signedBlockContents.blobs, signedBlockContents.kzgProofs);
161
- dataColumnSidecars = [];
162
- } else {
163
- throw Error(`Invalid data fork=${fork} for publish`);
164
- }
165
- } else {
166
- blobSidecars = [];
167
- dataColumnSidecars = [];
136
+ // After gloas, data columns are not published with the block but when publishing the execution payload envelope.
137
+ let dataColumnSidecars: fulu.DataColumnSidecar[] = [];
138
+
139
+ if (isDenebBlockContents(signedBlockContents) && isForkPostFulu(fork) && !isForkPostGloas(fork)) {
140
+ const timer = metrics?.peerDas.dataColumnSidecarComputationTime.startTimer();
141
+ // If the block was produced by this node, we will already have computed cells
142
+ // Otherwise, we will compute them from the blobs in this function
143
+ const cells =
144
+ (chain.blockProductionCache.get(blockRoot) as ProduceFullFulu)?.cells ??
145
+ signedBlockContents.blobs.map((blob) => kzg.computeCells(blob));
146
+ const cellsAndProofs = cells.map((rowCells, rowIndex) => ({
147
+ cells: rowCells,
148
+ proofs: signedBlockContents.kzgProofs.slice(rowIndex * NUMBER_OF_COLUMNS, (rowIndex + 1) * NUMBER_OF_COLUMNS),
149
+ }));
150
+ dataColumnSidecars = getDataColumnSidecarsFromBlock(
151
+ config,
152
+ signedBlock as SignedBeaconBlock<ForkPostFulu>,
153
+ cellsAndProofs
154
+ ) as fulu.DataColumnSidecar[];
155
+ timer?.();
168
156
  }
169
157
 
170
158
  if (isBlockInputColumns(blockForImport)) {
@@ -182,19 +170,6 @@ export function getBeaconBlockApi(
182
170
  {throwOnDuplicateAdd: false}
183
171
  );
184
172
  }
185
- } else if (isBlockInputBlobs(blockForImport)) {
186
- for (const blobSidecar of blobSidecars) {
187
- blockForImport.addBlob(
188
- {
189
- blockRootHex: blockRoot,
190
- blobSidecar,
191
- source: BlockInputSource.api,
192
- seenTimestampSec,
193
- },
194
- // Same as above for columns
195
- {throwOnDuplicateAdd: false}
196
- );
197
- }
198
173
  }
199
174
 
200
175
  // check what validations have been requested before broadcasting and publishing the block
@@ -316,18 +291,8 @@ export function getBeaconBlockApi(
316
291
  break;
317
292
  }
318
293
 
319
- case routes.beacon.BroadcastValidation.none: {
320
- chain.logger.debug("Skipping broadcast validation", valLogMeta);
321
- break;
322
- }
323
-
324
294
  default: {
325
- // error or log warning we do not support this validation
326
- const message = `Broadcast validation of ${broadcastValidation} type not implemented yet`;
327
- if (chain.opts.broadcastValidationStrictness === "error") {
328
- throw Error(message);
329
- }
330
- chain.logger.warn(message, valLogMeta);
295
+ throw new ApiError(400, `Invalid broadcast validation level ${broadcastValidation}`);
331
296
  }
332
297
  }
333
298
 
@@ -394,29 +359,26 @@ export function getBeaconBlockApi(
394
359
  //
395
360
  () => network.publishBeaconBlock(signedBlock),
396
361
  ...dataColumnSidecars.map((dataColumnSidecar) => () => network.publishDataColumnSidecar(dataColumnSidecar)),
397
- ...blobSidecars.map((blobSidecar) => () => network.publishBlobSidecar(blobSidecar)),
398
362
  () =>
399
363
  // there is no rush to persist block since we published it to gossip anyway
400
- chain
401
- .processBlock(blockForImport, opts)
402
- .catch((e) => {
403
- if (e instanceof BlockError) {
404
- switch (e.type.code) {
405
- case BlockErrorCode.ALREADY_KNOWN:
406
- // Block was imported while publishing, e.g. received via gossip
407
- chain.logger.debug("Ignoring already-known block during publishing", valLogMeta);
408
- return;
409
- case BlockErrorCode.PARENT_BLOCK_UNKNOWN:
410
- case BlockErrorCode.PARENT_PAYLOAD_UNKNOWN:
411
- chain.emitter.emit(ChainEvent.blockUnknownParent, {
412
- blockInput: blockForImport,
413
- peer: IDENTITY_PEER_ID,
414
- source: BlockInputSource.api,
415
- });
416
- }
364
+ chain.processBlock(blockForImport, opts).catch((e) => {
365
+ if (e instanceof BlockError) {
366
+ switch (e.type.code) {
367
+ case BlockErrorCode.ALREADY_KNOWN:
368
+ // Block was imported while publishing, e.g. received via gossip
369
+ chain.logger.debug("Ignoring already-known block during publishing", valLogMeta);
370
+ return;
371
+ case BlockErrorCode.PARENT_BLOCK_UNKNOWN:
372
+ case BlockErrorCode.PARENT_PAYLOAD_UNKNOWN:
373
+ chain.emitter.emit(ChainEvent.blockUnknownParent, {
374
+ blockInput: blockForImport,
375
+ peer: IDENTITY_PEER_ID,
376
+ source: BlockInputSource.api,
377
+ });
417
378
  }
418
- throw e;
419
- }),
379
+ }
380
+ throw e;
381
+ }),
420
382
  ];
421
383
  const sentPeersArr = await promiseAllMaybeAsync<{sentPeers: number; alreadyPublished: boolean} | number | void>(
422
384
  publishPromises
@@ -466,20 +428,6 @@ export function getBeaconBlockApi(
466
428
  });
467
429
  }
468
430
  }
469
- } else if (isBlockInputBlobs(blockForImport) && chain.emitter.listenerCount(routes.events.EventType.blobSidecar)) {
470
- const blobSidecars = blockForImport.getBlobs();
471
- const versionedHashes = blockForImport.getVersionedHashes();
472
-
473
- for (const blobSidecar of blobSidecars) {
474
- const {index, kzgCommitment} = blobSidecar;
475
- chain.emitter.emit(routes.events.EventType.blobSidecar, {
476
- blockRoot,
477
- slot,
478
- index,
479
- kzgCommitment: toHex(kzgCommitment),
480
- versionedHash: toHex(versionedHashes[index]),
481
- });
482
- }
483
431
  }
484
432
  };
485
433
 
@@ -804,11 +752,6 @@ export function getBeaconBlockApi(
804
752
  };
805
753
  try {
806
754
  switch (broadcastValidation) {
807
- case routes.beacon.BroadcastValidation.none: {
808
- chain.logger.debug("Skipping broadcast validation of execution payload envelope", valLogMeta);
809
- break;
810
- }
811
-
812
755
  case routes.beacon.BroadcastValidation.gossip: {
813
756
  await validateApiExecutionPayloadEnvelope(chain, signedExecutionPayloadEnvelope);
814
757
  break;
@@ -847,11 +790,7 @@ export function getBeaconBlockApi(
847
790
  }
848
791
 
849
792
  default: {
850
- const message = `Broadcast validation of ${broadcastValidation} type not implemented yet`;
851
- if (chain.opts.broadcastValidationStrictness === "error") {
852
- throw Error(message);
853
- }
854
- chain.logger.warn(message, valLogMeta);
793
+ throw new ApiError(400, `Invalid broadcast validation level ${broadcastValidation}`);
855
794
  }
856
795
  }
857
796
  } catch (error) {
@@ -1003,9 +942,13 @@ export function getBeaconBlockApi(
1003
942
  () => network.publishSignedExecutionPayloadEnvelope(signedExecutionPayloadEnvelope),
1004
943
  // Publish all data column sidecars
1005
944
  ...dataColumnSidecars.map((dataColumnSidecar) => () => network.publishDataColumnSidecar(dataColumnSidecar)),
1006
- // Import execution payload. Signature is verified during broadcast validation, an already
1007
- // known envelope was verified by its original source and `none` deliberately skips validation
1008
- () => chain.processExecutionPayload(payloadInput, {validSignature: true}),
945
+ // Import execution payload
946
+ () =>
947
+ chain.processExecutionPayload(payloadInput, {
948
+ // Signature is verified during broadcast validation only for the submitted envelope,
949
+ // an envelope cached by another source is verified at import
950
+ validSignature: payloadInput.getPayloadEnvelope() === signedExecutionPayloadEnvelope,
951
+ }),
1009
952
  ];
1010
953
 
1011
954
  const publishPromise = promiseAllMaybeAsync<{sentPeers: number; alreadyPublished: boolean} | number | void>(
@@ -1109,7 +1052,7 @@ export function getBeaconBlockApi(
1109
1052
  },
1110
1053
 
1111
1054
  async getSignedExecutionPayloadEnvelope({blockId}, context) {
1112
- const {block, executionOptimistic, finalized} = await getBlockResponse(chain, blockId);
1055
+ const {block, finalized} = await getBlockResponse(chain, blockId);
1113
1056
  const slot = block.message.slot;
1114
1057
  const fork = config.getForkName(slot);
1115
1058
 
@@ -1123,6 +1066,13 @@ export function getBeaconBlockApi(
1123
1066
  const blockRoot = config.getForkTypes(slot).BeaconBlock.hashTreeRoot(block.message);
1124
1067
  const blockRootHex = toRootHex(blockRoot);
1125
1068
 
1069
+ // The block's own flag is the status of the payload it builds on, the envelope's is that of its
1070
+ // FULL variant. An unfinalized block without one has not imported its envelope yet.
1071
+ const payload = finalized ? null : chain.forkChoice.getBlockHex(blockRootHex, PayloadStatus.FULL);
1072
+ if (!finalized && payload === null) {
1073
+ throw new ApiError(404, `Execution payload envelope not found for slot=${slot}, blockRoot=${blockRootHex}`);
1074
+ }
1075
+
1126
1076
  let data: Uint8Array | gloas.SignedExecutionPayloadEnvelope | null;
1127
1077
  try {
1128
1078
  data = context?.returnBytes
@@ -1147,7 +1097,7 @@ export function getBeaconBlockApi(
1147
1097
 
1148
1098
  return {
1149
1099
  data,
1150
- meta: {executionOptimistic, finalized, version: fork},
1100
+ meta: {executionOptimistic: payload !== null && isOptimisticBlock(payload), finalized, version: fork},
1151
1101
  };
1152
1102
  },
1153
1103