From 720cf0db4ad098f5af9234ad9b79a0e1b896d2e1 Mon Sep 17 00:00:00 2001 From: Solar Mithril Date: Mon, 2 Jun 2025 16:44:58 +0500 Subject: [PATCH 1/2] Add replacement for default reth version Move VERSION to different crate --- Cargo.toml | 2 +- crates/op-rbuilder/src/args/mod.rs | 24 +++++++++++++++++++++--- crates/op-rbuilder/src/main.rs | 14 +------------- crates/op-rbuilder/src/metrics.rs | 9 +++++++++ 4 files changed, 32 insertions(+), 17 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index bc4ead88b..2e90e7c61 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -142,7 +142,7 @@ op-alloy-consensus = { version = "0.16.0", default-features = false } op-alloy-flz = { version = "0.13.0", default-features = false } async-trait = { version = "0.1.83" } -clap = { version = "4.4.3", features = ["derive", "env"] } +clap = { version = "4.4.3", features = ["derive", "env", "string"] } clap_builder = { version = "4.5.19" } thiserror = { version = "1.0.64" } eyre = { version = "0.6.12" } diff --git a/crates/op-rbuilder/src/args/mod.rs b/crates/op-rbuilder/src/args/mod.rs index 806a49da5..ccc3d864a 100644 --- a/crates/op-rbuilder/src/args/mod.rs +++ b/crates/op-rbuilder/src/args/mod.rs @@ -1,5 +1,8 @@ -use crate::builders::BuilderMode; -use clap::Parser; +use crate::{ + builders::BuilderMode, + metrics::{CARGO_PKG_VERSION, VERGEN_GIT_SHA} +}; +use clap_builder::{CommandFactory, FromArgMatches}; pub use op::OpRbuilderArgs; use playground::PlaygroundOptions; use reth_optimism_cli::{chainspec::OpChainSpecParser, commands::Commands}; @@ -22,6 +25,10 @@ pub trait CliExt { /// Returns the Cli instance with the parsed command line arguments /// and defaults populated if applicable. fn parsed() -> Self; + + /// Returns the Cli instance with the parsed command line arguments + /// and replaces version, name, author, and about + fn set_version() -> Self; } pub type Cli = reth_optimism_cli::Cli; @@ -58,7 +65,7 @@ impl CliExt for Cli { } fn parsed() -> Self { - Cli::parse().populate_defaults() + Cli::set_version().populate_defaults() } /// Returns the type of builder implementation that the node is started with. @@ -71,6 +78,17 @@ impl CliExt for Cli { } BuilderMode::Standard } + + /// Parses commands and overrides versions + fn set_version() -> Self { + let matches = Cli::command() + .version(format!("{CARGO_PKG_VERSION} ({VERGEN_GIT_SHA})")) + .about("Block builder designed for the Optimism stack") + .author("Flashbots") + .name("op-rbuilder") + .get_matches(); + Cli::from_arg_matches(&matches).expect("Parsing args") + } } /// Following clap's convention, a failure to parse the command line arguments diff --git a/crates/op-rbuilder/src/main.rs b/crates/op-rbuilder/src/main.rs index f150bd880..969c08717 100644 --- a/crates/op-rbuilder/src/main.rs +++ b/crates/op-rbuilder/src/main.rs @@ -18,10 +18,7 @@ mod traits; mod tx; mod tx_signer; -use metrics::{ - VersionInfo, BUILD_PROFILE_NAME, CARGO_PKG_VERSION, VERGEN_BUILD_TIMESTAMP, - VERGEN_CARGO_FEATURES, VERGEN_CARGO_TARGET_TRIPLE, VERGEN_GIT_SHA, -}; +use metrics::VERSION; use moka::future::Cache; use monitor_tx_pool::monitor_tx_pool; use revert_protection::{EthApiExtServer, EthApiOverrideServer, RevertProtectionExt}; @@ -32,15 +29,6 @@ use tx::FBPooledTransaction; #[global_allocator] static GLOBAL: tikv_jemallocator::Jemalloc = tikv_jemallocator::Jemalloc; -const VERSION: VersionInfo = VersionInfo { - version: CARGO_PKG_VERSION, - build_timestamp: VERGEN_BUILD_TIMESTAMP, - cargo_features: VERGEN_CARGO_FEATURES, - git_sha: VERGEN_GIT_SHA, - target_triple: VERGEN_CARGO_TARGET_TRIPLE, - build_profile: BUILD_PROFILE_NAME, -}; - fn main() { let cli = Cli::parsed(); cli.logs diff --git a/crates/op-rbuilder/src/metrics.rs b/crates/op-rbuilder/src/metrics.rs index 06d1297f1..a0eb06f6c 100644 --- a/crates/op-rbuilder/src/metrics.rs +++ b/crates/op-rbuilder/src/metrics.rs @@ -21,6 +21,15 @@ pub const VERGEN_CARGO_FEATURES: &str = env!("VERGEN_CARGO_FEATURES"); /// The build profile name. pub const BUILD_PROFILE_NAME: &str = env!("OP_RBUILDER_BUILD_PROFILE"); +pub const VERSION: VersionInfo = VersionInfo { + version: CARGO_PKG_VERSION, + build_timestamp: VERGEN_BUILD_TIMESTAMP, + cargo_features: VERGEN_CARGO_FEATURES, + git_sha: VERGEN_GIT_SHA, + target_triple: VERGEN_CARGO_TARGET_TRIPLE, + build_profile: BUILD_PROFILE_NAME, +}; + /// op-rbuilder metrics #[derive(Metrics, Clone)] #[metrics(scope = "op_rbuilder")] From ee9651621a71dbf985555e45621293c2bfdae177 Mon Sep 17 00:00:00 2001 From: Solar Mithril Date: Mon, 2 Jun 2025 20:14:52 +0500 Subject: [PATCH 2/2] fmt --- crates/op-rbuilder/src/args/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/op-rbuilder/src/args/mod.rs b/crates/op-rbuilder/src/args/mod.rs index ccc3d864a..20f716f97 100644 --- a/crates/op-rbuilder/src/args/mod.rs +++ b/crates/op-rbuilder/src/args/mod.rs @@ -1,6 +1,6 @@ use crate::{ builders::BuilderMode, - metrics::{CARGO_PKG_VERSION, VERGEN_GIT_SHA} + metrics::{CARGO_PKG_VERSION, VERGEN_GIT_SHA}, }; use clap_builder::{CommandFactory, FromArgMatches}; pub use op::OpRbuilderArgs;