Skip to content

Commit 9c750c0

Browse files
committed
fix: EthTransactionValidatorBuilder accepts custom local_transactions_config
1 parent 6b15eb3 commit 9c750c0

File tree

9 files changed

+18
-21
lines changed

9 files changed

+18
-21
lines changed

crates/ethereum/node/src/node.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -405,7 +405,7 @@ where
405405
let blob_store =
406406
reth_node_builder::components::create_blob_store_with_cache(ctx, blob_cache_size)?;
407407

408-
let validator = TransactionValidationTaskExecutor::eth_builder(ctx.provider().clone())
408+
let validator = TransactionValidationTaskExecutor::eth_builder(ctx.provider().clone(), Some(pool_config.local_transactions_config.clone()))
409409
.with_head_timestamp(ctx.head().timestamp)
410410
.with_max_tx_input_bytes(ctx.config().txpool.max_tx_input_bytes)
411411
.kzg_settings(ctx.kzg_settings()?)

crates/optimism/node/src/node.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -800,7 +800,7 @@ where
800800
.await;
801801

802802
let blob_store = reth_node_builder::components::create_blob_store(ctx)?;
803-
let validator = TransactionValidationTaskExecutor::eth_builder(ctx.provider().clone())
803+
let validator = TransactionValidationTaskExecutor::eth_builder(ctx.provider().clone(), None)
804804
.no_eip4844()
805805
.with_head_timestamp(ctx.head().timestamp)
806806
.with_max_tx_input_bytes(ctx.config().txpool.max_tx_input_bytes)

