Commit Graph

21 Commits

Author SHA1 Message Date
tomFlowee 6e4aa0065e Switch to the string type for saving mnemonics
This solves a recently introduced debt.
2022-07-14 17:03:00 +02:00
tomFlowee d4658564ff Use secure allocator for mnemonic
This ensures that we not swap out this value.
2022-07-14 15:28:23 +02:00
tomFlowee 0c9136be3b Refactor wallet encryption
This stops re-loading of the wallet-data on decrypt but instead keeps
the encrypted data in memory next to the (possibly) decrypted data.

This then means we can save a wallet that has its secrets still
encrypted (no password supplied) which is needed in order to propery
support the concept of xpub.

So, now a HD wallet that is closed can correctly sync and create new
public keys (which are needed to sync), including the step of saving
those to disk.
The first time the user provides a password we'll then create the
matching private keys (and their encrypted counterparts) which will then
be saved, and naturally can be used to sign transactions.
2022-07-13 13:54:29 +02:00
tomFlowee fdf42777c4 Save HD wallet data encrypted. 2022-07-11 18:30:18 +02:00
tomFlowee 663169530d Follow rename of CKeyID -> KeyId 2022-07-06 22:06:58 +02:00
tomFlowee 2dad7dd78c Follow cppcheck suggestions
Minor optimizations.
2022-06-23 13:57:44 +02:00
tomFlowee c9c7af5180 Add support for rendering p2sh addresses.
This makes our tx-details screen also show p2sh addresses.
2022-03-22 23:15:37 +01:00
tomFlowee d0463e6b57 Make compile after upstream refactor. 2022-01-24 12:32:07 +01:00
tomFlowee 7b08711def Turn off data for older Qt
The problem of all outputs and inputs having zero space is now simply
worked around by not generating that data for older runtimes of Qt.
This makes it look Ok, but we indeed do not show the inputs/outputs
in the UI unless the user is running Qt 5.15 or newer.
2021-12-11 15:11:13 +01:00
tomFlowee 569dd5c3db Cleanup 'moved' and show fees when we can.
In the overview panel we now show fees when the transaction is created
by us.
This also makes the comment for 'moved' transactions a burden, so remove
that and clean it up.
2021-12-04 20:09:43 +01:00
tomFlowee 5758d67e54 Merge branch 'master' into SendPanel 2021-11-23 17:17:43 +01:00
tomFlowee 9a2fe0444c Add most of WalletCoinsModel content. 2021-11-23 11:22:01 +01:00
tomFlowee 8ee147b33f Wallet details; show "change #n" instead of address 2021-11-19 11:54:07 +01:00
tomFlowee ee50b65e66 Detect CashFusion transactions 2021-11-16 15:08:22 +01:00
tomFlowee 17b9eeac5c Move Wallet::fetchTransactionInfo() to _support
To populate the GUI data-model feels less than core part of the wallet,
so move it out of the wallet.cpp file.
2021-11-16 12:15:07 +01:00
tomFlowee ea8758c03d UX fixlets
- extend clearing of 'new' icon timeout.
- make unconfirmed transactions also 'new'
- put a timer on the datetime item of the transaction to allow
timestamps like "now" and "an hour ago" to be updated as time passes.
2021-11-09 20:49:37 +01:00
tomFlowee cfcbdede36 Add wallet-upgrade (version 1 -> version 2)
We introduced for secret keys the signature-type field, which is required
to avoid signing with one key as both Schnorr and ecdsa as
that can cause leakage making recovering the private key much easier.

So, we now store this data but old wallets didn't fetch that from
the incoming transactions. So this conversion fetches the data from the
transactions (which are on the device) and stores the sigtype with the
keys.
2021-11-02 14:54:59 +01:00
tomFlowee 35bd66297d Find in the transactions the signature type used.
As transactions are found on the blockchain we remember the signature
type used in order to avoid one private key to be used for both types of
signatures, which can cause compromised keys.
2021-10-31 16:56:03 +01:00
tomFlowee d9af22db21 [Minor refactor] move some code. 2021-10-29 12:42:31 +02:00
tomFlowee 20690a24ce Update email 2021-01-05 14:04:10 +01:00
TomZ 0dbf1010af Split the growing Wallet.cpp into multiple files. 2020-11-06 18:25:48 +01:00