@lodestar/beacon-node 1.48.0-dev.fd70e5fc15 → 1.48.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) 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/chain/archiveStore/archiveStore.d.ts +1 -0
  5. package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
  6. package/lib/chain/archiveStore/archiveStore.js +1 -0
  7. package/lib/chain/archiveStore/archiveStore.js.map +1 -1
  8. package/lib/chain/archiveStore/historicalState/historicalStateRegen.d.ts.map +1 -1
  9. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js +1 -0
  10. package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
  11. package/lib/chain/archiveStore/historicalState/metrics.d.ts.map +1 -1
  12. package/lib/chain/archiveStore/historicalState/metrics.js +12 -1
  13. package/lib/chain/archiveStore/historicalState/metrics.js.map +1 -1
  14. package/lib/chain/archiveStore/historicalState/types.d.ts +2 -0
  15. package/lib/chain/archiveStore/historicalState/types.d.ts.map +1 -1
  16. package/lib/chain/archiveStore/historicalState/types.js.map +1 -1
  17. package/lib/chain/archiveStore/historicalState/worker.js +4 -1
  18. package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
  19. package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +1 -1
  20. package/lib/chain/archiveStore/utils/archiveBlocks.js +31 -34
  21. package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
  22. package/lib/chain/blocks/index.d.ts.map +1 -1
  23. package/lib/chain/blocks/index.js +3 -2
  24. package/lib/chain/blocks/index.js.map +1 -1
  25. package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +1 -1
  26. package/lib/chain/blocks/writeBlockInputToDb.js +9 -16
  27. package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
  28. package/lib/chain/chain.d.ts +4 -3
  29. package/lib/chain/chain.d.ts.map +1 -1
  30. package/lib/chain/chain.js +60 -35
  31. package/lib/chain/chain.js.map +1 -1
  32. package/lib/chain/errors/blockError.d.ts +16 -2
  33. package/lib/chain/errors/blockError.d.ts.map +1 -1
  34. package/lib/chain/errors/blockError.js.map +1 -1
  35. package/lib/chain/errors/dataColumnSidecarError.d.ts +15 -2
  36. package/lib/chain/errors/dataColumnSidecarError.d.ts.map +1 -1
  37. package/lib/chain/errors/dataColumnSidecarError.js.map +1 -1
  38. package/lib/chain/errors/executionPayloadEnvelope.d.ts +10 -0
  39. package/lib/chain/errors/executionPayloadEnvelope.d.ts.map +1 -1
  40. package/lib/chain/errors/executionPayloadEnvelope.js.map +1 -1
  41. package/lib/chain/interface.d.ts +2 -2
  42. package/lib/chain/interface.d.ts.map +1 -1
  43. package/lib/chain/prepareNextSlot.js +13 -13
  44. package/lib/chain/prepareNextSlot.js.map +1 -1
  45. package/lib/chain/validation/block.d.ts.map +1 -1
  46. package/lib/chain/validation/block.js +26 -4
  47. package/lib/chain/validation/block.js.map +1 -1
  48. package/lib/chain/validation/dataColumnSidecar.d.ts.map +1 -1
  49. package/lib/chain/validation/dataColumnSidecar.js +38 -13
  50. package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
  51. package/lib/chain/validation/executionPayloadEnvelope.js +10 -0
  52. package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
  53. package/lib/db/beacon.d.ts +14 -5
  54. package/lib/db/beacon.d.ts.map +1 -1
  55. package/lib/db/beacon.js +17 -3
  56. package/lib/db/beacon.js.map +1 -1
  57. package/lib/db/dataColumnStore.d.ts +39 -0
  58. package/lib/db/dataColumnStore.d.ts.map +1 -0
  59. package/lib/db/dataColumnStore.js +81 -0
  60. package/lib/db/dataColumnStore.js.map +1 -0
  61. package/lib/db/flatFileStore/atomicWrite.d.ts +8 -0
  62. package/lib/db/flatFileStore/atomicWrite.d.ts.map +1 -0
  63. package/lib/db/flatFileStore/atomicWrite.js +61 -0
  64. package/lib/db/flatFileStore/atomicWrite.js.map +1 -0
  65. package/lib/db/flatFileStore/dcolFormat.d.ts +90 -0
  66. package/lib/db/flatFileStore/dcolFormat.d.ts.map +1 -0
  67. package/lib/db/flatFileStore/dcolFormat.js +286 -0
  68. package/lib/db/flatFileStore/dcolFormat.js.map +1 -0
  69. package/lib/db/flatFileStore/errors.d.ts +82 -0
  70. package/lib/db/flatFileStore/errors.d.ts.map +1 -0
  71. package/lib/db/flatFileStore/errors.js +32 -0
  72. package/lib/db/flatFileStore/errors.js.map +1 -0
  73. package/lib/db/flatFileStore/flatFileStore.d.ts +41 -0
  74. package/lib/db/flatFileStore/flatFileStore.d.ts.map +1 -0
  75. package/lib/db/flatFileStore/flatFileStore.js +251 -0
  76. package/lib/db/flatFileStore/flatFileStore.js.map +1 -0
  77. package/lib/db/flatFileStore/index.d.ts +4 -0
  78. package/lib/db/flatFileStore/index.d.ts.map +1 -0
  79. package/lib/db/flatFileStore/index.js +2 -0
  80. package/lib/db/flatFileStore/index.js.map +1 -0
  81. package/lib/db/flatFileStore/interface.d.ts +25 -0
  82. package/lib/db/flatFileStore/interface.d.ts.map +1 -0
  83. package/lib/db/flatFileStore/interface.js +2 -0
  84. package/lib/db/flatFileStore/interface.js.map +1 -0
  85. package/lib/db/flatFileStore/metrics.d.ts +24 -0
  86. package/lib/db/flatFileStore/metrics.d.ts.map +1 -0
  87. package/lib/db/flatFileStore/metrics.js +25 -0
  88. package/lib/db/flatFileStore/metrics.js.map +1 -0
  89. package/lib/db/flatFileStore/path.d.ts +9 -0
  90. package/lib/db/flatFileStore/path.d.ts.map +1 -0
  91. package/lib/db/flatFileStore/path.js +21 -0
  92. package/lib/db/flatFileStore/path.js.map +1 -0
  93. package/lib/db/flatFileStore/slotIndex.d.ts +14 -0
  94. package/lib/db/flatFileStore/slotIndex.d.ts.map +1 -0
  95. package/lib/db/flatFileStore/slotIndex.js +46 -0
  96. package/lib/db/flatFileStore/slotIndex.js.map +1 -0
  97. package/lib/db/flatFileStore/snappy.d.ts +3 -0
  98. package/lib/db/flatFileStore/snappy.d.ts.map +1 -0
  99. package/lib/db/flatFileStore/snappy.js +12 -0
  100. package/lib/db/flatFileStore/snappy.js.map +1 -0
  101. package/lib/db/index.d.ts +1 -0
  102. package/lib/db/index.d.ts.map +1 -1
  103. package/lib/db/interface.d.ts +8 -1
  104. package/lib/db/interface.d.ts.map +1 -1
  105. package/lib/db/repositories/blockArchive.d.ts +8 -1
  106. package/lib/db/repositories/blockArchive.d.ts.map +1 -1
  107. package/lib/db/repositories/blockArchive.js +65 -28
  108. package/lib/db/repositories/blockArchive.js.map +1 -1
  109. package/lib/db/repositories/blockArchiveIndex.d.ts +1 -2
  110. package/lib/db/repositories/blockArchiveIndex.d.ts.map +1 -1
  111. package/lib/db/repositories/blockArchiveIndex.js +3 -7
  112. package/lib/db/repositories/blockArchiveIndex.js.map +1 -1
  113. package/lib/metrics/metrics/lodestar.d.ts +18 -0
  114. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  115. package/lib/metrics/metrics/lodestar.js +55 -1
  116. package/lib/metrics/metrics/lodestar.js.map +1 -1
  117. package/lib/monitoring/clientStats.js +1 -1
  118. package/lib/monitoring/clientStats.js.map +1 -1
  119. package/lib/network/gossip/encoding.d.ts.map +1 -1
  120. package/lib/network/gossip/encoding.js +0 -7
  121. package/lib/network/gossip/encoding.js.map +1 -1
  122. package/lib/network/gossip/topic.d.ts +2 -1
  123. package/lib/network/gossip/topic.d.ts.map +1 -1
  124. package/lib/network/gossip/topic.js +4 -20
  125. package/lib/network/gossip/topic.js.map +1 -1
  126. package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
  127. package/lib/network/processor/gossipHandlers.js +6 -7
  128. package/lib/network/processor/gossipHandlers.js.map +1 -1
  129. package/lib/network/processor/index.d.ts +49 -3
  130. package/lib/network/processor/index.d.ts.map +1 -1
  131. package/lib/network/processor/index.js +232 -98
  132. package/lib/network/processor/index.js.map +1 -1
  133. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +1 -1
  134. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +112 -91
  135. package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -1
  136. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts.map +1 -1
  137. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js +2 -0
  138. package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -1
  139. package/lib/network/reqresp/protocols.d.ts.map +1 -1
  140. package/lib/network/reqresp/protocols.js +6 -22
  141. package/lib/network/reqresp/protocols.js.map +1 -1
  142. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts +2 -1
  143. package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +1 -1
  144. package/lib/network/reqresp/utils/dataColumnResponseValidation.js +14 -9
  145. package/lib/network/reqresp/utils/dataColumnResponseValidation.js.map +1 -1
  146. package/lib/node/nodejs.d.ts +2 -1
  147. package/lib/node/nodejs.d.ts.map +1 -1
  148. package/lib/node/nodejs.js +4 -2
  149. package/lib/node/nodejs.js.map +1 -1
  150. package/lib/util/sszBytes.d.ts +6 -0
  151. package/lib/util/sszBytes.d.ts.map +1 -1
  152. package/lib/util/sszBytes.js +1 -1
  153. package/lib/util/sszBytes.js.map +1 -1
  154. package/package.json +17 -18
  155. package/src/api/impl/beacon/blocks/index.ts +8 -4
  156. package/src/chain/archiveStore/archiveStore.ts +6 -1
  157. package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +1 -0
  158. package/src/chain/archiveStore/historicalState/metrics.ts +14 -1
  159. package/src/chain/archiveStore/historicalState/types.ts +2 -0
  160. package/src/chain/archiveStore/historicalState/worker.ts +4 -1
  161. package/src/chain/archiveStore/utils/archiveBlocks.ts +34 -39
  162. package/src/chain/blocks/index.ts +13 -2
  163. package/src/chain/blocks/writeBlockInputToDb.ts +10 -17
  164. package/src/chain/chain.ts +75 -34
  165. package/src/chain/errors/blockError.ts +20 -8
  166. package/src/chain/errors/dataColumnSidecarError.ts +24 -8
  167. package/src/chain/errors/executionPayloadEnvelope.ts +14 -2
  168. package/src/chain/interface.ts +2 -2
  169. package/src/chain/prepareNextSlot.ts +16 -16
  170. package/src/chain/validation/block.ts +26 -4
  171. package/src/chain/validation/dataColumnSidecar.ts +47 -14
  172. package/src/chain/validation/executionPayloadEnvelope.ts +10 -0
  173. package/src/db/beacon.ts +33 -6
  174. package/src/db/dataColumnStore.ts +113 -0
  175. package/src/db/flatFileStore/atomicWrite.ts +65 -0
  176. package/src/db/flatFileStore/dcolFormat.ts +389 -0
  177. package/src/db/flatFileStore/errors.ts +53 -0
  178. package/src/db/flatFileStore/flatFileStore.ts +310 -0
  179. package/src/db/flatFileStore/index.ts +3 -0
  180. package/src/db/flatFileStore/interface.ts +21 -0
  181. package/src/db/flatFileStore/metrics.ts +48 -0
  182. package/src/db/flatFileStore/path.ts +32 -0
  183. package/src/db/flatFileStore/slotIndex.ts +56 -0
  184. package/src/db/flatFileStore/snappy.ts +14 -0
  185. package/src/db/index.ts +1 -0
  186. package/src/db/interface.ts +9 -1
  187. package/src/db/repositories/blockArchive.ts +89 -30
  188. package/src/db/repositories/blockArchiveIndex.ts +4 -9
  189. package/src/metrics/metrics/lodestar.ts +57 -1
  190. package/src/monitoring/clientStats.ts +1 -1
  191. package/src/network/gossip/encoding.ts +0 -7
  192. package/src/network/gossip/topic.ts +3 -25
  193. package/src/network/processor/gossipHandlers.ts +11 -11
  194. package/src/network/processor/index.ts +263 -148
  195. package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +139 -105
  196. package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +2 -0
  197. package/src/network/reqresp/protocols.ts +7 -24
  198. package/src/network/reqresp/utils/dataColumnResponseValidation.ts +15 -7
  199. package/src/node/nodejs.ts +6 -1
  200. package/src/util/sszBytes.ts +1 -1
