@lodestar/beacon-node 1.51.0-dev.f41cd750ac → 1.51.0-dev.f921fbf6b7

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 (430) 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/validatorMonitor.d.ts +1 -2
  131. package/lib/chain/validatorMonitor.d.ts.map +1 -1
  132. package/lib/chain/validatorMonitor.js +0 -3
  133. package/lib/chain/validatorMonitor.js.map +1 -1
  134. package/lib/db/repositories/blobSidecars.d.ts +0 -1
  135. package/lib/db/repositories/blobSidecars.d.ts.map +1 -1
  136. package/lib/db/repositories/blobSidecars.js +0 -1
  137. package/lib/db/repositories/blobSidecars.js.map +1 -1
  138. package/lib/execution/builder/apiClient.d.ts +14 -8
  139. package/lib/execution/builder/apiClient.d.ts.map +1 -1
  140. package/lib/execution/builder/apiClient.js +12 -10
  141. package/lib/execution/builder/apiClient.js.map +1 -1
  142. package/lib/execution/builder/http.d.ts +2 -0
  143. package/lib/execution/builder/http.d.ts.map +1 -1
  144. package/lib/execution/builder/http.js +2 -0
  145. package/lib/execution/builder/http.js.map +1 -1
  146. package/lib/execution/engine/http.d.ts +4 -6
  147. package/lib/execution/engine/http.d.ts.map +1 -1
  148. package/lib/execution/engine/http.js +8 -10
  149. package/lib/execution/engine/http.js.map +1 -1
  150. package/lib/execution/engine/interface.d.ts +17 -5
  151. package/lib/execution/engine/interface.d.ts.map +1 -1
  152. package/lib/execution/engine/interface.js.map +1 -1
  153. package/lib/execution/engine/jsonRpcTransport.d.ts +2 -4
  154. package/lib/execution/engine/jsonRpcTransport.d.ts.map +1 -1
  155. package/lib/execution/engine/jsonRpcTransport.js +2 -12
  156. package/lib/execution/engine/jsonRpcTransport.js.map +1 -1
  157. package/lib/execution/engine/mock.d.ts +0 -1
  158. package/lib/execution/engine/mock.d.ts.map +1 -1
  159. package/lib/execution/engine/mock.js +0 -4
  160. package/lib/execution/engine/mock.js.map +1 -1
  161. package/lib/execution/engine/restTransport.d.ts +2 -4
  162. package/lib/execution/engine/restTransport.d.ts.map +1 -1
  163. package/lib/execution/engine/restTransport.js +1 -15
  164. package/lib/execution/engine/restTransport.js.map +1 -1
  165. package/lib/execution/engine/sszTypes.d.ts +0 -9
  166. package/lib/execution/engine/sszTypes.d.ts.map +1 -1
  167. package/lib/execution/engine/sszTypes.js +0 -5
  168. package/lib/execution/engine/sszTypes.js.map +1 -1
  169. package/lib/execution/engine/transport.d.ts +1 -14
  170. package/lib/execution/engine/transport.d.ts.map +1 -1
  171. package/lib/execution/engine/types.d.ts +0 -8
  172. package/lib/execution/engine/types.d.ts.map +1 -1
  173. package/lib/execution/engine/types.js +0 -8
  174. package/lib/execution/engine/types.js.map +1 -1
  175. package/lib/execution/engine/utils.d.ts.map +1 -1
  176. package/lib/execution/engine/utils.js +3 -2
  177. package/lib/execution/engine/utils.js.map +1 -1
  178. package/lib/index.d.ts +1 -1
  179. package/lib/index.d.ts.map +1 -1
  180. package/lib/index.js +1 -1
  181. package/lib/index.js.map +1 -1
  182. package/lib/metrics/metrics/beacon.d.ts +0 -9
  183. package/lib/metrics/metrics/beacon.d.ts.map +1 -1
  184. package/lib/metrics/metrics/beacon.js +0 -30
  185. package/lib/metrics/metrics/beacon.js.map +1 -1
  186. package/lib/metrics/metrics/lodestar.d.ts +27 -8
  187. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  188. package/lib/metrics/metrics/lodestar.js +74 -18
  189. package/lib/metrics/metrics/lodestar.js.map +1 -1
  190. package/lib/metrics/server/http.js +5 -5
  191. package/lib/metrics/server/http.js.map +1 -1
  192. package/lib/network/core/networkCore.d.ts +2 -1
  193. package/lib/network/core/networkCore.d.ts.map +1 -1
  194. package/lib/network/core/networkCore.js +4 -0
  195. package/lib/network/core/networkCore.js.map +1 -1
  196. package/lib/network/core/networkCoreWorker.js +1 -0
  197. package/lib/network/core/networkCoreWorker.js.map +1 -1
  198. package/lib/network/core/networkCoreWorkerHandler.d.ts +2 -1
  199. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +1 -1
  200. package/lib/network/core/networkCoreWorkerHandler.js +3 -0
  201. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  202. package/lib/network/core/types.d.ts +4 -1
  203. package/lib/network/core/types.d.ts.map +1 -1
  204. package/lib/network/gossip/gossipsub.d.ts +1 -0
  205. package/lib/network/gossip/gossipsub.d.ts.map +1 -1
  206. package/lib/network/gossip/gossipsub.js +10 -0
  207. package/lib/network/gossip/gossipsub.js.map +1 -1
  208. package/lib/network/gossip/interface.d.ts +1 -8
  209. package/lib/network/gossip/interface.d.ts.map +1 -1
  210. package/lib/network/gossip/interface.js +0 -1
  211. package/lib/network/gossip/interface.js.map +1 -1
  212. package/lib/network/gossip/topic.d.ts +0 -16
  213. package/lib/network/gossip/topic.d.ts.map +1 -1
  214. package/lib/network/gossip/topic.js +0 -23
  215. package/lib/network/gossip/topic.js.map +1 -1
  216. package/lib/network/interface.d.ts +2 -5
  217. package/lib/network/interface.d.ts.map +1 -1
  218. package/lib/network/network.d.ts +6 -7
  219. package/lib/network/network.d.ts.map +1 -1
  220. package/lib/network/network.js +50 -37
  221. package/lib/network/network.js.map +1 -1
  222. package/lib/network/options.d.ts.map +1 -1
  223. package/lib/network/options.js +2 -0
  224. package/lib/network/options.js.map +1 -1
  225. package/lib/network/peers/peerManager.d.ts.map +1 -1
  226. package/lib/network/peers/peerManager.js +28 -1
  227. package/lib/network/peers/peerManager.js.map +1 -1
  228. package/lib/network/peers/utils/prioritizePeers.d.ts +4 -1
  229. package/lib/network/peers/utils/prioritizePeers.d.ts.map +1 -1
  230. package/lib/network/peers/utils/prioritizePeers.js +8 -16
  231. package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
  232. package/lib/network/peers/utils/subnetMap.d.ts +5 -2
  233. package/lib/network/peers/utils/subnetMap.d.ts.map +1 -1
  234. package/lib/network/peers/utils/subnetMap.js +6 -3
  235. package/lib/network/peers/utils/subnetMap.js.map +1 -1
  236. package/lib/network/processor/extractSlotRootFns.d.ts.map +1 -1
  237. package/lib/network/processor/extractSlotRootFns.js +1 -8
  238. package/lib/network/processor/extractSlotRootFns.js.map +1 -1
  239. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  240. package/lib/network/processor/gossipHandlers.js +43 -123
  241. package/lib/network/processor/gossipHandlers.js.map +1 -1
  242. package/lib/network/processor/gossipQueues/index.d.ts.map +1 -1
  243. package/lib/network/processor/gossipQueues/index.js +0 -6
  244. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  245. package/lib/network/processor/gossipValidatorFn.d.ts.map +1 -1
  246. package/lib/network/processor/gossipValidatorFn.js +1 -5
  247. package/lib/network/processor/gossipValidatorFn.js.map +1 -1
  248. package/lib/network/processor/index.d.ts +6 -0
  249. package/lib/network/processor/index.d.ts.map +1 -1
  250. package/lib/network/processor/index.js +29 -4
  251. package/lib/network/processor/index.js.map +1 -1
  252. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +1 -1
  253. package/lib/network/reqresp/ReqRespBeaconNode.js +0 -3
  254. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  255. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts +2 -2
  256. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +1 -1
  257. package/lib/network/reqresp/handlers/index.d.ts.map +1 -1
  258. package/lib/network/reqresp/handlers/index.js +1 -12
  259. package/lib/network/reqresp/handlers/index.js.map +1 -1
  260. package/lib/network/reqresp/protocols.d.ts +0 -2
  261. package/lib/network/reqresp/protocols.d.ts.map +1 -1
  262. package/lib/network/reqresp/protocols.js +0 -10
  263. package/lib/network/reqresp/protocols.js.map +1 -1
  264. package/lib/network/reqresp/rateLimit.d.ts.map +1 -1
  265. package/lib/network/reqresp/rateLimit.js +1 -17
  266. package/lib/network/reqresp/rateLimit.js.map +1 -1
  267. package/lib/network/reqresp/types.d.ts +2 -8
  268. package/lib/network/reqresp/types.d.ts.map +1 -1
  269. package/lib/network/reqresp/types.js +1 -7
  270. package/lib/network/reqresp/types.js.map +1 -1
  271. package/lib/network/subnets/attnetsService.d.ts +35 -5
  272. package/lib/network/subnets/attnetsService.d.ts.map +1 -1
  273. package/lib/network/subnets/attnetsService.js +84 -6
  274. package/lib/network/subnets/attnetsService.js.map +1 -1
  275. package/lib/network/subnets/interface.d.ts +7 -0
  276. package/lib/network/subnets/interface.d.ts.map +1 -1
  277. package/lib/network/subnets/interface.js.map +1 -1
  278. package/lib/node/nodejs.d.ts +2 -0
  279. package/lib/node/nodejs.d.ts.map +1 -1
  280. package/lib/node/nodejs.js +37 -19
  281. package/lib/node/nodejs.js.map +1 -1
  282. package/lib/node/options.d.ts +3 -1
  283. package/lib/node/options.d.ts.map +1 -1
  284. package/lib/node/options.js +4 -2
  285. package/lib/node/options.js.map +1 -1
  286. package/lib/sync/range/batch.d.ts +2 -3
  287. package/lib/sync/range/batch.d.ts.map +1 -1
  288. package/lib/sync/range/batch.js +9 -22
  289. package/lib/sync/range/batch.js.map +1 -1
  290. package/lib/sync/range/chain.d.ts.map +1 -1
  291. package/lib/sync/range/chain.js +2 -15
  292. package/lib/sync/range/chain.js.map +1 -1
  293. package/lib/sync/unknownBlock.d.ts.map +1 -1
  294. package/lib/sync/unknownBlock.js +1 -7
  295. package/lib/sync/unknownBlock.js.map +1 -1
  296. package/lib/sync/utils/downloadByRange.d.ts +6 -34
  297. package/lib/sync/utils/downloadByRange.d.ts.map +1 -1
  298. package/lib/sync/utils/downloadByRange.js +24 -128
  299. package/lib/sync/utils/downloadByRange.js.map +1 -1
  300. package/lib/sync/utils/downloadByRoot.d.ts +2 -18
  301. package/lib/sync/utils/downloadByRoot.d.ts.map +1 -1
  302. package/lib/sync/utils/downloadByRoot.js +14 -99
  303. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  304. package/lib/util/blobs.d.ts +1 -7
  305. package/lib/util/blobs.d.ts.map +1 -1
  306. package/lib/util/blobs.js +0 -19
  307. package/lib/util/blobs.js.map +1 -1
  308. package/lib/util/execution.d.ts +3 -4
  309. package/lib/util/execution.d.ts.map +1 -1
  310. package/lib/util/execution.js +1 -73
  311. package/lib/util/execution.js.map +1 -1
  312. package/lib/util/sszBytes.d.ts +5 -1
  313. package/lib/util/sszBytes.d.ts.map +1 -1
  314. package/lib/util/sszBytes.js +34 -17
  315. package/lib/util/sszBytes.js.map +1 -1
  316. package/lib/util/types.d.ts +0 -5
  317. package/lib/util/types.d.ts.map +1 -1
  318. package/lib/util/types.js +1 -2
  319. package/lib/util/types.js.map +1 -1
  320. package/package.json +16 -16
  321. package/src/api/impl/beacon/blocks/index.ts +24 -64
  322. package/src/api/impl/beacon/pool/index.ts +26 -0
  323. package/src/api/impl/validator/index.ts +43 -29
  324. package/src/chain/GetBlobsTracker.ts +10 -39
  325. package/src/chain/blocks/blockInput/blockInput.ts +11 -343
  326. package/src/chain/blocks/blockInput/errors.ts +1 -2
  327. package/src/chain/blocks/blockInput/types.ts +2 -20
  328. package/src/chain/blocks/importBlock.ts +56 -72
  329. package/src/chain/blocks/importExecutionPayload.ts +42 -13
  330. package/src/chain/blocks/index.ts +5 -2
  331. package/src/chain/blocks/types.ts +5 -31
  332. package/src/chain/blocks/verifyBlock.ts +30 -16
  333. package/src/chain/blocks/verifyBlocksDataAvailability.ts +6 -1
  334. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +9 -6
  335. package/src/chain/blocks/verifyBlocksSanityChecks.ts +4 -1
  336. package/src/chain/blocks/verifyBlocksSignatures.ts +10 -5
  337. package/src/chain/blocks/writeBlockInputToDb.ts +6 -29
  338. package/src/chain/bls/interface.ts +2 -0
  339. package/src/chain/bls/multithread/index.ts +43 -19
  340. package/src/chain/chain.ts +135 -37
  341. package/src/chain/emitter.ts +8 -8
  342. package/src/chain/errors/executionPayloadEnvelope.ts +8 -0
  343. package/src/chain/errors/index.ts +0 -1
  344. package/src/chain/forkChoice/index.ts +11 -0
  345. package/src/chain/forkChoiceExecutionEngine.ts +183 -0
  346. package/src/chain/interface.ts +7 -3
  347. package/src/chain/opPools/aggregatedAttestationPool.ts +222 -35
  348. package/src/chain/opPools/index.ts +1 -0
  349. package/src/chain/opPools/singleAttestationPool.ts +287 -0
  350. package/src/chain/options.ts +5 -2
  351. package/src/chain/produceBlock/produceBlockBody.ts +7 -3
  352. package/src/chain/proposerTracker.ts +94 -0
  353. package/src/chain/regen/interface.ts +1 -1
  354. package/src/chain/regen/queued.ts +6 -4
  355. package/src/chain/seenCache/seenGossipBlockInput.ts +9 -93
  356. package/src/chain/validation/executionPayloadEnvelope.ts +68 -1
  357. package/src/chain/validatorMonitor.ts +0 -6
  358. package/src/db/repositories/blobSidecars.ts +0 -1
  359. package/src/execution/builder/apiClient.ts +16 -13
  360. package/src/execution/builder/http.ts +4 -0
  361. package/src/execution/engine/http.ts +19 -42
  362. package/src/execution/engine/interface.ts +18 -9
  363. package/src/execution/engine/jsonRpcTransport.ts +10 -22
  364. package/src/execution/engine/mock.ts +0 -7
  365. package/src/execution/engine/restTransport.ts +3 -22
  366. package/src/execution/engine/sszTypes.ts +0 -9
  367. package/src/execution/engine/transport.ts +8 -17
  368. package/src/execution/engine/types.ts +0 -17
  369. package/src/execution/engine/utils.ts +4 -2
  370. package/src/index.ts +1 -1
  371. package/src/metrics/metrics/beacon.ts +0 -30
  372. package/src/metrics/metrics/lodestar.ts +75 -18
  373. package/src/metrics/server/http.ts +5 -5
  374. package/src/network/core/networkCore.ts +6 -1
  375. package/src/network/core/networkCoreWorker.ts +1 -0
  376. package/src/network/core/networkCoreWorkerHandler.ts +4 -1
  377. package/src/network/core/types.ts +4 -1
  378. package/src/network/gossip/gossipsub.ts +11 -0
  379. package/src/network/gossip/interface.ts +0 -5
  380. package/src/network/gossip/topic.ts +0 -25
  381. package/src/network/interface.ts +0 -5
  382. package/src/network/network.ts +50 -60
  383. package/src/network/options.ts +2 -0
  384. package/src/network/peers/peerManager.ts +27 -2
  385. package/src/network/peers/utils/prioritizePeers.ts +14 -22
  386. package/src/network/peers/utils/subnetMap.ts +6 -3
  387. package/src/network/processor/extractSlotRootFns.ts +0 -9
  388. package/src/network/processor/gossipHandlers.ts +56 -156
  389. package/src/network/processor/gossipQueues/index.ts +0 -6
  390. package/src/network/processor/gossipValidatorFn.ts +0 -5
  391. package/src/network/processor/index.ts +25 -4
  392. package/src/network/reqresp/ReqRespBeaconNode.ts +0 -7
  393. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +2 -2
  394. package/src/network/reqresp/handlers/index.ts +0 -17
  395. package/src/network/reqresp/protocols.ts +0 -12
  396. package/src/network/reqresp/rateLimit.ts +1 -17
  397. package/src/network/reqresp/types.ts +0 -13
  398. package/src/network/subnets/attnetsService.ts +94 -6
  399. package/src/network/subnets/interface.ts +7 -0
  400. package/src/node/nodejs.ts +34 -15
  401. package/src/node/options.ts +5 -1
  402. package/src/sync/range/batch.ts +9 -21
  403. package/src/sync/range/chain.ts +2 -14
  404. package/src/sync/unknownBlock.ts +1 -8
  405. package/src/sync/utils/downloadByRange.ts +31 -230
  406. package/src/sync/utils/downloadByRoot.ts +15 -142
  407. package/src/util/blobs.ts +0 -34
  408. package/src/util/execution.ts +8 -102
  409. package/src/util/sszBytes.ts +40 -22
  410. package/src/util/types.ts +1 -8
  411. package/lib/chain/errors/blobSidecarError.d.ts +0 -108
  412. package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
  413. package/lib/chain/errors/blobSidecarError.js +0 -38
  414. package/lib/chain/errors/blobSidecarError.js.map +0 -1
  415. package/lib/chain/validation/blobSidecar.d.ts +0 -16
  416. package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
  417. package/lib/chain/validation/blobSidecar.js +0 -276
  418. package/lib/chain/validation/blobSidecar.js.map +0 -1
  419. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts +0 -9
  420. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
  421. package/lib/network/reqresp/handlers/blobSidecarsByRange.js +0 -91
  422. package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +0 -1
  423. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts +0 -5
  424. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
  425. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js +0 -46
  426. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +0 -1
  427. package/src/chain/errors/blobSidecarError.ts +0 -70
  428. package/src/chain/validation/blobSidecar.ts +0 -357
  429. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -133
  430. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -69
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/blocks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAW,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAgFlE,OAAO,EAAC,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAiB1C,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,UAAU,EAChB,EAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAC,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC,GACzG,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAitCnD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/blocks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAW,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AA+ElE,OAAO,EAAC,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAiB1C,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,UAAU,EAChB,EAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAC,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC,GACzG,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CA0qCnD"}
@@ -5,7 +5,7 @@ import { BUILDER_INDEX_SELF_BUILD, NUMBER_OF_COLUMNS, SLOTS_PER_HISTORICAL_ROOT,
5
5
  import { computeEpochAtSlot, computeTimeAtSlot, isStatePostGloas, reconstructSignedBlockContents, signedBeaconBlockToBlinded, signedBlockToSignedHeader, } from "@lodestar/state-transition";
6
6
  import { ProducedBlockSource, isDenebBlockContents, isSignedExecutionPayloadEnvelopeContents, sszTypesFor, } from "@lodestar/types";
7
7
  import { fromHex, prettyGweiToEth, sleep, toHex, toRootHex } from "@lodestar/utils";
8
- import { BlockInputSource, isBlockInputBlobs, isBlockInputColumns } from "../../../../chain/blocks/blockInput/index.js";
8
+ import { BlockInputSource, isBlockInputColumns } from "../../../../chain/blocks/blockInput/index.js";
9
9
  import { PayloadEnvelopeInputSource } from "../../../../chain/blocks/payloadEnvelopeInput/index.js";
10
10
  import { verifyBlocksInEpoch } from "../../../../chain/blocks/verifyBlock.js";
11
11
  import { verifyExecutionPayloadEnvelope } from "../../../../chain/blocks/verifyExecutionPayloadEnvelope.js";
@@ -17,7 +17,7 @@ import { validateGossipBlock, verifyBlockProposerSignature } from "../../../../c
17
17
  import { validateGossipExecutionPayloadBid } from "../../../../chain/validation/executionPayloadBid.js";
18
18
  import { validateApiExecutionPayloadEnvelope } from "../../../../chain/validation/executionPayloadEnvelope.js";
19
19
  import { OpSource } from "../../../../chain/validatorMonitor.js";
20
- import { computePreFuluKzgCommitmentsInclusionProof, getBlobSidecars, kzgCommitmentToVersionedHash, reconstructBlobs, } from "../../../../util/blobs.js";
20
+ import { computePreFuluKzgCommitmentsInclusionProof, kzgCommitmentToVersionedHash, reconstructBlobs, } from "../../../../util/blobs.js";
21
21
  import { getBlobKzgCommitments, getDataColumnSidecarsFromBlock, getGloasDataColumnSidecars, } from "../../../../util/dataColumns.js";
22
22
  import { isOptimisticBlock } from "../../../../util/forkChoice.js";
23
23
  import { kzg } from "../../../../util/kzg.js";
@@ -39,6 +39,9 @@ export function getBeaconBlockApi(opts, { chain, config, metrics, network, db })
39
39
  const signedBlock = signedBlockContents.signedBlock;
40
40
  const slot = signedBlock.message.slot;
41
41
  const fork = config.getForkName(slot);
42
+ if (!isForkPostFulu(fork)) {
43
+ throw new ApiError(400, `Publishing blocks is not supported for pre-fulu fork=${fork}`);
44
+ }
42
45
  const blockRoot = toRootHex(chain.config.getForkTypes(slot).BeaconBlock.hashTreeRoot(signedBlock.message));
43
46
  const blockForImport = chain.seenBlockInputCache.getByBlock({
44
47
  block: signedBlock,
@@ -57,38 +60,20 @@ export function getBeaconBlockApi(opts, { chain, config, metrics, network, db })
57
60
  source: PayloadEnvelopeInputSource.api,
58
61
  });
59
62
  }
