diff --git a/crates/op-rbuilder/Cargo.toml b/crates/op-rbuilder/Cargo.toml index ac239f4bd..37d5855f1 100644 --- a/crates/op-rbuilder/Cargo.toml +++ b/crates/op-rbuilder/Cargo.toml @@ -160,7 +160,7 @@ custom-engine-api = [] [[bin]] name = "op-rbuilder" -path = "src/main.rs" +path = "src/bin/op-rbuilder/main.rs" [[bin]] name = "tester" diff --git a/crates/op-rbuilder/src/bin/op-rbuilder/main.rs b/crates/op-rbuilder/src/bin/op-rbuilder/main.rs new file mode 100644 index 000000000..985b93c4e --- /dev/null +++ b/crates/op-rbuilder/src/bin/op-rbuilder/main.rs @@ -0,0 +1,10 @@ +use op_rbuilder::launcher::launch; + +// Prefer jemalloc for performance reasons. +#[cfg(all(feature = "jemalloc", unix))] +#[global_allocator] +static GLOBAL: tikv_jemallocator::Jemalloc = tikv_jemallocator::Jemalloc; + +fn main() -> eyre::Result<()> { + launch() +} diff --git a/crates/op-rbuilder/src/main.rs b/crates/op-rbuilder/src/launcher.rs similarity index 88% rename from crates/op-rbuilder/src/main.rs rename to crates/op-rbuilder/src/launcher.rs index 194958232..a8904ed81 100644 --- a/crates/op-rbuilder/src/main.rs +++ b/crates/op-rbuilder/src/launcher.rs @@ -1,24 +1,16 @@ -use args::*; -use builders::{BuilderMode, FlashblocksBuilder, StandardBuilder}; use eyre::Result; -/// CLI argument parsing. -pub mod args; -mod builders; -mod metrics; -mod monitor_tx_pool; -mod primitives; -mod revert_protection; -mod traits; -mod tx; -mod tx_signer; - -use builders::{BuilderConfig, PayloadBuilder}; +use crate::{ + args::*, + builders::{BuilderConfig, BuilderMode, FlashblocksBuilder, PayloadBuilder, StandardBuilder}, + metrics::VERSION, + monitor_tx_pool::monitor_tx_pool, + primitives::reth::engine_api_builder::OpEngineApiBuilder, + revert_protection::{EthApiExtServer, EthApiOverrideServer, RevertProtectionExt}, + tx::FBPooledTransaction, +}; use core::fmt::Debug; -use metrics::VERSION; use moka::future::Cache; -use monitor_tx_pool::monitor_tx_pool; -use primitives::reth::engine_api_builder::OpEngineApiBuilder; use reth::builder::{NodeBuilder, WithLaunchContext}; use reth_cli_commands::launcher::Launcher; use reth_db::mdbx::DatabaseEnv; @@ -29,16 +21,9 @@ use reth_optimism_node::{ OpNode, }; use reth_transaction_pool::TransactionPool; -use revert_protection::{EthApiExtServer, EthApiOverrideServer, RevertProtectionExt}; use std::{marker::PhantomData, sync::Arc}; -use tx::FBPooledTransaction; - -// Prefer jemalloc for performance reasons. -#[cfg(all(feature = "jemalloc", unix))] -#[global_allocator] -static GLOBAL: tikv_jemallocator::Jemalloc = tikv_jemallocator::Jemalloc; -fn main() -> Result<()> { +pub fn launch() -> Result<()> { let cli = Cli::parsed(); let mode = cli.builder_mode(); let mut cli_app = cli.configure(); diff --git a/crates/op-rbuilder/src/lib.rs b/crates/op-rbuilder/src/lib.rs index 2abc3a322..421220dac 100644 --- a/crates/op-rbuilder/src/lib.rs +++ b/crates/op-rbuilder/src/lib.rs @@ -6,3 +6,11 @@ pub mod tests; pub mod traits; pub mod tx; + +/// CLI argument parsing. +pub mod args; +mod builders; +pub mod launcher; +mod metrics; +mod monitor_tx_pool; +mod revert_protection;