@lodestar/beacon-node 1.48.0-dev.858e7b16e9 → 1.48.0-dev.89d0f4da2d

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 (218) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +4 -4
  3. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  4. package/lib/api/impl/validator/index.d.ts.map +1 -1
  5. package/lib/api/impl/validator/index.js +39 -39
  6. package/lib/api/impl/validator/index.js.map +1 -1
  7. package/lib/chain/archiveStore/archiveStore.d.ts +1 -0
  8. package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
  9. package/lib/chain/archiveStore/archiveStore.js +1 -0
  10. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  11. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +1 -1
  12. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js +1 -0
  13. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
  14. package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +1 -1
  15. package/lib/chain/archiveStore/historicalState/metrics.js +12 -1
  16. package/lib/chain/archiveStore/historicalState/metrics.js.map +1 -1
  17. package/lib/chain/archiveStore/historicalState/types.d.ts +2 -0
  18. package/lib/chain/archiveStore/historicalState/types.d.ts.map +1 -1
  19. package/lib/chain/archiveStore/historicalState/types.js.map +1 -1
  20. package/lib/chain/archiveStore/historicalState/worker.js +4 -1
  21. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
  22. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +1 -1
  23. package/lib/chain/archiveStore/utils/archiveBlocks.js +31 -34
  24. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  25. package/lib/chain/blocks/index.d.ts.map +1 -1
  26. package/lib/chain/blocks/index.js +3 -2
  27. package/lib/chain/blocks/index.js.map +1 -1
  28. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +1 -1
  29. package/lib/chain/blocks/writeBlockInputToDb.js +9 -16
  30. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  31. package/lib/chain/chain.d.ts +9 -3
  32. package/lib/chain/chain.d.ts.map +1 -1
  33. package/lib/chain/chain.js +108 -73
  34. package/lib/chain/chain.js.map +1 -1
  35. package/lib/chain/errors/blockError.d.ts +19 -7
  36. package/lib/chain/errors/blockError.d.ts.map +1 -1
  37. package/lib/chain/errors/blockError.js +2 -2
  38. package/lib/chain/errors/blockError.js.map +1 -1
  39. package/lib/chain/errors/dataColumnSidecarError.d.ts +15 -2
  40. package/lib/chain/errors/dataColumnSidecarError.d.ts.map +1 -1
  41. package/lib/chain/errors/dataColumnSidecarError.js.map +1 -1
  42. package/lib/chain/errors/executionPayloadEnvelope.d.ts +10 -11
  43. package/lib/chain/errors/executionPayloadEnvelope.d.ts.map +1 -1
  44. package/lib/chain/errors/executionPayloadEnvelope.js +0 -2
  45. package/lib/chain/errors/executionPayloadEnvelope.js.map +1 -1
  46. package/lib/chain/interface.d.ts +2 -2
  47. package/lib/chain/interface.d.ts.map +1 -1
  48. package/lib/chain/prepareNextSlot.d.ts.map +1 -1
  49. package/lib/chain/prepareNextSlot.js +16 -14
  50. package/lib/chain/prepareNextSlot.js.map +1 -1
  51. package/lib/chain/produceBlock/produceBlockBody.d.ts +4 -2
  52. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  53. package/lib/chain/produceBlock/produceBlockBody.js +57 -72
  54. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  55. package/lib/chain/validation/block.d.ts.map +1 -1
  56. package/lib/chain/validation/block.js +35 -54
  57. package/lib/chain/validation/block.js.map +1 -1
  58. package/lib/chain/validation/dataColumnSidecar.d.ts.map +1 -1
  59. package/lib/chain/validation/dataColumnSidecar.js +38 -13
  60. package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
  61. package/lib/chain/validation/executionPayloadEnvelope.d.ts.map +1 -1
  62. package/lib/chain/validation/executionPayloadEnvelope.js +10 -29
  63. package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
  64. package/lib/db/beacon.d.ts +14 -5
  65. package/lib/db/beacon.d.ts.map +1 -1
  66. package/lib/db/beacon.js +17 -3
  67. package/lib/db/beacon.js.map +1 -1
  68. package/lib/db/dataColumnStore.d.ts +39 -0
  69. package/lib/db/dataColumnStore.d.ts.map +1 -0
  70. package/lib/db/dataColumnStore.js +81 -0
  71. package/lib/db/dataColumnStore.js.map +1 -0
  72. package/lib/db/flatFileStore/atomicWrite.d.ts +8 -0
  73. package/lib/db/flatFileStore/atomicWrite.d.ts.map +1 -0
  74. package/lib/db/flatFileStore/atomicWrite.js +61 -0
  75. package/lib/db/flatFileStore/atomicWrite.js.map +1 -0
  76. package/lib/db/flatFileStore/dcolFormat.d.ts +90 -0
  77. package/lib/db/flatFileStore/dcolFormat.d.ts.map +1 -0
  78. package/lib/db/flatFileStore/dcolFormat.js +286 -0
  79. package/lib/db/flatFileStore/dcolFormat.js.map +1 -0
  80. package/lib/db/flatFileStore/errors.d.ts +82 -0
  81. package/lib/db/flatFileStore/errors.d.ts.map +1 -0
  82. package/lib/db/flatFileStore/errors.js +32 -0
  83. package/lib/db/flatFileStore/errors.js.map +1 -0
  84. package/lib/db/flatFileStore/flatFileStore.d.ts +41 -0
  85. package/lib/db/flatFileStore/flatFileStore.d.ts.map +1 -0
  86. package/lib/db/flatFileStore/flatFileStore.js +251 -0
  87. package/lib/db/flatFileStore/flatFileStore.js.map +1 -0
  88. package/lib/db/flatFileStore/index.d.ts +4 -0
  89. package/lib/db/flatFileStore/index.d.ts.map +1 -0
  90. package/lib/db/flatFileStore/index.js +2 -0
  91. package/lib/db/flatFileStore/index.js.map +1 -0
  92. package/lib/db/flatFileStore/interface.d.ts +25 -0
  93. package/lib/db/flatFileStore/interface.d.ts.map +1 -0
  94. package/lib/db/flatFileStore/interface.js +2 -0
  95. package/lib/db/flatFileStore/interface.js.map +1 -0
  96. package/lib/db/flatFileStore/metrics.d.ts +24 -0
  97. package/lib/db/flatFileStore/metrics.d.ts.map +1 -0
  98. package/lib/db/flatFileStore/metrics.js +25 -0
  99. package/lib/db/flatFileStore/metrics.js.map +1 -0
  100. package/lib/db/flatFileStore/path.d.ts +9 -0
  101. package/lib/db/flatFileStore/path.d.ts.map +1 -0
  102. package/lib/db/flatFileStore/path.js +21 -0
  103. package/lib/db/flatFileStore/path.js.map +1 -0
  104. package/lib/db/flatFileStore/slotIndex.d.ts +14 -0
  105. package/lib/db/flatFileStore/slotIndex.d.ts.map +1 -0
  106. package/lib/db/flatFileStore/slotIndex.js +46 -0
  107. package/lib/db/flatFileStore/slotIndex.js.map +1 -0
  108. package/lib/db/flatFileStore/snappy.d.ts +3 -0
  109. package/lib/db/flatFileStore/snappy.d.ts.map +1 -0
  110. package/lib/db/flatFileStore/snappy.js +12 -0
  111. package/lib/db/flatFileStore/snappy.js.map +1 -0
  112. package/lib/db/index.d.ts +1 -0
  113. package/lib/db/index.d.ts.map +1 -1
  114. package/lib/db/interface.d.ts +8 -1
  115. package/lib/db/interface.d.ts.map +1 -1
  116. package/lib/db/repositories/blockArchive.d.ts +8 -1
  117. package/lib/db/repositories/blockArchive.d.ts.map +1 -1
  118. package/lib/db/repositories/blockArchive.js +65 -28
  119. package/lib/db/repositories/blockArchive.js.map +1 -1
  120. package/lib/db/repositories/blockArchiveIndex.d.ts +1 -2
  121. package/lib/db/repositories/blockArchiveIndex.d.ts.map +1 -1
  122. package/lib/db/repositories/blockArchiveIndex.js +3 -7
  123. package/lib/db/repositories/blockArchiveIndex.js.map +1 -1
  124. package/lib/metrics/metrics/lodestar.d.ts +18 -0
  125. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  126. package/lib/metrics/metrics/lodestar.js +55 -1
  127. package/lib/metrics/metrics/lodestar.js.map +1 -1
  128. package/lib/monitoring/clientStats.js +1 -1
  129. package/lib/monitoring/clientStats.js.map +1 -1
  130. package/lib/network/gossip/encoding.d.ts.map +1 -1
  131. package/lib/network/gossip/encoding.js +0 -7
  132. package/lib/network/gossip/encoding.js.map +1 -1
  133. package/lib/network/gossip/topic.d.ts +2 -1
  134. package/lib/network/gossip/topic.d.ts.map +1 -1
  135. package/lib/network/gossip/topic.js +4 -20
  136. package/lib/network/gossip/topic.js.map +1 -1
  137. package/lib/network/libp2p/index.d.ts +9 -1
  138. package/lib/network/libp2p/index.d.ts.map +1 -1
  139. package/lib/network/libp2p/index.js +23 -0
  140. package/lib/network/libp2p/index.js.map +1 -1
  141. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  142. package/lib/network/processor/gossipHandlers.js +6 -7
  143. package/lib/network/processor/gossipHandlers.js.map +1 -1
  144. package/lib/network/processor/index.d.ts +49 -3
  145. package/lib/network/processor/index.d.ts.map +1 -1
  146. package/lib/network/processor/index.js +232 -98
  147. package/lib/network/processor/index.js.map +1 -1
  148. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +1 -1
  149. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +112 -91
  150. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -1
  151. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +1 -1
  152. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js +2 -0
  153. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -1
  154. package/lib/network/reqresp/protocols.d.ts.map +1 -1
  155. package/lib/network/reqresp/protocols.js +6 -22
  156. package/lib/network/reqresp/protocols.js.map +1 -1
  157. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts +2 -1
  158. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +1 -1
  159. package/lib/network/reqresp/utils/dataColumnResponseValidation.js +14 -9
  160. package/lib/network/reqresp/utils/dataColumnResponseValidation.js.map +1 -1
  161. package/lib/node/nodejs.d.ts +2 -1
  162. package/lib/node/nodejs.d.ts.map +1 -1
  163. package/lib/node/nodejs.js +4 -2
  164. package/lib/node/nodejs.js.map +1 -1
  165. package/lib/util/sszBytes.d.ts +6 -0
  166. package/lib/util/sszBytes.d.ts.map +1 -1
  167. package/lib/util/sszBytes.js +1 -1
  168. package/lib/util/sszBytes.js.map +1 -1
  169. package/package.json +18 -19
  170. package/src/api/impl/beacon/blocks/index.ts +8 -4
  171. package/src/api/impl/validator/index.ts +44 -43
  172. package/src/chain/archiveStore/archiveStore.ts +6 -1
  173. package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +1 -0
  174. package/src/chain/archiveStore/historicalState/metrics.ts +14 -1
  175. package/src/chain/archiveStore/historicalState/types.ts +2 -0
  176. package/src/chain/archiveStore/historicalState/worker.ts +4 -1
  177. package/src/chain/archiveStore/utils/archiveBlocks.ts +34 -39
  178. package/src/chain/blocks/index.ts +13 -2
  179. package/src/chain/blocks/writeBlockInputToDb.ts +10 -17
  180. package/src/chain/chain.ts +130 -80
  181. package/src/chain/errors/blockError.ts +22 -10
  182. package/src/chain/errors/dataColumnSidecarError.ts +24 -8
  183. package/src/chain/errors/executionPayloadEnvelope.ts +14 -11
  184. package/src/chain/interface.ts +2 -2
  185. package/src/chain/prepareNextSlot.ts +21 -17
  186. package/src/chain/produceBlock/produceBlockBody.ts +62 -79
  187. package/src/chain/validation/block.ts +35 -70
  188. package/src/chain/validation/dataColumnSidecar.ts +47 -14
  189. package/src/chain/validation/executionPayloadEnvelope.ts +10 -37
  190. package/src/db/beacon.ts +33 -6
  191. package/src/db/dataColumnStore.ts +113 -0
  192. package/src/db/flatFileStore/atomicWrite.ts +65 -0
  193. package/src/db/flatFileStore/dcolFormat.ts +389 -0
  194. package/src/db/flatFileStore/errors.ts +53 -0
  195. package/src/db/flatFileStore/flatFileStore.ts +310 -0
  196. package/src/db/flatFileStore/index.ts +3 -0
  197. package/src/db/flatFileStore/interface.ts +21 -0
  198. package/src/db/flatFileStore/metrics.ts +48 -0
  199. package/src/db/flatFileStore/path.ts +32 -0
  200. package/src/db/flatFileStore/slotIndex.ts +56 -0
  201. package/src/db/flatFileStore/snappy.ts +14 -0
  202. package/src/db/index.ts +1 -0
  203. package/src/db/interface.ts +9 -1
  204. package/src/db/repositories/blockArchive.ts +89 -30
  205. package/src/db/repositories/blockArchiveIndex.ts +4 -9
  206. package/src/metrics/metrics/lodestar.ts +57 -1
  207. package/src/monitoring/clientStats.ts +1 -1
  208. package/src/network/gossip/encoding.ts +0 -7
  209. package/src/network/gossip/topic.ts +3 -25
  210. package/src/network/libp2p/index.ts +28 -1
  211. package/src/network/processor/gossipHandlers.ts +11 -11
  212. package/src/network/processor/index.ts +263 -148
  213. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +139 -105
  214. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +2 -0
  215. package/src/network/reqresp/protocols.ts +7 -24
  216. package/src/network/reqresp/utils/dataColumnResponseValidation.ts +15 -7
  217. package/src/node/nodejs.ts +6 -1
  218. package/src/util/sszBytes.ts +1 -1
