diff --git a/crates/primitives/src/transaction/pooled.rs b/crates/primitives/src/transaction/pooled.rs index 2bd344ea2a17..6f2a72700866 100644 --- a/crates/primitives/src/transaction/pooled.rs +++ b/crates/primitives/src/transaction/pooled.rs @@ -739,6 +739,24 @@ impl TryFrom for PooledTransactionsElementEcRecove } } +impl Encodable2718 for PooledTransactionsElementEcRecovered { + fn type_flag(&self) -> Option { + self.transaction.type_flag() + } + + fn encode_2718_len(&self) -> usize { + self.transaction.encode_2718_len() + } + + fn encode_2718(&self, out: &mut dyn alloy_rlp::BufMut) { + self.transaction.encode_2718(out) + } + + fn trie_hash(&self) -> B256 { + self.transaction.trie_hash() + } +} + #[cfg(test)] mod tests { use super::*; diff --git a/crates/transaction-pool/src/traits.rs b/crates/transaction-pool/src/traits.rs index 27272799cdb9..102e137591ea 100644 --- a/crates/transaction-pool/src/traits.rs +++ b/crates/transaction-pool/src/traits.rs @@ -947,7 +947,7 @@ pub trait PoolTransaction: fmt::Debug + Send + Sync + Clone { type Consensus: From + TryInto; /// Associated type representing the recovered pooled variant of the transaction. - type Pooled: Into; + type Pooled: Encodable2718 + Into; /// Define a method to convert from the `Consensus` type to `Self` fn try_from_consensus(tx: Self::Consensus) -> Result {