@lodestar/beacon-node 1.51.0-dev.fac22802f6 → 1.51.0-dev.fb216e169a

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 (479) 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 +6 -10
  30. package/lib/chain/blocks/importExecutionPayload.d.ts.map +1 -1
  31. package/lib/chain/blocks/importExecutionPayload.js +26 -17
  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/payloadEnvelopeProcessor.d.ts +10 -7
  37. package/lib/chain/blocks/payloadEnvelopeProcessor.d.ts.map +1 -1
  38. package/lib/chain/blocks/payloadEnvelopeProcessor.js +21 -16
  39. package/lib/chain/blocks/payloadEnvelopeProcessor.js.map +1 -1
  40. package/lib/chain/blocks/types.d.ts +4 -20
  41. package/lib/chain/blocks/types.d.ts.map +1 -1
  42. package/lib/chain/blocks/types.js +0 -24
  43. package/lib/chain/blocks/types.js.map +1 -1
  44. package/lib/chain/blocks/verifyBlock.d.ts.map +1 -1
  45. package/lib/chain/blocks/verifyBlock.js +17 -6
  46. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  47. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +1 -1
  48. package/lib/chain/blocks/verifyBlocksDataAvailability.js +6 -1
  49. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  50. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts +1 -1
  51. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +1 -1
  52. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +7 -3
  53. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  54. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +1 -1
  55. package/lib/chain/blocks/verifyBlocksSanityChecks.js +4 -0
  56. package/lib/chain/blocks/verifyBlocksSanityChecks.js.map +1 -1
  57. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +1 -1
  58. package/lib/chain/blocks/verifyBlocksSignatures.js +10 -5
  59. package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
  60. package/lib/chain/blocks/verifyPayloadsDataAvailability.d.ts.map +1 -1
  61. package/lib/chain/blocks/verifyPayloadsDataAvailability.js +1 -3
  62. package/lib/chain/blocks/verifyPayloadsDataAvailability.js.map +1 -1
  63. package/lib/chain/blocks/writeBlockInputToDb.d.ts +0 -2
  64. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +1 -1
  65. package/lib/chain/blocks/writeBlockInputToDb.js +6 -24
  66. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  67. package/lib/chain/bls/interface.d.ts +2 -0
  68. package/lib/chain/bls/interface.d.ts.map +1 -1
  69. package/lib/chain/bls/multithread/index.d.ts +1 -1
  70. package/lib/chain/bls/multithread/index.d.ts.map +1 -1
  71. package/lib/chain/bls/multithread/index.js +45 -17
  72. package/lib/chain/bls/multithread/index.js.map +1 -1
  73. package/lib/chain/chain.d.ts +24 -3
  74. package/lib/chain/chain.d.ts.map +1 -1
  75. package/lib/chain/chain.js +120 -39
  76. package/lib/chain/chain.js.map +1 -1
  77. package/lib/chain/emitter.d.ts +7 -7
  78. package/lib/chain/emitter.d.ts.map +1 -1
  79. package/lib/chain/emitter.js +5 -5
  80. package/lib/chain/emitter.js.map +1 -1
  81. package/lib/chain/errors/executionPayloadEnvelope.d.ts +7 -0
  82. package/lib/chain/errors/executionPayloadEnvelope.d.ts.map +1 -1
  83. package/lib/chain/errors/executionPayloadEnvelope.js +1 -0
  84. package/lib/chain/errors/executionPayloadEnvelope.js.map +1 -1
  85. package/lib/chain/errors/index.d.ts +0 -1
  86. package/lib/chain/errors/index.d.ts.map +1 -1
  87. package/lib/chain/errors/index.js +0 -1
  88. package/lib/chain/errors/index.js.map +1 -1
  89. package/lib/chain/forkChoice/index.d.ts +11 -1
  90. package/lib/chain/forkChoice/index.d.ts.map +1 -1
  91. package/lib/chain/forkChoice/index.js +11 -0
  92. package/lib/chain/forkChoice/index.js.map +1 -1
  93. package/lib/chain/forkChoiceExecutionEngine.d.ts +51 -0
  94. package/lib/chain/forkChoiceExecutionEngine.d.ts.map +1 -0
  95. package/lib/chain/forkChoiceExecutionEngine.js +117 -0
  96. package/lib/chain/forkChoiceExecutionEngine.js.map +1 -0
  97. package/lib/chain/interface.d.ts +7 -4
  98. package/lib/chain/interface.d.ts.map +1 -1
  99. package/lib/chain/interface.js.map +1 -1
  100. package/lib/chain/opPools/aggregatedAttestationPool.d.ts +17 -4
  101. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
  102. package/lib/chain/opPools/aggregatedAttestationPool.js +198 -45
  103. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  104. package/lib/chain/opPools/attestationPool.d.ts.map +1 -1
  105. package/lib/chain/opPools/attestationPool.js +14 -3
  106. package/lib/chain/opPools/attestationPool.js.map +1 -1
  107. package/lib/chain/opPools/index.d.ts +1 -0
  108. package/lib/chain/opPools/index.d.ts.map +1 -1
  109. package/lib/chain/opPools/index.js +1 -0
  110. package/lib/chain/opPools/index.js.map +1 -1
  111. package/lib/chain/opPools/payloadAttestationPool.d.ts.map +1 -1
  112. package/lib/chain/opPools/payloadAttestationPool.js +16 -6
  113. package/lib/chain/opPools/payloadAttestationPool.js.map +1 -1
  114. package/lib/chain/opPools/singleAttestationPool.d.ts +77 -0
  115. package/lib/chain/opPools/singleAttestationPool.d.ts.map +1 -0
  116. package/lib/chain/opPools/singleAttestationPool.js +209 -0
  117. package/lib/chain/opPools/singleAttestationPool.js.map +1 -0
  118. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +1 -1
  119. package/lib/chain/opPools/syncCommitteeMessagePool.js +8 -2
  120. package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
  121. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +1 -1
  122. package/lib/chain/opPools/syncContributionAndProofPool.js +10 -2
  123. package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
  124. package/lib/chain/options.d.ts +5 -2
  125. package/lib/chain/options.d.ts.map +1 -1
  126. package/lib/chain/options.js.map +1 -1
  127. package/lib/chain/produceBlock/produceBlockBody.d.ts +3 -2
  128. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  129. package/lib/chain/produceBlock/produceBlockBody.js +3 -2
  130. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  131. package/lib/chain/proposerTracker.d.ts +31 -0
  132. package/lib/chain/proposerTracker.d.ts.map +1 -0
  133. package/lib/chain/proposerTracker.js +75 -0
  134. package/lib/chain/proposerTracker.js.map +1 -0
  135. package/lib/chain/regen/interface.d.ts +1 -1
  136. package/lib/chain/regen/interface.d.ts.map +1 -1
  137. package/lib/chain/regen/queued.d.ts +1 -1
  138. package/lib/chain/regen/queued.d.ts.map +1 -1
  139. package/lib/chain/regen/queued.js +5 -3
  140. package/lib/chain/regen/queued.js.map +1 -1
  141. package/lib/chain/seenCache/seenGossipBlockInput.d.ts +7 -14
  142. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +1 -1
  143. package/lib/chain/seenCache/seenGossipBlockInput.js +6 -65
  144. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  145. package/lib/chain/validation/executionPayloadBid.js +13 -13
  146. package/lib/chain/validation/executionPayloadBid.js.map +1 -1
  147. package/lib/chain/validation/executionPayloadEnvelope.d.ts +6 -0
  148. package/lib/chain/validation/executionPayloadEnvelope.d.ts.map +1 -1
  149. package/lib/chain/validation/executionPayloadEnvelope.js +53 -0
  150. package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
  151. package/lib/chain/validatorMonitor.d.ts +1 -2
  152. package/lib/chain/validatorMonitor.d.ts.map +1 -1
  153. package/lib/chain/validatorMonitor.js +0 -3
  154. package/lib/chain/validatorMonitor.js.map +1 -1
  155. package/lib/db/flatFileStore/flatFileStore.js +5 -5
  156. package/lib/db/flatFileStore/flatFileStore.js.map +1 -1
  157. package/lib/db/flatFileStore/slotIndex.d.ts.map +1 -1
  158. package/lib/db/flatFileStore/slotIndex.js +2 -2
  159. package/lib/db/flatFileStore/slotIndex.js.map +1 -1
  160. package/lib/db/repositories/blobSidecars.d.ts +0 -1
  161. package/lib/db/repositories/blobSidecars.d.ts.map +1 -1
  162. package/lib/db/repositories/blobSidecars.js +0 -1
  163. package/lib/db/repositories/blobSidecars.js.map +1 -1
  164. package/lib/execution/builder/apiClient.d.ts +14 -8
  165. package/lib/execution/builder/apiClient.d.ts.map +1 -1
  166. package/lib/execution/builder/apiClient.js +12 -10
  167. package/lib/execution/builder/apiClient.js.map +1 -1
  168. package/lib/execution/builder/http.d.ts +2 -0
  169. package/lib/execution/builder/http.d.ts.map +1 -1
  170. package/lib/execution/builder/http.js +2 -0
  171. package/lib/execution/builder/http.js.map +1 -1
  172. package/lib/execution/engine/http.d.ts +4 -6
  173. package/lib/execution/engine/http.d.ts.map +1 -1
  174. package/lib/execution/engine/http.js +8 -10
  175. package/lib/execution/engine/http.js.map +1 -1
  176. package/lib/execution/engine/interface.d.ts +17 -5
  177. package/lib/execution/engine/interface.d.ts.map +1 -1
  178. package/lib/execution/engine/interface.js.map +1 -1
  179. package/lib/execution/engine/jsonRpcTransport.d.ts +2 -4
  180. package/lib/execution/engine/jsonRpcTransport.d.ts.map +1 -1
  181. package/lib/execution/engine/jsonRpcTransport.js +2 -12
  182. package/lib/execution/engine/jsonRpcTransport.js.map +1 -1
  183. package/lib/execution/engine/mock.d.ts +0 -1
  184. package/lib/execution/engine/mock.d.ts.map +1 -1
  185. package/lib/execution/engine/mock.js +0 -4
  186. package/lib/execution/engine/mock.js.map +1 -1
  187. package/lib/execution/engine/restTransport.d.ts +2 -4
  188. package/lib/execution/engine/restTransport.d.ts.map +1 -1
  189. package/lib/execution/engine/restTransport.js +1 -15
  190. package/lib/execution/engine/restTransport.js.map +1 -1
  191. package/lib/execution/engine/sszTypes.d.ts +0 -9
  192. package/lib/execution/engine/sszTypes.d.ts.map +1 -1
  193. package/lib/execution/engine/sszTypes.js +0 -5
  194. package/lib/execution/engine/sszTypes.js.map +1 -1
  195. package/lib/execution/engine/transport.d.ts +1 -14
  196. package/lib/execution/engine/transport.d.ts.map +1 -1
  197. package/lib/execution/engine/types.d.ts +0 -8
  198. package/lib/execution/engine/types.d.ts.map +1 -1
  199. package/lib/execution/engine/types.js +0 -8
  200. package/lib/execution/engine/types.js.map +1 -1
  201. package/lib/execution/engine/utils.d.ts.map +1 -1
  202. package/lib/execution/engine/utils.js +3 -2
  203. package/lib/execution/engine/utils.js.map +1 -1
  204. package/lib/index.d.ts +1 -1
  205. package/lib/index.d.ts.map +1 -1
  206. package/lib/index.js +1 -1
  207. package/lib/index.js.map +1 -1
  208. package/lib/metrics/metrics/beacon.d.ts +0 -9
  209. package/lib/metrics/metrics/beacon.d.ts.map +1 -1
  210. package/lib/metrics/metrics/beacon.js +0 -30
  211. package/lib/metrics/metrics/beacon.js.map +1 -1
  212. package/lib/metrics/metrics/lodestar.d.ts +27 -8
  213. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  214. package/lib/metrics/metrics/lodestar.js +74 -18
  215. package/lib/metrics/metrics/lodestar.js.map +1 -1
  216. package/lib/metrics/server/http.js +5 -5
  217. package/lib/metrics/server/http.js.map +1 -1
  218. package/lib/network/core/networkCore.d.ts +2 -1
  219. package/lib/network/core/networkCore.d.ts.map +1 -1
  220. package/lib/network/core/networkCore.js +4 -0
  221. package/lib/network/core/networkCore.js.map +1 -1
  222. package/lib/network/core/networkCoreWorker.js +1 -0
  223. package/lib/network/core/networkCoreWorker.js.map +1 -1
  224. package/lib/network/core/networkCoreWorkerHandler.d.ts +2 -1
  225. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +1 -1
  226. package/lib/network/core/networkCoreWorkerHandler.js +3 -0
  227. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  228. package/lib/network/core/types.d.ts +4 -1
  229. package/lib/network/core/types.d.ts.map +1 -1
  230. package/lib/network/gossip/gossipsub.d.ts +1 -0
  231. package/lib/network/gossip/gossipsub.d.ts.map +1 -1
  232. package/lib/network/gossip/gossipsub.js +10 -0
  233. package/lib/network/gossip/gossipsub.js.map +1 -1
  234. package/lib/network/gossip/interface.d.ts +1 -8
  235. package/lib/network/gossip/interface.d.ts.map +1 -1
  236. package/lib/network/gossip/interface.js +0 -1
  237. package/lib/network/gossip/interface.js.map +1 -1
  238. package/lib/network/gossip/topic.d.ts +0 -16
  239. package/lib/network/gossip/topic.d.ts.map +1 -1
  240. package/lib/network/gossip/topic.js +0 -23
  241. package/lib/network/gossip/topic.js.map +1 -1
  242. package/lib/network/interface.d.ts +2 -5
  243. package/lib/network/interface.d.ts.map +1 -1
  244. package/lib/network/libp2p/index.d.ts.map +1 -1
  245. package/lib/network/libp2p/index.js +5 -1
  246. package/lib/network/libp2p/index.js.map +1 -1
  247. package/lib/network/network.d.ts +6 -7
  248. package/lib/network/network.d.ts.map +1 -1
  249. package/lib/network/network.js +50 -37
  250. package/lib/network/network.js.map +1 -1
  251. package/lib/network/options.d.ts +2 -0
  252. package/lib/network/options.d.ts.map +1 -1
  253. package/lib/network/options.js +2 -0
  254. package/lib/network/options.js.map +1 -1
  255. package/lib/network/peers/peerManager.d.ts.map +1 -1
  256. package/lib/network/peers/peerManager.js +28 -1
  257. package/lib/network/peers/peerManager.js.map +1 -1
  258. package/lib/network/peers/utils/prioritizePeers.d.ts +4 -1
  259. package/lib/network/peers/utils/prioritizePeers.d.ts.map +1 -1
  260. package/lib/network/peers/utils/prioritizePeers.js +8 -16
  261. package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
  262. package/lib/network/peers/utils/subnetMap.d.ts +5 -2
  263. package/lib/network/peers/utils/subnetMap.d.ts.map +1 -1
  264. package/lib/network/peers/utils/subnetMap.js +6 -3
  265. package/lib/network/peers/utils/subnetMap.js.map +1 -1
  266. package/lib/network/processor/extractSlotRootFns.d.ts.map +1 -1
  267. package/lib/network/processor/extractSlotRootFns.js +1 -8
  268. package/lib/network/processor/extractSlotRootFns.js.map +1 -1
  269. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  270. package/lib/network/processor/gossipHandlers.js +46 -126
  271. package/lib/network/processor/gossipHandlers.js.map +1 -1
  272. package/lib/network/processor/gossipQueues/index.d.ts.map +1 -1
  273. package/lib/network/processor/gossipQueues/index.js +0 -6
  274. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  275. package/lib/network/processor/gossipValidatorFn.d.ts.map +1 -1
  276. package/lib/network/processor/gossipValidatorFn.js +1 -5
  277. package/lib/network/processor/gossipValidatorFn.js.map +1 -1
  278. package/lib/network/processor/index.d.ts +6 -0
  279. package/lib/network/processor/index.d.ts.map +1 -1
  280. package/lib/network/processor/index.js +29 -4
  281. package/lib/network/processor/index.js.map +1 -1
  282. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +1 -1
  283. package/lib/network/reqresp/ReqRespBeaconNode.js +0 -3
  284. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  285. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts +2 -2
  286. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +1 -1
  287. package/lib/network/reqresp/handlers/index.d.ts.map +1 -1
  288. package/lib/network/reqresp/handlers/index.js +1 -12
  289. package/lib/network/reqresp/handlers/index.js.map +1 -1
  290. package/lib/network/reqresp/protocols.d.ts +0 -2
  291. package/lib/network/reqresp/protocols.d.ts.map +1 -1
  292. package/lib/network/reqresp/protocols.js +0 -10
  293. package/lib/network/reqresp/protocols.js.map +1 -1
  294. package/lib/network/reqresp/rateLimit.d.ts.map +1 -1
  295. package/lib/network/reqresp/rateLimit.js +1 -17
  296. package/lib/network/reqresp/rateLimit.js.map +1 -1
  297. package/lib/network/reqresp/types.d.ts +2 -8
  298. package/lib/network/reqresp/types.d.ts.map +1 -1
  299. package/lib/network/reqresp/types.js +1 -7
  300. package/lib/network/reqresp/types.js.map +1 -1
  301. package/lib/network/subnets/attnetsService.d.ts +35 -5
  302. package/lib/network/subnets/attnetsService.d.ts.map +1 -1
  303. package/lib/network/subnets/attnetsService.js +84 -6
  304. package/lib/network/subnets/attnetsService.js.map +1 -1
  305. package/lib/network/subnets/interface.d.ts +7 -0
  306. package/lib/network/subnets/interface.d.ts.map +1 -1
  307. package/lib/network/subnets/interface.js.map +1 -1
  308. package/lib/node/nodejs.d.ts +2 -0
  309. package/lib/node/nodejs.d.ts.map +1 -1
  310. package/lib/node/nodejs.js +37 -19
  311. package/lib/node/nodejs.js.map +1 -1
  312. package/lib/node/options.d.ts +3 -1
  313. package/lib/node/options.d.ts.map +1 -1
  314. package/lib/node/options.js +4 -2
  315. package/lib/node/options.js.map +1 -1
  316. package/lib/sync/range/batch.d.ts +2 -3
  317. package/lib/sync/range/batch.d.ts.map +1 -1
  318. package/lib/sync/range/batch.js +9 -22
  319. package/lib/sync/range/batch.js.map +1 -1
  320. package/lib/sync/range/chain.d.ts.map +1 -1
  321. package/lib/sync/range/chain.js +2 -15
  322. package/lib/sync/range/chain.js.map +1 -1
  323. package/lib/sync/sync.d.ts +8 -0
  324. package/lib/sync/sync.d.ts.map +1 -1
  325. package/lib/sync/sync.js +42 -22
  326. package/lib/sync/sync.js.map +1 -1
  327. package/lib/sync/unknownBlock.d.ts.map +1 -1
  328. package/lib/sync/unknownBlock.js +1 -7
  329. package/lib/sync/unknownBlock.js.map +1 -1
  330. package/lib/sync/utils/downloadByRange.d.ts +6 -34
  331. package/lib/sync/utils/downloadByRange.d.ts.map +1 -1
  332. package/lib/sync/utils/downloadByRange.js +24 -128
  333. package/lib/sync/utils/downloadByRange.js.map +1 -1
  334. package/lib/sync/utils/downloadByRoot.d.ts +2 -18
  335. package/lib/sync/utils/downloadByRoot.d.ts.map +1 -1
  336. package/lib/sync/utils/downloadByRoot.js +14 -99
  337. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  338. package/lib/util/blobs.d.ts +1 -7
  339. package/lib/util/blobs.d.ts.map +1 -1
  340. package/lib/util/blobs.js +0 -19
  341. package/lib/util/blobs.js.map +1 -1
  342. package/lib/util/execution.d.ts +3 -4
  343. package/lib/util/execution.d.ts.map +1 -1
  344. package/lib/util/execution.js +1 -73
  345. package/lib/util/execution.js.map +1 -1
  346. package/lib/util/file.d.ts.map +1 -1
  347. package/lib/util/file.js +8 -9
  348. package/lib/util/file.js.map +1 -1
  349. package/lib/util/sszBytes.d.ts +5 -1
  350. package/lib/util/sszBytes.d.ts.map +1 -1
  351. package/lib/util/sszBytes.js +34 -17
  352. package/lib/util/sszBytes.js.map +1 -1
  353. package/lib/util/types.d.ts +0 -5
  354. package/lib/util/types.d.ts.map +1 -1
  355. package/lib/util/types.js +1 -2
  356. package/lib/util/types.js.map +1 -1
  357. package/package.json +16 -17
  358. package/src/api/impl/beacon/blocks/index.ts +24 -64
  359. package/src/api/impl/beacon/pool/index.ts +26 -0
  360. package/src/api/impl/validator/index.ts +43 -29
  361. package/src/chain/GetBlobsTracker.ts +10 -39
  362. package/src/chain/blocks/blockInput/blockInput.ts +11 -343
  363. package/src/chain/blocks/blockInput/errors.ts +1 -2
  364. package/src/chain/blocks/blockInput/types.ts +2 -20
  365. package/src/chain/blocks/importBlock.ts +56 -72
  366. package/src/chain/blocks/importExecutionPayload.ts +44 -33
  367. package/src/chain/blocks/index.ts +5 -2
  368. package/src/chain/blocks/payloadEnvelopeProcessor.ts +32 -21
  369. package/src/chain/blocks/types.ts +5 -31
  370. package/src/chain/blocks/verifyBlock.ts +30 -16
  371. package/src/chain/blocks/verifyBlocksDataAvailability.ts +6 -1
  372. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +9 -6
  373. package/src/chain/blocks/verifyBlocksSanityChecks.ts +4 -1
  374. package/src/chain/blocks/verifyBlocksSignatures.ts +10 -5
  375. package/src/chain/blocks/verifyPayloadsDataAvailability.ts +1 -3
  376. package/src/chain/blocks/writeBlockInputToDb.ts +6 -29
  377. package/src/chain/bls/interface.ts +2 -0
  378. package/src/chain/bls/multithread/index.ts +43 -19
  379. package/src/chain/chain.ts +135 -37
  380. package/src/chain/emitter.ts +8 -8
  381. package/src/chain/errors/executionPayloadEnvelope.ts +8 -0
  382. package/src/chain/errors/index.ts +0 -1
  383. package/src/chain/forkChoice/index.ts +11 -0
  384. package/src/chain/forkChoiceExecutionEngine.ts +183 -0
  385. package/src/chain/interface.ts +7 -3
  386. package/src/chain/opPools/aggregatedAttestationPool.ts +245 -42
  387. package/src/chain/opPools/attestationPool.ts +15 -3
  388. package/src/chain/opPools/index.ts +1 -0
  389. package/src/chain/opPools/payloadAttestationPool.ts +17 -6
  390. package/src/chain/opPools/singleAttestationPool.ts +287 -0
  391. package/src/chain/opPools/syncCommitteeMessagePool.ts +9 -2
  392. package/src/chain/opPools/syncContributionAndProofPool.ts +12 -2
  393. package/src/chain/options.ts +5 -2
  394. package/src/chain/produceBlock/produceBlockBody.ts +7 -3
  395. package/src/chain/proposerTracker.ts +94 -0
  396. package/src/chain/regen/interface.ts +1 -1
  397. package/src/chain/regen/queued.ts +6 -4
  398. package/src/chain/seenCache/seenGossipBlockInput.ts +9 -93
  399. package/src/chain/validation/executionPayloadBid.ts +14 -13
  400. package/src/chain/validation/executionPayloadEnvelope.ts +68 -1
  401. package/src/chain/validatorMonitor.ts +0 -6
  402. package/src/db/flatFileStore/flatFileStore.ts +7 -7
  403. package/src/db/flatFileStore/slotIndex.ts +4 -3
  404. package/src/db/repositories/blobSidecars.ts +0 -1
  405. package/src/execution/builder/apiClient.ts +16 -13
  406. package/src/execution/builder/http.ts +4 -0
  407. package/src/execution/engine/http.ts +19 -42
  408. package/src/execution/engine/interface.ts +18 -9
  409. package/src/execution/engine/jsonRpcTransport.ts +10 -22
  410. package/src/execution/engine/mock.ts +0 -7
  411. package/src/execution/engine/restTransport.ts +3 -22
  412. package/src/execution/engine/sszTypes.ts +0 -9
  413. package/src/execution/engine/transport.ts +8 -17
  414. package/src/execution/engine/types.ts +0 -17
  415. package/src/execution/engine/utils.ts +4 -2
  416. package/src/index.ts +1 -1
  417. package/src/metrics/metrics/beacon.ts +0 -30
  418. package/src/metrics/metrics/lodestar.ts +75 -18
  419. package/src/metrics/server/http.ts +5 -5
  420. package/src/network/core/networkCore.ts +6 -1
  421. package/src/network/core/networkCoreWorker.ts +1 -0
  422. package/src/network/core/networkCoreWorkerHandler.ts +4 -1
  423. package/src/network/core/types.ts +4 -1
  424. package/src/network/gossip/gossipsub.ts +11 -0
  425. package/src/network/gossip/interface.ts +0 -5
  426. package/src/network/gossip/topic.ts +0 -25
  427. package/src/network/interface.ts +0 -5
  428. package/src/network/libp2p/index.ts +5 -1
  429. package/src/network/network.ts +50 -60
  430. package/src/network/options.ts +4 -0
  431. package/src/network/peers/peerManager.ts +27 -2
  432. package/src/network/peers/utils/prioritizePeers.ts +14 -22
  433. package/src/network/peers/utils/subnetMap.ts +6 -3
  434. package/src/network/processor/extractSlotRootFns.ts +0 -9
  435. package/src/network/processor/gossipHandlers.ts +59 -159
  436. package/src/network/processor/gossipQueues/index.ts +0 -6
  437. package/src/network/processor/gossipValidatorFn.ts +0 -5
  438. package/src/network/processor/index.ts +25 -4
  439. package/src/network/reqresp/ReqRespBeaconNode.ts +0 -7
  440. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +2 -2
  441. package/src/network/reqresp/handlers/index.ts +0 -17
  442. package/src/network/reqresp/protocols.ts +0 -12
  443. package/src/network/reqresp/rateLimit.ts +1 -17
  444. package/src/network/reqresp/types.ts +0 -13
  445. package/src/network/subnets/attnetsService.ts +94 -6
  446. package/src/network/subnets/interface.ts +7 -0
  447. package/src/node/nodejs.ts +34 -15
  448. package/src/node/options.ts +5 -1
  449. package/src/sync/range/batch.ts +9 -21
  450. package/src/sync/range/chain.ts +2 -14
  451. package/src/sync/sync.ts +43 -22
  452. package/src/sync/unknownBlock.ts +1 -8
  453. package/src/sync/utils/downloadByRange.ts +31 -230
  454. package/src/sync/utils/downloadByRoot.ts +15 -142
  455. package/src/util/blobs.ts +0 -34
  456. package/src/util/execution.ts +8 -102
  457. package/src/util/file.ts +8 -9
  458. package/src/util/sszBytes.ts +40 -22
  459. package/src/util/types.ts +1 -8
  460. package/lib/chain/errors/blobSidecarError.d.ts +0 -108
  461. package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
  462. package/lib/chain/errors/blobSidecarError.js +0 -38
  463. package/lib/chain/errors/blobSidecarError.js.map +0 -1
  464. package/lib/chain/validation/blobSidecar.d.ts +0 -16
  465. package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
  466. package/lib/chain/validation/blobSidecar.js +0 -276
  467. package/lib/chain/validation/blobSidecar.js.map +0 -1
  468. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts +0 -9
  469. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
  470. package/lib/network/reqresp/handlers/blobSidecarsByRange.js +0 -91
  471. package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +0 -1
  472. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts +0 -5
  473. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
  474. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js +0 -46
  475. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +0 -1
  476. package/src/chain/errors/blobSidecarError.ts +0 -70
  477. package/src/chain/validation/blobSidecar.ts +0 -357
  478. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -133
  479. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -69
