@lodestar/beacon-node 1.39.1 → 1.40.0-dev.059f489b0f

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 (509) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +23 -27
  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 +30 -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/api/rest/base.d.ts.map +1 -1
  26. package/lib/api/rest/base.js +2 -2
  27. package/lib/api/rest/base.js.map +1 -1
  28. package/lib/chain/ColumnReconstructionTracker.d.ts +2 -0
  29. package/lib/chain/ColumnReconstructionTracker.d.ts.map +1 -1
  30. package/lib/chain/ColumnReconstructionTracker.js +7 -3
  31. package/lib/chain/ColumnReconstructionTracker.js.map +1 -1
  32. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +1 -1
  33. package/lib/chain/archiveStore/historicalState/getHistoricalState.js +7 -4
  34. package/lib/chain/archiveStore/historicalState/getHistoricalState.js.map +1 -1
  35. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +1 -1
  36. package/lib/chain/archiveStore/utils/archiveBlocks.js +23 -14
  37. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  38. package/lib/chain/blocks/blockInput/blockInput.d.ts +30 -0
  39. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +1 -1
  40. package/lib/chain/blocks/blockInput/blockInput.js +44 -3
  41. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  42. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  43. package/lib/chain/blocks/importBlock.js +15 -10
  44. package/lib/chain/blocks/importBlock.js.map +1 -1
  45. package/lib/chain/blocks/index.d.ts.map +1 -1
  46. package/lib/chain/blocks/index.js +0 -14
  47. package/lib/chain/blocks/index.js.map +1 -1
  48. package/lib/chain/blocks/types.d.ts +0 -2
  49. package/lib/chain/blocks/types.d.ts.map +1 -1
  50. package/lib/chain/blocks/verifyBlock.d.ts.map +1 -1
  51. package/lib/chain/blocks/verifyBlock.js +9 -9
  52. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  53. package/lib/chain/blocks/verifyBlocksSignatures.d.ts +2 -2
  54. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +1 -1
  55. package/lib/chain/blocks/verifyBlocksSignatures.js +2 -2
  56. package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
  57. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +1 -1
  58. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js +2 -2
  59. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js.map +1 -1
  60. package/lib/chain/blocks/writeBlockInputToDb.d.ts +1 -4
  61. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +1 -1
  62. package/lib/chain/blocks/writeBlockInputToDb.js +28 -28
  63. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  64. package/lib/chain/bls/multithread/index.d.ts +3 -1
  65. package/lib/chain/bls/multithread/index.d.ts.map +1 -1
  66. package/lib/chain/bls/multithread/index.js +5 -3
  67. package/lib/chain/bls/multithread/index.js.map +1 -1
  68. package/lib/chain/bls/multithread/jobItem.d.ts +2 -2
  69. package/lib/chain/bls/multithread/jobItem.d.ts.map +1 -1
  70. package/lib/chain/bls/multithread/jobItem.js +2 -2
  71. package/lib/chain/bls/multithread/jobItem.js.map +1 -1
  72. package/lib/chain/bls/singleThread.d.ts +4 -2
  73. package/lib/chain/bls/singleThread.d.ts.map +1 -1
  74. package/lib/chain/bls/singleThread.js +4 -2
  75. package/lib/chain/bls/singleThread.js.map +1 -1
  76. package/lib/chain/bls/utils.d.ts +2 -2
  77. package/lib/chain/bls/utils.d.ts.map +1 -1
  78. package/lib/chain/bls/utils.js +9 -6
  79. package/lib/chain/bls/utils.js.map +1 -1
  80. package/lib/chain/chain.d.ts +25 -7
  81. package/lib/chain/chain.d.ts.map +1 -1
  82. package/lib/chain/chain.js +213 -50
  83. package/lib/chain/chain.js.map +1 -1
  84. package/lib/chain/errors/attestationError.d.ts +14 -1
  85. package/lib/chain/errors/attestationError.d.ts.map +1 -1
  86. package/lib/chain/errors/attestationError.js +8 -0
  87. package/lib/chain/errors/attestationError.js.map +1 -1
  88. package/lib/chain/errors/executionPayloadBid.d.ts +48 -0
  89. package/lib/chain/errors/executionPayloadBid.d.ts.map +1 -0
  90. package/lib/chain/errors/executionPayloadBid.js +15 -0
  91. package/lib/chain/errors/executionPayloadBid.js.map +1 -0
  92. package/lib/chain/errors/executionPayloadEnvelope.d.ts +48 -0
  93. package/lib/chain/errors/executionPayloadEnvelope.d.ts.map +1 -0
  94. package/lib/chain/errors/executionPayloadEnvelope.js +16 -0
  95. package/lib/chain/errors/executionPayloadEnvelope.js.map +1 -0
  96. package/lib/chain/errors/index.d.ts +3 -0
  97. package/lib/chain/errors/index.d.ts.map +1 -1
  98. package/lib/chain/errors/index.js +3 -0
  99. package/lib/chain/errors/index.js.map +1 -1
  100. package/lib/chain/errors/payloadAttestation.d.ts +34 -0
  101. package/lib/chain/errors/payloadAttestation.d.ts.map +1 -0
  102. package/lib/chain/errors/payloadAttestation.js +13 -0
  103. package/lib/chain/errors/payloadAttestation.js.map +1 -0
  104. package/lib/chain/forkChoice/index.d.ts.map +1 -1
  105. package/lib/chain/forkChoice/index.js +18 -0
  106. package/lib/chain/forkChoice/index.js.map +1 -1
  107. package/lib/chain/initState.d.ts +1 -1
  108. package/lib/chain/initState.d.ts.map +1 -1
  109. package/lib/chain/initState.js +7 -5
  110. package/lib/chain/initState.js.map +1 -1
  111. package/lib/chain/interface.d.ts +23 -5
  112. package/lib/chain/interface.d.ts.map +1 -1
  113. package/lib/chain/interface.js.map +1 -1
  114. package/lib/chain/lightClient/index.d.ts.map +1 -1
  115. package/lib/chain/lightClient/index.js +1 -2
  116. package/lib/chain/lightClient/index.js.map +1 -1
  117. package/lib/chain/lightClient/proofs.d.ts.map +1 -1
  118. package/lib/chain/lightClient/proofs.js +0 -2
  119. package/lib/chain/lightClient/proofs.js.map +1 -1
  120. package/lib/chain/opPools/aggregatedAttestationPool.d.ts +5 -9
  121. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
  122. package/lib/chain/opPools/aggregatedAttestationPool.js +12 -141
  123. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  124. package/lib/chain/opPools/executionPayloadBidPool.d.ts +21 -0
  125. package/lib/chain/opPools/executionPayloadBidPool.d.ts.map +1 -0
  126. package/lib/chain/opPools/executionPayloadBidPool.js +57 -0
  127. package/lib/chain/opPools/executionPayloadBidPool.js.map +1 -0
  128. package/lib/chain/opPools/index.d.ts +2 -0
  129. package/lib/chain/opPools/index.d.ts.map +1 -1
  130. package/lib/chain/opPools/index.js +2 -0
  131. package/lib/chain/opPools/index.js.map +1 -1
  132. package/lib/chain/opPools/opPool.js +5 -8
  133. package/lib/chain/opPools/opPool.js.map +1 -1
  134. package/lib/chain/opPools/payloadAttestationPool.d.ts +24 -0
  135. package/lib/chain/opPools/payloadAttestationPool.d.ts.map +1 -0
  136. package/lib/chain/opPools/payloadAttestationPool.js +109 -0
  137. package/lib/chain/opPools/payloadAttestationPool.js.map +1 -0
  138. package/lib/chain/options.d.ts +0 -1
  139. package/lib/chain/options.d.ts.map +1 -1
  140. package/lib/chain/options.js +0 -1
  141. package/lib/chain/options.js.map +1 -1
  142. package/lib/chain/prepareNextSlot.d.ts.map +1 -1
  143. package/lib/chain/prepareNextSlot.js +9 -10
  144. package/lib/chain/prepareNextSlot.js.map +1 -1
  145. package/lib/chain/produceBlock/produceBlockBody.d.ts +3 -2
  146. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  147. package/lib/chain/produceBlock/produceBlockBody.js +6 -4
  148. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  149. package/lib/chain/regen/interface.d.ts +5 -14
  150. package/lib/chain/regen/interface.d.ts.map +1 -1
  151. package/lib/chain/regen/interface.js +1 -1
  152. package/lib/chain/regen/interface.js.map +1 -1
  153. package/lib/chain/regen/queued.d.ts +6 -10
  154. package/lib/chain/regen/queued.d.ts.map +1 -1
  155. package/lib/chain/regen/queued.js +16 -40
  156. package/lib/chain/regen/queued.js.map +1 -1
  157. package/lib/chain/regen/regen.d.ts +6 -8
  158. package/lib/chain/regen/regen.d.ts.map +1 -1
  159. package/lib/chain/regen/regen.js +20 -34
  160. package/lib/chain/regen/regen.js.map +1 -1
  161. package/lib/chain/seenCache/index.d.ts +3 -1
  162. package/lib/chain/seenCache/index.d.ts.map +1 -1
  163. package/lib/chain/seenCache/index.js +3 -1
  164. package/lib/chain/seenCache/index.js.map +1 -1
  165. package/lib/chain/seenCache/seenAttesters.d.ts +5 -0
  166. package/lib/chain/seenCache/seenAttesters.d.ts.map +1 -1
  167. package/lib/chain/seenCache/seenAttesters.js +5 -0
  168. package/lib/chain/seenCache/seenAttesters.js.map +1 -1
  169. package/lib/chain/seenCache/seenExecutionPayloadBids.d.ts +12 -0
  170. package/lib/chain/seenCache/seenExecutionPayloadBids.d.ts.map +1 -0
  171. package/lib/chain/seenCache/seenExecutionPayloadBids.js +30 -0
  172. package/lib/chain/seenCache/seenExecutionPayloadBids.js.map +1 -0
  173. package/lib/chain/seenCache/seenExecutionPayloadEnvelope.d.ts +15 -0
  174. package/lib/chain/seenCache/seenExecutionPayloadEnvelope.d.ts.map +1 -0
  175. package/lib/chain/seenCache/seenExecutionPayloadEnvelope.js +28 -0
  176. package/lib/chain/seenCache/seenExecutionPayloadEnvelope.js.map +1 -0
  177. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +1 -1
  178. package/lib/chain/seenCache/seenGossipBlockInput.js +3 -3
  179. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  180. package/lib/chain/shufflingCache.d.ts +16 -11
  181. package/lib/chain/shufflingCache.d.ts.map +1 -1
  182. package/lib/chain/shufflingCache.js +47 -41
  183. package/lib/chain/shufflingCache.js.map +1 -1
  184. package/lib/chain/stateCache/fifoBlockStateCache.d.ts +1 -2
  185. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +1 -1
  186. package/lib/chain/stateCache/fifoBlockStateCache.js +4 -4
  187. package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
  188. package/lib/chain/stateCache/index.d.ts +0 -2
  189. package/lib/chain/stateCache/index.d.ts.map +1 -1
  190. package/lib/chain/stateCache/index.js +0 -2
  191. package/lib/chain/stateCache/index.js.map +1 -1
  192. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +7 -7
  193. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +1 -1
  194. package/lib/chain/stateCache/persistentCheckpointsCache.js +20 -17
  195. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  196. package/lib/chain/stateCache/types.d.ts +5 -6
  197. package/lib/chain/stateCache/types.d.ts.map +1 -1
  198. package/lib/chain/stateCache/types.js.map +1 -1
  199. package/lib/chain/validation/aggregateAndProof.js +35 -14
  200. package/lib/chain/validation/aggregateAndProof.js.map +1 -1
  201. package/lib/chain/validation/attestation.d.ts +2 -2
  202. package/lib/chain/validation/attestation.d.ts.map +1 -1
  203. package/lib/chain/validation/attestation.js +28 -9
  204. package/lib/chain/validation/attestation.js.map +1 -1
  205. package/lib/chain/validation/attesterSlashing.d.ts.map +1 -1
  206. package/lib/chain/validation/attesterSlashing.js +2 -2
  207. package/lib/chain/validation/attesterSlashing.js.map +1 -1
  208. package/lib/chain/validation/blobSidecar.d.ts.map +1 -1
  209. package/lib/chain/validation/blobSidecar.js +5 -5
  210. package/lib/chain/validation/blobSidecar.js.map +1 -1
  211. package/lib/chain/validation/block.d.ts.map +1 -1
  212. package/lib/chain/validation/block.js +8 -6
  213. package/lib/chain/validation/block.js.map +1 -1
  214. package/lib/chain/validation/blsToExecutionChange.d.ts.map +1 -1
  215. package/lib/chain/validation/blsToExecutionChange.js +9 -2
  216. package/lib/chain/validation/blsToExecutionChange.js.map +1 -1
  217. package/lib/chain/validation/dataColumnSidecar.d.ts.map +1 -1
  218. package/lib/chain/validation/dataColumnSidecar.js +5 -5
  219. package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
  220. package/lib/chain/validation/executionPayloadBid.d.ts +5 -0
  221. package/lib/chain/validation/executionPayloadBid.d.ts.map +1 -0
  222. package/lib/chain/validation/executionPayloadBid.js +104 -0
  223. package/lib/chain/validation/executionPayloadBid.js.map +1 -0
  224. package/lib/chain/validation/executionPayloadEnvelope.d.ts +5 -0
  225. package/lib/chain/validation/executionPayloadEnvelope.d.ts.map +1 -0
  226. package/lib/chain/validation/executionPayloadEnvelope.js +89 -0
  227. package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -0
  228. package/lib/chain/validation/payloadAttestationMessage.d.ts +9 -0
  229. package/lib/chain/validation/payloadAttestationMessage.d.ts.map +1 -0
  230. package/lib/chain/validation/payloadAttestationMessage.js +72 -0
  231. package/lib/chain/validation/payloadAttestationMessage.js.map +1 -0
  232. package/lib/chain/validation/proposerSlashing.js +3 -2
  233. package/lib/chain/validation/proposerSlashing.js.map +1 -1
  234. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts +2 -3
  235. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts.map +1 -1
  236. package/lib/chain/validation/signatureSets/aggregateAndProof.js +8 -3
  237. package/lib/chain/validation/signatureSets/aggregateAndProof.js.map +1 -1
  238. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts +2 -2
  239. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +1 -1
  240. package/lib/chain/validation/signatureSets/contributionAndProof.js +3 -3
  241. package/lib/chain/validation/signatureSets/contributionAndProof.js.map +1 -1
  242. package/lib/chain/validation/signatureSets/selectionProof.d.ts +2 -3
  243. package/lib/chain/validation/signatureSets/selectionProof.d.ts.map +1 -1
  244. package/lib/chain/validation/signatureSets/selectionProof.js +8 -3
  245. package/lib/chain/validation/signatureSets/selectionProof.js.map +1 -1
  246. package/lib/chain/validation/signatureSets/syncCommittee.d.ts +2 -2
  247. package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +1 -1
  248. package/lib/chain/validation/signatureSets/syncCommittee.js +3 -3
  249. package/lib/chain/validation/signatureSets/syncCommittee.js.map +1 -1
  250. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts +1 -2
  251. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +1 -1
  252. package/lib/chain/validation/signatureSets/syncCommitteeContribution.js +2 -2
  253. package/lib/chain/validation/signatureSets/syncCommitteeContribution.js.map +1 -1
  254. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts +2 -2
  255. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +1 -1
  256. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js +3 -3
  257. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js.map +1 -1
  258. package/lib/chain/validation/syncCommittee.js +1 -1
  259. package/lib/chain/validation/syncCommittee.js.map +1 -1
  260. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +1 -1
  261. package/lib/chain/validation/syncCommitteeContributionAndProof.js +3 -5
  262. package/lib/chain/validation/syncCommitteeContributionAndProof.js.map +1 -1
  263. package/lib/chain/validation/voluntaryExit.js +1 -1
  264. package/lib/chain/validation/voluntaryExit.js.map +1 -1
  265. package/lib/chain/validatorMonitor.d.ts +2 -0
  266. package/lib/chain/validatorMonitor.d.ts.map +1 -1
  267. package/lib/chain/validatorMonitor.js +49 -7
  268. package/lib/chain/validatorMonitor.js.map +1 -1
  269. package/lib/db/repositories/checkpointState.d.ts +2 -6
  270. package/lib/db/repositories/checkpointState.d.ts.map +1 -1
  271. package/lib/db/repositories/checkpointState.js +3 -16
  272. package/lib/db/repositories/checkpointState.js.map +1 -1
  273. package/lib/db/repositories/stateArchive.d.ts +9 -9
  274. package/lib/db/repositories/stateArchive.d.ts.map +1 -1
  275. package/lib/db/repositories/stateArchive.js +6 -21
  276. package/lib/db/repositories/stateArchive.js.map +1 -1
  277. package/lib/execution/engine/mock.d.ts +9 -6
  278. package/lib/execution/engine/mock.d.ts.map +1 -1
  279. package/lib/execution/engine/mock.js +34 -7
  280. package/lib/execution/engine/mock.js.map +1 -1
  281. package/lib/index.d.ts +1 -1
  282. package/lib/index.d.ts.map +1 -1
  283. package/lib/index.js +1 -1
  284. package/lib/index.js.map +1 -1
  285. package/lib/metrics/metrics/lodestar.d.ts +28 -6
  286. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  287. package/lib/metrics/metrics/lodestar.js +67 -17
  288. package/lib/metrics/metrics/lodestar.js.map +1 -1
  289. package/lib/network/core/networkCore.d.ts +3 -0
  290. package/lib/network/core/networkCore.d.ts.map +1 -1
  291. package/lib/network/core/networkCore.js +9 -0
  292. package/lib/network/core/networkCore.js.map +1 -1
  293. package/lib/network/core/networkCoreWorker.js +3 -0
  294. package/lib/network/core/networkCoreWorker.js.map +1 -1
  295. package/lib/network/core/networkCoreWorkerHandler.d.ts +3 -0
  296. package/lib/network/core/networkCoreWorkerHandler.d.ts.map +1 -1
  297. package/lib/network/core/networkCoreWorkerHandler.js +9 -0
  298. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  299. package/lib/network/core/types.d.ts +3 -0
  300. package/lib/network/core/types.d.ts.map +1 -1
  301. package/lib/network/gossip/gossipsub.d.ts +34 -0
  302. package/lib/network/gossip/gossipsub.d.ts.map +1 -1
  303. package/lib/network/gossip/gossipsub.js +123 -0
  304. package/lib/network/gossip/gossipsub.js.map +1 -1
  305. package/lib/network/gossip/interface.d.ts +20 -2
  306. package/lib/network/gossip/interface.d.ts.map +1 -1
  307. package/lib/network/gossip/interface.js +3 -0
  308. package/lib/network/gossip/interface.js.map +1 -1
  309. package/lib/network/gossip/scoringParameters.d.ts.map +1 -1
  310. package/lib/network/gossip/scoringParameters.js +38 -2
  311. package/lib/network/gossip/scoringParameters.js.map +1 -1
  312. package/lib/network/gossip/topic.d.ts +77 -1
  313. package/lib/network/gossip/topic.d.ts.map +1 -1
  314. package/lib/network/gossip/topic.js +20 -0
  315. package/lib/network/gossip/topic.js.map +1 -1
  316. package/lib/network/network.d.ts +3 -0
  317. package/lib/network/network.d.ts.map +1 -1
  318. package/lib/network/network.js +9 -0
  319. package/lib/network/network.js.map +1 -1
  320. package/lib/network/options.d.ts +6 -0
  321. package/lib/network/options.d.ts.map +1 -1
  322. package/lib/network/options.js.map +1 -1
  323. package/lib/network/peers/peerManager.d.ts.map +1 -1
  324. package/lib/network/peers/peerManager.js +9 -0
  325. package/lib/network/peers/peerManager.js.map +1 -1
  326. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  327. package/lib/network/processor/gossipHandlers.js +35 -4
  328. package/lib/network/processor/gossipHandlers.js.map +1 -1
  329. package/lib/network/processor/gossipQueues/index.d.ts.map +1 -1
  330. package/lib/network/processor/gossipQueues/index.js +16 -0
  331. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  332. package/lib/network/processor/index.d.ts.map +1 -1
  333. package/lib/network/processor/index.js +3 -0
  334. package/lib/network/processor/index.js.map +1 -1
  335. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +1 -1
  336. package/lib/network/reqresp/handlers/beaconBlocksByRange.js +2 -4
  337. package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
  338. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts +1 -2
  339. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts.map +1 -1
  340. package/lib/network/reqresp/handlers/beaconBlocksByRoot.js +5 -26
  341. package/lib/network/reqresp/handlers/beaconBlocksByRoot.js.map +1 -1
  342. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts +1 -2
  343. package/lib/network/reqresp/handlers/blobSidecarsByRoot.d.ts.map +1 -1
  344. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js +5 -7
  345. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +1 -1
  346. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +1 -1
  347. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +1 -2
  348. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -1
  349. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +1 -1
  350. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js +1 -5
  351. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -1
  352. package/lib/network/reqresp/handlers/index.js +2 -2
  353. package/lib/network/reqresp/handlers/index.js.map +1 -1
  354. package/lib/network/reqresp/utils/dataColumnResponseValidation.js +1 -1
  355. package/lib/network/reqresp/utils/dataColumnResponseValidation.js.map +1 -1
  356. package/lib/node/nodejs.d.ts.map +1 -1
  357. package/lib/node/nodejs.js +17 -2
  358. package/lib/node/nodejs.js.map +1 -1
  359. package/lib/sync/backfill/backfill.d.ts.map +1 -1
  360. package/lib/sync/backfill/backfill.js +3 -4
  361. package/lib/sync/backfill/backfill.js.map +1 -1
  362. package/lib/sync/backfill/verify.d.ts +1 -2
  363. package/lib/sync/backfill/verify.d.ts.map +1 -1
  364. package/lib/sync/backfill/verify.js +2 -2
  365. package/lib/sync/backfill/verify.js.map +1 -1
  366. package/lib/sync/range/chain.d.ts.map +1 -1
  367. package/lib/sync/range/chain.js +0 -1
  368. package/lib/sync/range/chain.js.map +1 -1
  369. package/lib/sync/range/range.d.ts.map +1 -1
  370. package/lib/sync/range/range.js +0 -3
  371. package/lib/sync/range/range.js.map +1 -1
  372. package/lib/sync/unknownBlock.d.ts.map +1 -1
  373. package/lib/sync/unknownBlock.js +0 -3
  374. package/lib/sync/unknownBlock.js.map +1 -1
  375. package/lib/sync/utils/downloadByRange.d.ts.map +1 -1
  376. package/lib/sync/utils/downloadByRange.js +2 -2
  377. package/lib/sync/utils/downloadByRange.js.map +1 -1
  378. package/lib/sync/utils/downloadByRoot.d.ts.map +1 -1
  379. package/lib/sync/utils/downloadByRoot.js +1 -2
  380. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  381. package/lib/util/sszBytes.js +1 -1
  382. package/lib/util/sszBytes.js.map +1 -1
  383. package/package.json +16 -16
  384. package/src/api/impl/beacon/blocks/index.ts +39 -37
  385. package/src/api/impl/beacon/state/utils.ts +2 -22
  386. package/src/api/impl/config/constants.ts +8 -0
  387. package/src/api/impl/debug/index.ts +2 -6
  388. package/src/api/impl/lodestar/index.ts +36 -4
  389. package/src/api/impl/proof/index.ts +1 -2
  390. package/src/api/impl/validator/index.ts +15 -15
  391. package/src/api/rest/base.ts +4 -4
  392. package/src/chain/ColumnReconstructionTracker.ts +8 -4
  393. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +7 -4
  394. package/src/chain/archiveStore/utils/archiveBlocks.ts +25 -14
  395. package/src/chain/blocks/blockInput/blockInput.ts +55 -4
  396. package/src/chain/blocks/importBlock.ts +16 -10
  397. package/src/chain/blocks/index.ts +0 -19
  398. package/src/chain/blocks/types.ts +0 -2
  399. package/src/chain/blocks/verifyBlock.ts +9 -12
  400. package/src/chain/blocks/verifyBlocksSignatures.ts +4 -12
  401. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +2 -2
  402. package/src/chain/blocks/writeBlockInputToDb.ts +33 -30
  403. package/src/chain/bls/multithread/index.ts +7 -4
  404. package/src/chain/bls/multithread/jobItem.ts +7 -3
  405. package/src/chain/bls/singleThread.ts +5 -3
  406. package/src/chain/bls/utils.ts +15 -7
  407. package/src/chain/chain.ts +247 -65
  408. package/src/chain/errors/attestationError.ts +11 -1
  409. package/src/chain/errors/executionPayloadBid.ts +35 -0
  410. package/src/chain/errors/executionPayloadEnvelope.ts +34 -0
  411. package/src/chain/errors/index.ts +3 -0
  412. package/src/chain/errors/payloadAttestation.ts +25 -0
  413. package/src/chain/forkChoice/index.ts +19 -0
  414. package/src/chain/initState.ts +7 -5
  415. package/src/chain/interface.ts +34 -3
  416. package/src/chain/lightClient/index.ts +1 -2
  417. package/src/chain/lightClient/proofs.ts +0 -2
  418. package/src/chain/opPools/aggregatedAttestationPool.ts +19 -191
  419. package/src/chain/opPools/executionPayloadBidPool.ts +77 -0
  420. package/src/chain/opPools/index.ts +2 -0
  421. package/src/chain/opPools/opPool.ts +5 -7
  422. package/src/chain/opPools/payloadAttestationPool.ts +157 -0
  423. package/src/chain/options.ts +0 -2
  424. package/src/chain/prepareNextSlot.ts +8 -12
  425. package/src/chain/produceBlock/produceBlockBody.ts +13 -6
  426. package/src/chain/regen/interface.ts +4 -18
  427. package/src/chain/regen/queued.ts +17 -57
  428. package/src/chain/regen/regen.ts +22 -43
  429. package/src/chain/seenCache/index.ts +3 -1
  430. package/src/chain/seenCache/seenAttesters.ts +5 -0
  431. package/src/chain/seenCache/seenExecutionPayloadBids.ts +35 -0
  432. package/src/chain/seenCache/seenExecutionPayloadEnvelope.ts +34 -0
  433. package/src/chain/seenCache/seenGossipBlockInput.ts +3 -3
  434. package/src/chain/shufflingCache.ts +67 -50
  435. package/src/chain/stateCache/fifoBlockStateCache.ts +4 -5
  436. package/src/chain/stateCache/index.ts +0 -2
  437. package/src/chain/stateCache/persistentCheckpointsCache.ts +23 -27
  438. package/src/chain/stateCache/types.ts +5 -10
  439. package/src/chain/validation/aggregateAndProof.ts +36 -14
  440. package/src/chain/validation/attestation.ts +36 -19
  441. package/src/chain/validation/attesterSlashing.ts +9 -7
  442. package/src/chain/validation/blobSidecar.ts +4 -9
  443. package/src/chain/validation/block.ts +9 -6
  444. package/src/chain/validation/blsToExecutionChange.ts +9 -7
  445. package/src/chain/validation/dataColumnSidecar.ts +4 -9
  446. package/src/chain/validation/executionPayloadBid.ts +141 -0
  447. package/src/chain/validation/executionPayloadEnvelope.ts +122 -0
  448. package/src/chain/validation/payloadAttestationMessage.ts +109 -0
  449. package/src/chain/validation/proposerSlashing.ts +3 -7
  450. package/src/chain/validation/signatureSets/aggregateAndProof.ts +9 -14
  451. package/src/chain/validation/signatureSets/contributionAndProof.ts +2 -4
  452. package/src/chain/validation/signatureSets/selectionProof.ts +9 -9
  453. package/src/chain/validation/signatureSets/syncCommittee.ts +2 -4
  454. package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +2 -3
  455. package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +2 -4
  456. package/src/chain/validation/syncCommittee.ts +1 -1
  457. package/src/chain/validation/syncCommitteeContributionAndProof.ts +3 -5
  458. package/src/chain/validation/voluntaryExit.ts +1 -1
  459. package/src/chain/validatorMonitor.ts +62 -8
  460. package/src/db/repositories/checkpointState.ts +3 -19
  461. package/src/db/repositories/stateArchive.ts +13 -27
  462. package/src/execution/engine/mock.ts +40 -13
  463. package/src/index.ts +1 -1
  464. package/src/metrics/metrics/lodestar.ts +68 -17
  465. package/src/network/core/networkCore.ts +12 -0
  466. package/src/network/core/networkCoreWorker.ts +3 -0
  467. package/src/network/core/networkCoreWorkerHandler.ts +9 -0
  468. package/src/network/core/types.ts +6 -0
  469. package/src/network/gossip/gossipsub.ts +147 -1
  470. package/src/network/gossip/interface.ts +17 -0
  471. package/src/network/gossip/scoringParameters.ts +44 -2
  472. package/src/network/gossip/topic.ts +21 -0
  473. package/src/network/network.ts +12 -0
  474. package/src/network/options.ts +6 -0
  475. package/src/network/peers/peerManager.ts +11 -0
  476. package/src/network/processor/gossipHandlers.ts +49 -4
  477. package/src/network/processor/gossipQueues/index.ts +16 -0
  478. package/src/network/processor/index.ts +3 -0
  479. package/src/network/reqresp/handlers/beaconBlocksByRange.ts +2 -4
  480. package/src/network/reqresp/handlers/beaconBlocksByRoot.ts +5 -32
  481. package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +5 -9
  482. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +5 -2
  483. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +1 -5
  484. package/src/network/reqresp/handlers/index.ts +2 -2
  485. package/src/network/reqresp/utils/dataColumnResponseValidation.ts +1 -1
  486. package/src/node/nodejs.ts +18 -3
  487. package/src/sync/backfill/backfill.ts +3 -4
  488. package/src/sync/backfill/verify.ts +2 -3
  489. package/src/sync/range/chain.ts +0 -1
  490. package/src/sync/range/range.ts +0 -3
  491. package/src/sync/unknownBlock.ts +0 -3
  492. package/src/sync/utils/downloadByRange.ts +2 -2
  493. package/src/sync/utils/downloadByRoot.ts +1 -2
  494. package/src/util/sszBytes.ts +1 -1
  495. package/lib/chain/stateCache/blockStateCacheImpl.d.ts +0 -55
  496. package/lib/chain/stateCache/blockStateCacheImpl.d.ts.map +0 -1
  497. package/lib/chain/stateCache/blockStateCacheImpl.js +0 -130
  498. package/lib/chain/stateCache/blockStateCacheImpl.js.map +0 -1
  499. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts +0 -61
  500. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts.map +0 -1
  501. package/lib/chain/stateCache/inMemoryCheckpointsCache.js +0 -157
  502. package/lib/chain/stateCache/inMemoryCheckpointsCache.js.map +0 -1
  503. package/lib/util/bytes.d.ts +0 -3
  504. package/lib/util/bytes.d.ts.map +0 -1
  505. package/lib/util/bytes.js +0 -11
  506. package/lib/util/bytes.js.map +0 -1
  507. package/src/chain/stateCache/blockStateCacheImpl.ts +0 -150
  508. package/src/chain/stateCache/inMemoryCheckpointsCache.ts +0 -198
  509. package/src/util/bytes.ts +0 -11
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/proof/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,SAAS,EAAE,WAAW,EAAC,MAAM,mCAAmC,CAAC;AAG5F,OAAO,EAAC,SAAS,EAAC,MAAM,4BAA4B,CAAC;AAErD,OAAO,EAAC,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAC,yBAAyB,EAAC,MAAM,0BAA0B,CAAC;AAGnE,MAAM,UAAU,WAAW,CACzB,IAAgB,EAChB,EAAC,KAAK,EAAE,MAAM,EAA8C;IAE5D,8FAA8F;IAC9F,gEAAgE;IAChE,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,IAAI,GAAG,CAAC;IAE1D,OAAO;QACL,KAAK,CAAC,aAAa,CAAC,EAAC,OAAO,EAAE,UAAU,EAAC;YACvC,kEAAkE;YAClE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,kBAAkB,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAE5D,MAAM,KAAK,GACT,GAAG,CAAC,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;YAEzG,4GAA4G;YAC5G,KAAK,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;YAE7B,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,EAAE,EAAC,IAAI,EAAE,SAAS,CAAC,YAAY,EAAE,UAAU,EAAC,CAAC,CAAC;YAEjF,OAAO;gBACL,IAAI,EAAE,KAA0B;gBAChC,IAAI,EAAE,EAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC;aAChD,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,EAAC,OAAO,EAAE,UAAU,EAAC;YACvC,kEAAkE;YAClE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,kBAAkB,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,CAAC;YAED,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAEvD,4GAA4G;YAC5G,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;YAEjG,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,EAAE,EAAC,IAAI,EAAE,SAAS,CAAC,YAAY,EAAE,UAAU,EAAC,CAAC,CAAC;YAEjF,OAAO;gBACL,IAAI,EAAE,KAA0B;gBAChC,IAAI,EAAE,EAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAC;aACxD,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/proof/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,SAAS,EAAE,WAAW,EAAC,MAAM,mCAAmC,CAAC;AAG5F,OAAO,EAAC,SAAS,EAAC,MAAM,4BAA4B,CAAC;AAErD,OAAO,EAAC,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAC,yBAAyB,EAAC,MAAM,0BAA0B,CAAC;AAGnE,MAAM,UAAU,WAAW,CACzB,IAAgB,EAChB,EAAC,KAAK,EAAE,MAAM,EAA8C;IAE5D,8FAA8F;IAC9F,gEAAgE;IAChE,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,IAAI,GAAG,CAAC;IAE1D,OAAO;QACL,KAAK,CAAC,aAAa,CAAC,EAAC,OAAO,EAAE,UAAU,EAAC;YACvC,kEAAkE;YAClE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,kBAAkB,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAE5D,MAAM,KAAK,GACT,GAAG,CAAC,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;YAEzG,8EAA8E;YAC9E,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;YAE7B,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,EAAE,EAAC,IAAI,EAAE,SAAS,CAAC,YAAY,EAAE,UAAU,EAAC,CAAC,CAAC;YAEjF,OAAO;gBACL,IAAI,EAAE,KAA0B;gBAChC,IAAI,EAAE,EAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC;aAChD,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,EAAC,OAAO,EAAE,UAAU,EAAC;YACvC,kEAAkE;YAClE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,kBAAkB,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,CAAC;YAED,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAEvD,4GAA4G;YAC5G,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;YAEjG,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,EAAE,EAAC,IAAI,EAAE,SAAS,CAAC,YAAY,EAAE,UAAU,EAAC,CAAC,CAAC;YAEjF,OAAO;gBACL,IAAI,EAAE,KAA0B;gBAChC,IAAI,EAAE,EAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAC;aACxD,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/impl/validator/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AA8BxD,OAAO,EAQL,mBAAmB,EASpB,MAAM,iBAAiB,CAAC;AAmCzB,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAGvC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAC;AA8BvC;;GAEG;AACH,oBAAY,0BAA0B;IACpC,eAAe,qBAAqB;IACpC,YAAY,kBAAkB;IAC9B,cAAc,oBAAoB;IAClC,cAAc,oBAAoB;IAClC,YAAY,mBAAmB;IAC/B,iBAAiB,uBAAuB;IACxC,UAAU,gBAAgB;IAC1B,eAAe,qBAAqB;CACrC;AAED;;GAEG;AACH,oBAAY,2BAA2B;IACrC,cAAc,oBAAoB;IAClC,WAAW,iBAAiB;IAC5B,aAAa,mBAAmB;IAChC,UAAU,gBAAgB;IAC1B,gBAAgB,sBAAsB;CACvC;AAED,MAAM,MAAM,oBAAoB,GAC5B;IACE,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC;IACnC,MAAM,EAAE,0BAA0B,CAAC;CACpC,GACD;IACE,MAAM,EAAE,mBAAmB,CAAC,OAAO,CAAC;IACpC,MAAM,EAAE,2BAA2B,CAAC;CACrC,CAAC;AAEN;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,UAAU,EAChB,EAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,EAAE,UAAU,GAC1D,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAg1ChD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/impl/validator/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AA8BxD,OAAO,EAQL,mBAAmB,EASpB,MAAM,iBAAiB,CAAC;AAoCzB,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAGvC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAC;AA8BvC;;GAEG;AACH,oBAAY,0BAA0B;IACpC,eAAe,qBAAqB;IACpC,YAAY,kBAAkB;IAC9B,cAAc,oBAAoB;IAClC,cAAc,oBAAoB;IAClC,YAAY,mBAAmB;IAC/B,iBAAiB,uBAAuB;IACxC,UAAU,gBAAgB;IAC1B,eAAe,qBAAqB;CACrC;AAED;;GAEG;AACH,oBAAY,2BAA2B;IACrC,cAAc,oBAAoB;IAClC,WAAW,iBAAiB;IAC5B,aAAa,mBAAmB;IAChC,UAAU,gBAAgB;IAC1B,gBAAgB,sBAAsB;CACvC;AAED,MAAM,MAAM,oBAAoB,GAC5B;IACE,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC;IACnC,MAAM,EAAE,0BAA0B,CAAC;CACpC,GACD;IACE,MAAM,EAAE,mBAAmB,CAAC,OAAO,CAAC;IACpC,MAAM,EAAE,2BAA2B,CAAC;CACrC,CAAC;AAEN;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,UAAU,EAChB,EAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,EAAE,UAAU,GAC1D,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CA+0ChD"}
@@ -279,7 +279,7 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
279
279
  }
