@lodestar/beacon-node 1.42.0 → 1.43.0-dev.07452fe3b7

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 (444) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +37 -9
  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 +49 -2
  6. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  7. package/lib/api/impl/beacon/state/index.d.ts.map +1 -1
  8. package/lib/api/impl/beacon/state/index.js +13 -10
  9. package/lib/api/impl/beacon/state/index.js.map +1 -1
  10. package/lib/api/impl/beacon/state/utils.d.ts +2 -2
  11. package/lib/api/impl/beacon/state/utils.d.ts.map +1 -1
  12. package/lib/api/impl/beacon/state/utils.js.map +1 -1
  13. package/lib/api/impl/debug/index.d.ts.map +1 -1
  14. package/lib/api/impl/debug/index.js +0 -1
  15. package/lib/api/impl/debug/index.js.map +1 -1
  16. package/lib/api/impl/lodestar/attesterSlashing.d.ts +8 -0
  17. package/lib/api/impl/lodestar/attesterSlashing.d.ts.map +1 -0
  18. package/lib/api/impl/lodestar/attesterSlashing.js +29 -0
  19. package/lib/api/impl/lodestar/attesterSlashing.js.map +1 -0
  20. package/lib/api/impl/lodestar/index.d.ts.map +1 -1
  21. package/lib/api/impl/lodestar/index.js +40 -1
  22. package/lib/api/impl/lodestar/index.js.map +1 -1
  23. package/lib/api/impl/validator/index.d.ts.map +1 -1
  24. package/lib/api/impl/validator/index.js +74 -5
  25. package/lib/api/impl/validator/index.js.map +1 -1
  26. package/lib/chain/GetBlobsTracker.d.ts +1 -1
  27. package/lib/chain/GetBlobsTracker.d.ts.map +1 -1
  28. package/lib/chain/GetBlobsTracker.js +1 -2
  29. package/lib/chain/GetBlobsTracker.js.map +1 -1
  30. package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
  31. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  32. package/lib/chain/archiveStore/interface.d.ts +4 -4
  33. package/lib/chain/archiveStore/interface.d.ts.map +1 -1
  34. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts +4 -4
  35. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.d.ts.map +1 -1
  36. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js +2 -4
  37. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js.map +1 -1
  38. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts +2 -2
  39. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +1 -1
  40. package/lib/chain/archiveStore/utils/archiveBlocks.js +110 -58
  41. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  42. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  43. package/lib/chain/blocks/importBlock.js +51 -53
  44. package/lib/chain/blocks/importBlock.js.map +1 -1
  45. package/lib/chain/blocks/importExecutionPayload.d.ts +28 -14
  46. package/lib/chain/blocks/importExecutionPayload.d.ts.map +1 -1
  47. package/lib/chain/blocks/importExecutionPayload.js +95 -86
  48. package/lib/chain/blocks/importExecutionPayload.js.map +1 -1
  49. package/lib/chain/blocks/index.d.ts +5 -3
  50. package/lib/chain/blocks/index.d.ts.map +1 -1
  51. package/lib/chain/blocks/index.js +59 -26
  52. package/lib/chain/blocks/index.js.map +1 -1
  53. package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.d.ts +4 -0
  54. package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.d.ts.map +1 -1
  55. package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.js +25 -1
  56. package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.js.map +1 -1
  57. package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts +1 -0
  58. package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts.map +1 -1
  59. package/lib/chain/blocks/payloadEnvelopeProcessor.d.ts +5 -0
  60. package/lib/chain/blocks/payloadEnvelopeProcessor.d.ts.map +1 -1
  61. package/lib/chain/blocks/payloadEnvelopeProcessor.js +7 -5
  62. package/lib/chain/blocks/payloadEnvelopeProcessor.js.map +1 -1
  63. package/lib/chain/blocks/types.d.ts +16 -21
  64. package/lib/chain/blocks/types.d.ts.map +1 -1
  65. package/lib/chain/blocks/utils/chainSegment.d.ts +23 -2
  66. package/lib/chain/blocks/utils/chainSegment.d.ts.map +1 -1
  67. package/lib/chain/blocks/utils/chainSegment.js +89 -12
  68. package/lib/chain/blocks/utils/chainSegment.js.map +1 -1
  69. package/lib/chain/blocks/verifyBlock.d.ts +5 -3
  70. package/lib/chain/blocks/verifyBlock.d.ts.map +1 -1
  71. package/lib/chain/blocks/verifyBlock.js +50 -7
  72. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  73. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts +0 -4
  74. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +1 -1
  75. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +8 -4
  76. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  77. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts +2 -1
  78. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +1 -1
  79. package/lib/chain/blocks/verifyBlocksSanityChecks.js +25 -5
  80. package/lib/chain/blocks/verifyBlocksSanityChecks.js.map +1 -1
  81. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +1 -1
  82. package/lib/chain/blocks/verifyBlocksSignatures.js +4 -2
  83. package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
  84. package/lib/chain/blocks/verifyExecutionPayloadEnvelope.d.ts +24 -0
  85. package/lib/chain/blocks/verifyExecutionPayloadEnvelope.d.ts.map +1 -0
  86. package/lib/chain/blocks/verifyExecutionPayloadEnvelope.js +79 -0
  87. package/lib/chain/blocks/verifyExecutionPayloadEnvelope.js.map +1 -0
  88. package/lib/chain/blocks/verifyPayloadsDataAvailability.d.ts +14 -0
  89. package/lib/chain/blocks/verifyPayloadsDataAvailability.d.ts.map +1 -0
  90. package/lib/chain/blocks/verifyPayloadsDataAvailability.js +30 -0
  91. package/lib/chain/blocks/verifyPayloadsDataAvailability.js.map +1 -0
  92. package/lib/chain/blocks/writePayloadEnvelopeInputToDb.d.ts +1 -1
  93. package/lib/chain/blocks/writePayloadEnvelopeInputToDb.d.ts.map +1 -1
  94. package/lib/chain/blocks/writePayloadEnvelopeInputToDb.js +2 -11
  95. package/lib/chain/blocks/writePayloadEnvelopeInputToDb.js.map +1 -1
  96. package/lib/chain/chain.d.ts +9 -6
  97. package/lib/chain/chain.d.ts.map +1 -1
  98. package/lib/chain/chain.js +51 -42
  99. package/lib/chain/chain.js.map +1 -1
  100. package/lib/chain/emitter.d.ts +16 -15
  101. package/lib/chain/emitter.d.ts.map +1 -1
  102. package/lib/chain/emitter.js +5 -4
  103. package/lib/chain/emitter.js.map +1 -1
  104. package/lib/chain/errors/attestationError.d.ts +8 -1
  105. package/lib/chain/errors/attestationError.d.ts.map +1 -1
  106. package/lib/chain/errors/attestationError.js +4 -0
  107. package/lib/chain/errors/attestationError.js.map +1 -1
  108. package/lib/chain/errors/blockError.d.ts +18 -1
  109. package/lib/chain/errors/blockError.d.ts.map +1 -1
  110. package/lib/chain/errors/blockError.js +6 -0
  111. package/lib/chain/errors/blockError.js.map +1 -1
  112. package/lib/chain/errors/executionPayloadBid.d.ts +5 -0
  113. package/lib/chain/errors/executionPayloadBid.d.ts.map +1 -1
  114. package/lib/chain/errors/executionPayloadBid.js +1 -0
  115. package/lib/chain/errors/executionPayloadBid.js.map +1 -1
  116. package/lib/chain/errors/executionPayloadEnvelope.d.ts +5 -0
  117. package/lib/chain/errors/executionPayloadEnvelope.d.ts.map +1 -1
  118. package/lib/chain/errors/executionPayloadEnvelope.js +1 -0
  119. package/lib/chain/errors/executionPayloadEnvelope.js.map +1 -1
  120. package/lib/chain/errors/index.d.ts +1 -0
  121. package/lib/chain/errors/index.d.ts.map +1 -1
  122. package/lib/chain/errors/index.js +1 -0
  123. package/lib/chain/errors/index.js.map +1 -1
  124. package/lib/chain/errors/proposerPreferences.d.ts +33 -0
  125. package/lib/chain/errors/proposerPreferences.d.ts.map +1 -0
  126. package/lib/chain/errors/proposerPreferences.js +13 -0
  127. package/lib/chain/errors/proposerPreferences.js.map +1 -0
  128. package/lib/chain/forkChoice/index.d.ts.map +1 -1
  129. package/lib/chain/forkChoice/index.js +21 -23
  130. package/lib/chain/forkChoice/index.js.map +1 -1
  131. package/lib/chain/interface.d.ts +8 -5
  132. package/lib/chain/interface.d.ts.map +1 -1
  133. package/lib/chain/interface.js.map +1 -1
  134. package/lib/chain/lightClient/index.d.ts +2 -2
  135. package/lib/chain/lightClient/index.d.ts.map +1 -1
  136. package/lib/chain/lightClient/index.js +7 -0
  137. package/lib/chain/lightClient/index.js.map +1 -1
  138. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
  139. package/lib/chain/opPools/aggregatedAttestationPool.js +5 -2
  140. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  141. package/lib/chain/opPools/executionPayloadBidPool.d.ts +2 -2
  142. package/lib/chain/opPools/executionPayloadBidPool.d.ts.map +1 -1
  143. package/lib/chain/opPools/executionPayloadBidPool.js +2 -2
  144. package/lib/chain/opPools/executionPayloadBidPool.js.map +1 -1
  145. package/lib/chain/opPools/payloadAttestationPool.d.ts +3 -2
  146. package/lib/chain/opPools/payloadAttestationPool.d.ts.map +1 -1
  147. package/lib/chain/opPools/payloadAttestationPool.js +26 -4
  148. package/lib/chain/opPools/payloadAttestationPool.js.map +1 -1
  149. package/lib/chain/prepareNextSlot.d.ts.map +1 -1
  150. package/lib/chain/prepareNextSlot.js +48 -18
  151. package/lib/chain/prepareNextSlot.js.map +1 -1
  152. package/lib/chain/produceBlock/computeNewStateRoot.d.ts +1 -7
  153. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +1 -1
  154. package/lib/chain/produceBlock/computeNewStateRoot.js +1 -28
  155. package/lib/chain/produceBlock/computeNewStateRoot.js.map +1 -1
  156. package/lib/chain/produceBlock/produceBlockBody.d.ts +15 -10
  157. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  158. package/lib/chain/produceBlock/produceBlockBody.js +83 -21
  159. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  160. package/lib/chain/regen/errors.d.ts +1 -11
  161. package/lib/chain/regen/errors.d.ts.map +1 -1
  162. package/lib/chain/regen/errors.js +0 -2
  163. package/lib/chain/regen/errors.js.map +1 -1
  164. package/lib/chain/regen/interface.d.ts +7 -12
  165. package/lib/chain/regen/interface.d.ts.map +1 -1
  166. package/lib/chain/regen/interface.js +1 -0
  167. package/lib/chain/regen/interface.js.map +1 -1
  168. package/lib/chain/regen/queued.d.ts +6 -11
  169. package/lib/chain/regen/queued.d.ts.map +1 -1
  170. package/lib/chain/regen/queued.js +9 -44
  171. package/lib/chain/regen/queued.js.map +1 -1
  172. package/lib/chain/regen/regen.d.ts +0 -5
  173. package/lib/chain/regen/regen.d.ts.map +1 -1
  174. package/lib/chain/regen/regen.js +8 -38
  175. package/lib/chain/regen/regen.js.map +1 -1
  176. package/lib/chain/seenCache/index.d.ts +1 -0
  177. package/lib/chain/seenCache/index.d.ts.map +1 -1
  178. package/lib/chain/seenCache/index.js +1 -0
  179. package/lib/chain/seenCache/index.js.map +1 -1
  180. package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts +19 -6
  181. package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts.map +1 -1
  182. package/lib/chain/seenCache/seenPayloadEnvelopeInput.js +40 -22
  183. package/lib/chain/seenCache/seenPayloadEnvelopeInput.js.map +1 -1
  184. package/lib/chain/seenCache/seenProposerPreferences.d.ts +15 -0
  185. package/lib/chain/seenCache/seenProposerPreferences.d.ts.map +1 -0
  186. package/lib/chain/seenCache/seenProposerPreferences.js +25 -0
  187. package/lib/chain/seenCache/seenProposerPreferences.js.map +1 -0
  188. package/lib/chain/stateCache/datastore/db.d.ts +5 -4
  189. package/lib/chain/stateCache/datastore/db.d.ts.map +1 -1
  190. package/lib/chain/stateCache/datastore/db.js +10 -32
  191. package/lib/chain/stateCache/datastore/db.js.map +1 -1
  192. package/lib/chain/stateCache/datastore/file.d.ts +1 -1
  193. package/lib/chain/stateCache/datastore/file.d.ts.map +1 -1
  194. package/lib/chain/stateCache/datastore/file.js +5 -5
  195. package/lib/chain/stateCache/datastore/file.js.map +1 -1
  196. package/lib/chain/stateCache/datastore/types.d.ts +1 -1
  197. package/lib/chain/stateCache/datastore/types.d.ts.map +1 -1
  198. package/lib/chain/stateCache/fifoBlockStateCache.d.ts +1 -7
  199. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +1 -1
  200. package/lib/chain/stateCache/fifoBlockStateCache.js +0 -8
  201. package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
  202. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +13 -30
  203. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +1 -1
  204. package/lib/chain/stateCache/persistentCheckpointsCache.js +120 -216
  205. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  206. package/lib/chain/stateCache/types.d.ts +8 -15
  207. package/lib/chain/stateCache/types.d.ts.map +1 -1
  208. package/lib/chain/stateCache/types.js.map +1 -1
  209. package/lib/chain/validation/aggregateAndProof.js +12 -0
  210. package/lib/chain/validation/aggregateAndProof.js.map +1 -1
  211. package/lib/chain/validation/attestation.d.ts.map +1 -1
  212. package/lib/chain/validation/attestation.js +12 -0
  213. package/lib/chain/validation/attestation.js.map +1 -1
  214. package/lib/chain/validation/block.d.ts.map +1 -1
  215. package/lib/chain/validation/block.js +28 -5
  216. package/lib/chain/validation/block.js.map +1 -1
  217. package/lib/chain/validation/executionPayloadBid.d.ts.map +1 -1
  218. package/lib/chain/validation/executionPayloadBid.js +19 -4
  219. package/lib/chain/validation/executionPayloadBid.js.map +1 -1
  220. package/lib/chain/validation/executionPayloadEnvelope.d.ts.map +1 -1
  221. package/lib/chain/validation/executionPayloadEnvelope.js +27 -12
  222. package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
  223. package/lib/chain/validation/payloadAttestationMessage.d.ts.map +1 -1
  224. package/lib/chain/validation/payloadAttestationMessage.js +8 -4
  225. package/lib/chain/validation/payloadAttestationMessage.js.map +1 -1
  226. package/lib/chain/validation/proposerPreferences.d.ts +8 -0
  227. package/lib/chain/validation/proposerPreferences.d.ts.map +1 -0
  228. package/lib/chain/validation/proposerPreferences.js +69 -0
  229. package/lib/chain/validation/proposerPreferences.js.map +1 -0
  230. package/lib/chain/validation/syncCommittee.d.ts.map +1 -1
  231. package/lib/chain/validation/syncCommittee.js +4 -0
  232. package/lib/chain/validation/syncCommittee.js.map +1 -1
  233. package/lib/chain/validation/syncCommitteeContributionAndProof.js +4 -1
  234. package/lib/chain/validation/syncCommitteeContributionAndProof.js.map +1 -1
  235. package/lib/chain/validatorMonitor.d.ts.map +1 -1
  236. package/lib/chain/validatorMonitor.js +3 -3
  237. package/lib/chain/validatorMonitor.js.map +1 -1
  238. package/lib/db/repositories/executionPayloadEnvelopeArchive.js +1 -1
  239. package/lib/db/repositories/executionPayloadEnvelopeArchive.js.map +1 -1
  240. package/lib/execution/engine/http.d.ts.map +1 -1
  241. package/lib/execution/engine/http.js +21 -14
  242. package/lib/execution/engine/http.js.map +1 -1
  243. package/lib/execution/engine/interface.d.ts +1 -0
  244. package/lib/execution/engine/interface.d.ts.map +1 -1
  245. package/lib/execution/engine/mock.d.ts.map +1 -1
  246. package/lib/execution/engine/mock.js +6 -0
  247. package/lib/execution/engine/mock.js.map +1 -1
  248. package/lib/execution/engine/types.d.ts +20 -0
  249. package/lib/execution/engine/types.d.ts.map +1 -1
  250. package/lib/execution/engine/types.js +18 -0
  251. package/lib/execution/engine/types.js.map +1 -1
  252. package/lib/metrics/metrics/lodestar.d.ts +1 -0
  253. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  254. package/lib/metrics/metrics/lodestar.js +4 -0
  255. package/lib/metrics/metrics/lodestar.js.map +1 -1
  256. package/lib/network/gossip/interface.d.ts +7 -1
  257. package/lib/network/gossip/interface.d.ts.map +1 -1
  258. package/lib/network/gossip/interface.js +1 -0
  259. package/lib/network/gossip/interface.js.map +1 -1
  260. package/lib/network/gossip/scoringParameters.d.ts.map +1 -1
  261. package/lib/network/gossip/scoringParameters.js +12 -1
  262. package/lib/network/gossip/scoringParameters.js.map +1 -1
  263. package/lib/network/gossip/topic.d.ts +31 -748
  264. package/lib/network/gossip/topic.d.ts.map +1 -1
  265. package/lib/network/gossip/topic.js +6 -0
  266. package/lib/network/gossip/topic.js.map +1 -1
  267. package/lib/network/interface.d.ts +1 -0
  268. package/lib/network/interface.d.ts.map +1 -1
  269. package/lib/network/network.d.ts +1 -0
  270. package/lib/network/network.d.ts.map +1 -1
  271. package/lib/network/network.js +6 -1
  272. package/lib/network/network.js.map +1 -1
  273. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  274. package/lib/network/processor/gossipHandlers.js +50 -22
  275. package/lib/network/processor/gossipHandlers.js.map +1 -1
  276. package/lib/network/processor/gossipQueues/index.d.ts.map +1 -1
  277. package/lib/network/processor/gossipQueues/index.js +5 -0
  278. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  279. package/lib/network/processor/index.d.ts.map +1 -1
  280. package/lib/network/processor/index.js +6 -5
  281. package/lib/network/processor/index.js.map +1 -1
  282. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +1 -1
  283. package/lib/network/reqresp/handlers/beaconBlocksByRange.js +16 -7
  284. package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
  285. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts.map +1 -1
  286. package/lib/network/reqresp/handlers/beaconBlocksByRoot.js +2 -0
  287. package/lib/network/reqresp/handlers/beaconBlocksByRoot.js.map +1 -1
  288. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts +2 -2
  289. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +1 -1
  290. package/lib/network/reqresp/handlers/blobSidecarsByRange.js +18 -8
  291. package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +1 -1
  292. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +1 -1
  293. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js +6 -0
  294. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +1 -1
  295. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts +2 -2
  296. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +1 -1
  297. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +24 -8
  298. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -1
  299. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRange.d.ts.map +1 -1
  300. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRange.js +9 -5
  301. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRange.js.map +1 -1
  302. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.d.ts.map +1 -1
  303. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.js +3 -8
  304. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.js.map +1 -1
  305. package/lib/node/nodejs.d.ts.map +1 -1
  306. package/lib/node/nodejs.js +7 -2
  307. package/lib/node/nodejs.js.map +1 -1
  308. package/lib/node/notifier.d.ts.map +1 -1
  309. package/lib/node/notifier.js +2 -2
  310. package/lib/node/notifier.js.map +1 -1
  311. package/lib/sync/range/batch.d.ts +23 -2
  312. package/lib/sync/range/batch.d.ts.map +1 -1
  313. package/lib/sync/range/batch.js +84 -33
  314. package/lib/sync/range/batch.js.map +1 -1
  315. package/lib/sync/range/chain.d.ts +6 -2
  316. package/lib/sync/range/chain.d.ts.map +1 -1
  317. package/lib/sync/range/chain.js +26 -7
  318. package/lib/sync/range/chain.js.map +1 -1
  319. package/lib/sync/range/range.d.ts.map +1 -1
  320. package/lib/sync/range/range.js +17 -6
  321. package/lib/sync/range/range.js.map +1 -1
  322. package/lib/sync/types.d.ts +34 -0
  323. package/lib/sync/types.d.ts.map +1 -1
  324. package/lib/sync/types.js +34 -0
  325. package/lib/sync/types.js.map +1 -1
  326. package/lib/sync/unknownBlock.d.ts +22 -1
  327. package/lib/sync/unknownBlock.d.ts.map +1 -1
  328. package/lib/sync/unknownBlock.js +602 -53
  329. package/lib/sync/unknownBlock.js.map +1 -1
  330. package/lib/sync/utils/downloadByRange.d.ts +46 -10
  331. package/lib/sync/utils/downloadByRange.d.ts.map +1 -1
  332. package/lib/sync/utils/downloadByRange.js +164 -24
  333. package/lib/sync/utils/downloadByRange.js.map +1 -1
  334. package/lib/sync/utils/downloadByRoot.d.ts.map +1 -1
  335. package/lib/sync/utils/downloadByRoot.js +16 -2
  336. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  337. package/lib/sync/utils/pendingBlocksTree.d.ts +0 -1
  338. package/lib/sync/utils/pendingBlocksTree.d.ts.map +1 -1
  339. package/lib/sync/utils/pendingBlocksTree.js +0 -9
  340. package/lib/sync/utils/pendingBlocksTree.js.map +1 -1
  341. package/lib/util/sszBytes.d.ts.map +1 -1
  342. package/lib/util/sszBytes.js +20 -5
  343. package/lib/util/sszBytes.js.map +1 -1
  344. package/package.json +17 -16
  345. package/src/api/impl/beacon/blocks/index.ts +51 -9
  346. package/src/api/impl/beacon/pool/index.ts +87 -1
  347. package/src/api/impl/beacon/state/index.ts +15 -15
  348. package/src/api/impl/beacon/state/utils.ts +2 -2
  349. package/src/api/impl/debug/index.ts +0 -1
  350. package/src/api/impl/lodestar/attesterSlashing.ts +43 -0
  351. package/src/api/impl/lodestar/index.ts +52 -2
  352. package/src/api/impl/validator/index.ts +91 -6
  353. package/src/chain/GetBlobsTracker.ts +1 -2
  354. package/src/chain/archiveStore/archiveStore.ts +5 -5
  355. package/src/chain/archiveStore/interface.ts +4 -4
  356. package/src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts +6 -8
  357. package/src/chain/archiveStore/utils/archiveBlocks.ts +153 -94
  358. package/src/chain/blocks/importBlock.ts +57 -80
  359. package/src/chain/blocks/importExecutionPayload.ts +116 -98
  360. package/src/chain/blocks/index.ts +74 -24
  361. package/src/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.ts +33 -1
  362. package/src/chain/blocks/payloadEnvelopeInput/types.ts +1 -0
  363. package/src/chain/blocks/payloadEnvelopeProcessor.ts +7 -6
  364. package/src/chain/blocks/types.ts +16 -26
  365. package/src/chain/blocks/utils/chainSegment.ts +114 -17
  366. package/src/chain/blocks/verifyBlock.ts +70 -9
  367. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +8 -5
  368. package/src/chain/blocks/verifyBlocksSanityChecks.ts +26 -7
  369. package/src/chain/blocks/verifyBlocksSignatures.ts +9 -2
  370. package/src/chain/blocks/verifyExecutionPayloadEnvelope.ts +134 -0
  371. package/src/chain/blocks/verifyPayloadsDataAvailability.ts +41 -0
  372. package/src/chain/blocks/writePayloadEnvelopeInputToDb.ts +9 -18
  373. package/src/chain/chain.ts +75 -65
  374. package/src/chain/emitter.ts +15 -14
  375. package/src/chain/errors/attestationError.ts +6 -1
  376. package/src/chain/errors/blockError.ts +10 -1
  377. package/src/chain/errors/executionPayloadBid.ts +6 -0
  378. package/src/chain/errors/executionPayloadEnvelope.ts +6 -0
  379. package/src/chain/errors/index.ts +1 -0
  380. package/src/chain/errors/proposerPreferences.ts +39 -0
  381. package/src/chain/forkChoice/index.ts +19 -28
  382. package/src/chain/interface.ts +16 -3
  383. package/src/chain/lightClient/index.ts +15 -3
  384. package/src/chain/opPools/aggregatedAttestationPool.ts +6 -1
  385. package/src/chain/opPools/executionPayloadBidPool.ts +3 -3
  386. package/src/chain/opPools/payloadAttestationPool.ts +29 -8
  387. package/src/chain/prepareNextSlot.ts +58 -19
  388. package/src/chain/produceBlock/computeNewStateRoot.ts +1 -37
  389. package/src/chain/produceBlock/produceBlockBody.ts +120 -26
  390. package/src/chain/regen/errors.ts +1 -6
  391. package/src/chain/regen/interface.ts +7 -12
  392. package/src/chain/regen/queued.ts +14 -55
  393. package/src/chain/regen/regen.ts +10 -43
  394. package/src/chain/seenCache/index.ts +1 -0
  395. package/src/chain/seenCache/seenPayloadEnvelopeInput.ts +47 -25
  396. package/src/chain/seenCache/seenProposerPreferences.ts +29 -0
  397. package/src/chain/stateCache/datastore/db.ts +10 -33
  398. package/src/chain/stateCache/datastore/file.ts +5 -6
  399. package/src/chain/stateCache/datastore/types.ts +2 -3
  400. package/src/chain/stateCache/fifoBlockStateCache.ts +1 -10
  401. package/src/chain/stateCache/persistentCheckpointsCache.ts +139 -247
  402. package/src/chain/stateCache/types.ts +8 -14
  403. package/src/chain/validation/aggregateAndProof.ts +13 -0
  404. package/src/chain/validation/attestation.ts +13 -0
  405. package/src/chain/validation/block.ts +31 -7
  406. package/src/chain/validation/executionPayloadBid.ts +21 -3
  407. package/src/chain/validation/executionPayloadEnvelope.ts +32 -13
  408. package/src/chain/validation/payloadAttestationMessage.ts +9 -3
  409. package/src/chain/validation/proposerPreferences.ts +91 -0
  410. package/src/chain/validation/syncCommittee.ts +5 -1
  411. package/src/chain/validation/syncCommitteeContributionAndProof.ts +5 -1
  412. package/src/chain/validatorMonitor.ts +3 -2
  413. package/src/db/repositories/executionPayloadEnvelopeArchive.ts +1 -1
  414. package/src/execution/engine/http.ts +21 -14
  415. package/src/execution/engine/interface.ts +1 -0
  416. package/src/execution/engine/mock.ts +8 -1
  417. package/src/execution/engine/types.ts +41 -0
  418. package/src/metrics/metrics/lodestar.ts +4 -0
  419. package/src/network/gossip/interface.ts +6 -0
  420. package/src/network/gossip/scoringParameters.ts +14 -1
  421. package/src/network/gossip/topic.ts +6 -0
  422. package/src/network/interface.ts +1 -0
  423. package/src/network/network.ts +12 -1
  424. package/src/network/processor/gossipHandlers.ts +66 -27
  425. package/src/network/processor/gossipQueues/index.ts +5 -0
  426. package/src/network/processor/index.ts +6 -5
  427. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +17 -7
  428. package/src/network/reqresp/handlers/beaconBlocksByRoot.ts +3 -0
  429. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +26 -8
  430. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +11 -0
  431. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +36 -8
  432. package/src/network/reqresp/handlers/executionPayloadEnvelopesByRange.ts +10 -5
  433. package/src/network/reqresp/handlers/executionPayloadEnvelopesByRoot.ts +3 -12
  434. package/src/node/nodejs.ts +8 -3
  435. package/src/node/notifier.ts +7 -2
  436. package/src/sync/range/batch.ts +142 -38
  437. package/src/sync/range/chain.ts +37 -9
  438. package/src/sync/range/range.ts +18 -6
  439. package/src/sync/types.ts +72 -0
  440. package/src/sync/unknownBlock.ts +760 -57
  441. package/src/sync/utils/downloadByRange.ts +274 -39
  442. package/src/sync/utils/downloadByRoot.ts +24 -2
  443. package/src/sync/utils/pendingBlocksTree.ts +0 -15
  444. package/src/util/sszBytes.ts +25 -5
