diff options
author | Cédric <cslashm@gmail.com> | 2018-03-05 14:46:15 +0100 |
---|---|---|
committer | cslashm <cslashm@gmail.com> | 2018-03-12 10:43:06 +0100 |
commit | 73dd883d5112e2e8be1a465aca3b3fb48b651afd (patch) | |
tree | 612da8e64d9b036f1934174ab766befa9a0324b7 /src/device/device.hpp | |
parent | Merge pull request #3368 (diff) | |
download | monero-73dd883d5112e2e8be1a465aca3b3fb48b651afd.tar.xz |
Ledger HW Bug fixes
Fix the way the REAL mode is handle:
Let create_transactions_2 and create_transactions_from construct the vector of transactions.
Then iterate on it and resign.
We just need to add 'outs' list in the TX struct for that.
Fix default secret keys value when DEBUG_HWDEVICE mode is off
The magic value (00...00 for view key and FF..FF for spend key) was not correctly set
when DEBUG_HWDEVICE was off. Both was set to 00...00.
Add sub-address info in ABP map in order to correctly display destination sub-address on device
Fix DEBUG_HWDEVICE mode:
- Fix compilation errors.
- Fix control device init in ledger device.
- Add more log.
Fix sub addr control
Fix debug Info
Diffstat (limited to 'src/device/device.hpp')
-rw-r--r-- | src/device/device.hpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/device/device.hpp b/src/device/device.hpp index bdea7b8f6..614d2c243 100644 --- a/src/device/device.hpp +++ b/src/device/device.hpp @@ -28,6 +28,20 @@ // +/* Note about debug: + * To debug Device you can def the following : + * #define DEBUG_HWDEVICE + * Activate debug mechanism: + * - Add more trace + * - All computation done by device are checked by default device. + * Required IODUMMYCRYPT_HWDEVICE or IONOCRYPT_HWDEVICE for fully working + * #define IODUMMYCRYPT_HWDEVICE 1 + * - It assumes sensitive data encryption is is off on device side. a XOR with 0x55. This allow Ledger Class to make check on clear value + * #define IONOCRYPT_HWDEVICE 1 + * - It assumes sensitive data encryption is off on device side. + */ + + #pragma once #include "cryptonote_basic/cryptonote_basic.h" @@ -128,8 +142,8 @@ namespace hw { virtual bool ecdhEncode(rct::ecdhTuple & unmasked, const rct::key & sharedSec) = 0; virtual bool ecdhDecode(rct::ecdhTuple & masked, const rct::key & sharedSec) = 0; - virtual bool add_output_key_mapping(const crypto::public_key &Aout, const crypto::public_key &Bout, size_t real_output_index, - const rct::key &amount_key, const crypto::public_key &out_eph_public_key) = 0; + virtual bool add_output_key_mapping(const crypto::public_key &Aout, const crypto::public_key &Bout, const bool is_subaddress, const size_t real_output_index, + const rct::key &amount_key, const crypto::public_key &out_eph_public_key) = 0; virtual bool mlsag_prehash(const std::string &blob, size_t inputs_size, size_t outputs_size, const rct::keyV &hashes, const rct::ctkeyV &outPk, rct::key &prehash) = 0; |