reth_execution_types/
execute.rsuse alloy_eips::eip7685::Requests;
use alloy_primitives::U256;
use revm::db::BundleState;
#[derive(Debug)]
pub struct BlockExecutionInput<'a, Block> {
pub block: &'a Block,
pub total_difficulty: U256,
}
impl<'a, Block> BlockExecutionInput<'a, Block> {
pub const fn new(block: &'a Block, total_difficulty: U256) -> Self {
Self { block, total_difficulty }
}
}
impl<'a, Block> From<(&'a Block, U256)> for BlockExecutionInput<'a, Block> {
fn from((block, total_difficulty): (&'a Block, U256)) -> Self {
Self::new(block, total_difficulty)
}
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct BlockExecutionOutput<T> {
pub state: BundleState,
pub receipts: Vec<T>,
pub requests: Requests,
pub gas_used: u64,
}