@@ -434,10 +434,11 @@ export function getBeaconBlockRootFromDataColumnSidecarSerialized(data) {
434
434
  * └─ ExecutionPayloadEnvelope (starts at byte 100):
435
435
  * ├─ 4 bytes: payload offset
436
436
  * ├─ 4 bytes: executionRequests offset
437
- * ├─ 8 bytes: builderIndex (offset 108-115)
438
- * ├─ 32 bytes: beaconBlockRoot (offset 116-147)
439
- * ├─ 8 bytes: slot (offset 148-155)
440
- * └─ 32 bytes: stateRoot (offset 156-187)
437
+ * ├─ 8 bytes: builderIndex (offset 108-115)
438
+ * ├─ 32 bytes: beaconBlockRoot (offset 116-147)
439
+ * ├─ 32 bytes: parentBeaconBlockRoot (offset 148-179) — new in Gloas alpha.6 (consensus-specs#5152)
440
+ * └─ variable: payload data (starts at envelope + 80)
441
+ * └─ ExecutionPayload fixed portion includes slotNumber at offset 532
441
442
  */
442
443
  const SIGNED_EXECUTION_PAYLOAD_ENVELOPE_MESSAGE_OFFSET = 4;
443
444
  const SIGNED_EXECUTION_PAYLOAD_ENVELOPE_SIGNATURE_SIZE = 96;
@@ -449,7 +450,21 @@ const BEACON_BLOCK_ROOT_OFFSET_IN_SIGNED_EXECUTION_PAYLOAD_ENVELOPE = SIGNED_EXE
449
450
  EXECUTION_PAYLOAD_ENVELOPE_PAYLOAD_OFFSET +
450
451
  EXECUTION_PAYLOAD_ENVELOPE_REQUESTS_OFFSET +
451
452
  EXECUTION_PAYLOAD_ENVELOPE_BUILDER_INDEX_SIZE; // 116
452
- const SLOT_OFFSET_IN_SIGNED_EXECUTION_PAYLOAD_ENVELOPE = BEACON_BLOCK_ROOT_OFFSET_IN_SIGNED_EXECUTION_PAYLOAD_ENVELOPE + ROOT_SIZE; // 148
453
+ // Envelope fixed portion: payload_offset(4) + requests_offset(4) + builderIndex(8) + beaconBlockRoot(32) + parentBeaconBlockRoot(32) = 80
454
+ const EXECUTION_PAYLOAD_ENVELOPE_FIXED_SIZE = EXECUTION_PAYLOAD_ENVELOPE_PAYLOAD_OFFSET +
455
+ EXECUTION_PAYLOAD_ENVELOPE_REQUESTS_OFFSET +
456
+ EXECUTION_PAYLOAD_ENVELOPE_BUILDER_INDEX_SIZE +
457
+ ROOT_SIZE +
458
+ ROOT_SIZE; // 80
459
+ // slotNumber offset within ExecutionPayload fixed portion:
460
+ // parentHash(32) + feeRecipient(20) + stateRoot(32) + receiptsRoot(32) + logsBloom(256) +
461
+ // prevRandao(32) + blockNumber(8) + gasLimit(8) + gasUsed(8) + timestamp(8) +
462
+ // extraData_offset(4) + baseFeePerGas(32) + blockHash(32) + transactions_offset(4) +
463
+ // withdrawals_offset(4) + blobGasUsed(8) + excessBlobGas(8) + blockAccessList_offset(4) = 532
464
+ const SLOT_NUMBER_OFFSET_IN_EXECUTION_PAYLOAD = 532;
465
+ // Payload data starts right after the envelope's fixed portion
466
+ const ENVELOPE_START_IN_SIGNED = SIGNED_EXECUTION_PAYLOAD_ENVELOPE_MESSAGE_OFFSET + SIGNED_EXECUTION_PAYLOAD_ENVELOPE_SIGNATURE_SIZE; // 100
467
+ const SLOT_OFFSET_IN_SIGNED_EXECUTION_PAYLOAD_ENVELOPE = ENVELOPE_START_IN_SIGNED + EXECUTION_PAYLOAD_ENVELOPE_FIXED_SIZE + SLOT_NUMBER_OFFSET_IN_EXECUTION_PAYLOAD; // 100 + 80 + 532 = 712
453
468
  export function getSlotFromExecutionPayloadEnvelopeSerialized(data) {
454
469
  if (data.length < SLOT_OFFSET_IN_SIGNED_EXECUTION_PAYLOAD_ENVELOPE + SLOT_SIZE) {
455
470
  return null;
@@ -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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"}
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.42.0",
14
+ "version": "1.43.0-dev.07452fe3b7",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -118,7 +118,7 @@
118
118
  "@chainsafe/prometheus-gc-stats": "^1.0.0",
119
119
  "@chainsafe/pubkey-index-map": "^3.0.0",
120
120
  "@chainsafe/snappy-wasm": "^0.5.0",
121
- "@chainsafe/ssz": "^1.2.2",
121
+ "@chainsafe/ssz": "^1.4.0",
122
122
  "@chainsafe/threads": "^1.11.3",
123
123
  "@crate-crypto/node-eth-kzg": "0.9.1",
124
124
  "@fastify/bearer-auth": "^10.0.1",
@@ -135,18 +135,18 @@
135
135
  "@libp2p/peer-id": "^6.0.4",
136
136
  "@libp2p/prometheus-metrics": "^5.0.14",
137
137
  "@libp2p/tcp": "^11.0.13",
138
- "@lodestar/api": "^1.42.0",
139
- "@lodestar/config": "^1.42.0",
140
- "@lodestar/db": "^1.42.0",
141
- "@lodestar/fork-choice": "^1.42.0",
142
- "@lodestar/light-client": "^1.42.0",
143
- "@lodestar/logger": "^1.42.0",
144
- "@lodestar/params": "^1.42.0",
145
- "@lodestar/reqresp": "^1.42.0",
146
- "@lodestar/state-transition": "^1.42.0",
147
- "@lodestar/types": "^1.42.0",
148
- "@lodestar/utils": "^1.42.0",
149
- "@lodestar/validator": "^1.42.0",
138
+ "@lodestar/api": "^1.43.0-dev.07452fe3b7",
139
+ "@lodestar/config": "^1.43.0-dev.07452fe3b7",
140
+ "@lodestar/db": "^1.43.0-dev.07452fe3b7",
141
+ "@lodestar/fork-choice": "^1.43.0-dev.07452fe3b7",
142
+ "@lodestar/light-client": "^1.43.0-dev.07452fe3b7",
143
+ "@lodestar/logger": "^1.43.0-dev.07452fe3b7",
144
+ "@lodestar/params": "^1.43.0-dev.07452fe3b7",
145
+ "@lodestar/reqresp": "^1.43.0-dev.07452fe3b7",
146
+ "@lodestar/state-transition": "^1.43.0-dev.07452fe3b7",
147
+ "@lodestar/types": "^1.43.0-dev.07452fe3b7",
148
+ "@lodestar/utils": "^1.43.0-dev.07452fe3b7",
149
+ "@lodestar/validator": "^1.43.0-dev.07452fe3b7",
150
150
  "@multiformats/multiaddr": "^13.0.1",
151
151
  "datastore-core": "^11.0.2",
152
152
  "datastore-fs": "^11.0.2",
@@ -169,10 +169,11 @@
169
169
  "@libp2p/interface-internal": "^3.0.13",
170
170
  "@libp2p/logger": "^6.2.2",
171
171
  "@libp2p/utils": "^7.0.13",
172
- "@lodestar/spec-test-util": "^1.42.0",
172
+ "@lodestar/spec-test-util": "^1.43.0-dev.07452fe3b7",
173
173
  "@types/js-yaml": "^4.0.5",
174
174
  "@types/qs": "^6.9.7",
175
175
  "@types/tmp": "^0.2.3",
176
+ "dotenv": "^16.4.5",
176
177
  "js-yaml": "^4.1.0",
177
178
  "rewiremock": "^3.14.5",
178
179
  "rimraf": "^4.4.1",
@@ -186,5 +187,5 @@
186
187
  "beacon",
187
188
  "blockchain"
188
189
  ],
189
- "gitHead": "443e0a476dd6ff62f5977875741de0a38ba4e1ef"
190
+ "gitHead": "3f9cb0f15097b9d04a2ea9c7eee71c6103088f0f"
190
191
  }
@@ -5,6 +5,7 @@ import {
5
5
  BUILDER_INDEX_SELF_BUILD,
6
6
  ForkPostBellatrix,
7
7
  ForkPostFulu,
8
+ ForkPostGloas,
8
9
  ForkPreGloas,
9
10
  NUMBER_OF_COLUMNS,
10
11
  SLOTS_PER_HISTORICAL_ROOT,
@@ -109,6 +110,18 @@ export function getBeaconBlockApi({
109
110
  seenTimestampSec,
110
111
  blockRootHex: blockRoot,
111
112
  });
113
+
114
+ if (isForkPostGloas(fork)) {
115
+ chain.seenPayloadEnvelopeInputCache.add({
116
+ blockRootHex: blockRoot,
117
+ block: signedBlock as SignedBeaconBlock<ForkPostGloas>,
118
+ forkName: fork,
119
+ sampledColumns: chain.custodyConfig.sampledColumns,
120
+ custodyColumns: chain.custodyConfig.custodyColumns,
121
+ timeCreatedSec: seenTimestampSec,
122
+ });
123
+ }
124
+
112
125
  let blobSidecars: deneb.BlobSidecars, dataColumnSidecars: fulu.DataColumnSidecar[];
113
126
 
114
127
  if (isDenebBlockContents(signedBlockContents)) {
@@ -234,7 +247,7 @@ export function getBeaconBlockApi({
234
247
  }
235
248
 
236
249
  try {
237
- await verifyBlocksInEpoch.call(chain as BeaconChain, parentBlock, [blockForImport], {
250
+ await verifyBlocksInEpoch.call(chain as BeaconChain, parentBlock, [blockForImport], null, {
238
251
  ...opts,
239
252
  verifyOnly: true,
240
253
  skipVerifyBlockSignatures: true,
@@ -311,7 +324,10 @@ export function getBeaconBlockApi({
311
324
  chain
312
325
  .processBlock(blockForImport, opts)
313
326
  .catch((e) => {
314
- if (e instanceof BlockError && e.type.code === BlockErrorCode.PARENT_UNKNOWN) {
327
+ if (
328
+ e instanceof BlockError &&
329
+ (e.type.code === BlockErrorCode.PARENT_UNKNOWN || e.type.code === BlockErrorCode.PARENT_PAYLOAD_UNKNOWN)
330
+ ) {
315
331
  chain.emitter.emit(ChainEvent.blockUnknownParent, {
316
332
  blockInput: blockForImport,
317
333
  peer: IDENTITY_PEER_ID,
@@ -651,11 +667,10 @@ export function getBeaconBlockApi({
651
667
  async publishExecutionPayloadEnvelope({signedExecutionPayloadEnvelope}) {
652
668
  const seenTimestampSec = Date.now() / 1000;
653
669
  const envelope = signedExecutionPayloadEnvelope.message;
654
- const slot = envelope.slot;
670
+ const slot = envelope.payload.slotNumber;
655
671
  const fork = config.getForkName(slot);
656
672
  const blockRootHex = toRootHex(envelope.beaconBlockRoot);
657
673
  const blockHashHex = toRootHex(envelope.payload.blockHash);
658
- const stateRootHex = toRootHex(envelope.stateRoot);
659
674
 
660
675
  if (!isForkPostGloas(fork)) {
661
676
  throw new ApiError(400, `publishExecutionPayloadEnvelope not supported for pre-gloas fork=${fork}`);
@@ -740,7 +755,6 @@ export function getBeaconBlockApi({
740
755
  slot,
741
756
  blockRoot: blockRootHex,
742
757
  blockHash: blockHashHex,
743
- stateRoot: stateRootHex,
744
758
  builderIndex: envelope.builderIndex,
745
759
  isSelfBuild,
746
760
  dataColumns: dataColumnSidecars.length,
@@ -768,7 +782,6 @@ export function getBeaconBlockApi({
768
782
  builderIndex: envelope.builderIndex,
769
783
  blockHash: blockHashHex,
770
784
  blockRoot: blockRootHex,
771
- stateRoot: stateRootHex,
772
785
  });
773
786
 
774
787
  const sentPeersArr = await publishPromise;
@@ -776,9 +789,9 @@ export function getBeaconBlockApi({
776
789
  // Track metrics for data column publishing
777
790
  if (dataColumnSidecars.length > 0) {
778
791
  let columnsPublishedWithZeroPeers = 0;
779
- // Skip first entry (envelope), track data columns
780
- for (let i = 1; i < sentPeersArr.length; i++) {
781
- const sentPeers = sentPeersArr[i] as number;
792
+ // Skip first entry (envelope); the final entry is processExecutionPayload(), which returns void.
793
+ for (let i = 0; i < dataColumnSidecars.length; i++) {
794
+ const sentPeers = sentPeersArr[i + 1] as number;
782
795
  metrics?.dataColumns.sentPeersPerSubnet.observe(sentPeers);
783
796
  if (sentPeers === 0) {
784
797
  columnsPublishedWithZeroPeers++;
@@ -812,6 +825,35 @@ export function getBeaconBlockApi({
812
825
  });
813
826
  },
814
827
 
828
+ async getSignedExecutionPayloadEnvelope({blockId}, context) {
829
+ const {block, executionOptimistic, finalized} = await getBlockResponse(chain, blockId);
830
+ const slot = block.message.slot;
831
+ const fork = config.getForkName(slot);
832
+
833
+ if (!isForkPostGloas(fork)) {
834
+ throw new ApiError(
835
+ 400,
836
+ `Execution payload envelopes are not available for pre-gloas fork=${fork}, slot=${slot}`
837
+ );
838
+ }
839
+
840
+ const blockRoot = config.getForkTypes(slot).BeaconBlock.hashTreeRoot(block.message);
841
+ const blockRootHex = toRootHex(blockRoot);
842
+
843
+ const data = context?.returnBytes
844
+ ? await chain.getSerializedExecutionPayloadEnvelope(slot, blockRootHex)
845
+ : await chain.getExecutionPayloadEnvelope(slot, blockRootHex);
846
+
847
+ if (!data) {
848
+ throw new ApiError(404, `Execution payload envelope not found for slot=${slot}, blockRoot=${blockRootHex}`);
849
+ }
850
+
851
+ return {
852
+ data,
853
+ meta: {executionOptimistic, finalized, version: fork},
854
+ };
855
+ },
856
+
815
857
  async getBlobSidecars({blockId, indices}) {
816
858
  assertUniqueItems(indices, "Duplicate indices provided");
817
859
 
@@ -1,16 +1,27 @@
1
1
  import {routes} from "@lodestar/api";
2
2
  import {ApplicationMethods} from "@lodestar/api/server";
3
- import {ForkPostElectra, ForkPreElectra, SYNC_COMMITTEE_SUBNET_SIZE, isForkPostElectra} from "@lodestar/params";
3
+ import {
4
+ ForkPostElectra,
5
+ ForkPreElectra,
6
+ SYNC_COMMITTEE_SUBNET_SIZE,
7
+ isForkPostElectra,
8
+ isForkPostGloas,
9
+ } from "@lodestar/params";
10
+ import {isStatePostAltair} from "@lodestar/state-transition";
4
11
  import {Attestation, Epoch, SingleAttestation, isElectraAttestation, ssz, sszTypesFor} from "@lodestar/types";
12
+ import {toRootHex} from "@lodestar/utils";
5
13
  import {
6
14
  AttestationError,
7
15
  AttestationErrorCode,
8
16
  GossipAction,
17
+ PayloadAttestationError,
18
+ PayloadAttestationErrorCode,
9
19
  SyncCommitteeError,
10
20
  } from "../../../../chain/errors/index.js";
11
21
  import {validateApiAttesterSlashing} from "../../../../chain/validation/attesterSlashing.js";
12
22
  import {validateApiBlsToExecutionChange} from "../../../../chain/validation/blsToExecutionChange.js";
13
23
  import {toElectraSingleAttestation, validateApiAttestation} from "../../../../chain/validation/index.js";
24
+ import {validateApiPayloadAttestationMessage} from "../../../../chain/validation/payloadAttestationMessage.js";
14
25
  import {validateApiProposerSlashing} from "../../../../chain/validation/proposerSlashing.js";
15
26
  import {validateApiSyncCommittee} from "../../../../chain/validation/syncCommittee.js";
16
27
  import {validateApiVoluntaryExit} from "../../../../chain/validation/voluntaryExit.js";
@@ -61,6 +72,15 @@ export function getBeaconPoolApi({
61
72
  return {data: attestations, meta: {version: fork}};
62
73
  },
63
74
 
75
+ async getPoolPayloadAttestations({slot}) {
76
+ const fork = chain.config.getForkName(slot ?? chain.clock.currentSlot);
77
+ if (!isForkPostGloas(fork)) {
78
+ throw new ApiError(400, `Payload attestation pool is not supported before Gloas fork=${fork}`);
79
+ }
80
+
81
+ return {data: chain.payloadAttestationPool.getAll(slot), meta: {version: fork}};
82
+ },
83
+
64
84
  async getPoolAttesterSlashings() {
65
85
  const fork = chain.config.getForkName(chain.clock.currentSlot);
66
86
 
@@ -230,6 +250,69 @@ export function getBeaconPoolApi({
230
250
  }
231
251
  },
232
252
 
253
+ async submitPayloadAttestationMessages({payloadAttestationMessages}) {
254
+ const failures: FailureList = [];
255
+
256
+ await Promise.all(
257
+ payloadAttestationMessages.map(async (payloadAttestationMessage, i) => {
258
+ try {
259
+ const validateFn = () => validateApiPayloadAttestationMessage(chain, payloadAttestationMessage);
260
+ const {slot, beaconBlockRoot} = payloadAttestationMessage.data;
261
+ const {attDataRootHex, validatorCommitteeIndex} = await validateGossipFnRetryUnknownRoot(
262
+ validateFn,
263
+ network,
264
+ chain,
265
+ slot,
266
+ beaconBlockRoot
267
+ );
268
+
269
+ const insertOutcome = chain.payloadAttestationPool.add(
270
+ payloadAttestationMessage,
271
+ attDataRootHex,
272
+ validatorCommitteeIndex
273
+ );
274
+ metrics?.opPool.payloadAttestationPool.apiInsertOutcome.inc({insertOutcome});
275
+
276
+ chain.forkChoice.notifyPtcMessages(
277
+ toRootHex(payloadAttestationMessage.data.beaconBlockRoot),
278
+ [validatorCommitteeIndex],
279
+ payloadAttestationMessage.data.payloadPresent
280
+ );
281
+
282
+ await network.publishPayloadAttestationMessage(payloadAttestationMessage);
283
+ } catch (e) {
284
+ const logCtx = {
285
+ slot: payloadAttestationMessage.data.slot,
286
+ validatorIndex: payloadAttestationMessage.validatorIndex,
287
+ beaconBlockRoot: toRootHex(payloadAttestationMessage.data.beaconBlockRoot),
288
+ };
289
+
290
+ if (
291
+ e instanceof PayloadAttestationError &&
292
+ e.type.code === PayloadAttestationErrorCode.PAYLOAD_ATTESTATION_ALREADY_KNOWN
293
+ ) {
294
+ logger.debug("Ignoring known payload attestation message", logCtx);
295
+ return;
296
+ }
297
+
298
+ failures.push({index: i, message: (e as Error).message});
299
+ logger.verbose(`Error on submitPayloadAttestationMessages [${i}]`, logCtx, e as Error);
300
+ if (e instanceof PayloadAttestationError && e.action === GossipAction.REJECT) {
301
+ chain.persistInvalidSszValue(
302
+ ssz.gloas.PayloadAttestationMessage,
303
+ payloadAttestationMessage,
304
+ "api_reject"
305
+ );
306
+ }
307
+ }
308
+ })
309
+ );
310
+
311
+ if (failures.length > 0) {
312
+ throw new IndexedError("Error processing payload attestation messages", failures);
313
+ }
314
+ },
315
+
233
316
  /**
234
317
  * POST `/eth/v1/beacon/pool/sync_committees`
235
318
  *
@@ -249,6 +332,9 @@ export function getBeaconPoolApi({
249
332
 
250
333
  // TODO: Fetch states at signature slots
251
334
  const state = chain.getHeadState();
335
+ if (!isStatePostAltair(state)) {
336
+ throw new ApiError(400, "Sync committee pool is not supported before Altair");
337
+ }
252
338
 
253
339
  const failures: FailureList = [];
254
340
 
@@ -1,17 +1,14 @@
1
1
  import {routes} from "@lodestar/api";
2
2
  import {ApplicationMethods} from "@lodestar/api/server";
3
- import {
4
- EPOCHS_PER_HISTORICAL_VECTOR,
5
- SLOTS_PER_EPOCH,
6
- SYNC_COMMITTEE_SUBNET_SIZE,
7
- isForkPostElectra,
8
- isForkPostFulu,
9
- } from "@lodestar/params";
3
+ import {EPOCHS_PER_HISTORICAL_VECTOR, SLOTS_PER_EPOCH, SYNC_COMMITTEE_SUBNET_SIZE} from "@lodestar/params";
10
4
  import {
11
5
  IBeaconStateView,
12
6
  computeEpochAtSlot,
13
7
  computeStartSlotAtEpoch,
14
8
  getCurrentEpoch,
9
+ isStatePostAltair,
10
+ isStatePostElectra,
11
+ isStatePostFulu,
15
12
  } from "@lodestar/state-transition";
16
13
  import {ValidatorIndex, getValidatorStatus, ssz} from "@lodestar/types";
17
14
  import {ApiError} from "../../errors.js";
@@ -303,6 +300,9 @@ export function getBeaconStateApi({
303
300
  if (stateEpoch < config.ALTAIR_FORK_EPOCH) {
304
301
  throw new ApiError(400, "Requested state before ALTAIR_FORK_EPOCH");
305
302
  }
303
+ if (!isStatePostAltair(state)) {
304
+ throw new Error("Expected Altair state for sync committee lookup");
305
+ }
306
306
 
307
307
  const syncCommitteeCache = state.getIndexedSyncCommitteeAtEpoch(epoch ?? stateEpoch);
308
308
  const validatorIndices = new Array<ValidatorIndex>(...syncCommitteeCache.validatorIndices);
@@ -324,9 +324,9 @@ export function getBeaconStateApi({
324
324
 
325
325
  async getPendingDeposits({stateId}, context) {
326
326
  const {state, executionOptimistic, finalized} = await getState(stateId);
327
- const fork = config.getForkName(state.slot);
327
+ const fork = state.forkName;
328
328
 
329
- if (!isForkPostElectra(fork)) {
329
+ if (!isStatePostElectra(state)) {
330
330
  throw new ApiError(400, `Cannot retrieve pending deposits for pre-electra state fork=${fork}`);
331
331
  }
332
332
 
@@ -340,9 +340,9 @@ export function getBeaconStateApi({
340
340
 
341
341
  async getPendingPartialWithdrawals({stateId}, context) {
342
342
  const {state, executionOptimistic, finalized} = await getState(stateId);
343
- const fork = config.getForkName(state.slot);
343
+ const fork = state.forkName;
344
344
 
345
- if (!isForkPostElectra(fork)) {
345
+ if (!isStatePostElectra(state)) {
346
346
  throw new ApiError(400, `Cannot retrieve pending partial withdrawals for pre-electra state fork=${fork}`);
347
347
  }
348
348
 
@@ -358,9 +358,9 @@ export function getBeaconStateApi({
358
358
 
359
359
  async getPendingConsolidations({stateId}, context) {
360
360
  const {state, executionOptimistic, finalized} = await getState(stateId);
361
- const fork = config.getForkName(state.slot);
361
+ const fork = state.forkName;
362
362
 
363
- if (!isForkPostElectra(fork)) {
363
+ if (!isStatePostElectra(state)) {
364
364
  throw new ApiError(400, `Cannot retrieve pending consolidations for pre-electra state fork=${fork}`);
365
365
  }
366
366
 
@@ -376,9 +376,9 @@ export function getBeaconStateApi({
376
376
 
377
377
  async getProposerLookahead({stateId}, context) {
378
378
  const {state, executionOptimistic, finalized} = await getState(stateId);
379
- const fork = config.getForkName(state.slot);
379
+ const fork = state.forkName;
380
380
 
381
- if (!isForkPostFulu(fork)) {
381
+ if (!isStatePostFulu(state)) {
382
382
  throw new ApiError(400, `Cannot retrieve proposer lookahead for pre-fulu state fork=${fork}`);
383
383
  }
384
384
 
@@ -1,5 +1,5 @@
1
1
  import {routes} from "@lodestar/api";
2
- import {CheckpointWithPayloadStatus, IForkChoice} from "@lodestar/fork-choice";
2
+ import {CheckpointWithHex, IForkChoice} from "@lodestar/fork-choice";
3
3
  import {GENESIS_SLOT} from "@lodestar/params";
4
4
  import {IBeaconStateView, PubkeyCache} from "@lodestar/state-transition";
5
5
  import {BLSPubkey, Epoch, RootHex, Slot, ValidatorIndex, getValidatorStatus, phase0} from "@lodestar/types";
@@ -10,7 +10,7 @@ import {ApiError, ValidationError} from "../../errors.js";
10
10
  export function resolveStateId(
11
11
  forkChoice: IForkChoice,
12
12
  stateId: routes.beacon.StateId
13
- ): RootHex | Slot | CheckpointWithPayloadStatus {
13
+ ): RootHex | Slot | CheckpointWithHex {
14
14
  if (stateId === "head") {
15
15
  return forkChoice.getHead().stateRoot;
16
16
  }
@@ -43,7 +43,6 @@ export function getDebugApi({
43
43
  validity: (() => {
44
44
  switch (node.executionStatus) {
45
45
  case ExecutionStatus.Valid:
46
- case ExecutionStatus.PayloadSeparated:
47
46
  return "valid";
48
47
  case ExecutionStatus.Invalid:
49
48
  return "invalid";
@@ -0,0 +1,43 @@
1
+ import {ForkSeq} from "@lodestar/params";
2
+ import {
3
+ getIntersectingIndices,
4
+ isSlashableAttestationData,
5
+ toIndexedAttestationBigint,
6
+ } from "@lodestar/state-transition";
7
+ import {AttesterSlashing, IndexedAttestation} from "@lodestar/types";
8
+
9
+ /**
10
+ * Find all slashable pairs within a list of IndexedAttestations and
11
+ * construct AttesterSlashing objects for each.
12
+ */
13
+ export function getAttesterSlashingsFromIndexedAttestations(
14
+ fork: ForkSeq,
15
+ indexedAttestations: IndexedAttestation[]
16
+ ): AttesterSlashing[] {
17
+ const slashings: AttesterSlashing[] = [];
18
+
19
+ for (let i = 0; i < indexedAttestations.length; i++) {
20
+ for (let j = i + 1; j < indexedAttestations.length; j++) {
21
+ // Order by source epoch so the surrounding attestation is always first,
22
+ // matching what isSlashableAttestationData expects (one-directional check).
23
+ const [first, second] =
24
+ indexedAttestations[j].data.source.epoch < indexedAttestations[i].data.source.epoch
25
+ ? [indexedAttestations[j], indexedAttestations[i]]
26
+ : [indexedAttestations[i], indexedAttestations[j]];
27
+
28
+ if (getIntersectingIndices(first.attestingIndices, second.attestingIndices).length === 0) continue;
29
+
30
+ const firstBigint = toIndexedAttestationBigint(first, fork);
31
+ const secondBigint = toIndexedAttestationBigint(second, fork);
32
+
33
+ if (!isSlashableAttestationData(firstBigint.data, secondBigint.data)) continue;
34
+
35
+ slashings.push({
36
+ attestation1: firstBigint,
37
+ attestation2: secondBigint,
38
+ });
39
+ }
40
+ }
41
+
42
+ return slashings;
43
+ }