@lodestar/beacon-node 1.42.0-dev.b10dfaca8d → 1.42.0-dev.bc0be71fb0

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 (203) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +24 -12
  3. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  4. package/lib/api/impl/debug/index.js.map +1 -1
  5. package/lib/chain/ColumnReconstructionTracker.d.ts +2 -1
  6. package/lib/chain/ColumnReconstructionTracker.d.ts.map +1 -1
  7. package/lib/chain/ColumnReconstructionTracker.js +5 -5
  8. package/lib/chain/ColumnReconstructionTracker.js.map +1 -1
  9. package/lib/chain/GetBlobsTracker.d.ts +2 -1
  10. package/lib/chain/GetBlobsTracker.d.ts.map +1 -1
  11. package/lib/chain/GetBlobsTracker.js +14 -12
  12. package/lib/chain/GetBlobsTracker.js.map +1 -1
  13. package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
  14. package/lib/chain/archiveStore/archiveStore.js +1 -0
  15. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  16. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts +3 -3
  17. package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +1 -1
  18. package/lib/chain/archiveStore/historicalState/getHistoricalState.js +6 -4
  19. package/lib/chain/archiveStore/historicalState/getHistoricalState.js.map +1 -1
  20. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts +2 -2
  21. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +1 -1
  22. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js +1 -0
  23. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
  24. package/lib/chain/archiveStore/historicalState/types.d.ts +2 -0
  25. package/lib/chain/archiveStore/historicalState/types.d.ts.map +1 -1
  26. package/lib/chain/archiveStore/historicalState/types.js.map +1 -1
  27. package/lib/chain/archiveStore/historicalState/worker.js +1 -4
  28. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
  29. package/lib/chain/archiveStore/interface.d.ts +1 -0
  30. package/lib/chain/archiveStore/interface.d.ts.map +1 -1
  31. package/lib/chain/blocks/blockInput/blockInput.d.ts +5 -5
  32. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +1 -1
  33. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  34. package/lib/chain/blocks/blockInput/types.d.ts +4 -4
  35. package/lib/chain/blocks/blockInput/types.d.ts.map +1 -1
  36. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  37. package/lib/chain/blocks/importBlock.js +30 -18
  38. package/lib/chain/blocks/importBlock.js.map +1 -1
  39. package/lib/chain/blocks/importExecutionPayload.d.ts +10 -8
  40. package/lib/chain/blocks/importExecutionPayload.d.ts.map +1 -1
  41. package/lib/chain/blocks/importExecutionPayload.js +76 -48
  42. package/lib/chain/blocks/importExecutionPayload.js.map +1 -1
  43. package/lib/chain/blocks/index.d.ts.map +1 -1
  44. package/lib/chain/blocks/index.js +2 -1
  45. package/lib/chain/blocks/index.js.map +1 -1
  46. package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.d.ts +14 -6
  47. package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.d.ts.map +1 -1
  48. package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.js +33 -2
  49. package/lib/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.js.map +1 -1
  50. package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts +2 -1
  51. package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts.map +1 -1
  52. package/lib/chain/blocks/types.d.ts +20 -14
  53. package/lib/chain/blocks/types.d.ts.map +1 -1
  54. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts +2 -2
  55. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +1 -1
  56. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +1 -1
  57. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  58. package/lib/chain/chain.d.ts +3 -2
  59. package/lib/chain/chain.d.ts.map +1 -1
  60. package/lib/chain/chain.js +55 -20
  61. package/lib/chain/chain.js.map +1 -1
  62. package/lib/chain/emitter.d.ts +29 -7
  63. package/lib/chain/emitter.d.ts.map +1 -1
  64. package/lib/chain/emitter.js +12 -3
  65. package/lib/chain/emitter.js.map +1 -1
  66. package/lib/chain/errors/dataColumnSidecarError.d.ts +31 -1
  67. package/lib/chain/errors/dataColumnSidecarError.d.ts.map +1 -1
  68. package/lib/chain/errors/dataColumnSidecarError.js +7 -0
  69. package/lib/chain/errors/dataColumnSidecarError.js.map +1 -1
  70. package/lib/chain/interface.d.ts +4 -2
  71. package/lib/chain/interface.d.ts.map +1 -1
  72. package/lib/chain/options.d.ts +1 -0
  73. package/lib/chain/options.d.ts.map +1 -1
  74. package/lib/chain/options.js +1 -0
  75. package/lib/chain/options.js.map +1 -1
  76. package/lib/chain/seenCache/seenGossipBlockInput.d.ts +1 -1
  77. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +1 -1
  78. package/lib/chain/seenCache/seenGossipBlockInput.js +2 -2
  79. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  80. package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts +1 -1
  81. package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts.map +1 -1
  82. package/lib/chain/seenCache/seenPayloadEnvelopeInput.js +2 -2
  83. package/lib/chain/seenCache/seenPayloadEnvelopeInput.js.map +1 -1
  84. package/lib/chain/validation/dataColumnSidecar.d.ts +11 -4
  85. package/lib/chain/validation/dataColumnSidecar.d.ts.map +1 -1
  86. package/lib/chain/validation/dataColumnSidecar.js +184 -5
  87. package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
  88. package/lib/db/buckets.d.ts +2 -2
  89. package/lib/db/buckets.d.ts.map +1 -1
  90. package/lib/db/buckets.js +2 -2
  91. package/lib/db/buckets.js.map +1 -1
  92. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  93. package/lib/db/repositories/blockArchiveIndex.d.ts.map +1 -1
  94. package/lib/db/repositories/dataColumnSidecar.d.ts.map +1 -1
  95. package/lib/db/repositories/dataColumnSidecar.js +4 -2
  96. package/lib/db/repositories/dataColumnSidecar.js.map +1 -1
  97. package/lib/db/repositories/dataColumnSidecarArchive.d.ts.map +1 -1
  98. package/lib/db/repositories/dataColumnSidecarArchive.js +4 -2
  99. package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -1
  100. package/lib/metrics/metrics/lodestar.d.ts +20 -0
  101. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  102. package/lib/metrics/metrics/lodestar.js +33 -0
  103. package/lib/metrics/metrics/lodestar.js.map +1 -1
  104. package/lib/network/interface.d.ts +3 -2
  105. package/lib/network/interface.d.ts.map +1 -1
  106. package/lib/network/libp2p/index.d.ts.map +1 -1
  107. package/lib/network/libp2p/index.js +22 -11
  108. package/lib/network/libp2p/index.js.map +1 -1
  109. package/lib/network/network.d.ts +3 -2
  110. package/lib/network/network.d.ts.map +1 -1
  111. package/lib/network/network.js +3 -0
  112. package/lib/network/network.js.map +1 -1
  113. package/lib/network/options.d.ts.map +1 -1
  114. package/lib/network/options.js +7 -2
  115. package/lib/network/options.js.map +1 -1
  116. package/lib/network/processor/extractSlotRootFns.d.ts +1 -1
  117. package/lib/network/processor/extractSlotRootFns.d.ts.map +1 -1
  118. package/lib/network/processor/extractSlotRootFns.js +25 -5
  119. package/lib/network/processor/extractSlotRootFns.js.map +1 -1
  120. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  121. package/lib/network/processor/gossipHandlers.js +256 -73
  122. package/lib/network/processor/gossipHandlers.js.map +1 -1
  123. package/lib/network/processor/index.d.ts +11 -1
  124. package/lib/network/processor/index.d.ts.map +1 -1
  125. package/lib/network/processor/index.js +234 -22
  126. package/lib/network/processor/index.js.map +1 -1
  127. package/lib/network/reqresp/types.d.ts +3 -3
  128. package/lib/network/reqresp/types.d.ts.map +1 -1
  129. package/lib/network/reqresp/types.js +9 -3
  130. package/lib/network/reqresp/types.js.map +1 -1
  131. package/lib/sync/unknownBlock.js +2 -2
  132. package/lib/sync/unknownBlock.js.map +1 -1
  133. package/lib/sync/utils/downloadByRange.d.ts +3 -3
  134. package/lib/sync/utils/downloadByRange.d.ts.map +1 -1
  135. package/lib/sync/utils/downloadByRange.js +4 -2
  136. package/lib/sync/utils/downloadByRange.js.map +1 -1
  137. package/lib/sync/utils/downloadByRoot.d.ts +3 -3
  138. package/lib/sync/utils/downloadByRoot.d.ts.map +1 -1
  139. package/lib/sync/utils/downloadByRoot.js +10 -5
  140. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  141. package/lib/util/blobs.d.ts +3 -3
  142. package/lib/util/blobs.d.ts.map +1 -1
  143. package/lib/util/blobs.js +21 -10
  144. package/lib/util/blobs.js.map +1 -1
  145. package/lib/util/dataColumns.d.ts +18 -11
  146. package/lib/util/dataColumns.d.ts.map +1 -1
  147. package/lib/util/dataColumns.js +51 -17
  148. package/lib/util/dataColumns.js.map +1 -1
  149. package/lib/util/execution.d.ts +6 -2
  150. package/lib/util/execution.d.ts.map +1 -1
  151. package/lib/util/execution.js +49 -25
  152. package/lib/util/execution.js.map +1 -1
  153. package/lib/util/sszBytes.d.ts +25 -1
  154. package/lib/util/sszBytes.d.ts.map +1 -1
  155. package/lib/util/sszBytes.js +189 -2
  156. package/lib/util/sszBytes.js.map +1 -1
  157. package/package.json +16 -16
  158. package/src/api/impl/beacon/blocks/index.ts +32 -15
  159. package/src/api/impl/debug/index.ts +2 -2
  160. package/src/chain/ColumnReconstructionTracker.ts +6 -5
  161. package/src/chain/GetBlobsTracker.ts +14 -12
  162. package/src/chain/archiveStore/archiveStore.ts +1 -0
  163. package/src/chain/archiveStore/historicalState/getHistoricalState.ts +6 -5
  164. package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +2 -1
  165. package/src/chain/archiveStore/historicalState/types.ts +2 -0
  166. package/src/chain/archiveStore/historicalState/worker.ts +1 -5
  167. package/src/chain/archiveStore/interface.ts +1 -0
  168. package/src/chain/blocks/blockInput/blockInput.ts +8 -8
  169. package/src/chain/blocks/blockInput/types.ts +4 -4
  170. package/src/chain/blocks/importBlock.ts +36 -18
  171. package/src/chain/blocks/importExecutionPayload.ts +84 -53
  172. package/src/chain/blocks/index.ts +2 -1
  173. package/src/chain/blocks/payloadEnvelopeInput/payloadEnvelopeInput.ts +53 -12
  174. package/src/chain/blocks/payloadEnvelopeInput/types.ts +2 -1
  175. package/src/chain/blocks/types.ts +25 -14
  176. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +4 -4
  177. package/src/chain/chain.ts +63 -24
  178. package/src/chain/emitter.ts +25 -7
  179. package/src/chain/errors/dataColumnSidecarError.ts +32 -1
  180. package/src/chain/interface.ts +4 -2
  181. package/src/chain/options.ts +2 -0
  182. package/src/chain/seenCache/seenGossipBlockInput.ts +2 -2
  183. package/src/chain/seenCache/seenPayloadEnvelopeInput.ts +2 -2
  184. package/src/chain/validation/dataColumnSidecar.ts +230 -7
  185. package/src/db/buckets.ts +2 -2
  186. package/src/db/repositories/dataColumnSidecar.ts +4 -2
  187. package/src/db/repositories/dataColumnSidecarArchive.ts +4 -2
  188. package/src/metrics/metrics/lodestar.ts +34 -0
  189. package/src/network/interface.ts +3 -2
  190. package/src/network/libp2p/index.ts +24 -13
  191. package/src/network/network.ts +7 -4
  192. package/src/network/options.ts +7 -2
  193. package/src/network/processor/extractSlotRootFns.ts +32 -6
  194. package/src/network/processor/gossipHandlers.ts +320 -86
  195. package/src/network/processor/index.ts +304 -22
  196. package/src/network/reqresp/types.ts +13 -5
  197. package/src/sync/unknownBlock.ts +3 -3
  198. package/src/sync/utils/downloadByRange.ts +9 -7
  199. package/src/sync/utils/downloadByRoot.ts +16 -12
  200. package/src/util/blobs.ts +35 -15
  201. package/src/util/dataColumns.ts +69 -25
  202. package/src/util/execution.ts +49 -30
  203. package/src/util/sszBytes.ts +245 -3
