From f8e5b181bb403a491b2390888f126172a7d852f9 Mon Sep 17 00:00:00 2001 From: Matthias Seitz Date: Wed, 4 Sep 2024 23:49:06 +0200 Subject: [PATCH] chore: relax txpool client trait bounds (#10705) --- crates/transaction-pool/src/lib.rs | 12 ++++++------ crates/transaction-pool/src/validate/eth.rs | 8 ++++---- crates/transaction-pool/src/validate/task.rs | 6 +----- 3 files changed, 11 insertions(+), 15 deletions(-) diff --git a/crates/transaction-pool/src/lib.rs b/crates/transaction-pool/src/lib.rs index e6997010b529..edb64c0f1014 100644 --- a/crates/transaction-pool/src/lib.rs +++ b/crates/transaction-pool/src/lib.rs @@ -79,12 +79,12 @@ //! Listen for new transactions and print them: //! //! ``` -//! use reth_chainspec::{MAINNET, ChainSpecProvider}; -//! use reth_storage_api::{BlockReaderIdExt, StateProviderFactory}; +//! use reth_chainspec::MAINNET; +//! use reth_storage_api::StateProviderFactory; //! use reth_tasks::TokioTaskExecutor; //! use reth_transaction_pool::{TransactionValidationTaskExecutor, Pool, TransactionPool}; //! use reth_transaction_pool::blobstore::InMemoryBlobStore; -//! async fn t(client: C) where C: StateProviderFactory + BlockReaderIdExt + ChainSpecProvider + Clone + 'static{ +//! async fn t(client: C) where C: StateProviderFactory + Clone + 'static{ //! let blob_store = InMemoryBlobStore::default(); //! let pool = Pool::eth_pool( //! TransactionValidationTaskExecutor::eth(client, MAINNET.clone(), blob_store.clone(), TokioTaskExecutor::default()), @@ -278,7 +278,7 @@ where impl EthTransactionPool where - Client: StateProviderFactory + reth_storage_api::BlockReaderIdExt + Clone + 'static, + Client: StateProviderFactory + Clone + 'static, S: BlobStore, { /// Returns a new [`Pool`] that uses the default [`TransactionValidationTaskExecutor`] when @@ -288,12 +288,12 @@ where /// /// ``` /// use reth_chainspec::MAINNET; - /// use reth_storage_api::{BlockReaderIdExt, StateProviderFactory}; + /// use reth_storage_api::StateProviderFactory; /// use reth_tasks::TokioTaskExecutor; /// use reth_transaction_pool::{ /// blobstore::InMemoryBlobStore, Pool, TransactionValidationTaskExecutor, /// }; - /// # fn t(client: C) where C: StateProviderFactory + BlockReaderIdExt + Clone + 'static { + /// # fn t(client: C) where C: StateProviderFactory + Clone + 'static { /// let blob_store = InMemoryBlobStore::default(); /// let pool = Pool::eth_pool( /// TransactionValidationTaskExecutor::eth( diff --git a/crates/transaction-pool/src/validate/eth.rs b/crates/transaction-pool/src/validate/eth.rs index 5312d0a36855..baa306f7cf69 100644 --- a/crates/transaction-pool/src/validate/eth.rs +++ b/crates/transaction-pool/src/validate/eth.rs @@ -15,7 +15,7 @@ use reth_primitives::{ EIP1559_TX_TYPE_ID, EIP2930_TX_TYPE_ID, EIP4844_TX_TYPE_ID, EIP7702_TX_TYPE_ID, LEGACY_TX_TYPE_ID, }; -use reth_storage_api::{AccountReader, BlockReaderIdExt, StateProviderFactory}; +use reth_storage_api::{AccountReader, StateProviderFactory}; use reth_tasks::TaskSpawner; use revm::{ interpreter::gas::validate_initial_tx_gas, @@ -48,7 +48,7 @@ impl EthTransactionValidator { impl EthTransactionValidator where - Client: StateProviderFactory + BlockReaderIdExt, + Client: StateProviderFactory, Tx: EthPoolTransaction, { /// Validates a single transaction. @@ -77,7 +77,7 @@ where impl TransactionValidator for EthTransactionValidator where - Client: StateProviderFactory + BlockReaderIdExt, + Client: StateProviderFactory, Tx: EthPoolTransaction, { type Transaction = Tx; @@ -146,7 +146,7 @@ impl EthTransactionValidatorInner { impl EthTransactionValidatorInner where - Client: StateProviderFactory + BlockReaderIdExt, + Client: StateProviderFactory, Tx: EthPoolTransaction, { /// Validates a single transaction. diff --git a/crates/transaction-pool/src/validate/task.rs b/crates/transaction-pool/src/validate/task.rs index df05b0a4469f..8bb592cf6af3 100644 --- a/crates/transaction-pool/src/validate/task.rs +++ b/crates/transaction-pool/src/validate/task.rs @@ -9,7 +9,6 @@ use crate::{ use futures_util::{lock::Mutex, StreamExt}; use reth_chainspec::ChainSpec; use reth_primitives::SealedBlock; -use reth_storage_api::BlockReaderIdExt; use reth_tasks::TaskSpawner; use std::{future::Future, pin::Pin, sync::Arc}; use tokio::{ @@ -111,10 +110,7 @@ impl TransactionValidationTaskExecutor { } } -impl TransactionValidationTaskExecutor> -where - Client: BlockReaderIdExt, -{ +impl TransactionValidationTaskExecutor> { /// Creates a new instance for the given [`ChainSpec`] /// /// This will spawn a single validation tasks that performs the actual validation.