From f94a4a31a0a8090992ec5db5ba32afc84223b141 Mon Sep 17 00:00:00 2001 From: Joonmo Yang Date: Thu, 26 Sep 2019 14:05:09 +0900 Subject: [PATCH] Try to unlock account only when it is imported --- codechain/run_node.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/codechain/run_node.rs b/codechain/run_node.rs index 6d5cb5d5a1..b3003f8938 100644 --- a/codechain/run_node.rs +++ b/codechain/run_node.rs @@ -193,8 +193,13 @@ fn load_password_file(path: &Option) -> Result { fn unlock_accounts(ap: &AccountProvider, pf: &PasswordFile) -> Result<(), String> { for entry in pf.entries() { let entry_address = entry.address.into_address(); - ap.unlock_account_permanently(entry_address, entry.password.clone()) - .map_err(|e| format!("Failed to unlock account {}: {}", entry_address, e))?; + let has_account = ap + .has_account(&entry_address) + .map_err(|e| format!("Unexpected error while querying account {}: {}", entry_address, e))?; + if has_account { + ap.unlock_account_permanently(entry_address, entry.password.clone()) + .map_err(|e| format!("Failed to unlock account {}: {}", entry_address, e))?; + } } Ok(()) }