@@ -2,17 +2,18 @@ import { KZG_COMMITMENTS_INCLUSION_PROOF_DEPTH, KZG_COMMITMENTS_SUBTREE_INDEX, N
2
2
  import { computeEpochAtSlot, computeStartSlotAtEpoch, getBlockHeaderProposerSignatureSetByHeaderSlot, getBlockHeaderProposerSignatureSetByParentStateSlot, } from "@lodestar/state-transition";
3
3
  import { ssz } from "@lodestar/types";
4
4
  import { byteArrayEquals, toRootHex, verifyMerkleBranch } from "@lodestar/utils";
5
+ import { getDataColumnSidecarSlot } from "../../util/dataColumns.js";
5
6
  import { kzg } from "../../util/kzg.js";
6
7
  import { DataColumnSidecarErrorCode, DataColumnSidecarGossipError, DataColumnSidecarValidationError, } from "../errors/dataColumnSidecarError.js";
7
8
  import { GossipAction } from "../errors/gossipValidation.js";
8
9
  import { RegenCaller } from "../regen/interface.js";
9
10
  // SPEC FUNCTION
10
11
  // https://github.com/ethereum/consensus-specs/blob/v1.6.0-alpha.4/specs/fulu/p2p-interface.md#data_column_sidecar_subnet_id
11
- export async function validateGossipDataColumnSidecar(chain, dataColumnSidecar, gossipSubnet, metrics) {
12
+ export async function validateGossipFuluDataColumnSidecar(chain, dataColumnSidecar, gossipSubnet, metrics) {
12
13
  const blockHeader = dataColumnSidecar.signedBlockHeader.message;
13
14
  const blockRootHex = toRootHex(ssz.phase0.BeaconBlockHeader.hashTreeRoot(blockHeader));
14
15
  // 1) [REJECT] The sidecar is valid as verified by verify_data_column_sidecar
15
- verifyDataColumnSidecar(chain.config, dataColumnSidecar);
16
+ verifyFuluDataColumnSidecar(chain.config, dataColumnSidecar);
16
17
  // 2) [REJECT] The sidecar is for the correct subnet -- i.e. compute_subnet_for_data_column_sidecar(sidecar.index) == subnet_id
17
18
  if (computeSubnetForDataColumnSidecar(chain.config, dataColumnSidecar) !== gossipSubnet) {
18
19
  throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
@@ -153,11 +154,60 @@ export async function validateGossipDataColumnSidecar(chain, dataColumnSidecar,
153
154
  // sidecar.index) with valid header signature, sidecar inclusion proof, and kzg proof
154
155
  // -- Handled in seenGossipBlockInput
155
156
  }
157
+ // SPEC FUNCTION
158
+ // https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.3/specs/gloas/p2p-interface.md#data_column_sidecar_subnet_id
159
+ export async function validateGossipGloasDataColumnSidecar(chain, payloadInput, dataColumnSidecar, gossipSubnet, metrics) {
160
+ const blockRootHex = toRootHex(dataColumnSidecar.beaconBlockRoot);
161
+ const block = chain.forkChoice.getBlockHexDefaultStatus(blockRootHex);
162
+ // [IGNORE] A valid block for the sidecar's `slot` has been seen.
163
+ if (block === null) {
164
+ throw new DataColumnSidecarGossipError(GossipAction.IGNORE, {
165
+ code: DataColumnSidecarErrorCode.BLOCK_UNKNOWN,
166
+ blockRoot: blockRootHex,
167
+ slot: dataColumnSidecar.slot,
168
+ });
169
+ }
170
+ // [REJECT] The sidecar slot matches the slot of the block with root beacon_block_root.
171
+ if (block.slot !== dataColumnSidecar.slot) {
172
+ throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
173
+ code: DataColumnSidecarErrorCode.INCORRECT_SIDECAR_SLOT,
174
+ columnIndex: dataColumnSidecar.index,
175
+ expected: block.slot,
176
+ actual: dataColumnSidecar.slot,
177
+ });
178
+ }
179
+ // [REJECT] The sidecar must pass verify_data_column_sidecar against the block commitments
180
+ const kzgCommitments = payloadInput.getBlobKzgCommitments();
181
+ verifyGloasDataColumnSidecar(dataColumnSidecar, kzgCommitments);
182
+ // [REJECT] The sidecar must be on the correct subnet
183
+ if (computeSubnetForDataColumnSidecar(chain.config, dataColumnSidecar) !== gossipSubnet) {
184
+ throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
185
+ code: DataColumnSidecarErrorCode.INVALID_SUBNET,
186
+ columnIndex: dataColumnSidecar.index,
187
+ gossipSubnet,
188
+ });
189
+ }
190
+ // [REJECT] The sidecar kzg proofs must verify
191
+ const kzgProofTimer = metrics?.peerDas.dataColumnSidecarKzgProofsVerificationTime.startTimer();
192
+ try {
193
+ await verifyDataColumnSidecarKzgProofs(kzgCommitments, Array.from({ length: dataColumnSidecar.column.length }, () => dataColumnSidecar.index), dataColumnSidecar.column, dataColumnSidecar.kzgProofs);
194
+ }
195
+ catch {
196
+ throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
197
+ code: DataColumnSidecarErrorCode.INVALID_KZG_PROOF,
198
+ slot: dataColumnSidecar.slot,
199
+ columnIndex: dataColumnSidecar.index,
200
+ });
201
+ }
202
+ finally {
203
+ kzgProofTimer?.();
204
+ }
205
+ }
156
206
  /**
157
207
  * SPEC FUNCTION
158
208
  * https://github.com/ethereum/consensus-specs/blob/v1.6.0-alpha.4/specs/fulu/p2p-interface.md#verify_data_column_sidecar
159
209
  */
