@lodestar/beacon-node 1.51.0-dev.d422f387ac → 1.51.0-dev.dc21d14c20

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 (443) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +19 -61
  3. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  4. package/lib/api/impl/beacon/pool/index.d.ts.map +1 -1
  5. package/lib/api/impl/beacon/pool/index.js +17 -0
  6. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  7. package/lib/api/impl/validator/index.d.ts +6 -0
  8. package/lib/api/impl/validator/index.d.ts.map +1 -1
  9. package/lib/api/impl/validator/index.js +38 -25
  10. package/lib/api/impl/validator/index.js.map +1 -1
  11. package/lib/chain/GetBlobsTracker.d.ts +2 -2
  12. package/lib/chain/GetBlobsTracker.d.ts.map +1 -1
  13. package/lib/chain/GetBlobsTracker.js +7 -31
  14. package/lib/chain/GetBlobsTracker.js.map +1 -1
  15. package/lib/chain/blocks/blockInput/blockInput.d.ts +11 -56
  16. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +1 -1
  17. package/lib/chain/blocks/blockInput/blockInput.js +5 -241
  18. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  19. package/lib/chain/blocks/blockInput/errors.d.ts +2 -4
  20. package/lib/chain/blocks/blockInput/errors.d.ts.map +1 -1
  21. package/lib/chain/blocks/blockInput/errors.js.map +1 -1
  22. package/lib/chain/blocks/blockInput/types.d.ts +2 -18
  23. package/lib/chain/blocks/blockInput/types.d.ts.map +1 -1
  24. package/lib/chain/blocks/blockInput/types.js +0 -1
  25. package/lib/chain/blocks/blockInput/types.js.map +1 -1
  26. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  27. package/lib/chain/blocks/importBlock.js +36 -53
  28. package/lib/chain/blocks/importBlock.js.map +1 -1
  29. package/lib/chain/blocks/importExecutionPayload.d.ts +4 -0
  30. package/lib/chain/blocks/importExecutionPayload.d.ts.map +1 -1
  31. package/lib/chain/blocks/importExecutionPayload.js +24 -3
  32. package/lib/chain/blocks/importExecutionPayload.js.map +1 -1
  33. package/lib/chain/blocks/index.d.ts.map +1 -1
  34. package/lib/chain/blocks/index.js +2 -2
  35. package/lib/chain/blocks/index.js.map +1 -1
  36. package/lib/chain/blocks/types.d.ts +4 -20
  37. package/lib/chain/blocks/types.d.ts.map +1 -1
  38. package/lib/chain/blocks/types.js +0 -24
  39. package/lib/chain/blocks/types.js.map +1 -1
  40. package/lib/chain/blocks/verifyBlock.d.ts.map +1 -1
  41. package/lib/chain/blocks/verifyBlock.js +17 -6
  42. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  43. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +1 -1
  44. package/lib/chain/blocks/verifyBlocksDataAvailability.js +6 -1
  45. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  46. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts +1 -1
  47. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +1 -1
  48. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +7 -3
  49. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  50. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +1 -1
  51. package/lib/chain/blocks/verifyBlocksSanityChecks.js +4 -0
  52. package/lib/chain/blocks/verifyBlocksSanityChecks.js.map +1 -1
  53. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +1 -1
  54. package/lib/chain/blocks/verifyBlocksSignatures.js +10 -5
  55. package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
  56. package/lib/chain/blocks/writeBlockInputToDb.d.ts +0 -2
  57. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +1 -1
  58. package/lib/chain/blocks/writeBlockInputToDb.js +6 -24
  59. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  60. package/lib/chain/bls/interface.d.ts +2 -0
  61. package/lib/chain/bls/interface.d.ts.map +1 -1
  62. package/lib/chain/bls/multithread/index.d.ts +1 -1
  63. package/lib/chain/bls/multithread/index.d.ts.map +1 -1
  64. package/lib/chain/bls/multithread/index.js +45 -17
  65. package/lib/chain/bls/multithread/index.js.map +1 -1
  66. package/lib/chain/chain.d.ts +24 -3
  67. package/lib/chain/chain.d.ts.map +1 -1
  68. package/lib/chain/chain.js +120 -39
  69. package/lib/chain/chain.js.map +1 -1
  70. package/lib/chain/emitter.d.ts +7 -7
  71. package/lib/chain/emitter.d.ts.map +1 -1
  72. package/lib/chain/emitter.js +5 -5
  73. package/lib/chain/emitter.js.map +1 -1
  74. package/lib/chain/errors/executionPayloadEnvelope.d.ts +7 -0
  75. package/lib/chain/errors/executionPayloadEnvelope.d.ts.map +1 -1
  76. package/lib/chain/errors/executionPayloadEnvelope.js +1 -0
  77. package/lib/chain/errors/executionPayloadEnvelope.js.map +1 -1
  78. package/lib/chain/errors/index.d.ts +0 -1
  79. package/lib/chain/errors/index.d.ts.map +1 -1
  80. package/lib/chain/errors/index.js +0 -1
  81. package/lib/chain/errors/index.js.map +1 -1
  82. package/lib/chain/forkChoice/index.d.ts +11 -1
  83. package/lib/chain/forkChoice/index.d.ts.map +1 -1
  84. package/lib/chain/forkChoice/index.js +11 -0
  85. package/lib/chain/forkChoice/index.js.map +1 -1
  86. package/lib/chain/forkChoiceExecutionEngine.d.ts +51 -0
  87. package/lib/chain/forkChoiceExecutionEngine.d.ts.map +1 -0
  88. package/lib/chain/forkChoiceExecutionEngine.js +117 -0
  89. package/lib/chain/forkChoiceExecutionEngine.js.map +1 -0
  90. package/lib/chain/interface.d.ts +7 -4
  91. package/lib/chain/interface.d.ts.map +1 -1
  92. package/lib/chain/interface.js.map +1 -1
  93. package/lib/chain/opPools/aggregatedAttestationPool.d.ts +17 -4
  94. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
  95. package/lib/chain/opPools/aggregatedAttestationPool.js +177 -37
  96. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  97. package/lib/chain/opPools/index.d.ts +1 -0
  98. package/lib/chain/opPools/index.d.ts.map +1 -1
  99. package/lib/chain/opPools/index.js +1 -0
  100. package/lib/chain/opPools/index.js.map +1 -1
  101. package/lib/chain/opPools/singleAttestationPool.d.ts +77 -0
  102. package/lib/chain/opPools/singleAttestationPool.d.ts.map +1 -0
  103. package/lib/chain/opPools/singleAttestationPool.js +209 -0
  104. package/lib/chain/opPools/singleAttestationPool.js.map +1 -0
  105. package/lib/chain/options.d.ts +5 -2
  106. package/lib/chain/options.d.ts.map +1 -1
  107. package/lib/chain/options.js.map +1 -1
  108. package/lib/chain/produceBlock/produceBlockBody.d.ts +3 -2
  109. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  110. package/lib/chain/produceBlock/produceBlockBody.js +3 -2
  111. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  112. package/lib/chain/proposerTracker.d.ts +31 -0
  113. package/lib/chain/proposerTracker.d.ts.map +1 -0
  114. package/lib/chain/proposerTracker.js +75 -0
  115. package/lib/chain/proposerTracker.js.map +1 -0
  116. package/lib/chain/regen/interface.d.ts +1 -1
  117. package/lib/chain/regen/interface.d.ts.map +1 -1
  118. package/lib/chain/regen/queued.d.ts +1 -1
  119. package/lib/chain/regen/queued.d.ts.map +1 -1
  120. package/lib/chain/regen/queued.js +5 -3
  121. package/lib/chain/regen/queued.js.map +1 -1
  122. package/lib/chain/seenCache/seenGossipBlockInput.d.ts +7 -14
  123. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +1 -1
  124. package/lib/chain/seenCache/seenGossipBlockInput.js +6 -65
  125. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  126. package/lib/chain/validation/executionPayloadEnvelope.d.ts +6 -0
  127. package/lib/chain/validation/executionPayloadEnvelope.d.ts.map +1 -1
  128. package/lib/chain/validation/executionPayloadEnvelope.js +53 -0
  129. package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
  130. package/lib/chain/validation/syncCommittee.d.ts.map +1 -1
  131. package/lib/chain/validation/syncCommittee.js +16 -10
  132. package/lib/chain/validation/syncCommittee.js.map +1 -1
  133. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +1 -1
  134. package/lib/chain/validation/syncCommitteeContributionAndProof.js +11 -0
  135. package/lib/chain/validation/syncCommitteeContributionAndProof.js.map +1 -1
  136. package/lib/chain/validatorMonitor.d.ts +1 -2
  137. package/lib/chain/validatorMonitor.d.ts.map +1 -1
  138. package/lib/chain/validatorMonitor.js +0 -3
  139. package/lib/chain/validatorMonitor.js.map +1 -1
  140. package/lib/db/repositories/blobSidecars.d.ts +0 -1
  141. package/lib/db/repositories/blobSidecars.d.ts.map +1 -1
  142. package/lib/db/repositories/blobSidecars.js +0 -1
  143. package/lib/db/repositories/blobSidecars.js.map +1 -1
  144. package/lib/execution/builder/apiClient.d.ts +14 -8
  145. package/lib/execution/builder/apiClient.d.ts.map +1 -1
  146. package/lib/execution/builder/apiClient.js +12 -10
  147. package/lib/execution/builder/apiClient.js.map +1 -1
  148. package/lib/execution/builder/http.d.ts +2 -0
  149. package/lib/execution/builder/http.d.ts.map +1 -1
  150. package/lib/execution/builder/http.js +2 -0
  151. package/lib/execution/builder/http.js.map +1 -1
  152. package/lib/execution/engine/http.d.ts +4 -6
  153. package/lib/execution/engine/http.d.ts.map +1 -1
  154. package/lib/execution/engine/http.js +8 -10
  155. package/lib/execution/engine/http.js.map +1 -1
  156. package/lib/execution/engine/interface.d.ts +17 -5
  157. package/lib/execution/engine/interface.d.ts.map +1 -1
  158. package/lib/execution/engine/interface.js.map +1 -1
  159. package/lib/execution/engine/jsonRpcTransport.d.ts +2 -4
  160. package/lib/execution/engine/jsonRpcTransport.d.ts.map +1 -1
  161. package/lib/execution/engine/jsonRpcTransport.js +2 -12
  162. package/lib/execution/engine/jsonRpcTransport.js.map +1 -1
  163. package/lib/execution/engine/mock.d.ts +0 -1
  164. package/lib/execution/engine/mock.d.ts.map +1 -1
  165. package/lib/execution/engine/mock.js +0 -4
  166. package/lib/execution/engine/mock.js.map +1 -1
  167. package/lib/execution/engine/restTransport.d.ts +2 -4
  168. package/lib/execution/engine/restTransport.d.ts.map +1 -1
  169. package/lib/execution/engine/restTransport.js +1 -15
  170. package/lib/execution/engine/restTransport.js.map +1 -1
  171. package/lib/execution/engine/sszTypes.d.ts +0 -9
  172. package/lib/execution/engine/sszTypes.d.ts.map +1 -1
  173. package/lib/execution/engine/sszTypes.js +0 -5
  174. package/lib/execution/engine/sszTypes.js.map +1 -1
  175. package/lib/execution/engine/transport.d.ts +1 -14
  176. package/lib/execution/engine/transport.d.ts.map +1 -1
  177. package/lib/execution/engine/types.d.ts +0 -8
  178. package/lib/execution/engine/types.d.ts.map +1 -1
  179. package/lib/execution/engine/types.js +0 -8
  180. package/lib/execution/engine/types.js.map +1 -1
  181. package/lib/execution/engine/utils.d.ts.map +1 -1
  182. package/lib/execution/engine/utils.js +3 -2
  183. package/lib/execution/engine/utils.js.map +1 -1
  184. package/lib/index.d.ts +1 -1
  185. package/lib/index.d.ts.map +1 -1
  186. package/lib/index.js +1 -1
  187. package/lib/index.js.map +1 -1
  188. package/lib/metrics/metrics/beacon.d.ts +0 -9
  189. package/lib/metrics/metrics/beacon.d.ts.map +1 -1
  190. package/lib/metrics/metrics/beacon.js +0 -30
  191. package/lib/metrics/metrics/beacon.js.map +1 -1
  192. package/lib/metrics/metrics/lodestar.d.ts +27 -8
  193. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  194. package/lib/metrics/metrics/lodestar.js +74 -18
  195. package/lib/metrics/metrics/lodestar.js.map +1 -1
  196. package/lib/metrics/server/http.js +5 -5
  197. package/lib/metrics/server/http.js.map +1 -1
  198. package/lib/network/core/networkCore.d.ts +2 -1
  199. package/lib/network/core/networkCore.d.ts.map +1 -1
  200. package/lib/network/core/networkCore.js +4 -0
  201. package/lib/network/core/networkCore.js.map +1 -1
  202. package/lib/network/core/networkCoreWorker.js +1 -0
  203. package/lib/network/core/networkCoreWorker.js.map +1 -1
  204. package/lib/network/core/networkCoreWorkerHandler.d.ts +2 -1
  205. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +1 -1
  206. package/lib/network/core/networkCoreWorkerHandler.js +3 -0
  207. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  208. package/lib/network/core/types.d.ts +4 -1
  209. package/lib/network/core/types.d.ts.map +1 -1
  210. package/lib/network/gossip/gossipsub.d.ts +1 -0
  211. package/lib/network/gossip/gossipsub.d.ts.map +1 -1
  212. package/lib/network/gossip/gossipsub.js +10 -0
  213. package/lib/network/gossip/gossipsub.js.map +1 -1
  214. package/lib/network/gossip/interface.d.ts +1 -8
  215. package/lib/network/gossip/interface.d.ts.map +1 -1
  216. package/lib/network/gossip/interface.js +0 -1
  217. package/lib/network/gossip/interface.js.map +1 -1
  218. package/lib/network/gossip/topic.d.ts +0 -16
  219. package/lib/network/gossip/topic.d.ts.map +1 -1
  220. package/lib/network/gossip/topic.js +0 -23
  221. package/lib/network/gossip/topic.js.map +1 -1
  222. package/lib/network/interface.d.ts +2 -5
  223. package/lib/network/interface.d.ts.map +1 -1
  224. package/lib/network/network.d.ts +6 -7
  225. package/lib/network/network.d.ts.map +1 -1
  226. package/lib/network/network.js +50 -37
  227. package/lib/network/network.js.map +1 -1
  228. package/lib/network/options.d.ts.map +1 -1
  229. package/lib/network/options.js +2 -0
  230. package/lib/network/options.js.map +1 -1
  231. package/lib/network/peers/peerManager.d.ts.map +1 -1
  232. package/lib/network/peers/peerManager.js +28 -1
  233. package/lib/network/peers/peerManager.js.map +1 -1
  234. package/lib/network/peers/utils/prioritizePeers.d.ts +4 -1
  235. package/lib/network/peers/utils/prioritizePeers.d.ts.map +1 -1
  236. package/lib/network/peers/utils/prioritizePeers.js +8 -16
  237. package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
  238. package/lib/network/peers/utils/subnetMap.d.ts +5 -2
  239. package/lib/network/peers/utils/subnetMap.d.ts.map +1 -1
  240. package/lib/network/peers/utils/subnetMap.js +6 -3
  241. package/lib/network/peers/utils/subnetMap.js.map +1 -1
  242. package/lib/network/processor/extractSlotRootFns.d.ts.map +1 -1
  243. package/lib/network/processor/extractSlotRootFns.js +1 -8
  244. package/lib/network/processor/extractSlotRootFns.js.map +1 -1
  245. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  246. package/lib/network/processor/gossipHandlers.js +43 -123
  247. package/lib/network/processor/gossipHandlers.js.map +1 -1
  248. package/lib/network/processor/gossipQueues/index.d.ts.map +1 -1
  249. package/lib/network/processor/gossipQueues/index.js +0 -6
  250. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  251. package/lib/network/processor/gossipValidatorFn.d.ts.map +1 -1
  252. package/lib/network/processor/gossipValidatorFn.js +1 -5
  253. package/lib/network/processor/gossipValidatorFn.js.map +1 -1
  254. package/lib/network/processor/index.d.ts +6 -0
  255. package/lib/network/processor/index.d.ts.map +1 -1
  256. package/lib/network/processor/index.js +29 -4
  257. package/lib/network/processor/index.js.map +1 -1
  258. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +1 -1
  259. package/lib/network/reqresp/ReqRespBeaconNode.js +0 -3
  260. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  261. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts +2 -2
  262. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +1 -1
  263. package/lib/network/reqresp/handlers/index.d.ts.map +1 -1
  264. package/lib/network/reqresp/handlers/index.js +1 -12
  265. package/lib/network/reqresp/handlers/index.js.map +1 -1
  266. package/lib/network/reqresp/protocols.d.ts +0 -2
  267. package/lib/network/reqresp/protocols.d.ts.map +1 -1
  268. package/lib/network/reqresp/protocols.js +0 -10
  269. package/lib/network/reqresp/protocols.js.map +1 -1
  270. package/lib/network/reqresp/rateLimit.d.ts.map +1 -1
  271. package/lib/network/reqresp/rateLimit.js +1 -17
  272. package/lib/network/reqresp/rateLimit.js.map +1 -1
  273. package/lib/network/reqresp/types.d.ts +2 -8
  274. package/lib/network/reqresp/types.d.ts.map +1 -1
  275. package/lib/network/reqresp/types.js +1 -7
  276. package/lib/network/reqresp/types.js.map +1 -1
  277. package/lib/network/subnets/attnetsService.d.ts +35 -5
  278. package/lib/network/subnets/attnetsService.d.ts.map +1 -1
  279. package/lib/network/subnets/attnetsService.js +84 -6
  280. package/lib/network/subnets/attnetsService.js.map +1 -1
  281. package/lib/network/subnets/interface.d.ts +7 -0
  282. package/lib/network/subnets/interface.d.ts.map +1 -1
  283. package/lib/network/subnets/interface.js.map +1 -1
  284. package/lib/node/nodejs.d.ts +2 -0
  285. package/lib/node/nodejs.d.ts.map +1 -1
  286. package/lib/node/nodejs.js +37 -19
  287. package/lib/node/nodejs.js.map +1 -1
  288. package/lib/node/options.d.ts +3 -1
  289. package/lib/node/options.d.ts.map +1 -1
  290. package/lib/node/options.js +4 -2
  291. package/lib/node/options.js.map +1 -1
  292. package/lib/sync/range/batch.d.ts +2 -3
  293. package/lib/sync/range/batch.d.ts.map +1 -1
  294. package/lib/sync/range/batch.js +9 -22
  295. package/lib/sync/range/batch.js.map +1 -1
  296. package/lib/sync/range/chain.d.ts.map +1 -1
  297. package/lib/sync/range/chain.js +2 -15
  298. package/lib/sync/range/chain.js.map +1 -1
  299. package/lib/sync/sync.d.ts +8 -0
  300. package/lib/sync/sync.d.ts.map +1 -1
  301. package/lib/sync/sync.js +42 -22
  302. package/lib/sync/sync.js.map +1 -1
  303. package/lib/sync/unknownBlock.d.ts.map +1 -1
  304. package/lib/sync/unknownBlock.js +1 -7
  305. package/lib/sync/unknownBlock.js.map +1 -1
  306. package/lib/sync/utils/downloadByRange.d.ts +6 -34
  307. package/lib/sync/utils/downloadByRange.d.ts.map +1 -1
  308. package/lib/sync/utils/downloadByRange.js +24 -128
  309. package/lib/sync/utils/downloadByRange.js.map +1 -1
  310. package/lib/sync/utils/downloadByRoot.d.ts +2 -18
  311. package/lib/sync/utils/downloadByRoot.d.ts.map +1 -1
  312. package/lib/sync/utils/downloadByRoot.js +14 -99
  313. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  314. package/lib/util/blobs.d.ts +1 -7
  315. package/lib/util/blobs.d.ts.map +1 -1
  316. package/lib/util/blobs.js +0 -19
  317. package/lib/util/blobs.js.map +1 -1
  318. package/lib/util/execution.d.ts +3 -4
  319. package/lib/util/execution.d.ts.map +1 -1
  320. package/lib/util/execution.js +1 -73
  321. package/lib/util/execution.js.map +1 -1
  322. package/lib/util/sszBytes.d.ts +5 -1
  323. package/lib/util/sszBytes.d.ts.map +1 -1
  324. package/lib/util/sszBytes.js +34 -17
  325. package/lib/util/sszBytes.js.map +1 -1
  326. package/lib/util/types.d.ts +0 -5
  327. package/lib/util/types.d.ts.map +1 -1
  328. package/lib/util/types.js +1 -2
  329. package/lib/util/types.js.map +1 -1
  330. package/package.json +16 -16
  331. package/src/api/impl/beacon/blocks/index.ts +24 -64
  332. package/src/api/impl/beacon/pool/index.ts +26 -0
  333. package/src/api/impl/validator/index.ts +43 -29
  334. package/src/chain/GetBlobsTracker.ts +10 -39
  335. package/src/chain/blocks/blockInput/blockInput.ts +11 -343
  336. package/src/chain/blocks/blockInput/errors.ts +1 -2
  337. package/src/chain/blocks/blockInput/types.ts +2 -20
  338. package/src/chain/blocks/importBlock.ts +56 -72
  339. package/src/chain/blocks/importExecutionPayload.ts +42 -13
  340. package/src/chain/blocks/index.ts +5 -2
  341. package/src/chain/blocks/types.ts +5 -31
  342. package/src/chain/blocks/verifyBlock.ts +30 -16
  343. package/src/chain/blocks/verifyBlocksDataAvailability.ts +6 -1
  344. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +9 -6
  345. package/src/chain/blocks/verifyBlocksSanityChecks.ts +4 -1
  346. package/src/chain/blocks/verifyBlocksSignatures.ts +10 -5
  347. package/src/chain/blocks/writeBlockInputToDb.ts +6 -29
  348. package/src/chain/bls/interface.ts +2 -0
  349. package/src/chain/bls/multithread/index.ts +43 -19
  350. package/src/chain/chain.ts +135 -37
  351. package/src/chain/emitter.ts +8 -8
  352. package/src/chain/errors/executionPayloadEnvelope.ts +8 -0
  353. package/src/chain/errors/index.ts +0 -1
  354. package/src/chain/forkChoice/index.ts +11 -0
  355. package/src/chain/forkChoiceExecutionEngine.ts +183 -0
  356. package/src/chain/interface.ts +7 -3
  357. package/src/chain/opPools/aggregatedAttestationPool.ts +222 -35
  358. package/src/chain/opPools/index.ts +1 -0
  359. package/src/chain/opPools/singleAttestationPool.ts +287 -0
  360. package/src/chain/options.ts +5 -2
  361. package/src/chain/produceBlock/produceBlockBody.ts +7 -3
  362. package/src/chain/proposerTracker.ts +94 -0
  363. package/src/chain/regen/interface.ts +1 -1
  364. package/src/chain/regen/queued.ts +6 -4
  365. package/src/chain/seenCache/seenGossipBlockInput.ts +9 -93
  366. package/src/chain/validation/executionPayloadEnvelope.ts +68 -1
  367. package/src/chain/validation/syncCommittee.ts +31 -15
  368. package/src/chain/validation/syncCommitteeContributionAndProof.ts +13 -0
  369. package/src/chain/validatorMonitor.ts +0 -6
  370. package/src/db/repositories/blobSidecars.ts +0 -1
  371. package/src/execution/builder/apiClient.ts +16 -13
  372. package/src/execution/builder/http.ts +4 -0
  373. package/src/execution/engine/http.ts +19 -42
  374. package/src/execution/engine/interface.ts +18 -9
  375. package/src/execution/engine/jsonRpcTransport.ts +10 -22
  376. package/src/execution/engine/mock.ts +0 -7
  377. package/src/execution/engine/restTransport.ts +3 -22
  378. package/src/execution/engine/sszTypes.ts +0 -9
  379. package/src/execution/engine/transport.ts +8 -17
  380. package/src/execution/engine/types.ts +0 -17
  381. package/src/execution/engine/utils.ts +4 -2
  382. package/src/index.ts +1 -1
  383. package/src/metrics/metrics/beacon.ts +0 -30
  384. package/src/metrics/metrics/lodestar.ts +75 -18
  385. package/src/metrics/server/http.ts +5 -5
  386. package/src/network/core/networkCore.ts +6 -1
  387. package/src/network/core/networkCoreWorker.ts +1 -0
  388. package/src/network/core/networkCoreWorkerHandler.ts +4 -1
  389. package/src/network/core/types.ts +4 -1
  390. package/src/network/gossip/gossipsub.ts +11 -0
  391. package/src/network/gossip/interface.ts +0 -5
  392. package/src/network/gossip/topic.ts +0 -25
  393. package/src/network/interface.ts +0 -5
  394. package/src/network/network.ts +50 -60
  395. package/src/network/options.ts +2 -0
  396. package/src/network/peers/peerManager.ts +27 -2
  397. package/src/network/peers/utils/prioritizePeers.ts +14 -22
  398. package/src/network/peers/utils/subnetMap.ts +6 -3
  399. package/src/network/processor/extractSlotRootFns.ts +0 -9
  400. package/src/network/processor/gossipHandlers.ts +56 -156
  401. package/src/network/processor/gossipQueues/index.ts +0 -6
  402. package/src/network/processor/gossipValidatorFn.ts +0 -5
  403. package/src/network/processor/index.ts +25 -4
  404. package/src/network/reqresp/ReqRespBeaconNode.ts +0 -7
  405. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +2 -2
  406. package/src/network/reqresp/handlers/index.ts +0 -17
  407. package/src/network/reqresp/protocols.ts +0 -12
  408. package/src/network/reqresp/rateLimit.ts +1 -17
  409. package/src/network/reqresp/types.ts +0 -13
  410. package/src/network/subnets/attnetsService.ts +94 -6
  411. package/src/network/subnets/interface.ts +7 -0
  412. package/src/node/nodejs.ts +34 -15
  413. package/src/node/options.ts +5 -1
  414. package/src/sync/range/batch.ts +9 -21
  415. package/src/sync/range/chain.ts +2 -14
  416. package/src/sync/sync.ts +43 -22
  417. package/src/sync/unknownBlock.ts +1 -8
  418. package/src/sync/utils/downloadByRange.ts +31 -230
  419. package/src/sync/utils/downloadByRoot.ts +15 -142
  420. package/src/util/blobs.ts +0 -34
  421. package/src/util/execution.ts +8 -102
  422. package/src/util/sszBytes.ts +40 -22
  423. package/src/util/types.ts +1 -8
  424. package/lib/chain/errors/blobSidecarError.d.ts +0 -108
  425. package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
  426. package/lib/chain/errors/blobSidecarError.js +0 -38
  427. package/lib/chain/errors/blobSidecarError.js.map +0 -1
  428. package/lib/chain/validation/blobSidecar.d.ts +0 -16
  429. package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
  430. package/lib/chain/validation/blobSidecar.js +0 -276
  431. package/lib/chain/validation/blobSidecar.js.map +0 -1
  432. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts +0 -9
  433. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
  434. package/lib/network/reqresp/handlers/blobSidecarsByRange.js +0 -91
  435. package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +0 -1
  436. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts +0 -5
  437. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
  438. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js +0 -46
  439. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +0 -1
  440. package/src/chain/errors/blobSidecarError.ts +0 -70
  441. package/src/chain/validation/blobSidecar.ts +0 -357
  442. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -133
  443. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -69
