Rewrites to old wallet file correctly
This commit is contained in:
parent
1f833dcf77
commit
031ca23ce9
3 changed files with 18 additions and 3 deletions
|
@ -573,7 +573,7 @@ bool simple_wallet::open_wallet(const string &wallet_file, const std::string& pa
|
||||||
"a deprecated version of the wallet. Please proceed to upgrade your wallet.\n";
|
"a deprecated version of the wallet. Please proceed to upgrade your wallet.\n";
|
||||||
std::string mnemonic_language = get_mnemonic_language();
|
std::string mnemonic_language = get_mnemonic_language();
|
||||||
m_wallet->set_seed_language(mnemonic_language);
|
m_wallet->set_seed_language(mnemonic_language);
|
||||||
m_wallet->generate(m_wallet_file, password, m_recovery_key, false, true);
|
m_wallet->rewrite(m_wallet_file, password);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (const std::exception& e)
|
catch (const std::exception& e)
|
||||||
|
|
|
@ -552,7 +552,8 @@ void wallet2::load_keys(const std::string& keys_file_name, const std::string& pa
|
||||||
* @param two_random Whether it is a non-deterministic wallet
|
* @param two_random Whether it is a non-deterministic wallet
|
||||||
* @return The secret key of the generated wallet
|
* @return The secret key of the generated wallet
|
||||||
*/
|
*/
|
||||||
crypto::secret_key wallet2::generate(const std::string& wallet_, const std::string& password, const crypto::secret_key& recovery_param, bool recover, bool two_random)
|
crypto::secret_key wallet2::generate(const std::string& wallet_, const std::string& password,
|
||||||
|
const crypto::secret_key& recovery_param, bool recover, bool two_random)
|
||||||
{
|
{
|
||||||
clear();
|
clear();
|
||||||
prepare_file_names(wallet_);
|
prepare_file_names(wallet_);
|
||||||
|
@ -578,6 +579,17 @@ crypto::secret_key wallet2::generate(const std::string& wallet_, const std::stri
|
||||||
store();
|
store();
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wallet2::rewrite(const std::string& wallet_name, const std::string& password)
|
||||||
|
{
|
||||||
|
prepare_file_names(wallet_name);
|
||||||
|
boost::system::error_code ignored_ec;
|
||||||
|
THROW_WALLET_EXCEPTION_IF(!boost::filesystem::exists(m_wallet_file, ignored_ec), error::file_not_found, m_wallet_file);
|
||||||
|
THROW_WALLET_EXCEPTION_IF(!boost::filesystem::exists(m_keys_file, ignored_ec), error::file_not_found, m_keys_file);
|
||||||
|
bool r = store_keys(m_keys_file, password);
|
||||||
|
THROW_WALLET_EXCEPTION_IF(!r, error::file_save_error, m_keys_file);
|
||||||
|
store();
|
||||||
|
}
|
||||||
//----------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------
|
||||||
void wallet2::wallet_exists(const std::string& file_path, bool& keys_file_exists, bool& wallet_file_exists)
|
void wallet2::wallet_exists(const std::string& file_path, bool& keys_file_exists, bool& wallet_file_exists)
|
||||||
{
|
{
|
||||||
|
|
|
@ -133,7 +133,10 @@ namespace tools
|
||||||
END_SERIALIZE()
|
END_SERIALIZE()
|
||||||
};
|
};
|
||||||
|
|
||||||
crypto::secret_key generate(const std::string& wallet, const std::string& password, const crypto::secret_key& recovery_param = crypto::secret_key(), bool recover = false, bool two_random = false);
|
crypto::secret_key generate(const std::string& wallet, const std::string& password,
|
||||||
|
const crypto::secret_key& recovery_param = crypto::secret_key(), bool recover = false,
|
||||||
|
bool two_random = false);
|
||||||
|
void rewrite(const std::string& wallet_name, const std::string& password);
|
||||||
void load(const std::string& wallet, const std::string& password);
|
void load(const std::string& wallet, const std::string& password);
|
||||||
void store();
|
void store();
|
||||||
cryptonote::account_base& get_account(){return m_account;}
|
cryptonote::account_base& get_account(){return m_account;}
|
||||||
|
|
Loading…
Reference in a new issue