@@ -1,7 +1,7 @@
1
1
  import { isForkPostDeneb } from "@lodestar/params";
2
2
  import { toRootHex } from "@lodestar/utils";
3
3
  import { getBlobKzgCommitments } from "../../util/dataColumns.js";
4
- import { isBlockInputBlobs, isBlockInputColumns } from "./blockInput/index.js";
4
+ import { isBlockInputColumns } from "./blockInput/index.js";
5
5
  import { BLOB_AVAILABILITY_TIMEOUT } from "./verifyBlocksDataAvailability.js";
6
6
  /**
7
7
  * Persists block input data to DB. This operation must be eventually completed if a block is imported to the fork-choice.
@@ -9,18 +9,16 @@ import { BLOB_AVAILABILITY_TIMEOUT } from "./verifyBlocksDataAvailability.js";
9
9
  *
10
10
  * This operation may be performed before, during or after importing to the fork-choice. As long as errors
11
11
  * are handled properly for eventual consistency.
12
- *
13
- * Block+blobs (pre-fulu) and data columns (fulu+) are written in parallel.
14
12
  */
15
13
  export async function writeBlockInputToDb(blockInput) {
16
- const promises = [writeBlockAndBlobsToDb.call(this, blockInput)];
14
+ const promises = [writeBlockToDb.call(this, blockInput)];
17
15
  if (isBlockInputColumns(blockInput)) {
18
16
  promises.push(writeDataColumnsToDb.call(this, blockInput));
19
17
  }
20
18
  await Promise.all(promises);
21
19
  this.logger.debug("Persisted blockInput to db", { slot: blockInput.slot, root: blockInput.blockRootHex });
22
20
  }
