@lodestar/beacon-node 1.35.0-dev.248b252a94 → 1.35.0-dev.29cdec0f0e

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 (60) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +7 -1
  3. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  4. package/lib/api/impl/config/constants.d.ts +9 -9
  5. package/lib/api/impl/config/constants.js +16 -9
  6. package/lib/api/impl/config/constants.js.map +1 -1
  7. package/lib/api/impl/validator/index.d.ts.map +1 -1
  8. package/lib/api/impl/validator/index.js +4 -8
  9. package/lib/api/impl/validator/index.js.map +1 -1
  10. package/lib/chain/blocks/blockInput/blockInput.d.ts.map +1 -1
  11. package/lib/chain/blocks/blockInput/blockInput.js +2 -1
  12. package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
  13. package/lib/chain/chain.d.ts +1 -1
  14. package/lib/chain/chain.d.ts.map +1 -1
  15. package/lib/chain/chain.js +1 -2
  16. package/lib/chain/chain.js.map +1 -1
  17. package/lib/chain/lightClient/index.d.ts +2 -2
  18. package/lib/chain/lightClient/index.d.ts.map +1 -1
  19. package/lib/chain/lightClient/index.js +2 -0
  20. package/lib/chain/lightClient/index.js.map +1 -1
  21. package/lib/chain/produceBlock/produceBlockBody.d.ts +1 -4
  22. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  23. package/lib/chain/produceBlock/produceBlockBody.js +13 -4
  24. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  25. package/lib/chain/regen/interface.d.ts +1 -0
  26. package/lib/chain/regen/interface.d.ts.map +1 -1
  27. package/lib/chain/regen/interface.js +1 -0
  28. package/lib/chain/regen/interface.js.map +1 -1
  29. package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +1 -1
  30. package/lib/chain/seenCache/seenGossipBlockInput.js +8 -1
  31. package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
  32. package/lib/chain/validation/dataColumnSidecar.js +1 -1
  33. package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
  34. package/lib/network/gossip/topic.js +2 -2
  35. package/lib/network/gossip/topic.js.map +1 -1
  36. package/lib/sync/utils/downloadByRange.d.ts +2 -1
  37. package/lib/sync/utils/downloadByRange.d.ts.map +1 -1
  38. package/lib/sync/utils/downloadByRange.js +8 -3
  39. package/lib/sync/utils/downloadByRange.js.map +1 -1
  40. package/lib/sync/utils/downloadByRoot.d.ts.map +1 -1
  41. package/lib/sync/utils/downloadByRoot.js +2 -1
  42. package/lib/sync/utils/downloadByRoot.js.map +1 -1
  43. package/lib/util/dataColumns.d.ts.map +1 -1
  44. package/lib/util/dataColumns.js +4 -2
  45. package/lib/util/dataColumns.js.map +1 -1
  46. package/package.json +14 -14
  47. package/src/api/impl/beacon/blocks/index.ts +10 -1
  48. package/src/api/impl/config/constants.ts +17 -9
  49. package/src/api/impl/validator/index.ts +4 -11
  50. package/src/chain/blocks/blockInput/blockInput.ts +5 -3
  51. package/src/chain/chain.ts +0 -2
  52. package/src/chain/lightClient/index.ts +11 -3
  53. package/src/chain/produceBlock/produceBlockBody.ts +16 -14
  54. package/src/chain/regen/interface.ts +1 -0
  55. package/src/chain/seenCache/seenGossipBlockInput.ts +10 -2
  56. package/src/chain/validation/dataColumnSidecar.ts +1 -1
  57. package/src/network/gossip/topic.ts +2 -2
  58. package/src/sync/utils/downloadByRange.ts +12 -6
  59. package/src/sync/utils/downloadByRoot.ts +12 -4
  60. package/src/util/dataColumns.ts +11 -2
