diff --git a/core/src/banking_stage.rs b/core/src/banking_stage.rs index 7976d09e2e..f52b31455d 100644 --- a/core/src/banking_stage.rs +++ b/core/src/banking_stage.rs @@ -1016,16 +1016,12 @@ impl BankingStage { valid_txs: &[TransactionCheckResult], transaction_indexes: &[usize], ) -> Vec { - let valid_transactions = valid_txs + valid_txs .iter() .enumerate() .filter_map(|(index, (x, _h))| if x.is_ok() { Some(index) } else { None }) - .collect_vec(); - - valid_transactions - .iter() - .map(|x| transaction_indexes[*x]) - .collect() + .map(|x| transaction_indexes[x]) + .collect_vec() } /// Read the transaction message from packet data diff --git a/runtime/src/bank.rs b/runtime/src/bank.rs index c59353fea2..7e01ceb8bc 100644 --- a/runtime/src/bank.rs +++ b/runtime/src/bank.rs @@ -2894,7 +2894,7 @@ impl Bank { fn check_age<'a>( &self, txs: impl Iterator, - lock_results: Vec>, + lock_results: &[Result<()>], max_age: usize, error_counters: &mut ErrorCounters, ) -> Vec { @@ -2916,7 +2916,7 @@ impl Bank { (Err(TransactionError::BlockhashNotFound), None) } } - Err(e) => (Err(e), None), + Err(e) => (Err(e.clone()), None), }) .collect() } @@ -3018,7 +3018,7 @@ impl Bank { ) -> Vec { let age_results = self.check_age( sanitized_txs.iter(), - lock_results.to_vec(), + lock_results, max_age, &mut error_counters, );