@@ -0,0 +1,51 @@
1
+ import { IForkChoice, LVHInvalidResponse } from "@lodestar/fork-choice";
2
+ import { ForkName, ForkPostFulu } from "@lodestar/params";
3
+ import { RootHex, bellatrix } from "@lodestar/types";
4
+ import { BlobAndProofV2 } from "@lodestar/types/fulu";
5
+ import { Logger } from "@lodestar/utils";
6
+ import { ExecutionPayloadBodyV2 } from "../execution/engine/types.js";
7
+ import { DATA } from "../execution/engine/utils.js";
8
+ import { ClientVersion, ExecutionEngineState, IExecutionEngine, PayloadAttributes, PayloadId, PayloadIdCache, VersionedHashes } from "../execution/index.js";
9
+ import { Metrics } from "../metrics/index.js";
10
+ import { ExecutionInvalidSource } from "./forkChoice/index.js";
11
+ export type ForkChoiceExecutionEngineModules = {
12
+ forkChoice: IForkChoice;
13
+ /** Recompute and switch the chain head, fork choice is already updated when this runs */
14
+ recomputeHeadAfterELInvalidResponse: () => void;
15
+ logger: Logger;
16
+ metrics: Metrics | null;
17
+ };
18
+ /**
19
+ * The only handle on the execution engine. Payloads are imported optimistically, so every engine verdict that can
20
+ * change fork choice is applied here.
21
+ */
22
+ export declare class ForkChoiceExecutionEngine {
23
+ private readonly engine;
24
+ private readonly forkChoice;
25
+ private readonly recomputeHeadAfterELInvalidResponse;
26
+ private readonly logger;
27
+ private readonly metrics;
28
+ constructor(engine: IExecutionEngine, modules: ForkChoiceExecutionEngineModules);
29
+ get state(): ExecutionEngineState;
30
+ get clientVersion(): ClientVersion | null | undefined;
31
+ get payloadIdCache(): PayloadIdCache;
32
+ notifyNewPayload(...args: Parameters<IExecutionEngine["notifyNewPayload"]>): ReturnType<IExecutionEngine["notifyNewPayload"]>;
33
+ /**
34
+ * `headBlockRoot` is the root of the node whose payload hash is sent as `headBlockHash`, captured by the caller
35
+ * before the call: root and hash identify the exact fork choice node, gloas variant included.
36
+ *
37
+ * The verdict is applied to fork choice before returning. An INVALID verdict throws when preparing a payload so
38
+ * block production fails, otherwise it resolves to null.
39
+ */
40
+ notifyForkchoiceUpdate(fork: ForkName, headBlockRoot: RootHex, headBlockHash: RootHex, safeBlockHash: RootHex, finalizedBlockHash: RootHex, payloadAttributes?: PayloadAttributes): Promise<PayloadId | null>;
41
+ getPayload(...args: Parameters<IExecutionEngine["getPayload"]>): ReturnType<IExecutionEngine["getPayload"]>;
42
+ getInclusionList(): Promise<bellatrix.Transactions>;
43
+ getPayloadBodiesByHashV2(blockHashes: DATA[]): Promise<(ExecutionPayloadBodyV2 | null)[]>;
44
+ getBlobs(fork: ForkPostFulu, versionedHashes: VersionedHashes, buffers?: Uint8Array[]): Promise<BlobAndProofV2[] | null>;
45
+ /**
46
+ * Apply an execution engine INVALID verdict to fork choice and move the chain head off the invalid chain
47
+ */
48
+ invalidateExecutionPayloads(lvh: LVHInvalidResponse, source: ExecutionInvalidSource): void;
49
+ private applyForkchoiceUpdatedResult;
50
+ }
51
+ //# sourceMappingURL=forkChoiceExecutionEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forkChoiceExecutionEngine.d.ts","sourceRoot":"","sources":["../../src/chain/forkChoiceExecutionEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,WAAW,EAAE,kBAAkB,EAAC,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAC,QAAQ,EAAE,YAAY,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,OAAO,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAC,sBAAsB,EAAC,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAC,IAAI,EAAC,MAAM,8BAA8B,CAAC;AAClD,OAAO,EACL,aAAa,EACb,oBAAoB,EAGpB,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,OAAO,EAAC,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAC,sBAAsB,EAAC,MAAM,uBAAuB,CAAC;AAE7D,MAAM,MAAM,gCAAgC,GAAG;IAC7C,UAAU,EAAE,WAAW,CAAC;IACxB,yFAAyF;IACzF,mCAAmC,EAAE,MAAM,IAAI,CAAC;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF;;;GAGG;AACH,qBAAa,yBAAyB;IAOlC,OAAO,CAAC,QAAQ,CAAC,MAAM;IANzB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,OAAO,CAAC,QAAQ,CAAC,mCAAmC,CAAa;IACjE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IAEzC,YACmB,MAAM,EAAE,gBAAgB,EACzC,OAAO,EAAE,gCAAgC,EAM1C;IAED,IAAI,KAAK,IAAI,oBAAoB,CAEhC;IAED,IAAI,aAAa,IAAI,aAAa,GAAG,IAAI,GAAG,SAAS,CAEpD;IAED,IAAI,cAAc,IAAI,cAAc,CAEnC;IAED,gBAAgB,CACd,GAAG,IAAI,EAAE,UAAU,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,GACxD,UAAU,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,CAElD;IAED;;;;;;OAMG;IACG,sBAAsB,CAC1B,IAAI,EAAE,QAAQ,EACd,aAAa,EAAE,OAAO,EACtB,aAAa,EAAE,OAAO,EACtB,aAAa,EAAE,OAAO,EACtB,kBAAkB,EAAE,OAAO,EAC3B,iBAAiB,CAAC,EAAE,iBAAiB,GACpC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAiB3B;IAED,UAAU,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,GAAG,UAAU,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAE1G;IAED,gBAAgB,IAAI,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAElD;IAED,wBAAwB,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC,sBAAsB,GAAG,IAAI,CAAC,EAAE,CAAC,CAExF;IAED,QAAQ,CACN,IAAI,EAAE,YAAY,EAClB,eAAe,EAAE,eAAe,EAChC,OAAO,CAAC,EAAE,UAAU,EAAE,GACrB,OAAO,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,CAElC;IAED;;OAEG;IACH,2BAA2B,CAAC,GAAG,EAAE,kBAAkB,EAAE,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAoBzF;IAED,OAAO,CAAC,4BAA4B;CAqCrC"}
@@ -0,0 +1,117 @@
1
+ import { ExecutionStatus } from "@lodestar/fork-choice";
2
+ import { ExecutionPayloadStatus, } from "../execution/index.js";
3
+ import { ExecutionInvalidSource } from "./forkChoice/index.js";
4
+ /**
5
+ * The only handle on the execution engine. Payloads are imported optimistically, so every engine verdict that can
6
+ * change fork choice is applied here.
7
+ */
8
+ export class ForkChoiceExecutionEngine {
9
+ engine;
10
+ forkChoice;
11
+ recomputeHeadAfterELInvalidResponse;
12
+ logger;
13
+ metrics;
14
+ constructor(engine, modules) {
15
+ this.engine = engine;
16
+ this.forkChoice = modules.forkChoice;
17
+ this.recomputeHeadAfterELInvalidResponse = modules.recomputeHeadAfterELInvalidResponse;
18
+ this.logger = modules.logger;
19
+ this.metrics = modules.metrics;
20
+ }
21
+ get state() {
22
+ return this.engine.state;
23
+ }
24
+ get clientVersion() {
25
+ return this.engine.clientVersion;
26
+ }
27
+ get payloadIdCache() {
28
+ return this.engine.payloadIdCache;
29
+ }
30
+ notifyNewPayload(...args) {
31
+ return this.engine.notifyNewPayload(...args);
32
+ }
33
+ /**
34
+ * `headBlockRoot` is the root of the node whose payload hash is sent as `headBlockHash`, captured by the caller
35
+ * before the call: root and hash identify the exact fork choice node, gloas variant included.
36
+ *
37
+ * The verdict is applied to fork choice before returning. An INVALID verdict throws when preparing a payload so
38
+ * block production fails, otherwise it resolves to null.
39
+ */
40
+ async notifyForkchoiceUpdate(fork, headBlockRoot, headBlockHash, safeBlockHash, finalizedBlockHash, payloadAttributes) {
41
+ const result = await this.engine.notifyForkchoiceUpdate(fork, headBlockHash, safeBlockHash, finalizedBlockHash, payloadAttributes);
42
+ this.applyForkchoiceUpdatedResult(headBlockRoot, headBlockHash, result);
43
+ if (result.payloadStatus.status === ExecutionPayloadStatus.INVALID) {
44
+ if (payloadAttributes) {
45
+ throw Error(`Invalid prepare payload, validationError=${result.payloadStatus.validationError ?? ""}`);
46
+ }
47
+ return null;
48
+ }
49
+ return result.payloadId;
50
+ }
51
+ getPayload(...args) {
52
+ return this.engine.getPayload(...args);
53
+ }
54
+ getInclusionList() {
55
+ return this.engine.getInclusionList();
56
+ }
57
+ getPayloadBodiesByHashV2(blockHashes) {
58
+ return this.engine.getPayloadBodiesByHashV2(blockHashes);
59
+ }
60
+ getBlobs(fork, versionedHashes, buffers) {
61
+ return this.engine.getBlobs(fork, versionedHashes, buffers);
62
+ }
63
+ /**
64
+ * Apply an execution engine INVALID verdict to fork choice and move the chain head off the invalid chain
65
+ */
66
+ invalidateExecutionPayloads(lvh, source) {
67
+ const logCtx = {
68
+ source,
69
+ blockRoot: lvh.invalidateFromParentBlockRoot,
70
+ blockHash: lvh.invalidateFromParentBlockHash,
71
+ latestValidHash: lvh.latestValidExecHash ?? "null",
72
+ };
73
+ const applied = this.forkChoice.validateLatestHash(lvh, { strict: source === ExecutionInvalidSource.blockSegment });
74
+ if (!applied) {
75
+ this.logger.warn("Execution engine INVALID verdict not applied to fork choice", logCtx);
76
+ return;
77
+ }
78
+ this.metrics?.forkChoice.executionInvalidations.inc({ source });
79
+ this.logger.warn("Invalidated execution payloads in fork choice", logCtx);
80
+ try {
81
+ this.recomputeHeadAfterELInvalidResponse();
82
+ }
83
+ catch (e) {
84
+ this.logger.error("Error recomputing head after execution payload invalidation", logCtx, e);
85
+ }
86
+ }
87
+ applyForkchoiceUpdatedResult(headBlockRoot, headBlockHash, result) {
88
+ const { status, latestValidHash, validationError } = result.payloadStatus;
89
+ const executionStatus = this.forkChoice.getBlockHexAndBlockHash(headBlockRoot, headBlockHash)?.executionStatus;
90
+ try {
91
+ if (status === ExecutionPayloadStatus.INVALID) {
92
+ if (executionStatus === ExecutionStatus.Invalid) {
93
+ return;
94
+ }
95
+ this.logger.error("Execution engine reported INVALID forkchoice head", {
96
+ headBlockRoot,
97
+ headBlockHash,
98
+ latestValidHash: latestValidHash ?? "null",
99
+ validationError: validationError ?? "",
100
+ });
101
+ this.invalidateExecutionPayloads({
102
+ executionStatus: ExecutionStatus.Invalid,
103
+ latestValidExecHash: latestValidHash,
104
+ invalidateFromParentBlockRoot: headBlockRoot,
105
+ invalidateFromParentBlockHash: headBlockHash,
106
+ }, ExecutionInvalidSource.forkchoiceUpdated);
107
+ }
108
+ else if (status === ExecutionPayloadStatus.VALID && executionStatus === ExecutionStatus.Syncing) {
109
+ this.forkChoice.validateLatestHash({ executionStatus: ExecutionStatus.Valid, latestValidExecHash: headBlockHash, blockRoot: headBlockRoot }, { strict: false });
110
+ }
111
+ }
112
+ catch (e) {
113
+ this.logger.error("Error applying forkchoice update result", { headBlockRoot, headBlockHash, status }, e);
114
+ }
115
+ }
116
+ }
117
+ //# sourceMappingURL=forkChoiceExecutionEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forkChoiceExecutionEngine.js","sourceRoot":"","sources":["../../src/chain/forkChoiceExecutionEngine.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { EpochShuffling, IBeaconStateView } from "@lodestar/state-transition";
6
6
  import { BeaconBlock, BlindedBeaconBlock, DataColumnSidecar, Epoch, Root, RootHex, SignedBeaconBlock, Slot, Status, UintNum64, ValidatorIndex, Wei, altair, capella, deneb, gloas, phase0, rewards } from "@lodestar/types";
