@lodestar/beacon-node 1.33.0 → 1.34.0-dev.083b7cce17

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 (305) hide show
  1. package/lib/api/impl/beacon/blocks/index.js +175 -56
  2. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  3. package/lib/api/impl/beacon/pool/index.js +5 -5
  4. package/lib/api/impl/beacon/pool/index.js.map +1 -1
  5. package/lib/api/impl/beacon/state/index.js +24 -17
  6. package/lib/api/impl/beacon/state/index.js.map +1 -1
  7. package/lib/api/impl/debug/index.d.ts +1 -1
  8. package/lib/api/impl/debug/index.js +24 -1
  9. package/lib/api/impl/debug/index.js.map +1 -1
  10. package/lib/api/impl/events/index.js +1 -1
  11. package/lib/api/impl/events/index.js.map +1 -1
  12. package/lib/api/impl/validator/index.js +72 -49
  13. package/lib/api/impl/validator/index.js.map +1 -1
  14. package/lib/api/impl/validator/utils.d.ts +3 -3
  15. package/lib/api/impl/validator/utils.js +2 -2
  16. package/lib/api/impl/validator/utils.js.map +1 -1
  17. package/lib/chain/archiveStore/archiveStore.d.ts +1 -1
  18. package/lib/chain/archiveStore/archiveStore.js +2 -2
  19. package/lib/chain/archiveStore/interface.d.ts +1 -1
  20. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts +1 -1
  21. package/lib/chain/archiveStore/utils/archiveBlocks.js +91 -21
  22. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  23. package/lib/chain/beaconProposerCache.d.ts +1 -0
  24. package/lib/chain/beaconProposerCache.js +3 -0
  25. package/lib/chain/beaconProposerCache.js.map +1 -1
  26. package/lib/chain/blocks/importBlock.js +3 -2
  27. package/lib/chain/blocks/importBlock.js.map +1 -1
  28. package/lib/chain/blocks/types.d.ts +66 -23
  29. package/lib/chain/blocks/types.js +39 -5
  30. package/lib/chain/blocks/types.js.map +1 -1
  31. package/lib/chain/blocks/utils/blowfishBanner.js +1 -0
  32. package/lib/chain/blocks/utils/blowfishBanner.js.map +1 -1
  33. package/lib/chain/blocks/utils/giraffeBanner.js +1 -0
  34. package/lib/chain/blocks/utils/giraffeBanner.js.map +1 -1
  35. package/lib/chain/blocks/utils/zebraBanner.d.ts +2 -0
  36. package/lib/chain/blocks/utils/zebraBanner.js +46 -0
  37. package/lib/chain/blocks/utils/zebraBanner.js.map +1 -0
  38. package/lib/chain/blocks/verifyBlock.js +18 -5
  39. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  40. package/lib/chain/blocks/verifyBlocksDataAvailability.js +21 -10
  41. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  42. package/lib/chain/blocks/writeBlockInputToDb.js +63 -16
  43. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  44. package/lib/chain/bls/multithread/index.js +2 -2
  45. package/lib/chain/bls/multithread/index.js.map +1 -1
  46. package/lib/chain/chain.d.ts +18 -101
  47. package/lib/chain/chain.js +111 -78
  48. package/lib/chain/chain.js.map +1 -1
  49. package/lib/chain/emitter.d.ts +18 -2
  50. package/lib/chain/emitter.js +13 -0
  51. package/lib/chain/emitter.js.map +1 -1
  52. package/lib/chain/errors/dataColumnSidecarError.d.ts +69 -0
  53. package/lib/chain/errors/dataColumnSidecarError.js +21 -0
  54. package/lib/chain/errors/dataColumnSidecarError.js.map +1 -0
  55. package/lib/chain/errors/index.d.ts +1 -0
  56. package/lib/chain/errors/index.js +1 -0
  57. package/lib/chain/errors/index.js.map +1 -1
  58. package/lib/chain/forkChoice/index.d.ts +2 -1
  59. package/lib/chain/forkChoice/index.js +2 -2
  60. package/lib/chain/forkChoice/index.js.map +1 -1
  61. package/lib/chain/interface.d.ts +6 -7
  62. package/lib/chain/interface.js.map +1 -1
  63. package/lib/chain/opPools/aggregatedAttestationPool.js +13 -3
  64. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  65. package/lib/chain/opPools/attestationPool.d.ts +1 -1
  66. package/lib/chain/opPools/attestationPool.js +7 -7
  67. package/lib/chain/options.d.ts +4 -1
  68. package/lib/chain/options.js +1 -0
  69. package/lib/chain/options.js.map +1 -1
  70. package/lib/chain/prepareNextSlot.js +4 -2
  71. package/lib/chain/prepareNextSlot.js.map +1 -1
  72. package/lib/chain/produceBlock/produceBlockBody.d.ts +30 -16
  73. package/lib/chain/produceBlock/produceBlockBody.js +28 -28
  74. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  75. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts +6 -3
  76. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.js +28 -4
  77. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.js.map +1 -1
  78. package/lib/chain/rewards/syncCommitteeRewards.js +4 -4
  79. package/lib/chain/rewards/syncCommitteeRewards.js.map +1 -1
  80. package/lib/chain/seenCache/seenGossipBlockInput.d.ts +64 -18
  81. package/lib/chain/seenCache/seenGossipBlockInput.js +321 -53
  82. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  83. package/lib/chain/validation/aggregateAndProof.d.ts +1 -1
  84. package/lib/chain/validation/aggregateAndProof.js +8 -8
  85. package/lib/chain/validation/aggregateAndProof.js.map +1 -1
  86. package/lib/chain/validation/attestation.d.ts +3 -3
  87. package/lib/chain/validation/attestation.js +10 -10
  88. package/lib/chain/validation/attestation.js.map +1 -1
  89. package/lib/chain/validation/dataColumnSidecar.d.ts +29 -0
  90. package/lib/chain/validation/dataColumnSidecar.js +257 -0
  91. package/lib/chain/validation/dataColumnSidecar.js.map +1 -0
  92. package/lib/chain/validation/syncCommitteeContributionAndProof.js +2 -2
  93. package/lib/chain/validation/syncCommitteeContributionAndProof.js.map +1 -1
  94. package/lib/db/beacon.d.ts +3 -1
  95. package/lib/db/beacon.js +3 -1
  96. package/lib/db/beacon.js.map +1 -1
  97. package/lib/db/buckets.d.ts +3 -1
  98. package/lib/db/buckets.js +2 -0
  99. package/lib/db/buckets.js.map +1 -1
  100. package/lib/db/interface.d.ts +3 -1
  101. package/lib/db/repositories/dataColumnSidecar.d.ts +26 -0
  102. package/lib/db/repositories/dataColumnSidecar.js +39 -0
  103. package/lib/db/repositories/dataColumnSidecar.js.map +1 -0
  104. package/lib/db/repositories/dataColumnSidecarArchive.d.ts +24 -0
  105. package/lib/db/repositories/dataColumnSidecarArchive.js +39 -0
  106. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -0
  107. package/lib/db/repositories/index.d.ts +2 -0
  108. package/lib/db/repositories/index.js +2 -0
  109. package/lib/db/repositories/index.js.map +1 -1
  110. package/lib/db/repositories/stateArchive.js +1 -1
  111. package/lib/db/repositories/stateArchive.js.map +1 -1
  112. package/lib/execution/builder/http.d.ts +20 -4
  113. package/lib/execution/builder/http.js +30 -11
  114. package/lib/execution/builder/http.js.map +1 -1
  115. package/lib/execution/builder/interface.d.ts +5 -4
  116. package/lib/execution/engine/http.d.ts +8 -5
  117. package/lib/execution/engine/http.js +65 -46
  118. package/lib/execution/engine/http.js.map +1 -1
  119. package/lib/execution/engine/interface.d.ts +6 -13
  120. package/lib/execution/engine/interface.js +1 -1
  121. package/lib/execution/engine/interface.js.map +1 -1
  122. package/lib/execution/engine/mock.d.ts +5 -1
  123. package/lib/execution/engine/mock.js +58 -15
  124. package/lib/execution/engine/mock.js.map +1 -1
  125. package/lib/execution/engine/types.d.ts +15 -5
  126. package/lib/execution/engine/types.js +8 -2
  127. package/lib/execution/engine/types.js.map +1 -1
  128. package/lib/execution/engine/utils.js +1 -1
  129. package/lib/execution/engine/utils.js.map +1 -1
  130. package/lib/metrics/metrics/beacon.d.ts +16 -28
  131. package/lib/metrics/metrics/beacon.js +66 -75
  132. package/lib/metrics/metrics/beacon.js.map +1 -1
  133. package/lib/metrics/metrics/lodestar.d.ts +31 -1
  134. package/lib/metrics/metrics/lodestar.js +63 -0
  135. package/lib/metrics/metrics/lodestar.js.map +1 -1
  136. package/lib/metrics/metrics.d.ts +2 -1
  137. package/lib/metrics/metrics.js +3 -0
  138. package/lib/metrics/metrics.js.map +1 -1
  139. package/lib/network/core/metrics.d.ts +10 -3
  140. package/lib/network/core/metrics.js +22 -4
  141. package/lib/network/core/metrics.js.map +1 -1
  142. package/lib/network/core/networkCore.d.ts +15 -4
  143. package/lib/network/core/networkCore.js +73 -24
  144. package/lib/network/core/networkCore.js.map +1 -1
  145. package/lib/network/core/networkCoreWorker.js +2 -0
  146. package/lib/network/core/networkCoreWorker.js.map +1 -1
  147. package/lib/network/core/networkCoreWorkerHandler.d.ts +5 -3
  148. package/lib/network/core/networkCoreWorkerHandler.js +7 -2
  149. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  150. package/lib/network/core/types.d.ts +7 -4
  151. package/lib/network/events.d.ts +4 -2
  152. package/lib/network/events.js.map +1 -1
  153. package/lib/network/gossip/gossipsub.d.ts +2 -2
  154. package/lib/network/gossip/gossipsub.js +8 -6
  155. package/lib/network/gossip/gossipsub.js.map +1 -1
  156. package/lib/network/gossip/interface.d.ts +8 -1
  157. package/lib/network/gossip/interface.js +1 -0
  158. package/lib/network/gossip/interface.js.map +1 -1
  159. package/lib/network/gossip/scoringParameters.d.ts +6 -2
  160. package/lib/network/gossip/scoringParameters.js.map +1 -1
  161. package/lib/network/gossip/topic.d.ts +2038 -1489
  162. package/lib/network/gossip/topic.js +29 -1
  163. package/lib/network/gossip/topic.js.map +1 -1
  164. package/lib/network/interface.d.ts +11 -3
  165. package/lib/network/metadata.d.ts +9 -5
  166. package/lib/network/metadata.js +26 -5
  167. package/lib/network/metadata.js.map +1 -1
  168. package/lib/network/network.d.ts +14 -4
  169. package/lib/network/network.js +73 -11
  170. package/lib/network/network.js.map +1 -1
  171. package/lib/network/networkConfig.d.ts +12 -0
  172. package/lib/network/networkConfig.js +2 -0
  173. package/lib/network/networkConfig.js.map +1 -0
  174. package/lib/network/options.d.ts +1 -0
  175. package/lib/network/options.js +7 -2
  176. package/lib/network/options.js.map +1 -1
  177. package/lib/network/peers/discover.d.ts +8 -3
  178. package/lib/network/peers/discover.js +99 -14
  179. package/lib/network/peers/discover.js.map +1 -1
  180. package/lib/network/peers/peerManager.d.ts +10 -4
  181. package/lib/network/peers/peerManager.js +108 -19
  182. package/lib/network/peers/peerManager.js.map +1 -1
  183. package/lib/network/peers/peersData.d.ts +17 -3
  184. package/lib/network/peers/peersData.js.map +1 -1
  185. package/lib/network/peers/score/interface.d.ts +1 -1
  186. package/lib/network/peers/score/score.d.ts +2 -2
  187. package/lib/network/peers/score/score.js +4 -1
  188. package/lib/network/peers/score/score.js.map +1 -1
  189. package/lib/network/peers/score/store.d.ts +3 -1
  190. package/lib/network/peers/score/store.js +6 -2
  191. package/lib/network/peers/score/store.js.map +1 -1
  192. package/lib/network/peers/utils/assertPeerRelevance.d.ts +7 -3
  193. package/lib/network/peers/utils/assertPeerRelevance.js +10 -1
  194. package/lib/network/peers/utils/assertPeerRelevance.js.map +1 -1
  195. package/lib/network/peers/utils/prioritizePeers.d.ts +19 -7
  196. package/lib/network/peers/utils/prioritizePeers.js +42 -6
  197. package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
  198. package/lib/network/processor/extractSlotRootFns.js +8 -1
  199. package/lib/network/processor/extractSlotRootFns.js.map +1 -1
  200. package/lib/network/processor/gossipHandlers.js +172 -23
  201. package/lib/network/processor/gossipHandlers.js.map +1 -1
  202. package/lib/network/processor/gossipQueues/index.js +5 -0
  203. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  204. package/lib/network/processor/index.js +1 -0
  205. package/lib/network/processor/index.js.map +1 -1
  206. package/lib/network/reqresp/ReqRespBeaconNode.d.ts +2 -2
  207. package/lib/network/reqresp/ReqRespBeaconNode.js +36 -14
  208. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  209. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.d.ts +24 -4
  210. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js +261 -20
  211. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js.map +1 -1
  212. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.d.ts +37 -6
  213. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js +283 -28
  214. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js.map +1 -1
  215. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts +1 -1
  216. package/lib/network/reqresp/handlers/beaconBlocksByRange.js +3 -3
  217. package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
  218. package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts +2 -2
  219. package/lib/network/reqresp/handlers/beaconBlocksByRoot.js.map +1 -1
  220. package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts +2 -2
  221. package/lib/network/reqresp/handlers/blobSidecarsByRange.js +2 -3
  222. package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +1 -1
  223. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts +8 -0
  224. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +113 -0
  225. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -0
  226. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts +6 -0
  227. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js +64 -0
  228. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -0
  229. package/lib/network/reqresp/handlers/index.js +13 -2
  230. package/lib/network/reqresp/handlers/index.js.map +1 -1
  231. package/lib/network/reqresp/protocols.d.ts +4 -0
  232. package/lib/network/reqresp/protocols.js +20 -0
  233. package/lib/network/reqresp/protocols.js.map +1 -1
  234. package/lib/network/reqresp/rateLimit.js +19 -3
  235. package/lib/network/reqresp/rateLimit.js.map +1 -1
  236. package/lib/network/reqresp/score.js +3 -0
  237. package/lib/network/reqresp/score.js.map +1 -1
  238. package/lib/network/reqresp/types.d.ts +13 -6
  239. package/lib/network/reqresp/types.js +14 -5
  240. package/lib/network/reqresp/types.js.map +1 -1
  241. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts +16 -0
  242. package/lib/network/reqresp/utils/dataColumnResponseValidation.js +59 -0
  243. package/lib/network/reqresp/utils/dataColumnResponseValidation.js.map +1 -0
  244. package/lib/network/statusCache.d.ts +5 -5
  245. package/lib/network/statusCache.js.map +1 -1
  246. package/lib/network/subnets/interface.d.ts +3 -0
  247. package/lib/network/subnets/interface.js +14 -1
  248. package/lib/network/subnets/interface.js.map +1 -1
  249. package/lib/network/subnets/syncnetsService.js +4 -5
  250. package/lib/network/subnets/syncnetsService.js.map +1 -1
  251. package/lib/node/nodejs.js +1 -0
  252. package/lib/node/nodejs.js.map +1 -1
  253. package/lib/sync/backfill/backfill.js +1 -1
  254. package/lib/sync/backfill/backfill.js.map +1 -1
  255. package/lib/sync/constants.d.ts +18 -3
  256. package/lib/sync/constants.js +21 -3
  257. package/lib/sync/constants.js.map +1 -1
  258. package/lib/sync/interface.d.ts +2 -2
  259. package/lib/sync/interface.js +1 -1
  260. package/lib/sync/interface.js.map +1 -1
  261. package/lib/sync/range/batch.d.ts +17 -2
  262. package/lib/sync/range/batch.js +39 -7
  263. package/lib/sync/range/batch.js.map +1 -1
  264. package/lib/sync/range/chain.d.ts +15 -1
  265. package/lib/sync/range/chain.js +124 -33
  266. package/lib/sync/range/chain.js.map +1 -1
  267. package/lib/sync/range/range.d.ts +3 -2
  268. package/lib/sync/range/range.js +9 -3
  269. package/lib/sync/range/range.js.map +1 -1
  270. package/lib/sync/range/utils/chainTarget.d.ts +5 -1
  271. package/lib/sync/range/utils/chainTarget.js +26 -1
  272. package/lib/sync/range/utils/chainTarget.js.map +1 -1
  273. package/lib/sync/range/utils/peerBalancer.d.ts +19 -5
  274. package/lib/sync/range/utils/peerBalancer.js +104 -10
  275. package/lib/sync/range/utils/peerBalancer.js.map +1 -1
  276. package/lib/sync/sync.js +1 -1
  277. package/lib/sync/sync.js.map +1 -1
  278. package/lib/sync/unknownBlock.d.ts +54 -5
  279. package/lib/sync/unknownBlock.js +321 -61
  280. package/lib/sync/unknownBlock.js.map +1 -1
  281. package/lib/sync/utils/remoteSyncType.d.ts +4 -4
  282. package/lib/sync/utils/remoteSyncType.js.map +1 -1
  283. package/lib/util/blobs.d.ts +16 -4
  284. package/lib/util/blobs.js +122 -5
  285. package/lib/util/blobs.js.map +1 -1
  286. package/lib/util/dataColumns.d.ts +137 -0
  287. package/lib/util/dataColumns.js +362 -0
  288. package/lib/util/dataColumns.js.map +1 -0
  289. package/lib/util/metadata.d.ts +5 -0
  290. package/lib/util/metadata.js +10 -0
  291. package/lib/util/metadata.js.map +1 -1
  292. package/lib/util/queue/fnQueue.js +1 -1
  293. package/lib/util/queue/fnQueue.js.map +1 -1
  294. package/lib/util/queue/itemQueue.js +1 -1
  295. package/lib/util/queue/itemQueue.js.map +1 -1
  296. package/lib/util/sszBytes.d.ts +3 -0
  297. package/lib/util/sszBytes.js +40 -0
  298. package/lib/util/sszBytes.js.map +1 -1
  299. package/lib/util/types.d.ts +7 -0
  300. package/lib/util/types.js +3 -0
  301. package/lib/util/types.js.map +1 -1
  302. package/package.json +19 -20
  303. package/lib/network/reqresp/handlers/status.d.ts +0 -4
  304. package/lib/network/reqresp/handlers/status.js +0 -11
  305. package/lib/network/reqresp/handlers/status.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataColumnSidecar.js","sourceRoot":"","sources":["../../../src/chain/validation/dataColumnSidecar.ts"],"names":[],"mappings":"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"}
