Add change_password for simplewallet

This commit is contained in:
Ashley Perpetual 2017-01-27 15:12:18 +08:00
parent 4629ead8c5
commit 48aa9cf035
2 changed files with 28 additions and 0 deletions

View file

@ -362,6 +362,33 @@ bool simple_wallet::seed_set_language(const std::vector<std::string> &args/* = s
return true; return true;
} }
bool simple_wallet::change_password(const std::vector<std::string> &args)
{
const auto orig_pwd_container = get_and_verify_password();
if(orig_pwd_container == boost::none)
{
fail_msg_writer() << tr("Your original password was incorrect.");
return false;
}
// prompts for a new password, this is not a new wallet so pass in false.
const auto pwd_container = tools::wallet2::password_prompt(false);
try
{
m_wallet->rewrite(m_wallet_file, pwd_container->password());
m_wallet->store();
}
catch (const wallet_logic_error& e)
{
fail_msg_writer() << tr("Error with wallet rewrite: ") << e.what();
return false;
}
return true;
}
bool simple_wallet::set_always_confirm_transfers(const std::vector<std::string> &args/* = std::vector<std::string>()*/) bool simple_wallet::set_always_confirm_transfers(const std::vector<std::string> &args/* = std::vector<std::string>()*/)
{ {
const auto pwd_container = get_and_verify_password(); const auto pwd_container = get_and_verify_password();

View file

@ -162,6 +162,7 @@ namespace cryptonote
bool export_outputs(const std::vector<std::string> &args); bool export_outputs(const std::vector<std::string> &args);
bool import_outputs(const std::vector<std::string> &args); bool import_outputs(const std::vector<std::string> &args);
bool show_transfer(const std::vector<std::string> &args); bool show_transfer(const std::vector<std::string> &args);
bool change_password(const std::vector<std::string>& args);
uint64_t get_daemon_blockchain_height(std::string& err); uint64_t get_daemon_blockchain_height(std::string& err);
bool try_connect_to_daemon(bool silent = false, uint32_t* version = nullptr); bool try_connect_to_daemon(bool silent = false, uint32_t* version = nullptr);