Skip to main content

tempo_primitives/reth_compat/
mod.rs

1//! Reth-specific trait implementations for Tempo primitives.
2//!
3//! This module consolidates all `reth`/`reth-codec`/`serde-bincode-compat` trait
4//! implementations so they can be cleanly removed when publishing crates
5//! without reth dependencies.
6
7use alloy_primitives::Log;
8use reth_ethereum_primitives::EthereumReceipt;
9use reth_primitives_traits::NodePrimitives;
10
11use crate::{Block, BlockBody, TempoHeader, TempoPrimitives, TempoTxEnvelope, TempoTxType};
12
13/// Tempo receipt.
14///
15/// Re-export from `reth_ethereum_primitives` so that the rest of the workspace crates see a single
16/// type that satisfies both alloy trait bounds and reth trait bounds.
17///
18/// Shadows the alloy-only alias in `lib.rs` when the `reth` feature is active.
19pub type TempoReceipt<L = Log> = EthereumReceipt<TempoTxType, L>;
20
21impl NodePrimitives for TempoPrimitives {
22    type Block = Block;
23    type BlockHeader = TempoHeader;
24    type BlockBody = BlockBody;
25    type SignedTx = TempoTxEnvelope;
26    type Receipt = TempoReceipt;
27}
28
29mod ed25519;
30
31mod header;
32
33mod subblock;
34
35pub(crate) mod transaction;