MCPcopy Create free account
hub / github.com/base/base / build_pool

Method build_pool

crates/execution/node/src/node.rs:922–966  ·  view source on GitHub ↗
(
        self,
        ctx: &BuilderContext<Node>,
        evm_config: Evm,
    )

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 5

cloneMethod · 0.45
providerMethod · 0.45
configMethod · 0.45
applyMethod · 0.45

Tested by

no test coverage detected