Skip to content

Commit

Permalink
refactor(starknet_integration_tests): create load_and_validate_config…
Browse files Browse the repository at this point in the history
… function

commit-id:7c11e54a
  • Loading branch information
nadin-Starkware committed Feb 9, 2025
1 parent 2198833 commit 5fbb9bc
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 18 deletions.
21 changes: 3 additions & 18 deletions crates/starknet_sequencer_node/src/main.rs
Original file line number Diff line number Diff line change
@@ -1,12 +1,8 @@
use std::env::args;
use std::process::exit;

use papyrus_config::validators::config_validate;
use papyrus_config::ConfigError;
use starknet_infra_utils::set_global_allocator;
use starknet_sequencer_infra::trace_util::configure_tracing;
use starknet_sequencer_node::config::node_config::SequencerNodeConfig;
use starknet_sequencer_node::servers::run_component_servers;
use starknet_sequencer_node::{servers::run_component_servers, utils::load_and_validate_config};
use starknet_sequencer_node::utils::create_node_modules;
use tracing::{error, info};

Expand All @@ -16,19 +12,8 @@ set_global_allocator!();
async fn main() -> anyhow::Result<()> {
configure_tracing().await;

let config = SequencerNodeConfig::load_and_process(args().collect());
if let Err(ConfigError::CommandInput(clap_err)) = config {
error!("Failed loading configuration: {}", clap_err);
clap_err.exit();
}
info!("Finished loading configuration.");

let config = config?;
if let Err(error) = config_validate(&config) {
error!("{}", error);
exit(1);
}
info!("Finished validating configuration.");
let config =
load_and_validate_config(args().collect()).expect("Failed to load and validate config");

// Clients are currently unused, but should not be dropped.
let (_clients, servers) = create_node_modules(&config).await;
Expand Down
24 changes: 24 additions & 0 deletions crates/starknet_sequencer_node/src/utils.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
use std::process::exit;

use papyrus_config::validators::config_validate;
use papyrus_config::ConfigError;
use tracing::{error, info};

use crate::clients::{create_node_clients, SequencerNodeClients};
use crate::communication::create_node_channels;
use crate::components::create_node_components;
Expand All @@ -14,3 +20,21 @@ pub async fn create_node_modules(

(clients, servers)
}

pub fn load_and_validate_config(args: Vec<String>) -> Result<SequencerNodeConfig, ConfigError> {
let config = SequencerNodeConfig::load_and_process(args);
if let Err(ConfigError::CommandInput(clap_err)) = &config {
error!("Failed loading configuration: {}", clap_err);
clap_err.exit();
}
info!("Finished loading configuration.");

let config = config?;
if let Err(error) = config_validate(&config) {
error!("{}", error);
exit(1);
}
info!("Finished validating configuration.");

Ok(config)
}

0 comments on commit 5fbb9bc

Please sign in to comment.