diff --git a/crates/transaction-pool/src/validate/task.rs b/crates/transaction-pool/src/validate/task.rs index 4cd203d04..0c97a9d0d 100644 --- a/crates/transaction-pool/src/validate/task.rs +++ b/crates/transaction-pool/src/validate/task.rs @@ -159,15 +159,17 @@ where let hash = *transaction.hash(); let (tx, rx) = oneshot::channel(); { - let to_validation_task = self.to_validation_task.clone(); - let to_validation_task = to_validation_task.lock().await; - let validator = self.validator.clone(); - let res = to_validation_task - .send(Box::pin(async move { - let res = validator.validate_transaction(origin, transaction).await; - let _ = tx.send(res); - })) - .await; + let res = { + let to_validation_task = self.to_validation_task.clone(); + let to_validation_task = to_validation_task.lock().await; + let validator = self.validator.clone(); + to_validation_task + .send(Box::pin(async move { + let res = validator.validate_transaction(origin, transaction).await; + let _ = tx.send(res); + })) + .await + }; if res.is_err() { return TransactionValidationOutcome::Error( hash,