diff --git a/crates/transaction-pool/src/traits.rs b/crates/transaction-pool/src/traits.rs index 5f6b0a5cf6..f70e74f783 100644 --- a/crates/transaction-pool/src/traits.rs +++ b/crates/transaction-pool/src/traits.rs @@ -746,6 +746,18 @@ impl Default for AllPoolTransactions { } } +impl IntoIterator for AllPoolTransactions { + type Item = Arc>; + type IntoIter = std::iter::Chain< + std::vec::IntoIter>>, + std::vec::IntoIter>>, + >; + + fn into_iter(self) -> Self::IntoIter { + self.pending.into_iter().chain(self.queued) + } +} + /// Represents transactions that were propagated over the network. #[derive(Debug, Clone, Eq, PartialEq, Default)] pub struct PropagatedTransactions(pub HashMap>);