From b025185438d1edfb2cdcaca9368cb07f2dc89f78 Mon Sep 17 00:00:00 2001 From: Paul Hauner Date: Wed, 17 Aug 2022 13:26:17 +1000 Subject: [PATCH] Avoid pulling env into blocking context --- validator_manager/src/lib.rs | 3 ++- .../src/validators/create_validators.rs | 8 +------- validator_manager/src/validators/mod.rs | 12 +++--------- 3 files changed, 6 insertions(+), 17 deletions(-) diff --git a/validator_manager/src/lib.rs b/validator_manager/src/lib.rs index add88991aa..71314da0ba 100644 --- a/validator_manager/src/lib.rs +++ b/validator_manager/src/lib.rs @@ -20,6 +20,7 @@ pub fn run<'a, T: EthSpec>( mut env: Environment, ) -> Result<(), String> { let context = env.core_context(); + let spec = context.eth2_config.spec.clone(); context .executor @@ -29,7 +30,7 @@ pub fn run<'a, T: EthSpec>( .block_on_dangerous( async { match matches.subcommand() { - (validators::CMD, Some(matches)) => validators::cli_run(matches, env).await, + (validators::CMD, Some(matches)) => validators::cli_run(matches, &spec).await, (unknown, _) => Err(format!( "{} is not a valid {} command. See --help.", unknown, CMD diff --git a/validator_manager/src/validators/create_validators.rs b/validator_manager/src/validators/create_validators.rs index 166c815ecd..7df8789fff 100644 --- a/validator_manager/src/validators/create_validators.rs +++ b/validator_manager/src/validators/create_validators.rs @@ -1,7 +1,6 @@ use super::common::*; use account_utils::{random_password_string, read_mnemonic_from_cli, read_password_from_user}; use clap::{App, Arg, ArgMatches}; -use environment::Environment; use eth2::{ lighthouse_vc::std_types::KeystoreJsonStr, types::{StateId, ValidatorId}, @@ -184,12 +183,7 @@ pub fn cli_app<'a, 'b>() -> App<'a, 'b> { ) } -pub async fn cli_run<'a, T: EthSpec>( - matches: &'a ArgMatches<'a>, - mut env: Environment, -) -> Result<(), String> { - let spec = &env.core_context().eth2_config.spec; - +pub async fn cli_run<'a>(matches: &'a ArgMatches<'a>, spec: &ChainSpec) -> Result<(), String> { let output_path: PathBuf = clap_utils::parse_required(matches, OUTPUT_PATH_FLAG)?; if !output_path.exists() { diff --git a/validator_manager/src/validators/mod.rs b/validator_manager/src/validators/mod.rs index 9142ae1c99..0c9fa7476e 100644 --- a/validator_manager/src/validators/mod.rs +++ b/validator_manager/src/validators/mod.rs @@ -3,8 +3,7 @@ pub mod create_validators; pub mod import_validators; use clap::{App, ArgMatches}; -use environment::Environment; -use types::EthSpec; +use types::ChainSpec; pub const CMD: &str = "validators"; @@ -15,14 +14,9 @@ pub fn cli_app<'a, 'b>() -> App<'a, 'b> { .subcommand(import_validators::cli_app()) } -pub async fn cli_run<'a, T: EthSpec>( - matches: &'a ArgMatches<'a>, - env: Environment, -) -> Result<(), String> { +pub async fn cli_run<'a>(matches: &'a ArgMatches<'a>, spec: &ChainSpec) -> Result<(), String> { match matches.subcommand() { - (create_validators::CMD, Some(matches)) => { - create_validators::cli_run::(matches, env).await - } + (create_validators::CMD, Some(matches)) => create_validators::cli_run(matches, spec).await, (import_validators::CMD, Some(matches)) => import_validators::cli_run(matches).await, (unknown, _) => Err(format!( "{} does not have a {} command. See --help",