@@ -13,11 +13,13 @@ export async function validateGossipFuluDataColumnSidecar(chain, dataColumnSidec
13
13
  const blockHeader = dataColumnSidecar.signedBlockHeader.message;
14
14
  const blockRootHex = toRootHex(ssz.phase0.BeaconBlockHeader.hashTreeRoot(blockHeader));
15
15
  // 1) [REJECT] The sidecar is valid as verified by verify_data_column_sidecar
16
- verifyFuluDataColumnSidecar(chain.config, dataColumnSidecar);
16
+ verifyFuluDataColumnSidecar(chain.config, dataColumnSidecar, blockRootHex);
17
17
  // 2) [REJECT] The sidecar is for the correct subnet -- i.e. compute_subnet_for_data_column_sidecar(sidecar.index) == subnet_id
18
18
  if (computeSubnetForDataColumnSidecar(chain.config, dataColumnSidecar) !== gossipSubnet) {
19
19
  throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
20
20
  code: DataColumnSidecarErrorCode.INVALID_SUBNET,
21
+ slot: blockHeader.slot,
22
+ root: blockRootHex,
21
23
  columnIndex: dataColumnSidecar.index,
22
24
  gossipSubnet: gossipSubnet,
23
25
  });
@@ -69,8 +71,9 @@ export async function validateGossipFuluDataColumnSidecar(chain, dataColumnSidec
69
71
  if (parentBlock.slot >= blockHeader.slot) {
70
72
  throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
71
73
  code: DataColumnSidecarErrorCode.NOT_LATER_THAN_PARENT,
72
- parentSlot: parentBlock.slot,
73
74
  slot: blockHeader.slot,
75
+ root: blockRootHex,
76
+ parentSlot: parentBlock.slot,
74
77
  });
