@lodestar/beacon-node 1.48.0-dev.d00b8296c9 → 1.48.0-dev.f22c5ce63e

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.
@@ -74,26 +74,6 @@ function isBidCompatibleWithHead(chain, head, bidSlot, bidParentBlockRoot, bidPa
74
74
  export async function validateApiExecutionPayloadBid(chain, signedExecutionPayloadBid) {
75
75
  const bid = signedExecutionPayloadBid.message;
76
76
  const bidParentBlockRoot = toRootHex(bid.parentBlockRoot);
77
- // [REJECT] `bid.execution_payment` is zero.
78
- if (bid.executionPayment !== 0n) {
79
- throw new ExecutionPayloadBidError(GossipAction.REJECT, {
80
- code: ExecutionPayloadBidErrorCode.NON_ZERO_EXECUTION_PAYMENT,
81
- builderIndex: bid.builderIndex,
82
- executionPayment: bid.executionPayment,
83
- });
84
- }
85
- // [REJECT] The length of KZG commitments is less than or equal to the limitation defined in the
86
- // consensus layer -- i.e. validate that
87
- // `len(bid.blob_kzg_commitments) <= get_blob_parameters(compute_epoch_at_slot(bid.slot)).max_blobs_per_block`.
88
- const blobKzgCommitmentsLen = bid.blobKzgCommitments.length;
89
- const maxBlobsPerBlock = chain.config.getMaxBlobsPerBlock(computeEpochAtSlot(bid.slot));
90
- if (blobKzgCommitmentsLen > maxBlobsPerBlock) {
91
- throw new ExecutionPayloadBidError(GossipAction.REJECT, {
92
- code: ExecutionPayloadBidErrorCode.TOO_MANY_KZG_COMMITMENTS,
93
- blobKzgCommitmentsLen,
94
- commitmentLimit: maxBlobsPerBlock,
95
- });
96
- }
97
77
  // [IGNORE] `bid.slot` is the current slot, or the next slot (`bid.slot - 1` is current), allowing for `MAXIMUM_GOSSIP_CLOCK_DISPARITY`.
98
78
  if (!chain.clock.isCurrentSlotGivenGossipDisparity(bid.slot) &&
99
79
  !chain.clock.isCurrentSlotGivenGossipDisparity(bid.slot - 1)) {
@@ -123,6 +103,26 @@ export async function validateApiExecutionPayloadBid(chain, signedExecutionPaylo
123
103
  slot: bid.slot,
124
104
  });
125
105
  }
106
+ // [REJECT] `bid.execution_payment` is zero.
107
+ if (bid.executionPayment !== 0n) {
108
+ throw new ExecutionPayloadBidError(GossipAction.REJECT, {
109
+ code: ExecutionPayloadBidErrorCode.NON_ZERO_EXECUTION_PAYMENT,
110
+ builderIndex: bid.builderIndex,
111
+ executionPayment: bid.executionPayment,
112
+ });
113
+ }
114
+ // [REJECT] The length of KZG commitments is less than or equal to the limitation defined in the
115
+ // consensus layer -- i.e. validate that
116
+ // `len(bid.blob_kzg_commitments) <= get_blob_parameters(compute_epoch_at_slot(bid.slot)).max_blobs_per_block`.
117
+ const blobKzgCommitmentsLen = bid.blobKzgCommitments.length;
118
+ const maxBlobsPerBlock = chain.config.getMaxBlobsPerBlock(computeEpochAtSlot(bid.slot));
119
+ if (blobKzgCommitmentsLen > maxBlobsPerBlock) {
120
+ throw new ExecutionPayloadBidError(GossipAction.REJECT, {
121
+ code: ExecutionPayloadBidErrorCode.TOO_MANY_KZG_COMMITMENTS,
122
+ blobKzgCommitmentsLen,
123
+ commitmentLimit: maxBlobsPerBlock,
124
+ });
125
+ }
126
126
  const state = await chain.regen
127
127
  .getBlockSlotState(parentBlock, bid.slot, { dontTransferCache: true }, RegenCaller.validateApiExecutionPayloadBid)
128
128
  .catch(() => {
@@ -200,26 +200,6 @@ async function validateExecutionPayloadBid(chain, signedExecutionPayloadBid) {
200
200
  const bid = signedExecutionPayloadBid.message;
201
201
  const bidParentBlockRoot = toRootHex(bid.parentBlockRoot);
202
202
  const bidParentBlockHash = toRootHex(bid.parentBlockHash);
203
- // [REJECT] `bid.execution_payment` is zero.
204
- if (bid.executionPayment !== 0n) {
205
- throw new ExecutionPayloadBidError(GossipAction.REJECT, {
206
- code: ExecutionPayloadBidErrorCode.NON_ZERO_EXECUTION_PAYMENT,
207
- builderIndex: bid.builderIndex,
208
- executionPayment: bid.executionPayment,
209
- });
210
- }
211
- // [REJECT] The length of KZG commitments is less than or equal to the limitation defined in the
212
- // consensus layer -- i.e. validate that
213
- // `len(bid.blob_kzg_commitments) <= get_blob_parameters(compute_epoch_at_slot(bid.slot)).max_blobs_per_block`.
214
- const blobKzgCommitmentsLen = bid.blobKzgCommitments.length;
215
- const maxBlobsPerBlock = chain.config.getMaxBlobsPerBlock(computeEpochAtSlot(bid.slot));
216
- if (blobKzgCommitmentsLen > maxBlobsPerBlock) {
217
- throw new ExecutionPayloadBidError(GossipAction.REJECT, {
218
- code: ExecutionPayloadBidErrorCode.TOO_MANY_KZG_COMMITMENTS,
219
- blobKzgCommitmentsLen,
220
- commitmentLimit: maxBlobsPerBlock,
221
- });
222
- }
223
203
  // [IGNORE] `bid.slot` is the current slot, or the next slot (`bid.slot - 1` is current), allowing for `MAXIMUM_GOSSIP_CLOCK_DISPARITY`.
224
204
  if (!chain.clock.isCurrentSlotGivenGossipDisparity(bid.slot) &&
225
205
  !chain.clock.isCurrentSlotGivenGossipDisparity(bid.slot - 1)) {
@@ -351,6 +331,14 @@ async function validateExecutionPayloadBid(chain, signedExecutionPayloadBid) {
351
331
  expectedVersion: PAYLOAD_BUILDER_VERSION,
352
332
  });
353
333
  }
334
+ // [REJECT] `bid.execution_payment` is zero.
335
+ if (bid.executionPayment !== 0n) {
336
+ throw new ExecutionPayloadBidError(GossipAction.REJECT, {
337
+ code: ExecutionPayloadBidErrorCode.NON_ZERO_EXECUTION_PAYMENT,
338
+ builderIndex: bid.builderIndex,
339
+ executionPayment: bid.executionPayment,
340
+ });
341
+ }
354
342
  // [IGNORE] `bid.fee_recipient == proposer_preferences.fee_recipient`.
355
343
  if (!byteArrayEquals(bid.feeRecipient, proposerPreferences.message.feeRecipient)) {
356
344
  throw new ExecutionPayloadBidError(GossipAction.IGNORE, {
@@ -388,6 +376,18 @@ async function validateExecutionPayloadBid(chain, signedExecutionPayloadBid) {
388
376
  targetGasLimit,
389
377
  });
390
378
  }
379
+ // [REJECT] The length of KZG commitments is less than or equal to the limitation defined in the
380
+ // consensus layer -- i.e. validate that
381
+ // `len(bid.blob_kzg_commitments) <= get_blob_parameters(compute_epoch_at_slot(bid.slot)).max_blobs_per_block`.
382
+ const blobKzgCommitmentsLen = bid.blobKzgCommitments.length;
383
+ const maxBlobsPerBlock = chain.config.getMaxBlobsPerBlock(computeEpochAtSlot(bid.slot));
384
+ if (blobKzgCommitmentsLen > maxBlobsPerBlock) {
385
+ throw new ExecutionPayloadBidError(GossipAction.REJECT, {
386
+ code: ExecutionPayloadBidErrorCode.TOO_MANY_KZG_COMMITMENTS,
387
+ blobKzgCommitmentsLen,
388
+ commitmentLimit: maxBlobsPerBlock,
389
+ });
390
+ }
391
391
  // [IGNORE] this bid is the highest value bid seen for the tuple
392
392
  // `(bid.slot, bid.parent_block_hash, bid.parent_block_root)`.
393
393
  // As a DoS prevention measure, the bid must also exceed the current highest bid by a minimum
@@ -1 +1 @@
1
- {"version":3,"file":"executionPayloadBid.js","sourceRoot":"","sources":["../../../src/chain/validation/executionPayloadBid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executionPayloadBid.js","sourceRoot":"","sources":["../../../src/chain/validation/executionPayloadBid.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,uBAAuB,EAAC,MAAM,kBAAkB,CAAC;AACzD,OAAO,EACL,kBAAkB,EAClB,sCAAsC,EACtC,iCAAiC,EACjC,eAAe,EACf,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAC,eAAe,EAAE,KAAK,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAC,yBAAyB,EAAC,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAC,wBAAwB,EAAE,4BAA4B,EAAE,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAExG,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAE9C;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAC9B;;;GAGG;AACH,MAAM,wBAAwB,GAAG,OAAO,CAAC;AACzC;;;GAGG;AACH,MAAM,sBAAsB,GAAG,UAAU,CAAC;AAE1C;;;GAGG;AACH,SAAS,cAAc,CAAC,iBAAyB;IAC/C,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,MAAM,CAAC,GAAG,iBAAiB,CAAC;IACrF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,wBAAwB,EAAE,iBAAiB,CAAC,EAAE,sBAAsB,CAAC,CAAC;IAC1G,OAAO,iBAAiB,GAAG,SAAS,CAAC;AACvC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,uBAAuB,CAC9B,KAAmB,EACnB,IAAgB,EAChB,OAAa,EACb,kBAA2B,EAC3B,kBAA2B;IAE3B,MAAM,mBAAmB,GAAG,kBAAkB,KAAK,IAAI,CAAC,UAAU,CAAC;IACnE,MAAM,qBAAqB,GAAG,kBAAkB,KAAK,IAAI,CAAC,eAAe,CAAC;IAE1E,IAAI,mBAAmB,IAAI,qBAAqB,EAAE,CAAC;QACjD,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,gGAAgG;QAChG,8FAA8F;QAC9F,yBAAyB;QACzB,OAAO,KAAK,CAAC,mBAAmB,EAAE,CAAC,SAAS,KAAK,kBAAkB,CAAC;IACtE,CAAC;IAED,IAAI,kBAAkB,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,mBAAmB,GAAG,kBAAkB,KAAK,IAAI,CAAC,yBAAyB,CAAC;IAElF,IAAI,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QACtD,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,KAAmB,EACnB,yBAA0D;IAE1D,MAAM,GAAG,GAAG,yBAAyB,CAAC,OAAO,CAAC;IAC9C,MAAM,kBAAkB,GAAG,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAE1D,wIAAwI;IACxI,IACE,CAAC,KAAK,CAAC,KAAK,CAAC,iCAAiC,CAAC,GAAG,CAAC,IAAI,CAAC;QACxD,CAAC,KAAK,CAAC,KAAK,CAAC,iCAAiC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,EAC5D,CAAC;QACD,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,YAAY;YAC/C,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAC,CAAC;IACL,CAAC;IAED,iGAAiG;IACjG,4FAA4F;IAC5F,oEAAoE;IACpE,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;IAClF,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,kBAAkB;YACrD,eAAe,EAAE,kBAAkB;SACpC,CAAC,CAAC;IACL,CAAC;IAED,sEAAsE;IACtE,2EAA2E;IAC3E,2BAA2B;IAC3B,IAAI,GAAG,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;QACjC,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,qBAAqB;YACxD,UAAU,EAAE,WAAW,CAAC,IAAI;YAC5B,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAC,CAAC;IACL,CAAC;IAED,4CAA4C;IAC5C,IAAI,GAAG,CAAC,gBAAgB,KAAK,EAAE,EAAE,CAAC;QAChC,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,0BAA0B;YAC7D,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;SACvC,CAAC,CAAC;IACL,CAAC;IAED,gGAAgG;IAChG,wCAAwC;IACxC,+GAA+G;IAC/G,MAAM,qBAAqB,GAAG,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC;IAC5D,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACxF,IAAI,qBAAqB,GAAG,gBAAgB,EAAE,CAAC;QAC7C,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,wBAAwB;YAC3D,qBAAqB;YACrB,eAAe,EAAE,gBAAgB;SAClC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK;SAC5B,iBAAiB,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,EAAC,iBAAiB,EAAE,IAAI,EAAC,EAAE,WAAW,CAAC,8BAA8B,CAAC;SAC/G,KAAK,CAAC,GAAG,EAAE;QACV,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,kBAAkB;YACrD,eAAe,EAAE,kBAAkB;SACpC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,wEAAwE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5G,CAAC;IAED,mGAAmG;IACnG,kGAAkG;IAClG,sGAAsG;IACtG,qGAAqG;IACrG,IAAI,GAAG,CAAC,YAAY,IAAI,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAClD,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,oBAAoB;YACvD,YAAY,EAAE,GAAG,CAAC,YAAY;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,uEAAuE;IACvE,gEAAgE;IAChE,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACnD,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,oBAAoB;YACvD,YAAY,EAAE,GAAG,CAAC,YAAY;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,oEAAoE;IACpE,0EAA0E;IAC1E,IAAI,OAAO,CAAC,OAAO,KAAK,uBAAuB,EAAE,CAAC;QAChD,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,uBAAuB;YAC1D,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,eAAe,EAAE,uBAAuB;SACzC,CAAC,CAAC;IACL,CAAC;IAED,6EAA6E;IAC7E,6EAA6E;IAC7E,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,YAAY;YAC/C,QAAQ,EAAE,GAAG,CAAC,KAAK;YACnB,cAAc,EAAE,OAAO,CAAC,OAAO;SAChC,CAAC,CAAC;IACL,CAAC;IAED,6EAA6E;IAC7E,sFAAsF;IACtF,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACrE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,mBAAmB;YACtD,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC;YACpC,kBAAkB,EAAE,KAAK,CAAC,SAAS,CAAC;SACrC,CAAC,CAAC;IACL,CAAC;IAED,sGAAsG;IACtG,MAAM,YAAY,GAAG,sCAAsC,CACzD,OAAO,CAAC,MAAM,EACd,iCAAiC,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,EACpD,yBAAyB,CAAC,SAAS,CACpC,CAAC;IACF,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,iBAAiB;YACpD,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,KAAmB,EACnB,yBAA0D;IAE1D,OAAO,2BAA2B,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;AACvE,CAAC;AAED,KAAK,UAAU,2BAA2B,CACxC,KAAmB,EACnB,yBAA0D;IAE1D,MAAM,GAAG,GAAG,yBAAyB,CAAC,OAAO,CAAC;IAC9C,MAAM,kBAAkB,GAAG,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC1D,MAAM,kBAAkB,GAAG,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAE1D,wIAAwI;IACxI,IACE,CAAC,KAAK,CAAC,KAAK,CAAC,iCAAiC,CAAC,GAAG,CAAC,IAAI,CAAC;QACxD,CAAC,KAAK,CAAC,KAAK,CAAC,iCAAiC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,EAC5D,CAAC;QACD,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,YAAY;YAC/C,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAC,CAAC;IACL,CAAC;IAED,+DAA+D;IAC/D,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IACxC,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,EAAE,CAAC;QAC5F,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,sBAAsB;YACzD,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,eAAe,EAAE,kBAAkB;YACnC,eAAe,EAAE,kBAAkB;YACnC,aAAa,EAAE,IAAI,CAAC,SAAS;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,+FAA+F;IAC/F,wEAAwE;IACxE,6FAA6F;IAC7F,+DAA+D;IAC/D,IAAI,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,EAAE,CAAC;QAC/G,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,iBAAiB;YACpD,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,eAAe,EAAE,kBAAkB;YACnC,eAAe,EAAE,kBAAkB;SACpC,CAAC,CAAC;IACL,CAAC;IAED,iGAAiG;IACjG,4FAA4F;IAC5F,oEAAoE;IACpE,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;IAClF,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,kBAAkB;YACrD,eAAe,EAAE,kBAAkB;SACpC,CAAC,CAAC;IACL,CAAC;IAED,sEAAsE;IACtE,2EAA2E;IAC3E,2BAA2B;IAC3B,IAAI,GAAG,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;QACjC,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,qBAAqB;YACxD,UAAU,EAAE,WAAW,CAAC,IAAI;YAC5B,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAC,CAAC;IACL,CAAC;IAED,2FAA2F;IAC3F,iEAAiE;IACjE,+EAA+E;IAC/E,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9C,8FAA8F;IAC9F,4FAA4F;IAC5F,8FAA8F;IAC9F,iFAAiF;IACjF,yFAAyF;IACzF,2EAA2E;IAC3E,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE;QAC7B,IAAI,CAAC;YACH,OAAO,yBAAyB,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;QAClH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;QAC9B,0FAA0F;QAC1F,gFAAgF;QAChF,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,gCAAgC;YACnE,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,eAAe,EAAE,kBAAkB;YACnC,aAAa,EAAE,SAAS;SACzB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,mBAAmB,GAAG,KAAK,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC1F,IAAI,mBAAmB,KAAK,IAAI,EAAE,CAAC;QACjC,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,gCAAgC;YACnE,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,eAAe,EAAE,kBAAkB;YACnC,aAAa,EAAE,gBAAgB;SAChC,CAAC,CAAC;IACL,CAAC;IAED,uDAAuD;IACvD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK;SAC5B,iBAAiB,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,EAAC,iBAAiB,EAAE,IAAI,EAAC,EAAE,WAAW,CAAC,iCAAiC,CAAC;SAClH,KAAK,CAAC,GAAG,EAAE;QACV,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,kBAAkB;YACrD,eAAe,EAAE,kBAAkB;SACpC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,wEAAwE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5G,CAAC;IAED,mGAAmG;IACnG,kGAAkG;IAClG,sGAAsG;IACtG,qGAAqG;IACrG,IAAI,GAAG,CAAC,YAAY,IAAI,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAClD,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,oBAAoB;YACvD,YAAY,EAAE,GAAG,CAAC,YAAY;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,uEAAuE;IACvE,gEAAgE;IAChE,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACnD,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,oBAAoB;YACvD,YAAY,EAAE,GAAG,CAAC,YAAY;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,oEAAoE;IACpE,0EAA0E;IAC1E,IAAI,OAAO,CAAC,OAAO,KAAK,uBAAuB,EAAE,CAAC;QAChD,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,uBAAuB;YAC1D,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,eAAe,EAAE,uBAAuB;SACzC,CAAC,CAAC;IACL,CAAC;IAED,4CAA4C;IAC5C,IAAI,GAAG,CAAC,gBAAgB,KAAK,EAAE,EAAE,CAAC;QAChC,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,0BAA0B;YAC7D,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;SACvC,CAAC,CAAC;IACL,CAAC;IAED,sEAAsE;IACtE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,EAAE,mBAAmB,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACjF,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,2CAA2C;YAC9E,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC;YACxC,oBAAoB,EAAE,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,YAAY,CAAC;SACtE,CAAC,CAAC;IACL,CAAC;IAED,0FAA0F;IAC1F,qFAAqF;IACrF,4FAA4F;IAC5F,uFAAuF;IACvF,yFAAyF;IACzF,0EAA0E;IAC1E,MAAM,oBAAoB,GAAG,KAAK,CAAC,UAAU,CAAC,uBAAuB,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;IAC9G,IAAI,oBAAoB,KAAK,IAAI,IAAI,oBAAoB,CAAC,yBAAyB,KAAK,IAAI,EAAE,CAAC;QAC7F,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,yBAAyB;YAC5D,eAAe,EAAE,kBAAkB;SACpC,CAAC,CAAC;IACL,CAAC;IAED,gGAAgG;IAChG,kFAAkF;IAClF,iEAAiE;IACjE,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC;IACjC,MAAM,cAAc,GAAG,MAAM,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;IAC7E,MAAM,cAAc,GAAG,mBAAmB,CAAC,OAAO,CAAC,cAAc,CAAC;IAClE,IAAI,CAAC,0BAA0B,CAAC,cAAc,EAAE,WAAW,EAAE,cAAc,CAAC,EAAE,CAAC;QAC7E,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,uCAAuC;YAC1E,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,WAAW;YACX,cAAc;YACd,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IAED,gGAAgG;IAChG,wCAAwC;IACxC,+GAA+G;IAC/G,MAAM,qBAAqB,GAAG,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC;IAC5D,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACxF,IAAI,qBAAqB,GAAG,gBAAgB,EAAE,CAAC;QAC7C,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,wBAAwB;YAC3D,qBAAqB;YACrB,eAAe,EAAE,gBAAgB;SAClC,CAAC,CAAC;IACL,CAAC;IAED,gEAAgE;IAChE,8DAA8D;IAC9D,6FAA6F;IAC7F,2FAA2F;IAC3F,wEAAwE;IACxE,MAAM,OAAO,GAAG,KAAK,CAAC,uBAAuB,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;IAC3G,IAAI,OAAO,KAAK,IAAI,IAAI,GAAG,CAAC,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACpF,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,WAAW;YAC9C,QAAQ,EAAE,GAAG,CAAC,KAAK;YACnB,iBAAiB,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK;SACnD,CAAC,CAAC;IACL,CAAC;IACD,6EAA6E;IAC7E,6EAA6E;IAC7E,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,YAAY;YAC/C,QAAQ,EAAE,GAAG,CAAC,KAAK;YACnB,cAAc,EAAE,OAAO,CAAC,OAAO;SAChC,CAAC,CAAC;IACL,CAAC;IAED,6EAA6E;IAC7E,sFAAsF;IACtF,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACrE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,mBAAmB;YACtD,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC;YACpC,kBAAkB,EAAE,KAAK,CAAC,SAAS,CAAC;SACrC,CAAC,CAAC;IACL,CAAC;IAED,iEAAiE;IACjE,IAAI,eAAe,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,yBAAyB,CAAC,SAAS,CAAC,EAAE,CAAC;QACpF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,0BAA0B,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAC1G,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;gBACtD,IAAI,EAAE,4BAA4B,CAAC,yBAAyB;gBAC5D,eAAe,EAAE,kBAAkB;aACpC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IACE,QAAQ,CAAC,YAAY,CAAC,IAAI,CACxB,CAAC,OAAO,EAAE,EAAE,CACV,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;YAC/C,eAAe,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,gBAAgB,CAAC,CACnE,EACD,CAAC;YACD,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;gBACtD,IAAI,EAAE,4BAA4B,CAAC,gBAAgB;gBACnD,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,eAAe,EAAE,kBAAkB;aACpC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,sGAAsG;IACtG,MAAM,YAAY,GAAG,sCAAsC,CACzD,OAAO,CAAC,MAAM,EACd,iCAAiC,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,EACpD,yBAAyB,CAAC,SAAS,CACpC,CAAC;IAEF,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,iBAAiB;YACpD,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAC,CAAC;IACL,CAAC;IAED,4FAA4F;IAC5F,+DAA+D;IAC/D,IAAI,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,EAAE,CAAC;QAC/G,MAAM,IAAI,wBAAwB,CAAC,YAAY,CAAC,MAAM,EAAE;YACtD,IAAI,EAAE,4BAA4B,CAAC,iBAAiB;YACpD,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,eAAe,EAAE,kBAAkB;YACnC,eAAe,EAAE,kBAAkB;SACpC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;IACR,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;IAEvG,OAAO,EAAC,aAAa,EAAE,mBAAmB,CAAC,OAAO,CAAC,cAAc,EAAC,CAAC;AACrE,CAAC"}
@@ -27,11 +27,6 @@ export async function validateBuilderApiExecutionPayloadBid(chain, signedExecuti
27
27
  throw Error(`Bid parent parentBlockHash=${bidParentBlockHash} parentBlockRoot=${bidParentBlockRoot} does not match ` +
28
28
  `requested parentBlockHash=${parentBlockHash} parentBlockRoot=${parentBlockRoot}`);
29
29
  }
30
- const blobKzgCommitmentsLen = bid.blobKzgCommitments.length;
31
- const maxBlobsPerBlock = chain.config.getMaxBlobsPerBlock(computeEpochAtSlot(bid.slot));
32
- if (blobKzgCommitmentsLen > maxBlobsPerBlock) {
33
- throw Error(`Bid has too many KZG commitments len=${blobKzgCommitmentsLen} limit=${maxBlobsPerBlock}`);
34
- }
35
30
  const totalPayment = getBuilderBidTotalGwei(bid, entry.maxExecutionPayment);
36
31
  if (totalPayment < entry.minBid) {
37
32
  throw Error(`Bid total payment=${prettyGweiToEth(totalPayment)} ` +
@@ -63,6 +58,11 @@ export async function validateBuilderApiExecutionPayloadBid(chain, signedExecuti
63
58
  throw Error(`Bid builder pubkey=${toHex(builder.pubkey)} is not in the entry's ` +
64
59
  `builderPubkeys=${entry.builderPubkeys.map(toHex).join(",")}`);
65
60
  }
61
+ const blobKzgCommitmentsLen = bid.blobKzgCommitments.length;
62
+ const maxBlobsPerBlock = chain.config.getMaxBlobsPerBlock(computeEpochAtSlot(bid.slot));
63
+ if (blobKzgCommitmentsLen > maxBlobsPerBlock) {
64
+ throw Error(`Bid has too many KZG commitments len=${blobKzgCommitmentsLen} limit=${maxBlobsPerBlock}`);
65
+ }
66
66
  // The coverage check only applies to the staked collateral payment, a pure execution
67
67
  // layer payment bid has nothing to cover on-chain
68
68
  if (bid.value > 0 && !state.canBuilderCoverBid(bid.builderIndex, bid.value)) {
@@ -1 +1 @@
1
- {"version":3,"file":"validateBid.js","sourceRoot":"","sources":["../../../src/execution/builder/validateBid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validateBid.js","sourceRoot":"","sources":["../../../src/execution/builder/validateBid.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.48.0-dev.d00b8296c9",
14
+ "version": "1.48.0-dev.f22c5ce63e",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -126,17 +126,17 @@
126
126
  "@libp2p/peer-id": "^6.0.15",
127
127
  "@libp2p/prometheus-metrics": "^5.0.28",
128
128
  "@libp2p/tcp": "^11.0.27",
129
- "@lodestar/api": "^1.48.0-dev.d00b8296c9",
130
- "@lodestar/config": "^1.48.0-dev.d00b8296c9",
131
- "@lodestar/db": "^1.48.0-dev.d00b8296c9",
132
- "@lodestar/fork-choice": "^1.48.0-dev.d00b8296c9",
133
- "@lodestar/logger": "^1.48.0-dev.d00b8296c9",
134
- "@lodestar/params": "^1.48.0-dev.d00b8296c9",
135
- "@lodestar/reqresp": "^1.48.0-dev.d00b8296c9",
136
- "@lodestar/state-transition": "^1.48.0-dev.d00b8296c9",
137
- "@lodestar/types": "^1.48.0-dev.d00b8296c9",
138
- "@lodestar/utils": "^1.48.0-dev.d00b8296c9",
139
- "@lodestar/validator": "^1.48.0-dev.d00b8296c9",
129
+ "@lodestar/api": "^1.48.0-dev.f22c5ce63e",
130
+ "@lodestar/config": "^1.48.0-dev.f22c5ce63e",
131
+ "@lodestar/db": "^1.48.0-dev.f22c5ce63e",
132
+ "@lodestar/fork-choice": "^1.48.0-dev.f22c5ce63e",
133
+ "@lodestar/logger": "^1.48.0-dev.f22c5ce63e",
134
+ "@lodestar/params": "^1.48.0-dev.f22c5ce63e",
135
+ "@lodestar/reqresp": "^1.48.0-dev.f22c5ce63e",
136
+ "@lodestar/state-transition": "^1.48.0-dev.f22c5ce63e",
137
+ "@lodestar/types": "^1.48.0-dev.f22c5ce63e",
138
+ "@lodestar/utils": "^1.48.0-dev.f22c5ce63e",
139
+ "@lodestar/validator": "^1.48.0-dev.f22c5ce63e",
140
140
  "@multiformats/multiaddr": "^13.0.1",
141
141
  "datastore-core": "^12.0.1",
142
142
  "datastore-level": "^13.0.1",
@@ -158,7 +158,7 @@
158
158
  "@libp2p/interface-internal": "^3.1.12",
159
159
  "@libp2p/logger": "^6.2.13",
160
160
  "@libp2p/utils": "^7.4.0",
161
- "@lodestar/spec-test-util": "^1.48.0-dev.d00b8296c9",
161
+ "@lodestar/spec-test-util": "^1.48.0-dev.f22c5ce63e",
162
162
  "@types/js-yaml": "^4.0.5",
163
163
  "@types/qs": "^6.9.7",
164
164
  "@types/tmp": "^0.2.3",
@@ -175,5 +175,5 @@
175
175
  "beacon",
176
176
  "blockchain"
177
177
  ],
178
- "gitHead": "539ef7639a92bd784f2f9054bafa12b7dc2aef7a"
178
+ "gitHead": "6afd96f70f4313804c55ad09386ec91062cd68ba"
179
179
  }
@@ -104,28 +104,6 @@ export async function validateApiExecutionPayloadBid(
104
104
  const bid = signedExecutionPayloadBid.message;
105
105
  const bidParentBlockRoot = toRootHex(bid.parentBlockRoot);
106
106
 
107
- // [REJECT] `bid.execution_payment` is zero.
108
- if (bid.executionPayment !== 0n) {
109
- throw new ExecutionPayloadBidError(GossipAction.REJECT, {
110
- code: ExecutionPayloadBidErrorCode.NON_ZERO_EXECUTION_PAYMENT,
111
- builderIndex: bid.builderIndex,
112
- executionPayment: bid.executionPayment,
113
- });
114
- }
115
-
116
- // [REJECT] The length of KZG commitments is less than or equal to the limitation defined in the
117
- // consensus layer -- i.e. validate that
118
- // `len(bid.blob_kzg_commitments) <= get_blob_parameters(compute_epoch_at_slot(bid.slot)).max_blobs_per_block`.
119
- const blobKzgCommitmentsLen = bid.blobKzgCommitments.length;
120
- const maxBlobsPerBlock = chain.config.getMaxBlobsPerBlock(computeEpochAtSlot(bid.slot));
121
- if (blobKzgCommitmentsLen > maxBlobsPerBlock) {
122
- throw new ExecutionPayloadBidError(GossipAction.REJECT, {
123
- code: ExecutionPayloadBidErrorCode.TOO_MANY_KZG_COMMITMENTS,
124
- blobKzgCommitmentsLen,
125
- commitmentLimit: maxBlobsPerBlock,
126
- });
127
- }
128
-
129
107
  // [IGNORE] `bid.slot` is the current slot, or the next slot (`bid.slot - 1` is current), allowing for `MAXIMUM_GOSSIP_CLOCK_DISPARITY`.
130
108
  if (
131
109
  !chain.clock.isCurrentSlotGivenGossipDisparity(bid.slot) &&
@@ -160,6 +138,28 @@ export async function validateApiExecutionPayloadBid(
160
138
  });
161
139
  }
162
140
 
141
+ // [REJECT] `bid.execution_payment` is zero.
142
+ if (bid.executionPayment !== 0n) {
143
+ throw new ExecutionPayloadBidError(GossipAction.REJECT, {
144
+ code: ExecutionPayloadBidErrorCode.NON_ZERO_EXECUTION_PAYMENT,
145
+ builderIndex: bid.builderIndex,
146
+ executionPayment: bid.executionPayment,
147
+ });
148
+ }
149
+
150
+ // [REJECT] The length of KZG commitments is less than or equal to the limitation defined in the
151
+ // consensus layer -- i.e. validate that
152
+ // `len(bid.blob_kzg_commitments) <= get_blob_parameters(compute_epoch_at_slot(bid.slot)).max_blobs_per_block`.
153
+ const blobKzgCommitmentsLen = bid.blobKzgCommitments.length;
154
+ const maxBlobsPerBlock = chain.config.getMaxBlobsPerBlock(computeEpochAtSlot(bid.slot));
155
+ if (blobKzgCommitmentsLen > maxBlobsPerBlock) {
156
+ throw new ExecutionPayloadBidError(GossipAction.REJECT, {
157
+ code: ExecutionPayloadBidErrorCode.TOO_MANY_KZG_COMMITMENTS,
158
+ blobKzgCommitmentsLen,
159
+ commitmentLimit: maxBlobsPerBlock,
160
+ });
161
+ }
162
+
163
163
  const state = await chain.regen
164
164
  .getBlockSlotState(parentBlock, bid.slot, {dontTransferCache: true}, RegenCaller.validateApiExecutionPayloadBid)
165
165
  .catch(() => {
@@ -257,28 +257,6 @@ async function validateExecutionPayloadBid(
257
257
  const bidParentBlockRoot = toRootHex(bid.parentBlockRoot);
258
258
  const bidParentBlockHash = toRootHex(bid.parentBlockHash);
259
259
 
260
- // [REJECT] `bid.execution_payment` is zero.
261
- if (bid.executionPayment !== 0n) {
262
- throw new ExecutionPayloadBidError(GossipAction.REJECT, {
263
- code: ExecutionPayloadBidErrorCode.NON_ZERO_EXECUTION_PAYMENT,
264
- builderIndex: bid.builderIndex,
265
- executionPayment: bid.executionPayment,
266
- });
267
- }
268
-
269
- // [REJECT] The length of KZG commitments is less than or equal to the limitation defined in the
270
- // consensus layer -- i.e. validate that
271
- // `len(bid.blob_kzg_commitments) <= get_blob_parameters(compute_epoch_at_slot(bid.slot)).max_blobs_per_block`.
272
- const blobKzgCommitmentsLen = bid.blobKzgCommitments.length;
273
- const maxBlobsPerBlock = chain.config.getMaxBlobsPerBlock(computeEpochAtSlot(bid.slot));
274
- if (blobKzgCommitmentsLen > maxBlobsPerBlock) {
275
- throw new ExecutionPayloadBidError(GossipAction.REJECT, {
276
- code: ExecutionPayloadBidErrorCode.TOO_MANY_KZG_COMMITMENTS,
277
- blobKzgCommitmentsLen,
278
- commitmentLimit: maxBlobsPerBlock,
279
- });
280
- }
281
-
282
260
  // [IGNORE] `bid.slot` is the current slot, or the next slot (`bid.slot - 1` is current), allowing for `MAXIMUM_GOSSIP_CLOCK_DISPARITY`.
283
261
  if (
284
262
  !chain.clock.isCurrentSlotGivenGossipDisparity(bid.slot) &&
@@ -424,6 +402,15 @@ async function validateExecutionPayloadBid(
424
402
  });
425
403
  }
426
404
 
405
+ // [REJECT] `bid.execution_payment` is zero.
406
+ if (bid.executionPayment !== 0n) {
407
+ throw new ExecutionPayloadBidError(GossipAction.REJECT, {
408
+ code: ExecutionPayloadBidErrorCode.NON_ZERO_EXECUTION_PAYMENT,
409
+ builderIndex: bid.builderIndex,
410
+ executionPayment: bid.executionPayment,
411
+ });
412
+ }
413
+
427
414
  // [IGNORE] `bid.fee_recipient == proposer_preferences.fee_recipient`.
428
415
  if (!byteArrayEquals(bid.feeRecipient, proposerPreferences.message.feeRecipient)) {
429
416
  throw new ExecutionPayloadBidError(GossipAction.IGNORE, {
@@ -464,6 +451,19 @@ async function validateExecutionPayloadBid(
464
451
  });
465
452
  }
466
453
 
454
+ // [REJECT] The length of KZG commitments is less than or equal to the limitation defined in the
455
+ // consensus layer -- i.e. validate that
456
+ // `len(bid.blob_kzg_commitments) <= get_blob_parameters(compute_epoch_at_slot(bid.slot)).max_blobs_per_block`.
457
+ const blobKzgCommitmentsLen = bid.blobKzgCommitments.length;
458
+ const maxBlobsPerBlock = chain.config.getMaxBlobsPerBlock(computeEpochAtSlot(bid.slot));
459
+ if (blobKzgCommitmentsLen > maxBlobsPerBlock) {
460
+ throw new ExecutionPayloadBidError(GossipAction.REJECT, {
461
+ code: ExecutionPayloadBidErrorCode.TOO_MANY_KZG_COMMITMENTS,
462
+ blobKzgCommitmentsLen,
463
+ commitmentLimit: maxBlobsPerBlock,
464
+ });
465
+ }
466
+
467
467
  // [IGNORE] this bid is the highest value bid seen for the tuple
468
468
  // `(bid.slot, bid.parent_block_hash, bid.parent_block_root)`.
469
469
  // As a DoS prevention measure, the bid must also exceed the current highest bid by a minimum
@@ -56,12 +56,6 @@ export async function validateBuilderApiExecutionPayloadBid(
56
56
  );
57
57
  }
58
58
 
59
- const blobKzgCommitmentsLen = bid.blobKzgCommitments.length;
60
- const maxBlobsPerBlock = chain.config.getMaxBlobsPerBlock(computeEpochAtSlot(bid.slot));
61
- if (blobKzgCommitmentsLen > maxBlobsPerBlock) {
62
- throw Error(`Bid has too many KZG commitments len=${blobKzgCommitmentsLen} limit=${maxBlobsPerBlock}`);
63
- }
64
-
65
59
  const totalPayment = getBuilderBidTotalGwei(bid, entry.maxExecutionPayment);
66
60
  if (totalPayment < entry.minBid) {
67
61
  throw Error(
@@ -106,6 +100,12 @@ export async function validateBuilderApiExecutionPayloadBid(
106
100
  );
107
101
  }
108
102
 
103
+ const blobKzgCommitmentsLen = bid.blobKzgCommitments.length;
104
+ const maxBlobsPerBlock = chain.config.getMaxBlobsPerBlock(computeEpochAtSlot(bid.slot));
105
+ if (blobKzgCommitmentsLen > maxBlobsPerBlock) {
106
+ throw Error(`Bid has too many KZG commitments len=${blobKzgCommitmentsLen} limit=${maxBlobsPerBlock}`);
107
+ }
108
+
109
109
  // The coverage check only applies to the staked collateral payment, a pure execution
110
110
  // layer payment bid has nothing to cover on-chain
111
111
  if (bid.value > 0 && !state.canBuilderCoverBid(bid.builderIndex, bid.value)) {