@lodestar/beacon-node 1.44.0-dev.b506aab66d → 1.44.0-dev.f507c14622

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 (55) hide show
  1. package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
  2. package/lib/api/impl/beacon/blocks/index.js +30 -0
  3. package/lib/api/impl/beacon/blocks/index.js.map +1 -1
  4. package/lib/api/impl/validator/index.d.ts.map +1 -1
  5. package/lib/api/impl/validator/index.js +77 -37
  6. package/lib/api/impl/validator/index.js.map +1 -1
  7. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  8. package/lib/chain/blocks/importBlock.js +4 -1
  9. package/lib/chain/blocks/importBlock.js.map +1 -1
  10. package/lib/chain/blocks/importExecutionPayload.js +1 -1
  11. package/lib/chain/blocks/importExecutionPayload.js.map +1 -1
  12. package/lib/chain/chain.d.ts +1 -1
  13. package/lib/chain/chain.d.ts.map +1 -1
  14. package/lib/chain/chain.js +2 -1
  15. package/lib/chain/chain.js.map +1 -1
  16. package/lib/chain/errors/executionPayloadBid.d.ts +5 -0
  17. package/lib/chain/errors/executionPayloadBid.d.ts.map +1 -1
  18. package/lib/chain/errors/executionPayloadBid.js +1 -0
  19. package/lib/chain/errors/executionPayloadBid.js.map +1 -1
  20. package/lib/chain/opPools/executionPayloadBidPool.d.ts +4 -4
  21. package/lib/chain/opPools/executionPayloadBidPool.d.ts.map +1 -1
  22. package/lib/chain/opPools/executionPayloadBidPool.js +6 -4
  23. package/lib/chain/opPools/executionPayloadBidPool.js.map +1 -1
  24. package/lib/chain/produceBlock/produceBlockBody.d.ts +3 -1
  25. package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
  26. package/lib/chain/produceBlock/produceBlockBody.js +54 -14
  27. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  28. package/lib/chain/regen/interface.d.ts +1 -0
  29. package/lib/chain/regen/interface.d.ts.map +1 -1
  30. package/lib/chain/regen/interface.js +1 -0
  31. package/lib/chain/regen/interface.js.map +1 -1
  32. package/lib/chain/validation/executionPayloadBid.js +12 -2
  33. package/lib/chain/validation/executionPayloadBid.js.map +1 -1
  34. package/lib/network/interface.d.ts +1 -0
  35. package/lib/network/interface.d.ts.map +1 -1
  36. package/lib/network/network.d.ts +1 -0
  37. package/lib/network/network.d.ts.map +1 -1
  38. package/lib/network/network.js +5 -0
  39. package/lib/network/network.js.map +1 -1
  40. package/lib/network/processor/gossipHandlers.js +1 -1
  41. package/lib/network/processor/gossipHandlers.js.map +1 -1
  42. package/package.json +14 -14
  43. package/src/api/impl/beacon/blocks/index.ts +36 -0
  44. package/src/api/impl/validator/index.ts +90 -38
  45. package/src/chain/blocks/importBlock.ts +7 -1
  46. package/src/chain/blocks/importExecutionPayload.ts +1 -1
  47. package/src/chain/chain.ts +2 -0
  48. package/src/chain/errors/executionPayloadBid.ts +2 -0
  49. package/src/chain/opPools/executionPayloadBidPool.ts +10 -9
  50. package/src/chain/produceBlock/produceBlockBody.ts +78 -16
  51. package/src/chain/regen/interface.ts +1 -0
  52. package/src/chain/validation/executionPayloadBid.ts +13 -2
  53. package/src/network/interface.ts +1 -0
  54. package/src/network/network.ts +11 -0
  55. package/src/network/processor/gossipHandlers.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"gossipHandlers.js","sourceRoot":"","sources":["../../../src/network/processor/gossipHandlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gossipHandlers.js","sourceRoot":"","sources":["../../../src/network/processor/gossipHandlers.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.44.0-dev.b506aab66d",
14
+ "version": "1.44.0-dev.f507c14622",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -135,17 +135,17 @@
135
135
  "@libp2p/peer-id": "^6.0.4",
136
136
  "@libp2p/prometheus-metrics": "^5.0.14",
137
137
  "@libp2p/tcp": "^11.0.13",
138
- "@lodestar/api": "^1.44.0-dev.b506aab66d",
139
- "@lodestar/config": "^1.44.0-dev.b506aab66d",
140
- "@lodestar/db": "^1.44.0-dev.b506aab66d",
141
- "@lodestar/fork-choice": "^1.44.0-dev.b506aab66d",
142
- "@lodestar/logger": "^1.44.0-dev.b506aab66d",
143
- "@lodestar/params": "^1.44.0-dev.b506aab66d",
144
- "@lodestar/reqresp": "^1.44.0-dev.b506aab66d",
145
- "@lodestar/state-transition": "^1.44.0-dev.b506aab66d",
146
- "@lodestar/types": "^1.44.0-dev.b506aab66d",
147
- "@lodestar/utils": "^1.44.0-dev.b506aab66d",
148
- "@lodestar/validator": "^1.44.0-dev.b506aab66d",
138
+ "@lodestar/api": "^1.44.0-dev.f507c14622",
139
+ "@lodestar/config": "^1.44.0-dev.f507c14622",
140
+ "@lodestar/db": "^1.44.0-dev.f507c14622",
141
+ "@lodestar/fork-choice": "^1.44.0-dev.f507c14622",
142
+ "@lodestar/logger": "^1.44.0-dev.f507c14622",
143
+ "@lodestar/params": "^1.44.0-dev.f507c14622",
144
+ "@lodestar/reqresp": "^1.44.0-dev.f507c14622",
145
+ "@lodestar/state-transition": "^1.44.0-dev.f507c14622",
146
+ "@lodestar/types": "^1.44.0-dev.f507c14622",
147
+ "@lodestar/utils": "^1.44.0-dev.f507c14622",
148
+ "@lodestar/validator": "^1.44.0-dev.f507c14622",
149
149
  "@multiformats/multiaddr": "^13.0.1",
150
150
  "datastore-core": "^11.0.2",
151
151
  "datastore-fs": "^11.0.2",
@@ -168,7 +168,7 @@
168
168
  "@libp2p/interface-internal": "^3.0.13",
169
169
  "@libp2p/logger": "^6.2.2",
170
170
  "@libp2p/utils": "^7.0.13",
171
- "@lodestar/spec-test-util": "^1.44.0-dev.b506aab66d",
171
+ "@lodestar/spec-test-util": "^1.44.0-dev.f507c14622",
172
172
  "@types/js-yaml": "^4.0.5",
173
173
  "@types/qs": "^6.9.7",
174
174
  "@types/tmp": "^0.2.3",
@@ -186,5 +186,5 @@
186
186
  "beacon",
187
187
  "blockchain"
188
188
  ],
189
- "gitHead": "c07ffb9e0678952454bc8af55b63ac47bfd212eb"
189
+ "gitHead": "059aad4148248818456383065c79122b6c0723b8"
190
190
  }
