aboutsummaryrefslogtreecommitdiff
path: root/src/cryptonote_basic/account.h
diff options
context:
space:
mode:
authorRiccardo Spagni <ric@spagni.net>2018-03-04 19:03:41 +0200
committerRiccardo Spagni <ric@spagni.net>2018-03-04 19:03:41 +0200
commitc7ace5fa3d412410312e21c55c28068dcd625fef (patch)
treefba40dea29a948b8a4904b4de189d4adc605ec6e /src/cryptonote_basic/account.h
parent421ab3119ce8ccbf73ad12d736d3daa897fa0347 (diff)
parente745c1e38da8e54032660894bb2db0e9a49cccf2 (diff)
downloadmonzero-core-c7ace5fa3d412410312e21c55c28068dcd625fef.tar.gz
monzero-core-c7ace5fa3d412410312e21c55c28068dcd625fef.tar.xz
monzero-core-c7ace5fa3d412410312e21c55c28068dcd625fef.zip
Merge pull request #3303
e745c1e3 Code modifications to integrate Ledger HW device into monero-wallet-cli. (cslashm)
Diffstat (limited to 'src/cryptonote_basic/account.h')
-rw-r--r--src/cryptonote_basic/account.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/cryptonote_basic/account.h b/src/cryptonote_basic/account.h
index 79601f99c..d734599a3 100644
--- a/src/cryptonote_basic/account.h
+++ b/src/cryptonote_basic/account.h
@@ -33,6 +33,7 @@
#include "cryptonote_basic.h"
#include "crypto/crypto.h"
#include "serialization/keyvalue_serialization.h"
+#include "device/device_declare.hpp"
namespace cryptonote
{
@@ -43,6 +44,7 @@ namespace cryptonote
crypto::secret_key m_spend_secret_key;
crypto::secret_key m_view_secret_key;
std::vector<crypto::secret_key> m_multisig_keys;
+ hw::device *m_device = &hw::get_device("default");
BEGIN_KV_SERIALIZE_MAP()
KV_SERIALIZE(m_account_address)
@@ -50,6 +52,11 @@ namespace cryptonote
KV_SERIALIZE_VAL_POD_AS_BLOB_FORCE(m_view_secret_key)
KV_SERIALIZE_CONTAINER_POD_AS_BLOB(m_multisig_keys)
END_KV_SERIALIZE_MAP()
+
+ account_keys& operator=(account_keys const&) = default;
+
+ hw::device& get_device() const ;
+ void set_device( hw::device &hwdev) ;
};
/************************************************************************/
@@ -60,6 +67,7 @@ namespace cryptonote
public:
account_base();
crypto::secret_key generate(const crypto::secret_key& recovery_key = crypto::secret_key(), bool recover = false, bool two_random = false);
+ void create_from_device(const std::string &device_name) ;
void create_from_keys(const cryptonote::account_public_address& address, const crypto::secret_key& spendkey, const crypto::secret_key& viewkey);
void create_from_viewkey(const cryptonote::account_public_address& address, const crypto::secret_key& viewkey);
bool make_multisig(const crypto::secret_key &view_secret_key, const crypto::secret_key &spend_secret_key, const crypto::public_key &spend_public_key, const std::vector<crypto::secret_key> &multisig_keys);
@@ -68,6 +76,9 @@ namespace cryptonote
std::string get_public_address_str(bool testnet) const;
std::string get_public_integrated_address_str(const crypto::hash8 &payment_id, bool testnet) const;
+ hw::device& get_device() const {return m_keys.get_device();}
+ void set_device( hw::device &hwdev) {m_keys.set_device(hwdev);}
+
uint64_t get_createtime() const { return m_creation_timestamp; }
void set_createtime(uint64_t val) { m_creation_timestamp = val; }