@@ -82,7 +82,7 @@ function getContributionIndices(state, contribution) {
82
82
  const startIndex = contribution.subcommitteeIndex * SYNC_COMMITTEE_SUBNET_SIZE;
83
83
  const syncCommittee = state.epochCtx.getIndexedSyncCommittee(contribution.slot);
84
84
  // The bits in contribution.aggregationBits select validatorIndexes in the subcommittee starting at startIndex
85
- const subcommitteeIndices = syncCommittee.validatorIndices.slice(startIndex, startIndex + SYNC_COMMITTEE_SUBNET_SIZE);
86
- return contribution.aggregationBits.intersectValues(subcommitteeIndices);
85
+ const subcommitteeValidatorIndices = syncCommittee.validatorIndices.slice(startIndex, startIndex + SYNC_COMMITTEE_SUBNET_SIZE);
86
+ return contribution.aggregationBits.intersectValues(subcommitteeValidatorIndices);
87
87
  }
88
88
  //# sourceMappingURL=syncCommitteeContributionAndProof.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"syncCommitteeContributionAndProof.js","sourceRoot":"","sources":["../../../src/chain/validation/syncCommitteeContributionAndProof.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syncCommitteeContributionAndProof.js","sourceRoot":"","sources":["../../../src/chain/validation/syncCommitteeContributionAndProof.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { ChainForkConfig } from "@lodestar/config";
