diff --git a/src/main.rs b/src/main.rs index 8a31f6dbe..5b9cb54ad 100644 --- a/src/main.rs +++ b/src/main.rs @@ -26,23 +26,25 @@ fn main() -> eyre::Result<()> { } Cli::::parse().run(|builder, ext| async move { + let default_upstream_rpc_url = builder.config().chain.official_rpc_url(); builder.builder.database.create_tables_for::()?; + let (node, engine_handle_tx) = HlNode::new(ext.block_source_args.parse().await?, ext.hl_node_compliant); let NodeHandle { node, node_exit_future: exit_future } = builder .node(node) .extend_rpc_modules(move |ctx| { - let upstream_rpc_url = ext.upstream_rpc_url; - if let Some(upstream_rpc_url) = upstream_rpc_url { - ctx.modules.replace_configured( - tx_forwarder::EthForwarderExt::new(upstream_rpc_url.clone()).into_rpc(), - )?; + let upstream_rpc_url = + ext.upstream_rpc_url.unwrap_or_else(|| default_upstream_rpc_url.to_owned()); - info!("Transaction forwarding enabled"); - } + ctx.modules.replace_configured( + tx_forwarder::EthForwarderExt::new(upstream_rpc_url.clone()).into_rpc(), + )?; + info!("Transaction will be forwarded to {}", upstream_rpc_url); if ext.hl_node_compliant { install_hl_node_compliance(ctx)?; + info!("hl-node compliant mode enabled"); } Ok(()) diff --git a/src/node/cli.rs b/src/node/cli.rs index 7fd95038d..aeeda5610 100644 --- a/src/node/cli.rs +++ b/src/node/cli.rs @@ -33,6 +33,8 @@ pub struct HlNodeArgs { pub block_source_args: BlockSourceArgs, /// Upstream RPC URL to forward incoming transactions. + /// + /// Default to Hyperliquid's RPC URL when not provided (https://rpc.hyperliquid.xyz/evm). #[arg(long, env = "UPSTREAM_RPC_URL")] pub upstream_rpc_url: Option,