mirror of
https://github.com/monero-project/monero.git
synced 2025-06-28 21:37:08 -04:00
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
This commit is contained in:
parent
e9f41e405f
commit
73dd883d51
11 changed files with 210 additions and 138 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue