@lodestar/beacon-node 1.51.0-dev.f8eff664d2 → 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 (632) hide show
  1. package/lib/api/impl/api.js +1 -1
  2. package/lib/api/impl/api.js.map +1 -1
  3. package/lib/api/impl/beacon/blocks/index.d.ts +2 -1
  4. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  5. package/lib/api/impl/beacon/blocks/index.js +48 -95
  6. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  7. package/lib/api/impl/beacon/index.d.ts +2 -1
  8. package/lib/api/impl/beacon/index.d.ts.map +1 -1
  9. package/lib/api/impl/beacon/index.js +2 -2
  10. package/lib/api/impl/beacon/index.js.map +1 -1
  11. package/lib/api/impl/beacon/pool/index.d.ts.map +1 -1
  12. package/lib/api/impl/beacon/pool/index.js +22 -2
  13. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  14. package/lib/api/impl/beacon/state/index.d.ts.map +1 -1
  15. package/lib/api/impl/beacon/state/index.js +8 -2
  16. package/lib/api/impl/beacon/state/index.js.map +1 -1
  17. package/lib/api/impl/beacon/state/utils.d.ts +3 -2
  18. package/lib/api/impl/beacon/state/utils.d.ts.map +1 -1
  19. package/lib/api/impl/beacon/state/utils.js +17 -9
  20. package/lib/api/impl/beacon/state/utils.js.map +1 -1
  21. package/lib/api/impl/debug/index.d.ts.map +1 -1
  22. package/lib/api/impl/debug/index.js +3 -0
  23. package/lib/api/impl/debug/index.js.map +1 -1
  24. package/lib/api/impl/validator/index.d.ts +6 -0
  25. package/lib/api/impl/validator/index.d.ts.map +1 -1
  26. package/lib/api/impl/validator/index.js +143 -35
  27. package/lib/api/impl/validator/index.js.map +1 -1
  28. package/lib/api/options.d.ts +2 -0
  29. package/lib/api/options.d.ts.map +1 -1
  30. package/lib/api/options.js +1 -0
  31. package/lib/api/options.js.map +1 -1
  32. package/lib/chain/GetBlobsTracker.d.ts +13 -2
  33. package/lib/chain/GetBlobsTracker.d.ts.map +1 -1
  34. package/lib/chain/GetBlobsTracker.js +69 -35
  35. package/lib/chain/GetBlobsTracker.js.map +1 -1
  36. package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
  37. package/lib/chain/archiveStore/archiveStore.js +1 -0
  38. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  39. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts +4 -0
  40. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +1 -1
  41. package/lib/chain/archiveStore/utils/archiveBlocks.js +61 -97
  42. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  43. package/lib/chain/blocks/blockInput/blockInput.d.ts +11 -56
  44. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +1 -1
  45. package/lib/chain/blocks/blockInput/blockInput.js +5 -241
  46. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  47. package/lib/chain/blocks/blockInput/errors.d.ts +2 -4
  48. package/lib/chain/blocks/blockInput/errors.d.ts.map +1 -1
  49. package/lib/chain/blocks/blockInput/errors.js.map +1 -1
  50. package/lib/chain/blocks/blockInput/types.d.ts +2 -18
  51. package/lib/chain/blocks/blockInput/types.d.ts.map +1 -1
  52. package/lib/chain/blocks/blockInput/types.js +0 -1
  53. package/lib/chain/blocks/blockInput/types.js.map +1 -1
  54. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  55. package/lib/chain/blocks/importBlock.js +42 -57
  56. package/lib/chain/blocks/importBlock.js.map +1 -1
  57. package/lib/chain/blocks/importExecutionPayload.d.ts +10 -11
  58. package/lib/chain/blocks/importExecutionPayload.d.ts.map +1 -1
  59. package/lib/chain/blocks/importExecutionPayload.js +82 -20
  60. package/lib/chain/blocks/importExecutionPayload.js.map +1 -1
  61. package/lib/chain/blocks/index.d.ts.map +1 -1
  62. package/lib/chain/blocks/index.js +4 -4
  63. package/lib/chain/blocks/index.js.map +1 -1
  64. package/lib/chain/blocks/payloadEnvelopeProcessor.d.ts +12 -9
  65. package/lib/chain/blocks/payloadEnvelopeProcessor.d.ts.map +1 -1
  66. package/lib/chain/blocks/payloadEnvelopeProcessor.js +24 -19
  67. package/lib/chain/blocks/payloadEnvelopeProcessor.js.map +1 -1
  68. package/lib/chain/blocks/types.d.ts +7 -19
  69. package/lib/chain/blocks/types.d.ts.map +1 -1
  70. package/lib/chain/blocks/types.js +5 -24
  71. package/lib/chain/blocks/types.js.map +1 -1
  72. package/lib/chain/blocks/verifyBlock.d.ts.map +1 -1
  73. package/lib/chain/blocks/verifyBlock.js +18 -7
  74. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  75. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts.map +1 -1
  76. package/lib/chain/blocks/verifyBlocksDataAvailability.js +14 -2
  77. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  78. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts +1 -1
  79. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +1 -1
  80. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +7 -3
  81. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  82. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +1 -1
  83. package/lib/chain/blocks/verifyBlocksSanityChecks.js +4 -0
  84. package/lib/chain/blocks/verifyBlocksSanityChecks.js.map +1 -1
  85. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +1 -1
  86. package/lib/chain/blocks/verifyBlocksSignatures.js +10 -5
  87. package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
  88. package/lib/chain/blocks/verifyPayloadsDataAvailability.d.ts +3 -3
  89. package/lib/chain/blocks/verifyPayloadsDataAvailability.d.ts.map +1 -1
  90. package/lib/chain/blocks/verifyPayloadsDataAvailability.js +11 -6
  91. package/lib/chain/blocks/verifyPayloadsDataAvailability.js.map +1 -1
  92. package/lib/chain/blocks/writeBlockInputToDb.d.ts +0 -2
  93. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +1 -1
  94. package/lib/chain/blocks/writeBlockInputToDb.js +6 -24
  95. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  96. package/lib/chain/bls/interface.d.ts +2 -0
  97. package/lib/chain/bls/interface.d.ts.map +1 -1
  98. package/lib/chain/bls/multithread/index.d.ts +1 -1
  99. package/lib/chain/bls/multithread/index.d.ts.map +1 -1
  100. package/lib/chain/bls/multithread/index.js +50 -22
  101. package/lib/chain/bls/multithread/index.js.map +1 -1
  102. package/lib/chain/bls/multithread/types.d.ts +1 -1
  103. package/lib/chain/bls/multithread/types.d.ts.map +1 -1
  104. package/lib/chain/bls/multithread/worker.js +1 -1
  105. package/lib/chain/bls/multithread/worker.js.map +1 -1
  106. package/lib/chain/bls/singleThread.js +1 -1
  107. package/lib/chain/bls/singleThread.js.map +1 -1
  108. package/lib/chain/bls/utils.js +1 -1
  109. package/lib/chain/bls/utils.js.map +1 -1
  110. package/lib/chain/chain.d.ts +26 -4
  111. package/lib/chain/chain.d.ts.map +1 -1
  112. package/lib/chain/chain.js +127 -43
  113. package/lib/chain/chain.js.map +1 -1
  114. package/lib/chain/emitter.d.ts +7 -7
  115. package/lib/chain/emitter.d.ts.map +1 -1
  116. package/lib/chain/emitter.js +5 -5
  117. package/lib/chain/emitter.js.map +1 -1
  118. package/lib/chain/errors/blockError.d.ts +1 -1
  119. package/lib/chain/errors/blockError.d.ts.map +1 -1
  120. package/lib/chain/errors/blockError.js +1 -1
  121. package/lib/chain/errors/blockError.js.map +1 -1
  122. package/lib/chain/errors/executionPayloadBid.d.ts +11 -1
  123. package/lib/chain/errors/executionPayloadBid.d.ts.map +1 -1
  124. package/lib/chain/errors/executionPayloadBid.js +2 -0
  125. package/lib/chain/errors/executionPayloadBid.js.map +1 -1
  126. package/lib/chain/errors/executionPayloadEnvelope.d.ts +7 -0
  127. package/lib/chain/errors/executionPayloadEnvelope.d.ts.map +1 -1
  128. package/lib/chain/errors/executionPayloadEnvelope.js +1 -0
  129. package/lib/chain/errors/executionPayloadEnvelope.js.map +1 -1
  130. package/lib/chain/errors/inclusionList.d.ts +60 -0
  131. package/lib/chain/errors/inclusionList.d.ts.map +1 -0
  132. package/lib/chain/errors/inclusionList.js +19 -0
  133. package/lib/chain/errors/inclusionList.js.map +1 -0
  134. package/lib/chain/errors/index.d.ts +1 -1
  135. package/lib/chain/errors/index.d.ts.map +1 -1
  136. package/lib/chain/errors/index.js +1 -1
  137. package/lib/chain/errors/index.js.map +1 -1
  138. package/lib/chain/forkChoice/index.d.ts +11 -1
  139. package/lib/chain/forkChoice/index.d.ts.map +1 -1
  140. package/lib/chain/forkChoice/index.js +11 -0
  141. package/lib/chain/forkChoice/index.js.map +1 -1
  142. package/lib/chain/forkChoiceExecutionEngine.d.ts +51 -0
  143. package/lib/chain/forkChoiceExecutionEngine.d.ts.map +1 -0
  144. package/lib/chain/forkChoiceExecutionEngine.js +117 -0
  145. package/lib/chain/forkChoiceExecutionEngine.js.map +1 -0
  146. package/lib/chain/interface.d.ts +10 -7
  147. package/lib/chain/interface.d.ts.map +1 -1
  148. package/lib/chain/interface.js.map +1 -1
  149. package/lib/chain/opPools/aggregatedAttestationPool.d.ts +17 -4
  150. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
  151. package/lib/chain/opPools/aggregatedAttestationPool.js +199 -46
  152. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  153. package/lib/chain/opPools/attestationPool.d.ts +1 -1
  154. package/lib/chain/opPools/attestationPool.d.ts.map +1 -1
  155. package/lib/chain/opPools/attestationPool.js +15 -4
  156. package/lib/chain/opPools/attestationPool.js.map +1 -1
  157. package/lib/chain/opPools/inclusionListStore.d.ts +63 -0
  158. package/lib/chain/opPools/inclusionListStore.d.ts.map +1 -0
  159. package/lib/chain/opPools/inclusionListStore.js +171 -0
  160. package/lib/chain/opPools/inclusionListStore.js.map +1 -0
  161. package/lib/chain/opPools/index.d.ts +2 -0
  162. package/lib/chain/opPools/index.d.ts.map +1 -1
  163. package/lib/chain/opPools/index.js +2 -0
  164. package/lib/chain/opPools/index.js.map +1 -1
  165. package/lib/chain/opPools/payloadAttestationPool.d.ts.map +1 -1
  166. package/lib/chain/opPools/payloadAttestationPool.js +17 -7
  167. package/lib/chain/opPools/payloadAttestationPool.js.map +1 -1
  168. package/lib/chain/opPools/singleAttestationPool.d.ts +77 -0
  169. package/lib/chain/opPools/singleAttestationPool.d.ts.map +1 -0
  170. package/lib/chain/opPools/singleAttestationPool.js +209 -0
  171. package/lib/chain/opPools/singleAttestationPool.js.map +1 -0
  172. package/lib/chain/opPools/syncCommitteeMessagePool.d.ts.map +1 -1
  173. package/lib/chain/opPools/syncCommitteeMessagePool.js +9 -3
  174. package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
  175. package/lib/chain/opPools/syncContributionAndProofPool.d.ts.map +1 -1
  176. package/lib/chain/opPools/syncContributionAndProofPool.js +11 -3
  177. package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
  178. package/lib/chain/opPools/utils.d.ts +1 -1
  179. package/lib/chain/opPools/utils.d.ts.map +1 -1
  180. package/lib/chain/opPools/utils.js +1 -1
  181. package/lib/chain/opPools/utils.js.map +1 -1
  182. package/lib/chain/options.d.ts +5 -3
  183. package/lib/chain/options.d.ts.map +1 -1
  184. package/lib/chain/options.js +0 -1
  185. package/lib/chain/options.js.map +1 -1
  186. package/lib/chain/produceBlock/produceBlockBody.d.ts +6 -3
  187. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  188. package/lib/chain/produceBlock/produceBlockBody.js +32 -11
  189. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  190. package/lib/chain/proposerTracker.d.ts +31 -0
  191. package/lib/chain/proposerTracker.d.ts.map +1 -0
  192. package/lib/chain/proposerTracker.js +75 -0
  193. package/lib/chain/proposerTracker.js.map +1 -0
  194. package/lib/chain/regen/interface.d.ts +2 -2
  195. package/lib/chain/regen/interface.d.ts.map +1 -1
  196. package/lib/chain/regen/interface.js +1 -1
  197. package/lib/chain/regen/interface.js.map +1 -1
  198. package/lib/chain/regen/queued.d.ts +1 -1
  199. package/lib/chain/regen/queued.d.ts.map +1 -1
  200. package/lib/chain/regen/queued.js +5 -3
  201. package/lib/chain/regen/queued.js.map +1 -1
  202. package/lib/chain/seenCache/seenGossipBlockInput.d.ts +7 -14
  203. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +1 -1
  204. package/lib/chain/seenCache/seenGossipBlockInput.js +6 -65
  205. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  206. package/lib/chain/validation/executionPayloadBid.d.ts +0 -15
  207. package/lib/chain/validation/executionPayloadBid.d.ts.map +1 -1
  208. package/lib/chain/validation/executionPayloadBid.js +37 -158
  209. package/lib/chain/validation/executionPayloadBid.js.map +1 -1
  210. package/lib/chain/validation/executionPayloadEnvelope.d.ts +6 -0
  211. package/lib/chain/validation/executionPayloadEnvelope.d.ts.map +1 -1
  212. package/lib/chain/validation/executionPayloadEnvelope.js +53 -0
  213. package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
  214. package/lib/chain/validation/inclusionList.d.ts +14 -0
  215. package/lib/chain/validation/inclusionList.d.ts.map +1 -0
  216. package/lib/chain/validation/inclusionList.js +150 -0
  217. package/lib/chain/validation/inclusionList.js.map +1 -0
  218. package/lib/chain/validation/index.d.ts +1 -0
  219. package/lib/chain/validation/index.d.ts.map +1 -1
  220. package/lib/chain/validation/index.js +1 -0
  221. package/lib/chain/validation/index.js.map +1 -1
  222. package/lib/chain/validatorMonitor.d.ts +1 -2
  223. package/lib/chain/validatorMonitor.d.ts.map +1 -1
  224. package/lib/chain/validatorMonitor.js +0 -3
  225. package/lib/chain/validatorMonitor.js.map +1 -1
  226. package/lib/db/beacon.d.ts +7 -0
  227. package/lib/db/beacon.d.ts.map +1 -1
  228. package/lib/db/beacon.js +34 -0
  229. package/lib/db/beacon.js.map +1 -1
  230. package/lib/db/dataColumnStore.d.ts +1 -1
  231. package/lib/db/dataColumnStore.d.ts.map +1 -1
  232. package/lib/db/dataColumnStore.js +1 -4
  233. package/lib/db/dataColumnStore.js.map +1 -1
  234. package/lib/db/flatFileStore/flatFileStore.js +5 -5
  235. package/lib/db/flatFileStore/flatFileStore.js.map +1 -1
  236. package/lib/db/flatFileStore/slotIndex.d.ts.map +1 -1
  237. package/lib/db/flatFileStore/slotIndex.js +2 -2
  238. package/lib/db/flatFileStore/slotIndex.js.map +1 -1
  239. package/lib/db/interface.d.ts +1 -0
  240. package/lib/db/interface.d.ts.map +1 -1
  241. package/lib/db/repositories/blobSidecars.d.ts +0 -1
  242. package/lib/db/repositories/blobSidecars.d.ts.map +1 -1
  243. package/lib/db/repositories/blobSidecars.js +0 -1
  244. package/lib/db/repositories/blobSidecars.js.map +1 -1
  245. package/lib/db/repositories/dataColumnSidecarArchive.d.ts +6 -0
  246. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +1 -1
  247. package/lib/db/repositories/dataColumnSidecarArchive.js +19 -0
  248. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  249. package/lib/execution/builder/apiClient.d.ts +14 -8
  250. package/lib/execution/builder/apiClient.d.ts.map +1 -1
  251. package/lib/execution/builder/apiClient.js +12 -10
  252. package/lib/execution/builder/apiClient.js.map +1 -1
  253. package/lib/execution/builder/http.d.ts +2 -0
  254. package/lib/execution/builder/http.d.ts.map +1 -1
  255. package/lib/execution/builder/http.js +2 -0
  256. package/lib/execution/builder/http.js.map +1 -1
  257. package/lib/execution/builder/validateBid.d.ts.map +1 -1
  258. package/lib/execution/builder/validateBid.js +14 -1
  259. package/lib/execution/builder/validateBid.js.map +1 -1
  260. package/lib/execution/engine/blobVersionedHashes.d.ts +1 -1
  261. package/lib/execution/engine/blobVersionedHashes.d.ts.map +1 -1
  262. package/lib/execution/engine/blobVersionedHashes.js.map +1 -1
  263. package/lib/execution/engine/disabled.d.ts +1 -0
  264. package/lib/execution/engine/disabled.d.ts.map +1 -1
  265. package/lib/execution/engine/disabled.js +3 -0
  266. package/lib/execution/engine/disabled.js.map +1 -1
  267. package/lib/execution/engine/http.d.ts +12 -8
  268. package/lib/execution/engine/http.d.ts.map +1 -1
  269. package/lib/execution/engine/http.js +35 -14
  270. package/lib/execution/engine/http.js.map +1 -1
  271. package/lib/execution/engine/index.d.ts +1 -1
  272. package/lib/execution/engine/index.d.ts.map +1 -1
  273. package/lib/execution/engine/index.js +1 -1
  274. package/lib/execution/engine/index.js.map +1 -1
  275. package/lib/execution/engine/interface.d.ts +29 -8
  276. package/lib/execution/engine/interface.d.ts.map +1 -1
  277. package/lib/execution/engine/interface.js.map +1 -1
  278. package/lib/execution/engine/jsonRpcTransport.d.ts +5 -6
  279. package/lib/execution/engine/jsonRpcTransport.d.ts.map +1 -1
  280. package/lib/execution/engine/jsonRpcTransport.js +34 -20
  281. package/lib/execution/engine/jsonRpcTransport.js.map +1 -1
  282. package/lib/execution/engine/mock.d.ts +1 -1
  283. package/lib/execution/engine/mock.d.ts.map +1 -1
  284. package/lib/execution/engine/mock.js +31 -11
  285. package/lib/execution/engine/mock.js.map +1 -1
  286. package/lib/execution/engine/payloadIdCache.d.ts +5 -3
  287. package/lib/execution/engine/payloadIdCache.d.ts.map +1 -1
  288. package/lib/execution/engine/payloadIdCache.js +15 -4
  289. package/lib/execution/engine/payloadIdCache.js.map +1 -1
  290. package/lib/execution/engine/restTransport.d.ts +4 -5
  291. package/lib/execution/engine/restTransport.d.ts.map +1 -1
  292. package/lib/execution/engine/restTransport.js +4 -15
  293. package/lib/execution/engine/restTransport.js.map +1 -1
  294. package/lib/execution/engine/sszTypes.d.ts +38 -47
  295. package/lib/execution/engine/sszTypes.d.ts.map +1 -1
  296. package/lib/execution/engine/sszTypes.js +0 -5
  297. package/lib/execution/engine/sszTypes.js.map +1 -1
  298. package/lib/execution/engine/transport.d.ts +4 -14
  299. package/lib/execution/engine/transport.d.ts.map +1 -1
  300. package/lib/execution/engine/types.d.ts +25 -9
  301. package/lib/execution/engine/types.d.ts.map +1 -1
  302. package/lib/execution/engine/types.js +19 -14
  303. package/lib/execution/engine/types.js.map +1 -1
  304. package/lib/execution/engine/utils.d.ts.map +1 -1
  305. package/lib/execution/engine/utils.js +3 -2
  306. package/lib/execution/engine/utils.js.map +1 -1
  307. package/lib/index.d.ts +1 -0
  308. package/lib/index.d.ts.map +1 -1
  309. package/lib/index.js +2 -0
  310. package/lib/index.js.map +1 -1
  311. package/lib/metrics/metrics/beacon.d.ts +16 -9
  312. package/lib/metrics/metrics/beacon.d.ts.map +1 -1
  313. package/lib/metrics/metrics/beacon.js +35 -30
  314. package/lib/metrics/metrics/beacon.js.map +1 -1
  315. package/lib/metrics/metrics/lodestar.d.ts +42 -8
  316. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  317. package/lib/metrics/metrics/lodestar.js +104 -18
  318. package/lib/metrics/metrics/lodestar.js.map +1 -1
  319. package/lib/metrics/server/http.js +5 -5
  320. package/lib/metrics/server/http.js.map +1 -1
  321. package/lib/monitoring/service.js +1 -1
  322. package/lib/monitoring/service.js.map +1 -1
  323. package/lib/network/core/networkCore.d.ts +4 -1
  324. package/lib/network/core/networkCore.d.ts.map +1 -1
  325. package/lib/network/core/networkCore.js +7 -0
  326. package/lib/network/core/networkCore.js.map +1 -1
  327. package/lib/network/core/networkCoreWorker.js +2 -0
  328. package/lib/network/core/networkCoreWorker.js.map +1 -1
  329. package/lib/network/core/networkCoreWorkerHandler.d.ts +4 -1
  330. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +1 -1
  331. package/lib/network/core/networkCoreWorkerHandler.js +6 -0
  332. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  333. package/lib/network/core/types.d.ts +6 -1
  334. package/lib/network/core/types.d.ts.map +1 -1
  335. package/lib/network/gossip/gossipsub.d.ts +1 -0
  336. package/lib/network/gossip/gossipsub.d.ts.map +1 -1
  337. package/lib/network/gossip/gossipsub.js +10 -0
  338. package/lib/network/gossip/gossipsub.js.map +1 -1
  339. package/lib/network/gossip/interface.d.ts +8 -9
  340. package/lib/network/gossip/interface.d.ts.map +1 -1
  341. package/lib/network/gossip/interface.js +1 -1
  342. package/lib/network/gossip/interface.js.map +1 -1
  343. package/lib/network/gossip/topic.d.ts +13 -21
  344. package/lib/network/gossip/topic.d.ts.map +1 -1
  345. package/lib/network/gossip/topic.js +13 -24
  346. package/lib/network/gossip/topic.js.map +1 -1
  347. package/lib/network/interface.d.ts +5 -5
  348. package/lib/network/interface.d.ts.map +1 -1
  349. package/lib/network/libp2p/index.d.ts.map +1 -1
  350. package/lib/network/libp2p/index.js +5 -1
  351. package/lib/network/libp2p/index.js.map +1 -1
  352. package/lib/network/network.d.ts +9 -7
  353. package/lib/network/network.d.ts.map +1 -1
  354. package/lib/network/network.js +58 -35
  355. package/lib/network/network.js.map +1 -1
  356. package/lib/network/options.d.ts +2 -0
  357. package/lib/network/options.d.ts.map +1 -1
  358. package/lib/network/options.js +2 -0
  359. package/lib/network/options.js.map +1 -1
  360. package/lib/network/peers/peerManager.d.ts +2 -1
  361. package/lib/network/peers/peerManager.d.ts.map +1 -1
  362. package/lib/network/peers/peerManager.js +28 -1
  363. package/lib/network/peers/peerManager.js.map +1 -1
  364. package/lib/network/peers/utils/assertPeerRelevance.d.ts +9 -1
  365. package/lib/network/peers/utils/assertPeerRelevance.d.ts.map +1 -1
  366. package/lib/network/peers/utils/assertPeerRelevance.js +32 -21
  367. package/lib/network/peers/utils/assertPeerRelevance.js.map +1 -1
  368. package/lib/network/peers/utils/enrSubnetsDeserialize.d.ts.map +1 -1
  369. package/lib/network/peers/utils/enrSubnetsDeserialize.js +5 -2
  370. package/lib/network/peers/utils/enrSubnetsDeserialize.js.map +1 -1
  371. package/lib/network/peers/utils/prioritizePeers.d.ts +4 -1
  372. package/lib/network/peers/utils/prioritizePeers.d.ts.map +1 -1
  373. package/lib/network/peers/utils/prioritizePeers.js +8 -16
  374. package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
  375. package/lib/network/peers/utils/subnetMap.d.ts +5 -2
  376. package/lib/network/peers/utils/subnetMap.d.ts.map +1 -1
  377. package/lib/network/peers/utils/subnetMap.js +6 -3
  378. package/lib/network/peers/utils/subnetMap.js.map +1 -1
  379. package/lib/network/processor/extractSlotRootFns.d.ts.map +1 -1
  380. package/lib/network/processor/extractSlotRootFns.js +1 -8
  381. package/lib/network/processor/extractSlotRootFns.js.map +1 -1
  382. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  383. package/lib/network/processor/gossipHandlers.js +118 -149
  384. package/lib/network/processor/gossipHandlers.js.map +1 -1
  385. package/lib/network/processor/gossipQueues/index.js +6 -6
  386. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  387. package/lib/network/processor/gossipValidatorFn.js +5 -5
  388. package/lib/network/processor/gossipValidatorFn.js.map +1 -1
  389. package/lib/network/processor/index.d.ts +11 -0
  390. package/lib/network/processor/index.d.ts.map +1 -1
  391. package/lib/network/processor/index.js +66 -30
  392. package/lib/network/processor/index.js.map +1 -1
  393. package/lib/network/reqresp/ReqRespBeaconNode.js +6 -3
  394. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  395. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts +2 -2
  396. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +1 -1
  397. package/lib/network/reqresp/handlers/inclusionListsByIndices.d.ts +10 -0
  398. package/lib/network/reqresp/handlers/inclusionListsByIndices.d.ts.map +1 -0
  399. package/lib/network/reqresp/handlers/inclusionListsByIndices.js +30 -0
  400. package/lib/network/reqresp/handlers/inclusionListsByIndices.js.map +1 -0
  401. package/lib/network/reqresp/handlers/index.d.ts.map +1 -1
  402. package/lib/network/reqresp/handlers/index.js +6 -12
  403. package/lib/network/reqresp/handlers/index.js.map +1 -1
  404. package/lib/network/reqresp/protocols.d.ts +1 -2
  405. package/lib/network/reqresp/protocols.d.ts.map +1 -1
  406. package/lib/network/reqresp/protocols.js +5 -10
  407. package/lib/network/reqresp/protocols.js.map +1 -1
  408. package/lib/network/reqresp/rateLimit.d.ts.map +1 -1
  409. package/lib/network/reqresp/rateLimit.js +5 -17
  410. package/lib/network/reqresp/rateLimit.js.map +1 -1
  411. package/lib/network/reqresp/types.d.ts +6 -9
  412. package/lib/network/reqresp/types.d.ts.map +1 -1
  413. package/lib/network/reqresp/types.js +4 -7
  414. package/lib/network/reqresp/types.js.map +1 -1
  415. package/lib/network/subnets/attnetsService.d.ts +35 -5
  416. package/lib/network/subnets/attnetsService.d.ts.map +1 -1
  417. package/lib/network/subnets/attnetsService.js +84 -6
  418. package/lib/network/subnets/attnetsService.js.map +1 -1
  419. package/lib/network/subnets/interface.d.ts +7 -0
  420. package/lib/network/subnets/interface.d.ts.map +1 -1
  421. package/lib/network/subnets/interface.js.map +1 -1
  422. package/lib/node/nodejs.d.ts +3 -1
  423. package/lib/node/nodejs.d.ts.map +1 -1
  424. package/lib/node/nodejs.js +47 -21
  425. package/lib/node/nodejs.js.map +1 -1
  426. package/lib/node/options.d.ts +3 -1
  427. package/lib/node/options.d.ts.map +1 -1
  428. package/lib/node/options.js +4 -2
  429. package/lib/node/options.js.map +1 -1
  430. package/lib/sync/interface.d.ts.map +1 -1
  431. package/lib/sync/interface.js.map +1 -1
  432. package/lib/sync/range/batch.d.ts +2 -3
  433. package/lib/sync/range/batch.d.ts.map +1 -1
  434. package/lib/sync/range/batch.js +9 -22
  435. package/lib/sync/range/batch.js.map +1 -1
  436. package/lib/sync/range/chain.d.ts.map +1 -1
  437. package/lib/sync/range/chain.js +2 -15
  438. package/lib/sync/range/chain.js.map +1 -1
  439. package/lib/sync/sync.d.ts +7 -0
  440. package/lib/sync/sync.d.ts.map +1 -1
  441. package/lib/sync/sync.js +61 -3
  442. package/lib/sync/sync.js.map +1 -1
  443. package/lib/sync/unknownBlock.d.ts.map +1 -1
  444. package/lib/sync/unknownBlock.js +43 -25
  445. package/lib/sync/unknownBlock.js.map +1 -1
  446. package/lib/sync/utils/downloadByRange.d.ts +6 -34
  447. package/lib/sync/utils/downloadByRange.d.ts.map +1 -1
  448. package/lib/sync/utils/downloadByRange.js +24 -128
  449. package/lib/sync/utils/downloadByRange.js.map +1 -1
  450. package/lib/sync/utils/downloadByRoot.d.ts +2 -18
  451. package/lib/sync/utils/downloadByRoot.d.ts.map +1 -1
  452. package/lib/sync/utils/downloadByRoot.js +14 -99
  453. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  454. package/lib/util/blobs.d.ts +1 -7
  455. package/lib/util/blobs.d.ts.map +1 -1
  456. package/lib/util/blobs.js +0 -19
  457. package/lib/util/blobs.js.map +1 -1
  458. package/lib/util/execution.d.ts +3 -4
  459. package/lib/util/execution.d.ts.map +1 -1
  460. package/lib/util/execution.js +1 -73
  461. package/lib/util/execution.js.map +1 -1
  462. package/lib/util/file.d.ts.map +1 -1
  463. package/lib/util/file.js +8 -9
  464. package/lib/util/file.js.map +1 -1
  465. package/lib/util/queue/itemQueue.js +1 -1
  466. package/lib/util/queue/itemQueue.js.map +1 -1
  467. package/lib/util/sszBytes.d.ts +5 -1
  468. package/lib/util/sszBytes.d.ts.map +1 -1
  469. package/lib/util/sszBytes.js +36 -19
  470. package/lib/util/sszBytes.js.map +1 -1
  471. package/lib/util/types.d.ts +0 -5
  472. package/lib/util/types.d.ts.map +1 -1
  473. package/lib/util/types.js +1 -2
  474. package/lib/util/types.js.map +1 -1
  475. package/package.json +31 -32
  476. package/src/api/impl/api.ts +1 -1
  477. package/src/api/impl/beacon/blocks/index.ts +81 -126
  478. package/src/api/impl/beacon/index.ts +3 -1
  479. package/src/api/impl/beacon/pool/index.ts +31 -1
  480. package/src/api/impl/beacon/state/index.ts +10 -1
  481. package/src/api/impl/beacon/state/utils.ts +20 -10
  482. package/src/api/impl/debug/index.ts +4 -0
  483. package/src/api/impl/validator/index.ts +178 -39
  484. package/src/api/options.ts +3 -0
  485. package/src/chain/GetBlobsTracker.ts +82 -52
  486. package/src/chain/archiveStore/archiveStore.ts +1 -0
  487. package/src/chain/archiveStore/utils/archiveBlocks.ts +76 -130
  488. package/src/chain/blocks/blockInput/blockInput.ts +11 -343
  489. package/src/chain/blocks/blockInput/errors.ts +1 -2
  490. package/src/chain/blocks/blockInput/types.ts +2 -20
  491. package/src/chain/blocks/importBlock.ts +58 -77
  492. package/src/chain/blocks/importExecutionPayload.ts +123 -36
  493. package/src/chain/blocks/index.ts +11 -4
  494. package/src/chain/blocks/payloadEnvelopeProcessor.ts +35 -24
  495. package/src/chain/blocks/types.ts +8 -29
  496. package/src/chain/blocks/verifyBlock.ts +31 -16
  497. package/src/chain/blocks/verifyBlocksDataAvailability.ts +16 -2
  498. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +9 -6
  499. package/src/chain/blocks/verifyBlocksSanityChecks.ts +4 -1
  500. package/src/chain/blocks/verifyBlocksSignatures.ts +10 -5
  501. package/src/chain/blocks/verifyPayloadsDataAvailability.ts +14 -6
  502. package/src/chain/blocks/writeBlockInputToDb.ts +6 -29
  503. package/src/chain/bls/interface.ts +2 -0
  504. package/src/chain/bls/multithread/index.ts +48 -24
  505. package/src/chain/bls/multithread/types.ts +1 -1
  506. package/src/chain/bls/multithread/worker.ts +1 -5
  507. package/src/chain/bls/singleThread.ts +1 -1
  508. package/src/chain/bls/utils.ts +1 -1
  509. package/src/chain/chain.ts +144 -42
  510. package/src/chain/emitter.ts +8 -8
  511. package/src/chain/errors/blockError.ts +1 -1
  512. package/src/chain/errors/executionPayloadBid.ts +12 -0
  513. package/src/chain/errors/executionPayloadEnvelope.ts +8 -0
  514. package/src/chain/errors/inclusionList.ts +38 -0
  515. package/src/chain/errors/index.ts +1 -1
  516. package/src/chain/forkChoice/index.ts +11 -0
  517. package/src/chain/forkChoiceExecutionEngine.ts +183 -0
  518. package/src/chain/interface.ts +11 -6
  519. package/src/chain/opPools/aggregatedAttestationPool.ts +246 -43
  520. package/src/chain/opPools/attestationPool.ts +16 -4
  521. package/src/chain/opPools/inclusionListStore.ts +208 -0
  522. package/src/chain/opPools/index.ts +2 -0
  523. package/src/chain/opPools/payloadAttestationPool.ts +18 -7
  524. package/src/chain/opPools/singleAttestationPool.ts +287 -0
  525. package/src/chain/opPools/syncCommitteeMessagePool.ts +10 -3
  526. package/src/chain/opPools/syncContributionAndProofPool.ts +13 -3
  527. package/src/chain/opPools/utils.ts +1 -1
  528. package/src/chain/options.ts +5 -4
  529. package/src/chain/produceBlock/produceBlockBody.ts +67 -22
  530. package/src/chain/proposerTracker.ts +94 -0
  531. package/src/chain/regen/interface.ts +2 -2
  532. package/src/chain/regen/queued.ts +6 -4
  533. package/src/chain/seenCache/seenGossipBlockInput.ts +9 -93
  534. package/src/chain/validation/executionPayloadBid.ts +54 -183
  535. package/src/chain/validation/executionPayloadEnvelope.ts +68 -1
  536. package/src/chain/validation/inclusionList.ts +192 -0
  537. package/src/chain/validation/index.ts +1 -0
  538. package/src/chain/validatorMonitor.ts +0 -6
  539. package/src/db/beacon.ts +44 -0
  540. package/src/db/dataColumnStore.ts +2 -4
  541. package/src/db/flatFileStore/flatFileStore.ts +7 -7
  542. package/src/db/flatFileStore/slotIndex.ts +4 -3
  543. package/src/db/interface.ts +2 -0
  544. package/src/db/repositories/blobSidecars.ts +0 -1
  545. package/src/db/repositories/dataColumnSidecarArchive.ts +20 -0
  546. package/src/execution/builder/apiClient.ts +16 -13
  547. package/src/execution/builder/http.ts +4 -0
  548. package/src/execution/builder/validateBid.ts +23 -2
  549. package/src/execution/engine/blobVersionedHashes.ts +1 -1
  550. package/src/execution/engine/disabled.ts +4 -0
  551. package/src/execution/engine/http.ts +59 -47
  552. package/src/execution/engine/index.ts +1 -1
  553. package/src/execution/engine/interface.ts +46 -13
  554. package/src/execution/engine/jsonRpcTransport.ts +56 -31
  555. package/src/execution/engine/mock.ts +32 -14
  556. package/src/execution/engine/payloadIdCache.ts +24 -6
  557. package/src/execution/engine/restTransport.ts +18 -23
  558. package/src/execution/engine/sszTypes.ts +0 -9
  559. package/src/execution/engine/transport.ts +13 -17
  560. package/src/execution/engine/types.ts +44 -24
  561. package/src/execution/engine/utils.ts +4 -2
  562. package/src/index.ts +2 -0
  563. package/src/metrics/metrics/beacon.ts +37 -30
  564. package/src/metrics/metrics/lodestar.ts +106 -18
  565. package/src/metrics/server/http.ts +5 -5
  566. package/src/monitoring/service.ts +1 -1
  567. package/src/network/core/networkCore.ts +11 -1
  568. package/src/network/core/networkCoreWorker.ts +2 -0
  569. package/src/network/core/networkCoreWorkerHandler.ts +8 -1
  570. package/src/network/core/types.ts +6 -1
  571. package/src/network/gossip/gossipsub.ts +11 -0
  572. package/src/network/gossip/interface.ts +5 -5
  573. package/src/network/gossip/topic.ts +14 -25
  574. package/src/network/interface.ts +4 -5
  575. package/src/network/libp2p/index.ts +5 -1
  576. package/src/network/network.ts +66 -58
  577. package/src/network/options.ts +4 -0
  578. package/src/network/peers/peerManager.ts +28 -3
  579. package/src/network/peers/utils/assertPeerRelevance.ts +39 -23
  580. package/src/network/peers/utils/enrSubnetsDeserialize.ts +5 -2
  581. package/src/network/peers/utils/prioritizePeers.ts +14 -22
  582. package/src/network/peers/utils/subnetMap.ts +6 -3
  583. package/src/network/processor/extractSlotRootFns.ts +0 -9
  584. package/src/network/processor/gossipHandlers.ts +150 -183
  585. package/src/network/processor/gossipQueues/index.ts +6 -6
  586. package/src/network/processor/gossipValidatorFn.ts +5 -5
  587. package/src/network/processor/index.ts +58 -28
  588. package/src/network/processor/types.ts +1 -1
  589. package/src/network/reqresp/ReqRespBeaconNode.ts +7 -7
  590. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +2 -2
  591. package/src/network/reqresp/handlers/inclusionListsByIndices.ts +44 -0
  592. package/src/network/reqresp/handlers/index.ts +5 -17
  593. package/src/network/reqresp/protocols.ts +6 -12
  594. package/src/network/reqresp/rateLimit.ts +5 -17
  595. package/src/network/reqresp/types.ts +6 -13
  596. package/src/network/subnets/attnetsService.ts +94 -6
  597. package/src/network/subnets/interface.ts +7 -0
  598. package/src/node/nodejs.ts +58 -22
  599. package/src/node/options.ts +9 -6
  600. package/src/sync/interface.ts +1 -0
  601. package/src/sync/range/batch.ts +9 -21
  602. package/src/sync/range/chain.ts +2 -14
  603. package/src/sync/sync.ts +65 -4
  604. package/src/sync/unknownBlock.ts +48 -36
  605. package/src/sync/utils/downloadByRange.ts +31 -230
  606. package/src/sync/utils/downloadByRoot.ts +15 -142
  607. package/src/util/blobs.ts +0 -34
  608. package/src/util/execution.ts +8 -102
  609. package/src/util/file.ts +8 -9
  610. package/src/util/queue/itemQueue.ts +1 -1
  611. package/src/util/sszBytes.ts +42 -24
  612. package/src/util/types.ts +1 -8
  613. package/lib/chain/errors/blobSidecarError.d.ts +0 -108
  614. package/lib/chain/errors/blobSidecarError.d.ts.map +0 -1
  615. package/lib/chain/errors/blobSidecarError.js +0 -38
  616. package/lib/chain/errors/blobSidecarError.js.map +0 -1
  617. package/lib/chain/validation/blobSidecar.d.ts +0 -16
  618. package/lib/chain/validation/blobSidecar.d.ts.map +0 -1
  619. package/lib/chain/validation/blobSidecar.js +0 -276
  620. package/lib/chain/validation/blobSidecar.js.map +0 -1
  621. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts +0 -9
  622. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +0 -1
  623. package/lib/network/reqresp/handlers/blobSidecarsByRange.js +0 -91
  624. package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +0 -1
  625. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts +0 -5
  626. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +0 -1
  627. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js +0 -46
  628. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +0 -1
  629. package/src/chain/errors/blobSidecarError.ts +0 -70
  630. package/src/chain/validation/blobSidecar.ts +0 -357
  631. package/src/network/reqresp/handlers/blobSidecarsByRange.ts +0 -133
  632. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +0 -69
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/state/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AA0BxD,OAAO,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAU1C,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,MAAM,EACN,IAAI,GACL,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CA4dnG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/state/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AA2BxD,OAAO,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAW1C,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,MAAM,EACN,IAAI,GACL,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAmenG"}
@@ -3,7 +3,7 @@ import { computeEpochAtSlot, computeStartSlotAtEpoch, getCurrentEpoch, isStatePo
3
3
  import { getBuilderStatus, getValidatorStatus, mapToGeneralStatus, ssz, sszTypesFor, } from "@lodestar/types";
4
4
  import { ApiError } from "../../errors.js";
5
5
  import { assertUniqueItems } from "../../utils.js";
6
- import { filterStateValidatorsByStatus, getStateBuilderIndex, getStateResponseWithRegen, getStateValidatorIndex, toValidatorResponse, } from "./utils.js";
6
+ import { filterStateValidatorsByStatus, getBuilderIndexByPubkey, getStateBuilderIndex, getStateResponseWithRegen, getStateValidatorIndex, toValidatorResponse, } from "./utils.js";
7
7
  export function getBeaconStateApi({ chain, config, sync, }) {
8
8
  async function getState(stateId) {
9
9
  const { state, executionOptimistic, finalized } = await getStateResponseWithRegen(chain, sync, stateId);
@@ -109,8 +109,14 @@ export function getBeaconStateApi({ chain, config, sync, }) {
109
109
  const builderResponses = [];
110
110
  if (builderIds.length) {
111
111
  assertUniqueItems(builderIds, "Duplicate builder IDs provided");
112
+ // There is no builder pubkey cache, scan the registry at most once per request
113
+ let builderIndexByPubkey = null;
114
+ const getBuilderIndexByPubkeyMap = () => {
115
+ builderIndexByPubkey ??= getBuilderIndexByPubkey(state);
116
+ return builderIndexByPubkey;
117
+ };
112
118
  for (const id of builderIds) {
113
- const resp = getStateBuilderIndex(id, state);
119
+ const resp = getStateBuilderIndex(id, state, getBuilderIndexByPubkeyMap);
114
120
  if (resp.valid) {
115
121
  const builderIndex = resp.builderIndex;
116
122
  const builder = state.getBuilder(builderIndex);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/state/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/state/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { type PubkeyCache } from "@chainsafe/lodestar-z/pubkeys";
2
1
  import { routes } from "@lodestar/api";
3
2
  import { CheckpointWithHex, IForkChoice } from "@lodestar/fork-choice";
3
+ import { type PubkeyCache } from "@lodestar/native/pubkeys";
4
4
  import { IBeaconStateView, IBeaconStateViewGloas } from "@lodestar/state-transition";
5
5
  import { BLSPubkey, BuilderIndex, Epoch, RootHex, Slot, ValidatorIndex, phase0 } from "@lodestar/types";
6
6
  import { IBeaconChain } from "../../../../chain/index.js";
@@ -20,7 +20,8 @@ type StateBuilderIndexResponse = {
20
20
  code: number;
21
21
  reason: string;
22
22
  };
23
- export declare function getStateBuilderIndex(id: routes.beacon.BuilderId | BLSPubkey, state: IBeaconStateViewGloas): StateBuilderIndexResponse;
23
+ export declare function getBuilderIndexByPubkey(state: IBeaconStateViewGloas): Map<string, BuilderIndex>;
24
+ export declare function getStateBuilderIndex(id: routes.beacon.BuilderId | BLSPubkey, state: IBeaconStateViewGloas, getBuilderIndexByPubkeyMap: () => Map<string, BuilderIndex>): StateBuilderIndexResponse;
24
25
  export declare function filterStateValidatorsByStatus(statuses: string[], state: IBeaconStateView, pubkeyCache: PubkeyCache, currentEpoch: Epoch): routes.beacon.ValidatorResponse[];
25
26
  type StateValidatorIndexResponse = {
26
27
  valid: true;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/state/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,WAAW,EAAC,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,iBAAiB,EAAE,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAErE,OAAO,EAAC,gBAAgB,EAAE,qBAAqB,EAAC,MAAM,4BAA4B,CAAC;AACnF,OAAO,EACL,SAAS,EACT,YAAY,EACZ,KAAK,EACL,OAAO,EACP,IAAI,EACJ,cAAc,EAEd,MAAM,EACP,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAC,YAAY,EAAC,MAAM,4BAA4B,CAAC;AAExD,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAKtD,wBAAgB,cAAc,CAC5B,UAAU,EAAE,WAAW,EACvB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,GAC7B,OAAO,GAAG,IAAI,GAAG,iBAAiB,CA4BpC;AAED,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,WAAW,EACjB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,GAC/B,OAAO,CAAC;IAAC,KAAK,EAAE,gBAAgB,GAAG,UAAU,CAAC;IAAC,mBAAmB,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAC,CAAC,CAwCnG;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,CAAC,SAAS,EAC3B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,KAAK,GAClB,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAOjC;AAED,KAAK,yBAAyB,GAC1B;IAAC,KAAK,EAAE,IAAI,CAAC;IAAC,YAAY,EAAE,YAAY,CAAA;CAAC,GACzC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAAC;AAEjD,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,EACvC,KAAK,EAAE,qBAAqB,GAC3B,yBAAyB,CAmC3B;AAED,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,EAAE,EAClB,KAAK,EAAE,gBAAgB,EACvB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,KAAK,GAClB,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAYnC;AAED,KAAK,2BAA2B,GAC5B;IAAC,KAAK,EAAE,IAAI,CAAC;IAAC,cAAc,EAAE,cAAc,CAAA;CAAC,GAC7C;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAAC;AAEjD,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,GAAG,SAAS,EACzC,KAAK,EAAE,gBAAgB,EACvB,WAAW,EAAE,WAAW,GACvB,2BAA2B,CAmC7B"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/state/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,iBAAiB,EAAE,WAAW,EAAC,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAC,KAAK,WAAW,EAAC,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAC,gBAAgB,EAAE,qBAAqB,EAAC,MAAM,4BAA4B,CAAC;AACnF,OAAO,EACL,SAAS,EACT,YAAY,EACZ,KAAK,EACL,OAAO,EACP,IAAI,EACJ,cAAc,EAEd,MAAM,EACP,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAC,YAAY,EAAC,MAAM,4BAA4B,CAAC;AAExD,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAKtD,wBAAgB,cAAc,CAC5B,UAAU,EAAE,WAAW,EACvB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,GAC7B,OAAO,GAAG,IAAI,GAAG,iBAAiB,CA4BpC;AAED,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,WAAW,EACjB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,GAC/B,OAAO,CAAC;IAAC,KAAK,EAAE,gBAAgB,GAAG,UAAU,CAAC;IAAC,mBAAmB,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAC,CAAC,CAwCnG;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,CAAC,SAAS,EAC3B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,KAAK,GAClB,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAOjC;AAED,KAAK,yBAAyB,GAC1B;IAAC,KAAK,EAAE,IAAI,CAAC;IAAC,YAAY,EAAE,YAAY,CAAA;CAAC,GACzC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAAC;AAEjD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,qBAAqB,GAAG,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAU/F;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,EACvC,KAAK,EAAE,qBAAqB,EAC5B,0BAA0B,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GAC1D,yBAAyB,CAgC3B;AAED,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,EAAE,EAClB,KAAK,EAAE,gBAAgB,EACvB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,KAAK,GAClB,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAYnC;AAED,KAAK,2BAA2B,GAC5B;IAAC,KAAK,EAAE,IAAI,CAAC;IAAC,cAAc,EAAE,cAAc,CAAA;CAAC,GAC7C;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAAC;AAEjD,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,GAAG,SAAS,EACzC,KAAK,EAAE,gBAAgB,EACvB,WAAW,EAAE,WAAW,GACvB,2BAA2B,CAmC7B"}
@@ -1,6 +1,6 @@
1
1
  import { GENESIS_SLOT } from "@lodestar/params";
2
2
  import { getValidatorStatus, } from "@lodestar/types";
3
- import { byteArrayEquals, fromHex } from "@lodestar/utils";
3
+ import { fromHex, toHex } from "@lodestar/utils";
4
4
  import { GENESIS_EPOCH } from "../../../../constants/index.js";
5
5
  import { isOptimisticBlock } from "../../../../util/forkChoice.js";
6
6
  import { ApiError, ValidationError } from "../../errors.js";
@@ -71,7 +71,18 @@ export function toValidatorResponse(index, validator, balance, currentEpoch) {
71
71
  validator,
72
72
  };
73
73
  }
74
- export function getStateBuilderIndex(id, state) {
74
+ export function getBuilderIndexByPubkey(state) {
75
+ const builderIndexByPubkey = new Map();
76
+ const buildersLength = state.getBuildersLength();
77
+ for (let builderIndex = 0; builderIndex < buildersLength; builderIndex++) {
78
+ const pubkeyHex = toHex(state.getBuilder(builderIndex).pubkey);
79
+ if (!builderIndexByPubkey.has(pubkeyHex)) {
80
+ builderIndexByPubkey.set(pubkeyHex, builderIndex);
81
+ }
82
+ }
83
+ return builderIndexByPubkey;
84
+ }
85
+ export function getStateBuilderIndex(id, state, getBuilderIndexByPubkeyMap) {
75
86
  if (typeof id === "string") {
76
87
  // mutate `id` and fallthrough to below
77
88
  if (id.startsWith("0x")) {
@@ -98,14 +109,11 @@ export function getStateBuilderIndex(id, state) {
98
109
  return { valid: true, builderIndex };
99
110
  }
100
111
  // typeof id === Uint8Array
101
- // There is no builder pubkey cache, linear scan over the registry
102
- const buildersLength = state.getBuildersLength();
103
- for (let builderIndex = 0; builderIndex < buildersLength; builderIndex++) {
104
- if (byteArrayEquals(state.getBuilder(builderIndex).pubkey, id)) {
105
- return { valid: true, builderIndex };
106
- }
112
+ const builderIndex = getBuilderIndexByPubkeyMap().get(toHex(id));
113
+ if (builderIndex === undefined) {
114
+ return { valid: false, code: 404, reason: "Builder pubkey not found in state" };
107
115
  }
108
- return { valid: false, code: 404, reason: "Builder pubkey not found in state" };
116
+ return { valid: true, builderIndex };
109
117
  }
110
118
  export function filterStateValidatorsByStatus(statuses, state, pubkeyCache, currentEpoch) {
111
119
  const responses = [];
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/state/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/state/utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/impl/debug/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAWxD,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AA0BvC,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,MAAM,EACN,IAAI,GACL,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CA8JnG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/impl/debug/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAWxD,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AA0BvC,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,MAAM,EACN,IAAI,GACL,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAkKnG"}
@@ -100,6 +100,9 @@ export function getDebugApi({ chain, config, sync, }) {
100
100
  unrealizedJustifiedRoot: node.unrealizedJustifiedRoot,
101
101
  unrealizedFinalizedEpoch: node.unrealizedFinalizedEpoch,
102
102
  unrealizedFinalizedRoot: node.unrealizedFinalizedRoot,
103
+ inclusionListSatisfied: node.payloadStatus === PayloadStatus.FULL
104
+ ? forkChoice.getPayloadInclusionListSatisfaction(node.blockRoot)
105
+ : null,
103
106
  },
104
107
  };
105
108
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/debug/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/debug/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;AAiCxD,OAAO,EAQL,mBAAmB,EAUpB,MAAM,iBAAiB,CAAC;AA8CzB,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,CAs/DhD"}
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"}
@@ -1,21 +1,22 @@
1
1
  import { routes } from "@lodestar/api";
2
2
  import { ExecutionStatus, PayloadStatus } from "@lodestar/fork-choice";
3
- import { BUILDER_INDEX_SELF_BUILD, ForkName, ForkSeq, GENESIS_SLOT, SLOTS_PER_EPOCH, SLOTS_PER_HISTORICAL_ROOT, SYNC_COMMITTEE_SUBNET_SIZE, isForkPostBellatrix, isForkPostDeneb, isForkPostElectra, isForkPostFulu, isForkPostGloas, } from "@lodestar/params";
4
- import { DataAvailabilityStatus, beaconBlockToBlinded, calculateCommitteeAssignments, computeEpochAtSlot, computeStartSlotAtEpoch, computeTimeAtSlot, getCurrentSlot, isStatePostAltair, isStatePostGloas, proposerShufflingDecisionRoot, } from "@lodestar/state-transition";
3
+ import { BUILDER_INDEX_SELF_BUILD, ForkName, ForkSeq, GENESIS_SLOT, SLOTS_PER_EPOCH, SLOTS_PER_HISTORICAL_ROOT, SYNC_COMMITTEE_SUBNET_SIZE, isForkPostBellatrix, isForkPostDeneb, isForkPostElectra, isForkPostFulu, isForkPostGloas, isForkPostHeze, } from "@lodestar/params";
4
+ import { DataAvailabilityStatus, beaconBlockToBlinded, calculateCommitteeAssignments, computeEpochAtSlot, computeStartSlotAtEpoch, computeTimeAtSlot, getCurrentSlot, getInclusionListCommittee, isStatePostAltair, isStatePostGloas, proposerShufflingDecisionRoot, } from "@lodestar/state-transition";
5
5
  import { ProducedBlockSource, getValidatorStatus, ssz, } from "@lodestar/types";
6
6
  import { GWEI_TO_WEI, TimeoutError, byteArrayEquals, defer, formatWeiToEth, fromHex, prettyGweiToEth, prettyWeiToEth, resolveOrRacePromises, sleep, toHex, toPrintableUrl, toRootHex, } from "@lodestar/utils";
7
7
  import { MAX_BUILDER_BOOST_FACTOR } from "@lodestar/validator";
8
8
  import { BlockInputSource } from "../../../chain/blocks/blockInput/types.js";
9
+ import { InclusionListSource } from "../../../chain/blocks/types.js";
9
10
  import { AttestationError, AttestationErrorCode, GossipAction, ProposerPreferencesError, ProposerPreferencesErrorCode, SyncCommitteeError, SyncCommitteeErrorCode, } from "../../../chain/errors/index.js";
10
11
  import { ChainEvent } from "../../../chain/index.js";
11
12
  import { PREPARE_NEXT_SLOT_BPS } from "../../../chain/prepareNextSlot.js";
12
13
  import { BlockType } from "../../../chain/produceBlock/index.js";
13
14
  import { RegenCaller } from "../../../chain/regen/index.js";
14
- import { validateApiAggregateAndProof } from "../../../chain/validation/index.js";
15
+ import { validateApiAggregateAndProof, validateGossipInclusionList, } from "../../../chain/validation/index.js";
15
16
  import { validateGossipProposerPreferences } from "../../../chain/validation/proposerPreferences.js";
16
17
  import { validateSyncCommitteeGossipContributionAndProof } from "../../../chain/validation/syncCommitteeContributionAndProof.js";
17
18
  import { ZERO_HASH } from "../../../constants/index.js";
18
- import { BUILDER_BID_DEADLINE_MS, decodeBuilderUrl } from "../../../execution/builder/apiClient.js";
19
+ import { decodeBuilderUrl } from "../../../execution/builder/apiClient.js";
19
20
  import { BuilderStatus, NoBidReceived } from "../../../execution/builder/http.js";
20
21
  import { getBuilderBidTotalGwei, validateBuilderApiExecutionPayloadBid } from "../../../execution/builder/validateBid.js";
21
22
  import { validateGossipFnRetryUnknownRoot } from "../../../network/processor/gossipHandlers.js";
@@ -35,10 +36,14 @@ import { computeSubnetForCommitteesAtSlot, getPubkeysForIndices, selectBlockProd
35
36
  * A cutoff of 1667 BPS (2 seconds for 12s slots) gives enough time and if there are unexpected delays
36
37
  * it ensures we publish in time as proposals after the attestation deadline will likely be orphaned
37
38
  * due to proposer boost reorg.
38
- *
39
- * TODO GLOAS: re-evaluate cutoff timing due to attestation deadline changes in gloas
40
39
  */
41
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;
42
47
  /** Rejection message of the bid block branch when there is no viable bid to commit to */
43
48
  const NO_BID_AVAILABLE = "No builder bid available";
44
49
  /**
@@ -120,11 +125,13 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
120
125
  else if (state.slot < SLOTS_PER_HISTORICAL_ROOT) {
121
126
  genesisBlockRoot = state.getBlockRootAtSlot(GENESIS_SLOT);
122
127
  }
123
- const blockRes = await chain.getCanonicalBlockAtSlot(GENESIS_SLOT);
124
- if (blockRes) {
125
- genesisBlockRoot = config
126
- .getForkTypes(blockRes.block.message.slot)
127
- .SignedBeaconBlock.hashTreeRoot(blockRes.block);
128
+ else {
129
+ const blockRes = await chain.getCanonicalBlockAtSlot(GENESIS_SLOT);
130
+ if (blockRes) {
131
+ genesisBlockRoot = config
132
+ .getForkTypes(blockRes.block.message.slot)
133
+ .BeaconBlock.hashTreeRoot(blockRes.block.message);
134
+ }
128
135
  }
129
136
  }
130
137
  // If for some reason the genesisBlockRoot is not able don't prevent validators from
@@ -709,31 +716,43 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
709
716
  const builderBidExpected = builderConfig.builders.length > 0 ||
710
717
  (!circuitBreakerActive &&
711
718
  chain.executionPayloadBidPool.getBestBid(slot, bidParentBlockHash, parentBlockRootHex) !== null);
712
- // Select the p2p bid once builders had time to bid up, matching the deadline advertised
713
- // on builder API bid requests, unless the circuit breaker is active
714
- const p2pBidPromise = circuitBreakerActive
715
- ? Promise.resolve(null)
716
- : sleep(Math.max(0, BUILDER_BID_DEADLINE_MS - chain.clock.msFromSlot(slot))).then(() => {
717
- const p2pBid = chain.executionPayloadBidPool.getBestBid(slot, bidParentBlockHash, parentBlockRootHex);
718
- // Discard p2p bids below the proposer's configured floor on the total payment.
719
- // A p2p bid's total is just its value since gossip validation enforces executionPayment=0.
720
- if (p2pBid !== null && BigInt(p2pBid.signedBid.message.value) < builderConfig.minBid) {
721
- logger.info("Best p2p bid below configured minimum", {
722
- slot,
723
- bidValue: prettyGweiToEth(p2pBid.signedBid.message.value),
724
- minBid: prettyGweiToEth(builderConfig.minBid),
725
- });
726
- return null;
727
- }
728
- return p2pBid;
729
- });
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));
730
728
  // Candidates are ranked by their boosted counted total payment, the p2p bid is governed
731
729
  // by the top-level factors and each builder API bid by its own entry. Ties prefer the
732
730
  // earliest received builder API bid, so the signed block can be routed back to its
733
731
  // builder directly.
734
732
  const bestBidPromise = (async () => {
735
- 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
+ ]);
736
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
+ }
737
756
  const candidates = (await Promise.all(builderApiBids.map(async ({ url, entry, signedBid, receivedMs }) => {
738
757
  try {
739
758
  await validateBuilderApiExecutionPayloadBid(chain, signedBid, {
@@ -809,9 +828,6 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
809
828
  const t = metrics?.blockProductionTime.startTimer();
810
829
  return fn().finally(() => t?.({ source }));
811
830
  };
812
- // Calculate cutoff time based on start of the slot, ensures a slow local payload build does
813
- // not delay the proposal when a builder bid block is available (and vice versa)
814
- const cutoffMs = Math.max(0, config.getSlotComponentDurationMs(fork, BLOCK_PRODUCTION_RACE_CUTOFF_BPS) - chain.clock.msFromSlot(slot));
815
831
  // use abort controller to stop waiting for the bid block if the engine block will be selected
816
832
  const controller = new AbortController();
817
833
  const enginePromise = timed(ProducedBlockSource.engine, () => chain.produceBlock(baseAttrs)).then((engineBlock) => {
@@ -1309,7 +1325,7 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
1309
1325
  duties.push(duty);
1310
1326
  }
1311
1327
  }
1312
- const dependentRoot = fromHex(state.getShufflingDecisionRoot(epoch)) || (await getGenesisBlockRoot(state));
1328
+ const dependentRoot = fromHex(state.getShufflingDecisionRoot(epoch));
1313
1329
  return {
1314
1330
  data: duties,
1315
1331
  meta: {
@@ -1349,7 +1365,10 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
1349
1365
  }
1350
1366
  }
1351
1367
  }
1352
- const dependentRoot = fromHex(state.getShufflingDecisionRoot(epoch)) || (await getGenesisBlockRoot(state));
1368
+ // The fork epoch PTC is computed at the fork from effective balances updated at the end of the
1369
+ // last pre-fork epoch, so its dependent root is one epoch later than for other epochs
1370
+ const dependentRootEpoch = epoch === config.GLOAS_FORK_EPOCH ? epoch + 1 : epoch;
1371
+ const dependentRoot = fromHex(state.getShufflingDecisionRoot(dependentRootEpoch));
1353
1372
  return {
1354
1373
  data: duties,
1355
1374
  meta: {
@@ -1692,6 +1711,95 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
1692
1711
  throw new IndexedError("Error submitting builder preferences", failures);
1693
1712
  }
1694
1713
  },
1714
+ async produceInclusionList({ slot }) {
1715
+ notWhileSyncing(chain, sync.state);
1716
+ if (!isForkPostHeze(chain.config.getForkName(slot))) {
1717
+ throw new ApiError(400, `Producing inclusion list for pre-heze slot: ${slot}`);
1718
+ }
1719
+ await waitForSlot(slot); // Must never request for a future slot > currentSlot
1720
+ const timer = metrics?.getInclusionListV1RequestsDuration.startTimer();
1721
+ const transactions = await chain.executionEngine.getInclusionList();
1722
+ timer?.();
1723
+ metrics?.getInclusionListV1Requests.inc();
1724
+ return { data: transactions, meta: { version: chain.config.getForkName(slot) } };
1725
+ },
1726
+ async getInclusionListCommitteeDuties({ epoch, indices }) {
1727
+ notWhileSyncing(chain, sync.state);
1728
+ if (indices.length === 0) {
1729
+ throw new ApiError(400, "No validator to get inclusion list committee duties");
1730
+ }
1731
+ if (!isForkPostHeze(chain.config.getForkName(computeStartSlotAtEpoch(epoch)))) {
1732
+ throw new ApiError(400, `Requesting pre-heze inclusion list committee duties epoch: ${epoch}`);
1733
+ }
1734
+ // May request for an epoch that's in the future
1735
+ await waitForNextClosestEpoch();
1736
+ if (epoch > chain.clock.currentEpoch + 1) {
1737
+ throw new ApiError(400, "Cannot get duties for epoch more than one ahead");
1738
+ }
1739
+ const head = chain.forkChoice.getHead();
1740
+ const state = await chain.getHeadStateAtCurrentEpoch(RegenCaller.getDuties);
1741
+ const pubkeys = getPubkeysForIndices(state, indices);
1742
+ const requestedIndices = new Set(indices);
1743
+ const epochStartSlot = computeStartSlotAtEpoch(epoch);
1744
+ const shuffling = state.getShufflingAtEpoch(epoch);
1745
+ // Validators set this as `dependent_root` on their inclusion lists
1746
+ const dependentRoot = fromHex(state.getShufflingDecisionRoot(epoch));
1747
+ // A validator can be on several slots' committees in an epoch; report the earliest, as for attester duties
1748
+ const dutySlotByValidator = new Map();
1749
+ for (let i = 0; i < SLOTS_PER_EPOCH; i++) {
1750
+ const slot = epochStartSlot + i;
1751
+ for (const validatorIndex of getInclusionListCommittee(shuffling, slot).validatorIndices) {
1752
+ if (requestedIndices.has(validatorIndex) && !dutySlotByValidator.has(validatorIndex)) {
1753
+ dutySlotByValidator.set(validatorIndex, slot);
1754
+ }
1755
+ }
1756
+ }
1757
+ const duties = [];
1758
+ for (let i = 0; i < indices.length; i++) {
1759
+ const validatorIndex = indices[i];
1760
+ const slot = dutySlotByValidator.get(validatorIndex);
1761
+ if (slot !== undefined) {
1762
+ duties.push({ pubkey: pubkeys[i], validatorIndex, slot, dependentRoot });
1763
+ }
1764
+ }
1765
+ return {
1766
+ data: duties,
1767
+ meta: {
1768
+ dependentRoot: toRootHex(dependentRoot),
1769
+ executionOptimistic: isOptimisticBlock(head),
1770
+ },
1771
+ };
1772
+ },
1773
+ async publishInclusionList({ signedInclusionList }) {
1774
+ notWhileSyncing(chain, sync.state);
1775
+ const { slot } = signedInclusionList.message;
1776
+ if (!isForkPostHeze(chain.config.getForkName(slot))) {
1777
+ throw new ApiError(400, `Publishing pre-heze inclusion list slot: ${slot}`);
1778
+ }
1779
+ // Timeliness is judged on receipt, as for gossip, so a list submitted in time stays timely if validation is slow
1780
+ const secFromSlot = chain.clock.secFromSlot(slot, Date.now() / 1000);
1781
+ metrics?.inclusionListsReceived.inc({ source: InclusionListSource.api });
1782
+ metrics?.inclusionListTransactionsReceived.inc({ source: InclusionListSource.api }, signedInclusionList.message.transactions.length);
1783
+ const timer = metrics?.inclusionListsValidationTime.startTimer();
1784
+ let validationResult;
1785
+ try {
1786
+ validationResult = await validateGossipInclusionList(chain, signedInclusionList);
1787
+ }
1788
+ finally {
1789
+ timer?.({ source: InclusionListSource.api });
1790
+ }
1791
+ const { committeeIndices, totalBytes } = validationResult;
1792
+ metrics?.inclusionListsValid.inc({ source: InclusionListSource.api });
1793
+ metrics?.inclusionListsValidSize.inc(totalBytes);
1794
+ const isTimely = secFromSlot >= 0 && secFromSlot * 1000 < chain.config.getInclusionListDueMs(chain.config.getForkName(slot));
1795
+ chain.inclusionListStore.process(signedInclusionList, committeeIndices, isTimely);
1796
+ chain.emitter.emit(routes.events.EventType.inclusionList, {
1797
+ version: chain.config.getForkName(slot),
1798
+ data: signedInclusionList,
1799
+ });
1800
+ await network.publishInclusionList(signedInclusionList);
1801
+ metrics?.inclusionListsPublished.inc();
1802
+ },
1695
1803
  async getExecutionPayloadEnvelope({ slot, beaconBlockRoot }) {
1696
1804
  const fork = config.getForkName(slot);
1697
1805
  if (!isForkPostGloas(fork)) {