@@ -1 +1 @@
1
- {"version":3,"file":"dataColumns.d.ts","sourceRoot":"","sources":["../../src/util/dataColumns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataColumns.d.ts","sourceRoot":"","sources":["../../src/util/dataColumns.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { digest } from "@chainsafe/as-sha256";
2
2
  import { Tree } from "@chainsafe/persistent-merkle-tree";
3
- import { KZG_COMMITMENTS_GINDEX, NUMBER_OF_COLUMNS } from "@lodestar/params";
3
+ import { KZG_COMMITMENTS_GINDEX, NUMBER_OF_COLUMNS, } from "@lodestar/params";
4
4
  import { signedBlockToSignedHeader } from "@lodestar/state-transition";
5
5
  import { ssz, } from "@lodestar/types";
6
6
  import { bytesToBigInt } from "@lodestar/utils";
@@ -231,7 +231,9 @@ export function getDataColumnSidecars(signedBlockHeader, kzgCommitments, kzgComm
231
231
  * https://github.com/ethereum/consensus-specs/blob/v1.6.0-alpha.4/specs/fulu/validator.md#get_data_column_sidecars_from_block
232
232
  */
233
233
  export function getDataColumnSidecarsFromBlock(config, signedBlock, cellsAndKzgProofs) {
234
- const blobKzgCommitments = signedBlock.message.body.blobKzgCommitments;
234
+ // TODO GLOAS: Need to get blobKzgCommitments from somewhere else
235
+ const blobKzgCommitments = signedBlock.message.body
236
+ .blobKzgCommitments;
235
237
  // No need to create data column sidecars if there are no blobs
236
238
  if (blobKzgCommitments.length === 0) {
237
239
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"dataColumns.js","sourceRoot":"","sources":["../../src/util/dataColumns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataColumns.js","sourceRoot":"","sources":["../../src/util/dataColumns.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "bugs": {
12
12
  "url": "https://github.com/ChainSafe/lodestar/issues"
13
13
  },
14
- "version": "1.35.0-dev.248b252a94",
14
+ "version": "1.35.0-dev.29cdec0f0e",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -134,18 +134,18 @@
134
134
  "@libp2p/peer-id": "^5.1.0",
135
135
  "@libp2p/prometheus-metrics": "^4.3.15",
136
136
  "@libp2p/tcp": "^10.1.8",
137
- "@lodestar/api": "1.35.0-dev.248b252a94",
138
- "@lodestar/config": "1.35.0-dev.248b252a94",
139
- "@lodestar/db": "1.35.0-dev.248b252a94",
140
- "@lodestar/fork-choice": "1.35.0-dev.248b252a94",
141
- "@lodestar/light-client": "1.35.0-dev.248b252a94",
142
- "@lodestar/logger": "1.35.0-dev.248b252a94",
143
- "@lodestar/params": "1.35.0-dev.248b252a94",
144
- "@lodestar/reqresp": "1.35.0-dev.248b252a94",
145
- "@lodestar/state-transition": "1.35.0-dev.248b252a94",
146
- "@lodestar/types": "1.35.0-dev.248b252a94",
147
- "@lodestar/utils": "1.35.0-dev.248b252a94",
148
- "@lodestar/validator": "1.35.0-dev.248b252a94",
137
+ "@lodestar/api": "1.35.0-dev.29cdec0f0e",
138
+ "@lodestar/config": "1.35.0-dev.29cdec0f0e",
139
+ "@lodestar/db": "1.35.0-dev.29cdec0f0e",
140
+ "@lodestar/fork-choice": "1.35.0-dev.29cdec0f0e",
141
+ "@lodestar/light-client": "1.35.0-dev.29cdec0f0e",
142
+ "@lodestar/logger": "1.35.0-dev.29cdec0f0e",
143
+ "@lodestar/params": "1.35.0-dev.29cdec0f0e",
144
+ "@lodestar/reqresp": "1.35.0-dev.29cdec0f0e",
145
+ "@lodestar/state-transition": "1.35.0-dev.29cdec0f0e",
146
+ "@lodestar/types": "1.35.0-dev.29cdec0f0e",
147
+ "@lodestar/utils": "1.35.0-dev.29cdec0f0e",
148
+ "@lodestar/validator": "1.35.0-dev.29cdec0f0e",
149
149
  "@multiformats/multiaddr": "^12.1.3",
150
150
  "datastore-core": "^10.0.2",
151
151
  "datastore-fs": "^10.0.6",
@@ -180,5 +180,5 @@
180
180
  "beacon",
181
181
  "blockchain"
182
182
  ],
183
- "gitHead": "3ca45bf48add485db02bb3ab72d6bdb3f9f16bfa"
183
+ "gitHead": "94ed176f60fce3f30d12d4ddfba743f34e23d13f"
184
184
  }
@@ -3,12 +3,14 @@ import {ApiError, ApplicationMethods} from "@lodestar/api/server";
3
3
  import {
4
4
  ForkPostBellatrix,
5
5
  ForkPostFulu,
6
+ ForkPreGloas,
6
7
  NUMBER_OF_COLUMNS,
7
8
  SLOTS_PER_HISTORICAL_ROOT,
8
9
  isForkPostBellatrix,
9
10
  isForkPostDeneb,
10
11
  isForkPostElectra,
11
12
  isForkPostFulu,
13
+ isForkPostGloas,
12
14
  } from "@lodestar/params";
13
15
  import {
14
16
  computeEpochAtSlot,
@@ -360,6 +362,10 @@ export function getBeaconBlockApi({
360
362
  );
361
363
  const fork = config.getForkName(slot);
362
364
 
365
+ if (isForkPostGloas(fork)) {
366
+ throw new ApiError(400, `Blinded blocks are not available for post-gloas fork=${fork}`);
367
+ }
368
+
363
369
  // Either the payload/blobs are cached from i) engine locally or ii) they are from the builder
364
370
  const producedResult = chain.blockProductionCache.get(blockRoot);
365
371
  if (producedResult !== undefined && producedResult.type !== BlockType.Blinded) {
@@ -518,9 +524,12 @@ export function getBeaconBlockApi({
518
524
  async getBlindedBlock({blockId}) {
519
525
  const {block, executionOptimistic, finalized} = await getBlockResponse(chain, blockId);
520
526
  const fork = config.getForkName(block.message.slot);
527
+ if (isForkPostGloas(fork)) {
528
+ throw new ApiError(400, `Blinded blocks are not available for post-gloas fork=${fork}`);
529
+ }
521
530
  return {
522
531
  data: isForkPostBellatrix(fork)
523
- ? signedBeaconBlockToBlinded(config, block as SignedBeaconBlock<ForkPostBellatrix>)
532
+ ? signedBeaconBlockToBlinded(config, block as SignedBeaconBlock<ForkPostBellatrix & ForkPreGloas>)
524
533
  : block,
525
534
  meta: {
526
535
  executionOptimistic,
@@ -65,10 +65,10 @@ export const specConstants = {
65
65
  JUSTIFICATION_BITS_LENGTH,
66
66
  ENDIANNESS: "little",
67
67
  // ## Withdrawal prefixes
68
- BLS_WITHDRAWAL_PREFIX,
69
- ETH1_ADDRESS_WITHDRAWAL_PREFIX,
70
- COMPOUNDING_WITHDRAWAL_PREFIX,
71
- BUILDER_WITHDRAWAL_PREFIX,
68
+ BLS_WITHDRAWAL_PREFIX: toHexByte(BLS_WITHDRAWAL_PREFIX),
69
+ ETH1_ADDRESS_WITHDRAWAL_PREFIX: toHexByte(ETH1_ADDRESS_WITHDRAWAL_PREFIX),
70
+ COMPOUNDING_WITHDRAWAL_PREFIX: toHexByte(COMPOUNDING_WITHDRAWAL_PREFIX),
71
+ BUILDER_WITHDRAWAL_PREFIX: toHexByte(BUILDER_WITHDRAWAL_PREFIX),
72
72
  // ## Domain types
73
73
  DOMAIN_BEACON_PROPOSER,
74
74
  DOMAIN_BEACON_ATTESTER,
@@ -113,15 +113,23 @@ export const specConstants = {
113
113
  DOMAIN_BLS_TO_EXECUTION_CHANGE,
114
114
 
115
115
  // Deneb types
116
- BLOB_TX_TYPE,
117
- VERSIONED_HASH_VERSION_KZG,
116
+ BLOB_TX_TYPE: toHexByte(BLOB_TX_TYPE),
117
+ VERSIONED_HASH_VERSION_KZG: toHexByte(VERSIONED_HASH_VERSION_KZG),
118
118
 
119
119
  // electra
120
120
  UNSET_DEPOSIT_REQUESTS_START_INDEX,
121
121
  FULL_EXIT_REQUEST_AMOUNT,
122
- DEPOSIT_REQUEST_TYPE,
123
- WITHDRAWAL_REQUEST_TYPE,
124
- CONSOLIDATION_REQUEST_TYPE,
122
+ DEPOSIT_REQUEST_TYPE: toHexByte(DEPOSIT_REQUEST_TYPE),
123
+ WITHDRAWAL_REQUEST_TYPE: toHexByte(WITHDRAWAL_REQUEST_TYPE),
124
+ CONSOLIDATION_REQUEST_TYPE: toHexByte(CONSOLIDATION_REQUEST_TYPE),
125
125
  BUILDER_PAYMENT_THRESHOLD_NUMERATOR,
126
126
  BUILDER_PAYMENT_THRESHOLD_DENOMINATOR,
127
127
  };
128
+
129
+ /** Convert single-byte numbers to hex strings for API spec compliance */
130
+ function toHexByte(n: number): string {
131
+ if (n < 0 || n > 255 || !Number.isInteger(n)) {
132
+ throw new Error("toHexByte expected a single-byte integer, but received " + n);
133
+ }
134
+ return "0x" + n.toString(16).padStart(2, "0");
135
+ }
@@ -5,6 +5,7 @@ import {ExecutionStatus} from "@lodestar/fork-choice";
5
5
  import {
6
6
  ForkName,
7
7
  ForkPostBellatrix,
8
+ ForkPreGloas,
8
9
  ForkSeq,
9
10
  GENESIS_SLOT,
10
11
  SLOTS_PER_EPOCH,
@@ -410,11 +411,9 @@ export function getValidatorApi(
410
411
  {
411
412
  commonBlockBodyPromise,
412
413
  parentBlockRoot,
413
- parentSlot,
414
414
  }: Omit<routes.validator.ExtraProduceBlockOpts, "builderSelection"> & {
415
415
  commonBlockBodyPromise: Promise<CommonBlockBody>;
416
416
  parentBlockRoot: Root;
417
- parentSlot: Slot;
418
417
  }
419
418
  ): Promise<ProduceBlindedBlockRes> {
420
419
  const version = config.getForkName(slot);
@@ -446,7 +445,6 @@ export function getValidatorApi(
446
445
  const {block, executionPayloadValue, consensusBlockValue} = await chain.produceBlindedBlock({
447
446
  slot,
448
447
  parentBlockRoot,
449
- parentSlot,
450
448
  randaoReveal,
451
449
  graffiti,
452
450
  commonBlockBodyPromise,
@@ -482,11 +480,9 @@ export function getValidatorApi(
482
480
  strictFeeRecipientCheck,
483
481
  commonBlockBodyPromise,
484
482
  parentBlockRoot,
485
- parentSlot,
486
483
  }: Omit<routes.validator.ExtraProduceBlockOpts, "builderSelection"> & {
487
484
  commonBlockBodyPromise: Promise<CommonBlockBody>;
488
485
  parentBlockRoot: Root;
489
- parentSlot: Slot;
490
486
  }
491
487
  ): Promise<ProduceBlockContentsRes & {shouldOverrideBuilder?: boolean}> {
492
488
  const source = ProducedBlockSource.engine;
@@ -498,7 +494,6 @@ export function getValidatorApi(
498
494
  const {block, executionPayloadValue, consensusBlockValue, shouldOverrideBuilder} = await chain.produceBlock({
499
495
  slot,
500
496
  parentBlockRoot,
501
- parentSlot,
502
497
  randaoReveal,
503
498
  graffiti,
504
499
  feeRecipient,
@@ -641,7 +636,6 @@ export function getValidatorApi(
641
636
  strictFeeRecipientCheck: false,
642
637
  commonBlockBodyPromise,
643
638
  parentBlockRoot,
644
- parentSlot,
645
639
  })
646
640
  : Promise.reject(new Error("Builder disabled"));
647
641
 
@@ -651,7 +645,6 @@ export function getValidatorApi(
651
645
  strictFeeRecipientCheck,
652
646
  commonBlockBodyPromise,
653
647
  parentBlockRoot,
654
- parentSlot,
655
648
  }).then((engineBlock) => {
656
649
  // Once the engine returns a block, in the event of either:
657
650
  // - suspected builder censorship
@@ -694,7 +687,6 @@ export function getValidatorApi(
694
687
  .produceCommonBlockBody({
695
688
  slot,
696
689
  parentBlockRoot,
697
- parentSlot,
698
690
  randaoReveal,
699
691
  graffiti: graffitiBytes,
700
692
  })
@@ -887,13 +879,14 @@ export function getValidatorApi(
887
879
  opts
888
880
  );
889
881
 
890
- if (opts.blindedLocal === true && ForkSeq[meta.version] >= ForkSeq.bellatrix) {
882
+ const fork = ForkSeq[meta.version];
883
+ if (opts.blindedLocal === true && fork >= ForkSeq.bellatrix && fork < ForkSeq.gloas) {
891
884
  if (meta.executionPayloadBlinded) {
892
885
  return {data, meta};
893
886
  }
894
887
 
895
888
  const {block} = data as BlockContents;
896
- const blindedBlock = beaconBlockToBlinded(config, block as BeaconBlock<ForkPostBellatrix>);
889
+ const blindedBlock = beaconBlockToBlinded(config, block as BeaconBlock<ForkPostBellatrix & ForkPreGloas>);
897
890
  return {
898
891
  data: blindedBlock,
899
892
  meta: {...meta, executionPayloadBlinded: true},
@@ -1,5 +1,5 @@
1
- import {ForkName, ForkPreDeneb} from "@lodestar/params";
2
- import {BlobIndex, ColumnIndex, SignedBeaconBlock, Slot, deneb, fulu} from "@lodestar/types";
1
+ import {ForkName, ForkPostFulu, ForkPreDeneb, ForkPreGloas} from "@lodestar/params";
2
+ import {BeaconBlockBody, BlobIndex, ColumnIndex, SignedBeaconBlock, Slot, deneb, fulu} from "@lodestar/types";
3
3
  import {fromHex, prettyBytes, toRootHex, withTimeout} from "@lodestar/utils";
4
4
  import {VersionedHashes} from "../../../execution/index.js";
5
5
  import {kzgCommitmentToVersionedHash} from "../../../util/blobs.js";
@@ -715,7 +715,9 @@ export class BlockInputColumns extends AbstractBlockInput<ForkColumnsDA, fulu.Da
715
715
  );
716
716
  }
717
717
 
718
- const hasAllData = props.block.message.body.blobKzgCommitments.length === 0 || this.state.hasAllData;
718
+ const hasAllData =
719
+ (props.block.message.body as BeaconBlockBody<ForkPostFulu & ForkPreGloas>).blobKzgCommitments.length === 0 ||
720
+ this.state.hasAllData;
719
721
 
720
722
  this.state = {
721
723
  ...this.state,
@@ -719,7 +719,6 @@ export class BeaconChain implements IBeaconChain {
719
719
  feeRecipient,
720
720
  commonBlockBodyPromise,
721
721
  parentBlockRoot,
722
- parentSlot,
723
722
  }: BlockAttributes & {commonBlockBodyPromise: Promise<CommonBlockBody>}
724
723
  ): Promise<{
725
724
  block: AssembledBlockType<T>;
@@ -745,7 +744,6 @@ export class BeaconChain implements IBeaconChain {
745
744
  graffiti,
746
745
  slot,
747
746
  feeRecipient,
748
- parentSlot,
749
747
  parentBlockRoot,
750
748
  proposerIndex,
751
749
  proposerPubKey,
@@ -11,6 +11,7 @@ import {
11
11
  ForkName,
12
12
  ForkPostAltair,
13
13
  ForkPostBellatrix,
14
+ ForkPreGloas,
14
15
  ForkSeq,
15
16
  MIN_SYNC_COMMITTEE_PARTICIPANTS,
16
17
  SYNC_COMMITTEE_SIZE,
@@ -741,17 +742,24 @@ export function sumBits(bits: BitArray): number {
741
742
  return bits.getTrueBitIndexes().length;
742
743
  }
743
744
 
744
- export function blockToLightClientHeader(fork: ForkName, block: BeaconBlock<ForkPostAltair>): LightClientHeader {
745
+ // TODO GLOAS: Pending light-client spec but this function probably won't be used
746
+ // in Gloas. So we can assume any types here are pre-gloas
747
+ export function blockToLightClientHeader(
748
+ fork: ForkName,
749
+ block: BeaconBlock<ForkPostAltair & ForkPreGloas>
750
+ ): LightClientHeader {
745
751
  const blockSlot = block.slot;
746
752
  const beacon: phase0.BeaconBlockHeader = {
747
753
  slot: blockSlot,
748
754
  proposerIndex: block.proposerIndex,
749
755
  parentRoot: block.parentRoot,
750
756
  stateRoot: block.stateRoot,
751
- bodyRoot: (ssz[fork].BeaconBlockBody as SSZTypesFor<ForkPostAltair, "BeaconBlockBody">).hashTreeRoot(block.body),
757
+ bodyRoot: (ssz[fork].BeaconBlockBody as SSZTypesFor<ForkPostAltair & ForkPreGloas, "BeaconBlockBody">).hashTreeRoot(
758
+ block.body
759
+ ),
752
760
  };
753
761
  if (ForkSeq[fork] >= ForkSeq.capella) {
754
- const blockBody = block.body as BeaconBlockBody<ForkPostBellatrix>;
762
+ const blockBody = block.body as BeaconBlockBody<ForkPostBellatrix & ForkPreGloas>;
755
763
  const execution = executionPayloadToPayloadHeader(ForkSeq[fork], blockBody.executionPayload);
756
764
  return {
757
765
  beacon,
@@ -4,9 +4,11 @@ import {
4
4
  ForkPostBellatrix,
5
5
  ForkPostDeneb,
6
6
  ForkPostFulu,
7
+ ForkPreGloas,
7
8
  ForkSeq,
8
9
  isForkPostAltair,
9
10
  isForkPostBellatrix,
11
+ isForkPostGloas,
10
12
  } from "@lodestar/params";
11
13
  import {
12
14
  CachedBeaconStateAllForks,
@@ -90,7 +92,6 @@ export type BlockAttributes = {
90
92
  graffiti: Bytes32;
91
93
  slot: Slot;
92
94
  parentBlockRoot: Root;
93
- parentSlot: Slot;
94
95
  feeRecipient?: string;
95
96
  };
96
97
 
@@ -182,7 +183,14 @@ export async function produceBlockBody<T extends BlockType>(
182
183
  };
183
184
  this.logger.verbose("Producing beacon block body", logMeta);
184
185
 
185
- if (isForkPostBellatrix(fork)) {
186
+ if (isForkPostGloas(fork)) {
187
+ // TODO GLOAS: Set body.signedExecutionPayloadBid and body.payloadAttestation
188
+ const commonBlockBody = await commonBlockBodyPromise;
189
+ blockBody = Object.assign({}, commonBlockBody) as AssembledBodyType<T>;
190
+ executionPayloadValue = BigInt(0);
191
+
192
+ // We don't deal with blinded blocks, execution engine, blobs and execution requests post-gloas
193
+ } else if (isForkPostBellatrix(fork)) {
186
194
  const safeBlockHash = this.forkChoice.getJustifiedBlock().executionPayloadBlockHash ?? ZERO_HASH_HEX;
187
195
  const finalizedBlockHash = this.forkChoice.getFinalizedBlock().executionPayloadBlockHash ?? ZERO_HASH_HEX;
188
196
  const feeRecipient = requestedFeeRecipient ?? this.beaconProposerCache.getOrDefault(proposerIndex);
@@ -307,6 +315,7 @@ export async function produceBlockBody<T extends BlockType>(
307
315
 
308
316
  // blockType === BlockType.Full
309
317
  else {
318
+ // enginePromise only supports pre-gloas
310
319
  const enginePromise = (async () => {
311
320
  const endExecutionPayload = this.metrics?.executionBlockProductionTimeSteps.startTimer();
312
321
 
@@ -384,13 +393,13 @@ export async function produceBlockBody<T extends BlockType>(
384
393
  blockBody = Object.assign({}, commonBlockBody) as AssembledBodyType<BlockType.Blinded>;
385
394
 
386
395
  if (engineRes.isPremerge) {
387
- (blockBody as BeaconBlockBody<ForkPostBellatrix>).executionPayload = engineRes.executionPayload;
396
+ (blockBody as BeaconBlockBody<ForkPostBellatrix & ForkPreGloas>).executionPayload = engineRes.executionPayload;
388
397
  executionPayloadValue = engineRes.executionPayloadValue;
389
398
  } else {
390
399
  const {prepType, payloadId, executionPayload, blobsBundle, executionRequests} = engineRes;
391
400
  shouldOverrideBuilder = engineRes.shouldOverrideBuilder;
392
401
 
393
- (blockBody as BeaconBlockBody<ForkPostBellatrix>).executionPayload = executionPayload;
402
+ (blockBody as BeaconBlockBody<ForkPostBellatrix & ForkPreGloas>).executionPayload = executionPayload;
394
403
  (produceResult as ProduceFullBellatrix).executionPayload = executionPayload;
395
404
  executionPayloadValue = engineRes.executionPayloadValue;
396
405
  Object.assign(logMeta, {transactions: executionPayload.transactions.length, shouldOverrideBuilder});
@@ -723,15 +732,7 @@ export async function produceCommonBlockBody<T extends BlockType>(
723
732
  this: BeaconChain,
724
733
  blockType: T,
725
734
  currentState: CachedBeaconStateAllForks,
726
- {
727
- randaoReveal,
728
- graffiti,
729
- slot,
730
- parentSlot,
731
- parentBlockRoot,
732
- }: BlockAttributes & {
733
- parentSlot: Slot;
734
- }
735
+ {randaoReveal, graffiti, slot, parentBlockRoot}: BlockAttributes
735
736
  ): Promise<CommonBlockBody> {
736
737
  const stepsMetrics =
737
738
  blockType === BlockType.Full
@@ -783,7 +784,8 @@ export async function produceCommonBlockBody<T extends BlockType>(
783
784
 
784
785
  const endSyncAggregate = stepsMetrics?.startTimer();
785
786
  if (ForkSeq[fork] >= ForkSeq.altair) {
786
- const syncAggregate = this.syncContributionAndProofPool.getAggregate(parentSlot, parentBlockRoot);
787
+ const previousSlot = slot - 1;
788
+ const syncAggregate = this.syncContributionAndProofPool.getAggregate(previousSlot, parentBlockRoot);
787
789
  this.metrics?.production.producedSyncAggregateParticipants.observe(
788
790
  syncAggregate.syncCommitteeBits.getTrueBitIndexes().length
789
791
  );
@@ -10,6 +10,7 @@ export enum RegenCaller {
10
10
  produceBlock = "produceBlock",
11
11
  validateGossipBlock = "validateGossipBlock",
12
12
  validateGossipBlob = "validateGossipBlob",
13
+ validateGossipDataColumn = "validateGossipDataColumn",
13
14
  precomputeEpoch = "precomputeEpoch",
14
15
  predictProposerHead = "predictProposerHead",
15
16
  produceAttestationData = "produceAttestationData",
@@ -1,6 +1,6 @@
1
1
  import {ChainForkConfig} from "@lodestar/config";
2
2
  import {CheckpointWithHex} from "@lodestar/fork-choice";
3
- import {ForkName, ForkPostFulu, isForkPostDeneb, isForkPostFulu} from "@lodestar/params";
3
+ import {ForkName, ForkPostFulu, ForkPreGloas, isForkPostDeneb, isForkPostFulu, isForkPostGloas} from "@lodestar/params";
4
4
  import {computeStartSlotAtEpoch} from "@lodestar/state-transition";
5
5
  import {RootHex, SignedBeaconBlock, Slot, deneb, fulu} from "@lodestar/types";
6
6
  import {LodestarError, Logger} from "@lodestar/utils";
@@ -155,6 +155,12 @@ export class SeenBlockInput {
155
155
  let blockInput = this.blockInputs.get(blockRootHex) as IBlockInput;
156
156
  if (!blockInput) {
157
157
  const {forkName, daOutOfRange} = this.buildCommonProps(block.message.slot);
158
+
159
+ // TODO GLOAS: Implement
160
+ if (isForkPostGloas(forkName)) {
161
+ throw Error("Not implemented");
162
+ }
163
+ // Pre-deneb
158
164
  if (!isForkPostDeneb(forkName)) {
159
165
  blockInput = BlockInputPreData.createFromBlock({
160
166
  block,
@@ -165,9 +171,10 @@ export class SeenBlockInput {
165
171
  seenTimestampSec,
166
172
  peerIdStr,
167
173
  });
174
+ // Fulu Only
168
175
  } else if (isForkPostFulu(forkName)) {
169
176
  blockInput = BlockInputColumns.createFromBlock({
170
- block: block as SignedBeaconBlock<ForkPostFulu>,
177
+ block: block as SignedBeaconBlock<ForkPostFulu & ForkPreGloas>,
171
178
  blockRootHex,
172
179
  daOutOfRange,
173
180
  forkName,
@@ -177,6 +184,7 @@ export class SeenBlockInput {
177
184
  seenTimestampSec,
178
185
  peerIdStr,
179
186
  });
187
+ // Deneb and Electra
180
188
  } else {
181
189
  blockInput = BlockInputBlobs.createFromBlock({
182
190
  block: block as SignedBeaconBlock<ForkBlobsDA>,
@@ -99,7 +99,7 @@ export async function validateGossipDataColumnSidecar(
99
99
  // this is something we should change this in the future to make the code airtight to the spec.
100
100
  // 7) [REJECT] The sidecar's block's parent passes validation.
101
101
  const blockState = await chain.regen
102
- .getBlockSlotState(parentRoot, blockHeader.slot, {dontTransferCache: true}, RegenCaller.validateGossipBlock)
102
+ .getBlockSlotState(parentRoot, blockHeader.slot, {dontTransferCache: true}, RegenCaller.validateGossipDataColumn)
103
103
  .catch(() => {
104
104
  throw new DataColumnSidecarGossipError(GossipAction.IGNORE, {
105
105
  code: DataColumnSidecarErrorCode.PARENT_UNKNOWN,
@@ -245,8 +245,8 @@ export function getCoreTopicsAtFork(
245
245
  topics.push(...getDataColumnSidecarTopics(networkConfig));
246
246
  }
247
247
 
248
- // After Deneb also track blob_sidecar_{subnet_id}
249
- if (ForkSeq[fork] >= ForkSeq.deneb) {
248
+ // After Deneb and before Fulu also track blob_sidecar_{subnet_id}
249
+ if (ForkSeq[fork] >= ForkSeq.deneb && ForkSeq[fork] < ForkSeq.fulu) {
250
250
  const {config} = networkConfig;
251
251
  const subnetCount = isForkPostElectra(fork)
252
252
  ? config.BLOB_SIDECAR_SUBNET_COUNT_ELECTRA
@@ -1,5 +1,5 @@
1
1
  import {ChainForkConfig} from "@lodestar/config";
2
- import {ForkPostDeneb, ForkPostFulu} from "@lodestar/params";
2
+ import {ForkPostDeneb, ForkPostFulu, ForkPreFulu, ForkPreGloas} from "@lodestar/params";
3
3
  import {SignedBeaconBlock, Slot, deneb, fulu, phase0} from "@lodestar/types";
4
4
  import {LodestarError, Logger, fromHex, prettyBytes, prettyPrintIndices, toRootHex} from "@lodestar/utils";
5
5
  import {
@@ -458,14 +458,16 @@ export function validateBlockByRangeResponse(
458
458
  }
459
459
 
460
460
  /**
461
- * Should not be called directly. Only exported for unit testing purposes
461
+ * Should not be called directly. Only exported for unit testing purposes.
462
+ * This is used only in Deneb and Electra
462
463
  */
463
464
  export async function validateBlobsByRangeResponse(
464
465
  dataRequestBlocks: ValidatedBlock[],
465
466
  blobSidecars: deneb.BlobSidecars
466
467
  ): Promise<ValidatedBlobSidecars[]> {
467
468
  const expectedBlobCount = dataRequestBlocks.reduce(
468
- (acc, {block}) => (block as SignedBeaconBlock<ForkPostDeneb>).message.body.blobKzgCommitments.length + acc,
469
+ (acc, {block}) =>
470
+ (block as SignedBeaconBlock<ForkPostDeneb & ForkPreFulu>).message.body.blobKzgCommitments.length + acc,
469
471
  0
470
472
  );
471
473
  if (blobSidecars.length > expectedBlobCount) {
@@ -492,7 +494,8 @@ export async function validateBlobsByRangeResponse(
492
494
  const validateSidecarsPromises: Promise<ValidatedBlobSidecars>[] = [];
493
495
  for (let blockIndex = 0, blobSidecarIndex = 0; blockIndex < dataRequestBlocks.length; blockIndex++) {
494
496
  const {block, blockRoot} = dataRequestBlocks[blockIndex];
495
- const blockKzgCommitments = (block as SignedBeaconBlock<ForkPostDeneb>).message.body.blobKzgCommitments;
497
+ const blockKzgCommitments = (block as SignedBeaconBlock<ForkPostDeneb & ForkPreFulu>).message.body
498
+ .blobKzgCommitments;
496
499
  if (blockKzgCommitments.length === 0) {
497
500
  continue;
498
501
  }
@@ -532,8 +535,9 @@ export async function validateColumnsByRangeResponse(
532
535
  columnSidecars: fulu.DataColumnSidecars
533
536
  ): Promise<WarnResult<ValidatedColumnSidecars[], DownloadByRangeError>> {
534
537
  // Expected column count considering currently-validated batch blocks
538
+ // TODO GLOAS: Post-gloas's blobKzgCommitments is not in beacon block body. Need to source it from somewhere else.
535
539
  const expectedColumnCount = dataRequestBlocks.reduce((acc, {block}) => {
536
- return (block as SignedBeaconBlock<ForkPostDeneb>).message.body.blobKzgCommitments.length > 0
540
+ return (block as SignedBeaconBlock<ForkPostDeneb & ForkPreGloas>).message.body.blobKzgCommitments.length > 0
537
541
  ? request.columns.length + acc
538
542
  : acc;
539
543
  }, 0);
@@ -566,7 +570,9 @@ export async function validateColumnsByRangeResponse(
566
570
  const {block, blockRoot} = dataRequestBlocks[blockIndex];
567
571
  const slot = block.message.slot;
568
572
  const blockRootHex = toRootHex(blockRoot);
569
- const blockKzgCommitments = (block as SignedBeaconBlock<ForkPostFulu>).message.body.blobKzgCommitments;
573
+ // TODO GLOAS: Post-gloas's blobKzgCommitments is not in beacon block body. Need to source it from somewhere else.
574
+ const blockKzgCommitments = (block as SignedBeaconBlock<ForkPostFulu & ForkPreGloas>).message.body
575
+ .blobKzgCommitments;
570
576
  const expectedColumns = blockKzgCommitments.length ? request.columns.length : 0;
571
577
 
572
578
  if (expectedColumns === 0) {
@@ -1,7 +1,14 @@
1
1
  import {routes} from "@lodestar/api";
2
2
  import {ChainForkConfig} from "@lodestar/config";
3
- import {ForkPostDeneb, ForkPostFulu, ForkPreFulu, isForkPostDeneb, isForkPostFulu} from "@lodestar/params";
4
- import {BlobIndex, ColumnIndex, SignedBeaconBlock, Slot, deneb, fulu} from "@lodestar/types";
3
+ import {
4
+ ForkPostDeneb,
5
+ ForkPostFulu,
6
+ ForkPreFulu,
7
+ ForkPreGloas,
8
+ isForkPostDeneb,
9
+ isForkPostFulu,
10
+ } from "@lodestar/params";
11
+ import {BeaconBlockBody, BlobIndex, ColumnIndex, SignedBeaconBlock, Slot, deneb, fulu} from "@lodestar/types";
5
12
  import {LodestarError, fromHex, prettyBytes, prettyPrintIndices, toHex, toRootHex} from "@lodestar/utils";
6
13
  import {isBlockInputBlobs, isBlockInputColumns} from "../../chain/blocks/blockInput/blockInput.js";
7
14
  import {BlockInputSource, IBlockInput} from "../../chain/blocks/blockInput/types.js";
@@ -269,7 +276,7 @@ export async function fetchByRoot({
269
276
  missing: network.custodyConfig.sampledColumns,
270
277
  });
271
278
  } else if (isForkPostDeneb(forkName)) {
272
- const commitments = (block as SignedBeaconBlock<ForkPostDeneb>).message.body.blobKzgCommitments;
279
+ const commitments = (block as SignedBeaconBlock<ForkPostDeneb & ForkPreFulu>).message.body.blobKzgCommitments;
273
280
  const blobCount = commitments.length;
274
281
  blobSidecars = await fetchAndValidateBlobs({
275
282
  config,
@@ -369,7 +376,8 @@ export async function fetchAndValidateColumns({
369
376
  }: FetchByRootAndValidateColumnsProps): Promise<WarnResult<fulu.DataColumnSidecars, DownloadByRootError>> {
370
377
  const {peerId: peerIdStr} = peerMeta;
371
378
  const slot = block.message.slot;
372
- const blobCount = block.message.body.blobKzgCommitments.length;
379
+ // TODO GLOAS: Get blob count from somewhere else since blobKzgCommitments is absent from block body
380
+ const blobCount = (block.message.body as BeaconBlockBody<ForkPostFulu & ForkPreGloas>).blobKzgCommitments.length;
373
381
  if (blobCount === 0) {
374
382
  return {result: [], warnings: null};
375
383
  }