75
78
  }
76
79
  // 7) [REJECT] The sidecar's block's parent passes validation.
@@ -101,6 +104,8 @@ export async function validateGossipFuluDataColumnSidecar(chain, dataColumnSidec
101
104
  if (proposerIndex !== expectedProposerIndex) {
102
105
  throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
103
106
  code: DataColumnSidecarErrorCode.INCORRECT_PROPOSER,
107
+ slot: blockHeader.slot,
108
+ root: blockRootHex,
104
109
  actualProposerIndex: proposerIndex,
105
110
  expectedProposerIndex,
106
111
  });
@@ -115,9 +120,9 @@ export async function validateGossipFuluDataColumnSidecar(chain, dataColumnSidec
115
120
  }))) {
116
121
  throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
117
122
  code: DataColumnSidecarErrorCode.PROPOSAL_SIGNATURE_INVALID,
118
- blockRoot: blockRootHex,
119
- index: dataColumnSidecar.index,
120
123
  slot: blockHeader.slot,
124
+ root: blockRootHex,
125
+ index: dataColumnSidecar.index,
121
126
  });
122
127
  }
123
128
  chain.seenBlockInputCache.markVerifiedProposerSignature(blockHeader.slot, blockRootHex, signature);
@@ -135,7 +140,8 @@ export async function validateGossipFuluDataColumnSidecar(chain, dataColumnSidec
135
140
  if (!valid) {
136
141
  throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
137
142
  code: DataColumnSidecarErrorCode.INCLUSION_PROOF_INVALID,
138
- slot: dataColumnSidecar.signedBlockHeader.message.slot,
143
+ slot: blockHeader.slot,
144
+ root: blockRootHex,
139
145
  columnIndex: dataColumnSidecar.index,
140
146
  });
141
147
  }
@@ -149,6 +155,7 @@ export async function validateGossipFuluDataColumnSidecar(chain, dataColumnSidec
149
155
  throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
150
156
  code: DataColumnSidecarErrorCode.INVALID_KZG_PROOF,
151
157
  slot: blockHeader.slot,
158
+ root: blockRootHex,
152
159
  columnIndex: dataColumnSidecar.index,
153
160
  });
154
161
  }