2
2
  import { Db, LevelDbControllerMetrics } from "@lodestar/db";
3
3
  import { IBeaconDb } from "./interface.js";
4
4
  import { CheckpointStateRepository } from "./repositories/checkpointState.js";
5
- import { AttesterSlashingRepository, BLSToExecutionChangeRepository, BackfilledRanges, BestLightClientUpdateRepository, BlobSidecarsArchiveRepository, BlobSidecarsRepository, BlockArchiveRepository, BlockRepository, CheckpointHeaderRepository, DepositDataRootRepository, DepositEventRepository, Eth1DataRepository, ProposerSlashingRepository, StateArchiveRepository, SyncCommitteeRepository, SyncCommitteeWitnessRepository, VoluntaryExitRepository } from "./repositories/index.js";
5
+ import { AttesterSlashingRepository, BLSToExecutionChangeRepository, BackfilledRanges, BestLightClientUpdateRepository, BlobSidecarsArchiveRepository, BlobSidecarsRepository, BlockArchiveRepository, BlockRepository, CheckpointHeaderRepository, DataColumnSidecarArchiveRepository, DataColumnSidecarRepository, DepositDataRootRepository, DepositEventRepository, Eth1DataRepository, ProposerSlashingRepository, StateArchiveRepository, SyncCommitteeRepository, SyncCommitteeWitnessRepository, VoluntaryExitRepository } from "./repositories/index.js";
6
6
  import { PreGenesisState, PreGenesisStateLastProcessedBlock } from "./single/index.js";
