@lodestar/beacon-node 1.42.0-dev.d73eccfa56 → 1.42.0-dev.ed2323ce4f

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 (374) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +14 -2
  3. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  4. package/lib/api/impl/beacon/pool/index.js +1 -1
  5. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  6. package/lib/api/impl/beacon/state/index.d.ts.map +1 -1
  7. package/lib/api/impl/beacon/state/index.js +27 -32
  8. package/lib/api/impl/beacon/state/index.js.map +1 -1
  9. package/lib/api/impl/beacon/state/utils.d.ts +4 -4
  10. package/lib/api/impl/beacon/state/utils.d.ts.map +1 -1
  11. package/lib/api/impl/beacon/state/utils.js +7 -10
  12. package/lib/api/impl/beacon/state/utils.js.map +1 -1
  13. package/lib/api/impl/lodestar/index.d.ts.map +1 -1
  14. package/lib/api/impl/lodestar/index.js +4 -6
  15. package/lib/api/impl/lodestar/index.js.map +1 -1
  16. package/lib/api/impl/proof/index.d.ts.map +1 -1
  17. package/lib/api/impl/proof/index.js +2 -6
  18. package/lib/api/impl/proof/index.js.map +1 -1
  19. package/lib/api/impl/validator/index.d.ts.map +1 -1
  20. package/lib/api/impl/validator/index.js +27 -27
  21. package/lib/api/impl/validator/index.js.map +1 -1
  22. package/lib/api/impl/validator/utils.d.ts +2 -2
  23. package/lib/api/impl/validator/utils.d.ts.map +1 -1
  24. package/lib/api/impl/validator/utils.js +3 -3
  25. package/lib/api/impl/validator/utils.js.map +1 -1
  26. package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
  27. package/lib/chain/archiveStore/archiveStore.js +1 -0
  28. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  29. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts +3 -7
  30. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +1 -1
  31. package/lib/chain/archiveStore/historicalState/getHistoricalState.js +8 -26
  32. package/lib/chain/archiveStore/historicalState/getHistoricalState.js.map +1 -1
  33. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts +2 -2
  34. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +1 -1
  35. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js +1 -0
  36. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
  37. package/lib/chain/archiveStore/historicalState/types.d.ts +2 -0
  38. package/lib/chain/archiveStore/historicalState/types.d.ts.map +1 -1
  39. package/lib/chain/archiveStore/historicalState/types.js.map +1 -1
  40. package/lib/chain/archiveStore/historicalState/worker.js +1 -3
  41. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
  42. package/lib/chain/archiveStore/interface.d.ts +1 -0
  43. package/lib/chain/archiveStore/interface.d.ts.map +1 -1
  44. package/lib/chain/balancesCache.d.ts +2 -2
  45. package/lib/chain/balancesCache.d.ts.map +1 -1
  46. package/lib/chain/balancesCache.js +4 -4
  47. package/lib/chain/balancesCache.js.map +1 -1
  48. package/lib/chain/blocks/blockInput/types.d.ts +1 -0
  49. package/lib/chain/blocks/blockInput/types.d.ts.map +1 -1
  50. package/lib/chain/blocks/blockInput/types.js +1 -0
  51. package/lib/chain/blocks/blockInput/types.js.map +1 -1
  52. package/lib/chain/blocks/importBlock.d.ts +3 -3
  53. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  54. package/lib/chain/blocks/importBlock.js +21 -21
  55. package/lib/chain/blocks/importBlock.js.map +1 -1
  56. package/lib/chain/blocks/importExecutionPayload.d.ts +10 -8
  57. package/lib/chain/blocks/importExecutionPayload.d.ts.map +1 -1
  58. package/lib/chain/blocks/importExecutionPayload.js +78 -51
  59. package/lib/chain/blocks/importExecutionPayload.js.map +1 -1
  60. package/lib/chain/blocks/index.d.ts.map +1 -1
  61. package/lib/chain/blocks/index.js +3 -2
  62. package/lib/chain/blocks/index.js.map +1 -1
  63. package/lib/chain/blocks/types.d.ts +21 -15
  64. package/lib/chain/blocks/types.d.ts.map +1 -1
  65. package/lib/chain/blocks/types.js.map +1 -1
  66. package/lib/chain/blocks/utils/checkpoint.d.ts +2 -2
  67. package/lib/chain/blocks/utils/checkpoint.d.ts.map +1 -1
  68. package/lib/chain/blocks/utils/checkpoint.js.map +1 -1
  69. package/lib/chain/blocks/verifyBlock.d.ts +2 -2
  70. package/lib/chain/blocks/verifyBlock.d.ts.map +1 -1
  71. package/lib/chain/blocks/verifyBlock.js +4 -4
  72. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  73. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts +5 -5
  74. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +1 -1
  75. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +4 -4
  76. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  77. package/lib/chain/blocks/verifyBlocksSignatures.d.ts +2 -2
  78. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +1 -1
  79. package/lib/chain/blocks/verifyBlocksSignatures.js +1 -1
  80. package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
  81. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts +3 -3
  82. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +1 -1
  83. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js +3 -3
  84. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js.map +1 -1
  85. package/lib/chain/chain.d.ts +12 -12
  86. package/lib/chain/chain.d.ts.map +1 -1
  87. package/lib/chain/chain.js +47 -39
  88. package/lib/chain/chain.js.map +1 -1
  89. package/lib/chain/emitter.d.ts +2 -2
  90. package/lib/chain/emitter.d.ts.map +1 -1
  91. package/lib/chain/errors/blockError.d.ts +4 -4
  92. package/lib/chain/errors/blockError.d.ts.map +1 -1
  93. package/lib/chain/forkChoice/index.d.ts +4 -4
  94. package/lib/chain/forkChoice/index.d.ts.map +1 -1
  95. package/lib/chain/forkChoice/index.js +27 -23
  96. package/lib/chain/forkChoice/index.js.map +1 -1
  97. package/lib/chain/initState.d.ts +2 -2
  98. package/lib/chain/initState.d.ts.map +1 -1
  99. package/lib/chain/initState.js +1 -1
  100. package/lib/chain/initState.js.map +1 -1
  101. package/lib/chain/interface.d.ts +11 -12
  102. package/lib/chain/interface.d.ts.map +1 -1
  103. package/lib/chain/lightClient/index.d.ts +2 -2
  104. package/lib/chain/lightClient/index.d.ts.map +1 -1
  105. package/lib/chain/lightClient/index.js +4 -4
  106. package/lib/chain/lightClient/index.js.map +1 -1
  107. package/lib/chain/opPools/aggregatedAttestationPool.d.ts +6 -6
  108. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
  109. package/lib/chain/opPools/aggregatedAttestationPool.js +10 -13
  110. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  111. package/lib/chain/opPools/opPool.d.ts +3 -3
  112. package/lib/chain/opPools/opPool.d.ts.map +1 -1
  113. package/lib/chain/opPools/opPool.js +7 -7
  114. package/lib/chain/opPools/opPool.js.map +1 -1
  115. package/lib/chain/opPools/utils.d.ts +2 -2
  116. package/lib/chain/opPools/utils.d.ts.map +1 -1
  117. package/lib/chain/opPools/utils.js +1 -1
  118. package/lib/chain/opPools/utils.js.map +1 -1
  119. package/lib/chain/options.d.ts +1 -0
  120. package/lib/chain/options.d.ts.map +1 -1
  121. package/lib/chain/options.js +1 -0
  122. package/lib/chain/options.js.map +1 -1
  123. package/lib/chain/prepareNextSlot.d.ts +2 -2
  124. package/lib/chain/prepareNextSlot.d.ts.map +1 -1
  125. package/lib/chain/prepareNextSlot.js +3 -3
  126. package/lib/chain/prepareNextSlot.js.map +1 -1
  127. package/lib/chain/produceBlock/computeNewStateRoot.d.ts +4 -4
  128. package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +1 -1
  129. package/lib/chain/produceBlock/computeNewStateRoot.js +3 -4
  130. package/lib/chain/produceBlock/computeNewStateRoot.js.map +1 -1
  131. package/lib/chain/produceBlock/produceBlockBody.d.ts +5 -5
  132. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  133. package/lib/chain/produceBlock/produceBlockBody.js +12 -16
  134. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  135. package/lib/chain/regen/interface.d.ts +13 -13
  136. package/lib/chain/regen/interface.d.ts.map +1 -1
  137. package/lib/chain/regen/queued.d.ts +14 -14
  138. package/lib/chain/regen/queued.d.ts.map +1 -1
  139. package/lib/chain/regen/queued.js.map +1 -1
  140. package/lib/chain/regen/regen.d.ts +6 -5
  141. package/lib/chain/regen/regen.d.ts.map +1 -1
  142. package/lib/chain/regen/regen.js +6 -6
  143. package/lib/chain/regen/regen.js.map +1 -1
  144. package/lib/chain/serializeState.d.ts +2 -2
  145. package/lib/chain/serializeState.d.ts.map +1 -1
  146. package/lib/chain/serializeState.js +1 -1
  147. package/lib/chain/serializeState.js.map +1 -1
  148. package/lib/chain/shufflingCache.d.ts +2 -2
  149. package/lib/chain/shufflingCache.d.ts.map +1 -1
  150. package/lib/chain/shufflingCache.js +3 -4
  151. package/lib/chain/shufflingCache.js.map +1 -1
  152. package/lib/chain/stateCache/fifoBlockStateCache.d.ts +6 -6
  153. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +1 -1
  154. package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
  155. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +11 -11
  156. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +1 -1
  157. package/lib/chain/stateCache/persistentCheckpointsCache.js +12 -16
  158. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  159. package/lib/chain/stateCache/types.d.ts +14 -14
  160. package/lib/chain/stateCache/types.d.ts.map +1 -1
  161. package/lib/chain/stateCache/types.js.map +1 -1
  162. package/lib/chain/validation/attesterSlashing.js +3 -3
  163. package/lib/chain/validation/attesterSlashing.js.map +1 -1
  164. package/lib/chain/validation/blobSidecar.js +1 -1
  165. package/lib/chain/validation/blobSidecar.js.map +1 -1
  166. package/lib/chain/validation/block.d.ts.map +1 -1
  167. package/lib/chain/validation/block.js +3 -3
  168. package/lib/chain/validation/block.js.map +1 -1
  169. package/lib/chain/validation/blsToExecutionChange.js +2 -2
  170. package/lib/chain/validation/blsToExecutionChange.js.map +1 -1
  171. package/lib/chain/validation/dataColumnSidecar.js +1 -1
  172. package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
  173. package/lib/chain/validation/executionPayloadBid.d.ts.map +1 -1
  174. package/lib/chain/validation/executionPayloadBid.js +4 -4
  175. package/lib/chain/validation/executionPayloadBid.js.map +1 -1
  176. package/lib/chain/validation/executionPayloadEnvelope.d.ts.map +1 -1
  177. package/lib/chain/validation/executionPayloadEnvelope.js +2 -3
  178. package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
  179. package/lib/chain/validation/payloadAttestationMessage.d.ts.map +1 -1
  180. package/lib/chain/validation/payloadAttestationMessage.js +1 -2
  181. package/lib/chain/validation/payloadAttestationMessage.js.map +1 -1
  182. package/lib/chain/validation/proposerSlashing.js +1 -1
  183. package/lib/chain/validation/proposerSlashing.js.map +1 -1
  184. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts +2 -2
  185. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +1 -1
  186. package/lib/chain/validation/signatureSets/contributionAndProof.js +1 -1
  187. package/lib/chain/validation/signatureSets/contributionAndProof.js.map +1 -1
  188. package/lib/chain/validation/signatureSets/syncCommittee.d.ts +2 -2
  189. package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +1 -1
  190. package/lib/chain/validation/signatureSets/syncCommittee.js +1 -1
  191. package/lib/chain/validation/signatureSets/syncCommittee.js.map +1 -1
  192. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts +2 -2
  193. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +1 -1
  194. package/lib/chain/validation/signatureSets/syncCommitteeContribution.js.map +1 -1
  195. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts +2 -2
  196. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +1 -1
  197. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js +1 -1
  198. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js.map +1 -1
  199. package/lib/chain/validation/syncCommittee.d.ts +4 -4
  200. package/lib/chain/validation/syncCommittee.d.ts.map +1 -1
  201. package/lib/chain/validation/syncCommittee.js +13 -12
  202. package/lib/chain/validation/syncCommittee.js.map +1 -1
  203. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +1 -1
  204. package/lib/chain/validation/syncCommitteeContributionAndProof.js +1 -1
  205. package/lib/chain/validation/syncCommitteeContributionAndProof.js.map +1 -1
  206. package/lib/chain/validation/voluntaryExit.d.ts.map +1 -1
  207. package/lib/chain/validation/voluntaryExit.js +3 -3
  208. package/lib/chain/validation/voluntaryExit.js.map +1 -1
  209. package/lib/chain/validatorMonitor.d.ts +3 -3
  210. package/lib/chain/validatorMonitor.d.ts.map +1 -1
  211. package/lib/chain/validatorMonitor.js +9 -7
  212. package/lib/chain/validatorMonitor.js.map +1 -1
  213. package/lib/metrics/metrics/lodestar.d.ts +12 -4
  214. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  215. package/lib/metrics/metrics/lodestar.js +19 -15
  216. package/lib/metrics/metrics/lodestar.js.map +1 -1
  217. package/lib/network/gossip/encoding.d.ts.map +1 -1
  218. package/lib/network/gossip/encoding.js +15 -0
  219. package/lib/network/gossip/encoding.js.map +1 -1
  220. package/lib/network/interface.d.ts +4 -2
  221. package/lib/network/interface.d.ts.map +1 -1
  222. package/lib/network/libp2p/index.d.ts.map +1 -1
  223. package/lib/network/libp2p/index.js +22 -11
  224. package/lib/network/libp2p/index.js.map +1 -1
  225. package/lib/network/network.d.ts +4 -2
  226. package/lib/network/network.d.ts.map +1 -1
  227. package/lib/network/network.js +9 -3
  228. package/lib/network/network.js.map +1 -1
  229. package/lib/network/options.d.ts.map +1 -1
  230. package/lib/network/options.js +7 -2
  231. package/lib/network/options.js.map +1 -1
  232. package/lib/network/processor/extractSlotRootFns.d.ts +1 -1
  233. package/lib/network/processor/extractSlotRootFns.js +1 -1
  234. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  235. package/lib/network/processor/gossipHandlers.js +24 -15
  236. package/lib/network/processor/gossipHandlers.js.map +1 -1
  237. package/lib/network/processor/index.d.ts +12 -7
  238. package/lib/network/processor/index.d.ts.map +1 -1
  239. package/lib/network/processor/index.js +99 -78
  240. package/lib/network/processor/index.js.map +1 -1
  241. package/lib/network/reqresp/ReqRespBeaconNode.d.ts.map +1 -1
  242. package/lib/network/reqresp/ReqRespBeaconNode.js +9 -0
  243. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  244. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRange.d.ts +8 -0
  245. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRange.d.ts.map +1 -0
  246. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRange.js +69 -0
  247. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRange.js.map +1 -0
  248. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.d.ts +6 -0
  249. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.d.ts.map +1 -0
  250. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.js +28 -0
  251. package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.js.map +1 -0
  252. package/lib/network/reqresp/handlers/index.d.ts.map +1 -1
  253. package/lib/network/reqresp/handlers/index.js +11 -1
  254. package/lib/network/reqresp/handlers/index.js.map +1 -1
  255. package/lib/network/reqresp/protocols.d.ts +2 -0
  256. package/lib/network/reqresp/protocols.d.ts.map +1 -1
  257. package/lib/network/reqresp/protocols.js +10 -0
  258. package/lib/network/reqresp/protocols.js.map +1 -1
  259. package/lib/network/reqresp/rateLimit.d.ts.map +1 -1
  260. package/lib/network/reqresp/rateLimit.js +8 -0
  261. package/lib/network/reqresp/rateLimit.js.map +1 -1
  262. package/lib/network/reqresp/score.d.ts.map +1 -1
  263. package/lib/network/reqresp/score.js +2 -0
  264. package/lib/network/reqresp/score.js.map +1 -1
  265. package/lib/network/reqresp/types.d.ts +8 -2
  266. package/lib/network/reqresp/types.d.ts.map +1 -1
  267. package/lib/network/reqresp/types.js +7 -1
  268. package/lib/network/reqresp/types.js.map +1 -1
  269. package/lib/node/nodejs.d.ts +2 -2
  270. package/lib/node/nodejs.d.ts.map +1 -1
  271. package/lib/node/nodejs.js +1 -4
  272. package/lib/node/nodejs.js.map +1 -1
  273. package/lib/node/notifier.d.ts.map +1 -1
  274. package/lib/node/notifier.js +3 -3
  275. package/lib/node/notifier.js.map +1 -1
  276. package/lib/sync/backfill/backfill.d.ts +2 -2
  277. package/lib/sync/backfill/backfill.d.ts.map +1 -1
  278. package/lib/sync/backfill/backfill.js +2 -2
  279. package/lib/sync/backfill/backfill.js.map +1 -1
  280. package/lib/sync/unknownBlock.d.ts +3 -9
  281. package/lib/sync/unknownBlock.d.ts.map +1 -1
  282. package/lib/sync/unknownBlock.js +8 -41
  283. package/lib/sync/unknownBlock.js.map +1 -1
  284. package/lib/util/types.d.ts +2 -0
  285. package/lib/util/types.d.ts.map +1 -1
  286. package/lib/util/types.js +1 -0
  287. package/lib/util/types.js.map +1 -1
  288. package/package.json +16 -16
  289. package/src/api/impl/beacon/blocks/index.ts +16 -2
  290. package/src/api/impl/beacon/pool/index.ts +1 -1
  291. package/src/api/impl/beacon/state/index.ts +29 -41
  292. package/src/api/impl/beacon/state/utils.ts +11 -25
  293. package/src/api/impl/lodestar/index.ts +4 -8
  294. package/src/api/impl/proof/index.ts +2 -9
  295. package/src/api/impl/validator/index.ts +29 -41
  296. package/src/api/impl/validator/utils.ts +4 -7
  297. package/src/chain/archiveStore/archiveStore.ts +1 -0
  298. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +10 -39
  299. package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +2 -1
  300. package/src/chain/archiveStore/historicalState/types.ts +2 -0
  301. package/src/chain/archiveStore/historicalState/worker.ts +1 -4
  302. package/src/chain/archiveStore/interface.ts +1 -0
  303. package/src/chain/balancesCache.ts +5 -11
  304. package/src/chain/blocks/blockInput/types.ts +1 -0
  305. package/src/chain/blocks/importBlock.ts +23 -25
  306. package/src/chain/blocks/importExecutionPayload.ts +89 -63
  307. package/src/chain/blocks/index.ts +3 -2
  308. package/src/chain/blocks/types.ts +26 -15
  309. package/src/chain/blocks/utils/checkpoint.ts +2 -2
  310. package/src/chain/blocks/verifyBlock.ts +5 -10
  311. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +9 -14
  312. package/src/chain/blocks/verifyBlocksSignatures.ts +3 -3
  313. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +6 -8
  314. package/src/chain/chain.ts +75 -67
  315. package/src/chain/emitter.ts +2 -2
  316. package/src/chain/errors/blockError.ts +4 -4
  317. package/src/chain/forkChoice/index.ts +33 -42
  318. package/src/chain/initState.ts +7 -2
  319. package/src/chain/interface.ts +12 -13
  320. package/src/chain/lightClient/index.ts +9 -22
  321. package/src/chain/opPools/aggregatedAttestationPool.ts +15 -21
  322. package/src/chain/opPools/opPool.ts +13 -14
  323. package/src/chain/opPools/utils.ts +3 -3
  324. package/src/chain/options.ts +2 -0
  325. package/src/chain/prepareNextSlot.ts +6 -8
  326. package/src/chain/produceBlock/computeNewStateRoot.ts +6 -10
  327. package/src/chain/produceBlock/produceBlockBody.ts +22 -49
  328. package/src/chain/regen/interface.ts +13 -17
  329. package/src/chain/regen/queued.ts +16 -20
  330. package/src/chain/regen/regen.ts +16 -17
  331. package/src/chain/serializeState.ts +3 -3
  332. package/src/chain/shufflingCache.ts +5 -7
  333. package/src/chain/stateCache/fifoBlockStateCache.ts +7 -7
  334. package/src/chain/stateCache/persistentCheckpointsCache.ts +27 -42
  335. package/src/chain/stateCache/types.ts +14 -18
  336. package/src/chain/validation/attesterSlashing.ts +3 -3
  337. package/src/chain/validation/blobSidecar.ts +1 -1
  338. package/src/chain/validation/block.ts +2 -4
  339. package/src/chain/validation/blsToExecutionChange.ts +2 -2
  340. package/src/chain/validation/dataColumnSidecar.ts +1 -1
  341. package/src/chain/validation/executionPayloadBid.ts +3 -7
  342. package/src/chain/validation/executionPayloadEnvelope.ts +2 -8
  343. package/src/chain/validation/payloadAttestationMessage.ts +2 -4
  344. package/src/chain/validation/proposerSlashing.ts +1 -1
  345. package/src/chain/validation/signatureSets/contributionAndProof.ts +2 -7
  346. package/src/chain/validation/signatureSets/syncCommittee.ts +2 -7
  347. package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +2 -2
  348. package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +2 -7
  349. package/src/chain/validation/syncCommittee.ts +21 -20
  350. package/src/chain/validation/syncCommitteeContributionAndProof.ts +5 -10
  351. package/src/chain/validation/voluntaryExit.ts +3 -8
  352. package/src/chain/validatorMonitor.ts +12 -11
  353. package/src/metrics/metrics/lodestar.ts +23 -19
  354. package/src/network/gossip/encoding.ts +16 -0
  355. package/src/network/interface.ts +15 -2
  356. package/src/network/libp2p/index.ts +24 -13
  357. package/src/network/network.ts +32 -4
  358. package/src/network/options.ts +7 -2
  359. package/src/network/processor/extractSlotRootFns.ts +1 -1
  360. package/src/network/processor/gossipHandlers.ts +25 -16
  361. package/src/network/processor/index.ts +110 -89
  362. package/src/network/reqresp/ReqRespBeaconNode.ts +13 -0
  363. package/src/network/reqresp/handlers/executionPayloadEnvelopesByRange.ts +94 -0
  364. package/src/network/reqresp/handlers/executionPayloadEnvelopesByRoot.ts +43 -0
  365. package/src/network/reqresp/handlers/index.ts +12 -0
  366. package/src/network/reqresp/protocols.ts +12 -0
  367. package/src/network/reqresp/rateLimit.ts +18 -0
  368. package/src/network/reqresp/score.ts +2 -0
  369. package/src/network/reqresp/types.ts +13 -0
  370. package/src/node/nodejs.ts +3 -5
  371. package/src/node/notifier.ts +4 -10
  372. package/src/sync/backfill/backfill.ts +3 -3
  373. package/src/sync/unknownBlock.ts +10 -50
  374. package/src/util/types.ts +6 -0
