@lodestar/beacon-node 1.35.0-dev.8cacf063da → 1.35.0-dev.8ea34e52ba

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 (379) hide show
  1. package/lib/api/impl/beacon/blocks/index.js +58 -46
  2. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  3. package/lib/api/impl/beacon/pool/index.js +3 -3
  4. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  5. package/lib/api/impl/errors.js +2 -0
  6. package/lib/api/impl/errors.js.map +1 -1
  7. package/lib/api/impl/lodestar/index.js +1 -1
  8. package/lib/api/impl/lodestar/index.js.map +1 -1
  9. package/lib/api/impl/validator/index.js +2 -1
  10. package/lib/api/impl/validator/index.js.map +1 -1
  11. package/lib/api/rest/activeSockets.js +3 -2
  12. package/lib/api/rest/activeSockets.js.map +1 -1
  13. package/lib/api/rest/base.js +4 -0
  14. package/lib/api/rest/base.js.map +1 -1
  15. package/lib/api/rest/index.js +2 -0
  16. package/lib/api/rest/index.js.map +1 -1
  17. package/lib/api/rest/swaggerUI.js +4 -2
  18. package/lib/api/rest/swaggerUI.js.map +1 -1
  19. package/lib/chain/ColumnReconstructionTracker.d.ts +32 -0
  20. package/lib/chain/ColumnReconstructionTracker.js +53 -0
  21. package/lib/chain/ColumnReconstructionTracker.js.map +1 -0
  22. package/lib/chain/GetBlobsTracker.d.ts +31 -0
  23. package/lib/chain/GetBlobsTracker.js +67 -0
  24. package/lib/chain/GetBlobsTracker.js.map +1 -0
  25. package/lib/chain/archiveStore/archiveStore.js +49 -38
  26. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  27. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js +2 -0
  28. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
  29. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js +5 -0
  30. package/lib/chain/archiveStore/strategies/frequencyStateArchiveStrategy.js.map +1 -1
  31. package/lib/chain/balancesCache.js +1 -3
  32. package/lib/chain/balancesCache.js.map +1 -1
  33. package/lib/chain/beaconProposerCache.js +1 -0
  34. package/lib/chain/beaconProposerCache.js.map +1 -1
  35. package/lib/chain/blocks/blockInput/blockInput.d.ts +19 -7
  36. package/lib/chain/blocks/blockInput/blockInput.js +132 -88
  37. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  38. package/lib/chain/blocks/blockInput/types.d.ts +19 -10
  39. package/lib/chain/blocks/blockInput/types.js +1 -0
  40. package/lib/chain/blocks/blockInput/types.js.map +1 -1
  41. package/lib/chain/blocks/blockInput/utils.d.ts +0 -4
  42. package/lib/chain/blocks/blockInput/utils.js +6 -29
  43. package/lib/chain/blocks/blockInput/utils.js.map +1 -1
  44. package/lib/chain/blocks/importBlock.js +16 -12
  45. package/lib/chain/blocks/importBlock.js.map +1 -1
  46. package/lib/chain/blocks/index.d.ts +5 -4
  47. package/lib/chain/blocks/index.js +5 -4
  48. package/lib/chain/blocks/index.js.map +1 -1
  49. package/lib/chain/blocks/types.d.ts +3 -106
  50. package/lib/chain/blocks/types.js +0 -119
  51. package/lib/chain/blocks/types.js.map +1 -1
  52. package/lib/chain/blocks/utils/chainSegment.d.ts +2 -2
  53. package/lib/chain/blocks/utils/chainSegment.js +2 -2
  54. package/lib/chain/blocks/utils/chainSegment.js.map +1 -1
  55. package/lib/chain/blocks/verifyBlock.d.ts +3 -3
  56. package/lib/chain/blocks/verifyBlock.js +15 -14
  57. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  58. package/lib/chain/blocks/verifyBlocksDataAvailability.d.ts +7 -22
  59. package/lib/chain/blocks/verifyBlocksDataAvailability.js +18 -110
  60. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  61. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts +4 -3
  62. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +24 -22
  63. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  64. package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts +4 -3
  65. package/lib/chain/blocks/verifyBlocksSanityChecks.js +2 -2
  66. package/lib/chain/blocks/verifyBlocksSanityChecks.js.map +1 -1
  67. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts +3 -2
  68. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js +2 -2
  69. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js.map +1 -1
  70. package/lib/chain/blocks/writeBlockInputToDb.d.ts +3 -3
  71. package/lib/chain/blocks/writeBlockInputToDb.js +61 -66
  72. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  73. package/lib/chain/bls/multithread/index.js +167 -163
  74. package/lib/chain/bls/multithread/index.js.map +1 -1
  75. package/lib/chain/bls/singleThread.js +1 -0
  76. package/lib/chain/bls/singleThread.js.map +1 -1
  77. package/lib/chain/chain.d.ts +9 -7
  78. package/lib/chain/chain.js +79 -20
  79. package/lib/chain/chain.js.map +1 -1
  80. package/lib/chain/emitter.d.ts +43 -2
  81. package/lib/chain/emitter.js +18 -0
  82. package/lib/chain/emitter.js.map +1 -1
  83. package/lib/chain/errors/blobSidecarError.d.ts +24 -0
  84. package/lib/chain/errors/blobSidecarError.js +10 -0
  85. package/lib/chain/errors/blobSidecarError.js.map +1 -1
  86. package/lib/chain/errors/blockError.js +1 -0
  87. package/lib/chain/errors/blockError.js.map +1 -1
  88. package/lib/chain/errors/dataColumnSidecarError.d.ts +42 -0
  89. package/lib/chain/errors/dataColumnSidecarError.js +14 -0
  90. package/lib/chain/errors/dataColumnSidecarError.js.map +1 -1
  91. package/lib/chain/errors/gossipValidation.js +1 -0
  92. package/lib/chain/errors/gossipValidation.js.map +1 -1
  93. package/lib/chain/genesis/genesis.js +16 -5
  94. package/lib/chain/genesis/genesis.js.map +1 -1
  95. package/lib/chain/interface.d.ts +10 -7
  96. package/lib/chain/interface.js.map +1 -1
  97. package/lib/chain/lightClient/index.js +16 -9
  98. package/lib/chain/lightClient/index.js.map +1 -1
  99. package/lib/chain/opPools/aggregatedAttestationPool.js +13 -8
  100. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  101. package/lib/chain/opPools/attestationPool.js +7 -2
  102. package/lib/chain/opPools/attestationPool.js.map +1 -1
  103. package/lib/chain/opPools/opPool.js +10 -12
  104. package/lib/chain/opPools/opPool.js.map +1 -1
  105. package/lib/chain/opPools/syncCommitteeMessagePool.js +9 -6
  106. package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
  107. package/lib/chain/opPools/syncContributionAndProofPool.js +5 -2
  108. package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
  109. package/lib/chain/prepareNextSlot.js +141 -136
  110. package/lib/chain/prepareNextSlot.js.map +1 -1
  111. package/lib/chain/regen/errors.js +1 -0
  112. package/lib/chain/regen/errors.js.map +1 -1
  113. package/lib/chain/regen/queued.js +35 -28
  114. package/lib/chain/regen/queued.js.map +1 -1
  115. package/lib/chain/regen/regen.js +1 -0
  116. package/lib/chain/regen/regen.js.map +1 -1
  117. package/lib/chain/reprocess.js +3 -1
  118. package/lib/chain/reprocess.js.map +1 -1
  119. package/lib/chain/seenCache/index.d.ts +1 -1
  120. package/lib/chain/seenCache/index.js +1 -1
  121. package/lib/chain/seenCache/index.js.map +1 -1
  122. package/lib/chain/seenCache/seenAggregateAndProof.js +7 -6
  123. package/lib/chain/seenCache/seenAggregateAndProof.js.map +1 -1
  124. package/lib/chain/seenCache/seenAttestationData.js +5 -2
  125. package/lib/chain/seenCache/seenAttestationData.js.map +1 -1
  126. package/lib/chain/seenCache/seenAttesters.js +2 -4
  127. package/lib/chain/seenCache/seenAttesters.js.map +1 -1
  128. package/lib/chain/seenCache/seenBlockProposers.js +2 -4
  129. package/lib/chain/seenCache/seenBlockProposers.js.map +1 -1
  130. package/lib/chain/seenCache/seenCommittee.js +1 -3
  131. package/lib/chain/seenCache/seenCommittee.js.map +1 -1
  132. package/lib/chain/seenCache/seenCommitteeContribution.js +3 -2
  133. package/lib/chain/seenCache/seenCommitteeContribution.js.map +1 -1
  134. package/lib/chain/seenCache/seenGossipBlockInput.d.ts +74 -78
  135. package/lib/chain/seenCache/seenGossipBlockInput.js +235 -369
  136. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  137. package/lib/chain/shufflingCache.js +5 -2
  138. package/lib/chain/shufflingCache.js.map +1 -1
  139. package/lib/chain/stateCache/blockStateCacheImpl.js +13 -7
  140. package/lib/chain/stateCache/blockStateCacheImpl.js.map +1 -1
  141. package/lib/chain/stateCache/datastore/db.js +1 -0
  142. package/lib/chain/stateCache/datastore/db.js.map +1 -1
  143. package/lib/chain/stateCache/datastore/file.js +1 -0
  144. package/lib/chain/stateCache/datastore/file.js.map +1 -1
  145. package/lib/chain/stateCache/fifoBlockStateCache.js +10 -0
  146. package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
  147. package/lib/chain/stateCache/inMemoryCheckpointsCache.js +10 -4
  148. package/lib/chain/stateCache/inMemoryCheckpointsCache.js.map +1 -1
  149. package/lib/chain/stateCache/mapMetrics.js +4 -4
  150. package/lib/chain/stateCache/mapMetrics.js.map +1 -1
  151. package/lib/chain/stateCache/persistentCheckpointsCache.js +13 -4
  152. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  153. package/lib/chain/validation/blobSidecar.d.ts +8 -3
  154. package/lib/chain/validation/blobSidecar.js +73 -31
  155. package/lib/chain/validation/blobSidecar.js.map +1 -1
  156. package/lib/chain/validation/dataColumnSidecar.d.ts +7 -9
  157. package/lib/chain/validation/dataColumnSidecar.js +94 -56
  158. package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
  159. package/lib/chain/validatorMonitor.js +2 -1
  160. package/lib/chain/validatorMonitor.js.map +1 -1
  161. package/lib/db/beacon.js +24 -0
  162. package/lib/db/beacon.js.map +1 -1
  163. package/lib/db/repositories/depositDataRoot.js +1 -0
  164. package/lib/db/repositories/depositDataRoot.js.map +1 -1
  165. package/lib/db/single/preGenesisState.js +6 -0
  166. package/lib/db/single/preGenesisState.js.map +1 -1
  167. package/lib/db/single/preGenesisStateLastProcessedBlock.js +5 -0
  168. package/lib/db/single/preGenesisStateLastProcessedBlock.js.map +1 -1
  169. package/lib/eth1/eth1DataCache.js +2 -0
  170. package/lib/eth1/eth1DataCache.js.map +1 -1
  171. package/lib/eth1/eth1DepositDataTracker.js +18 -5
  172. package/lib/eth1/eth1DepositDataTracker.js.map +1 -1
  173. package/lib/eth1/eth1DepositsCache.js +3 -0
  174. package/lib/eth1/eth1DepositsCache.js.map +1 -1
  175. package/lib/eth1/eth1MergeBlockTracker.js +10 -4
  176. package/lib/eth1/eth1MergeBlockTracker.js.map +1 -1
  177. package/lib/eth1/index.js +2 -0
  178. package/lib/eth1/index.js.map +1 -1
  179. package/lib/eth1/provider/eth1Provider.js +6 -2
  180. package/lib/eth1/provider/eth1Provider.js.map +1 -1
  181. package/lib/eth1/provider/jsonRpcHttpClient.js +16 -2
  182. package/lib/eth1/provider/jsonRpcHttpClient.js.map +1 -1
  183. package/lib/eth1/provider/utils.d.ts +5 -0
  184. package/lib/eth1/provider/utils.js +9 -1
  185. package/lib/eth1/provider/utils.js.map +1 -1
  186. package/lib/execution/builder/cache.js +6 -0
  187. package/lib/execution/builder/cache.js.map +1 -1
  188. package/lib/execution/builder/http.js +14 -8
  189. package/lib/execution/builder/http.js.map +1 -1
  190. package/lib/execution/engine/disabled.js +2 -4
  191. package/lib/execution/engine/disabled.js.map +1 -1
  192. package/lib/execution/engine/http.d.ts +2 -2
  193. package/lib/execution/engine/http.js +43 -11
  194. package/lib/execution/engine/http.js.map +1 -1
  195. package/lib/execution/engine/interface.d.ts +2 -2
  196. package/lib/execution/engine/mock.d.ts +1 -0
  197. package/lib/execution/engine/mock.js +16 -12
  198. package/lib/execution/engine/mock.js.map +1 -1
  199. package/lib/execution/engine/payloadIdCache.js +1 -3
  200. package/lib/execution/engine/payloadIdCache.js.map +1 -1
  201. package/lib/execution/engine/types.d.ts +5 -0
  202. package/lib/execution/engine/types.js +37 -8
  203. package/lib/execution/engine/types.js.map +1 -1
  204. package/lib/execution/engine/utils.js +2 -1
  205. package/lib/execution/engine/utils.js.map +1 -1
  206. package/lib/metrics/metrics/beacon.d.ts +11 -5
  207. package/lib/metrics/metrics/beacon.js +40 -20
  208. package/lib/metrics/metrics/beacon.js.map +1 -1
  209. package/lib/metrics/metrics/lodestar.d.ts +49 -12
  210. package/lib/metrics/metrics/lodestar.js +74 -6
  211. package/lib/metrics/metrics/lodestar.js.map +1 -1
  212. package/lib/metrics/utils/avgMinMax.js +10 -6
  213. package/lib/metrics/utils/avgMinMax.js.map +1 -1
  214. package/lib/metrics/utils/gauge.js +1 -4
  215. package/lib/metrics/utils/gauge.js.map +1 -1
  216. package/lib/monitoring/properties.js +4 -0
  217. package/lib/monitoring/properties.js.map +1 -1
  218. package/lib/monitoring/service.js +13 -1
  219. package/lib/monitoring/service.js.map +1 -1
  220. package/lib/monitoring/system.js +25 -27
  221. package/lib/monitoring/system.js.map +1 -1
  222. package/lib/network/core/networkCore.d.ts +1 -1
  223. package/lib/network/core/networkCore.js +66 -49
  224. package/lib/network/core/networkCore.js.map +1 -1
  225. package/lib/network/core/networkCoreWorkerHandler.d.ts +1 -1
  226. package/lib/network/core/networkCoreWorkerHandler.js +4 -1
  227. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  228. package/lib/network/discv5/index.js +4 -1
  229. package/lib/network/discv5/index.js.map +1 -1
  230. package/lib/network/discv5/worker.js.map +1 -1
  231. package/lib/network/events.d.ts +2 -18
  232. package/lib/network/events.js +0 -7
  233. package/lib/network/events.js.map +1 -1
  234. package/lib/network/gossip/encoding.js +2 -0
  235. package/lib/network/gossip/encoding.js.map +1 -1
  236. package/lib/network/gossip/errors.js +1 -0
  237. package/lib/network/gossip/errors.js.map +1 -1
  238. package/lib/network/gossip/gossipsub.js +7 -0
  239. package/lib/network/gossip/gossipsub.js.map +1 -1
  240. package/lib/network/gossip/topic.d.ts +49 -49
  241. package/lib/network/gossip/topic.js +2 -1
  242. package/lib/network/gossip/topic.js.map +1 -1
  243. package/lib/network/interface.d.ts +2 -1
  244. package/lib/network/metadata.js +4 -0
  245. package/lib/network/metadata.js.map +1 -1
  246. package/lib/network/network.d.ts +3 -1
  247. package/lib/network/network.js +89 -71
  248. package/lib/network/network.js.map +1 -1
  249. package/lib/network/options.js +1 -1
  250. package/lib/network/options.js.map +1 -1
  251. package/lib/network/peers/datastore.js +8 -2
  252. package/lib/network/peers/datastore.js.map +1 -1
  253. package/lib/network/peers/discover.js +74 -64
  254. package/lib/network/peers/discover.js.map +1 -1
  255. package/lib/network/peers/peerManager.js +154 -130
  256. package/lib/network/peers/peerManager.js.map +1 -1
  257. package/lib/network/peers/peersData.d.ts +1 -1
  258. package/lib/network/peers/peersData.js +1 -3
  259. package/lib/network/peers/peersData.js.map +1 -1
  260. package/lib/network/peers/score/score.js +6 -0
  261. package/lib/network/peers/score/score.js.map +1 -1
  262. package/lib/network/peers/score/store.js +3 -0
  263. package/lib/network/peers/score/store.js.map +1 -1
  264. package/lib/network/peers/utils/subnetMap.js +2 -4
  265. package/lib/network/peers/utils/subnetMap.js.map +1 -1
  266. package/lib/network/processor/aggregatorTracker.js +1 -3
  267. package/lib/network/processor/aggregatorTracker.js.map +1 -1
  268. package/lib/network/processor/gossipHandlers.js +148 -163
  269. package/lib/network/processor/gossipHandlers.js.map +1 -1
  270. package/lib/network/processor/gossipQueues/indexed.js +11 -9
  271. package/lib/network/processor/gossipQueues/indexed.js.map +1 -1
  272. package/lib/network/processor/gossipQueues/linear.js +9 -8
  273. package/lib/network/processor/gossipQueues/linear.js.map +1 -1
  274. package/lib/network/processor/index.d.ts +2 -1
  275. package/lib/network/processor/index.js +21 -6
  276. package/lib/network/processor/index.js.map +1 -1
  277. package/lib/network/reqresp/ReqRespBeaconNode.js +11 -2
  278. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  279. package/lib/network/reqresp/index.d.ts +0 -2
  280. package/lib/network/reqresp/index.js +0 -2
  281. package/lib/network/reqresp/index.js.map +1 -1
  282. package/lib/network/reqresp/rateLimit.js +9 -3
  283. package/lib/network/reqresp/rateLimit.js.map +1 -1
  284. package/lib/network/statusCache.js +1 -0
  285. package/lib/network/statusCache.js.map +1 -1
  286. package/lib/network/subnets/attnetsService.js +73 -65
  287. package/lib/network/subnets/attnetsService.js.map +1 -1
  288. package/lib/network/subnets/syncnetsService.js +29 -22
  289. package/lib/network/subnets/syncnetsService.js.map +1 -1
  290. package/lib/node/nodejs.js +15 -0
  291. package/lib/node/nodejs.js.map +1 -1
  292. package/lib/sync/backfill/backfill.js +57 -15
  293. package/lib/sync/backfill/backfill.js.map +1 -1
  294. package/lib/sync/constants.d.ts +2 -1
  295. package/lib/sync/constants.js +2 -1
  296. package/lib/sync/constants.js.map +1 -1
  297. package/lib/sync/interface.d.ts +1 -59
  298. package/lib/sync/interface.js +0 -20
  299. package/lib/sync/interface.js.map +1 -1
  300. package/lib/sync/options.d.ts +1 -1
  301. package/lib/sync/range/batch.d.ts +48 -32
  302. package/lib/sync/range/batch.js +201 -55
  303. package/lib/sync/range/batch.js.map +1 -1
  304. package/lib/sync/range/chain.d.ts +15 -10
  305. package/lib/sync/range/chain.js +141 -70
  306. package/lib/sync/range/chain.js.map +1 -1
  307. package/lib/sync/range/range.d.ts +2 -2
  308. package/lib/sync/range/range.js +86 -54
  309. package/lib/sync/range/range.js.map +1 -1
  310. package/lib/sync/range/utils/hashBlocks.d.ts +2 -2
  311. package/lib/sync/range/utils/hashBlocks.js +6 -4
  312. package/lib/sync/range/utils/hashBlocks.js.map +1 -1
  313. package/lib/sync/range/utils/peerBalancer.js +18 -13
  314. package/lib/sync/range/utils/peerBalancer.js.map +1 -1
  315. package/lib/sync/sync.js +95 -87
  316. package/lib/sync/sync.js.map +1 -1
  317. package/lib/sync/types.d.ts +44 -0
  318. package/lib/sync/types.js +34 -0
  319. package/lib/sync/types.js.map +1 -0
  320. package/lib/sync/unknownBlock.d.ts +42 -28
  321. package/lib/sync/unknownBlock.js +404 -458
  322. package/lib/sync/unknownBlock.js.map +1 -1
  323. package/lib/sync/utils/downloadByRange.d.ts +186 -0
  324. package/lib/sync/utils/downloadByRange.js +457 -0
  325. package/lib/sync/utils/downloadByRange.js.map +1 -0
  326. package/lib/sync/utils/downloadByRoot.d.ts +119 -0
  327. package/lib/sync/utils/downloadByRoot.js +319 -0
  328. package/lib/sync/utils/downloadByRoot.js.map +1 -0
  329. package/lib/sync/utils/pendingBlocksTree.d.ts +14 -6
  330. package/lib/sync/utils/pendingBlocksTree.js +24 -18
  331. package/lib/sync/utils/pendingBlocksTree.js.map +1 -1
  332. package/lib/util/array.js +7 -3
  333. package/lib/util/array.js.map +1 -1
  334. package/lib/util/asyncIterableToEvents.js +6 -3
  335. package/lib/util/asyncIterableToEvents.js.map +1 -1
  336. package/lib/util/binarySearch.js +2 -0
  337. package/lib/util/binarySearch.js.map +1 -1
  338. package/lib/util/blobs.d.ts +2 -2
  339. package/lib/util/blobs.js +4 -4
  340. package/lib/util/blobs.js.map +1 -1
  341. package/lib/util/bufferPool.js +7 -2
  342. package/lib/util/bufferPool.js.map +1 -1
  343. package/lib/util/clock.js +23 -18
  344. package/lib/util/clock.js.map +1 -1
  345. package/lib/util/dataColumns.d.ts +21 -12
  346. package/lib/util/dataColumns.js +105 -134
  347. package/lib/util/dataColumns.js.map +1 -1
  348. package/lib/util/execution.d.ts +11 -0
  349. package/lib/util/execution.js +131 -0
  350. package/lib/util/execution.js.map +1 -0
  351. package/lib/util/itTrigger.js +4 -4
  352. package/lib/util/itTrigger.js.map +1 -1
  353. package/lib/util/map.js +2 -0
  354. package/lib/util/map.js.map +1 -1
  355. package/lib/util/queue/itemQueue.js +52 -49
  356. package/lib/util/queue/itemQueue.js.map +1 -1
  357. package/lib/util/serializedCache.js +1 -3
  358. package/lib/util/serializedCache.js.map +1 -1
  359. package/lib/util/set.js +2 -0
  360. package/lib/util/set.js.map +1 -1
  361. package/lib/util/sszBytes.d.ts +1 -0
  362. package/lib/util/sszBytes.js +1 -1
  363. package/lib/util/sszBytes.js.map +1 -1
  364. package/lib/util/timeSeries.js +3 -1
  365. package/lib/util/timeSeries.js.map +1 -1
  366. package/lib/util/types.d.ts +1 -1
  367. package/lib/util/types.js +2 -2
  368. package/lib/util/types.js.map +1 -1
  369. package/lib/util/wrapError.d.ts +7 -0
  370. package/package.json +15 -15
  371. package/lib/chain/seenCache/seenBlockInput.d.ts +0 -84
  372. package/lib/chain/seenCache/seenBlockInput.js +0 -225
  373. package/lib/chain/seenCache/seenBlockInput.js.map +0 -1
  374. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.d.ts +0 -28
  375. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js +0 -328
  376. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js.map +0 -1
  377. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.d.ts +0 -49
  378. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js +0 -499
  379. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js.map +0 -1