7
7
  import { Logger } from "@lodestar/utils";
8
8
  import { BuilderApiClient } from "../execution/builder/apiClient.js";
9
- import { IExecutionBuilder, IExecutionEngine } from "../execution/index.js";
9
+ import { IExecutionBuilder } from "../execution/index.js";
10
10
  import { Metrics } from "../metrics/metrics.js";
11
11
  import { BufferPool } from "../util/bufferPool.js";
12
12
  import { IClock } from "../util/clock.js";
@@ -23,12 +23,14 @@ import { BuilderCircuitBreaker } from "./builderCircuitBreaker.js";
23
23
  import { ColumnReconstructionTracker } from "./ColumnReconstructionTracker.js";
24
24
  import { ChainEventEmitter } from "./emitter.js";
25
25
  import { ForkchoiceCaller } from "./forkChoice/index.js";
26
+ import { ForkChoiceExecutionEngine } from "./forkChoiceExecutionEngine.js";
26
27
  import { GetBlobsTracker } from "./GetBlobsTracker.js";
27
28
  import { LightClientServer } from "./lightClient/index.js";
28
29
  import { AggregatedAttestationPool } from "./opPools/aggregatedAttestationPool.js";
29
- import { AttestationPool, DeferredVoluntaryExitPool, ExecutionPayloadBidPool, InclusionListStore, OpPool, PayloadAttestationPool, ProposerPreferencesPool, SyncCommitteeMessagePool, SyncContributionAndProofPool } from "./opPools/index.js";
30
+ import { AttestationPool, DeferredVoluntaryExitPool, ExecutionPayloadBidPool, InclusionListStore, OpPool, PayloadAttestationPool, ProposerPreferencesPool, SingleAttestationPool, SyncCommitteeMessagePool, SyncContributionAndProofPool } from "./opPools/index.js";
30
31
  import { IChainOptions } from "./options.js";
