From 32ede5617396458b42aab051199eb31ca3aa0ecc Mon Sep 17 00:00:00 2001 From: satan Date: Wed, 13 Dec 2023 14:01:25 +0100 Subject: [PATCH 1/2] [feat]: Use a backup lookup for pre-genesis wallet.toml files --- apps/src/lib/client/utils.rs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/apps/src/lib/client/utils.rs b/apps/src/lib/client/utils.rs index 1d80f71f23..9db736780f 100644 --- a/apps/src/lib/client/utils.rs +++ b/apps/src/lib/client/utils.rs @@ -112,10 +112,10 @@ pub async fn join_network( // Pre-load the validator pre-genesis wallet and its keys to validate that // everything is in place before downloading the network archive let validator_alias_and_pre_genesis_wallet = - validator_alias_and_dir.map(|(validator_alias, pre_genesis_dir)| { + validator_alias_and_dir.as_ref().map(|(validator_alias, pre_genesis_dir)| { ( alias::Alias::from(validator_alias), - pre_genesis::load(&pre_genesis_dir).unwrap_or_else(|err| { + pre_genesis::load(pre_genesis_dir).unwrap_or_else(|err| { eprintln!( "Error loading validator pre-genesis wallet {err}", ); @@ -262,7 +262,15 @@ pub async fn join_network( // Try to load pre-genesis wallet, if any let pre_genesis_wallet_path = base_dir.join(PRE_GENESIS_DIR); - let pre_genesis_wallet = crate::wallet::load(&pre_genesis_wallet_path); + let pre_genesis_wallet = + if let Some(wallet) = crate::wallet::load(&pre_genesis_wallet_path) { + Some(wallet) + } else { + validator_alias_and_dir + .as_ref() + .and_then(|(_, path)| crate::wallet::load(path)) + }; + // Derive wallet from genesis let wallet = genesis.derive_wallet( &chain_dir, From 6a053f18b9a62e03b9ec0d597508be6ee40b9bd7 Mon Sep 17 00:00:00 2001 From: Gianmarco Fraccaroli <> Date: Wed, 13 Dec 2023 15:55:58 +0100 Subject: [PATCH 2/2] added changelog --- .changelog/unreleased/improvements/2273-pre-gen-wallet.md | 2 ++ apps/src/lib/client/utils.rs | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 .changelog/unreleased/improvements/2273-pre-gen-wallet.md diff --git a/.changelog/unreleased/improvements/2273-pre-gen-wallet.md b/.changelog/unreleased/improvements/2273-pre-gen-wallet.md new file mode 100644 index 0000000000..0b604f5643 --- /dev/null +++ b/.changelog/unreleased/improvements/2273-pre-gen-wallet.md @@ -0,0 +1,2 @@ +- Now join-network will try to look for non validator wallet in more places. + ([\#2273](https://github.com/anoma/namada/pull/2273)) \ No newline at end of file diff --git a/apps/src/lib/client/utils.rs b/apps/src/lib/client/utils.rs index 9db736780f..01e764c0a2 100644 --- a/apps/src/lib/client/utils.rs +++ b/apps/src/lib/client/utils.rs @@ -111,8 +111,9 @@ pub async fn join_network( // Pre-load the validator pre-genesis wallet and its keys to validate that // everything is in place before downloading the network archive - let validator_alias_and_pre_genesis_wallet = - validator_alias_and_dir.as_ref().map(|(validator_alias, pre_genesis_dir)| { + let validator_alias_and_pre_genesis_wallet = validator_alias_and_dir + .as_ref() + .map(|(validator_alias, pre_genesis_dir)| { ( alias::Alias::from(validator_alias), pre_genesis::load(pre_genesis_dir).unwrap_or_else(|err| {