60
- let blobSidecars, dataColumnSidecars;
61
- if (isDenebBlockContents(signedBlockContents)) {
62
- if (isForkPostGloas(fork)) {
63
- // After gloas, data columns are not published with the block but when publishing the execution payload envelope
64
- blobSidecars = [];
65
- dataColumnSidecars = [];
66
- }
67
- else if (isForkPostFulu(fork)) {
68
- const timer = metrics?.peerDas.dataColumnSidecarComputationTime.startTimer();
69
- // If the block was produced by this node, we will already have computed cells
70
- // Otherwise, we will compute them from the blobs in this function
71
- const cells = chain.blockProductionCache.get(blockRoot)?.cells ??
72
- signedBlockContents.blobs.map((blob) => kzg.computeCells(blob));
73
- const cellsAndProofs = cells.map((rowCells, rowIndex) => ({
74
- cells: rowCells,
75
- proofs: signedBlockContents.kzgProofs.slice(rowIndex * NUMBER_OF_COLUMNS, (rowIndex + 1) * NUMBER_OF_COLUMNS),
76
- }));
77
- dataColumnSidecars = getDataColumnSidecarsFromBlock(config, signedBlock, cellsAndProofs);
78
- timer?.();
79
- blobSidecars = [];
80
- }
81
- else if (isForkPostDeneb(fork)) {
82
- blobSidecars = getBlobSidecars(config, signedBlock, signedBlockContents.blobs, signedBlockContents.kzgProofs);
83
- dataColumnSidecars = [];
84
- }
85
- else {
86
- throw Error(`Invalid data fork=${fork} for publish`);
87
- }
88
- }
89
- else {
90
- blobSidecars = [];
91
- dataColumnSidecars = [];
63
+ // After gloas, data columns are not published with the block but when publishing the execution payload envelope.
64
+ let dataColumnSidecars = [];
65
+ if (isDenebBlockContents(signedBlockContents) && isForkPostFulu(fork) && !isForkPostGloas(fork)) {
66
+ const timer = metrics?.peerDas.dataColumnSidecarComputationTime.startTimer();
67
+ // If the block was produced by this node, we will already have computed cells
68
+ // Otherwise, we will compute them from the blobs in this function
69
+ const cells = chain.blockProductionCache.get(blockRoot)?.cells ??
70
+ signedBlockContents.blobs.map((blob) => kzg.computeCells(blob));
71
+ const cellsAndProofs = cells.map((rowCells, rowIndex) => ({
72
+ cells: rowCells,
73
+ proofs: signedBlockContents.kzgProofs.slice(rowIndex * NUMBER_OF_COLUMNS, (rowIndex + 1) * NUMBER_OF_COLUMNS),
74
+ }));
75
+ dataColumnSidecars = getDataColumnSidecarsFromBlock(config, signedBlock, cellsAndProofs);
76
+ timer?.();
92
77
  }
93
78
  if (isBlockInputColumns(blockForImport)) {
94
79
  for (const dataColumnSidecar of dataColumnSidecars) {
@@ -104,18 +89,6 @@ export function getBeaconBlockApi(opts, { chain, config, metrics, network, db })
104
89
  { throwOnDuplicateAdd: false });
105
90
  }
106
91
  }