160
- function verifyDataColumnSidecar(config, dataColumnSidecar) {
210
+ function verifyFuluDataColumnSidecar(config, dataColumnSidecar) {
161
211
  if (dataColumnSidecar.index >= NUMBER_OF_COLUMNS) {
162
212
  throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
163
213
  code: DataColumnSidecarErrorCode.INVALID_INDEX,
@@ -193,6 +243,36 @@ function verifyDataColumnSidecar(config, dataColumnSidecar) {
193
243
  });
194
244
  }
195
245
  }
246
+ /**
247
+ * SPEC FUNCTION
248
+ * https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.3/specs/gloas/p2p-interface.md#modified-verify_data_column_sidecar
249
+ */
250
+ function verifyGloasDataColumnSidecar(dataColumnSidecar, kzgCommitments) {
251
+ const slot = getDataColumnSidecarSlot(dataColumnSidecar);
252
+ if (dataColumnSidecar.index >= NUMBER_OF_COLUMNS) {
253
+ throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
254
+ code: DataColumnSidecarErrorCode.INVALID_INDEX,
255
+ slot,
256
+ columnIndex: dataColumnSidecar.index,
257
+ });
258
+ }
259
+ if (dataColumnSidecar.column.length === 0) {
260
+ throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
261
+ code: DataColumnSidecarErrorCode.NO_COMMITMENTS,
262
+ slot,
263
+ columnIndex: dataColumnSidecar.index,
264
+ });
265
+ }
266
+ if (dataColumnSidecar.column.length !== kzgCommitments.length ||
267
+ dataColumnSidecar.column.length !== dataColumnSidecar.kzgProofs.length) {
268
+ throw new DataColumnSidecarGossipError(GossipAction.REJECT, {
269
+ code: DataColumnSidecarErrorCode.MISMATCHED_LENGTHS,
270
+ columnLength: dataColumnSidecar.column.length,
271
+ commitmentsLength: kzgCommitments.length,
272
+ proofsLength: dataColumnSidecar.kzgProofs.length,
273
+ });
274
+ }
275
+ }
196
276
  /**
197
277
  * SPEC FUNCTION
198
278
  * https://github.com/ethereum/consensus-specs/blob/v1.6.0-alpha.4/specs/fulu/p2p-interface.md#verify_data_column_sidecar_kzg_proofs
@@ -218,14 +298,14 @@ export function verifyDataColumnSidecarInclusionProof(dataColumnSidecar) {
218
298
  return verifyMerkleBranch(ssz.deneb.BlobKzgCommitments.hashTreeRoot(dataColumnSidecar.kzgCommitments), dataColumnSidecar.kzgCommitmentsInclusionProof, KZG_COMMITMENTS_INCLUSION_PROOF_DEPTH, KZG_COMMITMENTS_SUBTREE_INDEX, dataColumnSidecar.signedBlockHeader.message.bodyRoot);
219
299
  }
220
300
  /**
221
- * Validate a subset of data column sidecars in a block
301
+ * Validate a subset of fulu data column sidecars against a block
222
302
  *
223
303
  * Requires the block to be known to the node
224
304
  *
225
305
  * NOTE: chain is optional to skip signature verification. Helpful for testing purposes and so that can control whether
226
306
  * signature gets checked depending on the reqresp method that is being checked
227
307
  */