31
32
  import { AssembledBlockType, BlockAttributes, BlockType, ProduceResult } from "./produceBlock/produceBlockBody.js";
33
+ import { ProposerTracker } from "./proposerTracker.js";
32
34
  import { IStateRegenerator, RegenCaller } from "./regen/index.js";
33
35
  import { ReprocessController } from "./reprocess.js";
34
36
  import { SeenAggregators, SeenAttesters, SeenBlockProposers, SeenContributionAndProof, SeenExecutionPayloadBids, SeenPayloadAttesters, SeenSyncCommitteeMessages } from "./seenCache/index.js";
@@ -57,7 +59,7 @@ export interface IBeaconChain {
57
59
  readonly genesisTime: UintNum64;
58
60
  readonly genesisValidatorsRoot: Root;
59
61
  earliestAvailableSlot: Slot;
60
- readonly executionEngine: IExecutionEngine;
62
+ readonly executionEngine: ForkChoiceExecutionEngine;
61
63
  readonly executionBuilder?: IExecutionBuilder;
62
64
  readonly builderCircuitBreaker: BuilderCircuitBreaker;
63
65
  readonly builderApiClient: BuilderApiClient;
@@ -80,6 +82,8 @@ export interface IBeaconChain {
80
82
  readonly archiveStore: IArchiveStore;
81
83
  readonly attestationPool: AttestationPool;
82
84
  readonly aggregatedAttestationPool: AggregatedAttestationPool;
85
+ readonly singleAttestationPool: SingleAttestationPool;
86
+ readonly proposerTracker: ProposerTracker;
83
87
  readonly syncCommitteeMessagePool: SyncCommitteeMessagePool;
84
88
  readonly syncContributionAndProofPool: SyncContributionAndProofPool;
85
89
  readonly executionPayloadBidPool: ExecutionPayloadBidPool;
@@ -184,7 +188,6 @@ export interface IBeaconChain {
184
188
  finalized: boolean;
185
189
  } | null>;
186
190
  getBlobSidecars(blockSlot: Slot, blockRootHex: string): Promise<deneb.BlobSidecars | null>;
187
- getSerializedBlobSidecars(blockSlot: Slot, blockRootHex: string): Promise<Uint8Array | null>;
188
191
  getDataColumnSidecars(blockSlot: Slot, blockRootHex: string): Promise<DataColumnSidecar[]>;
189
192
  getSerializedDataColumnSidecars(blockSlot: Slot, blockRootHex: string, indices: number[]): Promise<(Uint8Array | undefined)[]>;
190
193
  getSerializedExecutionPayloadEnvelope(blockSlot: Slot, blockRootHex: string): Promise<Uint8Array | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/chain/interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/chain/interface.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/chain/interface.ts"],"names":[],"mappings":"AA2DA,OAAO,EAAsC,SAAS,EAAgB,MAAM,oCAAoC,CAAC;AAoBjH,OAAO,EAA0B,SAAS,EAA+B,CAAC;AAO1E,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,qEAAmD,CAAA;IACnD,6DAA2C,CAAA;IAC3C,qDAAmC,CAAA;AACrC,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB"}
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/chain/interface.ts"],"names":[],"mappings":"AA6DA,OAAO,EAAsC,SAAS,EAAgB,MAAM,oCAAoC,CAAC;AAqBjH,OAAO,EAA0B,SAAS,EAA+B,CAAC;AAO1E,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,qEAAmD,CAAA;IACnD,6DAA2C,CAAA;IAC3C,qDAAmC,CAAA;AACrC,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB"}
@@ -6,6 +6,7 @@ import { Attestation, Epoch, RootHex, Slot, electra, phase0 } from "@lodestar/ty
6
6
  import { Logger } from "@lodestar/utils";
7
7
  import { Metrics } from "../../metrics/metrics.js";
8
8
  import { ShufflingCache } from "../shufflingCache.js";
9
+ import { SingleAttestationPool, SinglesForCommittee } from "./singleAttestationPool.js";
9
10
  import { InsertOutcome } from "./types.js";
10
11
  type CommitteeIndex = number;
11
12
  /**
@@ -14,12 +15,23 @@ type CommitteeIndex = number;
14
15
  */
15
16
  export type AttestationsConsolidation = {
16
17
  byCommittee: Map<CommitteeIndex, AttestationNonParticipant>;
18
+ /**
19
+ * Single attestations of committee members that no aggregate in `byCommittee` covers, a committee may have both.
20
+ * Disjoint from `byCommittee` by construction so the signatures can be aggregated together
21
+ */
22
+ singlesByCommittee: Map<CommitteeIndex, SinglesForCommittee>;
17
23
  attData: phase0.AttestationData;
18
24
  totalNewSeenEffectiveBalance: number;
19
25
  newSeenAttesters: number;
20
26
  notSeenAttesters: number;
21
27
  /** total number of attesters across all committees in this consolidation */
22
28
  totalAttesters: number;
29
+ /** part of `totalNewSeenEffectiveBalance` contributed by `singlesByCommittee` */
30
+ singlesNewSeenEffectiveBalance: number;
31
+ /** part of `newSeenAttesters` contributed by `singlesByCommittee` */
32
+ singlesNewSeenAttesters: number;
33
+ /** sum of participation flag weights this consolidation earns, set when scoring */
34
+ weight: number;
23
35
  };
24
36
  /**
25
37
  * This function returns not seen participation for a given epoch and slot and committee index.
@@ -67,11 +79,12 @@ export declare class AggregatedAttestationPool {
67
79
  add(attestation: Attestation, dataRootHex: RootHex, attestingIndicesCount: number, committee: Uint32Array): InsertOutcome;
68
80
  /** Remove attestations which are too old to be included in a block. */
69
81
  prune(clockSlot: Slot): void;
70
- getAttestationsForBlock(fork: ForkName, forkChoice: IForkChoice, shufflingCache: ShufflingCache, state: IBeaconStateView): Attestation[];
82
+ getAttestationsForBlock(fork: ForkName, forkChoice: IForkChoice, shufflingCache: ShufflingCache, state: IBeaconStateView, singleAttestationPool: SingleAttestationPool): Attestation[];
71
83
  /**
72
- * Get attestations to be included in an electra block. Returns up to $MAX_ATTESTATIONS_ELECTRA items
84
+ * Get attestations to be included in an electra block. Returns up to $MAX_ATTESTATIONS_ELECTRA items.
85
+ * Single attestations fill committee members that no picked aggregate covers, see `addSinglesToConsolidation`
73
86
  */
74
- getAttestationsForBlockElectra(fork: ForkName, forkChoice: IForkChoice, shufflingCache: ShufflingCache, state: IBeaconStateView): electra.Attestation[];
87
+ getAttestationsForBlockElectra(fork: ForkName, forkChoice: IForkChoice, shufflingCache: ShufflingCache, state: IBeaconStateView, singleAttestationPool: SingleAttestationPool): electra.Attestation[];
75
88
  /**
76
89
  * Get all attestations optionally filtered by `attestation.data.slot`
77
90
  * Note this function is not fork aware and can potentially return a mix
@@ -136,7 +149,7 @@ export declare function aggregateInto(attestation1: AttestationWithIndex, attest
136
149
  * attestation data from different committee into a single attestation
137
150
  * https://github.com/ethereum/consensus-specs/blob/aba6345776aa876dad368cab27fbbb23fae20455/specs/_features/eip7549/validator.md?plain=1#L39
138
151
  */
139
- export declare function aggregateConsolidation({ byCommittee, attData }: AttestationsConsolidation): electra.Attestation;
152
+ export declare function aggregateConsolidation({ byCommittee, singlesByCommittee, attData, }: AttestationsConsolidation): electra.Attestation;
140
153
  /**
141
154
  * Pre-compute participation from a IBeaconStateView, for use to check if an attestation's committee
142
155
  * has already attested or not.
@@ -1 +1 @@
1
- {"version":3,"file":"aggregatedAttestationPool.d.ts","sourceRoot":"","sources":["../../../src/chain/opPools/aggregatedAttestationPool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aggregatedAttestationPool.d.ts","sourceRoot":"","sources":["../../../src/chain/opPools/aggregatedAttestationPool.ts"],"names":[],"mappings":"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"}