107
- else if (isBlockInputBlobs(blockForImport)) {
108
- for (const blobSidecar of blobSidecars) {
109
- blockForImport.addBlob({
110
- blockRootHex: blockRoot,
111
- blobSidecar,
112
- source: BlockInputSource.api,
113
- seenTimestampSec,
114
- },
115
- // Same as above for columns
116
- { throwOnDuplicateAdd: false });
117
- }
118
- }
119
92
  // check what validations have been requested before broadcasting and publishing the block
120
93
  // TODO: add validation time to metrics
121
94
  broadcastValidation = broadcastValidation ?? routes.beacon.BroadcastValidation.gossip;
@@ -256,7 +229,6 @@ export function getBeaconBlockApi(opts, { chain, config, metrics, network, db })
256
229
  //
257
230
  () => network.publishBeaconBlock(signedBlock),
258
231
  ...dataColumnSidecars.map((dataColumnSidecar) => () => network.publishDataColumnSidecar(dataColumnSidecar)),
259
- ...blobSidecars.map((blobSidecar) => () => network.publishBlobSidecar(blobSidecar)),
260
232
  () =>
261
233
  // there is no rush to persist block since we published it to gossip anyway
262
234
  chain.processBlock(blockForImport, opts).catch((e) => {
@@ -322,20 +294,6 @@ export function getBeaconBlockApi(opts, { chain, config, metrics, network, db })
322
294
  }
323
295
  }