@@ -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":"AAGA,OAAO,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAC,yCAAyC,EAAC,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAC,oBAAoB,EAAC,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAC,WAAW,EAAyC,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAAC,6BAA6B,EAAC,MAAM,+CAA+C,CAAC;AAC5F,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAC,mBAAmB,EAAC,MAAM,gCAAgC,CAAC;AAWnE;;;GAGG;AACH,MAAM,OAAO,YAAY;IACf,WAAW,CAAc;IACzB,QAAQ,CAA0C;IAElD,iBAAiB,CAAU;IAClB,sBAAsB,CAAuB;IAC7C,KAAK,CAAe;IACpB,EAAE,CAAY;IACd,MAAM,CAAa;IACnB,OAAO,CAAiB;IACxB,IAAI,CAAuB;IAC3B,MAAM,CAAc;IAE7B,oBAAoB,CAAwB;IAEpD,YAAY,OAA4B,EAAE,IAA0B,EAAE,MAAmB;QACvF,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAEhD,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAA4B,IAAI,CAAC,0BAA0B,EAAE;YAC3F,SAAS,EAAE,yCAAyC;YACpD,MAAM;SACP,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,WAAW,KAAK,WAAW,CAAC,SAAS,EAAE,CAAC;YAC/C,IAAI,CAAC,sBAAsB,GAAG,IAAI,6BAA6B,CAC7D,IAAI,CAAC,KAAK,CAAC,KAAK,EAChB,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,MAAM,EACX,IAAI,EACJ,IAAI,CAAC,KAAK,CAAC,UAAU,CACtB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,CAAC,WAAW,4BAA4B,CAAC,CAAC;QAC3F,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAClF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAEhE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAC1B,OAAO,EACP,GAAG,EAAE;gBACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBACnF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACnE,CAAC,EACD,EAAC,IAAI,EAAE,IAAI,EAAC,CACb,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAC3B,uCAAuC;YACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAC5C,MAAM,eAAe,CACnB,YAAY,CACV,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,KAAK,EAC/C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAC9B,EACD,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,EACvE,MAAM,EACN,IAAI,CAAC,MAAM,CACZ,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACnC,IAAI,CAAC,oBAAoB,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC;gBAC1D,IAAI,EAAE;oBACJ,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW;oBACzC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;iBAC7B;gBACD,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,oBAAoB,EAAE,KAAK,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,oBAAoB,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,IAAY;QAEZ,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;QAEjE,IAAI,IAAI,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,2DAA2D;QAC3D,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAClF,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,EAAC,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC;IAC3G,CAAC;IAED;;SAEK;IACL,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,2EAA2E;IAC3E,iBAAiB;IACjB,2EAA2E;IACnE,qBAAqB,GAAG,KAAK,EAAE,SAA4B,EAAiB,EAAE;QACpF,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC,CAAC;IAEM,YAAY,GAAG,GAAS,EAAE;QAChC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC;QAChE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAChC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,KAAK,EACpD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,KAAK,EACpD,aAAa,CACd,CAAC;QAEF,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAClF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,EAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAC,EAAE,GAAG,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEM,0BAA0B,GAAG,KAAK,EAAE,SAA4B,EAAiB,EAAE;QACzF,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,uCAAuC,EAAE,EAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAC,CAAC,CAAC;YAClH,MAAM,aAAa,CACjB,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,KAAK,CAAC,UAAU,EACrB,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAC5B,IAAI,CAAC,MAAM,EACX,SAAS,EACT,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAC7B,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,EACrC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CACzC,CAAC;YACF,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC3B,MAAM,YAAY,CAChB,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,cAAc,EACd,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAC9B,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAEjF,8DAA8D;YAC9D,MAAM,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAE7E,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;YAElD,qCAAqC;YACrC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACpE,MAAM,mBAAmB,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAC,EAAE,SAAS,CAAC,CAAC;YAE5F,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,wCAAwC,EAAE;gBAC5D,KAAK,EAAE,cAAc;gBACrB,OAAO,EAAE,SAAS,CAAC,OAAO;gBAC1B,YAAY,EAAE,YAAY,CAAC,MAAM;aAClC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,EAAC,KAAK,EAAE,SAAS,CAAC,KAAK,EAAC,EAAE,CAAU,CAAC,CAAC;QACnG,CAAC;IACH,CAAC,CAAC;CACH"}
@@ -8,6 +8,8 @@ const WORKER_DIR = process.env.NODE_ENV === "test" ? "../../../../lib/chain/arch
8
8
  * by running regen in a separate worker thread.