@@ -50,6 +50,7 @@ import {
50
50
  ProduceFullGloas,
51
51
  } from "../../../../chain/produceBlock/index.js";
52
52
  import {validateGossipBlock} from "../../../../chain/validation/block.js";
53
+ import {validateApiExecutionPayloadBid} from "../../../../chain/validation/executionPayloadBid.js";
53
54
  import {validateApiExecutionPayloadEnvelope} from "../../../../chain/validation/executionPayloadEnvelope.js";
54
55
  import {OpSource} from "../../../../chain/validatorMonitor.js";
55
56
  import {
@@ -825,6 +826,41 @@ export function getBeaconBlockApi({
825
826
  });
826
827
  },
827
828
 
829
+ async publishExecutionPayloadBid({signedExecutionPayloadBid}) {
830
+ const bid = signedExecutionPayloadBid.message;
831
+ const slot = bid.slot;
832
+ const fork = config.getForkName(slot);
833
+
834
+ if (!isForkPostGloas(fork)) {
835
+ throw new ApiError(400, `publishExecutionPayloadBid not supported for pre-gloas fork=${fork}`);
836
+ }
837
+
838
+ await validateApiExecutionPayloadBid(chain, signedExecutionPayloadBid);
839
+
840
+ try {
841
+ const insertOutcome = chain.executionPayloadBidPool.add(signedExecutionPayloadBid);
842
+ metrics?.opPool.executionPayloadBidPool.apiInsertOutcome.inc({insertOutcome});
843
+ } catch (e) {
844
+ chain.logger.error("Error adding to executionPayloadBid pool", {}, e as Error);
845
+ }
846
+
847
+ const sentPeers = await network.publishSignedExecutionPayloadBid(signedExecutionPayloadBid);
848
+
849
+ chain.emitter.emit(routes.events.EventType.executionPayloadBid, {
850
+ version: fork,
851
+ data: signedExecutionPayloadBid,
852
+ });
853
+
854
+ chain.logger.info("Published execution payload bid", {
855
+ slot,
856
+ builderIndex: bid.builderIndex,
857
+ blockHash: toRootHex(bid.blockHash),
858
+ parentBlockHash: toRootHex(bid.parentBlockHash),
859
+ value: bid.value,
860
+ sentPeers,
861
+ });
862
+ },
863
+
828
864
  async getSignedExecutionPayloadEnvelope({blockId}, context) {
829
865
  const {block, executionOptimistic, finalized} = await getBlockResponse(chain, blockId);
830
866
  const slot = block.message.slot;
@@ -914,20 +914,40 @@ export function getValidatorApi(
914
914
  notWhileSyncing();
915
915
  await waitForSlot(slot);
916
916
 
917
- // TODO GLOAS: support producing blocks from builder bids
918
- const source = ProducedBlockSource.engine;
919
-
920
- // TODO GLOAS: needs to be updated after fork choice changes are merged
921
917
  const parentBlock = chain.getProposerHead(slot);
922
918
  const {blockRoot: parentBlockRootHex, slot: parentSlot} = parentBlock;
923
919
  const parentBlockRoot = fromHex(parentBlockRootHex);
924
920
  notOnOutOfRangeData(parentBlockRoot);
925
921
  metrics?.blockProductionSlotDelta.set(slot - parentSlot);
926
- metrics?.blockProductionRequests.inc({source});
927
922
 
928
923
  const graffitiBytes = toGraffitiBytes(
929
924
  graffiti ?? getDefaultGraffiti(getLodestarClientVersion(opts), chain.executionEngine.clientVersion, opts)
930
925
  );
926
+
927
+ // TODO GLOAS: respect builderSelection (MaxProfit, BuilderAlways, ExecutionAlways, etc.) to let
928
+ // the user control bid source preferences and value comparison. Also add external builder api
929
+ // support when it is implemented.
930
+ const builderBid = chain.executionPayloadBidPool.getBestBid(
931
+ slot,
932
+ parentBlock.executionPayloadBlockHash,
933
+ parentBlockRootHex
934
+ );
935
+
936
+ const logCtx = {
937
+ slot,
938
+ parentSlot,
939
+ parentBlockRoot: parentBlockRootHex,
940
+ parentBlockHash: parentBlock.executionPayloadBlockHash,
941
+ fork,
942
+ ...(builderBid !== null
943
+ ? {
944
+ bidValue: builderBid.message.value,
945
+ builderIndex: builderBid.message.builderIndex,
946
+ bidBlockHash: toRootHex(builderBid.message.blockHash),
947
+ }
948
+ : {}),
949
+ };
950
+
931
951
  const commonBlockBodyPromise = chain.produceCommonBlockBody({
932
952
  slot,
933
953
  parentBlock,
@@ -935,44 +955,76 @@ export function getValidatorApi(
935
955
  graffiti: graffitiBytes,
936
956
  });
937
957
 
938
- let timer: undefined | ((opts: {source: ProducedBlockSource}) => number);
939
- try {
940
- timer = metrics?.blockProductionTime.startTimer();
941
- const {block, executionPayloadValue, consensusBlockValue} = await chain.produceBlock({
942
- slot,
943
- parentBlock,
944
- randaoReveal,
945
- graffiti: graffitiBytes,
946
- feeRecipient,
947
- commonBlockBodyPromise,
948
- });
958
+ const baseAttrs = {
959
+ slot,
960
+ parentBlock,
961
+ randaoReveal,
962
+ graffiti: graffitiBytes,
963
+ feeRecipient,
964
+ commonBlockBodyPromise,
965
+ };
949
966
 
950
- metrics?.blockProductionSuccess.inc({source});
951
- metrics?.blockProductionNumAggregated.observe({source}, block.body.attestations.length);
952
- metrics?.blockProductionConsensusBlockValue.observe({source}, Number(formatWeiToEth(consensusBlockValue)));
953
- metrics?.blockProductionExecutionPayloadValue.observe({source}, Number(formatWeiToEth(executionPayloadValue)));
967
+ metrics?.blockProductionRequests.inc({source: ProducedBlockSource.engine});
968
+ if (builderBid !== null) {
969
+ metrics?.blockProductionRequests.inc({source: ProducedBlockSource.builder});
970
+ }
954
971
 
955
- const blockRoot = toRootHex(config.getForkTypes(slot).BeaconBlock.hashTreeRoot(block));
956
- logger.verbose("Produced block", {
957
- slot,
958
- executionPayloadValue,
959
- consensusBlockValue,
960
- root: blockRoot,
961
- });
962
- if (chain.opts.persistProducedBlocks) {
963
- void chain.persistBlock(block, "produced_engine_block");
972
+ const timed = <T>(source: ProducedBlockSource, fn: () => Promise<T>): Promise<T> => {
973
+ const t = metrics?.blockProductionTime.startTimer();
974
+ return fn().finally(() => t?.({source}));
975
+ };
976
+
977
+ // Always build local block. If builder bid available, also build with it in parallel and prefer it.
978
+ const [engineResult, bidResult] = await Promise.allSettled([
979
+ timed(ProducedBlockSource.engine, () => chain.produceBlock(baseAttrs)),
980
+ builderBid !== null
981
+ ? timed(ProducedBlockSource.builder, () => chain.produceBlock({...baseAttrs, builderBid}))
982
+ : Promise.reject(),
983
+ ]);
984
+
985
+ let bestResult: typeof engineResult | null = null;
986
+ let source: ProducedBlockSource = ProducedBlockSource.engine;
987
+ if (builderBid !== null && bidResult.status === "fulfilled") {
988
+ source = ProducedBlockSource.builder;
989
+ bestResult = bidResult;
990
+ logger.info("Selected builder bid block", logCtx);
991
+ } else if (engineResult.status === "fulfilled") {
992
+ source = ProducedBlockSource.engine;
993
+ bestResult = engineResult;
994
+ if (builderBid !== null) {
995
+ logger.warn("Builder bid block production failed, using local block", logCtx);
964
996
  }
997
+ }
965
998
 
966
- return {
967
- data: block as gloas.BeaconBlock,
968
- meta: {
969
- version: fork,
970
- consensusBlockValue,
971
- },
972
- };
973
- } finally {
974
- timer?.({source});
999
+ if (bestResult === null || bestResult.status !== "fulfilled") {
1000
+ const engineReason = engineResult.status === "rejected" ? engineResult.reason : undefined;
1001
+ const bidReason = builderBid !== null && bidResult.status === "rejected" ? bidResult.reason : undefined;
1002
+ logger.error("Block production failed", {...logCtx, engineReason, bidReason});
1003
+ throw Error(`Block production failed: engine=${engineReason ?? "n/a"} builder=${bidReason ?? "n/a"}`);
1004
+ }
1005
+
1006
+ const {block, executionPayloadValue, consensusBlockValue} = bestResult.value;
1007
+
1008
+ metrics?.blockProductionSuccess.inc({source});
1009
+ metrics?.blockProductionNumAggregated.observe({source}, block.body.attestations.length);
1010
+ metrics?.blockProductionConsensusBlockValue.observe({source}, Number(formatWeiToEth(consensusBlockValue)));
1011
+ metrics?.blockProductionExecutionPayloadValue.observe({source}, Number(formatWeiToEth(executionPayloadValue)));
1012
+
1013
+ const blockRoot = toRootHex(config.getForkTypes(slot).BeaconBlock.hashTreeRoot(block));
1014
+ logger.verbose("Produced block", {
1015
+ ...logCtx,
1016
+ executionPayloadValue,
1017
+ consensusBlockValue,
1018
+ root: blockRoot,
1019
+ });
1020
+ if (chain.opts.persistProducedBlocks) {
1021
+ void chain.persistBlock(block, "produced_engine_block");
975
1022
  }
1023
+
1024
+ return {
1025
+ data: block as gloas.BeaconBlock,
1026
+ meta: {version: fork, consensusBlockValue},
1027
+ };
976
1028
  },
977
1029
 
978
1030
  async produceAttestationData({committeeIndex, slot}) {
@@ -116,13 +116,19 @@ export async function importBlock(
116
116
  }
117
117
  executionStatus = parentBlock.executionStatus;
118
118
  }
119
+
120
+ // getBeaconProposerOrNull will return null if head state is more than one epoch away
121
+ // from block slot. We skip proposer boost canonical check as we cannot determine the canonical proposer
122
+ const expectedProposerIndex: number | null = this.getHeadState().getBeaconProposerOrNull(blockSlot);
123
+
119
124
  const blockSummary = this.forkChoice.onBlock(
120
125
  block.message,
121
126
  postState,
122
127
  blockDelaySec,
123
128
  currentSlot,
124
129
  executionStatus,
125
- dataAvailabilityStatus
130
+ dataAvailabilityStatus,
131
+ expectedProposerIndex
126
132
  );
127
133
 
128
134
  // This adds the state necessary to process the next block
@@ -129,7 +129,7 @@ export async function importExecutionPayload(
129
129
 
130
130
  // 3. Regenerate state for envelope verification
131
131
  const blockState = await this.regen
132
- .getBlockSlotState(protoBlock, protoBlock.slot, {dontTransferCache: true}, RegenCaller.processBlock)
132
+ .getBlockSlotState(protoBlock, protoBlock.slot, {dontTransferCache: true}, RegenCaller.importExecutionPayload)
133
133
  .catch(() =>
134
134
  // only happen at the 1st batch of skipped slot checkpoint sync
135
135
  this.regen.getClosestHeadState(protoBlock)
@@ -1049,6 +1049,7 @@ export class BeaconChain implements IBeaconChain {
1049
1049
  feeRecipient,
1050
1050
  commonBlockBodyPromise,
1051
1051
  parentBlock,
1052
+ builderBid,
1052
1053
  }: BlockAttributes & {commonBlockBodyPromise: Promise<CommonBlockBody>}
1053
1054
  ): Promise<{
1054
1055
  block: AssembledBlockType<T>;
@@ -1078,6 +1079,7 @@ export class BeaconChain implements IBeaconChain {
1078
1079
  proposerIndex,
1079
1080
  proposerPubKey,
1080
1081
  commonBlockBodyPromise,
1082
+ builderBid,
1081
1083
  }
1082
1084
  );
1083
1085
 
@@ -11,6 +11,7 @@ export enum ExecutionPayloadBidErrorCode {
11
11
  UNKNOWN_BLOCK_ROOT = "EXECUTION_PAYLOAD_BID_ERROR_UNKNOWN_BLOCK_ROOT",
12
12
  UNKNOWN_PARENT_BLOCK_HASH = "EXECUTION_PAYLOAD_BID_ERROR_UNKNOWN_PARENT_BLOCK_HASH",
13
13
  INVALID_SLOT = "EXECUTION_PAYLOAD_BID_ERROR_INVALID_SLOT",
14
+ NOT_LATER_THAN_PARENT = "EXECUTION_PAYLOAD_BID_ERROR_NOT_LATER_THAN_PARENT",
14
15
  INVALID_SIGNATURE = "EXECUTION_PAYLOAD_BID_ERROR_INVALID_SIGNATURE",
15
16
  NO_MATCHING_PROPOSER_PREFERENCES = "EXECUTION_PAYLOAD_BID_ERROR_NO_MATCHING_PROPOSER_PREFERENCES",
16
17
  PROPOSER_PREFERENCES_FEE_RECIPIENT_MISMATCH = "EXECUTION_PAYLOAD_BID_ERROR_PROPOSER_PREFERENCES_FEE_RECIPIENT_MISMATCH",
@@ -41,6 +42,7 @@ export type ExecutionPayloadBidErrorType =
41
42
  | {code: ExecutionPayloadBidErrorCode.UNKNOWN_BLOCK_ROOT; parentBlockRoot: RootHex}
42
43
  | {code: ExecutionPayloadBidErrorCode.UNKNOWN_PARENT_BLOCK_HASH; parentBlockHash: RootHex}
43
44
  | {code: ExecutionPayloadBidErrorCode.INVALID_SLOT; builderIndex: BuilderIndex; slot: Slot}
45
+ | {code: ExecutionPayloadBidErrorCode.NOT_LATER_THAN_PARENT; parentSlot: Slot; slot: Slot}
44
46
  | {code: ExecutionPayloadBidErrorCode.INVALID_SIGNATURE; builderIndex: BuilderIndex; slot: Slot}
45
47
  | {
46
48
  code: ExecutionPayloadBidErrorCode.NO_MATCHING_PROPOSER_PREFERENCES;
@@ -12,13 +12,13 @@ type BlockRootHex = string;
12
12
  type BlockHashHex = string;
13
13
 
14
14
  /**
15
- * Store the best execution payload bid per slot / (parent block root, parent block hash).
15
+ * Store the best signed execution payload bid per slot / (parent block root, parent block hash).
16
16
  */
17
17
  export class ExecutionPayloadBidPool {
18
18
  private readonly bidByParentHashByParentRootBySlot = new MapDef<
19
19
  Slot,
20
- MapDef<BlockRootHex, Map<BlockHashHex, gloas.ExecutionPayloadBid>>
21
- >(() => new MapDef<BlockRootHex, Map<BlockHashHex, gloas.ExecutionPayloadBid>>(() => new Map()));
20
+ MapDef<BlockRootHex, Map<BlockHashHex, gloas.SignedExecutionPayloadBid>>
21
+ >(() => new MapDef<BlockRootHex, Map<BlockHashHex, gloas.SignedExecutionPayloadBid>>(() => new Map()));
22
22
  private lowestPermissibleSlot = 0;
23
23
 
24
24
  get size(): number {
@@ -31,8 +31,8 @@ export class ExecutionPayloadBidPool {
31
31
  return count;
32
32
  }
33
33
 
34
- add(bid: gloas.ExecutionPayloadBid): InsertOutcome {
35
- const {slot, parentBlockRoot, parentBlockHash, value} = bid;
34
+ add(bid: gloas.SignedExecutionPayloadBid): InsertOutcome {
35
+ const {slot, parentBlockRoot, parentBlockHash, value} = bid.message;
36
36
  const lowestPermissibleSlot = this.lowestPermissibleSlot;
37
37
 
38
38
  if (slot < lowestPermissibleSlot) {
@@ -45,7 +45,7 @@ export class ExecutionPayloadBidPool {
45
45
  const existing = bidByParentHash.get(parentHashHex);
46
46
 
47
47
  if (existing) {
48
- const existingValue = existing.value;
48
+ const existingValue = existing.message.value;
49
49
  const newValue = value;
50
50
  if (newValue > existingValue) {
51
51
  bidByParentHash.set(parentHashHex, bid);
@@ -59,14 +59,15 @@ export class ExecutionPayloadBidPool {
59
59
  }
60
60
 
61
61
  /**
62
- * Return the highest-value bid matching slot, parent block hash, and parent block root.
62
+ * Return the highest-value signed bid matching slot, parent block hash, and parent block root.
63
63
  * Used for gossip validation and block production.
64
64
  */
65
65
  getBestBid(
66
66
  slot: Slot,
67
- parentBlockHash: BlockHashHex,
67
+ parentBlockHash: BlockHashHex | null,
68
68
  parentBlockRoot: BlockRootHex
69
- ): gloas.ExecutionPayloadBid | null {
69
+ ): gloas.SignedExecutionPayloadBid | null {
70
+ if (parentBlockHash === null) return null;
70
71
  const bidByParentHash = this.bidByParentHashByParentRootBySlot.get(slot)?.get(parentBlockRoot);
71
72
  return bidByParentHash?.get(parentBlockHash) ?? null;
72
73
  }