crates/optimism/txpool/src/transaction.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ mod tests {
325325
#[tokio::test]
326326
async fn validate_optimism_transaction() {
327327
let client = MockEthProvider::default().with_chain_spec(OP_MAINNET.clone());
328-
let validator = EthTransactionValidatorBuilder::new(client)
328+
let validator = EthTransactionValidatorBuilder::new(client, None)
329329
.no_shanghai()
330330
.no_cancun()
331331
.build(InMemoryBlobStore::default());

crates/scroll/node/src/builder/pool.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ where
6161
let data_dir = ctx.config().datadir();
6262
let blob_store = DiskFileBlobStore::open(data_dir.blobstore(), Default::default())?;
6363

64-
let validator = TransactionValidationTaskExecutor::eth_builder(ctx.provider().clone())
64+
let validator = TransactionValidationTaskExecutor::eth_builder(ctx.provider().clone(), Some(pool_config_overrides.clone().apply(ctx.pool_config()).local_transactions_config))
6565
.no_eip4844()
6666
.with_head_timestamp(ctx.head().timestamp)
6767
.kzg_settings(ctx.kzg_settings()?)

crates/scroll/txpool/src/transaction.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ mod tests {
226226
#[test]
227227
fn validate_scroll_transaction() {
228228
let client = MockEthProvider::default().with_chain_spec(SCROLL_MAINNET.clone());
229-
let validator = EthTransactionValidatorBuilder::new(client)
229+
let validator = EthTransactionValidatorBuilder::new(client, None)
230230
.no_shanghai()
231231
.no_cancun()
232232
.build(InMemoryBlobStore::default());

crates/transaction-pool/src/maintain.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -776,7 +776,7 @@ mod tests {
776776
let sender = hex!("1f9090aaE28b8a3dCeaDf281B0F12828e676c326").into();
777777
provider.add_account(sender, ExtendedAccount::new(42, U256::MAX));
778778
let blob_store = InMemoryBlobStore::default();
779-
let validator = EthTransactionValidatorBuilder::new(provider).build(blob_store.clone());
779+
let validator = EthTransactionValidatorBuilder::new(provider, None).build(blob_store.clone());
780780

781781
let txpool = Pool::new(
782782
validator.clone(),

crates/transaction-pool/src/validate/eth.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -785,14 +785,14 @@ impl<Client> EthTransactionValidatorBuilder<Client> {
785785
/// - EIP-1559
786786
/// - EIP-4844
787787
/// - EIP-7702
788-
pub fn new(client: Client) -> Self {
788+
pub fn new(client: Client, local_transactions_config: Option<LocalTransactionConfig>) -> Self {
789789
Self {
790790
block_gas_limit: ETHEREUM_BLOCK_GAS_LIMIT_30M.into(),
791791
client,
792792
minimum_priority_fee: None,
793793
additional_tasks: 1,
794794
kzg_settings: EnvKzgSettings::Default,
795-
local_transactions_config: Default::default(),
795+
local_transactions_config: local_transactions_config.unwrap_or_default(),
796796
max_tx_input_bytes: DEFAULT_MAX_TX_INPUT_BYTES,
797797
tx_fee_cap: Some(1e18 as u128),
798798
// by default all transaction types are allowed
@@ -1201,7 +1201,7 @@ mod tests {
12011201
ExtendedAccount::new(transaction.nonce(), U256::MAX),
12021202
);
12031203
let blob_store = InMemoryBlobStore::default();
1204-
let validator = EthTransactionValidatorBuilder::new(provider).build(blob_store.clone());
1204+
let validator = EthTransactionValidatorBuilder::new(provider, None).build(blob_store.clone());
12051205

12061206
let outcome = validator.validate_one(TransactionOrigin::External, transaction.clone());
12071207

@@ -1228,7 +1228,7 @@ mod tests {
12281228
);
12291229

12301230
let blob_store = InMemoryBlobStore::default();
1231-
let validator = EthTransactionValidatorBuilder::new(provider)
1231+
let validator = EthTransactionValidatorBuilder::new(provider, None)
12321232
.set_block_gas_limit(1_000_000) // tx gas limit is 1_015_288
12331233
.build(blob_store.clone());
12341234

@@ -1261,7 +1261,7 @@ mod tests {
12611261
);
12621262

12631263
let blob_store = InMemoryBlobStore::default();
1264-
let validator = EthTransactionValidatorBuilder::new(provider)
1264+
let validator = EthTransactionValidatorBuilder::new(provider, None)
12651265
.set_tx_fee_cap(100) // 100 wei cap
12661266
.build(blob_store.clone());
12671267

@@ -1298,7 +1298,7 @@ mod tests {
12981298
);
12991299

13001300
let blob_store = InMemoryBlobStore::default();
1301-
let validator = EthTransactionValidatorBuilder::new(provider)
1301+
let validator = EthTransactionValidatorBuilder::new(provider, None)
13021302
.set_tx_fee_cap(0) // no cap
13031303
.build(blob_store);
13041304

@@ -1316,7 +1316,7 @@ mod tests {
13161316
);
13171317

13181318
let blob_store = InMemoryBlobStore::default();
1319-
let validator = EthTransactionValidatorBuilder::new(provider)
1319+
let validator = EthTransactionValidatorBuilder::new(provider, None)
13201320
.set_tx_fee_cap(2e18 as u128) // 2 ETH cap
13211321
.build(blob_store);
13221322

crates/transaction-pool/src/validate/task.rs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
//! A validation service for transactions.
22
33
use crate::{
4-
blobstore::BlobStore,
5-
validate::{EthTransactionValidatorBuilder, TransactionValidatorError},
6-
EthTransactionValidator, PoolTransaction, TransactionOrigin, TransactionValidationOutcome,
7-
TransactionValidator,
4+
blobstore::BlobStore, validate::{EthTransactionValidatorBuilder, TransactionValidatorError}, EthTransactionValidator, LocalTransactionConfig, PoolTransaction, TransactionOrigin, TransactionValidationOutcome, TransactionValidator
85
};
96
use futures_util::{lock::Mutex, StreamExt};
107
use reth_primitives_traits::{Block, SealedBlock};
@@ -90,8 +87,8 @@ pub struct TransactionValidationTaskExecutor<V> {
9087

9188
impl TransactionValidationTaskExecutor<()> {
9289
/// Convenience method to create a [`EthTransactionValidatorBuilder`]
93-
pub fn eth_builder<Client>(client: Client) -> EthTransactionValidatorBuilder<Client> {
94-
EthTransactionValidatorBuilder::new(client)
90+
pub fn eth_builder<Client>(client: Client, local_transactions_config: Option<LocalTransactionConfig>) -> EthTransactionValidatorBuilder<Client> {
91+
EthTransactionValidatorBuilder::new(client, local_transactions_config)
9592
}
9693
}
9794

@@ -138,7 +135,7 @@ impl<Client, Tx> TransactionValidationTaskExecutor<EthTransactionValidator<Clien
138135
where
139136
T: TaskSpawner,
140137
{
141-
EthTransactionValidatorBuilder::new(client)
138+
EthTransactionValidatorBuilder::new(client, None)
142139
.with_additional_tasks(num_additional_tasks)
143140
.build_with_tasks::<Tx, T, S>(tasks, blob_store)
144141
}

examples/custom-node-components/src/main.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ where
5858
async fn build_pool(self, ctx: &BuilderContext<Node>) -> eyre::Result<Self::Pool> {
5959
let data_dir = ctx.config().datadir();
6060
let blob_store = InMemoryBlobStore::default();
61-
let validator = TransactionValidationTaskExecutor::eth_builder(ctx.provider().clone())
61+
let validator = TransactionValidationTaskExecutor::eth_builder(ctx.provider().clone(), None)
6262
.with_head_timestamp(ctx.head().timestamp)
6363
.kzg_settings(ctx.kzg_settings()?)
6464
.with_additional_tasks(ctx.config().txpool.additional_validation_tasks)

0 commit comments

Comments
 (0)