228
- export async function validateBlockDataColumnSidecars(chain, blockSlot, blockRoot, blockBlobCount, dataColumnSidecars, metrics) {
308
+ export async function validateFuluBlockDataColumnSidecars(chain, blockSlot, blockRoot, blockBlobCount, dataColumnSidecars, metrics) {
229
309
  metrics?.dataColumnSidecarProcessingRequests.inc(dataColumnSidecars.length);
230
310
  const verificationTimer = metrics?.dataColumnSidecarGossipVerificationTime.startTimer();
231
311
  try {
@@ -364,6 +444,105 @@ export async function validateBlockDataColumnSidecars(chain, blockSlot, blockRoo
364
444
  verificationTimer?.();
365
445
  }
366
446
  }
447
+ /**
448
+ * Validate a subset of gloas data column sidecars against a block
449
+ * Gloas sidecars don't carry signed block headers, kzg commitments, or inclusion proofs
450
+ */
451
+ export async function validateGloasBlockDataColumnSidecars(blockSlot, blockRoot, blockKzgCommitments, dataColumnSidecars, metrics) {
452
+ metrics?.dataColumnSidecarProcessingRequests.inc(dataColumnSidecars.length);
453
+ const verificationTimer = metrics?.dataColumnSidecarGossipVerificationTime.startTimer();
454
+ try {
455
+ if (dataColumnSidecars.length === 0) {
456
+ return;
457
+ }
458
+ if (blockKzgCommitments.length === 0) {
459
+ throw new DataColumnSidecarValidationError({
460
+ code: DataColumnSidecarErrorCode.INCORRECT_SIDECAR_COUNT,
461
+ slot: blockSlot,
462
+ expected: 0,
463
+ actual: dataColumnSidecars.length,
464
+ }, "Block has no blob commitments but data column sidecars were provided");
465
+ }
466
+ const commitments = [];
467
+ const cellIndices = [];
468
+ const cells = [];
469
+ const proofs = [];
470
+ for (const columnSidecar of dataColumnSidecars) {
471
+ if (columnSidecar.slot !== blockSlot) {
472
+ throw new DataColumnSidecarValidationError({
473
+ code: DataColumnSidecarErrorCode.INCORRECT_SIDECAR_SLOT,
474
+ columnIndex: columnSidecar.index,
475
+ expected: blockSlot,
476
+ actual: columnSidecar.slot,
477
+ });
478
+ }
479
+ if (!byteArrayEquals(columnSidecar.beaconBlockRoot, blockRoot)) {
480
+ throw new DataColumnSidecarValidationError({
481
+ code: DataColumnSidecarErrorCode.INCORRECT_BLOCK,
482
+ slot: blockSlot,
483
+ columnIndex: columnSidecar.index,
484
+ expected: toRootHex(blockRoot),
485
+ actual: toRootHex(columnSidecar.beaconBlockRoot),
486
+ });
487
+ }
488
+ if (columnSidecar.index >= NUMBER_OF_COLUMNS) {
489
+ throw new DataColumnSidecarValidationError({
490
+ code: DataColumnSidecarErrorCode.INVALID_INDEX,
491
+ slot: blockSlot,
492
+ columnIndex: columnSidecar.index,
493
+ }, "DataColumnSidecar has invalid index");
494
+ }
495
+ if (columnSidecar.column.length !== blockKzgCommitments.length) {
496
+ throw new DataColumnSidecarValidationError({
497
+ code: DataColumnSidecarErrorCode.INCORRECT_CELL_COUNT,
498
+ slot: blockSlot,
499
+ columnIndex: columnSidecar.index,
500
+ expected: blockKzgCommitments.length,
501
+ actual: columnSidecar.column.length,
502
+ });
503
+ }
504
+ if (columnSidecar.column.length !== columnSidecar.kzgProofs.length) {
505
+ throw new DataColumnSidecarValidationError({
506
+ code: DataColumnSidecarErrorCode.INCORRECT_KZG_PROOF_COUNT,
507
+ slot: blockSlot,
508
+ columnIndex: columnSidecar.index,
509
+ expected: columnSidecar.column.length,
510
+ actual: columnSidecar.kzgProofs.length,
511
+ });
512
+ }
513
+ commitments.push(...blockKzgCommitments);
514
+ cellIndices.push(...Array.from({ length: columnSidecar.column.length }, () => columnSidecar.index));
515
+ cells.push(...columnSidecar.column);
516
+ proofs.push(...columnSidecar.kzgProofs);
517
+ }
518
+ let reason;
519
+ // batch verification for the cases: downloadByRange and downloadByRoot
520
+ const kzgVerificationTimer = metrics?.kzgVerificationDataColumnBatchTime.startTimer();
521
+ try {
522
+ const valid = await kzg.asyncVerifyCellKzgProofBatch(commitments, cellIndices, cells, proofs);
523
+ if (!valid) {
524
+ reason = "Invalid KZG proof batch";
525
+ }
526
+ }
527
+ catch (e) {
528
+ reason = e.message;
529
+ }
530
+ finally {
531
+ kzgVerificationTimer?.();
532
+ }
533
+ if (reason !== undefined) {
534
+ throw new DataColumnSidecarValidationError({
535
+ code: DataColumnSidecarErrorCode.INVALID_KZG_PROOF_BATCH,
536
+ slot: blockSlot,
537
+ reason,
538
+ }, "DataColumnSidecar has invalid KZG proof batch");
539
+ }
540
+ metrics?.dataColumnSidecarProcessingSuccesses.inc();
541
+ }
542
+ finally {
543
+ verificationTimer?.();
544
+ }
545
+ }
367
546
  /**
368
547
  * SPEC FUNCTION
369
548
  * https://github.com/ethereum/consensus-specs/blob/v1.6.0-alpha.4/specs/fulu/p2p-interface.md#compute_subnet_for_data_column_sidecar
@@ -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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"}
@@ -31,8 +31,8 @@ export declare enum Bucket {
31
31
  lightClient_syncCommittee = 52,
32
32
  lightClient_checkpointHeader = 53,
33
33
  lightClient_bestLightClientUpdate = 56,
34
- fulu_dataColumnSidecars = 57,
35
- fulu_dataColumnSidecarsArchive = 58,
34
+ allForks_dataColumnSidecars = 57,
35
+ allForks_dataColumnSidecarsArchive = 58,
36
36
  gloas_executionPayloadEnvelope = 59,
37
37
  gloas_executionPayloadEnvelopeArchive = 60
38
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"buckets.d.ts","sourceRoot":"","sources":["../../src/db/buckets.ts"],"names":[],"mappings":"AACA,oBAAY,MAAM;IAGhB,qBAAqB,IAAI;IAEzB,cAAc,IAAI;IAElB,qBAAqB,IAAI;IAEzB,iCAAiC,IAAI;IACrC,2BAA2B,IAAI;IAI/B,eAAe,IAAI;IAEnB,eAAe,IAAI;IACnB,+HAA+H;IAC/H,eAAe,IAAI;IACnB,+HAA+H;IAC/H,qBAAqB,IAAI;IAKzB,+HAA+H;IAC/H,kBAAkB,KAAK;IACvB,WAAW,KAAK;IAChB,uBAAuB,KAAK;IAC5B,yBAAyB,KAAK;IAC9B,4BAA4B,KAAK;IAEjC,wBAAwB,KAAK;IAG7B,+HAA+H;IAC/H,mBAAmB,KAAK;IAExB,2BAA2B,KAAK;IAEhC,kBAAkB,KAAK;IACvB,yBAAyB,KAAK;IAE9B,oHAAoH;IACpH,sBAAsB,KAAK;IAC3B,oHAAoH;IACpH,wCAAwC,KAAK;IAW7C,iBAAiB,KAAK;IAGtB,gCAAgC,KAAK;IACrC,yBAAyB,KAAK;IAE9B,4BAA4B,KAAK;IAGjC,iCAAiC,KAAK;IAEtC,uBAAuB,KAAK;IAC5B,8BAA8B,KAAK;IAEnC,8BAA8B,KAAK;IACnC,qCAAqC,KAAK;CAC3C;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,OAAO,MAAM,CAWxF"}
1
+ {"version":3,"file":"buckets.d.ts","sourceRoot":"","sources":["../../src/db/buckets.ts"],"names":[],"mappings":"AACA,oBAAY,MAAM;IAGhB,qBAAqB,IAAI;IAEzB,cAAc,IAAI;IAElB,qBAAqB,IAAI;IAEzB,iCAAiC,IAAI;IACrC,2BAA2B,IAAI;IAI/B,eAAe,IAAI;IAEnB,eAAe,IAAI;IACnB,+HAA+H;IAC/H,eAAe,IAAI;IACnB,+HAA+H;IAC/H,qBAAqB,IAAI;IAKzB,+HAA+H;IAC/H,kBAAkB,KAAK;IACvB,WAAW,KAAK;IAChB,uBAAuB,KAAK;IAC5B,yBAAyB,KAAK;IAC9B,4BAA4B,KAAK;IAEjC,wBAAwB,KAAK;IAG7B,+HAA+H;IAC/H,mBAAmB,KAAK;IAExB,2BAA2B,KAAK;IAEhC,kBAAkB,KAAK;IACvB,yBAAyB,KAAK;IAE9B,oHAAoH;IACpH,sBAAsB,KAAK;IAC3B,oHAAoH;IACpH,wCAAwC,KAAK;IAW7C,iBAAiB,KAAK;IAGtB,gCAAgC,KAAK;IACrC,yBAAyB,KAAK;IAE9B,4BAA4B,KAAK;IAGjC,iCAAiC,KAAK;IAEtC,2BAA2B,KAAK;IAChC,kCAAkC,KAAK;IAEvC,8BAA8B,KAAK;IACnC,qCAAqC,KAAK;CAC3C;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,OAAO,MAAM,CAWxF"}
package/lib/db/buckets.js CHANGED
@@ -60,8 +60,8 @@ var Bucket;
60
60
  // 54 was for bestPartialLightClientUpdate, allocate a fresh one
61
61
  // lightClient_bestLightClientUpdate = 55, // SyncPeriod -> LightClientUpdate // DEPRECATED on v1.5.0
62
62
  Bucket[Bucket["lightClient_bestLightClientUpdate"] = 56] = "lightClient_bestLightClientUpdate";
63
- Bucket[Bucket["fulu_dataColumnSidecars"] = 57] = "fulu_dataColumnSidecars";
64
- Bucket[Bucket["fulu_dataColumnSidecarsArchive"] = 58] = "fulu_dataColumnSidecarsArchive";
63
+ Bucket[Bucket["allForks_dataColumnSidecars"] = 57] = "allForks_dataColumnSidecars";
64
+ Bucket[Bucket["allForks_dataColumnSidecarsArchive"] = 58] = "allForks_dataColumnSidecarsArchive";
65
65
  Bucket[Bucket["gloas_executionPayloadEnvelope"] = 59] = "gloas_executionPayloadEnvelope";
66
66
  Bucket[Bucket["gloas_executionPayloadEnvelopeArchive"] = 60] = "gloas_executionPayloadEnvelopeArchive";
67
67
  })(Bucket || (Bucket = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"buckets.js","sourceRoot":"","sources":["../../src/db/buckets.ts"],"names":[],"mappings":"SACY,MAAM;AADlB,2CAA2C;AAC3C,IAAY,MAyEX;AAzED,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,+HAA+H;IAC/H,yDAAmB,CAAA;IACnB,+HAA+H;IAC/H,qEAAyB,CAAA;IAEzB,UAAU;IACV,oDAAoD;IACpD,oFAAoF;IACpF,+HAA+H;IAC/H,gEAAuB,CAAA;IACvB,kDAAgB,CAAA;IAChB,0EAA4B,CAAA;IAC5B,8EAA8B,CAAA;IAC9B,oFAAiC,CAAA;IACjC,oBAAoB;IACpB,4EAA6B,CAAA;IAE7B,oFAAoF;IACpF,+HAA+H;IAC/H,kEAAwB,CAAA;IAExB,kFAAgC,CAAA;IAEhC,gEAAuB,CAAA;IACvB,8EAA8B,CAAA;IAE9B,oHAAoH;IACpH,wEAA2B,CAAA;IAC3B,oHAAoH;IACpH,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,0EAA4B,CAAA;IAC5B,wFAAmC,CAAA;IAEnC,wFAAmC,CAAA;IACnC,sGAA0C,CAAA;AAAC,CAAC,EAxElC,MAAM,KAAN,MAAM,QAyEjB;AAED,MAAM,UAAU,oBAAoB,CAAmB,SAAY,EAAuB;IACxF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC7C,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;IAAA,CACd,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;AAAA,CAC1D"}
1
+ {"version":3,"file":"buckets.js","sourceRoot":"","sources":["../../src/db/buckets.ts"],"names":[],"mappings":"SACY,MAAM;AADlB,2CAA2C;AAC3C,IAAY,MAyEX;AAzED,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,+HAA+H;IAC/H,yDAAmB,CAAA;IACnB,+HAA+H;IAC/H,qEAAyB,CAAA;IAEzB,UAAU;IACV,oDAAoD;IACpD,oFAAoF;IACpF,+HAA+H;IAC/H,gEAAuB,CAAA;IACvB,kDAAgB,CAAA;IAChB,0EAA4B,CAAA;IAC5B,8EAA8B,CAAA;IAC9B,oFAAiC,CAAA;IACjC,oBAAoB;IACpB,4EAA6B,CAAA;IAE7B,oFAAoF;IACpF,+HAA+H;IAC/H,kEAAwB,CAAA;IAExB,kFAAgC,CAAA;IAEhC,gEAAuB,CAAA;IACvB,8EAA8B,CAAA;IAE9B,oHAAoH;IACpH,wEAA2B,CAAA;IAC3B,oHAAoH;IACpH,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;IAEvC,wFAAmC,CAAA;IACnC,sGAA0C,CAAA;AAAC,CAAC,EAxElC,MAAM,KAAN,MAAM,QAyEjB;AAED,MAAM,UAAU,oBAAoB,CAAmB,SAAY,EAAuB;IACxF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC7C,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;IAAA,CACd,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;AAAA,CAC1D"}
@@ -1,8 +1,8 @@
1
1
  import { Db } from "@lodestar/db";
2
2
  import { ForkAll } from "@lodestar/params";
3
3
  import { Root, SSZTypesFor, SignedBeaconBlock, Slot } from "@lodestar/types";
4
- export declare const rootIndexBucketId: "allForks_attesterSlashing" | "allForks_block" | "allForks_blockArchive" | "allForks_checkpointState" | "allForks_stateArchive" | "backfilled_ranges" | "capella_blsToExecutionChange" | "deneb_blobSidecars" | "deneb_blobSidecarsArchive" | "fulu_dataColumnSidecars" | "fulu_dataColumnSidecarsArchive" | "gloas_executionPayloadEnvelope" | "gloas_executionPayloadEnvelopeArchive" | "index_blockArchiveParentRootIndex" | "index_blockArchiveRootIndex" | "index_chainInfo" | "index_depositDataRoot" | "index_mainChain" | "index_stateArchiveRootIndex" | "lightClient_bestLightClientUpdate" | "lightClient_checkpointHeader" | "lightClient_syncCommittee" | "lightClient_syncCommitteeWitness" | "phase0_depositData" | "phase0_depositEvent" | "phase0_eth1Data" | "phase0_exit" | "phase0_preGenesisState" | "phase0_preGenesisStateLastProcessedBlock" | "phase0_proposerSlashing";
5
- export declare const parentRootIndexBucketId: "allForks_attesterSlashing" | "allForks_block" | "allForks_blockArchive" | "allForks_checkpointState" | "allForks_stateArchive" | "backfilled_ranges" | "capella_blsToExecutionChange" | "deneb_blobSidecars" | "deneb_blobSidecarsArchive" | "fulu_dataColumnSidecars" | "fulu_dataColumnSidecarsArchive" | "gloas_executionPayloadEnvelope" | "gloas_executionPayloadEnvelopeArchive" | "index_blockArchiveParentRootIndex" | "index_blockArchiveRootIndex" | "index_chainInfo" | "index_depositDataRoot" | "index_mainChain" | "index_stateArchiveRootIndex" | "lightClient_bestLightClientUpdate" | "lightClient_checkpointHeader" | "lightClient_syncCommittee" | "lightClient_syncCommitteeWitness" | "phase0_depositData" | "phase0_depositEvent" | "phase0_eth1Data" | "phase0_exit" | "phase0_preGenesisState" | "phase0_preGenesisStateLastProcessedBlock" | "phase0_proposerSlashing";
4
+ export declare const rootIndexBucketId: "allForks_attesterSlashing" | "allForks_block" | "allForks_blockArchive" | "allForks_checkpointState" | "allForks_dataColumnSidecars" | "allForks_dataColumnSidecarsArchive" | "allForks_stateArchive" | "backfilled_ranges" | "capella_blsToExecutionChange" | "deneb_blobSidecars" | "deneb_blobSidecarsArchive" | "gloas_executionPayloadEnvelope" | "gloas_executionPayloadEnvelopeArchive" | "index_blockArchiveParentRootIndex" | "index_blockArchiveRootIndex" | "index_chainInfo" | "index_depositDataRoot" | "index_mainChain" | "index_stateArchiveRootIndex" | "lightClient_bestLightClientUpdate" | "lightClient_checkpointHeader" | "lightClient_syncCommittee" | "lightClient_syncCommitteeWitness" | "phase0_depositData" | "phase0_depositEvent" | "phase0_eth1Data" | "phase0_exit" | "phase0_preGenesisState" | "phase0_preGenesisStateLastProcessedBlock" | "phase0_proposerSlashing";
5
+ export declare const parentRootIndexBucketId: "allForks_attesterSlashing" | "allForks_block" | "allForks_blockArchive" | "allForks_checkpointState" | "allForks_dataColumnSidecars" | "allForks_dataColumnSidecarsArchive" | "allForks_stateArchive" | "backfilled_ranges" | "capella_blsToExecutionChange" | "deneb_blobSidecars" | "deneb_blobSidecarsArchive" | "gloas_executionPayloadEnvelope" | "gloas_executionPayloadEnvelopeArchive" | "index_blockArchiveParentRootIndex" | "index_blockArchiveRootIndex" | "index_chainInfo" | "index_depositDataRoot" | "index_mainChain" | "index_stateArchiveRootIndex" | "lightClient_bestLightClientUpdate" | "lightClient_checkpointHeader" | "lightClient_syncCommittee" | "lightClient_syncCommitteeWitness" | "phase0_depositData" | "phase0_depositEvent" | "phase0_eth1Data" | "phase0_exit" | "phase0_preGenesisState" | "phase0_preGenesisStateLastProcessedBlock" | "phase0_proposerSlashing";
6
6
  export declare function getRootIndex(db: Db, blockRoot: Root): Promise<Uint8Array | null>;
7
7
  export declare function getParentRootIndex(db: Db, parentRoot: Root): Promise<Uint8Array | null>;
8
8
  export declare function storeRootIndex(db: Db, slot: Slot, blockRoot: Root): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"blockArchiveIndex.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/blockArchiveIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,EAAE,EAAY,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAC,IAAI,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAM,MAAM,iBAAiB,CAAC;AAIhF,eAAO,MAAM,iBAAiB,k2BAA2D,CAAC;AAC1F,eAAO,MAAM,uBAAuB,k2BAAiE,CAAC;AAEtG,wBAAsB,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAEtF;AAED,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAE7F;AAED,wBAAsB,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvF;AAED,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9F;AAED,wBAAsB,eAAe,CACnC,EAAE,EAAE,EAAE,EACN,qBAAqB,EAAE,WAAW,CAAC,OAAO,EAAE,mBAAmB,CAAC,EAChE,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3F;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,IAAI,GAAG,UAAU,CAElE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,CAEtD"}
1
+ {"version":3,"file":"blockArchiveIndex.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/blockArchiveIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,EAAE,EAAY,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAC,IAAI,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAM,MAAM,iBAAiB,CAAC;AAIhF,eAAO,MAAM,iBAAiB,02BAA2D,CAAC;AAC1F,eAAO,MAAM,uBAAuB,02BAAiE,CAAC;AAEtG,wBAAsB,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAEtF;AAED,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAE7F;AAED,wBAAsB,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvF;AAED,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9F;AAED,wBAAsB,eAAe,CACnC,EAAE,EAAE,EAAE,EACN,qBAAqB,EAAE,WAAW,CAAC,OAAO,EAAE,mBAAmB,CAAC,EAChE,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3F;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,IAAI,GAAG,UAAU,CAElE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,CAEtD"}
@@ -1 +1 @@
1
- {"version":3,"file":"dataColumnSidecar.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/dataColumnSidecar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAE,kBAAkB,EAA6C,MAAM,cAAc,CAAC;AAEhG,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAgC,MAAM,iBAAiB,CAAC;AAOpG,KAAK,SAAS,GAAG,IAAI,CAAC;AAEtB;;;;;GAKG;AACH,qBAAa,2BAA4B,SAAQ,kBAAkB,CAAC,SAAS,EAAE,WAAW,EAAE,iBAAiB,CAAC;IAC5G,YAAY,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,EAG1C;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,WAAW,CAE3C;IAED,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,UAAU,CAKhD;IAED,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,iBAAiB,CAK/C;IAED,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,GAAG,UAAU,CAE3D;IAED,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG;QAAC,MAAM,EAAE,SAAS,CAAC;QAAC,EAAE,EAAE,WAAW,CAAA;KAAC,CAKlE;IAED,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU,CAE1C;IAED,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU,CAE1C;CACF"}
1
+ {"version":3,"file":"dataColumnSidecar.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/dataColumnSidecar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAE,kBAAkB,EAA6C,MAAM,cAAc,CAAC;AAEhG,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAgC,MAAM,iBAAiB,CAAC;AAOpG,KAAK,SAAS,GAAG,IAAI,CAAC;AAEtB;;;;;GAKG;AACH,qBAAa,2BAA4B,SAAQ,kBAAkB,CAAC,SAAS,EAAE,WAAW,EAAE,iBAAiB,CAAC;IAC5G,YAAY,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,EAK1C;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,WAAW,CAE3C;IAED,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,UAAU,CAKhD;IAED,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,iBAAiB,CAK/C;IAED,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,GAAG,UAAU,CAE3D;IAED,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG;QAAC,MAAM,EAAE,SAAS,CAAC;QAAC,EAAE,EAAE,WAAW,CAAA;KAAC,CAKlE;IAED,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU,CAE1C;IAED,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU,CAE1C;CACF"}
@@ -13,8 +13,10 @@ const BLOCK_ROOT_BYTE_SIZE = 32;
13
13
  */
14
14
  export class DataColumnSidecarRepository extends PrefixedRepository {
15
15
  constructor(config, db) {
16
- const bucket = Bucket.fulu_dataColumnSidecars;
17
- super(config, db, bucket, ssz.fulu.DataColumnSidecar, getBucketNameByValue(bucket));
16
+ const bucket = Bucket.allForks_dataColumnSidecars;
17
+ // Type won't be used since we select it dynamically based on fork
18
+ const type = ssz.fulu.DataColumnSidecar;
19
+ super(config, db, bucket, type, getBucketNameByValue(bucket));
18
20
  }
19
21
  /**
20
22
  * Id is hashTreeRoot of unsigned BeaconBlock
@@ -1 +1 @@
1
- {"version":3,"file":"dataColumnSidecar.js","sourceRoot":"","sources":["../../../src/db/repositories/dataColumnSidecar.ts"],"names":[],"mappings":"AACA,OAAO,EAAK,kBAAkB,EAAE,oBAAoB,EAAE,oBAAoB,EAAC,MAAM,cAAc,CAAC;AAChG,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAuC,wBAAwB,EAAE,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACpG,OAAO,EAAC,6BAA6B,EAAC,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE3D,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAIhC;;;;;GAKG;AACH,MAAM,OAAO,2BAA4B,SAAQ,kBAA6D;IAC5G,YAAY,MAAuB,EAAE,EAAM,EAAE;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,uBAAuB,CAAC;QAC9C,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IAAA,CACrF;IAED;;OAEG;IACH,KAAK,CAAC,KAAwB,EAAe;QAC3C,OAAO,KAAK,CAAC,KAAK,CAAC;IAAA,CACpB;IAED,WAAW,CAAC,KAAwB,EAAc;QAChD,IAAI,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAAA,CACpD;IAED,WAAW,CAAC,IAAgB,EAAqB;QAC/C,IAAI,6BAA6B,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,OAAO,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAAA,CACrD;IAED,YAAY,CAAC,MAAiB,EAAE,EAAe,EAAc;QAC3D,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAAA,CAClF;IAED,YAAY,CAAC,GAAe,EAAwC;QAClE,OAAO;YACL,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAc;YACvD,EAAE,EAAE,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,sBAAsB,CAAgB;SACjG,CAAC;IAAA,CACH;IAED,YAAY,CAAC,MAAiB,EAAc;QAC1C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,oBAAoB,CAAC,iBAAiB,GAAG,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAAA,CACrG;IAED,YAAY,CAAC,MAAiB,EAAc;QAC1C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAAA,CACjF;CACF"}
1
+ {"version":3,"file":"dataColumnSidecar.js","sourceRoot":"","sources":["../../../src/db/repositories/dataColumnSidecar.ts"],"names":[],"mappings":"AACA,OAAO,EAAK,kBAAkB,EAAE,oBAAoB,EAAE,oBAAoB,EAAC,MAAM,cAAc,CAAC;AAChG,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAuC,wBAAwB,EAAE,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACpG,OAAO,EAAC,6BAA6B,EAAC,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE3D,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAIhC;;;;;GAKG;AACH,MAAM,OAAO,2BAA4B,SAAQ,kBAA6D;IAC5G,YAAY,MAAuB,EAAE,EAAM,EAAE;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,2BAA2B,CAAC;QAClD,kEAAkE;QAClE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;QACxC,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IAAA,CAC/D;IAED;;OAEG;IACH,KAAK,CAAC,KAAwB,EAAe;QAC3C,OAAO,KAAK,CAAC,KAAK,CAAC;IAAA,CACpB;IAED,WAAW,CAAC,KAAwB,EAAc;QAChD,IAAI,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAAA,CACpD;IAED,WAAW,CAAC,IAAgB,EAAqB;QAC/C,IAAI,6BAA6B,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,OAAO,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAAA,CACrD;IAED,YAAY,CAAC,MAAiB,EAAE,EAAe,EAAc;QAC3D,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAAA,CAClF;IAED,YAAY,CAAC,GAAe,EAAwC;QAClE,OAAO;YACL,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAc;YACvD,EAAE,EAAE,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,sBAAsB,CAAgB;SACjG,CAAC;IAAA,CACH;IAED,YAAY,CAAC,MAAiB,EAAc;QAC1C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,oBAAoB,CAAC,iBAAiB,GAAG,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAAA,CACrG;IAED,YAAY,CAAC,MAAiB,EAAc;QAC1C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAAA,CACjF;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"dataColumnSidecarArchive.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/dataColumnSidecarArchive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAE,kBAAkB,EAA6C,MAAM,cAAc,CAAC;AAEhG,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAgC,MAAM,iBAAiB,CAAC;AAOpG;;;;;GAKG;AACH,qBAAa,kCAAmC,SAAQ,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,iBAAiB,CAAC;IAC9G,YAAY,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,EAG1C;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,WAAW,CAE3C;IAED,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,UAAU,CAKhD;IAED,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,iBAAiB,CAK/C;IAED,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,GAAG,UAAU,CAKtD;IAED,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG;QAAC,MAAM,EAAE,IAAI,CAAC;QAAC,EAAE,EAAE,WAAW,CAAA;KAAC,CAK7D;IAED,YAAY,CAAC,MAAM,EAAE,IAAI,GAAG,UAAU,CAKrC;IAED,YAAY,CAAC,MAAM,EAAE,IAAI,GAAG,UAAU,CAKrC;CACF"}
1
+ {"version":3,"file":"dataColumnSidecarArchive.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/dataColumnSidecarArchive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAE,kBAAkB,EAA6C,MAAM,cAAc,CAAC;AAEhG,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAgC,MAAM,iBAAiB,CAAC;AAOpG;;;;;GAKG;AACH,qBAAa,kCAAmC,SAAQ,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,iBAAiB,CAAC;IAC9G,YAAY,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,EAK1C;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,WAAW,CAE3C;IAED,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,UAAU,CAKhD;IAED,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,iBAAiB,CAK/C;IAED,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,GAAG,UAAU,CAKtD;IAED,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG;QAAC,MAAM,EAAE,IAAI,CAAC;QAAC,EAAE,EAAE,WAAW,CAAA;KAAC,CAK7D;IAED,YAAY,CAAC,MAAM,EAAE,IAAI,GAAG,UAAU,CAKrC;IAED,YAAY,CAAC,MAAM,EAAE,IAAI,GAAG,UAAU,CAKrC;CACF"}
@@ -13,8 +13,10 @@ const SLOT_BYTE_SIZE = 8;
13
13
  */
14
14
  export class DataColumnSidecarArchiveRepository extends PrefixedRepository {
15
15
  constructor(config, db) {
16
- const bucket = Bucket.fulu_dataColumnSidecarsArchive;
17
- super(config, db, bucket, ssz.fulu.DataColumnSidecar, getBucketNameByValue(bucket));
16
+ const bucket = Bucket.allForks_dataColumnSidecarsArchive;
17
+ // Type won't be used since we select it dynamically based on fork
18
+ const type = ssz.fulu.DataColumnSidecar;
19
+ super(config, db, bucket, type, getBucketNameByValue(bucket));
18
20
  }
19
21
  /**
20
22
  * Id is hashTreeRoot of unsigned BeaconBlock
@@ -1 +1 @@
1
- {"version":3,"file":"dataColumnSidecarArchive.js","sourceRoot":"","sources":["../../../src/db/repositories/dataColumnSidecarArchive.ts"],"names":[],"mappings":"AACA,OAAO,EAAK,kBAAkB,EAAE,oBAAoB,EAAE,oBAAoB,EAAC,MAAM,cAAc,CAAC;AAChG,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAuC,wBAAwB,EAAE,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACpG,OAAO,EAAC,6BAA6B,EAAC,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE3D,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB;;;;;GAKG;AACH,MAAM,OAAO,kCAAmC,SAAQ,kBAAwD;IAC9G,YAAY,MAAuB,EAAE,EAAM,EAAE;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,8BAA8B,CAAC;QACrD,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IAAA,CACrF;IAED;;OAEG;IACH,KAAK,CAAC,KAAwB,EAAe;QAC3C,OAAO,KAAK,CAAC,KAAK,CAAC;IAAA,CACpB;IAED,WAAW,CAAC,KAAwB,EAAc;QAChD,IAAI,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAAA,CACpD;IAED,WAAW,CAAC,IAAgB,EAAqB;QAC/C,IAAI,6BAA6B,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,OAAO,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAAA,CACrD;IAED,YAAY,CAAC,MAAY,EAAE,EAAe,EAAc;QACtD,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,oBAAoB,CAAC,MAAM,EAAE,cAAc,CAAC;YAC5C,oBAAoB,CAAC,EAAE,EAAE,sBAAsB,CAAC;SACjD,CAAC,CAAC;IAAA,CACJ;IAED,YAAY,CAAC,GAAe,EAAmC;QAC7D,OAAO;YACL,MAAM,EAAE,oBAAoB,CAAC,GAAG,EAAE,cAAc,CAAS;YACzD,EAAE,EAAE,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,sBAAsB,CAAgB;SAC3F,CAAC;IAAA,CACH;IAED,YAAY,CAAC,MAAY,EAAc;QACrC,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,oBAAoB,CAAC,MAAM,EAAE,cAAc,CAAC;YAC5C,oBAAoB,CAAC,iBAAiB,GAAG,CAAC,EAAE,sBAAsB,CAAC;SACpE,CAAC,CAAC;IAAA,CACJ;IAED,YAAY,CAAC,MAAY,EAAc;QACrC,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,oBAAoB,CAAC,MAAM,EAAE,cAAc,CAAC;YAC5C,oBAAoB,CAAC,CAAC,EAAE,sBAAsB,CAAC;SAChD,CAAC,CAAC;IAAA,CACJ;CACF"}
1
+ {"version":3,"file":"dataColumnSidecarArchive.js","sourceRoot":"","sources":["../../../src/db/repositories/dataColumnSidecarArchive.ts"],"names":[],"mappings":"AACA,OAAO,EAAK,kBAAkB,EAAE,oBAAoB,EAAE,oBAAoB,EAAC,MAAM,cAAc,CAAC;AAChG,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAuC,wBAAwB,EAAE,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACpG,OAAO,EAAC,6BAA6B,EAAC,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE3D,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB;;;;;GAKG;AACH,MAAM,OAAO,kCAAmC,SAAQ,kBAAwD;IAC9G,YAAY,MAAuB,EAAE,EAAM,EAAE;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,kCAAkC,CAAC;QACzD,kEAAkE;QAClE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;QACxC,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IAAA,CAC/D;IAED;;OAEG;IACH,KAAK,CAAC,KAAwB,EAAe;QAC3C,OAAO,KAAK,CAAC,KAAK,CAAC;IAAA,CACpB;IAED,WAAW,CAAC,KAAwB,EAAc;QAChD,IAAI,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAAA,CACpD;IAED,WAAW,CAAC,IAAgB,EAAqB;QAC/C,IAAI,6BAA6B,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,OAAO,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAAA,CACrD;IAED,YAAY,CAAC,MAAY,EAAE,EAAe,EAAc;QACtD,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,oBAAoB,CAAC,MAAM,EAAE,cAAc,CAAC;YAC5C,oBAAoB,CAAC,EAAE,EAAE,sBAAsB,CAAC;SACjD,CAAC,CAAC;IAAA,CACJ;IAED,YAAY,CAAC,GAAe,EAAmC;QAC7D,OAAO;YACL,MAAM,EAAE,oBAAoB,CAAC,GAAG,EAAE,cAAc,CAAS;YACzD,EAAE,EAAE,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,sBAAsB,CAAgB;SAC3F,CAAC;IAAA,CACH;IAED,YAAY,CAAC,MAAY,EAAc;QACrC,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,oBAAoB,CAAC,MAAM,EAAE,cAAc,CAAC;YAC5C,oBAAoB,CAAC,iBAAiB,GAAG,CAAC,EAAE,sBAAsB,CAAC;SACpE,CAAC,CAAC;IAAA,CACJ;IAED,YAAY,CAAC,MAAY,EAAc;QACrC,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,oBAAoB,CAAC,MAAM,EAAE,cAAc,CAAC;YAC5C,oBAAoB,CAAC,CAAC,EAAE,sBAAsB,CAAC;SAChD,CAAC,CAAC;IAAA,CACJ;CACF"}
@@ -713,6 +713,26 @@ export declare function createLodestarMetrics(register: RegistryMetricCreator, m
713
713
  topic: GossipType;
714
714
  }>;
715
715
  };
716
+ awaitingPayloadGossipMessages: {
717
+ queue: import("@lodestar/utils").GaugeExtra<{
718
+ topic: GossipType;
719
+ }>;
720
+ countPerSlot: import("@lodestar/utils").GaugeExtra<import("@lodestar/utils").NoLabels>;
721
+ resolve: import("@lodestar/utils").GaugeExtra<{
722
+ topic: GossipType;
723
+ }>;
724
+ waitSecBeforeResolve: import("@lodestar/utils").GaugeExtra<{
725
+ topic: GossipType;
726
+ }>;
727
+ reject: import("@lodestar/utils").GaugeExtra<{
728
+ reason: ReprocessRejectReason;
729
+ topic: GossipType;
730
+ }>;
731
+ waitSecBeforeReject: import("@lodestar/utils").GaugeExtra<{
732
+ reason: ReprocessRejectReason;
733
+ topic: GossipType;
734
+ }>;
735
+ };
716
736
  lightclientServer: {
717
737
  onSyncAggregate: import("@lodestar/utils").GaugeExtra<{
718
738
  event: string;
@@ -1 +1 @@
1
- {"version":3,"file":"lodestar.d.ts","sourceRoot":"","sources":["../../../src/metrics/metrics/lodestar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lodestar.d.ts","sourceRoot":"","sources":["../../../src/metrics/metrics/lodestar.ts"],"names":[],"mappings":"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"}
@@ -1664,6 +1664,39 @@ export function createLodestarMetrics(register, metadata, genesisTime) {
1664
1664
  labelNames: ["reason", "topic"],
1665
1665
  }),
1666
1666
  },
1667
+ // some gossip messages need to wait for payload to be processed before they can be processed
1668
+ awaitingPayloadGossipMessages: {
1669
+ queue: register.gauge({
1670
+ name: "lodestar_awaiting_payload_gossip_messages_total",
1671
+ help: "Total number of gossip messages waiting for payload to be processed",
1672
+ labelNames: ["topic"],
1673
+ }),
1674
+ countPerSlot: register.gauge({
1675
+ name: "lodestar_awaiting_payload_gossip_messages_per_slot_total",
1676
+ help: "Total number of gossip messages waiting for payload to be processed per slot",
1677
+ }),
1678
+ resolve: register.gauge({
1679
+ name: "lodestar_awaiting_payload_gossip_messages_resolve_total",
1680
+ help: "Total number of gossip messages are reprocessed",
1681
+ labelNames: ["topic"],
1682
+ }),
1683
+ waitSecBeforeResolve: register.gauge({
1684
+ name: "lodestar_awaiting_payload_gossip_messages_wait_time_resolve_seconds",
1685
+ help: "Time to wait for unknown payload in seconds",
1686
+ labelNames: ["topic"],
1687
+ }),
1688
+ // having 2 labels here is not great for performance, however it's rarely happening and having the reason label is important for debugging
1689
+ reject: register.gauge({
1690
+ name: "lodestar_awaiting_payload_gossip_messages_reject_total",
1691
+ help: "Total number of gossip messages are rejected to reprocess",
1692
+ labelNames: ["reason", "topic"],
1693
+ }),
1694
+ waitSecBeforeReject: register.gauge({
1695
+ name: "lodestar_awaiting_payload_gossip_messages_wait_time_reject_seconds",
1696
+ help: "Time to wait for unknown payload before being rejected",
1697
+ labelNames: ["reason", "topic"],
1698
+ }),
1699
+ },
1667
1700
  lightclientServer: {
1668
1701
  onSyncAggregate: register.gauge({
1669
1702
  name: "lodestar_lightclient_server_on_sync_aggregate_event_total",