From b05189febe8a8247a4b51528fa3c365c75fe8d16 Mon Sep 17 00:00:00 2001 From: woodser Date: Mon, 9 Mar 2020 12:10:37 -0400 Subject: [PATCH] keys wallet only set language if spend key given --- src/wallet/monero_wallet_keys.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/wallet/monero_wallet_keys.cpp b/src/wallet/monero_wallet_keys.cpp index 13b860a..3b1a720 100644 --- a/src/wallet/monero_wallet_keys.cpp +++ b/src/wallet/monero_wallet_keys.cpp @@ -179,12 +179,14 @@ namespace monero { // initialize remaining wallet wallet->m_network_type = network_type; - wallet->m_language = language; - epee::wipeable_string wipeable_mnemonic; - if (!crypto::ElectrumWords::bytes_to_words(spend_key_sk, wipeable_mnemonic, wallet->m_language)) { - throw runtime_error("Failed to create mnemonic from private spend key for language: " + string(wallet->m_language)); + if (!spend_key.empty()) { + wallet->m_language = language; + epee::wipeable_string wipeable_mnemonic; + if (!crypto::ElectrumWords::bytes_to_words(spend_key_sk, wipeable_mnemonic, wallet->m_language)) { + throw runtime_error("Failed to create mnemonic from private spend key for language: " + string(wallet->m_language)); + } + wallet->m_mnemonic = string(wipeable_mnemonic.data(), wipeable_mnemonic.size()); } - wallet->m_mnemonic = string(wipeable_mnemonic.data(), wipeable_mnemonic.size()); wallet->init_common(); return wallet;