diff --git a/remote/ethbackend.proto b/remote/ethbackend.proto index 8208c12..1f40d86 100644 --- a/remote/ethbackend.proto +++ b/remote/ethbackend.proto @@ -31,6 +31,9 @@ service ETHBACKEND { rpc EngineGetPayloadBodiesByRangeV1(EngineGetPayloadBodiesByRangeV1Request) returns (EngineGetPayloadBodiesV1Response); + // Fetch the blobs bundle using its ID. + rpc EngineGetBlobsBundleV1(EngineGetBlobsBundleRequest) returns (types.BlobsBundleV1); + // End of Engine API requests // ------------------------------------------------------------------------ @@ -93,6 +96,10 @@ message EngineGetPayloadRequest { uint64 payloadId = 1; } +message EngineGetBlobsBundleRequest { + uint64 payloadId = 1; +} + enum EngineStatus { VALID = 0; INVALID = 1; diff --git a/types/types.proto b/types/types.proto index 08e91fb..2c8b80c 100644 --- a/types/types.proto +++ b/types/types.proto @@ -59,7 +59,7 @@ message VersionReply { // Engine API types // See https://github.com/ethereum/execution-apis/blob/main/src/engine/specification.md message ExecutionPayload { - uint32 version = 1; // v1 - no withdrawals, v2 - with withdrawals + uint32 version = 1; // v1 - no withdrawals, v2 - with withdrawals, v3 - with excess data gas H256 parentHash = 2; H160 coinbase = 3; H256 stateRoot = 4; @@ -75,6 +75,7 @@ message ExecutionPayload { H256 blockHash = 14; repeated bytes transactions = 15; repeated Withdrawal withdrawals = 16; + H256 excessDataGas = 17; } message Withdrawal { @@ -83,6 +84,15 @@ message Withdrawal { H160 address = 3; uint64 amount = 4; } + +message BlobsBundleV1 { + H256 blockHash = 1; + // TODO(eip-4844): define a protobuf message for type KZGCommitment + repeated bytes kzgs = 2; + // TODO(eip-4844): define a protobuf message for type Blob + repeated bytes blobs = 3; +} + // End of Engine API types // ------------------------------------------------------------------------