From b399e5d55232b5bd3a88fc8da9f3681d62519919 Mon Sep 17 00:00:00 2001 From: Dan Cline <6798349+Rjected@users.noreply.github.com> Date: Tue, 17 Oct 2023 11:52:43 -0400 Subject: [PATCH] chore(txpool): use Vec in validate_all (#5044) --- crates/transaction-pool/src/lib.rs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/crates/transaction-pool/src/lib.rs b/crates/transaction-pool/src/lib.rs index 34cf44b25..88fe82ead 100644 --- a/crates/transaction-pool/src/lib.rs +++ b/crates/transaction-pool/src/lib.rs @@ -148,10 +148,7 @@ use crate::pool::PoolInner; use aquamarine as _; use reth_primitives::{Address, BlobTransactionSidecar, PooledTransactionsElement, TxHash, U256}; use reth_provider::StateProviderFactory; -use std::{ - collections::{HashMap, HashSet}, - sync::Arc, -}; +use std::{collections::HashSet, sync::Arc}; use tokio::sync::mpsc::Receiver; use tracing::{instrument, trace}; @@ -230,19 +227,21 @@ where } /// Returns future that validates all transaction in the given iterator. + /// + /// This returns the validated transactions in the iterator's order. async fn validate_all( &self, origin: TransactionOrigin, transactions: impl IntoIterator, - ) -> PoolResult>> { - let outcome = futures_util::future::join_all( + ) -> PoolResult)>> { + let outcomes = futures_util::future::join_all( transactions.into_iter().map(|tx| self.validate(origin, tx)), ) .await .into_iter() - .collect::>(); + .collect(); - Ok(outcome) + Ok(outcomes) } /// Validates the given transaction @@ -348,7 +347,8 @@ where ) -> PoolResult>> { let validated = self.validate_all(origin, transactions).await?; - let transactions = self.pool.add_transactions(origin, validated.into_values()); + let transactions = + self.pool.add_transactions(origin, validated.into_iter().map(|(_, tx)| tx)); Ok(transactions) }