|
81 | 81 | executionPayloadValue*: Wei
|
82 | 82 | consensusBlockValue*: UInt256
|
83 | 83 | blobsBundle*: deneb.BlobsBundle
|
| 84 | + blobsBundleV2*: fulu.BlobsBundleV2 |
84 | 85 |
|
85 | 86 | BuilderBid[SBBB] = object
|
86 | 87 | blindedBlckPart*: SBBB
|
@@ -585,15 +586,24 @@ proc makeBeaconBlockForHeadAndSlot*(
|
585 | 586 | $error
|
586 | 587 |
|
587 | 588 | if res.isOk:
|
| 589 | + let val = res.get() |
588 | 590 | ok(EngineBid(
|
589 |
| - blck: res.get().blck, |
| 591 | + blck: val.blck, |
590 | 592 | executionPayloadValue: payload.blockValue,
|
591 |
| - consensusBlockValue: res.get().rewards.blockConsensusValue(), |
592 |
| - blobsBundle: |
593 |
| - when typeof(payload).kind >= ConsensusFork.Deneb: |
| 593 | + consensusBlockValue: val.rewards.blockConsensusValue(), |
| 594 | + blobsBundle: ( |
| 595 | + when typeof(payload).kind >= ConsensusFork.Deneb and |
| 596 | + typeof(payload).kind < ConsensusFork.Fulu: |
594 | 597 | payload.blobsBundle
|
595 | 598 | else:
|
596 | 599 | default(deneb.BlobsBundle)
|
| 600 | + ), |
| 601 | + blobsBundleV2: ( |
| 602 | + when typeof(payload).kind >= ConsensusFork.Fulu: |
| 603 | + payload.blobsBundle |
| 604 | + else: |
| 605 | + default(fulu.BlobsBundleV2) |
| 606 | + ) |
597 | 607 | ))
|
598 | 608 | else:
|
599 | 609 | err(res.error)
|
@@ -1236,7 +1246,7 @@ proc proposeBlockAux(
|
1236 | 1246 | blobsOpt =
|
1237 | 1247 | when consensusFork >= ConsensusFork.Deneb:
|
1238 | 1248 | Opt.some(signedBlock.create_blob_sidecars(
|
1239 |
| - engineBid.blobsBundle.proofs, engineBid.blobsBundle.blobs)) |
| 1249 | + KzgProofs(engineBid.blobsBundle.proofs), engineBid.blobsBundle.blobs)) |
1240 | 1250 | else:
|
1241 | 1251 | Opt.none(seq[BlobSidecar])
|
1242 | 1252 | newBlockRef = (
|
@@ -2043,15 +2053,27 @@ proc makeMaybeBlindedBeaconBlockForHeadAndSlotImpl[ResultType](
|
2043 | 2053 |
|
2044 | 2054 | doAssert engineBid.blck.kind == consensusFork
|
2045 | 2055 | template forkyBlck: untyped = engineBid.blck.forky(consensusFork)
|
2046 |
| - when consensusFork >= ConsensusFork.Deneb: |
| 2056 | + when consensusFork >= ConsensusFork.Fulu: |
| 2057 | + doAssert engineBid.blobsBundleV2.commitments == |
| 2058 | + forkyBlck.body.blob_kzg_commitments |
| 2059 | + ResultType.ok(( |
| 2060 | + blck: consensusFork.MaybeBlindedBeaconBlock( |
| 2061 | + isBlinded: false, |
| 2062 | + data: consensusFork.BlockContents( |
| 2063 | + `block`: forkyBlck, |
| 2064 | + kzg_proofs: KzgProofsV2(engineBid.blobsBundleV2.proofs), |
| 2065 | + blobs: engineBid.blobsBundleV2.blobs)), |
| 2066 | + executionValue: Opt.some(engineBid.executionPayloadValue), |
| 2067 | + consensusValue: Opt.some(engineBid.consensusBlockValue))) |
| 2068 | + elif consensusFork >= ConsensusFork.Deneb: |
2047 | 2069 | doAssert engineBid.blobsBundle.commitments ==
|
2048 | 2070 | forkyBlck.body.blob_kzg_commitments
|
2049 | 2071 | ResultType.ok((
|
2050 | 2072 | blck: consensusFork.MaybeBlindedBeaconBlock(
|
2051 | 2073 | isBlinded: false,
|
2052 | 2074 | data: consensusFork.BlockContents(
|
2053 | 2075 | `block`: forkyBlck,
|
2054 |
| - kzg_proofs: engineBid.blobsBundle.proofs, |
| 2076 | + kzg_proofs: KzgProofs(engineBid.blobsBundle.proofs), |
2055 | 2077 | blobs: engineBid.blobsBundle.blobs)),
|
2056 | 2078 | executionValue: Opt.some(engineBid.executionPayloadValue),
|
2057 | 2079 | consensusValue: Opt.some(engineBid.consensusBlockValue)))
|
|
0 commit comments