From c58f6a348cd67dd8e5b647fb7ffa6f1dea84f598 Mon Sep 17 00:00:00 2001 From: Shoham Chakraborty Date: Wed, 18 Feb 2026 12:52:37 +0800 Subject: [PATCH 1/2] use chainrw instead of db --- execution/execution.proto | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/execution/execution.proto b/execution/execution.proto index 4941bb2..19810f6 100644 --- a/execution/execution.proto +++ b/execution/execution.proto @@ -208,6 +208,14 @@ message GetBodiesByRangeRequest { uint64 count = 2; } +message GetBlockAccessListsByHashesRequest { + repeated types.H256 hashes = 1; +} + +message GetBlockAccessListsResponse { + repeated bytes block_access_lists = 1; +} + message ReadyResponse { bool ready = 1; } @@ -240,6 +248,8 @@ service Execution { // Ranges rpc GetBodiesByRange(GetBodiesByRangeRequest) returns(GetBodiesBatchResponse); rpc GetBodiesByHashes(GetBodiesByHashesRequest) returns(GetBodiesBatchResponse); + // Block access lists (EIP-7928) + rpc GetBlockAccessListsByHashes(GetBlockAccessListsByHashesRequest) returns(GetBlockAccessListsResponse); // Chain checkers rpc IsCanonicalHash(types.H256) returns(IsCanonicalResponse); rpc GetHeaderHashNumber(types.H256) returns(GetHeaderHashNumberResponse); From 8c5a1cc4d3f1e3c06aa7c3d37b292bf5e4987dae Mon Sep 17 00:00:00 2001 From: Shoham Chakraborty Date: Thu, 19 Feb 2026 00:45:44 +0800 Subject: [PATCH 2/2] GetPayloadBodiesByHash and GetPayloadBodiesByRange --- execution/execution.proto | 16 +++++++++++----- types/types.proto | 3 ++- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/execution/execution.proto b/execution/execution.proto index 19810f6..dc12cfd 100644 --- a/execution/execution.proto +++ b/execution/execution.proto @@ -208,12 +208,17 @@ message GetBodiesByRangeRequest { uint64 count = 2; } -message GetBlockAccessListsByHashesRequest { +message GetPayloadBodiesByHashRequest { repeated types.H256 hashes = 1; } -message GetBlockAccessListsResponse { - repeated bytes block_access_lists = 1; +message GetPayloadBodiesByRangeRequest { + uint64 start = 1; + uint64 count = 2; +} + +message GetPayloadBodiesBatchResponse { + repeated types.ExecutionPayloadBody bodies = 1; } message ReadyResponse { @@ -248,8 +253,9 @@ service Execution { // Ranges rpc GetBodiesByRange(GetBodiesByRangeRequest) returns(GetBodiesBatchResponse); rpc GetBodiesByHashes(GetBodiesByHashesRequest) returns(GetBodiesBatchResponse); - // Block access lists (EIP-7928) - rpc GetBlockAccessListsByHashes(GetBlockAccessListsByHashesRequest) returns(GetBlockAccessListsResponse); + // Payload bodies with block access lists (EIP-7928) + rpc GetPayloadBodiesByHash(GetPayloadBodiesByHashRequest) returns(GetPayloadBodiesBatchResponse); + rpc GetPayloadBodiesByRange(GetPayloadBodiesByRangeRequest) returns(GetPayloadBodiesBatchResponse); // Chain checkers rpc IsCanonicalHash(types.H256) returns(IsCanonicalResponse); rpc GetHeaderHashNumber(types.H256) returns(GetHeaderHashNumberResponse); diff --git a/types/types.proto b/types/types.proto index 220c141..1bb9c66 100644 --- a/types/types.proto +++ b/types/types.proto @@ -166,9 +166,10 @@ message PeerInfo { bool conn_is_static = 10; } -message ExecutionPayloadBodyV1 { +message ExecutionPayloadBody { repeated bytes transactions = 1; repeated Withdrawal withdrawals = 2; + bytes block_access_list = 3; } message AccountAbstractionTransaction {