diff options
author | monero-project <sempre.amaro@gmail.com> | 2014-06-12 19:14:25 -0400 |
---|---|---|
committer | monero-project <sempre.amaro@gmail.com> | 2014-06-12 19:14:25 -0400 |
commit | c3203c86c671d41ed4a07231c8a5054124d2e7d2 (patch) | |
tree | 06a7aceb34d1e53ca4bfd28d3fbc13b5ef0d8a30 /src/wallet/wallet2.cpp | |
parent | new error code for rpc (diff) | |
parent | allow two-random-numbers wallet generation (but not as default) (diff) | |
download | monero-c3203c86c671d41ed4a07231c8a5054124d2e7d2.tar.xz |
Merge pull request #34 from tewinget/master
Add electrum-seed wallet backup/recovery
Diffstat (limited to 'src/wallet/wallet2.cpp')
-rw-r--r-- | src/wallet/wallet2.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp index fb1e5575b..a63eb4be7 100644 --- a/src/wallet/wallet2.cpp +++ b/src/wallet/wallet2.cpp @@ -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) +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(); 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(); + crypto::secret_key retval = m_account.generate(recovery_param, recover, two_random); + m_account_public_address = m_account.get_keys().m_account_address; bool r = store_keys(m_keys_file, password); @@ -454,6 +456,7 @@ void wallet2::generate(const std::string& wallet_, const std::string& password) if(!r) LOG_PRINT_RED_L0("String with address text not saved"); store(); + return retval; } //---------------------------------------------------------------------------------------------------- void wallet2::wallet_exists(const std::string& file_path, bool& keys_file_exists, bool& wallet_file_exists) |