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}