@lodestar/beacon-node 1.32.0-peerDAS.fbabed864b → 1.32.0-rc.0

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 (250) hide show
  1. package/lib/api/impl/beacon/blocks/index.js +33 -42
  2. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  3. package/lib/api/impl/beacon/state/index.js +13 -1
  4. package/lib/api/impl/beacon/state/index.js.map +1 -1
  5. package/lib/api/impl/validator/index.js +43 -29
  6. package/lib/api/impl/validator/index.js.map +1 -1
  7. package/lib/chain/archiveStore/archiveStore.d.ts +1 -1
  8. package/lib/chain/archiveStore/archiveStore.js +2 -2
  9. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  10. package/lib/chain/archiveStore/historicalState/metrics.js +13 -0
  11. package/lib/chain/archiveStore/historicalState/metrics.js.map +1 -1
  12. package/lib/chain/archiveStore/interface.d.ts +1 -1
  13. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts +1 -1
  14. package/lib/chain/archiveStore/utils/archiveBlocks.js +51 -88
  15. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  16. package/lib/chain/beaconProposerCache.d.ts +0 -1
  17. package/lib/chain/beaconProposerCache.js +0 -3
  18. package/lib/chain/beaconProposerCache.js.map +1 -1
  19. package/lib/chain/blocks/importBlock.js +4 -60
  20. package/lib/chain/blocks/importBlock.js.map +1 -1
  21. package/lib/chain/blocks/types.d.ts +24 -65
  22. package/lib/chain/blocks/types.js +6 -39
  23. package/lib/chain/blocks/types.js.map +1 -1
  24. package/lib/chain/blocks/verifyBlocksDataAvailability.js +10 -21
  25. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  26. package/lib/chain/blocks/writeBlockInputToDb.js +15 -89
  27. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  28. package/lib/chain/chain.d.ts +8 -16
  29. package/lib/chain/chain.js +14 -23
  30. package/lib/chain/chain.js.map +1 -1
  31. package/lib/chain/emitter.d.ts +2 -18
  32. package/lib/chain/emitter.js +0 -13
  33. package/lib/chain/emitter.js.map +1 -1
  34. package/lib/chain/errors/index.d.ts +0 -1
  35. package/lib/chain/errors/index.js +0 -1
  36. package/lib/chain/errors/index.js.map +1 -1
  37. package/lib/chain/interface.d.ts +5 -11
  38. package/lib/chain/interface.js.map +1 -1
  39. package/lib/chain/options.d.ts +3 -6
  40. package/lib/chain/options.js +0 -4
  41. package/lib/chain/options.js.map +1 -1
  42. package/lib/chain/produceBlock/produceBlockBody.d.ts +3 -5
  43. package/lib/chain/produceBlock/produceBlockBody.js +141 -117
  44. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  45. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts +2 -3
  46. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.js +2 -25
  47. package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.js.map +1 -1
  48. package/lib/chain/seenCache/seenGossipBlockInput.d.ts +18 -61
  49. package/lib/chain/seenCache/seenGossipBlockInput.js +53 -254
  50. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  51. package/lib/chain/validation/block.js +1 -1
  52. package/lib/chain/validation/block.js.map +1 -1
  53. package/lib/db/beacon.d.ts +1 -3
  54. package/lib/db/beacon.js +1 -3
  55. package/lib/db/beacon.js.map +1 -1
  56. package/lib/db/buckets.d.ts +1 -3
  57. package/lib/db/buckets.js +0 -2
  58. package/lib/db/buckets.js.map +1 -1
  59. package/lib/db/interface.d.ts +1 -3
  60. package/lib/db/repositories/index.d.ts +0 -2
  61. package/lib/db/repositories/index.js +0 -2
  62. package/lib/db/repositories/index.js.map +1 -1
  63. package/lib/execution/engine/http.d.ts +3 -5
  64. package/lib/execution/engine/http.js +31 -70
  65. package/lib/execution/engine/http.js.map +1 -1
  66. package/lib/execution/engine/interface.d.ts +2 -4
  67. package/lib/execution/engine/interface.js +1 -1
  68. package/lib/execution/engine/interface.js.map +1 -1
  69. package/lib/execution/engine/mock.d.ts +0 -1
  70. package/lib/execution/engine/mock.js +0 -5
  71. package/lib/execution/engine/mock.js.map +1 -1
  72. package/lib/execution/engine/types.d.ts +0 -10
  73. package/lib/execution/engine/types.js +0 -6
  74. package/lib/execution/engine/types.js.map +1 -1
  75. package/lib/metrics/metrics/beacon.d.ts +3 -12
  76. package/lib/metrics/metrics/beacon.js +13 -44
  77. package/lib/metrics/metrics/beacon.js.map +1 -1
  78. package/lib/network/core/metrics.d.ts +3 -10
  79. package/lib/network/core/metrics.js +4 -22
  80. package/lib/network/core/metrics.js.map +1 -1
  81. package/lib/network/core/networkCore.d.ts +4 -10
  82. package/lib/network/core/networkCore.js +55 -67
  83. package/lib/network/core/networkCore.js.map +1 -1
  84. package/lib/network/core/networkCoreWorker.js +0 -2
  85. package/lib/network/core/networkCoreWorker.js.map +1 -1
  86. package/lib/network/core/networkCoreWorkerHandler.d.ts +0 -2
  87. package/lib/network/core/networkCoreWorkerHandler.js +0 -7
  88. package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
  89. package/lib/network/core/types.d.ts +0 -4
  90. package/lib/network/discv5/index.d.ts +1 -0
  91. package/lib/network/discv5/index.js +1 -0
  92. package/lib/network/discv5/index.js.map +1 -1
  93. package/lib/network/discv5/types.d.ts +1 -0
  94. package/lib/network/discv5/utils.d.ts +3 -1
  95. package/lib/network/discv5/utils.js +14 -4
  96. package/lib/network/discv5/utils.js.map +1 -1
  97. package/lib/network/discv5/worker.js +5 -1
  98. package/lib/network/discv5/worker.js.map +1 -1
  99. package/lib/network/events.d.ts +1 -3
  100. package/lib/network/events.js.map +1 -1
  101. package/lib/network/forks.d.ts +8 -9
  102. package/lib/network/forks.js +35 -33
  103. package/lib/network/forks.js.map +1 -1
  104. package/lib/network/gossip/encoding.js +1 -1
  105. package/lib/network/gossip/encoding.js.map +1 -1
  106. package/lib/network/gossip/gossipsub.js +15 -6
  107. package/lib/network/gossip/gossipsub.js.map +1 -1
  108. package/lib/network/gossip/interface.d.ts +3 -11
  109. package/lib/network/gossip/interface.js +0 -1
  110. package/lib/network/gossip/interface.js.map +1 -1
  111. package/lib/network/gossip/scoringParameters.js +10 -10
  112. package/lib/network/gossip/scoringParameters.js.map +1 -1
  113. package/lib/network/gossip/topic.d.ts +1497 -1513
  114. package/lib/network/gossip/topic.js +15 -33
  115. package/lib/network/gossip/topic.js.map +1 -1
  116. package/lib/network/interface.d.ts +1 -13
  117. package/lib/network/metadata.d.ts +6 -10
  118. package/lib/network/metadata.js +13 -30
  119. package/lib/network/metadata.js.map +1 -1
  120. package/lib/network/network.d.ts +1 -12
  121. package/lib/network/network.js +43 -85
  122. package/lib/network/network.js.map +1 -1
  123. package/lib/network/options.js +0 -2
  124. package/lib/network/options.js.map +1 -1
  125. package/lib/network/peers/discover.d.ts +3 -14
  126. package/lib/network/peers/discover.js +14 -139
  127. package/lib/network/peers/discover.js.map +1 -1
  128. package/lib/network/peers/peerManager.d.ts +2 -10
  129. package/lib/network/peers/peerManager.js +10 -96
  130. package/lib/network/peers/peerManager.js.map +1 -1
  131. package/lib/network/peers/peersData.d.ts +2 -8
  132. package/lib/network/peers/peersData.js.map +1 -1
  133. package/lib/network/peers/score/interface.d.ts +1 -1
  134. package/lib/network/peers/score/score.d.ts +2 -2
  135. package/lib/network/peers/score/score.js +1 -4
  136. package/lib/network/peers/score/score.js.map +1 -1
  137. package/lib/network/peers/score/store.d.ts +1 -3
  138. package/lib/network/peers/score/store.js +2 -6
  139. package/lib/network/peers/score/store.js.map +1 -1
  140. package/lib/network/peers/utils/prioritizePeers.d.ts +4 -15
  141. package/lib/network/peers/utils/prioritizePeers.js +5 -30
  142. package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
  143. package/lib/network/processor/extractSlotRootFns.js +1 -8
  144. package/lib/network/processor/extractSlotRootFns.js.map +1 -1
  145. package/lib/network/processor/gossipHandlers.js +30 -164
  146. package/lib/network/processor/gossipHandlers.js.map +1 -1
  147. package/lib/network/processor/gossipQueues/index.js +1 -6
  148. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  149. package/lib/network/processor/index.js +2 -3
  150. package/lib/network/processor/index.js.map +1 -1
  151. package/lib/network/reqresp/ReqRespBeaconNode.d.ts +3 -4
  152. package/lib/network/reqresp/ReqRespBeaconNode.js +14 -30
  153. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  154. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.d.ts +5 -14
  155. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js +14 -199
  156. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js.map +1 -1
  157. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.d.ts +6 -31
  158. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js +48 -282
  159. package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js.map +1 -1
  160. package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts +1 -1
  161. package/lib/network/reqresp/handlers/beaconBlocksByRange.js +3 -2
  162. package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
  163. package/lib/network/reqresp/handlers/beaconBlocksByRoot.js +2 -1
  164. package/lib/network/reqresp/handlers/beaconBlocksByRoot.js.map +1 -1
  165. package/lib/network/reqresp/handlers/blobSidecarsByRange.js +2 -1
  166. package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +1 -1
  167. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js +2 -1
  168. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +1 -1
  169. package/lib/network/reqresp/handlers/index.js +0 -10
  170. package/lib/network/reqresp/handlers/index.js.map +1 -1
  171. package/lib/network/reqresp/handlers/lightClientBootstrap.js +4 -3
  172. package/lib/network/reqresp/handlers/lightClientBootstrap.js.map +1 -1
  173. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.js +4 -3
  174. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.js.map +1 -1
  175. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.js +4 -3
  176. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.js.map +1 -1
  177. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.js +4 -3
  178. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.js.map +1 -1
  179. package/lib/network/reqresp/handlers/status.js +2 -2
  180. package/lib/network/reqresp/handlers/status.js.map +1 -1
  181. package/lib/network/reqresp/protocols.d.ts +0 -3
  182. package/lib/network/reqresp/protocols.js +1 -16
  183. package/lib/network/reqresp/protocols.js.map +1 -1
  184. package/lib/network/reqresp/rateLimit.js +1 -11
  185. package/lib/network/reqresp/rateLimit.js.map +1 -1
  186. package/lib/network/reqresp/types.d.ts +6 -13
  187. package/lib/network/reqresp/types.js +2 -9
  188. package/lib/network/reqresp/types.js.map +1 -1
  189. package/lib/network/subnets/attnetsService.d.ts +3 -4
  190. package/lib/network/subnets/attnetsService.js +18 -17
  191. package/lib/network/subnets/attnetsService.js.map +1 -1
  192. package/lib/network/subnets/interface.d.ts +3 -6
  193. package/lib/network/subnets/interface.js +1 -14
  194. package/lib/network/subnets/interface.js.map +1 -1
  195. package/lib/network/subnets/syncnetsService.d.ts +3 -4
  196. package/lib/network/subnets/syncnetsService.js +14 -13
  197. package/lib/network/subnets/syncnetsService.js.map +1 -1
  198. package/lib/node/nodejs.js +0 -1
  199. package/lib/node/nodejs.js.map +1 -1
  200. package/lib/sync/interface.d.ts +2 -2
  201. package/lib/sync/interface.js +1 -1
  202. package/lib/sync/interface.js.map +1 -1
  203. package/lib/sync/range/batch.d.ts +2 -8
  204. package/lib/sync/range/batch.js +7 -19
  205. package/lib/sync/range/batch.js.map +1 -1
  206. package/lib/sync/range/chain.d.ts +2 -7
  207. package/lib/sync/range/chain.js +21 -45
  208. package/lib/sync/range/chain.js.map +1 -1
  209. package/lib/sync/range/range.js +3 -3
  210. package/lib/sync/range/range.js.map +1 -1
  211. package/lib/sync/range/utils/peerBalancer.d.ts +1 -4
  212. package/lib/sync/range/utils/peerBalancer.js +2 -20
  213. package/lib/sync/range/utils/peerBalancer.js.map +1 -1
  214. package/lib/sync/unknownBlock.d.ts +1 -8
  215. package/lib/sync/unknownBlock.js +63 -222
  216. package/lib/sync/unknownBlock.js.map +1 -1
  217. package/lib/util/blobs.d.ts +1 -13
  218. package/lib/util/blobs.js +1 -44
  219. package/lib/util/blobs.js.map +1 -1
  220. package/lib/util/metadata.d.ts +0 -4
  221. package/lib/util/metadata.js +0 -7
  222. package/lib/util/metadata.js.map +1 -1
  223. package/lib/util/sszBytes.d.ts +0 -1
  224. package/lib/util/sszBytes.js +0 -17
  225. package/lib/util/sszBytes.js.map +1 -1
  226. package/package.json +14 -14
  227. package/lib/chain/errors/dataColumnSidecarError.d.ts +0 -69
  228. package/lib/chain/errors/dataColumnSidecarError.js +0 -21
  229. package/lib/chain/errors/dataColumnSidecarError.js.map +0 -1
  230. package/lib/chain/validation/dataColumnSidecar.d.ts +0 -28
  231. package/lib/chain/validation/dataColumnSidecar.js +0 -245
  232. package/lib/chain/validation/dataColumnSidecar.js.map +0 -1
  233. package/lib/db/repositories/dataColumnSidecars.d.ts +0 -47
  234. package/lib/db/repositories/dataColumnSidecars.js +0 -40
  235. package/lib/db/repositories/dataColumnSidecars.js.map +0 -1
  236. package/lib/db/repositories/dataColumnSidecarsArchive.d.ts +0 -15
  237. package/lib/db/repositories/dataColumnSidecarsArchive.js +0 -23
  238. package/lib/db/repositories/dataColumnSidecarsArchive.js.map +0 -1
  239. package/lib/network/networkConfig.d.ts +0 -23
  240. package/lib/network/networkConfig.js +0 -32
  241. package/lib/network/networkConfig.js.map +0 -1
  242. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts +0 -8
  243. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +0 -106
  244. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +0 -1
  245. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts +0 -6
  246. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js +0 -57
  247. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +0 -1
  248. package/lib/util/dataColumns.d.ts +0 -125
  249. package/lib/util/dataColumns.js +0 -284
  250. package/lib/util/dataColumns.js.map +0 -1
