feat(payload): add transaction_count to ExecutionPayload trait (#20534)

This commit is contained in:
Merkel Tranjes
2025-12-22 10:07:31 +01:00
committed by GitHub
parent 62abfdaeb5
commit 3b8acd4b07
2 changed files with 15 additions and 0 deletions

View File

@@ -55,6 +55,9 @@ pub trait ExecutionPayload:
/// Returns the total gas consumed by all transactions in this block.
fn gas_used(&self) -> u64;
/// Returns the number of transactions in the payload.
fn transaction_count(&self) -> usize;
}
impl ExecutionPayload for ExecutionData {
@@ -89,6 +92,10 @@ impl ExecutionPayload for ExecutionData {
fn gas_used(&self) -> u64 {
self.payload.as_v1().gas_used
}
fn transaction_count(&self) -> usize {
self.payload.as_v1().transactions.len()
}
}
/// A unified type for handling both execution payloads and payload attributes.
@@ -196,6 +203,10 @@ impl ExecutionPayload for op_alloy_rpc_types_engine::OpExecutionData {
fn gas_used(&self) -> u64 {
self.payload.as_v1().gas_used
}
fn transaction_count(&self) -> usize {
self.payload.as_v1().transactions.len()
}
}
/// Extended functionality for Ethereum execution payloads

View File

@@ -70,6 +70,10 @@ impl ExecutionPayload for CustomExecutionData {
fn gas_used(&self) -> u64 {
self.inner.gas_used()
}
fn transaction_count(&self) -> usize {
self.inner.payload.as_v1().transactions.len()
}
}
impl TryFrom<&reth_optimism_flashblocks::FlashBlockCompleteSequence> for CustomExecutionData {