7
7
  export type BeaconDbModules = {
8
8
  config: ChainForkConfig;
@@ -14,6 +14,8 @@ export declare class BeaconDb implements IBeaconDb {
14
14
  blockArchive: BlockArchiveRepository;
15
15
  blobSidecars: BlobSidecarsRepository;
16
16
  blobSidecarsArchive: BlobSidecarsArchiveRepository;
17
+ dataColumnSidecar: DataColumnSidecarRepository;
18
+ dataColumnSidecarArchive: DataColumnSidecarArchiveRepository;
17
19
  stateArchive: StateArchiveRepository;
18
20
  checkpointState: CheckpointStateRepository;
19
21
  voluntaryExit: VoluntaryExitRepository;
package/lib/db/beacon.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { CheckpointStateRepository } from "./repositories/checkpointState.js";
2
- import { AttesterSlashingRepository, BLSToExecutionChangeRepository, BackfilledRanges, BestLightClientUpdateRepository, BlobSidecarsArchiveRepository, BlobSidecarsRepository, BlockArchiveRepository, BlockRepository, CheckpointHeaderRepository, DepositDataRootRepository, DepositEventRepository, Eth1DataRepository, ProposerSlashingRepository, StateArchiveRepository, SyncCommitteeRepository, SyncCommitteeWitnessRepository, VoluntaryExitRepository, } from "./repositories/index.js";
2
+ import { AttesterSlashingRepository, BLSToExecutionChangeRepository, BackfilledRanges, BestLightClientUpdateRepository, BlobSidecarsArchiveRepository, BlobSidecarsRepository, BlockArchiveRepository, BlockRepository, CheckpointHeaderRepository, DataColumnSidecarArchiveRepository, DataColumnSidecarRepository, DepositDataRootRepository, DepositEventRepository, Eth1DataRepository, ProposerSlashingRepository, StateArchiveRepository, SyncCommitteeRepository, SyncCommitteeWitnessRepository, VoluntaryExitRepository, } from "./repositories/index.js";
3
3
  import { PreGenesisState, PreGenesisStateLastProcessedBlock } from "./single/index.js";
4
4
  export class BeaconDb {
5
5
  constructor(config, db) {
@@ -9,6 +9,8 @@ export class BeaconDb {
9
9
  this.blockArchive = new BlockArchiveRepository(config, db);
10
10
  this.blobSidecars = new BlobSidecarsRepository(config, db);
11
11
  this.blobSidecarsArchive = new BlobSidecarsArchiveRepository(config, db);
12
+ this.dataColumnSidecar = new DataColumnSidecarRepository(config, db);
13
+ this.dataColumnSidecarArchive = new DataColumnSidecarArchiveRepository(config, db);
12
14
  this.stateArchive = new StateArchiveRepository(config, db);
13
15
  this.checkpointState = new CheckpointStateRepository(config, db);
14
16
  this.voluntaryExit = new VoluntaryExitRepository(config, db);
@@ -1 +1 @@
1
- {"version":3,"file":"beacon.js","sourceRoot":"","sources":["../../src/db/beacon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"beacon.js","sourceRoot":"","sources":["../../src/db/beacon.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,9 @@ export declare enum Bucket {
24
24
  lightClient_syncCommitteeWitness = 51,// BlockRoot -> SyncCommitteeWitness
25
25
  lightClient_syncCommittee = 52,// Root(altair.SyncCommittee) -> altair.SyncCommittee
26
26
  lightClient_checkpointHeader = 53,// BlockRoot -> phase0.BeaconBlockHeader
27
- lightClient_bestLightClientUpdate = 56
27
+ lightClient_bestLightClientUpdate = 56,// SyncPeriod -> [Slot, LightClientUpdate]
28
+ allForks_dataColumnSidecars = 57,// FULU BeaconBlockRoot -> DataColumnSidecars
29
+ allForks_dataColumnSidecarsArchive = 58
28
30
  }
29
31
  export declare function getBucketNameByValue<T extends Bucket>(enumValue: T): keyof typeof Bucket;
30
32
  //# sourceMappingURL=buckets.d.ts.map
package/lib/db/buckets.js CHANGED
@@ -54,6 +54,8 @@ export var Bucket;
54
54
  // 54 was for bestPartialLightClientUpdate, allocate a fresh one
55
55
  // lightClient_bestLightClientUpdate = 55, // SyncPeriod -> LightClientUpdate // DEPRECATED on v1.5.0
56
56
  Bucket[Bucket["lightClient_bestLightClientUpdate"] = 56] = "lightClient_bestLightClientUpdate";
57
+ Bucket[Bucket["allForks_dataColumnSidecars"] = 57] = "allForks_dataColumnSidecars";
58
+ Bucket[Bucket["allForks_dataColumnSidecarsArchive"] = 58] = "allForks_dataColumnSidecarsArchive";
57
59
  })(Bucket || (Bucket = {}));
58
60
  export function getBucketNameByValue(enumValue) {
59
61
  const keys = Object.keys(Bucket).filter((x) => {
@@ -1 +1 @@
1
- {"version":3,"file":"buckets.js","sourceRoot":"","sources":["../../src/db/buckets.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,MAAM,CAAN,IAAY,MA8DX;AA9DD,WAAY,MAAM;IAChB,eAAe;IACf,mBAAmB;IACnB,qEAAyB,CAAA;IACzB,qBAAqB;IACrB,uDAAkB,CAAA;IAClB,mBAAmB;IACnB,qEAAyB,CAAA;IACzB,qCAAqC;IACrC,6FAAqC,CAAA;IACrC,iFAA+B,CAAA;IAC/B,kBAAkB;IAClB,mDAAmD;IACnD,kBAAkB;IAClB,yDAAmB,CAAA;IACnB,8CAA8C;IAC9C,yDAAmB,CAAA;IACnB,kBAAkB;IAClB,yDAAmB,CAAA;IACnB,qEAAyB,CAAA;IAEzB,UAAU;IACV,oDAAoD;IACpD,oFAAoF;IACpF,gEAAuB,CAAA;IACvB,kDAAgB,CAAA;IAChB,0EAA4B,CAAA;IAC5B,8EAA8B,CAAA;IAC9B,oFAAiC,CAAA;IACjC,oBAAoB;IACpB,4EAA6B,CAAA;IAE7B,oFAAoF;IACpF,kEAAwB,CAAA;IAExB,kFAAgC,CAAA;IAEhC,sEAA0B,CAAA;IAC1B,oFAAiC,CAAA;IAEjC,wEAA2B,CAAA;IAC3B,4GAA6C,CAAA;IAE7C,qBAAqB;IACrB,qEAAqE;IACrE,8DAA8D;IAC9D,iEAAiE;IACjE,uEAAuE;IACvE,6DAA6D;IAC7D,sEAAsE;IACtE,4DAA4D;IAE5D,8DAAsB,CAAA;IAEtB,2CAA2C;IAC3C,4FAAqC,CAAA;IACrC,8EAA8B,CAAA;IAC9B,yCAAyC;IACzC,oFAAiC,CAAA;IACjC,gEAAgE;IAChE,qGAAqG;IACrG,8FAAsC,CAAA;AACxC,CAAC,EA9DW,MAAM,KAAN,MAAM,QA8DjB;AAED,MAAM,UAAU,oBAAoB,CAAmB,SAAY;IACjE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5C,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC,CAAwB,CAAC,KAAK,SAAS,CAAC;QACxD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAA4B,CAAC;IAC9B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"buckets.js","sourceRoot":"","sources":["../../src/db/buckets.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,MAAM,CAAN,IAAY,MAiEX;AAjED,WAAY,MAAM;IAChB,eAAe;IACf,mBAAmB;IACnB,qEAAyB,CAAA;IACzB,qBAAqB;IACrB,uDAAkB,CAAA;IAClB,mBAAmB;IACnB,qEAAyB,CAAA;IACzB,qCAAqC;IACrC,6FAAqC,CAAA;IACrC,iFAA+B,CAAA;IAC/B,kBAAkB;IAClB,mDAAmD;IACnD,kBAAkB;IAClB,yDAAmB,CAAA;IACnB,8CAA8C;IAC9C,yDAAmB,CAAA;IACnB,kBAAkB;IAClB,yDAAmB,CAAA;IACnB,qEAAyB,CAAA;IAEzB,UAAU;IACV,oDAAoD;IACpD,oFAAoF;IACpF,gEAAuB,CAAA;IACvB,kDAAgB,CAAA;IAChB,0EAA4B,CAAA;IAC5B,8EAA8B,CAAA;IAC9B,oFAAiC,CAAA;IACjC,oBAAoB;IACpB,4EAA6B,CAAA;IAE7B,oFAAoF;IACpF,kEAAwB,CAAA;IAExB,kFAAgC,CAAA;IAEhC,sEAA0B,CAAA;IAC1B,oFAAiC,CAAA;IAEjC,wEAA2B,CAAA;IAC3B,4GAA6C,CAAA;IAE7C,qBAAqB;IACrB,qEAAqE;IACrE,8DAA8D;IAC9D,iEAAiE;IACjE,uEAAuE;IACvE,6DAA6D;IAC7D,sEAAsE;IACtE,4DAA4D;IAE5D,8DAAsB,CAAA;IAEtB,2CAA2C;IAC3C,4FAAqC,CAAA;IACrC,8EAA8B,CAAA;IAC9B,yCAAyC;IACzC,oFAAiC,CAAA;IACjC,gEAAgE;IAChE,qGAAqG;IACrG,8FAAsC,CAAA;IAEtC,kFAAgC,CAAA;IAChC,gGAAuC,CAAA;AACzC,CAAC,EAjEW,MAAM,KAAN,MAAM,QAiEjB;AAED,MAAM,UAAU,oBAAoB,CAAmB,SAAY;IACjE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5C,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC,CAAwB,CAAC,KAAK,SAAS,CAAC;QACxD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAA4B,CAAC;IAC9B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAAC;AAC3D,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { LevelDbControllerMetrics } from "@lodestar/db";
2
2
  import { CheckpointStateRepository } from "./repositories/checkpointState.js";
3
- import { AttesterSlashingRepository, BLSToExecutionChangeRepository, BackfilledRanges, BestLightClientUpdateRepository, BlobSidecarsArchiveRepository, BlobSidecarsRepository, BlockArchiveRepository, BlockRepository, CheckpointHeaderRepository, DepositDataRootRepository, DepositEventRepository, Eth1DataRepository, ProposerSlashingRepository, StateArchiveRepository, SyncCommitteeRepository, SyncCommitteeWitnessRepository, VoluntaryExitRepository } from "./repositories/index.js";
3
+ import { AttesterSlashingRepository, BLSToExecutionChangeRepository, BackfilledRanges, BestLightClientUpdateRepository, BlobSidecarsArchiveRepository, BlobSidecarsRepository, BlockArchiveRepository, BlockRepository, CheckpointHeaderRepository, DataColumnSidecarArchiveRepository, DataColumnSidecarRepository, DepositDataRootRepository, DepositEventRepository, Eth1DataRepository, ProposerSlashingRepository, StateArchiveRepository, SyncCommitteeRepository, SyncCommitteeWitnessRepository, VoluntaryExitRepository } from "./repositories/index.js";
4
4
  import { PreGenesisState, PreGenesisStateLastProcessedBlock } from "./single/index.js";
5
5
  /**
6
6
  * The DB service manages the data layer of the beacon chain
@@ -12,6 +12,8 @@ export interface IBeaconDb {
12
12
  blockArchive: BlockArchiveRepository;
13
13
  blobSidecars: BlobSidecarsRepository;
14
14
  blobSidecarsArchive: BlobSidecarsArchiveRepository;
15
+ dataColumnSidecar: DataColumnSidecarRepository;
16
+ dataColumnSidecarArchive: DataColumnSidecarArchiveRepository;
15
17
  stateArchive: StateArchiveRepository;
16
18
  checkpointState: CheckpointStateRepository;
17
19
  voluntaryExit: VoluntaryExitRepository;
@@ -0,0 +1,26 @@
1
+ import { ChainForkConfig } from "@lodestar/config";
2
+ import { Db, PrefixedRepository } from "@lodestar/db";
3
+ import { ColumnIndex, Root, fulu } from "@lodestar/types";
4
+ type BlockRoot = Root;
5
+ /**
6
+ * DataColumnSidecarsRepository
7
+ * Used to store `unfinalized` DataColumnSidecars
8
+ *
9
+ * Indexed data by `blockRoot` + `columnIndex`
10
+ */
11
+ export declare class DataColumnSidecarRepository extends PrefixedRepository<BlockRoot, ColumnIndex, fulu.DataColumnSidecar> {
12
+ constructor(config: ChainForkConfig, db: Db);
13
+ /**
14
+ * Id is hashTreeRoot of unsigned BeaconBlock
15
+ */
16
+ getId(value: fulu.DataColumnSidecar): ColumnIndex;
17
+ encodeKeyRaw(prefix: BlockRoot, id: ColumnIndex): Uint8Array;
18
+ decodeKeyRaw(raw: Uint8Array): {
19
+ prefix: BlockRoot;
20
+ id: ColumnIndex;
21
+ };
22
+ getMaxKeyRaw(prefix: BlockRoot): Uint8Array;
23
+ getMinKeyRaw(prefix: BlockRoot): Uint8Array;
24
+ }
25
+ export {};
26
+ //# sourceMappingURL=dataColumnSidecar.d.ts.map
@@ -0,0 +1,39 @@
1
+ import { PrefixedRepository } from "@lodestar/db";
2
+ import { NUMBER_OF_COLUMNS } from "@lodestar/params";
3
+ import { ssz } from "@lodestar/types";
4
+ import { bytesToInt, intToBytes } from "@lodestar/utils";
5
+ import { Bucket, getBucketNameByValue } from "../buckets.js";
6
+ /**
7
+ * DataColumnSidecarsRepository
8
+ * Used to store `unfinalized` DataColumnSidecars
9
+ *
10
+ * Indexed data by `blockRoot` + `columnIndex`
11
+ */
12
+ export class DataColumnSidecarRepository extends PrefixedRepository {
13
+ constructor(config, db) {
14
+ const bucket = Bucket.allForks_dataColumnSidecars;
15
+ super(config, db, bucket, ssz.fulu.DataColumnSidecar, getBucketNameByValue(bucket));
16
+ }
17
+ /**
18
+ * Id is hashTreeRoot of unsigned BeaconBlock
19
+ */
20
+ getId(value) {
21
+ return value.index;
22
+ }
23
+ encodeKeyRaw(prefix, id) {
24
+ return Buffer.concat([prefix, intToBytes(id, 4)]);
25
+ }
26
+ decodeKeyRaw(raw) {
27
+ return {
28
+ prefix: raw.slice(0, 32),
29
+ id: bytesToInt(raw.slice(32, 36)),
30
+ };
31
+ }
32
+ getMaxKeyRaw(prefix) {
33
+ return Buffer.concat([prefix, intToBytes(NUMBER_OF_COLUMNS, 4)]);
34
+ }
35
+ getMinKeyRaw(prefix) {
36
+ return Buffer.concat([prefix, intToBytes(0, 4)]);
37
+ }
38
+ }
39
+ //# sourceMappingURL=dataColumnSidecar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataColumnSidecar.js","sourceRoot":"","sources":["../../../src/db/repositories/dataColumnSidecar.ts"],"names":[],"mappings":"AACA,OAAO,EAAK,kBAAkB,EAAC,MAAM,cAAc,CAAC;AACpD,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAA0B,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAC,UAAU,EAAE,UAAU,EAAC,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAI3D;;;;;GAKG;AACH,MAAM,OAAO,2BAA4B,SAAQ,kBAAkE;IACjH,YAAY,MAAuB,EAAE,EAAM;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,2BAA2B,CAAC;QAClD,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IACtF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAA6B;QACjC,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,YAAY,CAAC,MAAiB,EAAE,EAAe;QAC7C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,YAAY,CAAC,GAAe;QAC1B,OAAO;YACL,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAc;YACrC,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAgB;SACjD,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,MAAiB;QAC5B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,YAAY,CAAC,MAAiB;QAC5B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;CACF"}
@@ -0,0 +1,24 @@
1
+ import { ChainForkConfig } from "@lodestar/config";
2
+ import { Db, PrefixedRepository } from "@lodestar/db";
3
+ import { ColumnIndex, Slot, fulu } from "@lodestar/types";
4
+ /**
5
+ * DataColumnSidecarsRepository
6
+ * Used to store `finalized` DataColumnSidecars
7
+ *
8
+ * Indexed data by `slot` + `columnIndex`
9
+ */
10
+ export declare class DataColumnSidecarArchiveRepository extends PrefixedRepository<Slot, ColumnIndex, fulu.DataColumnSidecar> {
11
+ constructor(config: ChainForkConfig, db: Db);
12
+ /**
13
+ * Id is hashTreeRoot of unsigned BeaconBlock
14
+ */
15
+ getId(value: fulu.DataColumnSidecar): ColumnIndex;
16
+ encodeKeyRaw(prefix: Slot, id: ColumnIndex): Uint8Array;
17
+ decodeKeyRaw(raw: Uint8Array): {
18
+ prefix: Slot;
19
+ id: ColumnIndex;
20
+ };
21
+ getMaxKeyRaw(prefix: Slot): Uint8Array;
22
+ getMinKeyRaw(prefix: Slot): Uint8Array;
23
+ }
24
+ //# sourceMappingURL=dataColumnSidecarArchive.d.ts.map
@@ -0,0 +1,39 @@
1
+ import { PrefixedRepository } from "@lodestar/db";
2
+ import { NUMBER_OF_COLUMNS } from "@lodestar/params";
3
+ import { ssz } from "@lodestar/types";
4
+ import { bytesToInt, intToBytes } from "@lodestar/utils";
5
+ import { Bucket, getBucketNameByValue } from "../buckets.js";
6
+ /**
7
+ * DataColumnSidecarsRepository
8
+ * Used to store `finalized` DataColumnSidecars
9
+ *
10
+ * Indexed data by `slot` + `columnIndex`
11
+ */
12
+ export class DataColumnSidecarArchiveRepository extends PrefixedRepository {
13
+ constructor(config, db) {
14
+ const bucket = Bucket.allForks_dataColumnSidecarsArchive;
15
+ super(config, db, bucket, ssz.fulu.DataColumnSidecar, getBucketNameByValue(bucket));
16
+ }
17
+ /**
18
+ * Id is hashTreeRoot of unsigned BeaconBlock
19
+ */
20
+ getId(value) {
21
+ return value.index;
22
+ }
23
+ encodeKeyRaw(prefix, id) {
24
+ return Buffer.concat([intToBytes(prefix, 4), intToBytes(id, 4)]);
25
+ }
26
+ decodeKeyRaw(raw) {
27
+ return {
28
+ prefix: bytesToInt(raw.slice(0, 4)),
29
+ id: bytesToInt(raw.slice(4, 8)),
30
+ };
31
+ }
32
+ getMaxKeyRaw(prefix) {
33
+ return Buffer.concat([intToBytes(prefix, 4), intToBytes(NUMBER_OF_COLUMNS, 4)]);
34
+ }
35
+ getMinKeyRaw(prefix) {
36
+ return Buffer.concat([intToBytes(prefix, 4), intToBytes(0, 4)]);
37
+ }
38
+ }
39
+ //# sourceMappingURL=dataColumnSidecarArchive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataColumnSidecarArchive.js","sourceRoot":"","sources":["../../../src/db/repositories/dataColumnSidecarArchive.ts"],"names":[],"mappings":"AACA,OAAO,EAAK,kBAAkB,EAAC,MAAM,cAAc,CAAC;AACpD,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAA0B,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAC,UAAU,EAAE,UAAU,EAAC,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,OAAO,kCAAmC,SAAQ,kBAA6D;IACnH,YAAY,MAAuB,EAAE,EAAM;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,kCAAkC,CAAC;QACzD,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IACtF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAA6B;QACjC,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,YAAY,CAAC,MAAY,EAAE,EAAe;QACxC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,YAAY,CAAC,GAAe;QAC1B,OAAO;YACL,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAS;YAC3C,EAAE,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAgB;SAC/C,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,MAAY;QACvB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,YAAY,CAAC,MAAY;QACvB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;CACF"}
@@ -1,5 +1,7 @@
1
1
  export { BlobSidecarsRepository } from "./blobSidecars.js";
2
2
  export { BlobSidecarsArchiveRepository } from "./blobSidecarsArchive.js";
3
+ export { DataColumnSidecarRepository } from "./dataColumnSidecar.js";
4
+ export { DataColumnSidecarArchiveRepository } from "./dataColumnSidecarArchive.js";
3
5
  export { BlockRepository } from "./block.js";
4
6
  export { BlockArchiveRepository } from "./blockArchive.js";
5
7
  export type { BlockArchiveBatchPutBinaryItem, BlockFilterOptions } from "./blockArchive.js";
@@ -1,5 +1,7 @@
1
1
  export { BlobSidecarsRepository } from "./blobSidecars.js";
2
2
  export { BlobSidecarsArchiveRepository } from "./blobSidecarsArchive.js";
3
+ export { DataColumnSidecarRepository } from "./dataColumnSidecar.js";
4
+ export { DataColumnSidecarArchiveRepository } from "./dataColumnSidecarArchive.js";
3
5
  export { BlockRepository } from "./block.js";
4
6
  export { BlockArchiveRepository } from "./blockArchive.js";
5
7
  export { StateArchiveRepository } from "./stateArchive.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/db/repositories/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,6BAA6B,EAAC,MAAM,0BAA0B,CAAC;AAEvE,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAC,0BAA0B,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,0BAA0B,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,uBAAuB,EAAC,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAC,yBAAyB,EAAC,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAC,+BAA+B,EAAC,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAC,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAC,uBAAuB,EAAC,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAC,8BAA8B,EAAC,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,8BAA8B,EAAC,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/db/repositories/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,6BAA6B,EAAC,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAC,2BAA2B,EAAC,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAC,kCAAkC,EAAC,MAAM,+BAA+B,CAAC;AAEjF,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAC,0BAA0B,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,0BAA0B,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,uBAAuB,EAAC,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAC,yBAAyB,EAAC,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAC,+BAA+B,EAAC,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAC,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAC,uBAAuB,EAAC,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAC,8BAA8B,EAAC,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,8BAA8B,EAAC,MAAM,2BAA2B,CAAC"}
@@ -7,7 +7,7 @@ import { getRootIndexKey, storeRootIndex } from "./stateArchiveIndex.js";
7
7
  export class StateArchiveRepository extends Repository {
8
8
  constructor(config, db) {
9
9
  // Pick some type but won't be used. Casted to any because no type can match `BeaconStateAllForks`
10
- // biome-ignore lint/suspicious/noExplicitAny: <explanation>
10
+ // biome-ignore lint/suspicious/noExplicitAny: We need to use `any` type here
11
11
  const type = ssz.phase0.BeaconState;
12
12
  const bucket = Bucket.allForks_stateArchive;
13
13
  super(config, db, bucket, type, getBucketNameByValue(bucket));
@@ -1 +1 @@
1
- {"version":3,"file":"stateArchive.js","sourceRoot":"","sources":["../../../src/db/repositories/stateArchive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stateArchive.js","sourceRoot":"","sources":["../../../src/db/repositories/stateArchive.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { ApiClient as BuilderApi } from "@lodestar/api/builder";
2
2
  import { ChainForkConfig } from "@lodestar/config";
3
3
  import { Logger } from "@lodestar/logger";
4
4
  import { ForkPostBellatrix } from "@lodestar/params";
5
- import { BLSPubkey, Epoch, ExecutionPayloadHeader, Root, SignedBeaconBlockOrContents, SignedBlindedBeaconBlock, Slot, Wei, WithOptionalBytes, bellatrix, deneb, electra } from "@lodestar/types";
5
+ import { BLSPubkey, Epoch, ExecutionPayloadHeader, Root, SignedBlindedBeaconBlock, SignedBlockContents, Slot, Wei, WithOptionalBytes, bellatrix, deneb, electra } from "@lodestar/types";
6
6
  import { Metrics } from "../../metrics/metrics.js";
7
7
  import { ValidatorRegistration, ValidatorRegistrationCache } from "./cache.js";
8
8
  import { IExecutionBuilder } from "./interface.js";
@@ -16,6 +16,22 @@ export type ExecutionBuilderHttpOpts = {
16
16
  userAgent?: string;
17
17
  };
18
18
  export declare const defaultExecutionBuilderHttpOpts: ExecutionBuilderHttpOpts;
19
+ export declare enum BuilderStatus {
20
+ /**
21
+ * Builder is enabled and operational
22
+ */
23
+ enabled = "enabled",
24
+ /**
25
+ * Builder is disabled due to failed status check
26
+ */
27
+ disabled = "disabled",
28
+ /**
29
+ * Circuit breaker condition that is triggered when the node determines the chain is unhealthy.
30
+ * When the circuit breaker is fired, proposers **MUST** not utilize the external builder
31
+ * network and exclusively build locally.
32
+ */
33
+ circuitBreaker = "circuit_breaker"
34
+ }
19
35
  /**
20
36
  * Expected error if builder does not provide a bid. Most of the time, this
21
37
  * is due to `min-bid` setting on the mev-boost side but in rare cases could
@@ -29,7 +45,7 @@ export declare class ExecutionBuilderHttp implements IExecutionBuilder {
29
45
  readonly config: ChainForkConfig;
30
46
  readonly registrations: ValidatorRegistrationCache;
31
47
  readonly issueLocalFcUWithFeeRecipient?: string;
32
- status: boolean;
48
+ status: BuilderStatus;
33
49
  faultInspectionWindow: number;
34
50
  allowedFaults: number;
35
51
  /**
@@ -39,7 +55,7 @@ export declare class ExecutionBuilderHttp implements IExecutionBuilder {
39
55
  */
40
56
  private sszSupported;
41
57
  constructor(opts: ExecutionBuilderHttpOpts, config: ChainForkConfig, metrics?: Metrics | null, logger?: Logger);
42
- updateStatus(shouldEnable: boolean): void;
58
+ updateStatus(status: BuilderStatus): void;
43
59
  checkStatus(): Promise<void>;
44
60
  registerValidator(epoch: Epoch, registrations: bellatrix.SignedValidatorRegistrationV1[]): Promise<void>;
45
61
  getValidatorRegistration(pubkey: BLSPubkey): ValidatorRegistration | undefined;
@@ -49,7 +65,7 @@ export declare class ExecutionBuilderHttp implements IExecutionBuilder {
49
65
  blobKzgCommitments?: deneb.BlobKzgCommitments;
50
66
  executionRequests?: electra.ExecutionRequests;
51
67
  }>;
52
- submitBlindedBlock(signedBlindedBlock: WithOptionalBytes<SignedBlindedBeaconBlock>): Promise<SignedBeaconBlockOrContents>;
68
+ submitBlindedBlock(signedBlindedBlock: WithOptionalBytes<SignedBlindedBeaconBlock>): Promise<SignedBlockContents>;
53
69
  submitBlindedBlockNoResponse(signedBlindedBlock: WithOptionalBytes<SignedBlindedBeaconBlock>): Promise<void>;
54
70
  }
55
71
  //# sourceMappingURL=http.d.ts.map
@@ -1,7 +1,7 @@
1
1
  import { WireFormat } from "@lodestar/api";
2
2
  import { getClient } from "@lodestar/api/builder";
3
3
  import { SLOTS_PER_EPOCH } from "@lodestar/params";
4
- import { parseExecutionPayloadAndBlobsBundle, reconstructFullBlockOrContents } from "@lodestar/state-transition";
4
+ import { parseExecutionPayloadAndBlobsBundle, reconstructSignedBlockContents } from "@lodestar/state-transition";
5
5
  import { toPrintableUrl } from "@lodestar/utils";
6
6
  import { ValidatorRegistrationCache } from "./cache.js";
7
7
  export const defaultExecutionBuilderHttpOpts = {
@@ -9,6 +9,23 @@ export const defaultExecutionBuilderHttpOpts = {
9
9
  url: "http://localhost:8661",
10
10
  timeout: 12000,
11
11
  };
12
+ export var BuilderStatus;
13
+ (function (BuilderStatus) {
14
+ /**
15
+ * Builder is enabled and operational
16
+ */
17
+ BuilderStatus["enabled"] = "enabled";
18
+ /**
19
+ * Builder is disabled due to failed status check
20
+ */
21
+ BuilderStatus["disabled"] = "disabled";
22
+ /**
23
+ * Circuit breaker condition that is triggered when the node determines the chain is unhealthy.
24
+ * When the circuit breaker is fired, proposers **MUST** not utilize the external builder
25
+ * network and exclusively build locally.
26
+ */
27
+ BuilderStatus["circuitBreaker"] = "circuit_breaker";
28
+ })(BuilderStatus || (BuilderStatus = {}));
12
29
  /**
13
30
  * Expected error if builder does not provide a bid. Most of the time, this
14
31
  * is due to `min-bid` setting on the mev-boost side but in rare cases could
@@ -32,7 +49,7 @@ const BUILDER_PROPOSAL_DELAY_TOLERANCE = 1000 + EVENT_LOOP_LAG_BUFFER;
32
49
  export class ExecutionBuilderHttp {
33
50
  constructor(opts, config, metrics = null, logger) {
34
51
  // Builder needs to be explicity enabled using updateStatus
35
- this.status = false;
52
+ this.status = BuilderStatus.disabled;
36
53
  /**
37
54
  * Determine if SSZ is supported by requesting an SSZ encoded response in the `getHeader` request.
38
55
  * The builder responding with a SSZ serialized `SignedBuilderBid` indicates support to handle the
@@ -57,24 +74,26 @@ export class ExecutionBuilderHttp {
57
74
  * Beacon clients select randomized values from the following ranges when initializing
58
75
  * the circuit breaker (so at boot time and once for each unique boot).
59
76
  *
60
- * ALLOWED_FAULTS: between 1 and SLOTS_PER_EPOCH // 2
77
+ * ALLOWED_FAULTS: between 1 and SLOTS_PER_EPOCH // 4
61
78
  * FAULT_INSPECTION_WINDOW: between SLOTS_PER_EPOCH and 2 * SLOTS_PER_EPOCH
62
79
  *
63
80
  */
64
81
  this.faultInspectionWindow = Math.max(opts.faultInspectionWindow ?? SLOTS_PER_EPOCH + Math.floor(Math.random() * SLOTS_PER_EPOCH), SLOTS_PER_EPOCH);
65
- // allowedFaults should be < faultInspectionWindow, limiting them to faultInspectionWindow/2
66
- this.allowedFaults = Math.min(opts.allowedFaults ?? Math.floor(this.faultInspectionWindow / 2), Math.floor(this.faultInspectionWindow / 2));
82
+ // allowedFaults should be < faultInspectionWindow, limiting them to faultInspectionWindow/4
83
+ this.allowedFaults = Math.min(opts.allowedFaults ?? Math.floor(this.faultInspectionWindow / 4), Math.floor(this.faultInspectionWindow / 4));
67
84
  }
68
- updateStatus(shouldEnable) {
69
- this.status = shouldEnable;
85
+ updateStatus(status) {
86
+ this.status = status;
70
87
  }
71
88
  async checkStatus() {
72
89
  try {
73
90
  (await this.api.status()).assertOk();
74
91
  }
75
92
  catch (e) {
76
- // Disable if the status was enabled
77
- this.status = false;
93
+ if (this.status === BuilderStatus.enabled) {
94
+ // Disable if the status was enabled
95
+ this.status = BuilderStatus.disabled;
96
+ }
78
97
  throw e;
79
98
  }
80
99
  }
@@ -108,8 +127,8 @@ export class ExecutionBuilderHttp {
108
127
  // invalid signature, but there is no recourse to this anyway so lets just proceed and will
109
128
  // probably need diagonis if this block turns out to be invalid because of some bug
110
129
  //
111
- const contents = blobsBundle ? { blobs: blobsBundle.blobs, kzgProofs: blobsBundle.proofs } : null;
112
- return reconstructFullBlockOrContents(signedBlindedBlock.data, { executionPayload, contents });
130
+ const fork = this.config.getForkName(signedBlindedBlock.data.message.slot);
131
+ return reconstructSignedBlockContents(fork, signedBlindedBlock.data, executionPayload, blobsBundle);
113
132
  }
114
133
  async submitBlindedBlockNoResponse(signedBlindedBlock) {
115
134
  (await this.api.submitBlindedBlockV2({ signedBlindedBlock }, { retries: 2, requestWireFormat: this.sszSupported ? WireFormat.ssz : WireFormat.json })).assertOk();
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/execution/builder/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/execution/builder/http.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { ForkPostBellatrix } from "@lodestar/params";
2
- import { BLSPubkey, Epoch, ExecutionPayloadHeader, Root, SignedBeaconBlockOrContents, SignedBlindedBeaconBlock, Slot, Wei, WithOptionalBytes, bellatrix, deneb, electra } from "@lodestar/types";
2
+ import { BLSPubkey, Epoch, ExecutionPayloadHeader, Root, SignedBlindedBeaconBlock, SignedBlockContents, Slot, Wei, WithOptionalBytes, bellatrix, deneb, electra } from "@lodestar/types";
3
3
  import { ValidatorRegistration } from "./cache.js";
4
+ import { BuilderStatus } from "./http.js";
4
5
  export interface IExecutionBuilder {
5
6
  /**
6
7
  * This param is only to for testing scripts using merge-mock which need
@@ -8,12 +9,12 @@ export interface IExecutionBuilder {
8
9
  * fetch
9
10
  */
10
11
  readonly issueLocalFcUWithFeeRecipient?: string;
11
- status: boolean;
12
+ status: BuilderStatus;
12
13
  /** Window to inspect missed slots for enabling/disabling builder circuit breaker */
13
14
  faultInspectionWindow: number;
14
15
  /** Number of missed slots allowed in the faultInspectionWindow for builder circuit*/
15
16
  allowedFaults: number;
16
- updateStatus(shouldEnable: boolean): void;
17
+ updateStatus(status: BuilderStatus): void;
17
18
  checkStatus(): Promise<void>;
18
19
  registerValidator(epoch: Epoch, registrations: bellatrix.SignedValidatorRegistrationV1[]): Promise<void>;
19
20
  getValidatorRegistration(pubkey: BLSPubkey): ValidatorRegistration | undefined;
@@ -23,7 +24,7 @@ export interface IExecutionBuilder {
23
24
  blobKzgCommitments?: deneb.BlobKzgCommitments;
24
25
  executionRequests?: electra.ExecutionRequests;
25
26
  }>;
26
- submitBlindedBlock(signedBlindedBlock: WithOptionalBytes<SignedBlindedBeaconBlock>): Promise<SignedBeaconBlockOrContents>;
27
+ submitBlindedBlock(signedBlindedBlock: WithOptionalBytes<SignedBlindedBeaconBlock>): Promise<SignedBlockContents>;
27
28
  submitBlindedBlockNoResponse(signedBlindedBlock: WithOptionalBytes<SignedBlindedBeaconBlock>): Promise<void>;
28
29
  }
29
30
  //# sourceMappingURL=interface.d.ts.map
@@ -1,10 +1,11 @@
1
1
  import { Logger } from "@lodestar/logger";
2
- import { ForkName } from "@lodestar/params";
3
- import { ExecutionPayload, ExecutionRequests, Root, RootHex, Wei } from "@lodestar/types";
2
+ import { ForkName, ForkPostFulu, ForkPreFulu } from "@lodestar/params";
3
+ import { BlobsBundle, ExecutionPayload, ExecutionRequests, Root, RootHex, Wei } from "@lodestar/types";
4
4
  import { BlobAndProof } from "@lodestar/types/deneb";
5
+ import { BlobAndProofV2 } from "@lodestar/types/fulu";
5
6
  import { IJsonRpcHttpClient } from "../../eth1/provider/jsonRpcHttpClient.js";
6
7
  import { Metrics } from "../../metrics/index.js";
7
- import { BlobsBundle, ClientVersion, ExecutePayloadResponse, ExecutionEngineState, IExecutionEngine, PayloadAttributes, PayloadId, VersionedHashes } from "./interface.js";
8
+ import { ClientVersion, ExecutePayloadResponse, ExecutionEngineState, IExecutionEngine, PayloadAttributes, PayloadId, VersionedHashes } from "./interface.js";
8
9
  import { PayloadIdCache } from "./payloadIdCache.js";
9
10
  import { ExecutionPayloadBody } from "./types.js";
10
11
  export type ExecutionEngineModules = {
@@ -55,7 +56,6 @@ export declare class ExecutionEngineHttp implements IExecutionEngine {
55
56
  private readonly rpc;
56
57
  private readonly opts?;
57
58
  private logger;
58
- private lastGetBlobsErrorTime;
59
59
  state: ExecutionEngineState;
60
60
  /** Cached EL client version from the latest getClientVersion call */
61
61
  clientVersion?: ClientVersion | null;
@@ -146,7 +146,10 @@ export declare class ExecutionEngineHttp implements IExecutionEngine {
146
146
  prunePayloadIdCache(): Promise<void>;
147
147
  getPayloadBodiesByHash(_fork: ForkName, blockHashes: RootHex[]): Promise<(ExecutionPayloadBody | null)[]>;
148
148
  getPayloadBodiesByRange(_fork: ForkName, startBlockNumber: number, blockCount: number): Promise<(ExecutionPayloadBody | null)[]>;
149
- getBlobs(_fork: ForkName, versionedHashes: VersionedHashes): Promise<(BlobAndProof | null)[]>;
149
+ getBlobs(fork: ForkPostFulu, versionedHashes: VersionedHashes): Promise<BlobAndProofV2[] | null>;
150
+ getBlobs(fork: ForkPreFulu, versionedHashes: VersionedHashes): Promise<(BlobAndProof | null)[]>;
151
+ private getBlobsV1;
152
+ private getBlobsV2;
150
153
  private getClientVersion;
151
154
  private updateEngineState;
152
155
  }