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_ledger.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_ledger.hpp')
-rw-r--r-- | src/device/device_ledger.hpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/device/device_ledger.hpp b/src/device/device_ledger.hpp index ab8e0c553..37e35167c 100644 --- a/src/device/device_ledger.hpp +++ b/src/device/device_ledger.hpp @@ -56,12 +56,13 @@ namespace hw { public: rct::key Aout; rct::key Bout; + bool is_subaddress; size_t index; rct::key Pout; rct::key AKout; - ABPkeys(const rct::key& A, const rct::key& B, size_t index, const rct::key& P,const rct::key& AK); + ABPkeys(const rct::key& A, const rct::key& B, const bool is_subaddr, size_t index, const rct::key& P,const rct::key& AK); ABPkeys(const ABPkeys& keys) ; - ABPkeys() {index=0;} + ABPkeys() {index=0;is_subaddress=false;} }; class Keymap { @@ -103,8 +104,8 @@ namespace hw { unsigned int exchange(unsigned int ok=0x9000, unsigned int mask=0xFFFF); void reset_buffer(void); - #ifdef DEBUGLEDGER - Device &controle_device; + #ifdef DEBUG_HWDEVICE + device *controle_device; #endif public: @@ -174,8 +175,8 @@ namespace hw { bool ecdhEncode(rct::ecdhTuple & unmasked, const rct::key & sharedSec) override; bool ecdhDecode(rct::ecdhTuple & masked, const rct::key & sharedSec) override; - 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) override; + 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) override; 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) override; @@ -190,7 +191,7 @@ namespace hw { - #ifdef DEBUGLEDGER + #ifdef DEBUG_HWDEVICE extern crypto::secret_key viewkey; extern crypto::secret_key spendkey; #endif |