@@ -176,6 +183,7 @@ export async function validateGossipGloasDataColumnSidecar(chain, payloadInput,
176
183
  if (block.slot !== dataColumnSidecar.slot) {
177
184
  throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
178
185
  code: DataColumnSidecarErrorCode.INCORRECT_SIDECAR_SLOT,
186
+ root: blockRootHex,
179
187
  columnIndex: dataColumnSidecar.index,
180
188
  expected: block.slot,
181
189
  actual: dataColumnSidecar.slot,
@@ -183,11 +191,13 @@ export async function validateGossipGloasDataColumnSidecar(chain, payloadInput,
183
191
  }
184
192
  // [REJECT] The sidecar must pass verify_data_column_sidecar against the block commitments
185
193
  const kzgCommitments = payloadInput.getBlobKzgCommitments();
186
- verifyGloasDataColumnSidecar(dataColumnSidecar, kzgCommitments);
194
+ verifyGloasDataColumnSidecar(dataColumnSidecar, kzgCommitments, blockRootHex);
187
195
  // [REJECT] The sidecar must be on the correct subnet
188
196
  if (computeSubnetForDataColumnSidecar(chain.config, dataColumnSidecar) !== gossipSubnet) {
189
197
  throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
190
198
  code: DataColumnSidecarErrorCode.INVALID_SUBNET,
199
+ slot: dataColumnSidecar.slot,
200
+ root: blockRootHex,
191
201
  columnIndex: dataColumnSidecar.index,
192
202
  gossipSubnet,
193
203
  });
@@ -201,6 +211,7 @@ export async function validateGossipGloasDataColumnSidecar(chain, payloadInput,
201
211
  throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
202
212
  code: DataColumnSidecarErrorCode.INVALID_KZG_PROOF,
203
213
  slot: dataColumnSidecar.slot,
214
+ root: blockRootHex,
204
215
  columnIndex: dataColumnSidecar.index,
205
216
  });
206
217
  }
@@ -212,27 +223,31 @@ export async function validateGossipGloasDataColumnSidecar(chain, payloadInput,
212
223
  * SPEC FUNCTION
213
224
  * https://github.com/ethereum/consensus-specs/blob/v1.6.0-alpha.4/specs/fulu/p2p-interface.md#verify_data_column_sidecar
214
225
  */
215
- function verifyFuluDataColumnSidecar(config, dataColumnSidecar) {
226
+ function verifyFuluDataColumnSidecar(config, dataColumnSidecar, blockRootHex) {
227
+ const slot = dataColumnSidecar.signedBlockHeader.message.slot;
216
228
  if (dataColumnSidecar.index >= NUMBER_OF_COLUMNS) {
217
229
  throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
218
230
  code: DataColumnSidecarErrorCode.INVALID_INDEX,
219
- slot: dataColumnSidecar.signedBlockHeader.message.slot,
231
+ slot,
232
+ root: blockRootHex,
220
233
  columnIndex: dataColumnSidecar.index,
221
234
  });
222
235
  }
223
236
  if (dataColumnSidecar.kzgCommitments.length === 0) {
224
237
  throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
225
238
  code: DataColumnSidecarErrorCode.NO_COMMITMENTS,
226
- slot: dataColumnSidecar.signedBlockHeader.message.slot,
239
+ slot,
240
+ root: blockRootHex,
227
241
  columnIndex: dataColumnSidecar.index,
228
242
  });
229
243
  }
230
- const epoch = computeEpochAtSlot(dataColumnSidecar.signedBlockHeader.message.slot);
244
+ const epoch = computeEpochAtSlot(slot);
231
245
  const maxBlobsPerBlock = config.getMaxBlobsPerBlock(epoch);
232
246
  if (dataColumnSidecar.kzgCommitments.length > maxBlobsPerBlock) {
233
247
  throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
234
248
  code: DataColumnSidecarErrorCode.TOO_MANY_KZG_COMMITMENTS,
235
- slot: dataColumnSidecar.signedBlockHeader.message.slot,
249
+ slot,
250
+ root: blockRootHex,
236
251
  columnIndex: dataColumnSidecar.index,
237
252
  count: dataColumnSidecar.kzgCommitments.length,
238
253
  limit: maxBlobsPerBlock,
@@ -242,6 +257,8 @@ function verifyFuluDataColumnSidecar(config, dataColumnSidecar) {
242
257
  dataColumnSidecar.column.length !== dataColumnSidecar.kzgProofs.length) {
243
258
  throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
244
259
  code: DataColumnSidecarErrorCode.MISMATCHED_LENGTHS,
260
+ slot,
261
+ root: blockRootHex,
245
262
  columnLength: dataColumnSidecar.column.length,
246
263
  commitmentsLength: dataColumnSidecar.kzgCommitments.length,
247
264
  proofsLength: dataColumnSidecar.kzgProofs.length,
@@ -252,12 +269,13 @@ function verifyFuluDataColumnSidecar(config, dataColumnSidecar) {
252
269
  * SPEC FUNCTION
253
270
  * https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.3/specs/gloas/p2p-interface.md#modified-verify_data_column_sidecar
254
271
  */
255
- function verifyGloasDataColumnSidecar(dataColumnSidecar, kzgCommitments) {
272
+ function verifyGloasDataColumnSidecar(dataColumnSidecar, kzgCommitments, blockRootHex) {
256
273
  const slot = getDataColumnSidecarSlot(dataColumnSidecar);
257
274
  if (dataColumnSidecar.index >= NUMBER_OF_COLUMNS) {
258
275
  throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
259
276
  code: DataColumnSidecarErrorCode.INVALID_INDEX,
260
277
  slot,
278
+ root: blockRootHex,
261
279
  columnIndex: dataColumnSidecar.index,
262
280
  });
263
281
  }
@@ -265,6 +283,7 @@ function verifyGloasDataColumnSidecar(dataColumnSidecar, kzgCommitments) {
265
283
  throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
266
284
  code: DataColumnSidecarErrorCode.NO_COMMITMENTS,
267
285
  slot,
286
+ root: blockRootHex,
268
287
  columnIndex: dataColumnSidecar.index,
269
288
  });
270
289
  }
@@ -272,6 +291,8 @@ function verifyGloasDataColumnSidecar(dataColumnSidecar, kzgCommitments) {
272
291
  dataColumnSidecar.column.length !== dataColumnSidecar.kzgProofs.length) {
273
292
  throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
274
293
  code: DataColumnSidecarErrorCode.MISMATCHED_LENGTHS,
294
+ slot,
295
+ root: blockRootHex,
275
296
  columnLength: dataColumnSidecar.column.length,
276
297
  commitmentsLength: kzgCommitments.length,
277
298
  proofsLength: dataColumnSidecar.kzgProofs.length,
@@ -349,8 +370,8 @@ export async function validateFuluBlockDataColumnSidecars(chain, blockSlot, bloc
349
370
  }))) {
350
371
  throw new DataColumnSidecarValidationError({
351
372
  code: DataColumnSidecarErrorCode.PROPOSAL_SIGNATURE_INVALID,
352
- blockRoot: rootHex,
353
373
  slot: blockSlot,
374
+ root: rootHex,
354
375
  index: dataColumnSidecars[0].index,
355
376
  });
356
377
  }
