diff options
author | Jakob Lind <karl.jakob.lind@gmail.com> | 2014-08-03 16:58:21 +0200 |
---|---|---|
committer | Jakob Lind <karl.jakob.lind@gmail.com> | 2014-08-03 16:58:21 +0200 |
commit | 2ba77629ad4f23e521fa1ff22d1970d3619c2fa0 (patch) | |
tree | 88f25bb63a43a67e638ec9173fb8aed43f268265 /src/wallet/wallet2.cpp | |
parent | check its deterministic wallet before printing seed (diff) | |
download | monero-2ba77629ad4f23e521fa1ff22d1970d3619c2fa0.tar.xz |
refactoring. get seed code in wallet2
Diffstat (limited to 'src/wallet/wallet2.cpp')
-rw-r--r-- | src/wallet/wallet2.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp index 86f2dc0d5..da45771af 100644 --- a/src/wallet/wallet2.cpp +++ b/src/wallet/wallet2.cpp @@ -45,7 +45,13 @@ using namespace epee; #include "crypto/crypto.h" #include "serialization/binary_utils.h" #include "cryptonote_protocol/blobdatatype.h" +#include "crypto/electrum-words.h" +extern "C" +{ +#include "crypto/keccak.h" +#include "crypto/crypto-ops.h" +} using namespace cryptonote; namespace @@ -78,6 +84,18 @@ void wallet2::init(const std::string& daemon_address, uint64_t upper_transaction m_daemon_address = daemon_address; } //---------------------------------------------------------------------------------------------------- +bool wallet2::get_seed(std::string& electrum_words) +{ + crypto::ElectrumWords::bytes_to_words(get_account().get_keys().m_spend_secret_key, electrum_words); + + crypto::secret_key second; + keccak((uint8_t *)&get_account().get_keys().m_spend_secret_key, sizeof(crypto::secret_key), (uint8_t *)&second, sizeof(crypto::secret_key)); + + sc_reduce32((uint8_t *)&second); + + return memcmp(second.data,get_account().get_keys().m_view_secret_key.data, sizeof(crypto::secret_key)) == 0; +} +//---------------------------------------------------------------------------------------------------- void wallet2::process_new_transaction(const cryptonote::transaction& tx, uint64_t height) { process_unconfirmed(tx); |