most functions prototyped/modified for wallet recovery
This commit is contained in:
@@ -38,6 +38,7 @@ void do_prepare_file_names(const std::string& file_path, std::string& keys_file,
|
||||
keys_file += ".keys";
|
||||
}
|
||||
}
|
||||
|
||||
} //namespace
|
||||
|
||||
namespace tools
|
||||
@@ -435,7 +436,7 @@ void wallet2::load_keys(const std::string& keys_file_name, const std::string& pa
|
||||
THROW_WALLET_EXCEPTION_IF(!r, error::invalid_password);
|
||||
}
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
void wallet2::generate(const std::string& wallet_, const std::string& password)
|
||||
void wallet2::generate(const std::string& wallet_, const std::string& password, const crypto::secret_key& recovery_param, bool recover)
|
||||
{
|
||||
clear();
|
||||
prepare_file_names(wallet_);
|
||||
@@ -444,7 +445,8 @@ void wallet2::generate(const std::string& wallet_, const std::string& password)
|
||||
THROW_WALLET_EXCEPTION_IF(boost::filesystem::exists(m_wallet_file, ignored_ec), error::file_exists, m_wallet_file);
|
||||
THROW_WALLET_EXCEPTION_IF(boost::filesystem::exists(m_keys_file, ignored_ec), error::file_exists, m_keys_file);
|
||||
|
||||
m_account.generate();
|
||||
m_account.generate(recovery_param, recover);
|
||||
|
||||
m_account_public_address = m_account.get_keys().m_account_address;
|
||||
|
||||
bool r = store_keys(m_keys_file, password);
|
||||
|
||||
@@ -97,7 +97,7 @@ namespace tools
|
||||
END_SERIALIZE()
|
||||
};
|
||||
|
||||
void generate(const std::string& wallet, const std::string& password);
|
||||
void generate(const std::string& wallet, const std::string& password, const crypto::secret_key& recovery_param, bool recover = false);
|
||||
void load(const std::string& wallet, const std::string& password);
|
||||
void store();
|
||||
cryptonote::account_base& get_account(){return m_account;}
|
||||
@@ -227,6 +227,7 @@ namespace boost
|
||||
|
||||
namespace tools
|
||||
{
|
||||
|
||||
namespace detail
|
||||
{
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -188,6 +188,17 @@ namespace tools
|
||||
|
||||
std::string to_string() const { return wallet_logic_error::to_string(); }
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
struct invalid_pregenerated_random : public wallet_logic_error
|
||||
{
|
||||
explicit invalid_pregenerated_random (std::string&& loc)
|
||||
: wallet_logic_error(std::move(loc), "invalid pregenerated random for wallet creation/recovery")
|
||||
{
|
||||
}
|
||||
|
||||
std::string to_string() const { return wallet_logic_error::to_string(); }
|
||||
};
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
struct refresh_error : public wallet_logic_error
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user