ledger: use software device if we have view key
This commit is contained in:
parent
1c8e598172
commit
ce40c33a33
|
@ -518,9 +518,7 @@ namespace hw {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool device_ledger::init(void) {
|
bool device_ledger::init(void) {
|
||||||
#ifdef DEBUG_HWDEVICE
|
|
||||||
this->controle_device = &hw::get_device("default");
|
this->controle_device = &hw::get_device("default");
|
||||||
#endif
|
|
||||||
this->release();
|
this->release();
|
||||||
hw_device.init();
|
hw_device.init();
|
||||||
MDEBUG( "Device "<<this->id <<" HIDUSB inited");
|
MDEBUG( "Device "<<this->id <<" HIDUSB inited");
|
||||||
|
@ -739,6 +737,12 @@ namespace hw {
|
||||||
}
|
}
|
||||||
|
|
||||||
crypto::public_key device_ledger::get_subaddress_spend_public_key(const cryptonote::account_keys& keys, const cryptonote::subaddress_index &index) {
|
crypto::public_key device_ledger::get_subaddress_spend_public_key(const cryptonote::account_keys& keys, const cryptonote::subaddress_index &index) {
|
||||||
|
if (has_view_key) {
|
||||||
|
cryptonote::account_keys keys_{keys};
|
||||||
|
keys_.m_view_secret_key = this->viewkey;
|
||||||
|
return this->controle_device->get_subaddress_spend_public_key(keys_, index);
|
||||||
|
}
|
||||||
|
|
||||||
AUTO_LOCK_CMD();
|
AUTO_LOCK_CMD();
|
||||||
crypto::public_key D;
|
crypto::public_key D;
|
||||||
|
|
||||||
|
@ -790,6 +794,12 @@ namespace hw {
|
||||||
}
|
}
|
||||||
|
|
||||||
cryptonote::account_public_address device_ledger::get_subaddress(const cryptonote::account_keys& keys, const cryptonote::subaddress_index &index) {
|
cryptonote::account_public_address device_ledger::get_subaddress(const cryptonote::account_keys& keys, const cryptonote::subaddress_index &index) {
|
||||||
|
if (has_view_key) {
|
||||||
|
cryptonote::account_keys keys_{keys};
|
||||||
|
keys_.m_view_secret_key = this->viewkey;
|
||||||
|
return this->controle_device->get_subaddress(keys_, index);
|
||||||
|
}
|
||||||
|
|
||||||
AUTO_LOCK_CMD();
|
AUTO_LOCK_CMD();
|
||||||
cryptonote::account_public_address address;
|
cryptonote::account_public_address address;
|
||||||
|
|
||||||
|
|
|
@ -181,11 +181,8 @@ namespace hw {
|
||||||
// To speed up blockchain parsing the view key maybe handle here.
|
// To speed up blockchain parsing the view key maybe handle here.
|
||||||
crypto::secret_key viewkey;
|
crypto::secret_key viewkey;
|
||||||
bool has_view_key;
|
bool has_view_key;
|
||||||
|
|
||||||
//extra debug
|
|
||||||
#ifdef DEBUG_HWDEVICE
|
|
||||||
device *controle_device;
|
device *controle_device;
|
||||||
#endif
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
device_ledger();
|
device_ledger();
|
||||||
|
|
Loading…
Reference in New Issue