@lodestar/beacon-node 1.39.1 → 1.40.0-dev.193b2e2047

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 (434) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +8 -18
  3. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  4. package/lib/api/impl/beacon/state/utils.d.ts +2 -7
  5. package/lib/api/impl/beacon/state/utils.d.ts.map +1 -1
  6. package/lib/api/impl/beacon/state/utils.js +0 -12
  7. package/lib/api/impl/beacon/state/utils.js.map +1 -1
  8. package/lib/api/impl/config/constants.d.ts +3 -0
  9. package/lib/api/impl/config/constants.d.ts.map +1 -1
  10. package/lib/api/impl/config/constants.js +5 -1
  11. package/lib/api/impl/config/constants.js.map +1 -1
  12. package/lib/api/impl/debug/index.d.ts +1 -1
  13. package/lib/api/impl/debug/index.d.ts.map +1 -1
  14. package/lib/api/impl/debug/index.js +3 -6
  15. package/lib/api/impl/debug/index.js.map +1 -1
  16. package/lib/api/impl/lodestar/index.d.ts.map +1 -1
  17. package/lib/api/impl/lodestar/index.js +6 -3
  18. package/lib/api/impl/lodestar/index.js.map +1 -1
  19. package/lib/api/impl/proof/index.d.ts.map +1 -1
  20. package/lib/api/impl/proof/index.js +1 -2
  21. package/lib/api/impl/proof/index.js.map +1 -1
  22. package/lib/api/impl/validator/index.d.ts.map +1 -1
  23. package/lib/api/impl/validator/index.js +10 -11
  24. package/lib/api/impl/validator/index.js.map +1 -1
  25. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +1 -1
  26. package/lib/chain/archiveStore/historicalState/getHistoricalState.js +5 -3
  27. package/lib/chain/archiveStore/historicalState/getHistoricalState.js.map +1 -1
  28. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +1 -1
  29. package/lib/chain/archiveStore/utils/archiveBlocks.js +23 -14
  30. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  31. package/lib/chain/blocks/blockInput/blockInput.d.ts +2 -0
  32. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +1 -1
  33. package/lib/chain/blocks/blockInput/blockInput.js +6 -0
  34. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  35. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  36. package/lib/chain/blocks/importBlock.js +14 -9
  37. package/lib/chain/blocks/importBlock.js.map +1 -1
  38. package/lib/chain/blocks/index.d.ts.map +1 -1
  39. package/lib/chain/blocks/index.js +0 -14
  40. package/lib/chain/blocks/index.js.map +1 -1
  41. package/lib/chain/blocks/types.d.ts +0 -2
  42. package/lib/chain/blocks/types.d.ts.map +1 -1
  43. package/lib/chain/blocks/verifyBlock.d.ts.map +1 -1
  44. package/lib/chain/blocks/verifyBlock.js +9 -9
  45. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  46. package/lib/chain/blocks/verifyBlocksSignatures.d.ts +2 -2
  47. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +1 -1
  48. package/lib/chain/blocks/verifyBlocksSignatures.js +2 -2
  49. package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
  50. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +1 -1
  51. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js +1 -0
  52. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js.map +1 -1
  53. package/lib/chain/blocks/writeBlockInputToDb.d.ts +1 -4
  54. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +1 -1
  55. package/lib/chain/blocks/writeBlockInputToDb.js +20 -28
  56. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  57. package/lib/chain/bls/multithread/index.d.ts +3 -1
  58. package/lib/chain/bls/multithread/index.d.ts.map +1 -1
  59. package/lib/chain/bls/multithread/index.js +5 -3
  60. package/lib/chain/bls/multithread/index.js.map +1 -1
  61. package/lib/chain/bls/multithread/jobItem.d.ts +2 -2
  62. package/lib/chain/bls/multithread/jobItem.d.ts.map +1 -1
  63. package/lib/chain/bls/multithread/jobItem.js +2 -2
  64. package/lib/chain/bls/multithread/jobItem.js.map +1 -1
  65. package/lib/chain/bls/singleThread.d.ts +4 -2
  66. package/lib/chain/bls/singleThread.d.ts.map +1 -1
  67. package/lib/chain/bls/singleThread.js +4 -2
  68. package/lib/chain/bls/singleThread.js.map +1 -1
  69. package/lib/chain/bls/utils.d.ts +2 -2
  70. package/lib/chain/bls/utils.d.ts.map +1 -1
  71. package/lib/chain/bls/utils.js +9 -6
  72. package/lib/chain/bls/utils.js.map +1 -1
  73. package/lib/chain/chain.d.ts +24 -6
  74. package/lib/chain/chain.d.ts.map +1 -1
  75. package/lib/chain/chain.js +196 -21
  76. package/lib/chain/chain.js.map +1 -1
  77. package/lib/chain/errors/attestationError.d.ts +14 -1
  78. package/lib/chain/errors/attestationError.d.ts.map +1 -1
  79. package/lib/chain/errors/attestationError.js +8 -0
  80. package/lib/chain/errors/attestationError.js.map +1 -1
  81. package/lib/chain/errors/executionPayloadBid.d.ts +48 -0
  82. package/lib/chain/errors/executionPayloadBid.d.ts.map +1 -0
  83. package/lib/chain/errors/executionPayloadBid.js +15 -0
  84. package/lib/chain/errors/executionPayloadBid.js.map +1 -0
  85. package/lib/chain/errors/executionPayloadEnvelope.d.ts +48 -0
  86. package/lib/chain/errors/executionPayloadEnvelope.d.ts.map +1 -0
  87. package/lib/chain/errors/executionPayloadEnvelope.js +16 -0
  88. package/lib/chain/errors/executionPayloadEnvelope.js.map +1 -0
  89. package/lib/chain/errors/index.d.ts +3 -0
  90. package/lib/chain/errors/index.d.ts.map +1 -1
  91. package/lib/chain/errors/index.js +3 -0
  92. package/lib/chain/errors/index.js.map +1 -1
  93. package/lib/chain/errors/payloadAttestation.d.ts +34 -0
  94. package/lib/chain/errors/payloadAttestation.d.ts.map +1 -0
  95. package/lib/chain/errors/payloadAttestation.js +13 -0
  96. package/lib/chain/errors/payloadAttestation.js.map +1 -0
  97. package/lib/chain/forkChoice/index.d.ts.map +1 -1
  98. package/lib/chain/forkChoice/index.js +18 -0
  99. package/lib/chain/forkChoice/index.js.map +1 -1
  100. package/lib/chain/initState.d.ts +1 -1
  101. package/lib/chain/initState.d.ts.map +1 -1
  102. package/lib/chain/initState.js +5 -3
  103. package/lib/chain/initState.js.map +1 -1
  104. package/lib/chain/interface.d.ts +23 -5
  105. package/lib/chain/interface.d.ts.map +1 -1
  106. package/lib/chain/interface.js.map +1 -1
  107. package/lib/chain/lightClient/proofs.d.ts.map +1 -1
  108. package/lib/chain/lightClient/proofs.js +0 -2
  109. package/lib/chain/lightClient/proofs.js.map +1 -1
  110. package/lib/chain/opPools/aggregatedAttestationPool.d.ts +5 -9
  111. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
  112. package/lib/chain/opPools/aggregatedAttestationPool.js +12 -141
  113. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  114. package/lib/chain/opPools/executionPayloadBidPool.d.ts +21 -0
  115. package/lib/chain/opPools/executionPayloadBidPool.d.ts.map +1 -0
  116. package/lib/chain/opPools/executionPayloadBidPool.js +57 -0
  117. package/lib/chain/opPools/executionPayloadBidPool.js.map +1 -0
  118. package/lib/chain/opPools/index.d.ts +2 -0
  119. package/lib/chain/opPools/index.d.ts.map +1 -1
  120. package/lib/chain/opPools/index.js +2 -0
  121. package/lib/chain/opPools/index.js.map +1 -1
  122. package/lib/chain/opPools/opPool.js +5 -8
  123. package/lib/chain/opPools/opPool.js.map +1 -1
  124. package/lib/chain/opPools/payloadAttestationPool.d.ts +24 -0
  125. package/lib/chain/opPools/payloadAttestationPool.d.ts.map +1 -0
  126. package/lib/chain/opPools/payloadAttestationPool.js +109 -0
  127. package/lib/chain/opPools/payloadAttestationPool.js.map +1 -0
  128. package/lib/chain/prepareNextSlot.d.ts.map +1 -1
  129. package/lib/chain/prepareNextSlot.js +9 -10
  130. package/lib/chain/prepareNextSlot.js.map +1 -1
  131. package/lib/chain/produceBlock/produceBlockBody.d.ts +3 -2
  132. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  133. package/lib/chain/produceBlock/produceBlockBody.js +6 -4
  134. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  135. package/lib/chain/regen/interface.d.ts +4 -13
  136. package/lib/chain/regen/interface.d.ts.map +1 -1
  137. package/lib/chain/regen/interface.js +1 -1
  138. package/lib/chain/regen/interface.js.map +1 -1
  139. package/lib/chain/regen/queued.d.ts +5 -9
  140. package/lib/chain/regen/queued.d.ts.map +1 -1
  141. package/lib/chain/regen/queued.js +16 -40
  142. package/lib/chain/regen/queued.js.map +1 -1
  143. package/lib/chain/regen/regen.d.ts +4 -8
  144. package/lib/chain/regen/regen.d.ts.map +1 -1
  145. package/lib/chain/regen/regen.js +16 -33
  146. package/lib/chain/regen/regen.js.map +1 -1
  147. package/lib/chain/seenCache/index.d.ts +3 -1
  148. package/lib/chain/seenCache/index.d.ts.map +1 -1
  149. package/lib/chain/seenCache/index.js +3 -1
  150. package/lib/chain/seenCache/index.js.map +1 -1
  151. package/lib/chain/seenCache/seenAttesters.d.ts +5 -0
  152. package/lib/chain/seenCache/seenAttesters.d.ts.map +1 -1
  153. package/lib/chain/seenCache/seenAttesters.js +5 -0
  154. package/lib/chain/seenCache/seenAttesters.js.map +1 -1
  155. package/lib/chain/seenCache/seenExecutionPayloadBids.d.ts +12 -0
  156. package/lib/chain/seenCache/seenExecutionPayloadBids.d.ts.map +1 -0
  157. package/lib/chain/seenCache/seenExecutionPayloadBids.js +30 -0
  158. package/lib/chain/seenCache/seenExecutionPayloadBids.js.map +1 -0
  159. package/lib/chain/seenCache/seenExecutionPayloadEnvelope.d.ts +15 -0
  160. package/lib/chain/seenCache/seenExecutionPayloadEnvelope.d.ts.map +1 -0
  161. package/lib/chain/seenCache/seenExecutionPayloadEnvelope.js +28 -0
  162. package/lib/chain/seenCache/seenExecutionPayloadEnvelope.js.map +1 -0
  163. package/lib/chain/shufflingCache.d.ts +16 -11
  164. package/lib/chain/shufflingCache.d.ts.map +1 -1
  165. package/lib/chain/shufflingCache.js +47 -41
  166. package/lib/chain/shufflingCache.js.map +1 -1
  167. package/lib/chain/stateCache/blockStateCacheImpl.d.ts +1 -2
  168. package/lib/chain/stateCache/blockStateCacheImpl.d.ts.map +1 -1
  169. package/lib/chain/stateCache/blockStateCacheImpl.js +2 -2
  170. package/lib/chain/stateCache/blockStateCacheImpl.js.map +1 -1
  171. package/lib/chain/stateCache/fifoBlockStateCache.d.ts +1 -2
  172. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +1 -1
  173. package/lib/chain/stateCache/fifoBlockStateCache.js +4 -4
  174. package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
  175. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts +4 -5
  176. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts.map +1 -1
  177. package/lib/chain/stateCache/inMemoryCheckpointsCache.js +9 -10
  178. package/lib/chain/stateCache/inMemoryCheckpointsCache.js.map +1 -1
  179. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +5 -6
  180. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +1 -1
  181. package/lib/chain/stateCache/persistentCheckpointsCache.js +17 -17
  182. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  183. package/lib/chain/stateCache/types.d.ts +5 -6
  184. package/lib/chain/stateCache/types.d.ts.map +1 -1
  185. package/lib/chain/stateCache/types.js.map +1 -1
  186. package/lib/chain/validation/aggregateAndProof.js +35 -14
  187. package/lib/chain/validation/aggregateAndProof.js.map +1 -1
  188. package/lib/chain/validation/attestation.d.ts +2 -2
  189. package/lib/chain/validation/attestation.d.ts.map +1 -1
  190. package/lib/chain/validation/attestation.js +28 -9
  191. package/lib/chain/validation/attestation.js.map +1 -1
  192. package/lib/chain/validation/attesterSlashing.d.ts.map +1 -1
  193. package/lib/chain/validation/attesterSlashing.js +2 -2
  194. package/lib/chain/validation/attesterSlashing.js.map +1 -1
  195. package/lib/chain/validation/blobSidecar.d.ts.map +1 -1
  196. package/lib/chain/validation/blobSidecar.js +3 -3
  197. package/lib/chain/validation/blobSidecar.js.map +1 -1
  198. package/lib/chain/validation/block.d.ts.map +1 -1
  199. package/lib/chain/validation/block.js +7 -4
  200. package/lib/chain/validation/block.js.map +1 -1
  201. package/lib/chain/validation/blsToExecutionChange.d.ts.map +1 -1
  202. package/lib/chain/validation/blsToExecutionChange.js +9 -2
  203. package/lib/chain/validation/blsToExecutionChange.js.map +1 -1
  204. package/lib/chain/validation/dataColumnSidecar.d.ts.map +1 -1
  205. package/lib/chain/validation/dataColumnSidecar.js +3 -3
  206. package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
  207. package/lib/chain/validation/executionPayloadBid.d.ts +5 -0
  208. package/lib/chain/validation/executionPayloadBid.d.ts.map +1 -0
  209. package/lib/chain/validation/executionPayloadBid.js +104 -0
  210. package/lib/chain/validation/executionPayloadBid.js.map +1 -0
  211. package/lib/chain/validation/executionPayloadEnvelope.d.ts +5 -0
  212. package/lib/chain/validation/executionPayloadEnvelope.d.ts.map +1 -0
  213. package/lib/chain/validation/executionPayloadEnvelope.js +89 -0
  214. package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -0
  215. package/lib/chain/validation/payloadAttestationMessage.d.ts +9 -0
  216. package/lib/chain/validation/payloadAttestationMessage.d.ts.map +1 -0
  217. package/lib/chain/validation/payloadAttestationMessage.js +72 -0
  218. package/lib/chain/validation/payloadAttestationMessage.js.map +1 -0
  219. package/lib/chain/validation/proposerSlashing.js +3 -2
  220. package/lib/chain/validation/proposerSlashing.js.map +1 -1
  221. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts +2 -3
  222. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts.map +1 -1
  223. package/lib/chain/validation/signatureSets/aggregateAndProof.js +8 -3
  224. package/lib/chain/validation/signatureSets/aggregateAndProof.js.map +1 -1
  225. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts +2 -2
  226. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +1 -1
  227. package/lib/chain/validation/signatureSets/contributionAndProof.js +3 -3
  228. package/lib/chain/validation/signatureSets/contributionAndProof.js.map +1 -1
  229. package/lib/chain/validation/signatureSets/selectionProof.d.ts +2 -3
  230. package/lib/chain/validation/signatureSets/selectionProof.d.ts.map +1 -1
  231. package/lib/chain/validation/signatureSets/selectionProof.js +8 -3
  232. package/lib/chain/validation/signatureSets/selectionProof.js.map +1 -1
  233. package/lib/chain/validation/signatureSets/syncCommittee.d.ts +2 -2
  234. package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +1 -1
  235. package/lib/chain/validation/signatureSets/syncCommittee.js +3 -3
  236. package/lib/chain/validation/signatureSets/syncCommittee.js.map +1 -1
  237. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts +1 -2
  238. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +1 -1
  239. package/lib/chain/validation/signatureSets/syncCommitteeContribution.js +2 -2
  240. package/lib/chain/validation/signatureSets/syncCommitteeContribution.js.map +1 -1
  241. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts +2 -2
  242. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +1 -1
  243. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js +3 -3
  244. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js.map +1 -1
  245. package/lib/chain/validation/syncCommittee.js +1 -1
  246. package/lib/chain/validation/syncCommittee.js.map +1 -1
  247. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +1 -1
  248. package/lib/chain/validation/syncCommitteeContributionAndProof.js +3 -5
  249. package/lib/chain/validation/syncCommitteeContributionAndProof.js.map +1 -1
  250. package/lib/chain/validation/voluntaryExit.js +1 -1
  251. package/lib/chain/validation/voluntaryExit.js.map +1 -1
  252. package/lib/chain/validatorMonitor.d.ts +2 -0
  253. package/lib/chain/validatorMonitor.d.ts.map +1 -1
  254. package/lib/chain/validatorMonitor.js +42 -3
  255. package/lib/chain/validatorMonitor.js.map +1 -1
  256. package/lib/db/repositories/checkpointState.d.ts +2 -6
  257. package/lib/db/repositories/checkpointState.d.ts.map +1 -1
  258. package/lib/db/repositories/checkpointState.js +3 -16
  259. package/lib/db/repositories/checkpointState.js.map +1 -1
  260. package/lib/db/repositories/stateArchive.d.ts +9 -9
  261. package/lib/db/repositories/stateArchive.d.ts.map +1 -1
  262. package/lib/db/repositories/stateArchive.js +6 -21
  263. package/lib/db/repositories/stateArchive.js.map +1 -1
  264. package/lib/execution/engine/mock.d.ts +9 -6
  265. package/lib/execution/engine/mock.d.ts.map +1 -1
  266. package/lib/execution/engine/mock.js +34 -7
  267. package/lib/execution/engine/mock.js.map +1 -1
  268. package/lib/index.d.ts +1 -1
  269. package/lib/index.d.ts.map +1 -1
  270. package/lib/index.js +1 -1
  271. package/lib/index.js.map +1 -1
  272. package/lib/metrics/metrics/lodestar.d.ts +28 -6
  273. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  274. package/lib/metrics/metrics/lodestar.js +67 -17
  275. package/lib/metrics/metrics/lodestar.js.map +1 -1
  276. package/lib/network/gossip/interface.d.ts +20 -2
  277. package/lib/network/gossip/interface.d.ts.map +1 -1
  278. package/lib/network/gossip/interface.js +3 -0
  279. package/lib/network/gossip/interface.js.map +1 -1
  280. package/lib/network/gossip/scoringParameters.d.ts.map +1 -1
  281. package/lib/network/gossip/scoringParameters.js +38 -2
  282. package/lib/network/gossip/scoringParameters.js.map +1 -1
  283. package/lib/network/gossip/topic.d.ts +77 -1
  284. package/lib/network/gossip/topic.d.ts.map +1 -1
  285. package/lib/network/gossip/topic.js +20 -0
  286. package/lib/network/gossip/topic.js.map +1 -1
  287. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  288. package/lib/network/processor/gossipHandlers.js +34 -3
  289. package/lib/network/processor/gossipHandlers.js.map +1 -1
  290. package/lib/network/processor/gossipQueues/index.d.ts.map +1 -1
  291. package/lib/network/processor/gossipQueues/index.js +16 -0
  292. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  293. package/lib/network/processor/index.d.ts.map +1 -1
  294. package/lib/network/processor/index.js +3 -0
  295. package/lib/network/processor/index.js.map +1 -1
  296. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +1 -1
  297. package/lib/network/reqresp/handlers/beaconBlocksByRange.js +2 -4
  298. package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
  299. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts +1 -2
  300. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts.map +1 -1
  301. package/lib/network/reqresp/handlers/beaconBlocksByRoot.js +5 -26
  302. package/lib/network/reqresp/handlers/beaconBlocksByRoot.js.map +1 -1
  303. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts +1 -2
  304. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +1 -1
  305. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js +5 -7
  306. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +1 -1
  307. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +1 -1
  308. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +1 -2
  309. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -1
  310. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +1 -1
  311. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js +1 -5
  312. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -1
  313. package/lib/network/reqresp/handlers/index.js +2 -2
  314. package/lib/network/reqresp/handlers/index.js.map +1 -1
  315. package/lib/network/reqresp/utils/dataColumnResponseValidation.js +1 -1
  316. package/lib/network/reqresp/utils/dataColumnResponseValidation.js.map +1 -1
  317. package/lib/node/nodejs.d.ts.map +1 -1
  318. package/lib/node/nodejs.js +17 -2
  319. package/lib/node/nodejs.js.map +1 -1
  320. package/lib/sync/backfill/backfill.js +2 -2
  321. package/lib/sync/backfill/backfill.js.map +1 -1
  322. package/lib/sync/backfill/verify.d.ts +1 -2
  323. package/lib/sync/backfill/verify.d.ts.map +1 -1
  324. package/lib/sync/backfill/verify.js +2 -2
  325. package/lib/sync/backfill/verify.js.map +1 -1
  326. package/lib/sync/range/chain.d.ts.map +1 -1
  327. package/lib/sync/range/chain.js +0 -1
  328. package/lib/sync/range/chain.js.map +1 -1
  329. package/lib/sync/range/range.d.ts.map +1 -1
  330. package/lib/sync/range/range.js +0 -3
  331. package/lib/sync/range/range.js.map +1 -1
  332. package/lib/sync/unknownBlock.d.ts.map +1 -1
  333. package/lib/sync/unknownBlock.js +0 -3
  334. package/lib/sync/unknownBlock.js.map +1 -1
  335. package/lib/util/sszBytes.js +1 -1
  336. package/lib/util/sszBytes.js.map +1 -1
  337. package/package.json +15 -15
  338. package/src/api/impl/beacon/blocks/index.ts +8 -18
  339. package/src/api/impl/beacon/state/utils.ts +2 -22
  340. package/src/api/impl/config/constants.ts +8 -0
  341. package/src/api/impl/debug/index.ts +2 -6
  342. package/src/api/impl/lodestar/index.ts +7 -4
  343. package/src/api/impl/proof/index.ts +1 -2
  344. package/src/api/impl/validator/index.ts +13 -14
  345. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +5 -3
  346. package/src/chain/archiveStore/utils/archiveBlocks.ts +25 -14
  347. package/src/chain/blocks/blockInput/blockInput.ts +8 -0
  348. package/src/chain/blocks/importBlock.ts +15 -9
  349. package/src/chain/blocks/index.ts +0 -19
  350. package/src/chain/blocks/types.ts +0 -2
  351. package/src/chain/blocks/verifyBlock.ts +9 -12
  352. package/src/chain/blocks/verifyBlocksSignatures.ts +4 -12
  353. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +1 -0
  354. package/src/chain/blocks/writeBlockInputToDb.ts +24 -30
  355. package/src/chain/bls/multithread/index.ts +7 -4
  356. package/src/chain/bls/multithread/jobItem.ts +7 -3
  357. package/src/chain/bls/singleThread.ts +5 -3
  358. package/src/chain/bls/utils.ts +15 -7
  359. package/src/chain/chain.ts +225 -32
  360. package/src/chain/errors/attestationError.ts +11 -1
  361. package/src/chain/errors/executionPayloadBid.ts +35 -0
  362. package/src/chain/errors/executionPayloadEnvelope.ts +34 -0
  363. package/src/chain/errors/index.ts +3 -0
  364. package/src/chain/errors/payloadAttestation.ts +25 -0
  365. package/src/chain/forkChoice/index.ts +19 -0
  366. package/src/chain/initState.ts +5 -3
  367. package/src/chain/interface.ts +34 -3
  368. package/src/chain/lightClient/proofs.ts +0 -2
  369. package/src/chain/opPools/aggregatedAttestationPool.ts +19 -191
  370. package/src/chain/opPools/executionPayloadBidPool.ts +77 -0
  371. package/src/chain/opPools/index.ts +2 -0
  372. package/src/chain/opPools/opPool.ts +5 -7
  373. package/src/chain/opPools/payloadAttestationPool.ts +157 -0
  374. package/src/chain/prepareNextSlot.ts +8 -12
  375. package/src/chain/produceBlock/produceBlockBody.ts +13 -6
  376. package/src/chain/regen/interface.ts +3 -17
  377. package/src/chain/regen/queued.ts +17 -56
  378. package/src/chain/regen/regen.ts +16 -42
  379. package/src/chain/seenCache/index.ts +3 -1
  380. package/src/chain/seenCache/seenAttesters.ts +5 -0
  381. package/src/chain/seenCache/seenExecutionPayloadBids.ts +35 -0
  382. package/src/chain/seenCache/seenExecutionPayloadEnvelope.ts +34 -0
  383. package/src/chain/shufflingCache.ts +67 -50
  384. package/src/chain/stateCache/blockStateCacheImpl.ts +2 -3
  385. package/src/chain/stateCache/fifoBlockStateCache.ts +4 -5
  386. package/src/chain/stateCache/inMemoryCheckpointsCache.ts +9 -15
  387. package/src/chain/stateCache/persistentCheckpointsCache.ts +17 -25
  388. package/src/chain/stateCache/types.ts +5 -10
  389. package/src/chain/validation/aggregateAndProof.ts +36 -14
  390. package/src/chain/validation/attestation.ts +36 -19
  391. package/src/chain/validation/attesterSlashing.ts +9 -7
  392. package/src/chain/validation/blobSidecar.ts +2 -7
  393. package/src/chain/validation/block.ts +8 -4
  394. package/src/chain/validation/blsToExecutionChange.ts +9 -7
  395. package/src/chain/validation/dataColumnSidecar.ts +2 -7
  396. package/src/chain/validation/executionPayloadBid.ts +141 -0
  397. package/src/chain/validation/executionPayloadEnvelope.ts +122 -0
  398. package/src/chain/validation/payloadAttestationMessage.ts +109 -0
  399. package/src/chain/validation/proposerSlashing.ts +3 -7
  400. package/src/chain/validation/signatureSets/aggregateAndProof.ts +9 -14
  401. package/src/chain/validation/signatureSets/contributionAndProof.ts +2 -4
  402. package/src/chain/validation/signatureSets/selectionProof.ts +9 -9
  403. package/src/chain/validation/signatureSets/syncCommittee.ts +2 -4
  404. package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +2 -3
  405. package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +2 -4
  406. package/src/chain/validation/syncCommittee.ts +1 -1
  407. package/src/chain/validation/syncCommitteeContributionAndProof.ts +3 -5
  408. package/src/chain/validation/voluntaryExit.ts +1 -1
  409. package/src/chain/validatorMonitor.ts +52 -3
  410. package/src/db/repositories/checkpointState.ts +3 -19
  411. package/src/db/repositories/stateArchive.ts +13 -27
  412. package/src/execution/engine/mock.ts +40 -13
  413. package/src/index.ts +1 -1
  414. package/src/metrics/metrics/lodestar.ts +68 -17
  415. package/src/network/gossip/interface.ts +17 -0
  416. package/src/network/gossip/scoringParameters.ts +44 -2
  417. package/src/network/gossip/topic.ts +21 -0
  418. package/src/network/processor/gossipHandlers.ts +48 -3
  419. package/src/network/processor/gossipQueues/index.ts +16 -0
  420. package/src/network/processor/index.ts +3 -0
  421. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +2 -4
  422. package/src/network/reqresp/handlers/beaconBlocksByRoot.ts +5 -32
  423. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +5 -9
  424. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +5 -2
  425. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +1 -5
  426. package/src/network/reqresp/handlers/index.ts +2 -2
  427. package/src/network/reqresp/utils/dataColumnResponseValidation.ts +1 -1
  428. package/src/node/nodejs.ts +18 -3
  429. package/src/sync/backfill/backfill.ts +2 -2
  430. package/src/sync/backfill/verify.ts +2 -3
  431. package/src/sync/range/chain.ts +0 -1
  432. package/src/sync/range/range.ts +0 -3
  433. package/src/sync/unknownBlock.ts +0 -3
  434. package/src/util/sszBytes.ts +1 -1
