reth_primitives_traits/transaction/
mod.rs

1//! Transaction abstraction
2
3pub mod execute;
4pub mod signature;
5pub mod signed;
6
7pub mod error;
8
9use crate::{InMemorySize, MaybeCompact, MaybeSerde};
10use core::{fmt, hash::Hash};
11
12/// Helper trait that unifies all behaviour required by transaction to support full node operations.
13pub trait FullTransaction: Transaction + MaybeCompact {}
14
15impl<T> FullTransaction for T where T: Transaction + MaybeCompact {}
16
17/// Abstraction of a transaction.
18pub trait Transaction:
19    Send
20    + Sync
21    + Unpin
22    + Clone
23    + fmt::Debug
24    + Eq
25    + PartialEq
26    + Hash
27    + alloy_consensus::Transaction
28    + InMemorySize
29    + MaybeSerde
30{
31}
32
33impl<T> Transaction for T where
34    T: Send
35        + Sync
36        + Unpin
37        + Clone
38        + fmt::Debug
39        + Eq
40        + PartialEq
41        + Hash
42        + alloy_consensus::Transaction
43        + InMemorySize
44        + MaybeSerde
45{
46}