@@ -159,7 +159,7 @@ export class BeaconChain {
159
159
  this.emitter.emit(ChainEvent.updateStatus);
160
160
  }
161
161
  }
162
- constructor(opts, { privateKey, config, pubkeyCache, db, dbName, dataDir, logger, processShutdownCallback, clock, metrics, validatorMonitor, anchorState, isAnchorStateFinalized, executionEngine, executionBuilder, builderApiClientOpts, }) {
162
+ constructor(opts, { privateKey, config, pubkeyCache, db, dbName, dataDir, dataColumnDir, logger, processShutdownCallback, clock, metrics, validatorMonitor, anchorState, isAnchorStateFinalized, executionEngine, executionBuilder, builderApiClientOpts, }) {
163
163
  this.opts = opts;
164
164
  this.config = config;
165
165
  this.db = db;
@@ -324,7 +324,12 @@ export class BeaconChain {
324
324
  metrics,
325
325
  config,
326
326
  });
327
- this.archiveStore = new ArchiveStore({ db, chain: this, logger: logger, metrics }, { ...opts, dbName, anchorState: { finalizedCheckpoint: anchorState.finalizedCheckpoint } }, signal);
327
+ this.archiveStore = new ArchiveStore({ db, chain: this, logger: logger, metrics }, {
328
+ ...opts,
329
+ dbName,
330
+ dataColumnDir: dataColumnDir ?? path.join(dataDir, "data_columns"),
331
+ anchorState: { finalizedCheckpoint: anchorState.finalizedCheckpoint },
332
+ }, signal);
328
333
  this.unfinalizedBlockWrites = new JobItemQueue(persistBlockInput.bind(this), {
329
334
  maxLength: DEFAULT_MAX_PENDING_UNFINALIZED_BLOCK_WRITES,
330
335
  signal,
@@ -690,11 +695,14 @@ export class BeaconChain {
690
695
  }
691
696
  async getDataColumnSidecars(blockSlot, blockRootHex) {
692
697
  const fork = this.config.getForkName(blockSlot);
698
+ const sidecarsByIndex = new Map();
693
699
  if (isForkPostGloas(fork)) {
694
700
  // After gloas, columns are tracked in PayloadEnvelopeInput
695
701
  const payloadInput = this.seenPayloadEnvelopeInputCache.get(blockRootHex);
696
702
  if (payloadInput) {
697
- return payloadInput.getAllColumns();
703
+ for (const sidecar of payloadInput.getAllColumns()) {
704
+ sidecarsByIndex.set(sidecar.index, sidecar);
705
+ }
698
706
  }
699
707
  }
700
708
  else {
@@ -704,33 +712,38 @@ export class BeaconChain {
704
712
  if (!isBlockInputColumns(blockInput)) {
705
713
  throw new Error(`Expected block input to have columns: slot=${blockSlot} root=${blockRootHex}`);
706
714
  }
707
- return blockInput.getAllColumns();
715
+ for (const sidecar of blockInput.getAllColumns()) {
716
+ sidecarsByIndex.set(sidecar.index, sidecar);
717
+ }
708
718
  }
709
719
  }
710
- const sidecarsUnfinalized = await this.db.dataColumnSidecar.values(fromHex(blockRootHex));
711
- if (sidecarsUnfinalized.length > 0) {
712
- return sidecarsUnfinalized;
720
+ for (const sidecar of await this.db.dataColumns.getAll({ slot: blockSlot, blockRoot: blockRootHex })) {
721
+ if (!sidecarsByIndex.has(sidecar.index))
722
+ sidecarsByIndex.set(sidecar.index, sidecar);
713
723
  }
714
- const sidecarsFinalized = await this.db.dataColumnSidecarArchive.values(blockSlot);
715
- return sidecarsFinalized;
724
+ return [...sidecarsByIndex.values()].sort((a, b) => a.index - b.index);
716
725
  }
717
726
  async getSerializedDataColumnSidecars(blockSlot, blockRootHex, indices) {
718
727
  const fork = this.config.getForkName(blockSlot);
728
+ const dataColumnSidecars = indices.map(() => undefined);
719
729
  if (isForkPostGloas(fork)) {
720
730
  // After gloas, columns are tracked in PayloadEnvelopeInput
721
731
  const payloadInput = this.seenPayloadEnvelopeInputCache.get(blockRootHex);
722
732
  if (payloadInput) {
723
- return indices.map((index) => {
733
+ for (let i = 0; i < indices.length; i++) {
734
+ const index = indices[i];
724
735
  const sidecar = payloadInput.getColumn(index);
725
736
  if (!sidecar) {
726
- return undefined;
737
+ continue;
727
738
  }
728
739
  const serialized = this.serializedCache.get(sidecar);
729
740
  if (serialized) {
730
- return serialized;
741
+ dataColumnSidecars[i] = serialized;
731
742
  }
732
- return sszTypesFor(fork).DataColumnSidecar.serialize(sidecar);
733
- });
743
+ else {
744
+ dataColumnSidecars[i] = sszTypesFor(fork).DataColumnSidecar.serialize(sidecar);
745
+ }
746
+ }
734
747
  }
735
748
  }
736
749
  else {
@@ -740,25 +753,35 @@ export class BeaconChain {
740
753
  if (!isBlockInputColumns(blockInput)) {
741
754
  throw new Error(`Expected block input to have columns: slot=${blockSlot} root=${blockRootHex}`);
742
755
  }
743
- return indices.map((index) => {
756
+ for (let i = 0; i < indices.length; i++) {
757
+ const index = indices[i];
744
758
  const sidecar = blockInput.getColumn(index);
745
759
  if (!sidecar) {
746
- return undefined;
760
+ continue;
747
761
  }
748
762
  const serialized = this.serializedCache.get(sidecar);
749
763
  if (serialized) {
750
- return serialized;
764
+ dataColumnSidecars[i] = serialized;
751
765
  }
752
- return sszTypesFor(blockInput.forkName).DataColumnSidecar.serialize(sidecar);
753
- });
766
+ else {
767
+ dataColumnSidecars[i] = sszTypesFor(blockInput.forkName).DataColumnSidecar.serialize(sidecar);
768
+ }
769
+ }
754
770
  }
755
771
  }
756
- const sidecarsUnfinalized = await this.db.dataColumnSidecar.getManyBinary(fromHex(blockRootHex), indices);
757
- if (sidecarsUnfinalized.some((sidecar) => sidecar != null)) {
758
- return sidecarsUnfinalized;
772
+ const missingPositions = dataColumnSidecars
773
+ .map((sidecar, position) => (sidecar === undefined ? position : -1))
774
+ .filter((position) => position !== -1);
775
+ if (missingPositions.length > 0) {
776
+ const persistedSidecars = await this.db.dataColumns.getManyBinary({ slot: blockSlot, blockRoot: blockRootHex }, missingPositions.map((position) => indices[position]));
777
+ for (let i = 0; i < missingPositions.length; i++) {
778
+ const sidecar = persistedSidecars[i];
779
+ if (sidecar !== undefined) {
780
+ dataColumnSidecars[missingPositions[i]] = sidecar;
781
+ }
782
+ }
759
783
  }
760
- const sidecarsFinalized = await this.db.dataColumnSidecarArchive.getManyBinary(blockSlot, indices);
761
- return sidecarsFinalized;
784
+ return dataColumnSidecars;
762
785
  }
763
786
  async produceCommonBlockBody(blockAttributes) {
764
787
  const { slot, parentBlock } = blockAttributes;
@@ -1021,11 +1044,11 @@ export class BeaconChain {
1021
1044
  const slot = data.slot;
1022
1045
  if (isBlindedBeaconBlock(data)) {
1023
1046
  const sszType = this.config.getPostBellatrixForkTypes(slot).BlindedBeaconBlock;
1024
- void this.persistSszObject("BlindedBeaconBlock", sszType.serialize(data), sszType.hashTreeRoot(data), suffix);
1047
+ void this.persistSszObject("BlindedBeaconBlock", sszType.serialize(data), toRootHex(sszType.hashTreeRoot(data)), suffix);
1025
1048
  }
1026
1049
  else {
1027
1050
  const sszType = this.config.getForkTypes(slot).BeaconBlock;
1028
- void this.persistSszObject("BeaconBlock", sszType.serialize(data), sszType.hashTreeRoot(data), suffix);
1051
+ void this.persistSszObject("BeaconBlock", sszType.serialize(data), toRootHex(sszType.hashTreeRoot(data)), suffix);
1029
1052
  }
1030
1053
  }
1031
1054
  /**
@@ -1038,19 +1061,21 @@ export class BeaconChain {
1038
1061
  const postStateRoot = postState.hashTreeRoot();
1039
1062
  const logStr = `slot_${blockSlot}_invalid_state_root_${toRootHex(postStateRoot)}`;
1040
1063
  await Promise.all([
1041
- this.persistSszObject(`SignedBeaconBlock_slot_${blockSlot}`, blockType.serialize(block), blockType.hashTreeRoot(block), `${logStr}_block`),
1042
- this.persistSszObject(`preState_slot_${preState.slot}_BeaconState`, preState.serialize(), preState.hashTreeRoot(), `${logStr}_pre_state`),
1043
- this.persistSszObject(`postState_slot_${postState.slot}_BeaconState`, postState.serialize(), postState.hashTreeRoot(), `${logStr}_post_state`),
1064
+ this.persistSszObject(`SignedBeaconBlock_slot_${blockSlot}`, blockType.serialize(block), toRootHex(this.config.getForkTypes(blockSlot).BeaconBlock.hashTreeRoot(block.message)), `${logStr}_block`),
1065
+ this.persistSszObject(`preState_slot_${preState.slot}_BeaconState`, preState.serialize(), toRootHex(preState.hashTreeRoot()), `${logStr}_pre_state`),
1066
+ this.persistSszObject(`postState_slot_${postState.slot}_BeaconState`, postState.serialize(), toRootHex(postStateRoot), `${logStr}_post_state`),
1044
1067
  ]);
1045
1068
  }
1046
- persistInvalidSszValue(type, sszObject, suffix) {
1069
+ persistInvalidSszValue(type, sszObject, suffix, rootHex) {
1047
1070
  if (this.opts.persistInvalidSszObjects) {
1048
- void this.persistSszObject(type.typeName, type.serialize(sszObject), type.hashTreeRoot(sszObject), suffix);
1071
+ void this.persistSszObject(type.typeName, type.serialize(sszObject),
1072
+ // in SignedBeaconBlock case, we want to use BeaconBlock root instead
1073
+ rootHex ?? toRootHex(type.hashTreeRoot(sszObject)), suffix);
1049
1074
  }
1050
1075
  }
1051
- persistInvalidSszBytes(typeName, sszBytes, suffix) {
1076
+ persistInvalidSszBytes(typeName, sszBytes, rootHex, suffix) {
1052
1077
  if (this.opts.persistInvalidSszObjects) {
1053
- void this.persistSszObject(typeName, sszBytes, sszBytes, suffix);
1078
+ void this.persistSszObject(typeName, sszBytes, rootHex, suffix);
1054
1079
  }
1055
1080
  }
1056
1081
  /**
@@ -1159,13 +1184,13 @@ export class BeaconChain {
1159
1184
  // If there's no state available in the same branch of checkpoint use blockState regardless of its epoch
1160
1185
  return { state: blockState, stateId: "block_state_any_epoch", shouldWarn: true };
1161
1186
  }
1162
- async persistSszObject(prefix, bytes, root, logStr) {
1187
+ async persistSszObject(prefix, bytes, rootHex, logStr) {
1163
1188
  const now = new Date();
1164
1189
  // yyyy-MM-dd
1165
1190
  const dateStr = now.toISOString().split("T")[0];
1166
1191
  // by default store to lodestar_archive of current dir
1167
1192
  const dirpath = path.join(this.opts.persistInvalidSszObjectsDir ?? "invalid_ssz_objects", dateStr);
1168
- const filepath = path.join(dirpath, `${prefix}_${toRootHex(root)}.ssz`);
1193
+ const filepath = path.join(dirpath, `${prefix}_${rootHex}.ssz`);
1169
1194
  await ensureDir(dirpath);
1170
1195
  // as of Feb 17 2022 there are a lot of duplicate files stored with different date suffixes
1171
1196
  // remove date suffixes in file name, and check duplicate to avoid redundant persistence
@@ -1 +1 @@
1
- {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/chain/chain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/chain/chain.ts"],"names":[],"mappings":"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"}
@@ -130,12 +130,17 @@ export type BlockErrorType = {
130
130
  code: BlockErrorCode.BLOCK_SLOT_LIMIT_REACHED;
131
131
  } | {
132
132
  code: BlockErrorCode.INCORRECT_PROPOSER;
133
+ slot: Slot;
134
+ root: RootHex;
133
135
  proposerIndex: ValidatorIndex;
134
136
  } | {
135
137
  code: BlockErrorCode.PROPOSAL_SIGNATURE_INVALID;
136
- blockSlot: Slot;
138
+ slot: Slot;
139
+ root: RootHex;
137
140
  } | {
138
141
  code: BlockErrorCode.UNKNOWN_PROPOSER;
142
+ slot: Slot;
143
+ root: RootHex;
139
144
  proposerIndex: ValidatorIndex;
140
145
  } | {
141
146
  code: BlockErrorCode.INVALID_SIGNATURE;
@@ -151,8 +156,9 @@ export type BlockErrorType = {
151
156
  parentRoot: RootHex;
152
157
  } | {
153
158
  code: BlockErrorCode.NOT_LATER_THAN_PARENT;
154
- parentSlot: Slot;
155
159
  slot: Slot;
160
+ root: RootHex;
161
+ parentSlot: Slot;
156
162
  } | {
157
163
  code: BlockErrorCode.NON_LINEAR_PARENT_ROOTS;
158
164
  } | {
@@ -174,6 +180,8 @@ export type BlockErrorType = {
174
180
  code: BlockErrorCode.BLACKLISTED_BLOCK;
175
181
  } | {
176
182
  code: BlockErrorCode.INCORRECT_TIMESTAMP;
183
+ slot: Slot;
184
+ root: RootHex;
177
185
  timestamp: number;
178
186
  expectedTimestamp: number;
179
187
  } | {
@@ -199,14 +207,20 @@ export type BlockErrorType = {
199
207
  code: BlockErrorCode.DATA_UNAVAILABLE;
200
208
  } | {
201
209
  code: BlockErrorCode.TOO_MANY_KZG_COMMITMENTS;
210
+ slot: Slot;
211
+ root: RootHex;
202
212
  blobKzgCommitmentsLen: number;
203
213
  commitmentLimit: number;
204
214
  } | {
205
215
  code: BlockErrorCode.BID_PARENT_ROOT_MISMATCH;
216
+ slot: Slot;
217
+ root: RootHex;
206
218
  bidParentRoot: RootHex;
207
219
  blockParentRoot: RootHex;
208
220
  } | {
209
221
  code: BlockErrorCode.NON_ZERO_DEPOSITS;
222
+ slot: Slot;
223
+ root: RootHex;
210
224
  count: number;
211
225
  } | {
212
226
  code: BlockErrorCode.PARENT_EXECUTION_INVALID;
@@ -1 +1 @@
1
- {"version":3,"file":"blockError.d.ts","sourceRoot":"","sources":["../../../src/chain/errors/blockError.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blockError.d.ts","sourceRoot":"","sources":["../../../src/chain/errors/blockError.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"blockError.js","sourceRoot":"","sources":["../../../src/chain/errors/blockError.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blockError.js","sourceRoot":"","sources":["../../../src/chain/errors/blockError.ts"],"names":[],"mappings":"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"}
@@ -42,13 +42,17 @@ export declare enum DataColumnSidecarErrorCode {
42
42
  export type DataColumnSidecarErrorType = {
43
43
  code: DataColumnSidecarErrorCode.INVALID_INDEX;
44
44
  slot: Slot;
45
+ root: RootHex;
45
46
  columnIndex: number;
46
47
  } | {
47
48
  code: DataColumnSidecarErrorCode.NO_COMMITMENTS;
48
49
  slot: Slot;
50
+ root: RootHex;
49
51
  columnIndex: number;
50
52
  } | {
51
53
  code: DataColumnSidecarErrorCode.MISMATCHED_LENGTHS;
54
+ slot: Slot;
55
+ root: RootHex;
52
56
  columnLength: number;
53
57
  commitmentsLength: number;
54
58
  proofsLength: number;
@@ -59,11 +63,14 @@ export type DataColumnSidecarErrorType = {
59
63
  fork: ForkName;
60
64
  } | {
61
65
  code: DataColumnSidecarErrorCode.INVALID_SUBNET;
66
+ slot: Slot;
67
+ root: RootHex;
62
68
  columnIndex: number;
63
69
  gossipSubnet: SubnetID;
64
70
  } | {
65
71
  code: DataColumnSidecarErrorCode.TOO_MANY_KZG_COMMITMENTS;
66
72
  slot: number;
73
+ root: RootHex;
67
74
  columnIndex: number;
68
75
  count: number;
69
76
  limit: number;
@@ -90,19 +97,22 @@ export type DataColumnSidecarErrorType = {
90
97
  } | {
91
98
  code: DataColumnSidecarErrorCode.PROPOSAL_SIGNATURE_INVALID;
92
99
  slot: Slot;
93
- blockRoot: RootHex;
100
+ root: RootHex;
94
101
  index: number;
95
102
  } | {
96
103
  code: DataColumnSidecarErrorCode.NOT_LATER_THAN_PARENT;
97
- parentSlot: Slot;
98
104
  slot: Slot;
105
+ root: RootHex;
106
+ parentSlot: Slot;
99
107
  } | {
100
108
  code: DataColumnSidecarErrorCode.INCLUSION_PROOF_INVALID;
101
109
  slot: Slot;
110
+ root: RootHex;
102
111
  columnIndex: number;
103
112
  } | {
104
113
  code: DataColumnSidecarErrorCode.INVALID_KZG_PROOF;
105
114
  slot: Slot;
115
+ root: RootHex;
106
116
  columnIndex: number;
107
117
  } | {
108
118
  code: DataColumnSidecarErrorCode.INCORRECT_SIDECAR_COUNT;
@@ -121,6 +131,7 @@ export type DataColumnSidecarErrorType = {
121
131
  columnIndex: number;
122
132
  } | {
123
133
  code: DataColumnSidecarErrorCode.INCORRECT_SIDECAR_SLOT;
134
+ root: RootHex;
124
135
  columnIndex: number;
125
136
  expected: Slot;
126
137
  actual: Slot;
@@ -141,6 +152,8 @@ export type DataColumnSidecarErrorType = {
141
152
  reason: string;
142
153
  } | {
143
154
  code: DataColumnSidecarErrorCode.INCORRECT_PROPOSER;
155
+ slot: Slot;
156
+ root: RootHex;
144
157
  actualProposerIndex: number;
145
158
  expectedProposerIndex: number;
146
159
  } | {