@@ -1,7 +1,6 @@
1
1
  import { computeEpochAtSlot } from "@lodestar/state-transition";
2
2
  import { toRootHex } from "@lodestar/utils";
3
3
  import { JobItemQueue } from "../../util/queue/index.js";
4
- import { toCheckpointHex } from "../stateCache/index.js";
5
4
  import { RegenError, RegenErrorCode } from "./errors.js";
6
5
  import { RegenCaller, RegenFnName, } from "./interface.js";
7
6
  import { StateRegenerator } from "./regen.js";
@@ -47,17 +46,14 @@ export class QueuedStateRegenerator {
47
46
  }
48
47
  /**
49
48
  * Get a state from block state cache.
50
- * This is not for block processing so don't transfer cache
51
49
  */
52
50
  getStateSync(stateRoot) {
53
- return this.blockStateCache.get(stateRoot, { dontTransferCache: true });
51
+ return this.blockStateCache.get(stateRoot);
54
52
  }
55
53
  /**
56
54
  * Get state for block processing.
57
- * By default, do not transfer cache except for the block at clock slot
58
- * which is usually the gossip block.
59
55
  */
60
- getPreStateSync(block, opts = { dontTransferCache: true }) {
56
+ getPreStateSync(block) {
61
57
  const parentRoot = toRootHex(block.parentRoot);
62
58
  const parentBlock = this.forkChoice.getBlockHex(parentRoot);
63
59
  if (!parentBlock) {
@@ -70,7 +66,7 @@ export class QueuedStateRegenerator {
70
66
  const blockEpoch = computeEpochAtSlot(block.slot);
71
67
  // Check the checkpoint cache (if the pre-state is a checkpoint state)
72
68
  if (parentEpoch < blockEpoch) {
73
- const checkpointState = this.checkpointStateCache.getLatest(parentRoot, blockEpoch, opts);
69
+ const checkpointState = this.checkpointStateCache.getLatest(parentRoot, blockEpoch);
74
70
  if (checkpointState && computeEpochAtSlot(checkpointState.slot) === blockEpoch) {
75
71
  return checkpointState;
76
72
  }
@@ -79,7 +75,7 @@ export class QueuedStateRegenerator {
79
75
  // Otherwise the state transition may not be cached and wasted. Queue for regen since the
80
76
  // work required will still be significant.
81
77
  if (parentEpoch === blockEpoch) {
82
- const state = this.blockStateCache.get(parentBlock.stateRoot, opts);
78
+ const state = this.blockStateCache.get(parentBlock.stateRoot);
83
79
  if (state) {
84
80
  return state;
85
81
  }
@@ -90,18 +86,16 @@ export class QueuedStateRegenerator {
90
86
  return this.checkpointStateCache.getStateOrBytes(cp);
91
87
  }
92
88
  /**
93
- * Get checkpoint state from cache, this function is not for block processing so don't transfer cache
89
+ * Get checkpoint state from cache
94
90
  */
95
91
  getCheckpointStateSync(cp) {
96
- return this.checkpointStateCache.get(cp, { dontTransferCache: true });
92
+ return this.checkpointStateCache.get(cp);
97
93
  }
98
94
  /**
99
- * Get state closest to head, this function is not for block processing so don't transfer cache
95
+ * Get state closest to head
100
96
  */
101
97
  getClosestHeadState(head) {
102
- const opts = { dontTransferCache: true };
103
- return (this.checkpointStateCache.getLatest(head.blockRoot, Infinity, opts) ||
104
- this.blockStateCache.get(head.stateRoot, opts));
98
+ return this.checkpointStateCache.getLatest(head.blockRoot, Infinity) || this.blockStateCache.get(head.stateRoot);
105
99
  }
106
100
  pruneOnCheckpoint(finalizedEpoch, justifiedEpoch, headStateRoot) {
107
101
  this.checkpointStateCache.prune(finalizedEpoch, justifiedEpoch);
@@ -130,10 +124,7 @@ export class QueuedStateRegenerator {
130
124
  maybeHeadSlot: maybeHeadState.slot,
131
125
  maybeHeadStateRoot,
132
126
  };
133
- const headState = newHeadStateRoot === maybeHeadStateRoot
134
- ? maybeHeadState
135
- : // maybeHeadState was already in block state cache so we don't transfer the cache
136
- this.blockStateCache.get(newHeadStateRoot, { dontTransferCache: true });
127
+ const headState = newHeadStateRoot === maybeHeadStateRoot ? maybeHeadState : this.blockStateCache.get(newHeadStateRoot);
137
128
  if (headState) {
138
129
  this.blockStateCache.setHeadState(headState);
139
130
  }
@@ -147,9 +138,7 @@ export class QueuedStateRegenerator {
147
138
  this.blockStateCache.setHeadState(null);
148
139
  // for the new FIFOBlockStateCache, it's important to reload state to regen head state here if needed
149
140
  const allowDiskReload = true;
150
- // transfer cache here because we want to regen state asap
151
- const cloneOpts = { dontTransferCache: false };
152
- this.regen.getState(newHeadStateRoot, RegenCaller.processBlock, cloneOpts, allowDiskReload).then((headStateRegen) => this.blockStateCache.setHeadState(headStateRegen), (e) => this.logger.error("Error on head state regen", logCtx, e));
141
+ this.regen.getState(newHeadStateRoot, RegenCaller.processBlock, allowDiskReload).then((headStateRegen) => this.blockStateCache.setHeadState(headStateRegen), (e) => this.logger.error("Error on head state regen", logCtx, e));
153
142
  }
154
143
  }
155
144
  updatePreComputedCheckpoint(rootHex, epoch) {
@@ -162,7 +151,7 @@ export class QueuedStateRegenerator {
162
151
  async getPreState(block, opts, rCaller) {
163
152
  this.metrics?.regenFnCallTotal.inc({ caller: rCaller, entrypoint: RegenFnName.getPreState });
164
153
  // First attempt to fetch the state from caches before queueing
165
- const cachedState = this.getPreStateSync(block, opts);
154
+ const cachedState = this.getPreStateSync(block);
166
155
  if (cachedState !== null) {
167
156
  return cachedState;
168
157
  }
@@ -170,38 +159,27 @@ export class QueuedStateRegenerator {
170
159
  this.metrics?.regenFnQueuedTotal.inc({ caller: rCaller, entrypoint: RegenFnName.getPreState });
171
160
  return this.jobQueue.push({ key: "getPreState", args: [block, opts, rCaller] });
172
161
  }
173
- async getCheckpointState(cp, opts, rCaller) {
174
- this.metrics?.regenFnCallTotal.inc({ caller: rCaller, entrypoint: RegenFnName.getCheckpointState });
175
- // First attempt to fetch the state from cache before queueing
176
- const checkpointState = this.checkpointStateCache.get(toCheckpointHex(cp), opts);
177
- if (checkpointState) {
178
- return checkpointState;
179
- }
180
- // The state is not immediately available in the caches, enqueue the job
181
- this.metrics?.regenFnQueuedTotal.inc({ caller: rCaller, entrypoint: RegenFnName.getCheckpointState });
182
- return this.jobQueue.push({ key: "getCheckpointState", args: [cp, opts, rCaller] });
183
- }
184
162
  /**
185
163
  * Get state of provided `blockRoot` and dial forward to `slot`
186
164
  * Use this api with care because we don't want the queue to be busy
187
165
  * For the context, gossip block validation uses this api so we want it to be as fast as possible
188
166
  * @returns
189
167
  */
190
- async getBlockSlotState(blockRoot, slot, opts, rCaller) {
168
+ async getBlockSlotState(block, slot, opts, rCaller) {
191
169
  this.metrics?.regenFnCallTotal.inc({ caller: rCaller, entrypoint: RegenFnName.getBlockSlotState });
192
170
  // The state is not immediately available in the caches, enqueue the job
193
- return this.jobQueue.push({ key: "getBlockSlotState", args: [blockRoot, slot, opts, rCaller] });
171
+ return this.jobQueue.push({ key: "getBlockSlotState", args: [block, slot, opts, rCaller] });
194
172
  }
195
- async getState(stateRoot, rCaller, opts = { dontTransferCache: true }) {
173
+ async getState(stateRoot, rCaller) {
196
174
  this.metrics?.regenFnCallTotal.inc({ caller: rCaller, entrypoint: RegenFnName.getState });
197
175
  // First attempt to fetch the state from cache before queueing
198
- const state = this.blockStateCache.get(stateRoot, opts);
176
+ const state = this.blockStateCache.get(stateRoot);
199
177
  if (state) {
200
178
  return state;
201
179
  }
202
180
  // The state is not immediately available in the cache, enqueue the job
203
181
  this.metrics?.regenFnQueuedTotal.inc({ caller: rCaller, entrypoint: RegenFnName.getState });
204
- return this.jobQueue.push({ key: "getState", args: [stateRoot, rCaller, opts] });
182
+ return this.jobQueue.push({ key: "getState", args: [stateRoot, rCaller] });
205
183
  }
206
184
  jobQueueProcessor = async (regenRequest) => {
207
185
  const metricsLabels = {
@@ -214,8 +192,6 @@ export class QueuedStateRegenerator {
214
192
  switch (regenRequest.key) {
215
193
  case "getPreState":
216
194
  return await this.regen.getPreState(...regenRequest.args);
217
- case "getCheckpointState":
218
- return await this.regen.getCheckpointState(...regenRequest.args);
219
195
  case "getBlockSlotState":
220
196
  return await this.regen.getBlockSlotState(...regenRequest.args);
221
197
  case "getState":
@@ -1 +1 @@
1
- {"version":3,"file":"queued.js","sourceRoot":"","sources":["../../../src/chain/regen/queued.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queued.js","sourceRoot":"","sources":["../../../src/chain/regen/queued.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { ChainForkConfig } from "@lodestar/config";
2
- import { IForkChoice } from "@lodestar/fork-choice";
2
+ import { IForkChoice, ProtoBlock } from "@lodestar/fork-choice";
3
3
  import { CachedBeaconStateAllForks } from "@lodestar/state-transition";
4
- import { BeaconBlock, RootHex, Slot, phase0 } from "@lodestar/types";
4
+ import { BeaconBlock, RootHex, Slot } from "@lodestar/types";
5
5
  import { Logger } from "@lodestar/utils";
6
6
  import { IBeaconDb } from "../../db/index.js";
7
7
  import { Metrics } from "../../metrics/index.js";
@@ -37,21 +37,17 @@ export declare class StateRegenerator implements IStateRegeneratorInternal {
37
37
  * - reload state if needed in this flow
38
38
  */
39
39
  getPreState(block: BeaconBlock, opts: StateRegenerationOpts, regenCaller: RegenCaller): Promise<CachedBeaconStateAllForks>;
40
- /**
41
- * Get state after block `cp.root` dialed forward to first slot of `cp.epoch`
42
- */
43
- getCheckpointState(cp: phase0.Checkpoint, opts: StateRegenerationOpts, regenCaller: RegenCaller, allowDiskReload?: boolean): Promise<CachedBeaconStateAllForks>;
44
40
  /**
45
41
  * Get state after block `blockRoot` dialed forward to `slot`
46
42
  * - allowDiskReload should be used with care, as it will cause the state to be reloaded from disk
47
43
  */
48
- getBlockSlotState(blockRoot: RootHex, slot: Slot, opts: StateRegenerationOpts, regenCaller: RegenCaller, allowDiskReload?: boolean): Promise<CachedBeaconStateAllForks>;
44
+ getBlockSlotState(block: ProtoBlock, slot: Slot, opts: StateRegenerationOpts, regenCaller: RegenCaller, allowDiskReload?: boolean): Promise<CachedBeaconStateAllForks>;
49
45
  /**
50
46
  * Get state by exact root. If not in cache directly, requires finding the block that references the state from the
51
47
  * forkchoice and replaying blocks to get to it.
52
48
  * - allowDiskReload should be used with care, as it will cause the state to be reloaded from disk
53
49
  */
54
- getState(stateRoot: RootHex, caller: RegenCaller, opts?: StateRegenerationOpts, allowDiskReload?: boolean): Promise<CachedBeaconStateAllForks>;
50
+ getState(stateRoot: RootHex, caller: RegenCaller, allowDiskReload?: boolean): Promise<CachedBeaconStateAllForks>;
55
51
  private findFirstStateBlock;
56
52
  }
57
53
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"regen.d.ts","sourceRoot":"","sources":["../../../src/chain/regen/regen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,WAAW,EAAa,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EACL,yBAAyB,EAQ1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,WAAW,EAAE,OAAO,EAAqB,IAAI,EAAE,MAAM,EAAC,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAC,MAAM,EAAqB,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAC,OAAO,EAAC,MAAM,wBAAwB,CAAC;AAG/C,OAAO,EAAa,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAC,eAAe,EAAE,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAC,yBAAyB,EAAE,WAAW,EAAE,qBAAqB,EAAC,MAAM,gBAAgB,CAAC;AAE7F,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,SAAS,CAAC;IACd,UAAU,EAAE,WAAW,CAAC;IACxB,eAAe,EAAE,eAAe,CAAC;IACjC,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC3C,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,gBAAiB,YAAW,yBAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,YAAY;IAElD;;;;;OAKG;IACG,WAAW,CACf,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,qBAAqB,EAC3B,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,yBAAyB,CAAC;IA0BrC;;OAEG;IACG,kBAAkB,CACtB,EAAE,EAAE,MAAM,CAAC,UAAU,EACrB,IAAI,EAAE,qBAAqB,EAC3B,WAAW,EAAE,WAAW,EACxB,eAAe,UAAQ,GACtB,OAAO,CAAC,yBAAyB,CAAC;IAKrC;;;OAGG;IACG,iBAAiB,CACrB,SAAS,EAAE,OAAO,EAClB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,qBAAqB,EAC3B,WAAW,EAAE,WAAW,EACxB,eAAe,UAAQ,GACtB,OAAO,CAAC,yBAAyB,CAAC;IAoCrC;;;;OAIG;IACG,QAAQ,CACZ,SAAS,EAAE,OAAO,EAClB,MAAM,EAAE,WAAW,EACnB,IAAI,CAAC,EAAE,qBAAqB,EAE5B,eAAe,UAAQ,GACtB,OAAO,CAAC,yBAAyB,CAAC;IAuJrC,OAAO,CAAC,mBAAmB;CAY5B;AA2BD;;;;;;GAMG;AACH,wBAAsB,+BAA+B,CACnD,OAAO,EAAE;IACP,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC1C,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,EACD,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,yBAAyB,CAAC,CA6DpC"}
1
+ {"version":3,"file":"regen.d.ts","sourceRoot":"","sources":["../../../src/chain/regen/regen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,WAAW,EAAE,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EACL,yBAAyB,EAQ1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,WAAW,EAAE,OAAO,EAAqB,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAC,MAAM,EAAqB,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAC,OAAO,EAAC,MAAM,wBAAwB,CAAC;AAG/C,OAAO,EAAa,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAC,eAAe,EAAE,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAC,yBAAyB,EAAE,WAAW,EAAE,qBAAqB,EAAC,MAAM,gBAAgB,CAAC;AAE7F,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,SAAS,CAAC;IACd,UAAU,EAAE,WAAW,CAAC;IACxB,eAAe,EAAE,eAAe,CAAC;IACjC,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC3C,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,gBAAiB,YAAW,yBAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,YAAY;IAElD;;;;;OAKG;IACG,WAAW,CACf,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,qBAAqB,EAC3B,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,yBAAyB,CAAC;IA0BrC;;;OAGG;IACG,iBAAiB,CACrB,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,qBAAqB,EAC3B,WAAW,EAAE,WAAW,EACxB,eAAe,UAAQ,GACtB,OAAO,CAAC,yBAAyB,CAAC;IA6BrC;;;;OAIG;IACG,QAAQ,CACZ,SAAS,EAAE,OAAO,EAClB,MAAM,EAAE,WAAW,EAEnB,eAAe,UAAQ,GACtB,OAAO,CAAC,yBAAyB,CAAC;IAkJrC,OAAO,CAAC,mBAAmB;CAY5B;AA2BD;;;;;;GAMG;AACH,wBAAsB,+BAA+B,CACnD,OAAO,EAAE;IACP,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC1C,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,EACD,QAAQ,EAAE,yBAAyB,EACnC,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,yBAAyB,CAAC,CA6DpC"}
@@ -40,30 +40,16 @@ export class StateRegenerator {
40
40
  // We may have the checkpoint state with parent root inside the checkpoint state cache
41
41
  // through gossip validation.
42
42
  if (parentEpoch < blockEpoch) {
43
- return this.getCheckpointState({ root: block.parentRoot, epoch: blockEpoch }, opts, regenCaller, allowDiskReload);
43
+ return this.getBlockSlotState(parentBlock, block.slot, opts, regenCaller, allowDiskReload);
44
44
  }
45
45
  // Otherwise, get the state normally.
46
- return this.getState(parentBlock.stateRoot, regenCaller, opts, allowDiskReload);
47
- }
48
- /**
49
- * Get state after block `cp.root` dialed forward to first slot of `cp.epoch`
50
- */
51
- async getCheckpointState(cp, opts, regenCaller, allowDiskReload = false) {
52
- const checkpointStartSlot = computeStartSlotAtEpoch(cp.epoch);
53
- return this.getBlockSlotState(toRootHex(cp.root), checkpointStartSlot, opts, regenCaller, allowDiskReload);
46
+ return this.getState(parentBlock.stateRoot, regenCaller, allowDiskReload);
54
47
  }
55
48
  /**
56
49
  * Get state after block `blockRoot` dialed forward to `slot`
57
50
  * - allowDiskReload should be used with care, as it will cause the state to be reloaded from disk
58
51
  */
59
- async getBlockSlotState(blockRoot, slot, opts, regenCaller, allowDiskReload = false) {
60
- const block = this.modules.forkChoice.getBlockHex(blockRoot);
61
- if (!block) {
62
- throw new RegenError({
63
- code: RegenErrorCode.BLOCK_NOT_IN_FORKCHOICE,
64
- blockRoot,
65
- });
66
- }
52
+ async getBlockSlotState(block, slot, opts, regenCaller, allowDiskReload = false) {
67
53
  if (slot < block.slot) {
68
54
  throw new RegenError({
69
55
  code: RegenErrorCode.SLOT_BEFORE_BLOCK_SLOT,
@@ -71,11 +57,12 @@ export class StateRegenerator {
71
57
  blockSlot: block.slot,
72
58
  });
73
59
  }
60
+ const { blockRoot } = block;
74
61
  const { checkpointStateCache } = this.modules;
75
62
  const epoch = computeEpochAtSlot(slot);
76
63
  const latestCheckpointStateCtx = allowDiskReload
77
- ? await checkpointStateCache.getOrReloadLatest(blockRoot, epoch, opts)
78
- : checkpointStateCache.getLatest(blockRoot, epoch, opts);
64
+ ? await checkpointStateCache.getOrReloadLatest(blockRoot, epoch)
65
+ : checkpointStateCache.getLatest(blockRoot, epoch);
79
66
  // If a checkpoint state exists with the given checkpoint root, it either is in requested epoch
80
67
  // or needs to have empty slots processed until the requested epoch
81
68
  if (latestCheckpointStateCtx) {
@@ -84,7 +71,7 @@ export class StateRegenerator {
84
71
  // Otherwise, use the fork choice to get the stateRoot from block at the checkpoint root
85
72
  // regenerate that state,
86
73
  // then process empty slots until the requested epoch
87
- const blockStateCtx = await this.getState(block.stateRoot, regenCaller, opts, allowDiskReload);
74
+ const blockStateCtx = await this.getState(block.stateRoot, regenCaller, allowDiskReload);
88
75
  return processSlotsByCheckpoint(this.modules, blockStateCtx, slot, regenCaller, opts);
89
76
  }
90
77
  /**
@@ -92,20 +79,14 @@ export class StateRegenerator {
92
79
  * forkchoice and replaying blocks to get to it.
93
80
  * - allowDiskReload should be used with care, as it will cause the state to be reloaded from disk
94
81
  */
95
- async getState(stateRoot, caller, opts,
82
+ async getState(stateRoot, caller,
96
83
  // internal option, don't want to expose to external caller
97
84
  allowDiskReload = false) {
98
85
  // Trivial case, state at stateRoot is already cached
99
- const cachedStateCtx = this.modules.blockStateCache.get(stateRoot, opts);
86
+ const cachedStateCtx = this.modules.blockStateCache.get(stateRoot);
100
87
  if (cachedStateCtx) {
101
88
  return cachedStateCtx;
102
89
  }
103
- // in block gossip validation (getPreState() call), dontTransferCache is specified as true because we only want to transfer cache in verifyBlocksStateTransitionOnly()
104
- // but here we want to process blocks as fast as possible so force to transfer cache in this case
105
- if (opts && allowDiskReload) {
106
- // if there is no `opts` specified, it already means "false"
107
- opts.dontTransferCache = false;
108
- }
109
90
  // Otherwise we have to use the fork choice to traverse backwards, block by block,
110
91
  // searching the state caches
111
92
  // then replay blocks forward to the desired stateRoot
@@ -118,7 +99,7 @@ export class StateRegenerator {
118
99
  const getSeedStateTimer = this.modules.metrics?.regenGetState.getSeedState.startTimer({ caller });
119
100
  // iterateAncestorBlocks only returns ancestor blocks, not the block itself
120
101
  for (const b of this.modules.forkChoice.iterateAncestorBlocks(block.blockRoot)) {
121
- state = this.modules.blockStateCache.get(b.stateRoot, opts);
102
+ state = this.modules.blockStateCache.get(b.stateRoot);
122
103
  if (state) {
123
104
  break;
124
105
  }
@@ -127,8 +108,8 @@ export class StateRegenerator {
127
108
  continue;
128
109
  const epoch = computeEpochAtSlot(lastBlockToReplay.slot - 1);
129
110
  state = allowDiskReload
130
- ? await checkpointStateCache.getOrReloadLatest(b.blockRoot, epoch, opts)
131
- : checkpointStateCache.getLatest(b.blockRoot, epoch, opts);
111
+ ? await checkpointStateCache.getOrReloadLatest(b.blockRoot, epoch)
112
+ : checkpointStateCache.getLatest(b.blockRoot, epoch);
132
113
  if (state) {
133
114
  break;
134
115
  }
@@ -185,6 +166,7 @@ export class StateRegenerator {
185
166
  try {
186
167
  // Only advances state trusting block's signture and hashes.
187
168
  // We are only running the state transition to get a specific state's data.
169
+ // stateTransition() does the clone() inside, transfer cache to make the regen faster
188
170
  state = stateTransition(state, block, {
189
171
  // Replay previously imported blocks, assume valid and available
190
172
  executionPayloadStatus: ExecutionPayloadStatus.valid,
@@ -192,6 +174,7 @@ export class StateRegenerator {
192
174
  verifyStateRoot: false,
193
175
  verifyProposer: false,
194
176
  verifySignatures: false,
177
+ dontTransferCache: false,
195
178
  }, this.modules);
196
179
  const hashTreeRootTimer = this.modules.metrics?.stateHashTreeRootTime.startTimer({
197
180
  source: StateHashTreeRootSource.regenState,
@@ -277,8 +260,8 @@ export async function processSlotsToNearestCheckpoint(modules, preState, slot, r
277
260
  const checkpointState = postState;
278
261
  const cp = getCheckpointFromState(checkpointState);
279
262
  checkpointStateCache.add(cp, checkpointState);
280
- // consumers should not mutate or get the transfered cache
281
- emitter?.emit(ChainEvent.checkpoint, cp, checkpointState.clone(true));
263
+ // consumers should not mutate state ever
264
+ emitter?.emit(ChainEvent.checkpoint, cp, checkpointState);
282
265
  if (count >= 1) {
283
266
  // in normal condition, we only process 1 epoch so never reach this
284
267
  // in that case, we want to prune state at the last 1/3 slot of slot 0 of the next epoch after importing the 1st block of epoch
@@ -1 +1 @@
1
- {"version":3,"file":"regen.js","sourceRoot":"","sources":["../../../src/chain/regen/regen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"regen.js","sourceRoot":"","sources":["../../../src/chain/regen/regen.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
- export { SeenAggregators, SeenAttesters } from "./seenAttesters.js";
1
+ export { SeenAggregators, SeenAttesters, SeenPayloadAttesters } from "./seenAttesters.js";
2
2
  export { SeenBlockProposers } from "./seenBlockProposers.js";
3
3
  export { SeenSyncCommitteeMessages } from "./seenCommittee.js";
4
4
  export { SeenContributionAndProof } from "./seenCommitteeContribution.js";
5
+ export { SeenExecutionPayloadBids } from "./seenExecutionPayloadBids.js";
6
+ export { SeenExecutionPayloadEnvelopes } from "./seenExecutionPayloadEnvelope.js";
5
7
  export { SeenBlockInput } from "./seenGossipBlockInput.js";
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chain/seenCache/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAE,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAC,yBAAyB,EAAC,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAC,wBAAwB,EAAC,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chain/seenCache/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAE,aAAa,EAAE,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAC,yBAAyB,EAAC,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAC,wBAAwB,EAAC,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAC,wBAAwB,EAAC,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAC,6BAA6B,EAAC,MAAM,mCAAmC,CAAC;AAChF,OAAO,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC"}
@@ -1,6 +1,8 @@
1
- export { SeenAggregators, SeenAttesters } from "./seenAttesters.js";
1
+ export { SeenAggregators, SeenAttesters, SeenPayloadAttesters } from "./seenAttesters.js";
2
2
  export { SeenBlockProposers } from "./seenBlockProposers.js";
3
3
  export { SeenSyncCommitteeMessages } from "./seenCommittee.js";
4
4
  export { SeenContributionAndProof } from "./seenCommitteeContribution.js";
5
+ export { SeenExecutionPayloadBids } from "./seenExecutionPayloadBids.js";
6
+ export { SeenExecutionPayloadEnvelopes } from "./seenExecutionPayloadEnvelope.js";
5
7
  export { SeenBlockInput } from "./seenGossipBlockInput.js";
6
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chain/seenCache/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAE,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAC,yBAAyB,EAAC,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAC,wBAAwB,EAAC,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/chain/seenCache/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAE,aAAa,EAAE,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAC,yBAAyB,EAAC,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAC,wBAAwB,EAAC,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAC,wBAAwB,EAAC,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAC,6BAA6B,EAAC,MAAM,mCAAmC,CAAC;AAChF,OAAO,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC"}
@@ -15,4 +15,9 @@ export declare class SeenAttesters {
15
15
  */
16
16
  export declare class SeenAggregators extends SeenAttesters {
17
17
  }
18
+ /**
19
+ * Keeps a cache to filter payload attestations from the same attesters in the same epoch
20
+ */
21
+ export declare class SeenPayloadAttesters extends SeenAttesters {
22
+ }
18
23
  //# sourceMappingURL=seenAttesters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"seenAttesters.d.ts","sourceRoot":"","sources":["../../../src/chain/seenCache/seenAttesters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAwBvC;;GAEG;AACH,qBAAa,aAAa;IACxB,SAAS,CAAC,QAAQ,CAAC,uBAAuB,8BAA2E;IACrH,SAAS,CAAC,sBAAsB,EAAE,KAAK,CAAK;IAE5C,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,cAAc,GAAG,OAAO;IAIpE,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,cAAc,GAAG,IAAI;IAQ7D,KAAK,CAAC,YAAY,EAAE,KAAK,GAAG,IAAI;CAQjC;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,aAAa;CAAG"}
1
+ {"version":3,"file":"seenAttesters.d.ts","sourceRoot":"","sources":["../../../src/chain/seenCache/seenAttesters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAwBvC;;GAEG;AACH,qBAAa,aAAa;IACxB,SAAS,CAAC,QAAQ,CAAC,uBAAuB,8BAA2E;IACrH,SAAS,CAAC,sBAAsB,EAAE,KAAK,CAAK;IAE5C,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,cAAc,GAAG,OAAO;IAIpE,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,cAAc,GAAG,IAAI;IAQ7D,KAAK,CAAC,YAAY,EAAE,KAAK,GAAG,IAAI;CAQjC;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,aAAa;CAAG;AAErD;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,aAAa;CAAG"}
@@ -49,4 +49,9 @@ export class SeenAttesters {
49
49
  */
50
50
  export class SeenAggregators extends SeenAttesters {
51
51
  }
52
+ /**
53
+ * Keeps a cache to filter payload attestations from the same attesters in the same epoch
54
+ */
55
+ export class SeenPayloadAttesters extends SeenAttesters {
56
+ }
52
57
  //# sourceMappingURL=seenAttesters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"seenAttesters.js","sourceRoot":"","sources":["../../../src/chain/seenCache/seenAttesters.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,oEAAoE;AACpE,8EAA8E;AAC9E,kBAAkB;AAClB,EAAE;AACF,aAAa;AACb,0GAA0G;AAC1G,EAAE;AACF,cAAc;AACd,4CAA4C;AAC5C,4GAA4G;AAC5G,EAAE;AACF,qGAAqG;AACrG,yGAAyG;AACzG,uCAAuC;AACvC,EAAE;AACF,+GAA+G;AAC/G,gFAAgF;AAChF,EAAE;AACF,gHAAgH;AAChH,wFAAwF;AACxF,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAE/B;;GAEG;AACH,MAAM,OAAO,aAAa;IACL,uBAAuB,GAAG,IAAI,MAAM,CAA6B,GAAG,EAAE,CAAC,IAAI,GAAG,EAAkB,CAAC,CAAC;IAC3G,sBAAsB,GAAU,CAAC,CAAC;IAE5C,OAAO,CAAC,WAAkB,EAAE,cAA8B;QACxD,OAAO,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IACrF,CAAC;IAED,GAAG,CAAC,WAAkB,EAAE,cAA8B;QACpD,IAAI,WAAW,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9C,MAAM,KAAK,CAAC,eAAe,WAAW,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,YAAmB;QACvB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,oBAAoB,EAAE,CAAC,CAAC,CAAC;QAC/E,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,EAAE,CAAC;YACxD,IAAI,KAAK,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBACxC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,aAAa;CAAG"}
1
+ {"version":3,"file":"seenAttesters.js","sourceRoot":"","sources":["../../../src/chain/seenCache/seenAttesters.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,oEAAoE;AACpE,8EAA8E;AAC9E,kBAAkB;AAClB,EAAE;AACF,aAAa;AACb,0GAA0G;AAC1G,EAAE;AACF,cAAc;AACd,4CAA4C;AAC5C,4GAA4G;AAC5G,EAAE;AACF,qGAAqG;AACrG,yGAAyG;AACzG,uCAAuC;AACvC,EAAE;AACF,+GAA+G;AAC/G,gFAAgF;AAChF,EAAE;AACF,gHAAgH;AAChH,wFAAwF;AACxF,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAE/B;;GAEG;AACH,MAAM,OAAO,aAAa;IACL,uBAAuB,GAAG,IAAI,MAAM,CAA6B,GAAG,EAAE,CAAC,IAAI,GAAG,EAAkB,CAAC,CAAC;IAC3G,sBAAsB,GAAU,CAAC,CAAC;IAE5C,OAAO,CAAC,WAAkB,EAAE,cAA8B;QACxD,OAAO,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IACrF,CAAC;IAED,GAAG,CAAC,WAAkB,EAAE,cAA8B;QACpD,IAAI,WAAW,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9C,MAAM,KAAK,CAAC,eAAe,WAAW,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,YAAmB;QACvB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,oBAAoB,EAAE,CAAC,CAAC,CAAC;QAC/E,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,EAAE,CAAC;YACxD,IAAI,KAAK,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBACxC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,aAAa;CAAG;AAErD;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,aAAa;CAAG"}
@@ -0,0 +1,12 @@
1
+ import { BuilderIndex, Slot } from "@lodestar/types";
2
+ /**
3
+ * Tracks execution payload bids we've already seen per (slot, builder).
4
+ */
5
+ export declare class SeenExecutionPayloadBids {
6
+ private readonly builderIndexesBySlot;
7
+ private lowestPermissibleSlot;
8
+ isKnown(slot: Slot, builderIndex: BuilderIndex): boolean;
9
+ add(slot: Slot, builderIndex: BuilderIndex): void;
10
+ prune(currentSlot: Slot): void;
11
+ }
12
+ //# sourceMappingURL=seenExecutionPayloadBids.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seenExecutionPayloadBids.d.ts","sourceRoot":"","sources":["../../../src/chain/seenCache/seenExecutionPayloadBids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAQnD;;GAEG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAsE;IAC3G,OAAO,CAAC,qBAAqB,CAAW;IAExC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO;IAIxD,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI;IAOjD,KAAK,CAAC,WAAW,EAAE,IAAI,GAAG,IAAI;CAQ/B"}
@@ -0,0 +1,30 @@
1
+ import { MapDef } from "@lodestar/utils";
2
+ /**
3
+ * TODO GLOAS: Revisit this value and add rational for choosing it
4
+ */
5
+ const SLOTS_RETAINED = 2;
6
+ /**
7
+ * Tracks execution payload bids we've already seen per (slot, builder).
8
+ */
9
+ export class SeenExecutionPayloadBids {
10
+ builderIndexesBySlot = new MapDef(() => new Set());
11
+ lowestPermissibleSlot = 0;
12
+ isKnown(slot, builderIndex) {
13
+ return this.builderIndexesBySlot.get(slot)?.has(builderIndex) === true;
14
+ }
15
+ add(slot, builderIndex) {
16
+ if (slot < this.lowestPermissibleSlot) {
17
+ throw Error(`slot ${slot} < lowestPermissibleSlot ${this.lowestPermissibleSlot}`);
18
+ }
19
+ this.builderIndexesBySlot.getOrDefault(slot).add(builderIndex);
20
+ }
21
+ prune(currentSlot) {
22
+ this.lowestPermissibleSlot = Math.max(currentSlot - SLOTS_RETAINED, 0);
23
+ for (const slot of this.builderIndexesBySlot.keys()) {
24
+ if (slot < this.lowestPermissibleSlot) {
25
+ this.builderIndexesBySlot.delete(slot);
26
+ }
27
+ }
28
+ }
29
+ }
30
+ //# sourceMappingURL=seenExecutionPayloadBids.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seenExecutionPayloadBids.js","sourceRoot":"","sources":["../../../src/chain/seenCache/seenExecutionPayloadBids.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC;;GAEG;AACH,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB;;GAEG;AACH,MAAM,OAAO,wBAAwB;IAClB,oBAAoB,GAAG,IAAI,MAAM,CAA0B,GAAG,EAAE,CAAC,IAAI,GAAG,EAAgB,CAAC,CAAC;IACnG,qBAAqB,GAAS,CAAC,CAAC;IAExC,OAAO,CAAC,IAAU,EAAE,YAA0B;QAC5C,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IACzE,CAAC;IAED,GAAG,CAAC,IAAU,EAAE,YAA0B;QACxC,IAAI,IAAI,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACtC,MAAM,KAAK,CAAC,QAAQ,IAAI,4BAA4B,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,WAAiB;QACrB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,cAAc,EAAE,CAAC,CAAC,CAAC;QACvE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,EAAE,CAAC;YACpD,IAAI,IAAI,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACtC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,15 @@
1
+ import { RootHex, Slot } from "@lodestar/types";
2
+ /**
3
+ * Cache to prevent processing multiple execution payload envelopes for the same block root.
4
+ * Only one builder qualifies to submit an execution payload for a given slot.
5
+ * We only keep track of envelopes of unfinalized slots.
6
+ * [IGNORE] The node has not seen another valid `SignedExecutionPayloadEnvelope` for this block root.
7
+ */
8
+ export declare class SeenExecutionPayloadEnvelopes {
9
+ private readonly slotByBlockRoot;
10
+ private finalizedSlot;
11
+ isKnown(blockRoot: RootHex): boolean;
12
+ add(blockRoot: RootHex, slot: Slot): void;
13
+ prune(finalizedSlot: Slot): void;
14
+ }
15
+ //# sourceMappingURL=seenExecutionPayloadEnvelope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seenExecutionPayloadEnvelope.d.ts","sourceRoot":"","sources":["../../../src/chain/seenCache/seenExecutionPayloadEnvelope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAE9C;;;;;GAKG;AACH,qBAAa,6BAA6B;IACxC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA4B;IAC5D,OAAO,CAAC,aAAa,CAAW;IAEhC,OAAO,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO;IAIpC,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAQzC,KAAK,CAAC,aAAa,EAAE,IAAI,GAAG,IAAI;CASjC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Cache to prevent processing multiple execution payload envelopes for the same block root.
3
+ * Only one builder qualifies to submit an execution payload for a given slot.
4
+ * We only keep track of envelopes of unfinalized slots.
5
+ * [IGNORE] The node has not seen another valid `SignedExecutionPayloadEnvelope` for this block root.
6
+ */
7
+ export class SeenExecutionPayloadEnvelopes {
8
+ slotByBlockRoot = new Map();
9
+ finalizedSlot = 0;
10
+ isKnown(blockRoot) {
11
+ return this.slotByBlockRoot.has(blockRoot);
12
+ }
13
+ add(blockRoot, slot) {
14
+ if (slot < this.finalizedSlot) {
15
+ throw Error(`slot ${slot} < finalizedSlot ${this.finalizedSlot}`);
16
+ }
17
+ this.slotByBlockRoot.set(blockRoot, slot);
18
+ }
19
+ prune(finalizedSlot) {
20
+ this.finalizedSlot = finalizedSlot;
21
+ for (const [blockRoot, slot] of this.slotByBlockRoot.entries()) {
22
+ if (slot < finalizedSlot) {
23
+ this.slotByBlockRoot.delete(blockRoot);
24
+ }
25
+ }
26
+ }
27
+ }
28
+ //# sourceMappingURL=seenExecutionPayloadEnvelope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seenExecutionPayloadEnvelope.js","sourceRoot":"","sources":["../../../src/chain/seenCache/seenExecutionPayloadEnvelope.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,OAAO,6BAA6B;IACvB,eAAe,GAAG,IAAI,GAAG,EAAiB,CAAC;IACpD,aAAa,GAAS,CAAC,CAAC;IAEhC,OAAO,CAAC,SAAkB;QACxB,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED,GAAG,CAAC,SAAkB,EAAE,IAAU;QAChC,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9B,MAAM,KAAK,CAAC,QAAQ,IAAI,oBAAoB,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,aAAmB;QACvB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QAEnC,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/D,IAAI,IAAI,GAAG,aAAa,EAAE,CAAC;gBACzB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;IACH,CAAC;CACF"}