5353 executionPayload* : ExecutionPayload
5454 blockValue* : Opt [UInt256 ]
5555 blobsBundle* : Opt [BlobsBundleV1 ]
56+ blobsBundleV2* : Opt [BlobsBundleV2 ]
5657 shouldOverrideBuilder* : Opt [bool ]
5758 executionRequests* : Opt [seq [seq [byte ]]]
5859
6162 V2
6263 V3
6364 V4
65+ V5
6466
6567func version * (payload: ExecutionPayload ): Version =
6668 if payload.blobGasUsed.isSome or payload.excessBlobGas.isSome:
@@ -79,7 +81,10 @@ func version*(attr: PayloadAttributes): Version =
7981 Version .V1
8082
8183func version * (res: GetPayloadResponse ): Version =
82- if res.executionRequests.isSome:
84+ if res.blobsBundleV2.isSome and
85+ res.blobsBundleV2.get.proofs.len == (CELLS_PER_EXT_BLOB * res.blobsBundleV2.get.blobs.len):
86+ Version .V5
87+ elif res.executionRequests.isSome:
8388 Version .V4
8489 elif res.blobsBundle.isSome or res.shouldOverrideBuilder.isSome:
8590 Version .V3
@@ -388,6 +393,15 @@ func V4*(res: GetPayloadResponse): GetPayloadV4Response =
388393 executionRequests: res.executionRequests.get,
389394 )
390395
396+ func V5 * (res: GetPayloadResponse ): GetPayloadV5Response =
397+ GetPayloadV5Response (
398+ executionPayload: res.executionPayload.V3 ,
399+ blockValue: res.blockValue.get,
400+ blobsBundle: res.blobsBundleV2.get (BlobsBundleV2 ()),
401+ shouldOverrideBuilder: res.shouldOverrideBuilder.get (false ),
402+ executionRequests: res.executionRequests.get,
403+ )
404+
391405func getPayloadResponse * (x: ExecutionPayloadV1 ): GetPayloadResponse =
392406 GetPayloadResponse (executionPayload: x.executionPayload)
393407
@@ -402,6 +416,7 @@ func getPayloadResponse*(x: GetPayloadV3Response): GetPayloadResponse =
402416 executionPayload: x.executionPayload.executionPayload,
403417 blockValue: Opt .some (x.blockValue),
404418 blobsBundle: Opt .some (x.blobsBundle),
419+ blobsBundleV2: Opt .none (BlobsBundleV2 ),
405420 shouldOverrideBuilder: Opt .some (x.shouldOverrideBuilder)
406421 )
407422
@@ -413,3 +428,13 @@ func getPayloadResponse*(x: GetPayloadV4Response): GetPayloadResponse =
413428 shouldOverrideBuilder: Opt .some (x.shouldOverrideBuilder),
414429 executionRequests: Opt .some (x.executionRequests),
415430 )
431+
432+ func getPayloadResponse * (x: GetPayloadV5Response ): GetPayloadResponse =
433+ GetPayloadResponse (
434+ executionPayload: x.executionPayload.executionPayload,
435+ blockValue: Opt .some (x.blockValue),
436+ blobsBundle: Opt .none (BlobsBundleV1 ),
437+ blobsBundleV2: Opt .some (x.blobsBundle),
438+ shouldOverrideBuilder: Opt .some (x.shouldOverrideBuilder),
439+ executionRequests: Opt .some (x.executionRequests),
440+ )
0 commit comments