diff --git a/crates/primitives-traits/src/lib.rs b/crates/primitives-traits/src/lib.rs index 02f1664d79..3316e71354 100644 --- a/crates/primitives-traits/src/lib.rs +++ b/crates/primitives-traits/src/lib.rs @@ -25,7 +25,10 @@ pub mod receipt; pub use receipt::Receipt; pub mod transaction; -pub use transaction::{signed::SignedTransaction, FullTransaction, Transaction}; +pub use transaction::{ + signed::{FullSignedTx, SignedTransaction}, + FullTransaction, Transaction, +}; mod integer_list; pub use integer_list::{IntegerList, IntegerListError}; diff --git a/crates/primitives-traits/src/transaction/signed.rs b/crates/primitives-traits/src/transaction/signed.rs index 4c12437212..555cc3851f 100644 --- a/crates/primitives-traits/src/transaction/signed.rs +++ b/crates/primitives-traits/src/transaction/signed.rs @@ -2,12 +2,18 @@ use alloc::fmt; use core::hash::Hash; +use reth_codecs::Compact; use alloy_consensus::Transaction; use alloy_eips::eip2718::{Decodable2718, Encodable2718}; use alloy_primitives::{keccak256, Address, Signature, TxHash, B256}; use revm_primitives::TxEnv; +/// Helper trait that unifies all behaviour required by block to support full node operations. +pub trait FullSignedTx: SignedTransaction + Compact {} + +impl FullSignedTx for T where T: SignedTransaction + Compact {} + /// A signed transaction. pub trait SignedTransaction: fmt::Debug