@@ -1 +1 @@
1
- {"version":3,"file":"archiveStore.js","sourceRoot":"","sources":["../../../src/chain/archiveStore/archiveStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"archiveStore.js","sourceRoot":"","sources":["../../../src/chain/archiveStore/archiveStore.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,13 @@
1
1
  import { BeaconConfig } from "@lodestar/config";
2
- import { BeaconStateAllForks, CachedBeaconStateAllForks, PubkeyCache } from "@lodestar/state-transition";
2
+ import { IBeaconStateView } from "@lodestar/state-transition";
3
3
  import { IBeaconDb } from "../../../db/index.js";
4
4
  import { HistoricalStateRegenMetrics } from "./metrics.js";
5
- /**
6
- * Populate a PubkeyCache with any new entries based on a BeaconState
7
- */
8
- export declare function syncPubkeyCache(state: BeaconStateAllForks, pubkeyCache: PubkeyCache): void;
9
5
  /**
10
6
  * Get the nearest BeaconState at or before a slot
11
7
  */
12
- export declare function getNearestState(slot: number, config: BeaconConfig, db: IBeaconDb, pubkeyCache: PubkeyCache): Promise<CachedBeaconStateAllForks>;
8
+ export declare function getNearestState(slot: number, config: BeaconConfig, db: IBeaconDb, nativeStateView: boolean): Promise<IBeaconStateView>;
13
9
  /**
14
10
  * Get and regenerate a historical state
15
11
  */
16
- export declare function getHistoricalState(slot: number, config: BeaconConfig, db: IBeaconDb, pubkeyCache: PubkeyCache, metrics?: HistoricalStateRegenMetrics): Promise<Uint8Array>;
12
+ export declare function getHistoricalState(slot: number, config: BeaconConfig, db: IBeaconDb, nativeStateView: boolean, metrics?: HistoricalStateRegenMetrics): Promise<Uint8Array>;
17
13
  //# sourceMappingURL=getHistoricalState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getHistoricalState.d.ts","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/getHistoricalState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EAGzB,WAAW,EAGZ,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAC,2BAA2B,EAAC,MAAM,cAAc,CAAC;AAGzD;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI,CAS1F;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,EACpB,EAAE,EAAE,SAAS,EACb,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,yBAAyB,CAAC,CAoBpC;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,EACpB,EAAE,EAAE,SAAS,EACb,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE,2BAA2B,GACpC,OAAO,CAAC,UAAU,CAAC,CAgDrB"}
1
+ {"version":3,"file":"getHistoricalState.d.ts","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/getHistoricalState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAGL,gBAAgB,EAEjB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAC,2BAA2B,EAAC,MAAM,cAAc,CAAC;AAGzD;;GAEG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,EACpB,EAAE,EAAE,SAAS,EACb,eAAe,EAAE,OAAO,GACvB,OAAO,CAAC,gBAAgB,CAAC,CAU3B;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,EACpB,EAAE,EAAE,SAAS,EACb,eAAe,EAAE,OAAO,EACxB,OAAO,CAAC,EAAE,2BAA2B,GACpC,OAAO,CAAC,UAAU,CAAC,CA+CrB"}
@@ -1,44 +1,26 @@
1
- import { DataAvailabilityStatus, ExecutionPayloadStatus, createCachedBeaconState, stateTransition, } from "@lodestar/state-transition";
1
+ import { DataAvailabilityStatus, ExecutionPayloadStatus, createBeaconStateViewForHistoricalRegen, } from "@lodestar/state-transition";
2
2
  import { byteArrayEquals } from "@lodestar/utils";
3
- import { getStateTypeFromBytes } from "../../../util/multifork.js";
4
3
  import { RegenErrorType } from "./types.js";
5
- /**
6
- * Populate a PubkeyCache with any new entries based on a BeaconState
7
- */
8
- export function syncPubkeyCache(state, pubkeyCache) {
9
- // Get the validators sub tree once for all the loop
10
- const validators = state.validators;
11
- const newCount = state.validators.length;
12
- for (let i = pubkeyCache.size; i < newCount; i++) {
13
- const pubkey = validators.getReadonly(i).pubkey;
14
- pubkeyCache.set(i, pubkey);
15
- }
16
- }
17
4
  /**
18
5
  * Get the nearest BeaconState at or before a slot
19
6
  */
20
- export async function getNearestState(slot, config, db, pubkeyCache) {
7
+ export async function getNearestState(slot, config, db, nativeStateView) {
21
8
  const stateBytesArr = await db.stateArchive.binaries({ limit: 1, lte: slot, reverse: true });
22
9
  if (!stateBytesArr.length) {
23
10
  throw new Error("No near state found in the database");
24
11
  }
25
12
  const stateBytes = stateBytesArr[0];
26
- const state = getStateTypeFromBytes(config, stateBytes).deserializeToViewDU(stateBytes);
27
- syncPubkeyCache(state, pubkeyCache);
28
- return createCachedBeaconState(state, {
29
- config,
30
- pubkeyCache,
31
- }, {
32
- skipSyncPubkeys: true,
33
- });
13
+ return nativeStateView
14
+ ? createBeaconStateViewForHistoricalRegen({ useNative: true, stateBytes })
15
+ : createBeaconStateViewForHistoricalRegen({ useNative: false, config, stateBytes });
34
16
  }
35
17
  /**
36
18
  * Get and regenerate a historical state
37
19
  */
38
- export async function getHistoricalState(slot, config, db, pubkeyCache, metrics) {
20
+ export async function getHistoricalState(slot, config, db, nativeStateView, metrics) {
39
21
  const regenTimer = metrics?.regenTime.startTimer();
40
22
  const loadStateTimer = metrics?.loadStateTime.startTimer();
41
- let state = await getNearestState(slot, config, db, pubkeyCache).catch((e) => {
23
+ let state = await getNearestState(slot, config, db, nativeStateView).catch((e) => {
42
24
  metrics?.regenErrorCount.inc({ reason: RegenErrorType.loadState });
43
25
  throw e;
44
26
  });
@@ -47,7 +29,7 @@ export async function getHistoricalState(slot, config, db, pubkeyCache, metrics)
47
29
  let blockCount = 0;
48
30
  for await (const block of db.blockArchive.valuesStream({ gt: state.slot, lte: slot })) {
49
31
  try {
50
- state = stateTransition(state, block, {
32
+ state = state.stateTransition(block, {
51
33
  verifyProposer: false,
52
34
  verifySignatures: false,
53
35
  verifyStateRoot: false,
@@ -1 +1 @@
1
- {"version":3,"file":"getHistoricalState.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/getHistoricalState.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,sBAAsB,EACtB,sBAAsB,EAEtB,uBAAuB,EACvB,eAAe,GAChB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAC,qBAAqB,EAAC,MAAM,4BAA4B,CAAC;AAEjE,OAAO,EAAC,cAAc,EAAC,MAAM,YAAY,CAAC;AAE1C;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAA0B,EAAE,WAAwB,EAAQ;IAC1F,oDAAoD;IACpD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IAEpC,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;IACzC,KAAK,IAAI,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAChD,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC;AAAA,CACF;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAY,EACZ,MAAoB,EACpB,EAAa,EACb,WAAwB,EACY;IACpC,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;IAC3F,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACxF,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAEpC,OAAO,uBAAuB,CAC5B,KAAK,EACL;QACE,MAAM;QACN,WAAW;KACZ,EACD;QACE,eAAe,EAAE,IAAI;KACtB,CACF,CAAC;AAAA,CACH;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAAY,EACZ,MAAoB,EACpB,EAAa,EACb,WAAwB,EACxB,OAAqC,EAChB;IACrB,MAAM,UAAU,GAAG,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE,CAAC;IAEnD,MAAM,cAAc,GAAG,OAAO,EAAE,aAAa,CAAC,UAAU,EAAE,CAAC;IAC3D,IAAI,KAAK,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC5E,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,EAAC,MAAM,EAAE,cAAc,CAAC,SAAS,EAAC,CAAC,CAAC;QACjE,MAAM,CAAC,CAAC;IAAA,CACT,CAAC,CAAC;IACH,cAAc,EAAE,EAAE,CAAC;IAEnB,MAAM,eAAe,GAAG,OAAO,EAAE,mBAAmB,CAAC,UAAU,EAAE,CAAC;IAClE,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,EAAC,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAC,CAAC,EAAE,CAAC;QACpF,IAAI,CAAC;YACH,KAAK,GAAG,eAAe,CACrB,KAAK,EACL,KAAK,EACL;gBACE,cAAc,EAAE,KAAK;gBACrB,gBAAgB,EAAE,KAAK;gBACvB,eAAe,EAAE,KAAK;gBACtB,sBAAsB,EAAE,sBAAsB,CAAC,KAAK;gBACpD,sBAAsB,EAAE,sBAAsB,CAAC,SAAS;aACzD,EACD,EAAC,OAAO,EAAC,CACV,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,EAAC,MAAM,EAAE,cAAc,CAAC,eAAe,EAAC,CAAC,CAAC;YACvE,MAAM,CAAC,CAAC;QACV,CAAC;QACD,UAAU,EAAE,CAAC;QACb,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACpE,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,EAAC,MAAM,EAAE,cAAc,CAAC,gBAAgB,EAAC,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IACD,OAAO,EAAE,qBAAqB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACnD,eAAe,EAAE,EAAE,CAAC;IAEpB,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,KAAK,CAAC,gDAAgD,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,cAAc,GAAG,OAAO,EAAE,sBAAsB,CAAC,UAAU,EAAE,CAAC;IACpE,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;IACrC,cAAc,EAAE,EAAE,CAAC;IAEnB,UAAU,EAAE,EAAE,CAAC;IACf,OAAO,UAAU,CAAC;AAAA,CACnB"}
1
+ {"version":3,"file":"getHistoricalState.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/getHistoricalState.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { HistoricalStateRegenInitModules, HistoricalStateRegenModules, HistoricalStateWorkerApi } from "./types.js";
1
+ import { HistoricalStateRegenInitModules, HistoricalStateWorkerApi } from "./types.js";
2
2
  /**
3
3
  * HistoricalStateRegen limits the damage from recreating historical states
4
4
  * by running regen in a separate worker thread.
@@ -6,7 +6,7 @@ import { HistoricalStateRegenInitModules, HistoricalStateRegenModules, Historica
6
6
  export declare class HistoricalStateRegen implements HistoricalStateWorkerApi {
7
7
  private readonly api;
8
8
  private readonly logger;
9
- constructor(modules: HistoricalStateRegenModules);
9
+ private constructor();
10
10
  static init(modules: HistoricalStateRegenInitModules): Promise<HistoricalStateRegen>;
11
11
  scrapeMetrics(): Promise<string>;
12
12
  close(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"historicalStateRegen.d.ts","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/historicalStateRegen.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,EAC3B,wBAAwB,EAEzB,MAAM,YAAY,CAAC;AAKpB;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,wBAAwB;IACnE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAyC;IAC7D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IAEpC,YAAY,OAAO,EAAE,2BAA2B,EAI/C;IACD,OAAa,IAAI,CAAC,OAAO,EAAE,+BAA+B,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAwBzF;IAEK,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAErC;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAK3B;IAEK,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAE1D;CACF"}
1
+ {"version":3,"file":"historicalStateRegen.d.ts","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/historicalStateRegen.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,+BAA+B,EAE/B,wBAAwB,EAEzB,MAAM,YAAY,CAAC;AAKpB;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,wBAAwB;IACnE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAyC;IAC7D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IAEpC,OAAO,eAIN;IACD,OAAa,IAAI,CAAC,OAAO,EAAE,+BAA+B,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAyBzF;IAEK,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAErC;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAK3B;IAEK,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAE1D;CACF"}
@@ -25,6 +25,7 @@ export class HistoricalStateRegen {
25
25
  dbLocation: modules.opts.dbLocation,
26
26
  metricsEnabled: Boolean(modules.metrics),
27
27
  loggerOpts: modules.logger.toOpts(),
28
+ nativeStateView: modules.opts.nativeStateView,
28
29
  };
29
30
  const worker = new Worker(path.join(WORKER_DIR, "worker.js"), {
30
31
  suppressTranspileTS: Boolean(globalThis.Bun),
@@ -1 +1 @@
1
- {"version":3,"file":"historicalStateRegen.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/historicalStateRegen.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAe,MAAM,EAAE,MAAM,EAAE,KAAK,EAAC,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AASnD,iFAAiF;AACjF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,oDAAoD,CAAC,CAAC,CAAC,IAAI,CAAC;AAEjH;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IACd,GAAG,CAAyC;IAC5C,MAAM,CAAa;IAEpC,YAAY,OAAoC,EAAE;QAChD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;IAAA,CAC7E;IACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAwC,EAAiC;QACzF,MAAM,UAAU,GAA8B;YAC5C,eAAe,EAAE,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC;YAClD,qBAAqB,EAAE,OAAO,CAAC,MAAM,CAAC,qBAAqB;YAC3D,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW;YACrC,cAAc,EAAE,CAAC;YACjB,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU;YACnC,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;YACxC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;SACpC,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE;YAC5D,mBAAmB,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAC5C,UAAU;SACgC,CAAC,CAAC;QAE9C,MAAM,GAAG,GAAG,MAAM,KAAK,CAA2B,MAAM,EAAE;YACxD,0FAA0F;YAC1F,8FAA8F;YAC9F,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;SACvB,CAAC,CAAC;QAEH,OAAO,IAAI,oBAAoB,CAAC,EAAC,GAAG,OAAO,EAAE,GAAG,EAAC,CAAC,CAAC;IAAA,CACpD;IAED,KAAK,CAAC,aAAa,GAAoB;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAAA,CACjC;IAED,KAAK,CAAC,KAAK,GAAkB;QAC3B,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAAA,CACzD;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAY,EAAuB;QAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAAA,CAC1C;CACF"}
1
+ {"version":3,"file":"historicalStateRegen.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/historicalStateRegen.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAe,MAAM,EAAE,MAAM,EAAE,KAAK,EAAC,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AASnD,iFAAiF;AACjF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,oDAAoD,CAAC,CAAC,CAAC,IAAI,CAAC;AAEjH;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IACd,GAAG,CAAyC;IAC5C,MAAM,CAAa;IAEpC,YAAoB,OAAoC,EAAE;QACxD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;IAAA,CAC7E;IACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAwC,EAAiC;QACzF,MAAM,UAAU,GAA8B;YAC5C,eAAe,EAAE,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC;YAClD,qBAAqB,EAAE,OAAO,CAAC,MAAM,CAAC,qBAAqB;YAC3D,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW;YACrC,cAAc,EAAE,CAAC;YACjB,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU;YACnC,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;YACxC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;YACnC,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,eAAe;SAC9C,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE;YAC5D,mBAAmB,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAC5C,UAAU;SACgC,CAAC,CAAC;QAE9C,MAAM,GAAG,GAAG,MAAM,KAAK,CAA2B,MAAM,EAAE;YACxD,0FAA0F;YAC1F,8FAA8F;YAC9F,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;SACvB,CAAC,CAAC;QAEH,OAAO,IAAI,oBAAoB,CAAC,EAAC,GAAG,OAAO,EAAE,GAAG,EAAC,CAAC,CAAC;IAAA,CACpD;IAED,KAAK,CAAC,aAAa,GAAoB;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAAA,CACjC;IAED,KAAK,CAAC,KAAK,GAAkB;QAC3B,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAAA,CACzD;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAY,EAAuB;QAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAAA,CAC1C;CACF"}
@@ -6,6 +6,7 @@ export type HistoricalStateRegenInitModules = {
6
6
  opts: {
7
7
  genesisTime: number;
8
8
  dbLocation: string;
9
+ nativeStateView: boolean;
9
10
  };
10
11
  config: BeaconConfig;
11
12
  logger: LoggerNode;
@@ -24,6 +25,7 @@ export type HistoricalStateWorkerData = {
24
25
  dbLocation: string;
25
26
  metricsEnabled: boolean;
26
27
  loggerOpts: LoggerNodeOpts;
28
+ nativeStateView: boolean;
27
29
  };
28
30
  export type HistoricalStateWorkerApi = {
29
31
  close(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,YAAY,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,OAAO,EAAC,MAAM,2BAA2B,CAAC;AAElD,MAAM,MAAM,+BAA+B,GAAG;IAC5C,IAAI,EAAE;QACJ,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,2BAA2B,GAAG,+BAA+B,GAAG;IAC1E,GAAG,EAAE,YAAY,CAAC,wBAAwB,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,eAAe,EAAE,QAAQ,CAAC;IAC1B,qBAAqB,EAAE,UAAU,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,cAAc,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACvD,CAAC;AAEF,oBAAY,cAAc;IACxB,SAAS,eAAe;IACxB,gBAAgB,uBAAuB;IACvC,eAAe,qBAAqB;CACrC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,YAAY,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,OAAO,EAAC,MAAM,2BAA2B,CAAC;AAElD,MAAM,MAAM,+BAA+B,GAAG;IAC5C,IAAI,EAAE;QACJ,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,2BAA2B,GAAG,+BAA+B,GAAG;IAC1E,GAAG,EAAE,YAAY,CAAC,wBAAwB,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,eAAe,EAAE,QAAQ,CAAC;IAC1B,qBAAqB,EAAE,UAAU,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,cAAc,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACvD,CAAC;AAEF,oBAAY,cAAc;IACxB,SAAS,eAAe;IACxB,gBAAgB,uBAAuB;IACvC,eAAe,qBAAqB;CACrC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/types.ts"],"names":[],"mappings":"SAoCY,cAAc;AAA1B,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,0CAAwB,CAAA;IACxB,yDAAuC,CAAA;IACvC,sDAAoC,CAAA;AAAC,CACvC,EAJY,cAAc,KAAd,cAAc,QAIzB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/types.ts"],"names":[],"mappings":"SAsCY,cAAc;AAA1B,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,0CAAwB,CAAA;IACxB,yDAAuC,CAAA;IACvC,sDAAoC,CAAA;AAAC,CACvC,EAJY,cAAc,KAAd,cAAc,QAIzB"}
@@ -3,7 +3,6 @@ import { Transfer, expose } from "@chainsafe/threads/worker";
3
3
  import { chainConfigFromJson, createBeaconConfig } from "@lodestar/config";
4
4
  import { LevelDbController } from "@lodestar/db/controller/level";
5
5
  import { getNodeLogger } from "@lodestar/logger/node";
6
- import { createPubkeyCache } from "@lodestar/state-transition";
7
6
  import { BeaconDb } from "../../../db/index.js";
8
7
  import { RegistryMetricCreator, collectNodeJSMetrics } from "../../../metrics/index.js";
9
8
  import { JobFnQueue } from "../../../util/queue/fnQueue.js";
@@ -31,7 +30,6 @@ const queue = new JobFnQueue({
31
30
  maxLength: workerData.maxLength,
32
31
  signal: abortController.signal,
33
32
  }, queueMetrics);
34
- const pubkeyCache = createPubkeyCache();
35
33
  const api = {
36
34
  async close() {
37
35
  abortController.abort();
@@ -41,7 +39,7 @@ const api = {
41
39
  },
42
40
  async getHistoricalState(slot) {
43
41
  historicalStateRegenMetrics?.regenRequestCount.inc();
44
- const stateBytes = await queue.push(() => getHistoricalState(slot, config, db, pubkeyCache, historicalStateRegenMetrics));
42
+ const stateBytes = await queue.push(() => getHistoricalState(slot, config, db, workerData.nativeStateView, historicalStateRegenMetrics));
45
43
  const result = Transfer(stateBytes, [stateBytes.buffer]);
46
44
  historicalStateRegenMetrics?.regenSuccessCount.inc();
47
45
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/worker.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ export type ArchiveStoreOpts = StatesArchiveOpts & {
19
19
  archiveDataEpochs?: number;
20
20
  pruneHistory?: boolean;
21
21
  serveHistoricalState?: boolean;
22
+ nativeStateView?: boolean;
22
23
  };
23
24
  export type ProposalStats = {
24
25
  total: number;
@@ -1 +1 @@
1
- {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/chain/archiveStore/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,2BAA2B,EAAC,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAC;AAEjD,oBAAY,WAAW;IACrB,SAAS,cAAc;CAIxB;AAED,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,0BAA0B,EAAE,MAAM,CAAC;IACnC;;OAEG;IACH,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG;IACjD,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,kBAAkB,EAAE,aAAa,CAAC;IAClC,kCAAkC,EAAE,MAAM,CAAC;IAC3C,qCAAqC,EAAE,MAAM,CAAC;IAC9C,gCAAgC,EAAE,MAAM,CAAC;CAC1C,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,qBAAqB,CAAC,SAAS,EAAE,2BAA2B,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvG,iBAAiB,CAAC,SAAS,EAAE,2BAA2B,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnG,YAAY,CAAC,SAAS,EAAE,2BAA2B,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/F;AAED,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB;;OAEG;IACH,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC;;OAEG;IACH,wBAAwB,CACtB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;QAAC,KAAK,EAAE,UAAU,CAAC;QAAC,mBAAmB,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAC,GAAG,IAAI,CAAC,CAAC;IACzF;;OAEG;IACH,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC"}
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/chain/archiveStore/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,2BAA2B,EAAC,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAC;AAEjD,oBAAY,WAAW;IACrB,SAAS,cAAc;CAIxB;AAED,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,0BAA0B,EAAE,MAAM,CAAC;IACnC;;OAEG;IACH,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG;IACjD,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,kBAAkB,EAAE,aAAa,CAAC;IAClC,kCAAkC,EAAE,MAAM,CAAC;IAC3C,qCAAqC,EAAE,MAAM,CAAC;IAC9C,gCAAgC,EAAE,MAAM,CAAC;CAC1C,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,qBAAqB,CAAC,SAAS,EAAE,2BAA2B,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvG,iBAAiB,CAAC,SAAS,EAAE,2BAA2B,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnG,YAAY,CAAC,SAAS,EAAE,2BAA2B,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/F;AAED,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB;;OAEG;IACH,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC;;OAEG;IACH,wBAAwB,CACtB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;QAAC,KAAK,EAAE,UAAU,CAAC;QAAC,mBAAmB,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAC,GAAG,IAAI,CAAC,CAAC;IACzF;;OAEG;IACH,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC"}
@@ -1,5 +1,5 @@
1
1
  import { CheckpointWithHex } from "@lodestar/fork-choice";
2
- import { CachedBeaconStateAllForks, EffectiveBalanceIncrements } from "@lodestar/state-transition";
2
+ import { EffectiveBalanceIncrements, IBeaconStateView } from "@lodestar/state-transition";
3
3
  import { RootHex } from "@lodestar/types";
4
4
  /**
5
5
  * Cache EffectiveBalanceIncrements of checkpoint blocks
@@ -11,7 +11,7 @@ export declare class CheckpointBalancesCache {
11
11
  * `state.current_epoch`. If there is not already some entry for the given block root, then
12
12
  * add the effective balances from the `state` to the cache.
13
13
  */
14
- processState(blockRootHex: RootHex, state: CachedBeaconStateAllForks): void;
14
+ processState(blockRootHex: RootHex, state: IBeaconStateView): void;
15
15
  get(checkpoint: CheckpointWithHex): EffectiveBalanceIncrements | undefined;
16
16
  }
17
17
  //# sourceMappingURL=balancesCache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"balancesCache.d.ts","sourceRoot":"","sources":["../../src/chain/balancesCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACxD,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAI3B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAQ,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAY/C;;GAEG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2B;IAEjD;;;;OAIG;IACH,YAAY,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,yBAAyB,GAAG,IAAI,CAc1E;IAED,GAAG,CAAC,UAAU,EAAE,iBAAiB,GAAG,0BAA0B,GAAG,SAAS,CAGzE;CACF"}
1
+ {"version":3,"file":"balancesCache.d.ts","sourceRoot":"","sources":["../../src/chain/balancesCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAC,0BAA0B,EAAE,gBAAgB,EAA0B,MAAM,4BAA4B,CAAC;AACjH,OAAO,EAAQ,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAY/C;;GAEG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2B;IAEjD;;;;OAIG;IACH,YAAY,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAcjE;IAED,GAAG,CAAC,UAAU,EAAE,iBAAiB,GAAG,0BAA0B,GAAG,SAAS,CAGzE;CACF"}
@@ -1,4 +1,4 @@
1
- import { computeStartSlotAtEpoch, getBlockRootAtSlot, getEffectiveBalanceIncrementsZeroInactive, } from "@lodestar/state-transition";
1
+ import { computeStartSlotAtEpoch } from "@lodestar/state-transition";
2
2
  import { toRootHex } from "@lodestar/utils";
3
3
  /** The number of validator balance sets that are cached within `CheckpointBalancesCache`. */
4
4
  const MAX_BALANCE_CACHE_SIZE = 4;
@@ -13,16 +13,16 @@ export class CheckpointBalancesCache {
13
13
  * add the effective balances from the `state` to the cache.
14
14
  */
15
15
  processState(blockRootHex, state) {
16
- const epoch = state.epochCtx.epoch;
16
+ const epoch = state.epoch;
17
17
  const epochBoundarySlot = computeStartSlotAtEpoch(epoch);
18
- const epochBoundaryRoot = epochBoundarySlot === state.slot ? blockRootHex : toRootHex(getBlockRootAtSlot(state, epochBoundarySlot));
18
+ const epochBoundaryRoot = epochBoundarySlot === state.slot ? blockRootHex : toRootHex(state.getBlockRootAtSlot(epochBoundarySlot));
19
19
  const index = this.items.findIndex((item) => item.epoch === epoch && item.rootHex === epochBoundaryRoot);
20
20
  if (index === -1) {
21
21
  if (this.items.length === MAX_BALANCE_CACHE_SIZE) {
22
22
  this.items.shift();
23
23
  }
24
24
  // expect to reach this once per epoch
25
- this.items.push({ epoch, rootHex: epochBoundaryRoot, balances: getEffectiveBalanceIncrementsZeroInactive(state) });
25
+ this.items.push({ epoch, rootHex: epochBoundaryRoot, balances: state.getEffectiveBalanceIncrementsZeroInactive() });
26
26
  }
27
27
  }
28
28
  get(checkpoint) {
@@ -1 +1 @@
1
- {"version":3,"file":"balancesCache.js","sourceRoot":"","sources":["../../src/chain/balancesCache.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,uBAAuB,EACvB,kBAAkB,EAClB,yCAAyC,GAC1C,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAE1C,6FAA6F;AAC7F,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAQjC;;GAEG;AACH,MAAM,OAAO,uBAAuB;IACjB,KAAK,GAAwB,EAAE,CAAC;IAEjD;;;;OAIG;IACH,YAAY,CAAC,YAAqB,EAAE,KAAgC,EAAQ;QAC1E,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QACnC,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,iBAAiB,GACrB,iBAAiB,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC;QAE5G,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,iBAAiB,CAAC,CAAC;QACzG,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,sBAAsB,EAAE,CAAC;gBACjD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;YACD,sCAAsC;YACtC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,yCAAyC,CAAC,KAAK,CAAC,EAAC,CAAC,CAAC;QACnH,CAAC;IAAA,CACF;IAED,GAAG,CAAC,UAA6B,EAA0C;QACzE,MAAM,EAAC,OAAO,EAAE,KAAK,EAAC,GAAG,UAAU,CAAC;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,EAAE,QAAQ,CAAC;IAAA,CAC9F;CACF"}
1
+ {"version":3,"file":"balancesCache.js","sourceRoot":"","sources":["../../src/chain/balancesCache.ts"],"names":[],"mappings":"AACA,OAAO,EAA+C,uBAAuB,EAAC,MAAM,4BAA4B,CAAC;AAEjH,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAE1C,6FAA6F;AAC7F,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAQjC;;GAEG;AACH,MAAM,OAAO,uBAAuB;IACjB,KAAK,GAAwB,EAAE,CAAC;IAEjD;;;;OAIG;IACH,YAAY,CAAC,YAAqB,EAAE,KAAuB,EAAQ;QACjE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,iBAAiB,GACrB,iBAAiB,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAE3G,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,iBAAiB,CAAC,CAAC;QACzG,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,sBAAsB,EAAE,CAAC;gBACjD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC;YACD,sCAAsC;YACtC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,CAAC,yCAAyC,EAAE,EAAC,CAAC,CAAC;QACpH,CAAC;IAAA,CACF;IAED,GAAG,CAAC,UAA6B,EAA0C;QACzE,MAAM,EAAC,OAAO,EAAE,KAAK,EAAC,GAAG,UAAU,CAAC;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,EAAE,QAAQ,CAAC;IAAA,CAC9F;CACF"}
@@ -13,6 +13,7 @@ export type DAData = null | deneb.BlobSidecars | fulu.DataColumnSidecars;
13
13
  * sources so each should be labelled individually.
14
14
  */
15
15
  export declare enum BlockInputSource {
16
+ network_processor = "network_processor",
16
17
  gossip = "gossip",
17
18
  api = "api",
18
19
  engine = "engine",
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/chain/blocks/blockInput/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/chain/blocks/blockInput/types.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ export { BlockInputSource };
13
13
  */
14
14
  var BlockInputSource;
15
15
  (function (BlockInputSource) {
16
+ BlockInputSource["network_processor"] = "network_processor";
16
17
  BlockInputSource["gossip"] = "gossip";
17
18
  BlockInputSource["api"] = "api";
18
19
  BlockInputSource["engine"] = "engine";
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/chain/blocks/blockInput/types.ts"],"names":[],"mappings":"SAIY,MAAM;AAAlB,IAAY,MAKX;AALD,WAAY,MAAM;IAChB,8BAAoB,CAAA;IACpB,yBAAe,CAAA;IACf,6BAAmB,CAAA;IACnB,4BAAkB,CAAA;AAAC,CACrB,EALY,MAAM,KAAN,MAAM,QAKjB;SAQW,gBAAgB;AAJ5B;;;GAGG;AACH,IAAY,gBAOX;AAPD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,+BAAW,CAAA;IACX,qCAAiB,CAAA;IACjB,iDAA6B,CAAA;IAC7B,+CAA2B,CAAA;IAC3B,yCAAqB,CAAA;AAAC,CACxB,EAPY,gBAAgB,KAAhB,gBAAgB,QAO3B"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/chain/blocks/blockInput/types.ts"],"names":[],"mappings":"SAIY,MAAM;AAAlB,IAAY,MAKX;AALD,WAAY,MAAM;IAChB,8BAAoB,CAAA;IACpB,yBAAe,CAAA;IACf,6BAAmB,CAAA;IACnB,4BAAkB,CAAA;AAAC,CACrB,EALY,MAAM,KAAN,MAAM,QAKjB;SAQW,gBAAgB;AAJ5B;;;GAGG;AACH,IAAY,gBAQX;AARD,WAAY,gBAAgB;IAC1B,2DAAuC,CAAA;IACvC,qCAAiB,CAAA;IACjB,+BAAW,CAAA;IACX,qCAAiB,CAAA;IACjB,iDAA6B,CAAA;IAC7B,+CAA2B,CAAA;IAC3B,yCAAqB,CAAA;AAAC,CACxB,EARY,gBAAgB,KAAhB,gBAAgB,QAQ3B"}
@@ -1,5 +1,5 @@
1
1
  import { ForkPostElectra } from "@lodestar/params";
2
- import { EpochCache } from "@lodestar/state-transition";
2
+ import { IBeaconStateView } from "@lodestar/state-transition";
3
3
  import { Attestation, electra, phase0 } from "@lodestar/types";
4
4
  import type { BeaconChain } from "../chain.js";
5
5
  import { FullyVerifiedBlock, ImportBlockOpts } from "./types.js";
@@ -24,6 +24,6 @@ import { FullyVerifiedBlock, ImportBlockOpts } from "./types.js";
24
24
  * 7. Add post state to stateCache
25
25
  */
26
26
  export declare function importBlock(this: BeaconChain, fullyVerifiedBlock: FullyVerifiedBlock, opts: ImportBlockOpts): Promise<void>;
27
- export declare function addAttestationPreElectra(this: BeaconChain, _: EpochCache, target: phase0.Checkpoint, attDataRoot: string, attestation: Attestation, indexedAttestation: phase0.IndexedAttestation): void;
28
- export declare function addAttestationPostElectra(this: BeaconChain, epochCtx: EpochCache, target: phase0.Checkpoint, attDataRoot: string, attestation: Attestation<ForkPostElectra>, indexedAttestation: electra.IndexedAttestation): void;
27
+ export declare function addAttestationPreElectra(this: BeaconChain, _: IBeaconStateView, target: phase0.Checkpoint, attDataRoot: string, attestation: Attestation, indexedAttestation: phase0.IndexedAttestation): void;
28
+ export declare function addAttestationPostElectra(this: BeaconChain, state: IBeaconStateView, target: phase0.Checkpoint, attDataRoot: string, attestation: Attestation<ForkPostElectra>, indexedAttestation: electra.IndexedAttestation): void;
29
29
  //# sourceMappingURL=importBlock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"importBlock.d.ts","sourceRoot":"","sources":["../../../src/chain/blocks/importBlock.ts"],"names":[],"mappings":"AAWA,OAAO,EAEL,eAAe,EAKhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,UAAU,EAQX,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,WAAW,EAKX,OAAO,EAEP,MAAM,EAEP,MAAM,iBAAiB,CAAC;AAMzB,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAM7C,OAAO,EAAuB,kBAAkB,EAAE,eAAe,EAAC,MAAM,YAAY,CAAC;AAYrF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,WAAW,EACjB,kBAAkB,EAAE,kBAAkB,EACtC,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,IAAI,CAAC,CA0hBf;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,WAAW,EAEjB,CAAC,EAAE,UAAU,EACb,MAAM,EAAE,MAAM,CAAC,UAAU,EACzB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,GAC5C,IAAI,CAQN;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAE,MAAM,CAAC,UAAU,EACzB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,CAAC,eAAe,CAAC,EACzC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,GAC7C,IAAI,CA+BN"}
1
+ {"version":3,"file":"importBlock.d.ts","sourceRoot":"","sources":["../../../src/chain/blocks/importBlock.ts"],"names":[],"mappings":"AAYA,OAAO,EAEL,eAAe,EAKhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,gBAAgB,EAMjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,WAAW,EAKX,OAAO,EAEP,MAAM,EAEP,MAAM,iBAAiB,CAAC;AAMzB,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAM7C,OAAO,EAAuB,kBAAkB,EAAE,eAAe,EAAC,MAAM,YAAY,CAAC;AAYrF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,WAAW,EACjB,kBAAkB,EAAE,kBAAkB,EACtC,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,IAAI,CAAC,CA0hBf;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,WAAW,EAEjB,CAAC,EAAE,gBAAgB,EACnB,MAAM,EAAE,MAAM,CAAC,UAAU,EACzB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,GAC5C,IAAI,CAQN;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,MAAM,CAAC,UAAU,EACzB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,CAAC,eAAe,CAAC,EACzC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,GAC7C,IAAI,CA+BN"}
@@ -1,8 +1,8 @@
1
1
  import { BitArray } from "@chainsafe/ssz";
2
2
  import { routes } from "@lodestar/api";
3
- import { AncestorStatus, EpochDifference, ForkChoiceError, ForkChoiceErrorCode, NotReorgedReason, getSafeExecutionBlockHash, isGloasBlock, } from "@lodestar/fork-choice";
3
+ import { AncestorStatus, EpochDifference, ExecutionStatus, ForkChoiceError, ForkChoiceErrorCode, NotReorgedReason, getSafeExecutionBlockHash, isGloasBlock, } from "@lodestar/fork-choice";
4
4
  import { ForkSeq, MAX_SEED_LOOKAHEAD, SLOTS_PER_EPOCH, } from "@lodestar/params";
5
- import { RootCache, computeEpochAtSlot, computeStartSlotAtEpoch, computeTimeAtSlot, isExecutionStateType, isStartSlotOfEpoch, isStateValidatorsNodesPopulated, } from "@lodestar/state-transition";
5
+ import { RootCache, computeEpochAtSlot, computeStartSlotAtEpoch, computeTimeAtSlot, isStartSlotOfEpoch, } from "@lodestar/state-transition";
6
6
  import { isGloasBeaconBlock, ssz, } from "@lodestar/types";
7
7
  import { isErrorAborted, toRootHex } from "@lodestar/utils";
8
8
  import { ZERO_HASH_HEX } from "../../constants/index.js";
@@ -45,7 +45,7 @@ const EVENTSTREAM_EMIT_RECENT_BLOCK_SLOTS = 64;
45
45
  * 7. Add post state to stateCache
46
46
  */
47
47
  export async function importBlock(fullyVerifiedBlock, opts) {
48
- const { blockInput, postState, parentBlockSlot, executionStatus, dataAvailabilityStatus, indexedAttestations } = fullyVerifiedBlock;
48
+ const { blockInput, postBlockState, parentBlockSlot, executionStatus, dataAvailabilityStatus, indexedAttestations } = fullyVerifiedBlock;
49
49
  const block = blockInput.getBlock();
50
50
  const source = blockInput.getBlockSource();
51
51
  const { slot: blockSlot } = block.message;
@@ -55,7 +55,7 @@ export async function importBlock(fullyVerifiedBlock, opts) {
55
55
  const currentEpoch = computeEpochAtSlot(currentSlot);
56
56
  const blockEpoch = computeEpochAtSlot(blockSlot);
57
57
  const prevFinalizedEpoch = this.forkChoice.getFinalizedCheckpoint().epoch;
58
- const blockDelaySec = fullyVerifiedBlock.seenTimestampSec - computeTimeAtSlot(this.config, blockSlot, postState.genesisTime);
58
+ const blockDelaySec = fullyVerifiedBlock.seenTimestampSec - computeTimeAtSlot(this.config, blockSlot, postBlockState.genesisTime);
59
59
  const recvToValLatency = Date.now() / 1000 - (opts.seenTimestampSec ?? Date.now() / 1000);
60
60
  const fork = this.config.getForkSeq(blockSlot);
61
61
  // this is just a type assertion since blockinput with dataPromise type will not end up here
@@ -74,15 +74,15 @@ export async function importBlock(fullyVerifiedBlock, opts) {
74
74
  });
75
75
  // 2. Import block to fork choice
76
76
  // Should compute checkpoint balances before forkchoice.onBlock
77
- this.checkpointBalancesCache.processState(blockRootHex, postState);
78
- const blockSummary = this.forkChoice.onBlock(block.message, postState, blockDelaySec, currentSlot, executionStatus, dataAvailabilityStatus);
77
+ this.checkpointBalancesCache.processState(blockRootHex, postBlockState);
78
+ const blockSummary = this.forkChoice.onBlock(block.message, postBlockState, blockDelaySec, currentSlot, fork >= ForkSeq.gloas ? ExecutionStatus.PayloadSeparated : executionStatus, dataAvailabilityStatus);
79
79
  // This adds the state necessary to process the next block
80
80
  // Some block event handlers require state being in state cache so need to do this before emitting EventType.block
81
81
  // Pre-Gloas: blockSummary.payloadStatus is always FULL, payloadPresent = true
82
82
  // Post-Gloas: blockSummary.payloadStatus is always PENDING, so payloadPresent = false (block state only, no payload processing yet)
83
83
  const payloadPresent = !isGloasBlock(blockSummary);
84
84
  // processState manages both block state and payload state variants together for memory/disk management
85
- this.regen.processBlockState(blockRootHex, postState);
85
+ this.regen.processBlockState(blockRootHex, postBlockState);
86
86
  // For Gloas blocks, create PayloadEnvelopeInput so it's available for later payload import
87
87
  if (fork >= ForkSeq.gloas) {
88
88
  this.seenPayloadEnvelopeInputCache.add({
@@ -113,7 +113,7 @@ export async function importBlock(fullyVerifiedBlock, opts) {
113
113
  if (opts.importAttestations === AttestationImportOpt.Force ||
114
114
  (opts.importAttestations !== AttestationImportOpt.Skip && blockEpoch >= currentEpoch - FORK_CHOICE_ATT_EPOCH_LIMIT)) {
115
115
  const attestations = block.message.body.attestations;
116
- const rootCache = new RootCache(postState);
116
+ const rootCache = new RootCache(postBlockState);
117
117
  const invalidAttestationErrorsByCode = new Map();
118
118
  const addAttestation = fork >= ForkSeq.electra ? addAttestationPostElectra : addAttestationPreElectra;
119
119
  for (let i = 0; i < attestations.length; i++) {
@@ -122,7 +122,7 @@ export async function importBlock(fullyVerifiedBlock, opts) {
122
122
  const indexedAttestation = indexedAttestations[i];
123
123
  const { target, beaconBlockRoot } = attestation.data;
124
124
  const attDataRoot = toRootHex(ssz.phase0.AttestationData.hashTreeRoot(indexedAttestation.data));
125
- addAttestation.call(this, postState.epochCtx, target, attDataRoot, attestation, indexedAttestation);
125
+ addAttestation.call(this, postBlockState, target, attDataRoot, attestation, indexedAttestation);
126
126
  // Duplicated logic from fork-choice onAttestation validation logic.
127
127
  // Attestations outside of this range will be dropped as Errors, so no need to import
128
128
  if (opts.importAttestations === AttestationImportOpt.Force ||
@@ -202,7 +202,7 @@ export async function importBlock(fullyVerifiedBlock, opts) {
202
202
  const currFinalizedEpoch = this.forkChoice.getFinalizedCheckpoint().epoch;
203
203
  if (newHead.blockRoot !== oldHead.blockRoot) {
204
204
  // Set head state as strong reference
205
- this.regen.updateHeadState(newHead, postState);
205
+ this.regen.updateHeadState(newHead, postBlockState);
206
206
  try {
207
207
  this.emitter.emit(routes.events.EventType.head, {
208
208
  block: newHead.blockRoot,
@@ -263,7 +263,7 @@ export async function importBlock(fullyVerifiedBlock, opts) {
263
263
  // we want to import block asap so do this in the next event loop
264
264
  callInNextEventLoop(() => {
265
265
  try {
266
- this.lightClientServer?.onImportBlockHead(block.message, postState, parentBlockSlot);
266
+ this.lightClientServer?.onImportBlockHead(block.message, postBlockState, parentBlockSlot);
267
267
  }
268
268
  catch (e) {
269
269
  this.logger.verbose("Error lightClientServer.onImportBlock", { slot: blockSlot }, e);
@@ -280,11 +280,11 @@ export async function importBlock(fullyVerifiedBlock, opts) {
280
280
  // Suppress fcu call if shouldOverrideFcu is true. This only happens if we have proposer boost reorg enabled
281
281
  // and the block is weak and can potentially be reorged out.
282
282
  let shouldOverrideFcu = false;
283
- if (blockSlot >= currentSlot && isExecutionStateType(postState)) {
283
+ if (blockSlot >= currentSlot && postBlockState.isExecutionStateType) {
284
284
  let notOverrideFcuReason = NotReorgedReason.Unknown;
285
285
  const proposalSlot = blockSlot + 1;
286
286
  try {
287
- const proposerIndex = postState.epochCtx.getBeaconProposer(proposalSlot);
287
+ const proposerIndex = postBlockState.getBeaconProposer(proposalSlot);
288
288
  const feeRecipient = this.beaconProposerCache.get(proposerIndex);
289
289
  if (feeRecipient) {
290
290
  // We would set this to true if
@@ -353,25 +353,25 @@ export async function importBlock(fullyVerifiedBlock, opts) {
353
353
  });
354
354
  }
355
355
  }
356
- if (!isStateValidatorsNodesPopulated(postState)) {
357
- this.logger.verbose("After importBlock caching postState without SSZ cache", { slot: postState.slot });
356
+ if (!postBlockState.isStateValidatorsNodesPopulated()) {
357
+ this.logger.verbose("After importBlock caching postState without SSZ cache", { slot: postBlockState.slot });
358
358
  }
359
359
  // Cache shufflings when crossing an epoch boundary
360
360
  const parentEpoch = computeEpochAtSlot(parentBlockSlot);
361
361
  if (parentEpoch < blockEpoch) {
362
- this.shufflingCache.processState(postState);
362
+ this.shufflingCache.processState(postBlockState);
363
363
  this.logger.verbose("Processed shuffling for next epoch", { parentEpoch, blockEpoch, slot: blockSlot });
364
364
  }
365
365
  if (blockSlot % SLOTS_PER_EPOCH === 0) {
366
366
  // Cache state to preserve epoch transition work
367
- const checkpointState = postState;
367
+ const checkpointState = postBlockState;
368
368
  const cp = getCheckpointFromState(checkpointState);
369
369
  this.regen.addCheckpointState(cp, checkpointState, payloadPresent);
370
370
  // consumers should not mutate state ever
371
371
  this.emitter.emit(ChainEvent.checkpoint, cp, checkpointState);
372
372
  // Note: in-lined code from previos handler of ChainEvent.checkpoint
373
373
  this.logger.verbose("Checkpoint processed", toCheckpointHexPayload(cp, payloadPresent));
374
- const activeValidatorsCount = checkpointState.epochCtx.currentShuffling.activeIndices.length;
374
+ const activeValidatorsCount = checkpointState.activeValidatorCount;
375
375
  this.metrics?.currentActiveValidators.set(activeValidatorsCount);
376
376
  this.metrics?.currentValidators.set({ status: "active" }, activeValidatorsCount);
377
377
  const parentBlockSummary = isGloasBeaconBlock(block.message)
@@ -445,7 +445,7 @@ export async function importBlock(fullyVerifiedBlock, opts) {
445
445
  this.metrics?.proposerBalanceDeltaAny.observe(fullyVerifiedBlock.proposerBalanceDelta);
446
446
  this.validatorMonitor?.registerImportedBlock(block.message, fullyVerifiedBlock);
447
447
  if (this.config.getForkSeq(blockSlot) >= ForkSeq.altair) {
448
- this.validatorMonitor?.registerSyncAggregateInBlock(blockEpoch, block.message.body.syncAggregate, fullyVerifiedBlock.postState.epochCtx.currentSyncCommitteeIndexed.validatorIndices);
448
+ this.validatorMonitor?.registerSyncAggregateInBlock(blockEpoch, block.message.body.syncAggregate, fullyVerifiedBlock.postBlockState.currentSyncCommitteeIndexed.validatorIndices);
449
449
  }
450
450
  if (isBlockInputColumns(blockInput)) {
451
451
  for (const { source } of blockInput.getSampledColumnsWithSource()) {
@@ -481,7 +481,7 @@ export function addAttestationPreElectra(
481
481
  _, target, attDataRoot, attestation, indexedAttestation) {
482
482
  this.seenAggregatedAttestations.add(target.epoch, attestation.data.index, attDataRoot, { aggregationBits: attestation.aggregationBits, trueBitCount: indexedAttestation.attestingIndices.length }, true);
483
483
  }
484
- export function addAttestationPostElectra(epochCtx, target, attDataRoot, attestation, indexedAttestation) {
484
+ export function addAttestationPostElectra(state, target, attDataRoot, attestation, indexedAttestation) {
485
485
  const committeeIndices = attestation.committeeBits.getTrueBitIndexes();
486
486
  if (committeeIndices.length === 1) {
487
487
  this.seenAggregatedAttestations.add(target.epoch, committeeIndices[0], attDataRoot, { aggregationBits: attestation.aggregationBits, trueBitCount: indexedAttestation.attestingIndices.length }, true);
@@ -489,7 +489,7 @@ export function addAttestationPostElectra(epochCtx, target, attDataRoot, attesta
489
489
  else {
490
490
  const attSlot = attestation.data.slot;
491
491
  const attEpoch = computeEpochAtSlot(attSlot);
492
- const decisionRoot = epochCtx.getShufflingDecisionRoot(attEpoch);
492
+ const decisionRoot = state.getShufflingDecisionRoot(attEpoch);
493
493
  const committees = this.shufflingCache.getBeaconCommittees(attEpoch, decisionRoot, attSlot, committeeIndices);
494
494
  const aggregationBools = attestation.aggregationBits.toBoolArray();
495
495
  let offset = 0;