reth_engine_tree/tree/
types.rs1use crate::tree::error::InsertPayloadError;
4use reth_chain_state::{ExecutedBlock, ExecutionTimingStats};
5use reth_primitives_traits::{BlockTy, NodePrimitives};
6
7pub type ValidationOutcome<N, E = InsertPayloadError<BlockTy<N>>> = Result<ValidationOutput<N>, E>;
9
10pub(crate) type InsertPayloadResult<N> =
12 Result<ValidationOutput<N>, InsertPayloadError<<N as NodePrimitives>::Block>>;
13
14#[derive(Clone, Debug)]
16pub struct ValidationOutput<N: NodePrimitives> {
17 pub executed_block: ExecutedBlock<N>,
19 pub execution_timing_stats: Option<Box<ExecutionTimingStats>>,
21}
22
23impl<N: NodePrimitives> ValidationOutput<N> {
24 pub const fn new(
26 executed_block: ExecutedBlock<N>,
27 execution_timing_stats: Option<Box<ExecutionTimingStats>>,
28 ) -> Self {
29 Self { executed_block, execution_timing_stats }
30 }
31}