23
- async function writeBlockAndBlobsToDb(blockInput) {
21
+ async function writeBlockToDb(blockInput) {
24
22
  const block = blockInput.getBlock();
25
23
  const slot = block.message.slot;
26
24
  const blockRoot = this.config.getForkTypes(slot).BeaconBlock.hashTreeRoot(block.message);
@@ -28,33 +26,17 @@ async function writeBlockAndBlobsToDb(blockInput) {
28
26
  const numBlobs = isForkPostDeneb(blockInput.forkName)
29
27
  ? getBlobKzgCommitments(blockInput.forkName, block).length
30
28
  : undefined;
31
- const fnPromises = [];
29
+ this.logger.debug("Persist block to hot DB", { slot, root: blockRootHex, inputType: blockInput.type, numBlobs });
32
30
  const blockBytes = this.serializedCache.get(block);
33
31
  if (blockBytes) {
34
32
  // skip serializing data if we already have it
35
33
  this.metrics?.importBlock.persistBlockWithSerializedDataCount.inc();
36
- fnPromises.push(this.db.block.putBinary(this.db.block.getId(block), blockBytes));
34
+ await this.db.block.putBinary(this.db.block.getId(block), blockBytes);
37
35
  }
38
36
  else {
39
37
  this.metrics?.importBlock.persistBlockNoSerializedDataCount.inc();
40
- fnPromises.push(this.db.block.add(block));
41
- }
42
- this.logger.debug("Persist block to hot DB", { slot, root: blockRootHex, inputType: blockInput.type, numBlobs });
43
- if (isBlockInputBlobs(blockInput)) {
44
- fnPromises.push((async () => {
45
- if (!blockInput.hasAllData()) {
46
- await blockInput.waitForAllData(BLOB_AVAILABILITY_TIMEOUT);
47
- }
48
- const blobSidecars = blockInput.getBlobs();
49
- await this.db.blobSidecars.add({ blockRoot, slot, blobSidecars });
50
- this.logger.debug("Persisted blobSidecars to hot DB", {
51
- slot,
52
- root: blockRootHex,
53
- numBlobs: blobSidecars.length,
54
- });
55
- })());
38
+ await this.db.block.add(block);
56
39
  }
57
- await Promise.all(fnPromises);
58
40
  }
59
41
  /**
60
42
  * Persists data columns to DB for a given block. Accepts a narrow sub-interface of IBlockInput
@@ -1 +1 @@
1
- {"version":3,"file":"writeBlockInputToDb.js","sourceRoot":"","sources":["../../../src/chain/blocks/writeBlockInputToDb.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writeBlockInputToDb.js","sourceRoot":"","sources":["../../../src/chain/blocks/writeBlockInputToDb.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,8 @@ export type VerifySignatureOpts = {
19
19
  verifyOnMainThread?: boolean;
20
20
  /**
21
21
  * Some signature sets are more important than others, and should be verified first.
22
+ * Non-batchable priority jobs are posted to an idle worker before this call returns, so the caller
23
+ * can run synchronous work right after without delaying the verification.
22
24
  */
23
25
  priority?: boolean;
24
26
  };
@@ -1 +1 @@
1
- {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/chain/bls/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAC;AAEzD,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,UAAU,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzF;;;;;OAKG;IACH,8BAA8B,CAC5B,IAAI,EAAE,uBAAuB,EAAE,EAC/B,OAAO,EAAE,UAAU,EACnB,IAAI,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,GACrD,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAEtB,0DAA0D;IAC1D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;OAEG;IACH,aAAa,IAAI,OAAO,CAAC;CAC1B"}
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/chain/bls/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAC;AAEzD,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,UAAU,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzF;;;;;OAKG;IACH,8BAA8B,CAC5B,IAAI,EAAE,uBAAuB,EAAE,EAC/B,OAAO,EAAE,UAAU,EACnB,IAAI,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,GACrD,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAEtB,0DAA0D;IAC1D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;OAEG;IACH,aAAa,IAAI,OAAO,CAAC;CAC1B"}
@@ -26,7 +26,7 @@ export declare class BlsMultiThreadWorkerPool implements IBlsVerifier {
26
26
  private readonly jobs;
27
27
  private bufferedJobs;
28
28
  private blsVerifyAllMultiThread;
29
- private closed;
29
+ private closePromise;
30
30
  private workersBusy;
31
31
  constructor(options: BlsMultiThreadWorkerPoolOptions, modules: BlsMultiThreadWorkerPoolModules);
32
32
  canAcceptWork(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/chain/bls/multithread/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAC,OAAO,EAAC,MAAM,2BAA2B,CAAC;AAIlD,OAAO,EAAC,YAAY,EAAE,uBAAuB,EAAE,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AAI3F,OAAO,EAGL,gBAAgB,EAKjB,MAAM,YAAY,CAAC;AAMpB,MAAM,MAAM,+BAA+B,GAAG;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF,YAAY,EAAC,gBAAgB,EAAC,CAAC;AAiE/B;;;;;;;GAOG;AACH,qBAAa,wBAAyB,YAAW,YAAY;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IAEzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkC;IACvD,OAAO,CAAC,YAAY,CAMJ;IAChB,OAAO,CAAC,uBAAuB,CAAU;IACzC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAK;IAExB,YAAY,OAAO,EAAE,+BAA+B,EAAE,OAAO,EAAE,+BAA+B,EAgB7F;IAED,aAAa,IAAI,OAAO,CAMvB;IAEK,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,IAAI,GAAE,mBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC,CA2CjG;IAED;;OAEG;IACG,8BAA8B,CAClC,IAAI,EAAE,uBAAuB,EAAE,EAC/B,OAAO,EAAE,UAAU,EACnB,IAAI,GAAE,IAAI,CAAC,mBAAmB,EAAE,oBAAoB,CAAM,GACzD,OAAO,CAAC,OAAO,EAAE,CAAC,CAoBpB;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAqB3B;IAED,OAAO,CAAC,aAAa;IAuCrB;;OAEG;IACH,OAAO,CAAC,YAAY;IAoDpB;;OAEG;IACH,OAAO,CAAC,MAAM,CAuJZ;IAEF;;OAEG;IACH,OAAO,CAAC,WAAW;IAuBnB;;OAEG;IACH,OAAO,CAAC,eAAe,CAarB;IAEF,OAAO,CAAC,oBAAoB;IAK5B,kBAAkB;IAClB,UAAgB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAQnD;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/chain/bls/multithread/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAC,MAAM,EAAQ,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,OAAO,EAAC,MAAM,2BAA2B,CAAC;AAIlD,OAAO,EAAC,YAAY,EAAE,uBAAuB,EAAE,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AAI3F,OAAO,EAGL,gBAAgB,EAKjB,MAAM,YAAY,CAAC;AAMpB,MAAM,MAAM,+BAA+B,GAAG;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF,YAAY,EAAC,gBAAgB,EAAC,CAAC;AAiE/B;;;;;;;GAOG;AACH,qBAAa,wBAAyB,YAAW,YAAY;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IAEzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkC;IACvD,OAAO,CAAC,YAAY,CAMJ;IAChB,OAAO,CAAC,uBAAuB,CAAU;IACzC,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,WAAW,CAAK;IAExB,YAAY,OAAO,EAAE,+BAA+B,EAAE,OAAO,EAAE,+BAA+B,EAgB7F;IAED,aAAa,IAAI,OAAO,CAOvB;IAEK,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,IAAI,GAAE,mBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC,CA4CjG;IAED;;OAEG;IACG,8BAA8B,CAClC,IAAI,EAAE,uBAAuB,EAAE,EAC/B,OAAO,EAAE,UAAU,EACnB,IAAI,GAAE,IAAI,CAAC,mBAAmB,EAAE,oBAAoB,CAAM,GACzD,OAAO,CAAC,OAAO,EAAE,CAAC,CAqBpB;IAED,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAgCrB;IAED,OAAO,CAAC,aAAa;IAuCrB;;OAEG;IACH,OAAO,CAAC,YAAY;IAwDpB;;OAEG;IACH,OAAO,CAAC,MAAM,CA6JZ;IAEF;;OAEG;IACH,OAAO,CAAC,WAAW;IAuBnB;;OAEG;IACH,OAAO,CAAC,eAAe,CAarB;IAEF,OAAO,CAAC,oBAAoB;IAK5B,kBAAkB;IAClB,UAAgB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAQnD;CACF"}
@@ -4,6 +4,7 @@ import { Worker, spawn } from "@chainsafe/threads";
4
4
  // @ts-expect-error
5
5
  // biome-ignore lint/suspicious/noGlobalAssign: We need the global `self` to reassign module properties later
6
6
  self = undefined;
7
+ import { defer } from "@lodestar/utils";
7
8
  import { LinkedList } from "../../../util/array.js";
8
9
  import { callInNextEventLoop } from "../../../util/eventLoop.js";
9
10
  import { QueueError, QueueErrorCode } from "../../../util/queue/index.js";
@@ -69,7 +70,7 @@ export class BlsMultiThreadWorkerPool {
69
70
  jobs = new LinkedList();
70
71
  bufferedJobs = null;
71
72
  blsVerifyAllMultiThread;
72
- closed = false;
73
+ closePromise;
73
74
  workersBusy = 0;
74
75
  constructor(options, modules) {
75
76
  const { logger, metrics } = modules;
@@ -87,11 +88,14 @@ export class BlsMultiThreadWorkerPool {
87
88
  }
88
89
  }
89
90
  canAcceptWork() {
90
- return (this.workersBusy < blsPoolSize &&
91
+ return (this.closePromise === undefined &&
92
+ this.workersBusy < blsPoolSize &&
91
93
  // TODO: Should also bound the jobs queue?
92
94
  this.jobs.length < MAX_JOBS_CAN_ACCEPT_WORK);
93
95
  }
94
96
  async verifySignatureSets(sets, opts = {}) {
97
+ if (this.closePromise !== undefined)
98
+ throw new QueueError({ code: QueueErrorCode.QUEUE_ABORTED });
95
99
  this.metrics?.bls.aggregatedPubkeys.inc(getAggregatedPubkeysCount(sets));
96
100
  this.metrics?.blsThreadPool.totalSigSets.inc(sets.length);
97
101
  if (opts.priority) {
@@ -132,6 +136,8 @@ export class BlsMultiThreadWorkerPool {
132
136
  * Verify signature sets of the same message, only supports worker verification.
133
137
  */
134
138
  async verifySignatureSetsSameMessage(sets, message, opts = {}) {
139
+ if (this.closePromise !== undefined)
140
+ throw new QueueError({ code: QueueErrorCode.QUEUE_ABORTED });
135
141
  const promises = [];
136
142
  for (const setsChunk of chunkSameMessageSignatureSets(sets)) {
137
143
  promises.push(new Promise((resolve, reject) => {
@@ -149,9 +155,16 @@ export class BlsMultiThreadWorkerPool {
149
155
  const results = await Promise.all(promises);
150
156
  return results.flat();
151
157
  }
152
- async close() {
158
+ close() {
159
+ if (this.closePromise !== undefined)
160
+ return this.closePromise;
153
161
  if (this.bufferedJobs) {
154
162
  clearTimeout(this.bufferedJobs.timeout);
163
+ for (const jobs of [this.bufferedJobs.jobs, this.bufferedJobs.prioritizedJobs]) {
164
+ for (const job of jobs)
165
+ job.reject(new QueueError({ code: QueueErrorCode.QUEUE_ABORTED }));
166
+ }
167
+ this.bufferedJobs = null;
155
168
  }
156
169
  // Abort all jobs
157
170
  for (const job of this.jobs) {
@@ -159,12 +172,19 @@ export class BlsMultiThreadWorkerPool {
159
172
  }
160
173
  this.jobs.clear();
161
174
  // Terminate all workers. await to ensure no workers are left hanging
162
- await Promise.all(Array.from(this.workers.entries()).map(([id, worker]) =>
175
+ this.closePromise = Promise.all(Array.from(this.workers.entries()).map(([id, worker]) =>
163
176
  // NOTE: 'threads' has not yet updated types, and NodeJS complains with
164
177
  // [DEP0132] DeprecationWarning: Passing a callback to worker.terminate() is deprecated. It returns a Promise instead.
165
- worker.worker.terminate().catch((e) => {
178
+ worker.worker.terminate()
179
+ .catch((e) => {
166
180
  this.logger.error("Error terminating worker", { id }, e);
167
- })));
181
+ })
182
+ .finally(() => {
183
+ // threads does not settle outstanding RPC calls when its worker exits.
184
+ if (worker.status.code === WorkerStatusCode.running)
185
+ worker.status.abort();
186
+ }))).then(() => { });
187
+ return this.closePromise;
168
188
  }
169
189
  createWorkers(poolSize) {
170
190
  const workers = [];
@@ -202,7 +222,7 @@ export class BlsMultiThreadWorkerPool {
202
222
  * Register BLS work to be done eventually in a worker
203
223
  */
204
224
  queueBlsWork(job) {
205
- if (this.closed) {
225
+ if (this.closePromise !== undefined) {
206
226
  throw new QueueError({ code: QueueErrorCode.QUEUE_ABORTED });
207
227
  }
208
228
  // TODO: Consider if limiting queue size is necessary here.
@@ -234,16 +254,18 @@ export class BlsMultiThreadWorkerPool {
234
254
  this.runBufferedJobs("size");
235
255
  }
236
256
  }
257
+ // First hand work to an idle worker before returning to the caller.
258
+ // Deferring the post to the next macrotask would make the worker
259
+ // sit idle while waiting for the next synchronous work
260
+ else if (job.opts.priority) {
261
+ this.jobs.unshift(job);
262
+ void this.runJob();
263
+ }
237
264
  // Push job and schedule to call `runJob` in the next macro event loop cycle.
238
265
  // This is useful to allow batching job submitted from a synchronous for loop,
239
266
  // and to prevent large stacks since runJob may be called recursively.
240
267
  else {
241
- if (job.opts.priority) {
242
- this.jobs.unshift(job);
243
- }
244
- else {
245
- this.jobs.push(job);
246
- }
268
+ this.jobs.push(job);
247
269
  callInNextEventLoop(() => void this.runJob());
248
270
  }
249
271
  }
@@ -251,7 +273,7 @@ export class BlsMultiThreadWorkerPool {
251
273
  * Potentially submit jobs to an idle worker, only if there's a worker and jobs
252
274
  */
253
275
  runJob = async () => {
254
- if (this.closed) {
276
+ if (this.closePromise !== undefined) {
255
277
  return;
256
278
  }
257
279
  // Find idle worker
@@ -268,7 +290,12 @@ export class BlsMultiThreadWorkerPool {
268
290
  // and free-up memory, only needs to keep the job's Promise handlers.
269
291
  // Maybe it's not useful since all data referenced in jobs is likely referenced by others
270
292
  const workerApi = worker.status.workerApi;
271
- worker.status = { code: WorkerStatusCode.running, workerApi };
293
+ const completion = defer();
294
+ worker.status = {
295
+ code: WorkerStatusCode.running,
296
+ workerApi,
297
+ abort: () => completion.reject(new QueueError({ code: QueueErrorCode.QUEUE_ABORTED })),
298
+ };
272
299
  this.workersBusy++;
273
300
  const jobsStarted = [];
274
301
  let completedJobsCount = 0;
@@ -325,7 +352,8 @@ export class BlsMultiThreadWorkerPool {
325
352
  // Send work package to the worker
326
353
  // If worker communication or result processing throws, all unresolved jobs are rejected.
327
354
  const [jobStartSec, jobStartNs] = process.hrtime();
328
- const workResult = await workerApi.verifyManySignatureSets(workReqs);
355
+ void workerApi.verifyManySignatureSets(workReqs).then(completion.resolve, completion.reject);
356
+ const workResult = await completion.promise;
329
357
  const [jobEndSec, jobEndNs] = process.hrtime();
330
358
  const { workerId, batchRetries, batchSigsSuccess, verificationCalls, workerStartTime, workerEndTime, results } = workResult;
331
359
  const [workerStartSec, workerStartNs] = workerStartTime;
@@ -365,7 +393,7 @@ export class BlsMultiThreadWorkerPool {
365
393
  }
366
394
  catch (e) {
367
395
  // Worker communications should never reject
368
- if (!this.closed) {
396
+ if (this.closePromise === undefined) {
369
397
  this.logger.error("BlsMultiThreadWorkerPool error", {}, e);
370
398
  }
371
399
  // Reject jobs that were not already completed
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/chain/bls/multithread/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/chain/bls/multithread/index.ts"],"names":[],"mappings":"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"}
@@ -29,13 +29,15 @@ import { BuilderCircuitBreaker } from "./builderCircuitBreaker.js";
29
29
  import { ColumnReconstructionTracker } from "./ColumnReconstructionTracker.js";
30
30
  import { ChainEventEmitter } from "./emitter.js";
31
31
  import { ForkchoiceCaller } from "./forkChoice/index.js";
32
+ import { ForkChoiceExecutionEngine } from "./forkChoiceExecutionEngine.js";
32
33
  import { GetBlobsTracker } from "./GetBlobsTracker.js";
33
34
  import { CommonBlockBody, IBeaconChain, ProposerPreparationData, StateGetOpts } from "./interface.js";
34
35
  import { LightClientServer } from "./lightClient/index.js";
35
- import { AggregatedAttestationPool, AttestationPool, DeferredVoluntaryExitPool, ExecutionPayloadBidPool, InclusionListStore, OpPool, PayloadAttestationPool, ProposerPreferencesPool, SyncCommitteeMessagePool, SyncContributionAndProofPool } from "./opPools/index.js";
36
+ import { AggregatedAttestationPool, AttestationPool, DeferredVoluntaryExitPool, ExecutionPayloadBidPool, InclusionListStore, OpPool, PayloadAttestationPool, ProposerPreferencesPool, SingleAttestationPool, SyncCommitteeMessagePool, SyncContributionAndProofPool } from "./opPools/index.js";
36
37
  import { IChainOptions } from "./options.js";
37
38
  import { AssembledBlockType, BlockType, ProduceResult } from "./produceBlock/index.js";
38
39
  import { BlockAttributes } from "./produceBlock/produceBlockBody.js";
40
+ import { ProposerTracker } from "./proposerTracker.js";
39
41
  import { QueuedStateRegenerator, RegenCaller } from "./regen/index.js";
40
42
  import { ReprocessController } from "./reprocess.js";
41
43
  import { PayloadEnvelopeInput, SeenAggregators, SeenAttesters, SeenBlockProposers, SeenContributionAndProof, SeenExecutionPayloadBids, SeenPayloadAttesters, SeenPayloadEnvelopeInput, SeenSyncCommitteeMessages } from "./seenCache/index.js";
@@ -48,7 +50,7 @@ import { ValidatorMonitor } from "./validatorMonitor.js";
48
50
  export declare class BeaconChain implements IBeaconChain {
49
51
  readonly genesisTime: UintNum64;
50
52
  readonly genesisValidatorsRoot: Root;
51
- readonly executionEngine: IExecutionEngine;
53
+ readonly executionEngine: ForkChoiceExecutionEngine;
52
54
  readonly executionBuilder?: IExecutionBuilder;
53
55
  readonly builderCircuitBreaker: BuilderCircuitBreaker;
54
56
  readonly builderApiClient: BuilderApiClient;
@@ -71,6 +73,13 @@ export declare class BeaconChain implements IBeaconChain {
71
73
  readonly unfinalizedPayloadEnvelopeWrites: JobItemQueue<[PayloadEnvelopeInput], void>;
72
74
  readonly attestationPool: AttestationPool;
73
75
  readonly aggregatedAttestationPool: AggregatedAttestationPool;
76
+ readonly singleAttestationPool: SingleAttestationPool;
77
+ readonly proposerTracker: ProposerTracker;
78
+ /**
79
+ * Head state epoch and decision root of its next epoch proposers when local proposals were last refreshed. The root
80
+ * alone is not enough: a reorg onto a branch without blocks in a whole epoch keeps the root but moves the epoch
81
+ */
82
+ private localProposalsKey;
74
83
  readonly syncCommitteeMessagePool: SyncCommitteeMessagePool;
75
84
  readonly syncContributionAndProofPool: SyncContributionAndProofPool;
76
85
  readonly executionPayloadBidPool: ExecutionPayloadBidPool;
@@ -196,7 +205,6 @@ export declare class BeaconChain implements IBeaconChain {
196
205
  slot: Slot;
197
206
  } | null>;
198
207
  getBlobSidecars(blockSlot: Slot, blockRootHex: string): Promise<deneb.BlobSidecars | null>;
199
- getSerializedBlobSidecars(blockSlot: Slot, blockRootHex: string): Promise<Uint8Array | null>;
200
208
  getSerializedExecutionPayloadEnvelope(blockSlot: Slot, blockRootHex: string): Promise<Uint8Array | null>;
201
209
  /**
202
210
  * Batch variant: archived header envelopes are rebuilt 32 per EL round-trip. Aligned with `requests`.
@@ -244,6 +252,11 @@ export declare class BeaconChain implements IBeaconChain {
244
252
  private produceProposerSlashing;
245
253
  getStatus(): Status;
246
254
  recomputeForkChoiceHead(caller: ForkchoiceCaller): ProtoBlock;
255
+ /**
256
+ * Apply chain side effects of a fork choice head change: head state, head metrics, and reorg detection
257
+ */
258
+ onHeadChanged(oldHead: ProtoBlock, newHead: ProtoBlock, maybeHeadState?: IBeaconStateView): void;
259
+ private recomputeHeadAfterELInvalidResponse;
247
260
  /**
248
261
  * Emit `head` and `head_v2` when the fork choice head differs between two observations. Every caller that
249
262
  * can move the head, `updateAndGetHead()` and `updateTime()`, must capture the head before and pass both.
@@ -290,6 +303,14 @@ export declare class BeaconChain implements IBeaconChain {
290
303
  private persistSszObject;
291
304
  private onScrapeMetrics;
292
305
  private onClockSlot;
306
+ /**
307
+ * Track upcoming proposals of validators connected to this node, so that SingleAttestationPool only collects and
308
+ * the network only subscribes to all attestation subnets before them. Proposals only change when the decision block
309
+ * of next epoch proposers changes (the head enters a new epoch or reorgs that block) or a new validator connects,
310
+ * set localProposalsKey to null before calling for the latter.
311
+ * Never throws, it runs during block import.
312
+ */
313
+ private refreshLocalProposals;
293
314
  private onClockEpoch;
294
315
  protected onNewHead(head: ProtoBlock): void;
295
316
  private onForkChoiceJustified;
@@ -1 +1 @@
1
- {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../src/chain/chain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../src/chain/chain.ts"],"names":[],"mappings":"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"}