diff options
author | cslashm <cslashm@gmail.com> | 2018-04-09 16:07:11 +0200 |
---|---|---|
committer | cslashm <cslashm@gmail.com> | 2018-04-12 13:58:57 +0200 |
commit | 2c274e05fe760443aa80e63cdf9f6964c7902732 (patch) | |
tree | 2decc92909197e0cca7752ad7f8a570cda1942aa /src/device/device.hpp | |
parent | Merge pull request #3549 (diff) | |
download | monero-2c274e05fe760443aa80e63cdf9f6964c7902732.tar.xz |
Fix sub-address tx scan.
When additional keys was needed, the TX scan failed because the
derivation data was always recomputed with the main tx_key and not
the corresponding additional one.
Moreover this patch avoid perf decreasing when not using HW device.
Diffstat (limited to 'src/device/device.hpp')
-rw-r--r-- | src/device/device.hpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/device/device.hpp b/src/device/device.hpp index db489ff0c..9df0cb39d 100644 --- a/src/device/device.hpp +++ b/src/device/device.hpp @@ -145,6 +145,7 @@ namespace hw { virtual bool sc_secret_add( crypto::secret_key &r, const crypto::secret_key &a, const crypto::secret_key &b) = 0; virtual crypto::secret_key generate_keys(crypto::public_key &pub, crypto::secret_key &sec, const crypto::secret_key& recovery_key = crypto::secret_key(), bool recover = false) = 0; virtual bool generate_key_derivation(const crypto::public_key &pub, const crypto::secret_key &sec, crypto::key_derivation &derivation) = 0; + virtual bool conceal_derivation(crypto::key_derivation &derivation, const crypto::public_key &tx_pub_key, const std::vector<crypto::public_key> &additional_tx_pub_keys, const crypto::key_derivation &main_derivation, const std::vector<crypto::key_derivation> &additional_derivations) = 0; virtual bool derivation_to_scalar(const crypto::key_derivation &derivation, const size_t output_index, crypto::ec_scalar &res) = 0; virtual bool derive_secret_key(const crypto::key_derivation &derivation, const std::size_t output_index, const crypto::secret_key &sec, crypto::secret_key &derived_sec) = 0; virtual bool derive_public_key(const crypto::key_derivation &derivation, const std::size_t output_index, const crypto::public_key &pub, crypto::public_key &derived_pub) = 0; |