@@ -376,6 +397,7 @@ export async function validateFuluBlockDataColumnSidecars(chain, blockSlot, bloc
376
397
  throw new DataColumnSidecarValidationError({
377
398
  code: DataColumnSidecarErrorCode.INVALID_INDEX,
378
399
  slot: blockSlot,
400
+ root: toRootHex(blockRoot),
379
401
  columnIndex: columnSidecar.index,
380
402
  }, "DataColumnSidecar has invalid index");
381
403
  }
@@ -413,6 +435,7 @@ export async function validateFuluBlockDataColumnSidecars(chain, blockSlot, bloc
413
435
  throw new DataColumnSidecarValidationError({
414
436
  code: DataColumnSidecarErrorCode.INCLUSION_PROOF_INVALID,
415
437
  slot: blockSlot,
438
+ root: toRootHex(blockRoot),
416
439
  columnIndex: columnSidecar.index,
417
440
  }, "DataColumnSidecar has invalid inclusion proof");
418
441
  }
@@ -476,6 +499,7 @@ export async function validateGloasBlockDataColumnSidecars(blockSlot, blockRoot,
476
499
  if (columnSidecar.slot !== blockSlot) {
477
500
  throw new DataColumnSidecarValidationError({
478
501
  code: DataColumnSidecarErrorCode.INCORRECT_SIDECAR_SLOT,
502
+ root: toRootHex(blockRoot),
479
503
  columnIndex: columnSidecar.index,
480
504
  expected: blockSlot,
481
505
  actual: columnSidecar.slot,
@@ -494,6 +518,7 @@ export async function validateGloasBlockDataColumnSidecars(blockSlot, blockRoot,
494
518
  throw new DataColumnSidecarValidationError({
495
519
  code: DataColumnSidecarErrorCode.INVALID_INDEX,
496
520
  slot: blockSlot,
521
+ root: toRootHex(blockRoot),
497
522
  columnIndex: columnSidecar.index,
498
523
  }, "DataColumnSidecar has invalid index");
499
524
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dataColumnSidecar.js","sourceRoot":"","sources":["../../../src/chain/validation/dataColumnSidecar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataColumnSidecar.js","sourceRoot":"","sources":["../../../src/chain/validation/dataColumnSidecar.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"executionPayloadEnvelope.d.ts","sourceRoot":"","sources":["../../../src/chain/validation/executionPayloadEnvelope.ts"],"names":[],"mappings":"AAaA,OAAO,EAAC,KAAK,EAAM,MAAM,iBAAiB,CAAC;AAG3C,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAGzC,wBAAsB,mCAAmC,CACvD,KAAK,EAAE,YAAY,EACnB,wBAAwB,EAAE,KAAK,CAAC,8BAA8B,GAC7D,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,sCAAsC,CAC1D,KAAK,EAAE,YAAY,EACnB,wBAAwB,EAAE,KAAK,CAAC,8BAA8B,GAC7D,OAAO,CAAC,IAAI,CAAC,CAEf"}
1
+ {"version":3,"file":"executionPayloadEnvelope.d.ts","sourceRoot":"","sources":["../../../src/chain/validation/executionPayloadEnvelope.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,KAAK,EAAM,MAAM,iBAAiB,CAAC;AAG3C,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAGzC,wBAAsB,mCAAmC,CACvD,KAAK,EAAE,YAAY,EACnB,wBAAwB,EAAE,KAAK,CAAC,8BAA8B,GAC7D,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,sCAAsC,CAC1D,KAAK,EAAE,YAAY,EACnB,wBAAwB,EAAE,KAAK,CAAC,8BAA8B,GAC7D,OAAO,CAAC,IAAI,CAAC,CAEf"}
@@ -1,5 +1,4 @@
1
1
  import { PayloadStatus } from "@lodestar/fork-choice";
2
- import { MAX_BUILDER_DEPOSIT_REQUESTS_PER_PAYLOAD, MAX_BUILDER_EXIT_REQUESTS_PER_PAYLOAD, MAX_CONSOLIDATION_REQUESTS_PER_PAYLOAD, MAX_WITHDRAWALS_PER_PAYLOAD, MAX_WITHDRAWAL_REQUESTS_PER_PAYLOAD, } from "@lodestar/params";
3
2
  import { computeStartSlotAtEpoch, getExecutionPayloadEnvelopeSignatureSet, isStatePostGloas, } from "@lodestar/state-transition";
4
3
  import { ssz } from "@lodestar/types";
5
4
  import { byteArrayEquals, toRootHex } from "@lodestar/utils";
@@ -60,6 +59,8 @@ async function validateExecutionPayloadEnvelope(chain, executionPayloadEnvelope)
60
59
  if (block.slot !== payload.slotNumber) {
61
60
  throw new ExecutionPayloadEnvelopeError(GossipAction.REJECT, {
62
61
  code: ExecutionPayloadEnvelopeErrorCode.SLOT_MISMATCH,
62
+ slot: payload.slotNumber,
63
+ root: blockRootHex,
63
64
  envelopeSlot: payload.slotNumber,
64
65
  blockSlot: block.slot,
65
66
  });
@@ -68,6 +69,8 @@ async function validateExecutionPayloadEnvelope(chain, executionPayloadEnvelope)
68
69
  if (envelope.builderIndex !== payloadInput.getBuilderIndex()) {
69
70
  throw new ExecutionPayloadEnvelopeError(GossipAction.REJECT, {
70
71
  code: ExecutionPayloadEnvelopeErrorCode.BUILDER_INDEX_MISMATCH,
72
+ slot: payload.slotNumber,
73
+ root: blockRootHex,
71
74
  envelopeBuilderIndex: envelope.builderIndex,
72
75
  bidBuilderIndex: payloadInput.getBuilderIndex(),
73
76
  });
@@ -76,6 +79,8 @@ async function validateExecutionPayloadEnvelope(chain, executionPayloadEnvelope)
76
79
  if (toRootHex(payload.blockHash) !== payloadInput.getBlockHashHex()) {
77
80
  throw new ExecutionPayloadEnvelopeError(GossipAction.REJECT, {
78
81
  code: ExecutionPayloadEnvelopeErrorCode.BLOCK_HASH_MISMATCH,
82
+ slot: payload.slotNumber,
83
+ root: blockRootHex,
79
84
  envelopeBlockHash: toRootHex(payload.blockHash),
80
85
  bidBlockHash: payloadInput.getBlockHashHex(),
81
86
  });
@@ -85,38 +90,12 @@ async function validateExecutionPayloadEnvelope(chain, executionPayloadEnvelope)
85
90
  if (!byteArrayEquals(requestsRoot, payloadInput.getBid().executionRequestsRoot)) {
86
91
  throw new ExecutionPayloadEnvelopeError(GossipAction.REJECT, {
87
92
  code: ExecutionPayloadEnvelopeErrorCode.EXECUTION_REQUESTS_ROOT_MISMATCH,
93
+ slot: payload.slotNumber,
94
+ root: blockRootHex,
88
95
  envelopeRequestsRoot: toRootHex(requestsRoot),
89
96
  bidRequestsRoot: toRootHex(payloadInput.getBid().executionRequestsRoot),
90
97
  });
91
98
  }
92
- // [REJECT] The counts of `execution_requests` are within their respective limits.
93
- // New in Gloas:EIP7688 — progressive lists are unbounded at the type level, so bounds
94
- // are enforced here in gossip validation.
95
- const { executionRequests } = envelope;
96
- const requestCountLimits = [
97
- ["withdrawals", executionRequests.withdrawals.length, MAX_WITHDRAWAL_REQUESTS_PER_PAYLOAD],
98
- ["consolidations", executionRequests.consolidations.length, MAX_CONSOLIDATION_REQUESTS_PER_PAYLOAD],
99
- ["builderDeposits", executionRequests.builderDeposits.length, MAX_BUILDER_DEPOSIT_REQUESTS_PER_PAYLOAD],
100
- ["builderExits", executionRequests.builderExits.length, MAX_BUILDER_EXIT_REQUESTS_PER_PAYLOAD],
101
- ];
102
- for (const [name, count, limit] of requestCountLimits) {
103
- if (count > limit) {
104
- throw new ExecutionPayloadEnvelopeError(GossipAction.REJECT, {
105
- code: ExecutionPayloadEnvelopeErrorCode.EXECUTION_REQUESTS_COUNT_EXCEEDED,
106
- name,
107
- count,
108
- limit,
109
- });
110
- }
111
- }
112
- // [REJECT] The number of withdrawals is within the limit.
113
- if (payload.withdrawals.length > MAX_WITHDRAWALS_PER_PAYLOAD) {
114
- throw new ExecutionPayloadEnvelopeError(GossipAction.REJECT, {
115
- code: ExecutionPayloadEnvelopeErrorCode.WITHDRAWALS_COUNT_EXCEEDED,
116
- count: payload.withdrawals.length,
117
- limit: MAX_WITHDRAWALS_PER_PAYLOAD,
118
- });
119
- }
120
99
  // Get the block state to verify the builder's signature.
121
100
  const blockState = await chain.regen
122
101
  .getState(block.stateRoot, RegenCaller.validateGossipPayloadEnvelope)
@@ -136,6 +115,8 @@ async function validateExecutionPayloadEnvelope(chain, executionPayloadEnvelope)
136
115
  if (!(await chain.bls.verifySignatureSets([signatureSet], { verifyOnMainThread: true }))) {
137
116
  throw new ExecutionPayloadEnvelopeError(GossipAction.REJECT, {
138
117
  code: ExecutionPayloadEnvelopeErrorCode.INVALID_SIGNATURE,
118
+ slot: payload.slotNumber,
119
+ root: blockRootHex,
139
120
  });
140
121
  }
141
122
  }
@@ -1 +1 @@
1
- {"version":3,"file":"executionPayloadEnvelope.js","sourceRoot":"","sources":["../../../src/chain/validation/executionPayloadEnvelope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executionPayloadEnvelope.js","sourceRoot":"","sources":["../../../src/chain/validation/executionPayloadEnvelope.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,16 @@
1
1
  import { ChainForkConfig } from "@lodestar/config";
2
2
  import { Db, LevelDbControllerMetrics } from "@lodestar/db";
3
+ import { Slot } from "@lodestar/types";
4
+ import { Logger } from "@lodestar/utils";
5
+ import { type IDataColumnStore } from "./dataColumnStore.js";
6
+ import type { FlatFileStoreMetrics } from "./flatFileStore/metrics.js";
3
7
  import { IBeaconDb } from "./interface.js";
4
8
  import { CheckpointStateRepository } from "./repositories/checkpointState.js";
5
9
  import { AttesterSlashingRepository, BLSToExecutionChangeRepository, BackfilledRanges, BestLightClientUpdateRepository, BlobSidecarsArchiveRepository, BlobSidecarsRepository, BlockArchiveRepository, BlockRepository, CheckpointHeaderRepository, DataColumnSidecarArchiveRepository, DataColumnSidecarRepository, ExecutionPayloadEnvelopeArchiveRepository, ExecutionPayloadEnvelopeRepository, ProposerSlashingRepository, StateArchiveRepository, SyncCommitteeRepository, SyncCommitteeWitnessRepository, VoluntaryExitRepository } from "./repositories/index.js";
6
- export type BeaconDbModules = {
7
- config: ChainForkConfig;
8
- db: Db;
10
+ export type BeaconDbOpts = {
11
+ dataColumnDir: string;
12
+ logger: Logger;
13
+ metrics?: FlatFileStoreMetrics | null;
9
14
  };
10
15
  export declare class BeaconDb implements IBeaconDb {
11
16
  protected readonly db: Db;
@@ -28,9 +33,13 @@ export declare class BeaconDb implements IBeaconDb {
28
33
  syncCommittee: SyncCommitteeRepository;
29
34
  syncCommitteeWitness: SyncCommitteeWitnessRepository;
30
35
  backfilledRanges: BackfilledRanges;
31
- constructor(config: ChainForkConfig, db: Db);
36
+ readonly dataColumns: IDataColumnStore;
37
+ lastLegacyArchiveSlot: Slot | null;
38
+ private readonly flatFileStore;
39
+ constructor(config: ChainForkConfig, db: Db, opts: BeaconDbOpts);
40
+ init(): Promise<void>;
32
41
  close(): Promise<void>;
33
- setMetrics(metrics: LevelDbControllerMetrics): void;
42
+ setMetrics(metrics: LevelDbControllerMetrics, flatFileStoreMetrics?: FlatFileStoreMetrics | null): void;
34
43
  pruneHotDb(): Promise<void>;
35
44
  deleteDeprecatedEth1Data(): Promise<void>;
36
45
  private deleteBucketData;
@@ -1 +1 @@
1
- {"version":3,"file":"beacon.d.ts","sourceRoot":"","sources":["../../src/db/beacon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAE,wBAAwB,EAAY,MAAM,cAAc,CAAC;AAErE,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAC,yBAAyB,EAAC,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,gBAAgB,EAChB,+BAA+B,EAC/B,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,0BAA0B,EAC1B,kCAAkC,EAClC,2BAA2B,EAC3B,yCAAyC,EACzC,kCAAkC,EAClC,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,eAAe,CAAC;IACxB,EAAE,EAAE,EAAE,CAAC;CACR,CAAC;AAEF,qBAAa,QAAS,YAAW,SAAS;IA8BtC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE;IA7B3B,KAAK,EAAE,eAAe,CAAC;IACvB,YAAY,EAAE,sBAAsB,CAAC;IAErC,YAAY,EAAE,sBAAsB,CAAC;IACrC,mBAAmB,EAAE,6BAA6B,CAAC;IACnD,iBAAiB,EAAE,2BAA2B,CAAC;IAC/C,wBAAwB,EAAE,kCAAkC,CAAC;IAE7D,wBAAwB,EAAE,kCAAkC,CAAC;IAC7D,+BAA+B,EAAE,yCAAyC,CAAC;IAE3E,YAAY,EAAE,sBAAsB,CAAC;IACrC,eAAe,EAAE,yBAAyB,CAAC;IAE3C,aAAa,EAAE,uBAAuB,CAAC;IACvC,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,oBAAoB,EAAE,8BAA8B,CAAC;IAGrD,qBAAqB,EAAE,+BAA+B,CAAC;IACvD,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,aAAa,EAAE,uBAAuB,CAAC;IACvC,oBAAoB,EAAE,8BAA8B,CAAC;IAErD,gBAAgB,EAAE,gBAAgB,CAAC;IAEnC,YACE,MAAM,EAAE,eAAe,EACJ,EAAE,EAAE,EAAE,EA4B1B;IAED,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAErB;IAED,UAAU,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAElD;IAEK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAMhC;IAEK,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAa9C;YAEa,gBAAgB;CAoB/B"}
1
+ {"version":3,"file":"beacon.d.ts","sourceRoot":"","sources":["../../src/db/beacon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAE,wBAAwB,EAAY,MAAM,cAAc,CAAC;AACrE,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAC,KAAK,gBAAgB,EAAwB,MAAM,sBAAsB,CAAC;AAElF,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAC,yBAAyB,EAAC,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,gBAAgB,EAChB,+BAA+B,EAC/B,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,0BAA0B,EAC1B,kCAAkC,EAClC,2BAA2B,EAC3B,yCAAyC,EACzC,kCAAkC,EAClC,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACvC,CAAC;AAEF,qBAAa,QAAS,YAAW,SAAS;IAkCtC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE;IAjC3B,KAAK,EAAE,eAAe,CAAC;IACvB,YAAY,EAAE,sBAAsB,CAAC;IAErC,YAAY,EAAE,sBAAsB,CAAC;IACrC,mBAAmB,EAAE,6BAA6B,CAAC;IACnD,iBAAiB,EAAE,2BAA2B,CAAC;IAC/C,wBAAwB,EAAE,kCAAkC,CAAC;IAE7D,wBAAwB,EAAE,kCAAkC,CAAC;IAC7D,+BAA+B,EAAE,yCAAyC,CAAC;IAE3E,YAAY,EAAE,sBAAsB,CAAC;IACrC,eAAe,EAAE,yBAAyB,CAAC;IAE3C,aAAa,EAAE,uBAAuB,CAAC;IACvC,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,oBAAoB,EAAE,8BAA8B,CAAC;IAGrD,qBAAqB,EAAE,+BAA+B,CAAC;IACvD,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,aAAa,EAAE,uBAAuB,CAAC;IACvC,oBAAoB,EAAE,8BAA8B,CAAC;IAErD,gBAAgB,EAAE,gBAAgB,CAAC;IAEnC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACvC,qBAAqB,EAAE,IAAI,GAAG,IAAI,CAAQ;IAC1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAE9C,YACE,MAAM,EAAE,eAAe,EACJ,EAAE,EAAE,EAAE,EACzB,IAAI,EAAE,YAAY,EAoCnB;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAI1B;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAG3B;IAED,UAAU,CAAC,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,GAAE,oBAAoB,GAAG,IAAW,GAAG,IAAI,CAG5G;IAEK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAMhC;IAEK,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAa9C;YAEa,gBAAgB;CAoB/B"}
package/lib/db/beacon.js CHANGED
@@ -1,5 +1,7 @@
1
1
  import { encodeKey } from "@lodestar/db";
2
2
  import { Bucket } from "./buckets.js";
3
+ import { LegacyDataColumnStore } from "./dataColumnStore.js";
4
+ import { FlatFileStore } from "./flatFileStore/flatFileStore.js";
3
5
  import { CheckpointStateRepository } from "./repositories/checkpointState.js";
4
6
  import { AttesterSlashingRepository, BLSToExecutionChangeRepository, BackfilledRanges, BestLightClientUpdateRepository, BlobSidecarsArchiveRepository, BlobSidecarsRepository, BlockArchiveRepository, BlockRepository, CheckpointHeaderRepository, DataColumnSidecarArchiveRepository, DataColumnSidecarRepository, ExecutionPayloadEnvelopeArchiveRepository, ExecutionPayloadEnvelopeRepository, ProposerSlashingRepository, StateArchiveRepository, SyncCommitteeRepository, SyncCommitteeWitnessRepository, VoluntaryExitRepository, } from "./repositories/index.js";
5
7
  export class BeaconDb {
@@ -24,7 +26,10 @@ export class BeaconDb {
24
26
  syncCommittee;
25
27
  syncCommitteeWitness;
26
28
  backfilledRanges;
27
- constructor(config, db) {
29
+ dataColumns;
30
+ lastLegacyArchiveSlot = null;
31
+ flatFileStore;
32
+ constructor(config, db, opts) {
28
33
  this.db = db;
29
34
  // Warning: If code is ever run in the constructor, must change this stub to not extend 'packages/beacon-node/test/utils/stub/beaconDb.ts' -
30
35
  this.block = new BlockRepository(config, db);
@@ -47,12 +52,21 @@ export class BeaconDb {
47
52
  this.syncCommittee = new SyncCommitteeRepository(config, db);
48
53
  this.syncCommitteeWitness = new SyncCommitteeWitnessRepository(config, db);
49
54
  this.backfilledRanges = new BackfilledRanges(config, db);
55
+ this.flatFileStore = new FlatFileStore(opts.dataColumnDir, config, opts.logger, opts.metrics);
56
+ this.dataColumns = new LegacyDataColumnStore(this.flatFileStore, this.dataColumnSidecar, this.dataColumnSidecarArchive, this.blockArchive);
50
57
  }
51
- close() {
58
+ async init() {
59
+ await this.flatFileStore.init();
60
+ const [lastLegacyKey] = await this.dataColumnSidecarArchive.keys({ reverse: true, limit: 1 });
61
+ this.lastLegacyArchiveSlot = lastLegacyKey?.prefix ?? null;
62
+ }
63
+ async close() {
64
+ await this.flatFileStore.close();
52
65
  return this.db.close();
53
66
  }
54
- setMetrics(metrics) {
67
+ setMetrics(metrics, flatFileStoreMetrics = null) {
55
68
  this.db.setMetrics(metrics);
69
+ this.flatFileStore.setMetrics(flatFileStoreMetrics);
56
70
  }
57
71
  async pruneHotDb() {
58
72
  // Prune all hot blobs
@@ -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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"}
@@ -0,0 +1,39 @@
1
+ import { ColumnIndex, DataColumnSidecar, RootHex, Slot } from "@lodestar/types";
2
+ import type { IFlatFileStore } from "./flatFileStore/interface.js";
3
+ import type { BlockArchiveRepository, DataColumnSidecarArchiveRepository, DataColumnSidecarRepository } from "./repositories/index.js";
4
+ export type DataColumnKey = {
5
+ slot: Slot;
6
+ blockRoot: RootHex;
7
+ };
8
+ export type IndexedDataColumnBytes = {
9
+ index: ColumnIndex;
10
+ data: Uint8Array;
11
+ };
12
+ type LegacyHotDataColumnStore = Pick<DataColumnSidecarRepository, "values" | "getManyBinary" | "deleteMany">;
13
+ type LegacyArchiveDataColumnStore = Pick<DataColumnSidecarArchiveRepository, "values" | "getManyBinary" | "keys" | "deleteMany">;
14
+ type BlockRootIndex = Pick<BlockArchiveRepository, "getSlotByRoot">;
15
+ export interface IDataColumnStore {
16
+ getAll(key: DataColumnKey): Promise<DataColumnSidecar[]>;
17
+ getManyBinary(key: DataColumnKey, indices: ColumnIndex[]): Promise<(Uint8Array | undefined)[]>;
18
+ putManyBinary(key: DataColumnKey, columns: IndexedDataColumnBytes[]): Promise<void>;
19
+ deleteMany(keys: DataColumnKey[]): Promise<void>;
20
+ pruneBefore(slot: Slot): Promise<Slot[]>;
21
+ }
22
+ /**
23
+ * Bridges pre-flat-file LevelDB columns during the supported in-place upgrade window.
24
+ * Remove the legacy repositories after upgrades from the last pre-flat-file release are no longer supported.
25
+ */
26
+ export declare class LegacyDataColumnStore implements IDataColumnStore {
27
+ private readonly flatFiles;
28
+ private readonly legacyHot;
29
+ private readonly legacyArchive;
30
+ private readonly blockArchive;
31
+ constructor(flatFiles: IFlatFileStore, legacyHot: LegacyHotDataColumnStore, legacyArchive: LegacyArchiveDataColumnStore, blockArchive: BlockRootIndex);
32
+ getAll({ slot, blockRoot }: DataColumnKey): Promise<DataColumnSidecar[]>;
33
+ getManyBinary({ slot, blockRoot }: DataColumnKey, indices: ColumnIndex[]): Promise<(Uint8Array | undefined)[]>;
34
+ putManyBinary({ slot, blockRoot }: DataColumnKey, columns: IndexedDataColumnBytes[]): Promise<void>;
35
+ deleteMany(keys: DataColumnKey[]): Promise<void>;
36
+ pruneBefore(slot: Slot): Promise<Slot[]>;
37
+ }
38
+ export {};
39
+ //# sourceMappingURL=dataColumnStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataColumnStore.d.ts","sourceRoot":"","sources":["../../src/db/dataColumnStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAE9E,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EACV,sBAAsB,EACtB,kCAAkC,EAClC,2BAA2B,EAC5B,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,aAAa,GAAG;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAC,CAAC;AAC7D,MAAM,MAAM,sBAAsB,GAAG;IAAC,KAAK,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAC,CAAC;AAE5E,KAAK,wBAAwB,GAAG,IAAI,CAAC,2BAA2B,EAAE,QAAQ,GAAG,eAAe,GAAG,YAAY,CAAC,CAAC;AAC7G,KAAK,4BAA4B,GAAG,IAAI,CACtC,kCAAkC,EAClC,QAAQ,GAAG,eAAe,GAAG,MAAM,GAAG,YAAY,CACnD,CAAC;AACF,KAAK,cAAc,GAAG,IAAI,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAC;AAEpE,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACzD,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;IAC/F,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpF,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;CAC1C;AAED;;;GAGG;AACH,qBAAa,qBAAsB,YAAW,gBAAgB;IAE1D,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAJ/B,YACmB,SAAS,EAAE,cAAc,EACzB,SAAS,EAAE,wBAAwB,EACnC,aAAa,EAAE,4BAA4B,EAC3C,YAAY,EAAE,cAAc,EAC3C;IAEE,MAAM,CAAC,EAAC,IAAI,EAAE,SAAS,EAAC,EAAE,aAAa,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAiB3E;IAEK,aAAa,CAAC,EAAC,IAAI,EAAE,SAAS,EAAC,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC,CAiBjH;IAEK,aAAa,CAAC,EAAC,IAAI,EAAE,SAAS,EAAC,EAAE,aAAa,EAAE,OAAO,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtG;IAEK,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAGrD;IAEK,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAM7C;CACF"}