Skip to content

Commit db58cc2

Browse files
authored
OPify engine_getPayloadV4 (#10328)
1 parent 955b9c3 commit db58cc2

File tree

4 files changed

+19
-4
lines changed

4 files changed

+19
-4
lines changed

src/Nethermind/Nethermind.Optimism/Rpc/IOptimismEngineRpcModule.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ Task<ResultWrapper<PayloadStatusV1>> engine_newPayloadV3(ExecutionPayloadV3 exec
8181
Description = "Returns the most recent version of an execution payload and fees with respect to the transaction set contained by the mempool.",
8282
IsSharable = true,
8383
IsImplemented = true)]
84-
public Task<ResultWrapper<GetPayloadV4Result?>> engine_getPayloadV4(byte[] payloadId);
84+
public Task<ResultWrapper<OptimismGetPayloadV4Result?>> engine_getPayloadV4(byte[] payloadId);
8585

8686
[JsonRpcMethod(
8787
Description = "Signals which protocol version is recommended and required.",

src/Nethermind/Nethermind.Optimism/Rpc/OptimismEngineRpcModule.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,10 @@ public Task<ResultWrapper<PayloadStatusV1>> engine_newPayloadV4(OptimismExecutio
7070
return _engineRpcModule.engine_newPayloadV4(executionPayload, blobVersionedHashes, parentBeaconBlockRoot, executionRequests);
7171
}
7272

73-
public Task<ResultWrapper<GetPayloadV4Result?>> engine_getPayloadV4(byte[] payloadId)
73+
public async Task<ResultWrapper<OptimismGetPayloadV4Result?>> engine_getPayloadV4(byte[] payloadId)
7474
{
75-
return _engineRpcModule.engine_getPayloadV4(payloadId);
75+
ResultWrapper<GetPayloadV4Result?> result = await _engineRpcModule.engine_getPayloadV4(payloadId);
76+
return ResultWrapper<OptimismGetPayloadV4Result?>.From(result, result.Data is null ? null : new OptimismGetPayloadV4Result(result.Data));
7677
}
7778

7879
public ResultWrapper<OptimismSignalSuperchainV1Result> engine_signalSuperchainV1(OptimismSuperchainSignal signal)

src/Nethermind/Nethermind.Optimism/Rpc/OptimismGetPayloadV3Result.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ namespace Nethermind.Optimism.Rpc;
99

1010
public class OptimismGetPayloadV3Result
1111
{
12-
public OptimismGetPayloadV3Result(GetPayloadV3Result result)
12+
public OptimismGetPayloadV3Result(GetPayloadV3Result<ExecutionPayloadV3> result)
1313
{
1414
ExecutionPayload = result.ExecutionPayload;
1515
BlockValue = result.BlockValue;
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// SPDX-FileCopyrightText: 2024 Demerzel Solutions Limited
2+
// SPDX-License-Identifier: LGPL-3.0-only
3+
4+
using Nethermind.Merge.Plugin.Data;
5+
6+
namespace Nethermind.Optimism.Rpc;
7+
8+
public class OptimismGetPayloadV4Result(GetPayloadV4Result result) : OptimismGetPayloadV3Result(result)
9+
{
10+
public byte[][]? ExecutionRequests { get; } = result.ExecutionRequests;
11+
12+
public override string ToString() =>
13+
$"{{ExecutionPayload: {ExecutionPayload}, Fees: {BlockValue}, BlobsBundle blobs count: {BlobsBundle.Blobs.Length}, ShouldOverrideBuilder {ShouldOverrideBuilder}, ExecutionRequests count : {ExecutionRequests?.Length}}}";
14+
}

0 commit comments

Comments
 (0)