9
9
  */
10
10
  export class HistoricalStateRegen {
11
+ api;
12
+ logger;
11
13
  constructor(modules) {
12
14
  this.api = modules.api;
13
15
  this.logger = modules.logger;
@@ -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;IAI/B,YAAY,OAAoC;QAC9C,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;IAC9E,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAwC;QACxD,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,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;IACrD,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,KAAK;QACT,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;IAC1D,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAY;QACnC,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;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,YAAY,OAAoC;QAC9C,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;IAC9E,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAwC;QACxD,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,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;IACrD,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,KAAK;QACT,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;IAC1D,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAY;QACnC,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF"}
@@ -14,6 +14,11 @@ export const PERSIST_TEMP_STATE_EVERY_EPOCHS = 32;
14
14
  * Only the new finalized state is stored to disk
15
15
  */
16
16
  export class FrequencyStateArchiveStrategy {
17
+ regen;
18
+ db;
19
+ logger;
20
+ opts;
21
+ bufferPool;
17
22
  constructor(regen, db, logger, opts, bufferPool) {
18
23
  this.regen = regen;
19
24
  this.db = db;
@@ -1 +1 @@
1
- {"version":3,"file":"frequencyStateArchiveStrategy.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frequencyStateArchiveStrategy.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/strategies/frequencyStateArchiveStrategy.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,7 @@ const MAX_BALANCE_CACHE_SIZE = 4;
6
6
  * Cache EffectiveBalanceIncrements of checkpoint blocks
7
7
  */
8
8
  export class CheckpointBalancesCache {
9
- constructor() {
10
- this.items = [];
11
- }
9
+ items = [];
12
10
  /**
13
11
  * Inspect the given `state` and determine the root of the block at the first slot of
14
12
  * `state.current_epoch`. If there is not already some entry for the given block root, then
@@ -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;IAApC;QACmB,UAAK,GAAwB,EAAE,CAAC;IA2BnD,CAAC;IAzBC;;;;OAIG;IACH,YAAY,CAAC,YAAqB,EAAE,KAAgC;QAClE,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;IACH,CAAC;IAED,GAAG,CAAC,UAA6B;QAC/B,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;IAC/F,CAAC;CACF"}
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;QAClE,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;IACH,CAAC;IAED,GAAG,CAAC,UAA6B;QAC/B,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;IAC/F,CAAC;CACF"}
@@ -1,6 +1,7 @@
1
1
  import { MapDef } from "@lodestar/utils";
2
2
  const PROPOSER_PRESERVE_EPOCHS = 2;
3
3
  export class BeaconProposerCache {
4
+ feeRecipientByValidatorIndex;
4
5
  constructor(opts) {
5
6
  this.feeRecipientByValidatorIndex = new MapDef(() => ({
6
7
  epoch: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"beaconProposerCache.js","sourceRoot":"","sources":["../../src/chain/beaconProposerCache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAInC,MAAM,OAAO,mBAAmB;IAE9B,YAAY,IAAqC;QAC/C,IAAI,CAAC,4BAA4B,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;YACpD,KAAK,EAAE,CAAC;YACR,YAAY,EAAE,IAAI,CAAC,qBAAqB;SACzC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,GAAG,CAAC,KAAY,EAAE,EAAC,cAAc,EAAE,YAAY,EAA0B;QACvE,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,cAAc,EAAE,EAAC,KAAK,EAAE,YAAY,EAAC,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,KAAY;QAChB,2EAA2E;QAC3E,KAAK,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,IAAI,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9F,8DAA8D;YAC9D,IAAI,iBAAiB,CAAC,KAAK,GAAG,wBAAwB,GAAG,KAAK,EAAE,CAAC;gBAC/D,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;IACH,CAAC;IAED,YAAY,CAAC,aAAqB;QAChC,OAAO,IAAI,CAAC,4BAA4B,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC;IACpF,CAAC;IAED,GAAG,CAAC,aAAqB;QACvB,OAAO,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC;IAC5E,CAAC;IAED,mBAAmB;QACjB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;CACF"}
1
+ {"version":3,"file":"beaconProposerCache.js","sourceRoot":"","sources":["../../src/chain/beaconProposerCache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAInC,MAAM,OAAO,mBAAmB;IACb,4BAA4B,CAAuD;IACpG,YAAY,IAAqC;QAC/C,IAAI,CAAC,4BAA4B,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;YACpD,KAAK,EAAE,CAAC;YACR,YAAY,EAAE,IAAI,CAAC,qBAAqB;SACzC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,GAAG,CAAC,KAAY,EAAE,EAAC,cAAc,EAAE,YAAY,EAA0B;QACvE,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,cAAc,EAAE,EAAC,KAAK,EAAE,YAAY,EAAC,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,KAAY;QAChB,2EAA2E;QAC3E,KAAK,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,IAAI,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9F,8DAA8D;YAC9D,IAAI,iBAAiB,CAAC,KAAK,GAAG,wBAAwB,GAAG,KAAK,EAAE,CAAC;gBAC/D,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;IACH,CAAC;IAED,YAAY,CAAC,aAAqB;QAChC,OAAO,IAAI,CAAC,4BAA4B,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC;IACpF,CAAC;IAED,GAAG,CAAC,aAAqB;QACvB,OAAO,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC;IAC5E,CAAC;IAED,mBAAmB;QACjB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;CACF"}
@@ -1,7 +1,7 @@
1
1
  import { ForkName, ForkPreDeneb } from "@lodestar/params";
2
2
  import { BlobIndex, ColumnIndex, SignedBeaconBlock, Slot, deneb, fulu } from "@lodestar/types";
3
3
  import { VersionedHashes } from "../../../execution/index.js";
4
- import { AddBlob, AddBlock, AddColumn, BlobMeta, BlobWithSource, BlockInputInit, ColumnMeta, ColumnWithSource, CreateBlockInputMeta, DAData, DAType, IBlockInput, LogMetaBasic, LogMetaBlobs, LogMetaColumns, PromiseParts, SourceMeta } from "./types.js";
4
+ import { AddBlob, AddBlock, AddColumn, BlobMeta, BlobWithSource, BlockInputInit, ColumnWithSource, CreateBlockInputMeta, DAData, DAType, IBlockInput, LogMetaBasic, LogMetaBlobs, LogMetaColumns, MissingColumnMeta, PromiseParts, SourceMeta } from "./types.js";
5
5
  export type BlockInput = BlockInputPreData | BlockInputBlobs | BlockInputColumns;
6
6
  export declare function isBlockInputPreDeneb(blockInput: IBlockInput): blockInput is BlockInputPreData;
7
7
  export declare function isBlockInputBlobs(blockInput: IBlockInput): blockInput is BlockInputBlobs;
@@ -64,7 +64,9 @@ export declare class BlockInputPreData extends AbstractBlockInput<ForkPreDeneb,
64
64
  state: BlockInputPreDataState;
65
65
  private constructor();
66
66
  static createFromBlock(props: AddBlock & CreateBlockInputMeta): BlockInputPreData;
67
- addBlock(_: AddBlock): void;
67
+ addBlock(_: AddBlock, opts?: {
68
+ throwOnDuplicateAdd: boolean;
69
+ }): void;
68
70
  }
69
71
  export type ForkBlobsDA = ForkName.deneb | ForkName.electra;
70
72
  type BlockInputBlobsState = {
@@ -98,9 +100,13 @@ export declare class BlockInputBlobs extends AbstractBlockInput<ForkBlobsDA, den
98
100
  static createFromBlock(props: AddBlock<ForkBlobsDA> & CreateBlockInputMeta): BlockInputBlobs;
99
101
  static createFromBlob(props: AddBlob & CreateBlockInputMeta): BlockInputBlobs;
100
102
  getLogMeta(): LogMetaBlobs;
101
- addBlock({ blockRootHex, block, source }: AddBlock<ForkBlobsDA>): void;
103
+ addBlock({ blockRootHex, block, source, seenTimestampSec, peerIdStr }: AddBlock<ForkBlobsDA>, opts?: {
104
+ throwOnDuplicateAdd: boolean;
105
+ }): void;
102
106
  hasBlob(blobIndex: BlobIndex): boolean;
103
- addBlob({ blockRootHex, blobSidecar, source, peerIdStr, seenTimestampSec }: AddBlob): void;
107
+ addBlob({ blockRootHex, blobSidecar, source, peerIdStr, seenTimestampSec }: AddBlob, opts?: {
108
+ throwOnDuplicateAdd: boolean;
109
+ }): void;
104
110
  getVersionedHashes(): VersionedHashes;
105
111
  getMissingBlobMeta(): BlobMeta[];
106
112
  getAllBlobsWithSource(): BlobWithSource[];
@@ -143,6 +149,7 @@ export declare class BlockInputColumns extends AbstractBlockInput<ForkColumnsDA,
143
149
  private readonly sampledColumns;
144
150
  private readonly custodyColumns;
145
151
  private constructor();
152
+ get columnCount(): number;
146
153
  static createFromBlock(props: AddBlock<ForkColumnsDA> & CreateBlockInputMeta & {
147
154
  sampledColumns: ColumnIndex[];
148
155
  custodyColumns: ColumnIndex[];
@@ -152,15 +159,20 @@ export declare class BlockInputColumns extends AbstractBlockInput<ForkColumnsDA,
152
159
  custodyColumns: ColumnIndex[];
153
160
  }): BlockInputColumns;
154
161
  getLogMeta(): LogMetaColumns;
155
- addBlock(props: AddBlock<ForkColumnsDA>): void;
156
- addColumn({ blockRootHex, columnSidecar, source, seenTimestampSec, peerIdStr }: AddColumn): void;
162
+ addBlock(props: AddBlock<ForkColumnsDA>, opts?: {
163
+ throwOnDuplicateAdd: boolean;
164
+ }): void;
165
+ addColumn({ blockRootHex, columnSidecar, source, seenTimestampSec, peerIdStr }: AddColumn, opts?: {
166
+ throwOnDuplicateAdd: boolean;
167
+ }): void;
157
168
  hasColumn(columnIndex: number): boolean;
158
169
  getVersionedHashes(): VersionedHashes;
159
170
  getCustodyColumns(): fulu.DataColumnSidecars;
171
+ getSampledColumnsWithSource(): ColumnWithSource[];
160
172
  getSampledColumns(): fulu.DataColumnSidecars;
161
173
  getAllColumnsWithSource(): ColumnWithSource[];
162
174
  getAllColumns(): fulu.DataColumnSidecars;
163
- getMissingSampledColumnMeta(): ColumnMeta[];
175
+ getMissingSampledColumnMeta(): MissingColumnMeta;
164
176
  }
165
177
  export {};
166
178
  //# sourceMappingURL=blockInput.d.ts.map
@@ -25,9 +25,15 @@ function createPromise() {
25
25
  };
26
26
  }
27
27
  class AbstractBlockInput {
28
+ daOutOfRange;
29
+ timeCreatedSec;
30
+ forkName;
31
+ slot;
32
+ blockRootHex;
33
+ parentRootHex;
34
+ blockPromise = createPromise();
35
+ dataPromise = createPromise();
28
36
  constructor(init) {
29
- this.blockPromise = createPromise();
30
- this.dataPromise = createPromise();
31
37
  this.daOutOfRange = init.daOutOfRange;
32
38
  this.timeCreatedSec = init.timeCreated;
33
39
  this.forkName = init.forkName;
@@ -64,8 +70,8 @@ class AbstractBlockInput {
64
70
  }
65
71
  getLogMeta() {
66
72
  return {
67
- blockRoot: prettyBytes(this.blockRootHex),
68
73
  slot: this.slot,
74
+ blockRoot: prettyBytes(this.blockRootHex),
69
75
  timeCreatedSec: this.timeCreatedSec,
70
76
  };
71
77
  }
@@ -99,15 +105,18 @@ class AbstractBlockInput {
99
105
  * - the block simply exists
100
106
  */
101
107
  export class BlockInputPreData extends AbstractBlockInput {
108
+ type = DAType.PreData;
109
+ state;
102
110
  constructor(init, state) {
103
111
  super(init);
104
- this.type = DAType.PreData;
105
112
  this.state = state;
113
+ this.dataPromise.resolve(null);
114
+ this.blockPromise.resolve(state.block);
106
115
  }
107
116
  static createFromBlock(props) {
108
117
  const init = {
109
118
  daOutOfRange: props.daOutOfRange,
110
- timeCreated: props.source.seenTimestampSec,
119
+ timeCreated: props.seenTimestampSec,
111
120
  forkName: props.forkName,
112
121
  slot: props.block.message.slot,
113
122
  blockRootHex: props.blockRootHex,
@@ -117,16 +126,22 @@ export class BlockInputPreData extends AbstractBlockInput {
117
126
  hasBlock: true,
118
127
  hasAllData: true,
119
128
  block: props.block,
120
- source: props.source,
121
- timeCompleteSec: props.source.seenTimestampSec,
129
+ source: {
130
+ source: props.source,
131
+ seenTimestampSec: props.seenTimestampSec,
132
+ peerIdStr: props.peerIdStr,
133
+ },
134
+ timeCompleteSec: props.seenTimestampSec,
122
135
  };
123
136
  return new BlockInputPreData(init, state);
124
137
  }
125
- addBlock(_) {
126
- throw new BlockInputError({
127
- code: BlockInputErrorCode.INVALID_CONSTRUCTION,
128
- blockRoot: this.blockRootHex,
129
- }, "Cannot addBlock to BlockInputPreData");
138
+ addBlock(_, opts = { throwOnDuplicateAdd: true }) {
139
+ if (opts.throwOnDuplicateAdd) {
140
+ throw new BlockInputError({
141
+ code: BlockInputErrorCode.INVALID_CONSTRUCTION,
142
+ blockRoot: this.blockRootHex,
143
+ }, "Cannot addBlock to BlockInputPreData");
144
+ }
130
145
  }
131
146
  }
132
147
  /**
@@ -136,10 +151,11 @@ export class BlockInputPreData extends AbstractBlockInput {
136
151
  * - The block is yet not seen and its unknown if all blobs are seen
137
152
  */
138
153
  export class BlockInputBlobs extends AbstractBlockInput {
154
+ type = DAType.Blobs;
155
+ state;
156
+ blobsCache = new Map();
139
157
  constructor(init, state) {
140
158
  super(init);
141
- this.type = DAType.Blobs;
142
- this.blobsCache = new Map();
143
159
  this.state = state;
144
160
  }
145
161
  static createFromBlock(props) {
@@ -149,12 +165,16 @@ export class BlockInputBlobs extends AbstractBlockInput {
149
165
  hasAllData,
150
166
  versionedHashes: props.block.message.body.blobKzgCommitments.map(kzgCommitmentToVersionedHash),
151
167
  block: props.block,
152
- source: props.source,
153
- timeCompleteSec: hasAllData ? props.source.seenTimestampSec : undefined,
168
+ source: {
169
+ source: props.source,
170
+ seenTimestampSec: props.seenTimestampSec,
171
+ peerIdStr: props.peerIdStr,
172
+ },
173
+ timeCompleteSec: hasAllData ? props.seenTimestampSec : undefined,
154
174
  };
155
175
  const init = {
156
176
  daOutOfRange: props.daOutOfRange,
157
- timeCreated: props.source.seenTimestampSec,
177
+ timeCreated: props.seenTimestampSec,
158
178
  forkName: props.forkName,
159
179
  slot: props.block.message.slot,
160
180
  blockRootHex: props.blockRootHex,
@@ -191,30 +211,33 @@ export class BlockInputBlobs extends AbstractBlockInput {
191
211
  }
192
212
  getLogMeta() {
193
213
  return {
194
- blockRoot: prettyBytes(this.blockRootHex),
195
214
  slot: this.slot,
215
+ blockRoot: prettyBytes(this.blockRootHex),
196
216
  timeCreatedSec: this.timeCreatedSec,
197
217
  expectedBlobs: this.state.hasBlock ? this.state.block.message.body.blobKzgCommitments.length : "unknown",
198
218
  receivedBlobs: this.blobsCache.size,
199
219
  };
200
220
  }
201
- addBlock({ blockRootHex, block, source }) {
202
- if (this.state.hasBlock) {
203
- throw new BlockInputError({
204
- code: BlockInputErrorCode.INVALID_CONSTRUCTION,
205
- blockRoot: this.blockRootHex,
206
- }, "Cannot addBlock to BlockInputBlobs after it already has a block");
207
- }
221
+ addBlock({ blockRootHex, block, source, seenTimestampSec, peerIdStr }, opts = { throwOnDuplicateAdd: true }) {
208
222
  // this check suffices for checking slot, parentRoot, and forkName
209
223
  if (blockRootHex !== this.blockRootHex) {
210
224
  throw new BlockInputError({
211
225
  code: BlockInputErrorCode.MISMATCHED_ROOT_HEX,
212
226
  blockInputRoot: this.blockRootHex,
213
227
  mismatchedRoot: blockRootHex,
214
- source: source.source,
215
- peerId: `${source.peerIdStr}`,
228
+ source,
229
+ peerId: `${peerIdStr}`,
216
230
  }, "addBlock blockRootHex does not match BlockInput.blockRootHex");
217
231
  }
232
+ if (!opts.throwOnDuplicateAdd) {
233
+ return;
234
+ }
235
+ if (this.state.hasBlock) {
236
+ throw new BlockInputError({
237
+ code: BlockInputErrorCode.INVALID_CONSTRUCTION,
238
+ blockRoot: this.blockRootHex,
239
+ }, "Cannot addBlock to BlockInputBlobs after it already has a block");
240
+ }
218
241
  for (const { blobSidecar } of this.blobsCache.values()) {
219
242
  if (!blockAndBlobArePaired(block, blobSidecar)) {
220
243
  this.blobsCache.delete(blobSidecar.index);
@@ -229,8 +252,12 @@ export class BlockInputBlobs extends AbstractBlockInput {
229
252
  hasAllData,
230
253
  block,
231
254
  versionedHashes: block.message.body.blobKzgCommitments.map(kzgCommitmentToVersionedHash),
232
- source,
233
- timeCompleteSec: hasAllData ? source.seenTimestampSec : undefined,
255
+ source: {
256
+ source,
257
+ seenTimestampSec,
258
+ peerIdStr,
259
+ },
260
+ timeCompleteSec: hasAllData ? seenTimestampSec : undefined,
234
261
  };
235
262
  this.blockPromise.resolve(block);
236
263
  if (hasAllData) {
@@ -240,19 +267,7 @@ export class BlockInputBlobs extends AbstractBlockInput {
240
267
  hasBlob(blobIndex) {
241
268
  return this.blobsCache.has(blobIndex);
242
269
  }
243
- addBlob({ blockRootHex, blobSidecar, source, peerIdStr, seenTimestampSec }) {
244
- if (this.state.hasAllData) {
245
- throw new BlockInputError({
246
- code: BlockInputErrorCode.INVALID_CONSTRUCTION,
247
- blockRoot: this.blockRootHex,
248
- }, "Cannot addBlob to BlockInputBlobs after it already is complete");
249
- }
250
- if (this.blobsCache.has(blobSidecar.index)) {
251
- throw new BlockInputError({
252
- code: BlockInputErrorCode.INVALID_CONSTRUCTION,
253
- blockRoot: this.blockRootHex,
254
- }, "Cannot addBlob to BlockInputBlobs with duplicate blobIndex");
255
- }
270
+ addBlob({ blockRootHex, blobSidecar, source, peerIdStr, seenTimestampSec }, opts = { throwOnDuplicateAdd: true }) {
256
271
  // this check suffices for checking slot, parentRoot, and forkName
257
272
  if (blockRootHex !== this.blockRootHex) {
258
273
  throw new BlockInputError({
@@ -263,9 +278,19 @@ export class BlockInputBlobs extends AbstractBlockInput {
263
278
  peerId: `${peerIdStr}`,
264
279
  }, "Blob BeaconBlockHeader blockRootHex does not match BlockInput.blockRootHex");
265
280
  }
281
+ const isDuplicate = this.blobsCache.has(blobSidecar.index);
282
+ if (isDuplicate && opts.throwOnDuplicateAdd) {
283
+ throw new BlockInputError({
284
+ code: BlockInputErrorCode.INVALID_CONSTRUCTION,
285
+ blockRoot: this.blockRootHex,
286
+ }, "Cannot addBlob to BlockInputBlobs with duplicate blobIndex");
287
+ }
266
288
  if (this.state.hasBlock) {
267
289
  assertBlockAndBlobArePaired(this.blockRootHex, this.state.block, blobSidecar);
268
290
  }
291
+ if (isDuplicate) {
292
+ return;
293
+ }
269
294
  this.blobsCache.set(blobSidecar.index, { blobSidecar, source, seenTimestampSec, peerIdStr });
270
295
  if (this.state.hasBlock && this.blobsCache.size === this.state.block.message.body.blobKzgCommitments.length) {
271
296
  this.state = {
@@ -302,7 +327,7 @@ export class BlockInputBlobs extends AbstractBlockInput {
302
327
  blobMeta.push({
303
328
  index,
304
329
  blockRoot: fromHex(this.blockRootHex),
305
- versionHash: versionedHashes[index],
330
+ versionedHash: versionedHashes[index],
306
331
  });
307
332
  }
308
333
  }
@@ -349,14 +374,20 @@ function assertBlockAndBlobArePaired(blockRootHex, block, blobSidecar) {
349
374
  * - The block is not yet seen and all required sampled columns are not yet seen
350
375
  */
351
376
  export class BlockInputColumns extends AbstractBlockInput {
377
+ type = DAType.Columns;
378
+ state;
379
+ columnsCache = new Map();
380
+ sampledColumns;
381
+ custodyColumns;
352
382
  constructor(init, state, sampledColumns, custodyColumns) {
353
383
  super(init);
354
- this.type = DAType.Columns;
355
- this.columnsCache = new Map();
356
384
  this.state = state;
357
385
  this.sampledColumns = sampledColumns;
358
386
  this.custodyColumns = custodyColumns;
359
387
  }
388
+ get columnCount() {
389
+ return this.columnsCache.size;
390
+ }
360
391
  static createFromBlock(props) {
361
392
  const hasAllData = props.daOutOfRange ||
362
393
  props.block.message.body.blobKzgCommitments.length === 0 ||
@@ -366,13 +397,17 @@ export class BlockInputColumns extends AbstractBlockInput {
366
397
  hasAllData,
367
398
  versionedHashes: props.block.message.body.blobKzgCommitments.map(kzgCommitmentToVersionedHash),
368
399
  block: props.block,
369
- source: props.source,
370
- timeCreated: props.source.seenTimestampSec,
371
- timeCompleteSec: hasAllData ? props.source.seenTimestampSec : undefined,
400
+ source: {
401
+ source: props.source,
402
+ seenTimestampSec: props.seenTimestampSec,
403
+ peerIdStr: props.peerIdStr,
404
+ },
405
+ timeCreated: props.seenTimestampSec,
406
+ timeCompleteSec: hasAllData ? props.seenTimestampSec : undefined,
372
407
  };
373
408
  const init = {
374
409
  daOutOfRange: props.daOutOfRange,
375
- timeCreated: props.source.seenTimestampSec,
410
+ timeCreated: props.seenTimestampSec,
376
411
  forkName: props.forkName,
377
412
  blockRootHex: props.blockRootHex,
378
413
  parentRootHex: toRootHex(props.block.message.parentRoot),
@@ -408,8 +443,8 @@ export class BlockInputColumns extends AbstractBlockInput {
408
443
  }
409
444
  getLogMeta() {
410
445
  return {
411
- blockRoot: prettyBytes(this.blockRootHex),
412
446
  slot: this.slot,
447
+ blockRoot: prettyBytes(this.blockRootHex),
413
448
  timeCreatedSec: this.timeCreatedSec,
414
449
  expectedColumns: this.state.hasBlock && this.state.block.message.body.blobKzgCommitments.length === 0
415
450
  ? 0
@@ -417,27 +452,24 @@ export class BlockInputColumns extends AbstractBlockInput {
417
452
  receivedColumns: this.getSampledColumns().length,
418
453
  };
419
454
  }
420
- addBlock(props) {
421
- if (this.state.hasBlock) {
422
- throw new BlockInputError({
423
- code: BlockInputErrorCode.INVALID_CONSTRUCTION,
424
- blockRoot: this.blockRootHex,
425
- }, "Cannot addBlock to BlockInputColumns after it already has a block");
426
- }
455
+ addBlock(props, opts = { throwOnDuplicateAdd: true }) {
427
456
  if (props.blockRootHex !== this.blockRootHex) {
428
457
  throw new BlockInputError({
429
458
  code: BlockInputErrorCode.MISMATCHED_ROOT_HEX,
430
459
  blockInputRoot: this.blockRootHex,
431
460
  mismatchedRoot: props.blockRootHex,
432
- source: props.source.source,
433
- peerId: `${props.source.peerIdStr}`,
461
+ source: props.source,
462
+ peerId: `${props.peerIdStr}`,
434
463
  }, "addBlock blockRootHex does not match BlockInput.blockRootHex");
435
464
  }
436
- for (const { columnSidecar } of this.columnsCache.values()) {
437
- if (!blockAndColumnArePaired(props.block, columnSidecar)) {
438
- this.columnsCache.delete(columnSidecar.index);
439
- // this.logger?.error(`Removing columnIndex=${columnSidecar.index} from BlockInput`, {}, err);
440
- }
465
+ if (!opts.throwOnDuplicateAdd) {
466
+ return;
467
+ }
468
+ if (this.state.hasBlock) {
469
+ throw new BlockInputError({
470
+ code: BlockInputErrorCode.INVALID_CONSTRUCTION,
471
+ blockRoot: this.blockRootHex,
472
+ }, "Cannot addBlock to BlockInputColumns after it already has a block");
441
473
  }
442
474
  const hasAllData = props.block.message.body.blobKzgCommitments.length === 0 || this.state.hasAllData;
443
475
  this.state = {
@@ -445,12 +477,16 @@ export class BlockInputColumns extends AbstractBlockInput {
445
477
  hasBlock: true,
446
478
  hasAllData,
447
479
  block: props.block,
448
- source: props.source,
449
- timeCompleteSec: hasAllData ? props.source.seenTimestampSec : undefined,
480
+ source: {
481
+ source: props.source,
482
+ seenTimestampSec: props.seenTimestampSec,
483
+ peerIdStr: props.peerIdStr,
484
+ },
485
+ timeCompleteSec: hasAllData ? props.seenTimestampSec : undefined,
450
486
  };
451
487
  this.blockPromise.resolve(props.block);
452
488
  }
453
- addColumn({ blockRootHex, columnSidecar, source, seenTimestampSec, peerIdStr }) {
489
+ addColumn({ blockRootHex, columnSidecar, source, seenTimestampSec, peerIdStr }, opts = { throwOnDuplicateAdd: true }) {
454
490
  if (blockRootHex !== this.blockRootHex) {
455
491
  throw new BlockInputError({
456
492
  code: BlockInputErrorCode.MISMATCHED_ROOT_HEX,
@@ -460,8 +496,15 @@ export class BlockInputColumns extends AbstractBlockInput {
460
496
  peerId: `${peerIdStr}`,
461
497
  }, "Column BeaconBlockHeader blockRootHex does not match BlockInput.blockRootHex");
462
498
  }
463
- if (this.state.hasBlock) {
464
- assertBlockAndColumnArePaired(this.blockRootHex, this.state.block, columnSidecar);
499
+ const isDuplicate = this.columnsCache.has(columnSidecar.index);
500
+ if (isDuplicate && opts.throwOnDuplicateAdd) {
501
+ throw new BlockInputError({
502
+ code: BlockInputErrorCode.INVALID_CONSTRUCTION,
503
+ blockRoot: this.blockRootHex,
504
+ }, "Cannot addColumn to BlockInputColumns with duplicate column index");
505
+ }
506
+ if (isDuplicate) {
507
+ return;
465
508
  }
466
509
  this.columnsCache.set(columnSidecar.index, { columnSidecar, source, seenTimestampSec, peerIdStr });
467
510
  const sampledColumns = this.getSampledColumns();
@@ -491,6 +534,16 @@ export class BlockInputColumns extends AbstractBlockInput {
491
534
  }
492
535
  return columns;
493
536
  }
537
+ getSampledColumnsWithSource() {
538
+ const columns = [];
539
+ for (const index of this.sampledColumns) {
540
+ const column = this.columnsCache.get(index);
541
+ if (column) {
542
+ columns.push(column);
543
+ }
544
+ }
545
+ return columns;
546
+ }
494
547
  getSampledColumns() {
495
548
  const columns = [];
496
549
  for (const index of this.sampledColumns) {
@@ -509,30 +562,21 @@ export class BlockInputColumns extends AbstractBlockInput {
509
562
  }
510
563
  getMissingSampledColumnMeta() {
511
564
  if (this.state.hasAllData) {
512
- return [];
565
+ return {
566
+ missing: [],
567
+ versionedHashes: this.state.versionedHashes,
568
+ };
513
569
  }
514
- const needed = [];
515
- const blockRoot = fromHex(this.blockRootHex);
570
+ const missing = [];
516
571
  for (const index of this.sampledColumns) {
517
572
  if (!this.columnsCache.has(index)) {
518
- needed.push({ index, blockRoot });
573
+ missing.push(index);
519
574
  }
520
575
  }
521
- return needed;
522
- }
523
- }
524
- function blockAndColumnArePaired(block, columnSidecar) {
525
- return (block.message.body.blobKzgCommitments.length === columnSidecar.kzgCommitments.length &&
526
- block.message.body.blobKzgCommitments.every((commitment, index) => Buffer.compare(commitment, columnSidecar.kzgCommitments[index])));
527
- }
528
- function assertBlockAndColumnArePaired(blockRootHex, block, columnSidecar) {
529
- if (!blockAndColumnArePaired(block, columnSidecar)) {
530
- throw new BlockInputError({
531
- code: BlockInputErrorCode.MISMATCHED_KZG_COMMITMENT,
532
- blockRoot: blockRootHex,
533
- slot: block.message.slot,
534
- sidecarIndex: columnSidecar.index,
535
- }, "DataColumnsSidecar kzgCommitment does not match block kzgCommitment");
576
+ return {
577
+ missing,
578
+ versionedHashes: this.state.versionedHashes,
579
+ };
536
580
  }
537
581
  }
538
582
  //# sourceMappingURL=blockInput.js.map