324
296
  }
325
- else if (isBlockInputBlobs(blockForImport) && chain.emitter.listenerCount(routes.events.EventType.blobSidecar)) {
326
- const blobSidecars = blockForImport.getBlobs();
327
- const versionedHashes = blockForImport.getVersionedHashes();
328
- for (const blobSidecar of blobSidecars) {
329
- const { index, kzgCommitment } = blobSidecar;
330
- chain.emitter.emit(routes.events.EventType.blobSidecar, {
331
- blockRoot,
332
- slot,
333
- index,
334
- kzgCommitment: toHex(kzgCommitment),
335
- versionedHash: toHex(versionedHashes[index]),
336
- });
337
- }
338
- }
339
297
  };
340
298
  const publishBlindedBlockV2 = async ({ signedBlindedBlock, broadcastValidation }, context, opts = {}) => {
341
299
  const slot = signedBlindedBlock.message.slot;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/blocks/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/blocks/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/pool/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AA8BxD,OAAO,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAE1C,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,MAAM,EACN,OAAO,EACP,OAAO,GACR,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAyWjH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/pool/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AA8BxD,OAAO,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAE1C,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,MAAM,EACN,OAAO,EACP,OAAO,GACR,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAmYjH"}
@@ -76,6 +76,23 @@ export function getBeaconPoolApi({ chain, logger, metrics, network, }) {
76
76
  // validated attestation, which the route requires us to do. Same handling as the gossip path
77
77
  logger.debug("Error adding unaggregated attestation to pool", { subnet }, e);
78
78
  }
79
+ // Collected only for vote slots that an upcoming block of a connected validator can include
80
+ if (isForkPostElectra(fork) && chain.proposerTracker.shouldCollect(slot)) {
81
+ try {
82
+ const insertOutcome = chain.singleAttestationPool.add(attestation, attDataRootHex, validatorCommitteeIndex, committeeSize);
83
+ metrics?.opPool.singleAttestationPool.apiInsertOutcome.inc({ insertOutcome });
84
+ }
85
+ catch (e) {
86
+ logger.debug("Error adding single attestation to pool", {
87
+ slot,
88
+ committeeIndex,
89
+ validatorCommitteeIndex,
90
+ validatorIndex: attestation.attesterIndex,
91
+ subnet,
92
+ attDataRoot: attDataRootHex,
93
+ }, e);
94
+ }
95
+ }
79
96
  if (isForkPostElectra(fork)) {
80
97
  chain.emitter.emit(routes.events.EventType.singleAttestation, attestation);
81
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/pool/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/pool/index.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,12 @@ import { ApplicationMethods } from "@lodestar/api/server";
3
3
  import { ProducedBlockSource } from "@lodestar/types";
4
4
  import { ApiOptions } from "../../options.js";
5
5
  import { ApiModules } from "../types.js";
6
+ /**
7
+ * Post-gloas cutoff, kept at 1667 BPS (2 seconds for 12s slots) for now.
8
+ *
9
+ * TODO GLOAS: revisit, the block propagates faster as it only commits to a bid and the attestation deadline changed
10
+ */
11
+ export declare const BLOCK_PRODUCTION_RACE_CUTOFF_GLOAS_BPS = 1667;
6
12
  /**
7
13
  * Engine block selection reasons tracked in metrics / logs
8
14
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/impl/validator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAmCxD,OAAO,EAQL,mBAAmB,EAUpB,MAAM,iBAAiB,CAAC;AAmDzB,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAkFvC;;GAEG;AACH,oBAAY,0BAA0B;IACpC,eAAe,qBAAqB;IACpC,YAAY,kBAAkB;IAC9B,cAAc,oBAAoB;IAClC,cAAc,oBAAoB;IAClC,YAAY,mBAAmB;IAC/B,qBAAqB,4BAA4B;IACjD,iBAAiB,uBAAuB;IACxC,UAAU,gBAAgB;IAC1B,eAAe,qBAAqB;CACrC;AAED;;GAEG;AACH,oBAAY,2BAA2B;IACrC,cAAc,oBAAoB;IAClC,WAAW,iBAAiB;IAC5B,aAAa,mBAAmB;IAChC,UAAU,gBAAgB;IAC1B,gBAAgB,sBAAsB;CACvC;AAED,MAAM,MAAM,oBAAoB,GAC5B;IACE,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC;IACnC,MAAM,EAAE,0BAA0B,CAAC;CACpC,GACD;IACE,MAAM,EAAE,mBAAmB,CAAC,OAAO,CAAC;IACpC,MAAM,EAAE,2BAA2B,CAAC;CACrC,CAAC;AAEN;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,UAAU,EAChB,EAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,EAAE,UAAU,GAC1D,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CA4mEhD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/impl/validator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAmCxD,OAAO,EAQL,mBAAmB,EAUpB,MAAM,iBAAiB,CAAC;AAmDzB,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAmBvC;;;;GAIG;AACH,eAAO,MAAM,sCAAsC,OAAO,CAAC;AA8D3D;;GAEG;AACH,oBAAY,0BAA0B;IACpC,eAAe,qBAAqB;IACpC,YAAY,kBAAkB;IAC9B,cAAc,oBAAoB;IAClC,cAAc,oBAAoB;IAClC,YAAY,mBAAmB;IAC/B,qBAAqB,4BAA4B;IACjD,iBAAiB,uBAAuB;IACxC,UAAU,gBAAgB;IAC1B,eAAe,qBAAqB;CACrC;AAED;;GAEG;AACH,oBAAY,2BAA2B;IACrC,cAAc,oBAAoB;IAClC,WAAW,iBAAiB;IAC5B,aAAa,mBAAmB;IAChC,UAAU,gBAAgB;IAC1B,gBAAgB,sBAAsB;CACvC;AAED,MAAM,MAAM,oBAAoB,GAC5B;IACE,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC;IACnC,MAAM,EAAE,0BAA0B,CAAC;CACpC,GACD;IACE,MAAM,EAAE,mBAAmB,CAAC,OAAO,CAAC;IACpC,MAAM,EAAE,2BAA2B,CAAC;CACrC,CAAC;AAEN;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,UAAU,EAChB,EAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,EAAE,UAAU,GAC1D,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAsnEhD"}
@@ -16,7 +16,7 @@ import { validateApiAggregateAndProof, validateGossipInclusionList, } from "../.
16
16
  import { validateGossipProposerPreferences } from "../../../chain/validation/proposerPreferences.js";
17
17
  import { validateSyncCommitteeGossipContributionAndProof } from "../../../chain/validation/syncCommitteeContributionAndProof.js";
18
18
  import { ZERO_HASH } from "../../../constants/index.js";
19
- import { BUILDER_BID_DEADLINE_MS, decodeBuilderUrl } from "../../../execution/builder/apiClient.js";
19
+ import { decodeBuilderUrl } from "../../../execution/builder/apiClient.js";
20
20
  import { BuilderStatus, NoBidReceived } from "../../../execution/builder/http.js";
21
21
  import { getBuilderBidTotalGwei, validateBuilderApiExecutionPayloadBid } from "../../../execution/builder/validateBid.js";
22
22
  import { validateGossipFnRetryUnknownRoot } from "../../../network/processor/gossipHandlers.js";
@@ -36,10 +36,14 @@ import { computeSubnetForCommitteesAtSlot, getPubkeysForIndices, selectBlockProd
36
36
  * A cutoff of 1667 BPS (2 seconds for 12s slots) gives enough time and if there are unexpected delays
37
37
  * it ensures we publish in time as proposals after the attestation deadline will likely be orphaned
38
38
  * due to proposer boost reorg.
39
- *
40
- * TODO GLOAS: re-evaluate cutoff timing due to attestation deadline changes in gloas
41
39
  */
42
40
  const BLOCK_PRODUCTION_RACE_CUTOFF_BPS = 1667;
41
+ /**
42
+ * Post-gloas cutoff, kept at 1667 BPS (2 seconds for 12s slots) for now.
43
+ *
44
+ * TODO GLOAS: revisit, the block propagates faster as it only commits to a bid and the attestation deadline changed
45
+ */
46
+ export const BLOCK_PRODUCTION_RACE_CUTOFF_GLOAS_BPS = 1667;
43
47
  /** Rejection message of the bid block branch when there is no viable bid to commit to */
44
48
  const NO_BID_AVAILABLE = "No builder bid available";
45
49
  /**
@@ -712,31 +716,43 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
712
716
  const builderBidExpected = builderConfig.builders.length > 0 ||
713
717
  (!circuitBreakerActive &&
714
718
  chain.executionPayloadBidPool.getBestBid(slot, bidParentBlockHash, parentBlockRootHex) !== null);
715
- // Select the p2p bid once builders had time to bid up, matching the deadline advertised
716
- // on builder API bid requests, unless the circuit breaker is active
717
- const p2pBidPromise = circuitBreakerActive
718
- ? Promise.resolve(null)
719
- : sleep(Math.max(0, BUILDER_BID_DEADLINE_MS - chain.clock.msFromSlot(slot))).then(() => {
720
- const p2pBid = chain.executionPayloadBidPool.getBestBid(slot, bidParentBlockHash, parentBlockRootHex);
721
- // Discard p2p bids below the proposer's configured floor on the total payment.
722
- // A p2p bid's total is just its value since gossip validation enforces executionPayment=0.
723
- if (p2pBid !== null && BigInt(p2pBid.signedBid.message.value) < builderConfig.minBid) {
724
- logger.info("Best p2p bid below configured minimum", {
725
- slot,
726
- bidValue: prettyGweiToEth(p2pBid.signedBid.message.value),
727
- minBid: prettyGweiToEth(builderConfig.minBid),
728
- });
729
- return null;
730
- }
731
- return p2pBid;
732
- });
719
+ // Calculate cutoff time based on start of the slot, ensures a slow local payload build does
720
+ // not delay the proposal when a builder bid block is available (and vice versa)
721
+ const cutoffMs = Math.max(0, config.getSlotComponentDurationMs(fork, BLOCK_PRODUCTION_RACE_CUTOFF_GLOAS_BPS) - chain.clock.msFromSlot(slot));
722
+ // Give p2p bids the same time to bid up as granted to builder API bid requests via the advertised
723
+ // deadline, the pool is read once the deadline passed and the bid requests settled. A late request
724
+ // does not wait past the race cutoff, a pooled bid is still the fastest fallback if the local block fails
725
+ const bidDeadlinePromise = circuitBreakerActive
726
+ ? Promise.resolve()
727
+ : sleep(Math.min(chain.builderApiClient.bidDeadline, cutoffMs));
733
728
  // Candidates are ranked by their boosted counted total payment, the p2p bid is governed
734
729
  // by the top-level factors and each builder API bid by its own entry. Ties prefer the
735
730
  // earliest received builder API bid, so the signed block can be routed back to its
736
731
  // builder directly.
737
732
  const bestBidPromise = (async () => {
738
- const [builderApiBids, p2pBid] = await Promise.all([builderApiBidsPromise, p2pBidPromise]);
733
+ // Past the race cutoff a pooled p2p bid is used right away rather than waiting for pending
734
+ // builder API requests, the local block is selected at the cutoff anyway if it is ready
735
+ let [builderApiBids] = await Promise.all([
736
+ Promise.race([builderApiBidsPromise, sleep(cutoffMs).then(() => null)]),
737
+ bidDeadlinePromise,
738
+ ]);
739
739
  let parentExecutionRequestsPromise = null;
740
+ let p2pBid = circuitBreakerActive
741
+ ? null
742
+ : chain.executionPayloadBidPool.getBestBid(slot, bidParentBlockHash, parentBlockRootHex);
743
+ // Discard p2p bids below the proposer's configured floor on the total payment.
744
+ // A p2p bid's total is just its value since gossip validation enforces executionPayment=0.
745
+ if (p2pBid !== null && BigInt(p2pBid.signedBid.message.value) < builderConfig.minBid) {
746
+ logger.info("Best p2p bid below configured minimum", {
747
+ slot,
748
+ bidValue: prettyGweiToEth(p2pBid.signedBid.message.value),
749
+ minBid: prettyGweiToEth(builderConfig.minBid),
750
+ });
751
+ p2pBid = null;
752
+ }
753
+ if (builderApiBids === null) {
754
+ builderApiBids = p2pBid !== null ? [] : await builderApiBidsPromise;
755
+ }
740
756
  const candidates = (await Promise.all(builderApiBids.map(async ({ url, entry, signedBid, receivedMs }) => {
741
757
  try {
742
758
  await validateBuilderApiExecutionPayloadBid(chain, signedBid, {
@@ -812,9 +828,6 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
812
828
  const t = metrics?.blockProductionTime.startTimer();
813
829
  return fn().finally(() => t?.({ source }));
814
830
  };
815
- // Calculate cutoff time based on start of the slot, ensures a slow local payload build does
816
- // not delay the proposal when a builder bid block is available (and vice versa)
817
- const cutoffMs = Math.max(0, config.getSlotComponentDurationMs(fork, BLOCK_PRODUCTION_RACE_CUTOFF_BPS) - chain.clock.msFromSlot(slot));
818
831
  // use abort controller to stop waiting for the bid block if the engine block will be selected
819
832
  const controller = new AbortController();
820
833
  const enginePromise = timed(ProducedBlockSource.engine, () => chain.produceBlock(baseAttrs)).then((engineBlock) => {