(
self,
ctx: &BuilderContext<Node>,
evm_config: Evm,
)
| 920 | type Pool = BaseTransactionPool<Node::Provider, DiskFileBlobStore, Evm, T, BaseOrdering<T>>; |
| 921 | |
| 922 | async fn build_pool( |
| 923 | self, |
| 924 | ctx: &BuilderContext<Node>, |
| 925 | evm_config: Evm, |
| 926 | ) -> eyre::Result<Self::Pool> { |
| 927 | let Self { pool_config_overrides, ordering, max_inflight_delegated_slots, .. } = self; |
| 928 | |
| 929 | let blob_store = reth_node_builder::components::create_blob_store(ctx)?; |
| 930 | let validator = |
| 931 | TransactionValidationTaskExecutor::eth_builder(ctx.provider().clone(), evm_config) |
| 932 | .no_eip4844() |
| 933 | .with_max_tx_input_bytes(ctx.config().txpool.max_tx_input_bytes) |
| 934 | .kzg_settings(ctx.kzg_settings()?) |
| 935 | .set_tx_fee_cap(ctx.config().rpc.rpc_tx_fee_cap) |
| 936 | .with_max_tx_gas_limit(ctx.config().txpool.max_tx_gas_limit) |
| 937 | .with_minimum_priority_fee(ctx.config().txpool.minimum_priority_fee) |
| 938 | .with_additional_tasks( |
| 939 | pool_config_overrides |
| 940 | .additional_validation_tasks |
| 941 | .unwrap_or_else(|| ctx.config().txpool.additional_validation_tasks), |
| 942 | ) |
| 943 | .build_with_tasks(ctx.task_executor().clone(), blob_store.clone()) |
| 944 | .map(|validator| { |
| 945 | BaseTransactionValidator::new(validator) |
| 946 | // In --dev mode we can't require gas fees because we're unable to decode |
| 947 | // the L1 block info |
| 948 | .require_l1_data_gas_fee(!ctx.config().dev.dev) |
| 949 | }); |
| 950 | |
| 951 | let mut final_pool_config = pool_config_overrides.apply(ctx.pool_config()); |
| 952 | final_pool_config.max_inflight_delegated_slot_limit = max_inflight_delegated_slots; |
| 953 | |
| 954 | let transaction_pool = TxPoolBuilder::new(ctx) |
| 955 | .with_validator(validator) |
| 956 | .build_with_ordering_and_spawn_maintenance_task( |
| 957 | ordering.clone(), |
| 958 | blob_store, |
| 959 | final_pool_config, |
| 960 | )?; |
| 961 | |
| 962 | info!(target: "reth::cli", max_inflight_delegated_slots, "Transaction pool initialized"); |
| 963 | debug!(target: "reth::cli", "Spawned txpool maintenance task"); |
| 964 | |
| 965 | Ok(BaseTransactionPool::new(transaction_pool, ordering)) |
| 966 | } |
| 967 | } |
| 968 | |
| 969 | /// A basic Base payload service builder |
nothing calls this directly
no test coverage detected