280
280
  async function produceBuilderBlindedBlock(slot, randaoReveal, graffiti,
281
281
  // as of now fee recipient checks can not be performed because builder does not return bid recipient
282
- { commonBlockBodyPromise, parentBlockRoot, }) {
282
+ { commonBlockBodyPromise, parentBlock, }) {
283
283
  const version = config.getForkName(slot);
284
284
  if (!isForkPostBellatrix(version)) {
285
285
  throw Error(`Invalid fork=${version} for produceBuilderBlindedBlock`);
@@ -304,7 +304,7 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
304
304
  timer = metrics?.blockProductionTime.startTimer();
305
305
  const { block, executionPayloadValue, consensusBlockValue } = await chain.produceBlindedBlock({
306
306
  slot,
307
- parentBlockRoot,
307
+ parentBlock,
308
308
  randaoReveal,
309
309
  graffiti,
310
310
  commonBlockBodyPromise,
@@ -329,7 +329,7 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
329
329
  timer({ source });
330
330
  }
331
331
  }
332
- async function produceEngineBlockContents(slot, randaoReveal, graffiti, { feeRecipient, strictFeeRecipientCheck, commonBlockBodyPromise, parentBlockRoot, }) {
332
+ async function produceEngineBlockContents(slot, randaoReveal, graffiti, { feeRecipient, strictFeeRecipientCheck, commonBlockBodyPromise, parentBlock, }) {
333
333
  const source = ProducedBlockSource.engine;
334
334
  metrics?.blockProductionRequests.inc({ source });
335
335
  let timer;
@@ -337,7 +337,7 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
337
337
  timer = metrics?.blockProductionTime.startTimer();
338
338
  const { block, executionPayloadValue, consensusBlockValue, shouldOverrideBuilder } = await chain.produceBlock({
339
339
  slot,
340
- parentBlockRoot,
340
+ parentBlock,
341
341
  randaoReveal,
342
342
  graffiti,
343
343
  feeRecipient,
@@ -400,7 +400,8 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
400
400
  _skipRandaoVerification, builderBoostFactor, { feeRecipient, builderSelection, strictFeeRecipientCheck } = {}) {
401
401
  notWhileSyncing();
402
402
  await waitForSlot(slot); // Must never request for a future slot > currentSlot
403
- const { blockRoot: parentBlockRootHex, slot: parentSlot } = chain.getProposerHead(slot);
403
+ const parentBlock = chain.getProposerHead(slot);
404
+ const { blockRoot: parentBlockRootHex, slot: parentSlot } = parentBlock;
404
405
  const parentBlockRoot = fromHex(parentBlockRootHex);
405
406
  notOnOutOfRangeData(parentBlockRoot);
406
407
  metrics?.blockProductionSlotDelta.set(slot - parentSlot);
@@ -454,7 +455,7 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
454
455
  // can't do fee recipient checks as builder bid doesn't return feeRecipient as of now
455
456
  strictFeeRecipientCheck: false,
456
457
  commonBlockBodyPromise,
457
- parentBlockRoot,
458
+ parentBlock,
458
459
  })
459
460
  : Promise.reject(new Error("Builder disabled"));
460
461
  const enginePromise = isEngineEnabled
@@ -462,7 +463,7 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
462
463
  feeRecipient,
463
464
  strictFeeRecipientCheck,
464
465
  commonBlockBodyPromise,
465
- parentBlockRoot,
466
+ parentBlock,
466
467
  }).then((engineBlock) => {
467
468
  // Once the engine returns a block, in the event of either:
468
469
  // - suspected builder censorship
@@ -497,7 +498,7 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
497
498
  chain
498
499
  .produceCommonBlockBody({
499
500
  slot,
500
- parentBlockRoot,
501
+ parentBlock,
501
502
  randaoReveal,
502
503
  graffiti: graffitiBytes,
503
504
  })
@@ -778,9 +779,7 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
778
779
  }
779
780
  else {
780
781
  const res = await getStateResponseWithRegen(chain, startSlot);
781
- const stateViewDU = res.state instanceof Uint8Array
782
- ? loadState(config, chain.getHeadState(), res.state).state
783
- : res.state.clone();
782
+ const stateViewDU = res.state instanceof Uint8Array ? loadState(config, chain.getHeadState(), res.state).state : res.state;
784
783
  state = createCachedBeaconState(stateViewDU, {
785
784
  config: chain.config,
786
785
  // Not required to compute proposers
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/validator/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/validator/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/api/rest/base.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,eAAe,EAAsC,MAAM,SAAS,CAAC;AAG7E,OAAO,EAAe,KAAK,EAAE,SAAS,EAAE,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAGvE,OAAO,EAA2B,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAE3E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG;IACjD,QAAQ,EAAE,KAAK,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IACvC,YAAY,EAAE,SAAS,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IAC/C,MAAM,EAAE,KAAK,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;CACtC,CAAC;AA2BF;;GAEG;AACH,qBAAa,aAAa;IAMtB,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,iBAAiB;IAL5C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IAC3C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2B;gBAGpC,IAAI,EAAE,iBAAiB,EAC1C,OAAO,EAAE,oBAAoB;IA0G/B;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAe7B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAa5B,oCAAoC;IACpC,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO;CAGlD"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/api/rest/base.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,eAAe,EAAsC,MAAM,SAAS,CAAC;AAG3F,OAAO,EAAe,KAAK,EAAE,SAAS,EAAE,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAGvE,OAAO,EAA2B,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAE3E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG;IACjD,QAAQ,EAAE,KAAK,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IACvC,YAAY,EAAE,SAAS,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IAC/C,MAAM,EAAE,KAAK,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;CACtC,CAAC;AA2BF;;GAEG;AACH,qBAAa,aAAa;IAMtB,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,iBAAiB;IAL5C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IAC3C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2B;gBAGpC,IAAI,EAAE,iBAAiB,EAC1C,OAAO,EAAE,oBAAoB;IA0G/B;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAe7B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAa5B,oCAAoC;IACpC,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO;CAGlD"}
@@ -46,8 +46,8 @@ export class RestApiServer {
46
46
  // To parse our ApiError -> statusCode
47
47
  server.setErrorHandler((err, _req, res) => {
48
48
  const stacktraces = opts.stacktraces ? err.stack?.split("\n") : undefined;
49
- if (err.validation) {
50
- const { instancePath, message } = err.validation[0];
49
+ if ("validation" in err && err.validation) {
50
+ const { instancePath = "unknown", message } = err.validation?.[0] ?? {};
51
51
  const payload = {
52
52
  code: 400,
53
53
  message: `${instancePath.substring(instancePath.lastIndexOf("/") + 1)} ${message}`,
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/api/rest/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/api/rest/base.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAgD,UAAU,EAAE,OAAO,EAAC,MAAM,SAAS,CAAC;AAC3F,OAAO,EAAC,KAAK,IAAI,gBAAgB,EAAC,MAAM,IAAI,CAAC;AAC7C,OAAO,EAAC,uBAAuB,EAAC,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAC,YAAY,EAA2B,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAC,QAAQ,EAAe,YAAY,EAAE,aAAa,EAAC,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAC,wBAAwB,EAAgB,MAAM,oBAAoB,CAAC;AAuC3E;;GAEG;AACH,MAAM,uBAAuB,GAAG,UAAU,CAAC,8BAA8B,EAAE,CAAC,IAAI,CAAC;AAEjF;;GAEG;AACH,MAAM,4BAA4B,GAAG,UAAU,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC;AAE1E;;GAEG;AACH,MAAM,OAAO,aAAa;IAMH;IALF,MAAM,CAAkB;IACxB,MAAM,CAAS;IACjB,aAAa,CAA2B;IAEzD,YACqB,IAAuB,EAC1C,OAA6B;QADV,SAAI,GAAJ,IAAI,CAAmB;QAG1C,sBAAsB;QACtB,MAAM,EAAC,MAAM,EAAE,OAAO,EAAC,GAAG,OAAO,CAAC;QAElC,MAAM,MAAM,GAAG,OAAO,CAAC;YACrB,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,EAAC,aAAa,EAAE,EAAC,WAAW,EAAE,OAAO,EAAC,EAAC;YAC5C,iBAAiB,EAAE,CAAC,GAAG,EAAE,EAAE,CACzB,gBAAgB,CAAC,GAAG,EAAE;gBACpB,iFAAiF;gBACjF,KAAK,EAAE,IAAI;gBACX,mGAAmG;gBACnG,uGAAuG;gBACvG,wGAAwG;gBACxG,WAAW,EAAE,KAAK;aACnB,CAAC;YACJ,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,EAAC,aAAa,EAAE,IAAI,CAAC,WAAW,EAAC;SACxC,CAAC,CAAC;QAEH,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAEhC,IAAI,CAAC,aAAa,GAAG,IAAI,wBAAwB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAE1E,sCAAsC;QACtC,MAAM,CAAC,eAAe,CAAuB,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,IAAI,YAAY,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;gBAC1C,MAAM,EAAC,YAAY,GAAG,SAAS,EAAE,OAAO,EAAC,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACtE,MAAM,OAAO,GAAkB;oBAC7B,IAAI,EAAE,GAAG;oBACT,OAAO,EAAE,GAAG,YAAY,CAAC,SAAS,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,OAAO,EAAE;oBAClF,WAAW;iBACZ,CAAC;gBACF,KAAK,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC;iBAAM,IAAI,GAAG,YAAY,YAAY,EAAE,CAAC;gBACvC,MAAM,OAAO,GAAyB;oBACpC,IAAI,EAAE,GAAG,CAAC,UAAU;oBACpB,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,WAAW;iBACZ,CAAC;gBACF,KAAK,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,+CAA+C;gBAC/C,MAAM,UAAU,GAAG,GAAG,YAAY,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;gBAClE,MAAM,OAAO,GAAkB,EAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,WAAW,EAAC,CAAC;gBACrF,KAAK,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACrC,MAAM,OAAO,GAAG,SAAS,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;YACnE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1B,MAAM,OAAO,GAAkB,EAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAC,CAAC;YACpD,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,KAAK,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,KAAK,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAAC,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAC,CAAC,CAAC;QAC9E,CAAC;QAED,kJAAkJ;QAClJ,mIAAmI;QACnI,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YAC9C,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,WAAW,EAAE,CAAC,CAAC;YAC5D,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAC,WAAW,EAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YAC/C,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,WAAW,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,qBAAqB;QACrB,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YAC9C,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,IAAI,WAAW,MAAM,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;YAC1E,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,EAAC,WAAW,EAAC,EAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YACjD,iFAAiF;YACjF,2GAA2G;YAC3G,IAAI,GAAG,YAAY,YAAY,IAAI,GAAG,YAAY,aAAa;gBAAE,OAAO;YAExE,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;YAExC,IAAI,GAAG,YAAY,QAAQ,IAAI,CAAC,uBAAuB,EAAE,4BAA4B,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1G,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,IAAI,WAAW,SAAS,EAAE,EAAC,MAAM,EAAE,GAAG,CAAC,OAAO,EAAC,CAAC,CAAC;YACjF,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,IAAI,WAAW,QAAQ,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YACnE,CAAC;YACD,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EAAC,WAAW,EAAC,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YAC/B,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;YACvD,MAAM,EAAC,OAAO,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAC,OAAO,EAAE,UAAU,OAAO,IAAI,IAAI,EAAE,EAAC,CAAC,CAAC;YACpF,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;YACjG,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAU,CAAC,CAAC;YAC3E,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,6EAA6E;QAC7E,oFAAoF;QACpF,oFAAoF;QACpF,6FAA6F;QAC7F,wDAAwD;QACxD,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;QAErC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAE1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC9C,CAAC;IAED,oCAAoC;IAC1B,iBAAiB,CAAC,IAAW;QACrC,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED,SAAS,cAAc,CAAC,GAAmB;IACzC,OAAO,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,IAAI,SAAS,CAAC;AAC3D,CAAC"}
@@ -26,6 +26,8 @@ export declare class ColumnReconstructionTracker {
26
26
  lastBlockRootHex: string | null;
27
27
  /** Track if a reconstruction attempt is in-flight */
28
28
  running: boolean;
29
+ private readonly minDelayMs;
30
+ private readonly maxDelayMs;
29
31
  constructor(init: ColumnReconstructionTrackerInit);
30
32
  triggerColumnReconstruction(blockInput: BlockInputColumns): void;
31
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnReconstructionTracker.d.ts","sourceRoot":"","sources":["../../src/chain/ColumnReconstructionTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,MAAM,EAAQ,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAE9C,OAAO,EAAC,iBAAiB,EAAC,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAC,iBAAiB,EAAC,MAAM,cAAc,CAAC;AAY/C,MAAM,MAAM,+BAA+B,GAAG;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,iBAAiB,CAAC;IAC3B,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,eAAe,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,qBAAa,2BAA2B;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,iBAAiB,CAAC;IAC3B,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,eAAe,CAAC;IAExB;;;;;OAKG;IACH,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAQ;IACvC,qDAAqD;IACrD,OAAO,UAAS;gBAEJ,IAAI,EAAE,+BAA+B;IAOjD,2BAA2B,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;CAuCjE"}
1
+ {"version":3,"file":"ColumnReconstructionTracker.d.ts","sourceRoot":"","sources":["../../src/chain/ColumnReconstructionTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,MAAM,EAAQ,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAE9C,OAAO,EAAC,iBAAiB,EAAC,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAC,iBAAiB,EAAC,MAAM,cAAc,CAAC;AAY/C,MAAM,MAAM,+BAA+B,GAAG;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,iBAAiB,CAAC;IAC3B,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,eAAe,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,qBAAa,2BAA2B;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,iBAAiB,CAAC;IAC3B,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,eAAe,CAAC;IAExB;;;;;OAKG;IACH,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAQ;IACvC,qDAAqD;IACrD,OAAO,UAAS;IAEhB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,IAAI,EAAE,+BAA+B;IASjD,2BAA2B,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;CAsCjE"}
@@ -3,11 +3,11 @@ import { DataColumnReconstructionCode, recoverDataColumnSidecars } from "../util
3
3
  /**
4
4
  * Minimum time to wait before attempting reconstruction
5
5
  */
6
- const RECONSTRUCTION_DELAY_MIN_MS = 800;
6
+ const RECONSTRUCTION_DELAY_MIN_BPS = 667;
7
7
  /**
8
8
  * Maximum time to wait before attempting reconstruction
9
9
  */
10
- const RECONSTRUCTION_DELAY_MAX_MS = 1200;
10
+ const RECONSTRUCTION_DELAY_MAX_BPS = 1000;
11
11
  /**
12
12
  * Tracks column reconstruction attempts to avoid duplicate and multiple in-flight calls
13
13
  */
@@ -25,11 +25,15 @@ export class ColumnReconstructionTracker {
25
25
  lastBlockRootHex = null;
26
26
  /** Track if a reconstruction attempt is in-flight */
27
27
  running = false;
28
+ minDelayMs;
29
+ maxDelayMs;
28
30
  constructor(init) {
29
31
  this.logger = init.logger;
30
32
  this.emitter = init.emitter;
31
33
  this.metrics = init.metrics;
32
34
  this.config = init.config;
35
+ this.minDelayMs = this.config.getSlotComponentDurationMs(RECONSTRUCTION_DELAY_MIN_BPS);
36
+ this.maxDelayMs = this.config.getSlotComponentDurationMs(RECONSTRUCTION_DELAY_MAX_BPS);
33
37
  }
34
38
  triggerColumnReconstruction(blockInput) {
35
39
  if (this.running) {
@@ -42,7 +46,7 @@ export class ColumnReconstructionTracker {
42
46
  // just that it has been triggered for this block root.
43
47
  this.running = true;
44
48
  this.lastBlockRootHex = blockInput.blockRootHex;
45
- const delay = RECONSTRUCTION_DELAY_MIN_MS + Math.random() * (RECONSTRUCTION_DELAY_MAX_MS - RECONSTRUCTION_DELAY_MIN_MS);
49
+ const delay = this.minDelayMs + Math.random() * (this.maxDelayMs - this.minDelayMs);
46
50
  sleep(delay)
47
51
  .then(() => {
48
52
  const logCtx = { slot: blockInput.slot, root: blockInput.blockRootHex };
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnReconstructionTracker.js","sourceRoot":"","sources":["../../src/chain/ColumnReconstructionTracker.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAC,4BAA4B,EAAE,yBAAyB,EAAC,MAAM,wBAAwB,CAAC;AAI/F;;GAEG;AACH,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAExC;;GAEG;AACH,MAAM,2BAA2B,GAAG,IAAI,CAAC;AASzC;;GAEG;AACH,MAAM,OAAO,2BAA2B;IACtC,MAAM,CAAS;IACf,OAAO,CAAoB;IAC3B,OAAO,CAAiB;IACxB,MAAM,CAAkB;IAExB;;;;;OAKG;IACH,gBAAgB,GAAkB,IAAI,CAAC;IACvC,qDAAqD;IACrD,OAAO,GAAG,KAAK,CAAC;IAEhB,YAAY,IAAqC;QAC/C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,2BAA2B,CAAC,UAA6B;QACvD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,gBAAgB,KAAK,UAAU,CAAC,YAAY,EAAE,CAAC;YACtD,OAAO;QACT,CAAC;QAED,gDAAgD;QAChD,uDAAuD;QACvD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,YAAY,CAAC;QAChD,MAAM,KAAK,GACT,2BAA2B,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,2BAA2B,GAAG,2BAA2B,CAAC,CAAC;QAC5G,KAAK,CAAC,KAAK,CAAC;aACT,IAAI,CAAC,GAAG,EAAE;YACT,MAAM,MAAM,GAAG,EAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,YAAY,EAAC,CAAC;YACtE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE,MAAM,CAAC,CAAC;YAC3E,yBAAyB,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;iBAC9D,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBACf,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAC,MAAM,EAAC,CAAC,CAAC;gBAC3E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE,EAAC,GAAG,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;YACxF,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBACX,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,oBAAoB,CAAC,GAAG,CAAC;oBAC/D,MAAM,EAAE,4BAA4B,CAAC,MAAM;iBAC5C,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,EAAE,MAAM,EAAE,CAAU,CAAC,CAAC;YAC3F,CAAC,CAAC;iBACD,OAAO,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,EAAE,MAAM,CAAC,CAAC;gBACjF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;IACP,CAAC;CACF"}
1
+ {"version":3,"file":"ColumnReconstructionTracker.js","sourceRoot":"","sources":["../../src/chain/ColumnReconstructionTracker.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getHistoricalState.d.ts","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/getHistoricalState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EAK1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAC,2BAA2B,EAAC,MAAM,cAAc,CAAC;AAGzD;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,cAAc,GAAG,IAAI,CAS9F;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,EACpB,EAAE,EAAE,SAAS,EACb,YAAY,EAAE,cAAc,GAC3B,OAAO,CAAC,yBAAyB,CAAC,CAoBpC;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,EACpB,EAAE,EAAE,SAAS,EACb,YAAY,EAAE,cAAc,EAC5B,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,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EAK1B,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,YAAY,EAAE,cAAc,GAAG,IAAI,CAS9F;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,EACpB,EAAE,EAAE,SAAS,EACb,YAAY,EAAE,cAAc,GAC3B,OAAO,CAAC,yBAAyB,CAAC,CAqBpC;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,EACpB,EAAE,EAAE,SAAS,EACb,YAAY,EAAE,cAAc,EAC5B,OAAO,CAAC,EAAE,2BAA2B,GACpC,OAAO,CAAC,UAAU,CAAC,CAgDrB"}
@@ -1,4 +1,6 @@
1
1
  import { DataAvailabilityStatus, ExecutionPayloadStatus, createCachedBeaconState, stateTransition, } from "@lodestar/state-transition";
2
+ import { byteArrayEquals } from "@lodestar/utils";
3
+ import { getStateTypeFromBytes } from "../../../util/multifork.js";
2
4
  import { RegenErrorType } from "./types.js";
3
5
  /**
4
6
  * Populate a PubkeyIndexMap with any new entries based on a BeaconState
@@ -16,11 +18,12 @@ export function syncPubkeyCache(state, pubkey2index) {
16
18
  * Get the nearest BeaconState at or before a slot
17
19
  */
18
20
  export async function getNearestState(slot, config, db, pubkey2index) {
19
- const states = await db.stateArchive.values({ limit: 1, lte: slot, reverse: true });
20
- if (!states.length) {
21
+ const stateBytesArr = await db.stateArchive.binaries({ limit: 1, lte: slot, reverse: true });
22
+ if (!stateBytesArr.length) {
21
23
  throw new Error("No near state found in the database");
22
24
  }
23
- const state = states[0];
25
+ const stateBytes = stateBytesArr[0];
26
+ const state = getStateTypeFromBytes(config, stateBytes).deserializeToViewDU(stateBytes);
24
27
  syncPubkeyCache(state, pubkey2index);
25
28
  return createCachedBeaconState(state, {
26
29
  config,
@@ -58,7 +61,7 @@ export async function getHistoricalState(slot, config, db, pubkey2index, metrics
58
61
  throw e;
59
62
  }
60
63
  blockCount++;
61
- if (Buffer.compare(state.hashTreeRoot(), block.message.stateRoot) !== 0) {
64
+ if (!byteArrayEquals(state.hashTreeRoot(), block.message.stateRoot)) {
62
65
  metrics?.regenErrorCount.inc({ reason: RegenErrorType.invalidStateRoot });
63
66
  }
64
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getHistoricalState.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/getHistoricalState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getHistoricalState.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/historicalState/getHistoricalState.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"archiveBlocks.d.ts","sourceRoot":"","sources":["../../../../src/chain/archiveStore/utils/archiveBlocks.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAGlD,OAAO,EAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAC,MAAM,EAAoD,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAI/C,OAAO,EAAC,iBAAiB,EAAC,MAAM,4BAA4B,CAAC;AAS7D,KAAK,aAAa,GAAG;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC,CAAC;AAmBtD;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,eAAe,EACvB,EAAE,EAAE,SAAS,EACb,UAAU,EAAE,WAAW,EACvB,iBAAiB,EAAE,iBAAiB,GAAG,SAAS,EAChD,MAAM,EAAE,MAAM,EACd,mBAAmB,EAAE,aAAa,EAClC,YAAY,EAAE,KAAK,EACnB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,qBAAqB,CAAC,EAAE,OAAO,EAC/B,wBAAwB,CAAC,EAAE,MAAM,GAChC,OAAO,CAAC,IAAI,CAAC,CA8Jf;AAkJD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAE1E;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS;IAAC,IAAI,EAAE,IAAI,CAAA;CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CA+C/E"}
1
+ {"version":3,"file":"archiveBlocks.d.ts","sourceRoot":"","sources":["../../../../src/chain/archiveStore/utils/archiveBlocks.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAGlD,OAAO,EAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAC,MAAM,EAAoD,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAI/C,OAAO,EAAC,iBAAiB,EAAC,MAAM,4BAA4B,CAAC;AAS7D,KAAK,aAAa,GAAG;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC,CAAC;AAmBtD;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,eAAe,EACvB,EAAE,EAAE,SAAS,EACb,UAAU,EAAE,WAAW,EACvB,iBAAiB,EAAE,iBAAiB,GAAG,SAAS,EAChD,MAAM,EAAE,MAAM,EACd,mBAAmB,EAAE,aAAa,EAClC,YAAY,EAAE,KAAK,EACnB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,qBAAqB,CAAC,EAAE,OAAO,EAC/B,wBAAwB,CAAC,EAAE,MAAM,GAChC,OAAO,CAAC,IAAI,CAAC,CAoKf;AAuJD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAE1E;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS;IAAC,IAAI,EAAE,IAAI,CAAA;CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CA+C/E"}
@@ -37,20 +37,22 @@ export async function archiveBlocks(config, db, forkChoice, lightclientServer, l
37
37
  slot: block.slot,
38
38
  root: fromHex(block.blockRoot),
39
39
  }));
40
+ const logCtx = { currentEpoch, finalizedEpoch: finalizedCheckpoint.epoch, finalizedRoot: finalizedCheckpoint.rootHex };
40
41
  if (finalizedCanonicalBlockRoots.length > 0) {
41
42
  await migrateBlocksFromHotToColdDb(db, finalizedCanonicalBlockRoots);
42
43
  logger.verbose("Migrated blocks from hot DB to cold DB", {
44
+ ...logCtx,
43
45
  fromSlot: finalizedCanonicalBlockRoots[0].slot,
44
46
  toSlot: finalizedCanonicalBlockRoots.at(-1)?.slot,
45
47
  size: finalizedCanonicalBlockRoots.length,
46
48
  });
47
49
  if (finalizedPostDeneb) {
48
50
  const migratedEntries = await migrateBlobSidecarsFromHotToColdDb(config, db, finalizedCanonicalBlockRoots, currentEpoch);
49
- logger.verbose("Migrated blobSidecars from hot DB to cold DB", { migratedEntries });
51
+ logger.verbose("Migrated blobSidecars from hot DB to cold DB", { ...logCtx, migratedEntries });
50
52
  }
51
53
  if (finalizedPostFulu) {
52
54
  const migratedEntries = await migrateDataColumnSidecarsFromHotToColdDb(config, db, logger, finalizedCanonicalBlockRoots, currentEpoch);
53
- logger.verbose("Migrated dataColumnSidecars from hot DB to cold DB", { migratedEntries });
55
+ logger.verbose("Migrated dataColumnSidecars from hot DB to cold DB", { ...logCtx, migratedEntries });
54
56
  }
55
57
  }
56
58
  // deleteNonCanonicalBlocks
@@ -62,29 +64,30 @@ export async function archiveBlocks(config, db, forkChoice, lightclientServer, l
62
64
  await Promise.all(nonCanonicalBlockRoots.map(async (root, index) => {
63
65
  const block = finalizedNonCanonicalBlocks[index];
64
66
  const blockBytes = await db.block.getBinary(root);
65
- const logCtx = { slot: block.slot, root: block.blockRoot };
67
+ const blockLogCtx = { slot: block.slot, root: block.blockRoot };
66
68
  if (blockBytes) {
67
69
  await persistOrphanedBlock(block.slot, block.blockRoot, blockBytes, {
68
70
  persistOrphanedBlocksDir: persistOrphanedBlocksDir ?? "orphaned_blocks",
69
71
  });
70
- logger.verbose("Persisted orphaned block", logCtx);
72
+ logger.verbose("Persisted orphaned block", { ...logCtx, ...blockLogCtx });
71
73
  }
72
74
  else {
73
- logger.warn("Tried to persist orphaned block but no block found", logCtx);
75
+ logger.warn("Tried to persist orphaned block but no block found", { ...logCtx, ...blockLogCtx });
74
76
  }
75
77
  }));
76
78
  }
77
79
  await db.block.batchDelete(nonCanonicalBlockRoots);
78
80
  logger.verbose("Deleted non canonical blocks from hot DB", {
81
+ ...logCtx,
79
82
  slots: finalizedNonCanonicalBlocks.map((summary) => summary.slot).join(","),
80
83
  });
81
84
  if (finalizedPostDeneb) {
82
85
  await db.blobSidecars.batchDelete(nonCanonicalBlockRoots);
83
- logger.verbose("Deleted non canonical blobSidecars from hot DB");
86
+ logger.verbose("Deleted non canonical blobSidecars from hot DB", logCtx);
84
87
  }
85
88
  if (finalizedPostFulu) {
86
89
  await db.dataColumnSidecar.deleteMany(nonCanonicalBlockRoots);
87
- logger.verbose("Deleted non canonical dataColumnSidecars from hot DB");
90
+ logger.verbose("Deleted non canonical dataColumnSidecars from hot DB", logCtx);
88
91
  }
89
92
  }
90
93
  // Delete expired blobs
@@ -98,15 +101,15 @@ export async function archiveBlocks(config, db, forkChoice, lightclientServer, l
98
101
  const slotsToDelete = await db.blobSidecarsArchive.keys({ lt: computeStartSlotAtEpoch(blobSidecarsMinEpoch) });
99
102
  if (slotsToDelete.length > 0) {
100
103
  await db.blobSidecarsArchive.batchDelete(slotsToDelete);
101
- logger.verbose(`blobSidecars prune: batchDelete range ${slotsToDelete[0]}..${slotsToDelete.at(-1)}`);
104
+ logger.verbose(`blobSidecars prune: batchDelete range ${slotsToDelete[0]}..${slotsToDelete.at(-1)}`, logCtx);
102
105
  }
103
106
  else {
104
- logger.verbose(`blobSidecars prune: no entries before epoch ${blobSidecarsMinEpoch}`);
107
+ logger.verbose(`blobSidecars prune: no entries before epoch ${blobSidecarsMinEpoch}`, logCtx);
105
108
  }
106
109
  }
107
110
  }
108
111
  else {
109
- logger.verbose("blobSidecars pruning skipped: archiveDataEpochs set to Infinity");
112
+ logger.verbose("blobSidecars pruning skipped: archiveDataEpochs set to Infinity", logCtx);
110
113
  }
111
114
  }
112
115
  // Delete expired data column sidecars
@@ -125,21 +128,22 @@ export async function archiveBlocks(config, db, forkChoice, lightclientServer, l
125
128
  if (slotsToDelete.length > 0) {
126
129
  await db.dataColumnSidecarArchive.deleteMany(slotsToDelete);
127
130
  logger.verbose("dataColumnSidecars prune", {
131
+ ...logCtx,
128
132
  slotRange: prettyPrintIndices(slotsToDelete),
129
133
  numOfSlots: slotsToDelete.length,
130
134
  totalNumOfSidecars: prefixedKeys.length,
131
135
  });
132
136
  }
133
137
  else {
134
- logger.verbose(`dataColumnSidecars prune: no entries before epoch ${dataColumnSidecarsMinEpoch}`);
138
+ logger.verbose(`dataColumnSidecars prune: no entries before epoch ${dataColumnSidecarsMinEpoch}`, logCtx);
135
139
  }
136
140
  }
137
141
  else {
138
- logger.verbose(`dataColumnSidecars pruning skipped: ${dataColumnSidecarsMinEpoch} is before fulu fork epoch ${config.FULU_FORK_EPOCH}`);
142
+ logger.verbose(`dataColumnSidecars pruning skipped: ${dataColumnSidecarsMinEpoch} is before fulu fork epoch ${config.FULU_FORK_EPOCH}`, logCtx);
139
143
  }
140
144
  }
141
145
  else {
142
- logger.verbose("dataColumnSidecars pruning skipped: archiveDataEpochs set to Infinity");
146
+ logger.verbose("dataColumnSidecars pruning skipped: archiveDataEpochs set to Infinity", logCtx);
143
147
  }
144
148
  }
145
149
  // Prunning potential checkpoint data
@@ -152,8 +156,8 @@ export async function archiveBlocks(config, db, forkChoice, lightclientServer, l
152
156
  await lightclientServer.pruneNonCheckpointData(nonCheckpointBlockRoots);
153
157
  }
154
158
  logger.verbose("Archiving of finalized blocks complete", {
159
+ ...logCtx,
155
160
  totalArchived: finalizedCanonicalBlocks.length,
156
- finalizedEpoch: finalizedCheckpoint.epoch,
157
161
  });
158
162
  }
159
163
  async function migrateBlocksFromHotToColdDb(db, blocks) {
@@ -168,6 +172,7 @@ async function migrateBlocksFromHotToColdDb(db, blocks) {
168
172
  return;
169
173
  // load Buffer instead of SignedBeaconBlock to improve performance
170
174
  const canonicalBlockEntries = await Promise.all(canonicalBlocks.map(async (block) => {
175
+ // Here we assume the blocks are already in the hot db
171
176
  const blockBuffer = await db.block.getBinary(block.root);
172
177
  if (!blockBuffer) {
173
178
  throw Error(`Block not found for slot ${block.slot} root ${toRootHex(block.root)}`);
@@ -212,6 +217,8 @@ async function migrateBlobSidecarsFromHotToColdDb(config, db, blocks, currentEpo
212
217
  blockEpoch >= currentEpoch - config.MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS);
213
218
  })
214
219
  .map(async (block) => {
220
+ // Here we assume the blob sidecars are already in the hot db
221
+ // instead of checking first the block input cache
215
222
  const bytes = await db.blobSidecars.getBinary(block.root);
216
223
  if (!bytes) {
217
224
  throw Error(`No blobSidecars found for slot ${block.slot} root ${toRootHex(block.root)}`);
@@ -246,9 +253,11 @@ async function migrateDataColumnSidecarsFromHotToColdDb(config, db, logger, bloc
246
253
  blockEpoch < currentEpoch - config.MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS) {
247
254
  continue;
248
255
  }
256
+ // Here we assume the data column sidecars are already in the hot db
249
257
  const dataColumnSidecarBytes = await fromAsync(db.dataColumnSidecar.valuesStreamBinary(block.root));
250
258
  // there could be 0 dataColumnSidecarBytes if block has no blob
251
259
  logger.verbose("migrateDataColumnSidecarsFromHotToColdDb", {
260
+ currentEpoch,
252
261
  slot: block.slot,
253
262
  root: toRootHex(block.root),
254
263
  numSidecars: dataColumnSidecarBytes.length,