@@ -1,13 +1,13 @@
1
- import type { ChainForkConfig } from "@lodestar/config";
1
+ import { ChainForkConfig } from "@lodestar/config";
2
2
  import { MaybeValidExecutionStatus } from "@lodestar/fork-choice";
3
- import { type ForkPostDeneb, ForkPostFulu, ForkPreFulu } from "@lodestar/params";
3
+ import { ForkPostDeneb } from "@lodestar/params";
4
4
  import { CachedBeaconStateAllForks, DataAvailabilityStatus } from "@lodestar/state-transition";
5
- import type { ColumnIndex, RootHex, SignedBeaconBlock, Slot, deneb, fulu } from "@lodestar/types";
5
+ import { RootHex, SignedBeaconBlock, Slot, deneb } from "@lodestar/types";
6
6
  export declare enum BlockInputType {
7
7
  preData = "preData",
8
8
  outOfRangeData = "outOfRangeData",
9
9
  availableData = "availableData",
10
- dataPromise = "data_promise"
10
+ dataPromise = "dataPromise"
11
11
  }
12
12
  /** Enum to represent where blocks come from */
13
13
  export declare enum BlockSource {
@@ -16,23 +16,6 @@ export declare enum BlockSource {
16
16
  byRange = "req_resp_by_range",
17
17
  byRoot = "req_resp_by_root"
18
18
  }
19
- export declare enum GossipedInputType {
20
- block = "block",
21
- blob = "blob",
22
- dataColumn = "data_column"
23
- }
24
- interface CachedDataItem {
25
- cacheId: number;
26
- }
27
- type Availability<T> = {
28
- availabilityPromise: Promise<T>;
29
- resolveAvailability: (data: T) => void;
30
- };
31
- /**
32
- *
33
- * Deneb Blob Format Types
34
- *
35
- */
36
19
  /** Enum to represent where blobs come from */
37
20
  export declare enum BlobsSource {
38
21
  gossip = "gossip",
@@ -40,51 +23,28 @@ export declare enum BlobsSource {
40
23
  byRange = "req_resp_by_range",
41
24
  byRoot = "req_resp_by_root"
42
25
  }
26
+ export declare enum GossipedInputType {
27
+ block = "block",
28
+ blob = "blob"
29
+ }
30
+ type BlobsCacheMap = Map<number, deneb.BlobSidecar>;
43
31
  type ForkBlobsInfo = {
44
- fork: ForkPostDeneb & ForkPreFulu;
32
+ fork: ForkPostDeneb;
45
33
  };
46
- export type BlockInputBlobs = ForkBlobsInfo & {
47
- blobs: deneb.BlobSidecars;
34
+ export type BlockInputBlobs = {
35
+ blobs: deneb.BlobSidecar[];
48
36
  blobsSource: BlobsSource;
49
37
  };
50
- export type BlobsCacheMap = Map<number, deneb.BlobSidecar>;
51
- export type CachedBlobs = CachedDataItem & ForkBlobsInfo & Availability<BlockInputBlobs> & {
52
- blobsCache: BlobsCacheMap;
53
- };
54
- /**
55
- *
56
- * PeerDAS Column Format Types
57
- *
58
- */
59
- export declare enum DataColumnsSource {
60
- gossip = "gossip",
61
- api = "api",
62
- byRange = "req_resp_by_range",
63
- byRoot = "req_resp_by_root"
64
- }
65
- type ForkDataColumnsInfo = {
66
- fork: ForkPostFulu;
67
- };
68
- type DataColumnData = {
69
- dataColumn: fulu.DataColumnSidecar;
70
- dataColumnBytes: Uint8Array | null;
71
- };
72
- export type DataColumnsCacheMap = Map<number, DataColumnData>;
73
- export type BlockInputDataColumns = ForkDataColumnsInfo & {
74
- dataColumns: fulu.DataColumnSidecars;
75
- dataColumnsBytes: (Uint8Array | null)[];
76
- dataColumnsSource: DataColumnsSource;
77
- };
78
- export type CachedDataColumns = CachedDataItem & ForkDataColumnsInfo & Availability<BlockInputDataColumns> & {
79
- dataColumnsCache: DataColumnsCacheMap;
38
+ export type BlockInputDataBlobs = ForkBlobsInfo & BlockInputBlobs;
39
+ export type BlockInputData = BlockInputDataBlobs;
40
+ type Availability<T> = {
41
+ availabilityPromise: Promise<T>;
42
+ resolveAvailability: (data: T) => void;
80
43
  };
81
- /**
82
- *
83
- * Cross-Fork Data Types
84
- *
85
- */
86
- export type BlockInputAvailableData = BlockInputBlobs | BlockInputDataColumns;
87
- export type CachedData = CachedBlobs | CachedDataColumns;
44
+ type CachedBlobs = {
45
+ blobsCache: BlobsCacheMap;
46
+ } & Availability<BlockInputDataBlobs>;
47
+ export type CachedData = ForkBlobsInfo & CachedBlobs;
88
48
  export type BlockInput = {
89
49
  block: SignedBeaconBlock;
90
50
  source: BlockSource;
@@ -93,7 +53,7 @@ export type BlockInput = {
93
53
  } | ({
94
54
  type: BlockInputType.availableData;
95
55
  } & {
96
- blockData: BlockInputAvailableData;
56
+ blockData: BlockInputData;
97
57
  }) | ({
98
58
  type: BlockInputType.dataPromise;
99
59
  } & {
@@ -110,11 +70,10 @@ export declare function blockRequiresBlobs(config: ChainForkConfig, blockSlot: S
110
70
  export declare const getBlockInput: {
111
71
  preData(config: ChainForkConfig, block: SignedBeaconBlock, source: BlockSource): BlockInput;
112
72
  outOfRangeData(config: ChainForkConfig, block: SignedBeaconBlock, source: BlockSource): BlockInput;
113
- availableData(config: ChainForkConfig, block: SignedBeaconBlock, source: BlockSource, blockData: BlockInputAvailableData): BlockInput;
73
+ availableData(config: ChainForkConfig, block: SignedBeaconBlock, source: BlockSource, blockData: BlockInputData): BlockInput;
114
74
  dataPromise(config: ChainForkConfig, block: SignedBeaconBlock, source: BlockSource, cachedData: CachedData): BlockInput;
115
75
  };
116
- export declare function getBlockInputBlobs(blobsCache: BlobsCacheMap): Omit<BlockInputBlobs, "fork" | "blobsSource">;
117
- export declare function getBlockInputDataColumns(dataColumnsCache: DataColumnsCacheMap, columnIndexes: ColumnIndex[]): Omit<BlockInputDataColumns, "fork" | "dataColumnsSource">;
76
+ export declare function getBlockInputBlobs(blobsCache: BlobsCacheMap): Omit<BlockInputBlobs, "blobsSource">;
118
77
  export declare enum AttestationImportOpt {
119
78
  Skip = 0,
120
79
  Force = 1
@@ -7,7 +7,7 @@ export var BlockInputType;
7
7
  // data is out of available window, can be used to sync forward and keep adding to forkchoice
8
8
  BlockInputType["outOfRangeData"] = "outOfRangeData";
9
9
  BlockInputType["availableData"] = "availableData";
10
- BlockInputType["dataPromise"] = "data_promise";
10
+ BlockInputType["dataPromise"] = "dataPromise";
11
11
  })(BlockInputType || (BlockInputType = {}));
12
12
  /** Enum to represent where blocks come from */
13
13
  export var BlockSource;
@@ -17,17 +17,6 @@ export var BlockSource;
17
17
  BlockSource["byRange"] = "req_resp_by_range";
18
18
  BlockSource["byRoot"] = "req_resp_by_root";
19
19
  })(BlockSource || (BlockSource = {}));
20
- export var GossipedInputType;
21
- (function (GossipedInputType) {
22
- GossipedInputType["block"] = "block";
23
- GossipedInputType["blob"] = "blob";
24
- GossipedInputType["dataColumn"] = "data_column";
25
- })(GossipedInputType || (GossipedInputType = {}));
26
- /**
27
- *
28
- * Deneb Blob Format Types
29
- *
30
- */
31
20
  /** Enum to represent where blobs come from */
32
21
  export var BlobsSource;
33
22
  (function (BlobsSource) {
@@ -36,18 +25,11 @@ export var BlobsSource;
36
25
  BlobsSource["byRange"] = "req_resp_by_range";
37
26
  BlobsSource["byRoot"] = "req_resp_by_root";
38
27
  })(BlobsSource || (BlobsSource = {}));
39
- /**
40
- *
41
- * PeerDAS Column Format Types
42
- *
43
- */
44
- export var DataColumnsSource;
45
- (function (DataColumnsSource) {
46
- DataColumnsSource["gossip"] = "gossip";
47
- DataColumnsSource["api"] = "api";
48
- DataColumnsSource["byRange"] = "req_resp_by_range";
49
- DataColumnsSource["byRoot"] = "req_resp_by_root";
50
- })(DataColumnsSource || (DataColumnsSource = {}));
28
+ export var GossipedInputType;
29
+ (function (GossipedInputType) {
30
+ GossipedInputType["block"] = "block";
31
+ GossipedInputType["blob"] = "blob";
32
+ })(GossipedInputType || (GossipedInputType = {}));
51
33
  export function blockRequiresBlobs(config, blockSlot, clockSlot) {
52
34
  return (config.getForkSeq(blockSlot) >= ForkSeq.deneb &&
53
35
  // Only request blobs if they are recent enough
@@ -114,21 +96,6 @@ export function getBlockInputBlobs(blobsCache) {
114
96
  }
115
97
  return { blobs };
116
98
  }
117
- export function getBlockInputDataColumns(dataColumnsCache, columnIndexes) {
118
- const dataColumns = [];
119
- const dataColumnsBytes = [];
120
- for (const index of columnIndexes) {
121
- const dataColumnCache = dataColumnsCache.get(index);
122
- if (dataColumnCache === undefined) {
123
- // check if the index is correct as per the custody columns
124
- throw Error(`Missing dataColumnCache at index=${index}`);
125
- }
126
- const { dataColumn: dataColumnSidecar, dataColumnBytes } = dataColumnCache;
127
- dataColumns.push(dataColumnSidecar);
128
- dataColumnsBytes.push(dataColumnBytes);
129
- }
130
- return { dataColumns, dataColumnsBytes };
131
- }
132
99
  export var AttestationImportOpt;
133
100
  (function (AttestationImportOpt) {
134
101
  AttestationImportOpt[AttestationImportOpt["Skip"] = 0] = "Skip";
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/chain/blocks/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/chain/blocks/types.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,8 @@
1
- import { ForkName } from "@lodestar/params";
2
1
  import { DataAvailabilityStatus, computeTimeAtSlot } from "@lodestar/state-transition";
3
2
  import { ErrorAborted } from "@lodestar/utils";
4
3
  import { BlockError, BlockErrorCode } from "../errors/index.js";
5
4
  import { validateBlobSidecars } from "../validation/blobSidecar.js";
6
- import { validateDataColumnsSidecars } from "../validation/dataColumnSidecar.js";
7
- import { BlobSidecarValidation, BlockInputType, getBlockInput, } from "./types.js";
5
+ import { BlobSidecarValidation, BlockInputType, getBlockInput } from "./types.js";
8
6
  // we can now wait for full 12 seconds because unavailable block sync will try pulling
9
7
  // the blobs from the network anyway after 500ms of seeing the block
10
8
  const BLOB_AVAILABILITY_TIMEOUT = 12_000;
@@ -66,26 +64,17 @@ async function maybeValidateBlobs(chain, blockInput, signal, opts) {
66
64
  // run full validation
67
65
  const { block } = blockInput;
68
66
  const blockSlot = block.message.slot;
69
- const { blobKzgCommitments } = block.message.body;
70
- const beaconBlockRoot = chain.config.getForkTypes(blockSlot).BeaconBlock.hashTreeRoot(block.message);
71
- const blockData = blockInput.type === BlockInputType.availableData
67
+ const blobsData = blockInput.type === BlockInputType.availableData
72
68
  ? blockInput.blockData
73
69
  : await raceWithCutoff(chain, blockInput, blockInput.cachedData.availabilityPromise, signal);
74
- if (blockData.fork === ForkName.deneb || blockData.fork === ForkName.electra) {
75
- const { blobs } = blockData;
76
- // if the blob siddecars have been individually verified then we can skip kzg proof check
77
- // but other checks to match blobs with block data still need to be performed
78
- const skipProofsCheck = opts.validBlobSidecars === BlobSidecarValidation.Individual;
79
- await validateBlobSidecars(blockSlot, beaconBlockRoot, blobKzgCommitments, blobs, { skipProofsCheck });
80
- }
81
- else if (blockData.fork === ForkName.fulu) {
82
- const { dataColumns } = blockData;
83
- const skipProofsCheck = opts.validBlobSidecars === BlobSidecarValidation.Individual;
84
- await validateDataColumnsSidecars(blockSlot, beaconBlockRoot, blobKzgCommitments, dataColumns, chain.metrics, {
85
- skipProofsCheck,
86
- });
87
- }
88
- const availableBlockInput = getBlockInput.availableData(chain.config, blockInput.block, blockInput.source, blockData);
70
+ const { blobs } = blobsData;
71
+ const { blobKzgCommitments } = block.message.body;
72
+ const beaconBlockRoot = chain.config.getForkTypes(blockSlot).BeaconBlock.hashTreeRoot(block.message);
73
+ // if the blob siddecars have been individually verified then we can skip kzg proof check
74
+ // but other checks to match blobs with block data still need to be performed
75
+ const skipProofsCheck = opts.validBlobSidecars === BlobSidecarValidation.Individual;
76
+ await validateBlobSidecars(blockSlot, beaconBlockRoot, blobKzgCommitments, blobs, { skipProofsCheck });
77
+ const availableBlockInput = getBlockInput.availableData(chain.config, blockInput.block, blockInput.source, blobsData);
89
78
  return { dataAvailabilityStatus: DataAvailabilityStatus.Available, availableBlockInput: availableBlockInput };
90
79
  }
91
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"verifyBlocksDataAvailability.js","sourceRoot":"","sources":["../../../src/chain/blocks/verifyBlocksDataAvailability.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAC,sBAAsB,EAAE,iBAAiB,EAAC,MAAM,4BAA4B,CAAC;AAErF,OAAO,EAAC,YAAY,EAAS,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAC,oBAAoB,EAAC,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAC,2BAA2B,EAAC,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EACL,qBAAqB,EAIrB,cAAc,EAEd,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,sFAAsF;AACtF,oEAAoE;AACpE,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAEzC;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,KAAiG,EACjG,MAAoB,EACpB,MAAmB,EACnB,IAAqB;IAMrB,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,wBAAwB,GAA6B,EAAE,CAAC;IAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAEjG,MAAM,oBAAoB,GAAiB,EAAE,CAAC;IAE9C,KAAK,MAAM,UAAU,IAAI,MAAM,EAAE,CAAC;QAChC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,YAAY,CAAC,8BAA8B,CAAC,CAAC;QACzD,CAAC;QACD,8FAA8F;QAC9F,sCAAsC;QACtC,MAAM,EAAC,sBAAsB,EAAE,mBAAmB,EAAC,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAChH,wBAAwB,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACtD,oBAAoB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,KAAK,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC5F,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,OAAO,EAAE,CAAC;QAC5G,MAAM,mBAAmB,GAAG,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACzE,MAAM,QAAQ,GAAI,MAAM,CAAC,CAAC,CAAC,CAAC,KAAiC,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;QAErG,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,+BAA+B,CAAC,OAAO,CAAC,EAAC,QAAQ,EAAC,EAAE,mBAAmB,CAAC,CAAC;QACpG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,6BAA6B,EAAE;YAClD,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI;YAClC,mBAAmB;YACnB,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;SACrB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAC,wBAAwB,EAAE,aAAa,EAAE,oBAAoB,EAAC,CAAC;AACzE,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,KAAiG,EACjG,UAAsB,EACtB,MAAmB,EACnB,IAAqB;IAErB,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,cAAc,CAAC,OAAO;YACzB,OAAO,EAAC,sBAAsB,EAAE,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAC,CAAC;QAEnG,KAAK,cAAc,CAAC,cAAc;YAChC,OAAO,EAAC,sBAAsB,EAAE,sBAAsB,CAAC,UAAU,EAAE,mBAAmB,EAAE,UAAU,EAAC,CAAC;QAEtG,6FAA6F;QAC7F,KAAK,cAAc,CAAC,aAAa;YAC/B,IAAI,IAAI,CAAC,iBAAiB,KAAK,qBAAqB,CAAC,IAAI,EAAE,CAAC;gBAC1D,OAAO,EAAC,sBAAsB,EAAE,sBAAsB,CAAC,SAAS,EAAE,mBAAmB,EAAE,UAAU,EAAC,CAAC;YACrG,CAAC;QAEH,KAAK,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;YAChC,sBAAsB;YACtB,MAAM,EAAC,KAAK,EAAC,GAAG,UAAU,CAAC;YAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YACrC,MAAM,EAAC,kBAAkB,EAAC,GAAI,KAAiC,CAAC,OAAO,CAAC,IAAI,CAAC;YAC7E,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACrG,MAAM,SAAS,GACb,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,aAAa;gBAC9C,CAAC,CAAC,UAAU,CAAC,SAAS;gBACtB,CAAC,CAAC,MAAM,cAAc,CAClB,KAAK,EACL,UAAU,EACV,UAAU,CAAC,UAAU,CAAC,mBAAuD,EAC7E,MAAM,CACP,CAAC;YAER,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC,KAAK,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAC7E,MAAM,EAAC,KAAK,EAAC,GAAG,SAAS,CAAC;gBAE1B,yFAAyF;gBACzF,6EAA6E;gBAC7E,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,KAAK,qBAAqB,CAAC,UAAU,CAAC;gBACpF,MAAM,oBAAoB,CAAC,SAAS,EAAE,eAAe,EAAE,kBAAkB,EAAE,KAAK,EAAE,EAAC,eAAe,EAAC,CAAC,CAAC;YACvG,CAAC;iBAAM,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC5C,MAAM,EAAC,WAAW,EAAC,GAAG,SAAkC,CAAC;gBACzD,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,KAAK,qBAAqB,CAAC,UAAU,CAAC;gBACpF,MAAM,2BAA2B,CAAC,SAAS,EAAE,eAAe,EAAE,kBAAkB,EAAE,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE;oBAC5G,eAAe;iBAChB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,mBAAmB,GAAG,aAAa,CAAC,aAAa,CACrD,KAAK,CAAC,MAAM,EACZ,UAAU,CAAC,KAAK,EAChB,UAAU,CAAC,MAAM,EACjB,SAAS,CACV,CAAC;YACF,OAAO,EAAC,sBAAsB,EAAE,sBAAsB,CAAC,SAAS,EAAE,mBAAmB,EAAE,mBAAmB,EAAC,CAAC;QAC9G,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,cAAc,CAC3B,KAAwE,EACxE,UAAsB,EACtB,mBAA+B,EAC/B,MAAmB;IAEnB,MAAM,EAAC,KAAK,EAAC,GAAG,UAAU,CAAC;IAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;IAErC,MAAM,UAAU,GACd,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,GAAG,yBAAyB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAChH,MAAM,aAAa,GACjB,UAAU,GAAG,CAAC;QACZ,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;YAC/B,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YACpE,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC;QACJ,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;IACtE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,EAAC,SAAS,EAAE,UAAU,EAAC,CAAC,CAAC;IAEnF,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;QACZ,sFAAsF;QACtF,MAAM,IAAI,UAAU,CAAC,KAAK,EAAE,EAAC,IAAI,EAAE,cAAc,CAAC,gBAAgB,EAAC,CAAC,CAAC;IACvE,CAAC;IACD,uFAAuF;IACvF,OAAO,mBAAmB,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"verifyBlocksDataAvailability.js","sourceRoot":"","sources":["../../../src/chain/blocks/verifyBlocksDataAvailability.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,4 @@
1
- import { ForkName, NUMBER_OF_COLUMNS } from "@lodestar/params";
2
- import { ssz } from "@lodestar/types";
3
1
  import { toRootHex } from "@lodestar/utils";
4
- import { toHex } from "@lodestar/utils";
5
2
  import { BlockInputType } from "./types.js";
6
3
  /**
7
4
  * Persists block input data to DB. This operation must be eventually completed if a block is imported to the fork-choice.
@@ -29,68 +26,22 @@ export async function writeBlockInputToDb(blocksInput) {
29
26
  this.logger.debug("Persist block to hot DB", {
30
27
  slot: block.message.slot,
31
28
  root: blockRootHex,
32
- inputType: blockInput.type,
33
29
  });
34
30
  if (blockInput.type === BlockInputType.availableData || blockInput.type === BlockInputType.dataPromise) {
35
- const blockData = blockInput.type === BlockInputType.availableData
36
- ? blockInput.blockData
37
- : await blockInput.cachedData.availabilityPromise;
38
- // NOTE: Old data is pruned on archive
39
- if (blockData.fork === ForkName.deneb || blockData.fork === ForkName.electra) {
40
- const blobSidecars = blockData.blobs;
41
- fnPromises.push(this.db.blobSidecars.add({ blockRoot, slot: block.message.slot, blobSidecars }));
42
- this.logger.debug("Persisted blobSidecars to hot DB", {
43
- blobsLen: blobSidecars.length,
44
- slot: block.message.slot,
45
- root: blockRootHex,
46
- });
47
- }
48
- else {
49
- const { custodyConfig } = this;
50
- const { custodyColumnsIndex, custodyColumns } = custodyConfig;
51
- const blobsLen = block.message.body.blobKzgCommitments.length;
52
- let dataColumnsLen;
53
- let dataColumnsIndex;
54
- if (blobsLen === 0) {
55
- dataColumnsLen = 0;
56
- dataColumnsIndex = new Uint8Array(NUMBER_OF_COLUMNS);
57
- }
58
- else {
59
- dataColumnsLen = custodyColumns.length;
60
- dataColumnsIndex = custodyColumnsIndex;
61
- }
62
- const blockDataColumns = blockData.dataColumns;
63
- const dataColumnSidecars = blockDataColumns.filter((dataColumnSidecar) => custodyColumns.includes(dataColumnSidecar.index));
64
- if (dataColumnSidecars.length !== dataColumnsLen) {
65
- throw Error(`Invalid dataColumnSidecars=${dataColumnSidecars.length} for custody expected custodyColumnsLen=${dataColumnsLen}`);
66
- }
67
- const dataColumnsSize = ssz.fulu.DataColumnSidecar.minSize +
68
- blobsLen * (ssz.fulu.Cell.fixedSize + ssz.deneb.KZGCommitment.fixedSize + ssz.deneb.KZGProof.fixedSize);
69
- const slot = block.message.slot;
70
- const writeData = {
71
- blockRoot,
72
- slot,
73
- dataColumnsLen,
74
- dataColumnsSize,
75
- dataColumnsIndex,
76
- dataColumnSidecars,
77
- };
78
- fnPromises.push(this.db.dataColumnSidecars.add(writeData));
79
- this.logger.debug("Persisted dataColumnSidecars to hot DB", {
80
- dataColumnsSize,
81
- dataColumnsLen,
82
- dataColumnSidecars: dataColumnSidecars.length,
83
- slot: block.message.slot,
84
- root: blockRootHex,
85
- });
86
- }
31
+ const blobSidecars = blockInput.type === BlockInputType.availableData
32
+ ? blockInput.blockData.blobs
33
+ : // At this point of import blobs are available and can be safely awaited
34
+ (await blockInput.cachedData.availabilityPromise).blobs;
35
+ // NOTE: Old blobs are pruned on archive
36
+ fnPromises.push(this.db.blobSidecars.add({ blockRoot, slot: block.message.slot, blobSidecars }));
37
+ this.logger.debug("Persisted blobSidecars to hot DB", {
38
+ blobsLen: blobSidecars.length,
39
+ slot: block.message.slot,
40
+ root: blockRootHex,
41
+ });
87
42
  }
88
43
  }
89
44
  await Promise.all(fnPromises);
90
- this.logger.debug("Persisted blocksInput to db", {
91
- blocksInput: blocksInput.length,
92
- slots: blocksInput.map((blockInput) => blockInput.block.message.slot).join(" "),
93
- });
94
45
  }
95
46
  /**
96
47
  * Prunes eagerly persisted block inputs only if not known to the fork-choice
@@ -98,39 +49,15 @@ export async function writeBlockInputToDb(blocksInput) {
98
49
  export async function removeEagerlyPersistedBlockInputs(blockInputs) {
99
50
  const blockToRemove = [];
100
51
  const blobsToRemove = [];
101
- const dataColumnsToRemove = [];
102
52
  for (const blockInput of blockInputs) {
103
53
  const { block, type } = blockInput;
104
- const slot = block.message.slot;
105
- const blockRoot = this.config.getForkTypes(slot).BeaconBlock.hashTreeRoot(block.message);
106
- const blockRootHex = toHex(blockRoot);
54
+ const blockRoot = this.config.getForkTypes(block.message.slot).BeaconBlock.hashTreeRoot(block.message);
55
+ const blockRootHex = toRootHex(blockRoot);
107
56
  if (!this.forkChoice.hasBlockHex(blockRootHex)) {
108
57
  blockToRemove.push(block);
109
58
  if (type === BlockInputType.availableData) {
110
- const { blockData } = blockInput;
111
- if (blockData.fork === ForkName.deneb || blockData.fork === ForkName.electra) {
112
- const blobSidecars = blockData.blobs;
113
- blobsToRemove.push({ blockRoot, slot, blobSidecars });
114
- }
115
- else {
116
- const { custodyConfig } = this;
117
- const { custodyColumnsIndex: dataColumnsIndex, custodyColumns } = custodyConfig;
118
- const dataColumnsLen = custodyColumns.length;
119
- const dataColumnSidecars = blockData.dataColumns.filter((dataColumnSidecar) => custodyColumns.includes(dataColumnSidecar.index));
120
- if (dataColumnSidecars.length !== dataColumnsLen) {
121
- throw Error(`Invalid dataColumnSidecars=${dataColumnSidecars.length} for custody expected custodyColumnsLen=${dataColumnsLen}`);
122
- }
123
- const blobsLen = block.message.body.blobKzgCommitments.length;
124
- const dataColumnsSize = ssz.fulu.Cell.fixedSize * blobsLen;
125
- dataColumnsToRemove.push({
126
- blockRoot,
127
- slot,
128
- dataColumnsLen,
129
- dataColumnsSize,
130
- dataColumnsIndex,
131
- dataColumnSidecars,
132
- });
133
- }
59
+ const blobSidecars = blockInput.blockData.blobs;
60
+ blobsToRemove.push({ blockRoot, slot: block.message.slot, blobSidecars });
134
61
  }
135
62
  }
136
63
  }
@@ -138,7 +65,6 @@ export async function removeEagerlyPersistedBlockInputs(blockInputs) {
138
65
  // TODO: Batch DB operations not with Promise.all but with level db ops
139
66
  this.db.block.batchRemove(blockToRemove),
140
67
  this.db.blobSidecars.batchRemove(blobsToRemove),
141
- this.db.dataColumnSidecars.batchRemove(dataColumnsToRemove),
142
68
  ]);
143
69
  }
144
70
  //# sourceMappingURL=writeBlockInputToDb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"writeBlockInputToDb.js","sourceRoot":"","sources":["../../../src/chain/blocks/writeBlockInputToDb.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writeBlockInputToDb.js","sourceRoot":"","sources":["../../../src/chain/blocks/writeBlockInputToDb.ts"],"names":[],"mappings":"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"}
@@ -3,17 +3,15 @@ import { CompositeTypeAny, TreeView, Type } from "@chainsafe/ssz";
3
3
  import { BeaconConfig } from "@lodestar/config";
4
4
  import { CheckpointWithHex, IForkChoice, ProtoBlock } from "@lodestar/fork-choice";
5
5
  import { BeaconStateAllForks, CachedBeaconStateAllForks, EpochShuffling, Index2PubkeyCache } from "@lodestar/state-transition";
6
- import { BeaconBlock, BlindedBeaconBlock, Epoch, Root, RootHex, SignedBeaconBlock, Slot, UintNum64, ValidatorIndex, Wei, deneb, fulu, phase0 } from "@lodestar/types";
6
+ import { BeaconBlock, BlindedBeaconBlock, Epoch, Root, RootHex, SignedBeaconBlock, Slot, UintNum64, ValidatorIndex, Wei, deneb, phase0 } from "@lodestar/types";
7
7
  import { Logger } from "@lodestar/utils";
8
8
  import { ProcessShutdownCallback } from "@lodestar/validator";
9
- import { PrivateKey } from "@libp2p/interface";
10
9
  import { IBeaconDb } from "../db/index.js";
11
10
  import { IEth1ForBlockProduction } from "../eth1/index.js";
12
11
  import { IExecutionBuilder, IExecutionEngine } from "../execution/index.js";
13
12
  import { Metrics } from "../metrics/index.js";
14
13
  import { BufferPool } from "../util/bufferPool.js";
15
14
  import { IClock } from "../util/clock.js";
16
- import { CustodyConfig } from "../util/dataColumns.js";
17
15
  import { SerializedCache } from "../util/serializedCache.js";
18
16
  import { ArchiveStore } from "./archiveStore/archiveStore.js";
19
17
  import { CheckpointBalancesCache } from "./balancesCache.js";
@@ -49,7 +47,6 @@ export declare class BeaconChain implements IBeaconChain {
49
47
  readonly executionEngine: IExecutionEngine;
50
48
  readonly executionBuilder?: IExecutionBuilder;
51
49
  readonly config: BeaconConfig;
52
- readonly custodyConfig: CustodyConfig;
53
50
  readonly logger: Logger;
54
51
  readonly metrics: Metrics | null;
55
52
  readonly validatorMonitor: ValidatorMonitor | null;
@@ -84,9 +81,7 @@ export declare class BeaconChain implements IBeaconChain {
84
81
  readonly checkpointBalancesCache: CheckpointBalancesCache;
85
82
  readonly shufflingCache: ShufflingCache;
86
83
  /** Map keyed by executionPayload.blockHash of the block for those blobs */
87
- readonly producedContentsCache: Map<string, deneb.Contents & {
88
- cells?: fulu.Cell[][];
89
- }>;
84
+ readonly producedContentsCache: Map<string, deneb.Contents>;
90
85
  readonly producedBlockRoot: Map<string, import("@chainsafe/ssz").ValueOfFields<{
91
86
  transactions: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ByteListType>;
92
87
  parentHash: import("@chainsafe/ssz").ByteVectorType;
@@ -178,8 +173,7 @@ export declare class BeaconChain implements IBeaconChain {
178
173
  protected readonly db: IBeaconDb;
179
174
  private abortController;
180
175
  private processShutdownCallback;
181
- constructor(opts: IChainOptions, { privateKey, config, db, dbName, dataDir, logger, processShutdownCallback, clock, metrics, validatorMonitor, anchorState, eth1, executionEngine, executionBuilder, }: {
182
- privateKey: PrivateKey;
176
+ constructor(opts: IChainOptions, { config, db, dbName, dataDir, logger, processShutdownCallback, clock, metrics, validatorMonitor, anchorState, eth1, executionEngine, executionBuilder, }: {
183
177
  config: BeaconConfig;
184
178
  db: IBeaconDb;
185
179
  dbName: string;
@@ -245,7 +239,7 @@ export declare class BeaconChain implements IBeaconChain {
245
239
  } | null>;
246
240
  produceCommonBlockBody(blockAttributes: BlockAttributes): Promise<CommonBlockBody>;
247
241
  produceBlock(blockAttributes: BlockAttributes & {
248
- commonBlockBody?: CommonBlockBody;
242
+ commonBlockBodyPromise?: Promise<CommonBlockBody>;
249
243
  }): Promise<{
250
244
  block: BeaconBlock;
251
245
  executionPayloadValue: Wei;
@@ -253,14 +247,14 @@ export declare class BeaconChain implements IBeaconChain {
253
247
  shouldOverrideBuilder?: boolean;
254
248
  }>;
255
249
  produceBlindedBlock(blockAttributes: BlockAttributes & {
256
- commonBlockBody?: CommonBlockBody;
250
+ commonBlockBodyPromise?: Promise<CommonBlockBody>;
257
251
  }): Promise<{
258
252
  block: BlindedBeaconBlock;
259
253
  executionPayloadValue: Wei;
260
254
  consensusBlockValue: Wei;
261
255
  }>;
262
- produceBlockWrapper<T extends BlockType>(blockType: T, { randaoReveal, graffiti, slot, feeRecipient, commonBlockBody, parentBlockRoot, parentSlot, }: BlockAttributes & {
263
- commonBlockBody?: CommonBlockBody;
256
+ produceBlockWrapper<T extends BlockType>(blockType: T, { randaoReveal, graffiti, slot, feeRecipient, commonBlockBodyPromise, parentBlockRoot, parentSlot, }: BlockAttributes & {
257
+ commonBlockBodyPromise?: Promise<CommonBlockBody>;
264
258
  }): Promise<{
265
259
  block: AssembledBlockType<T>;
266
260
  executionPayloadValue: Wei;
@@ -277,9 +271,7 @@ export declare class BeaconChain implements IBeaconChain {
277
271
  * kzg_aggregated_proof=compute_proof_from_blobs(blobs),
278
272
  * )
279
273
  */
280
- getContents(beaconBlock: deneb.BeaconBlock): deneb.Contents & {
281
- cells?: fulu.Cell[][];
282
- };
274
+ getContents(beaconBlock: deneb.BeaconBlock): deneb.Contents;
283
275
  processBlock(block: BlockInput, opts?: ImportBlockOpts): Promise<void>;
284
276
  processChainSegment(blocks: BlockInput[], opts?: ImportBlockOpts): Promise<void>;
285
277
  getStatus(): phase0.Status;