@ -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 ) ;