Commit Graph

672 Commits

Author SHA1 Message Date
tomFlowee 8fdc569364 locked utxo fixes
Count user-locked utxos again in balance
Mark wallet in need of saving when manually locking/unlocking a utxo.
2022-07-20 14:34:01 +02:00
tomFlowee df6eb5fb4c Improve PR saving and avoid unneeded wallet-writes.
For a payment-request we now remember if its been stored-to-disk so when
it gets removed again before we ever store it, we skip forcing an
unneeded save.
2022-07-15 14:20:58 +02:00
tomFlowee 2fb315bcc2 new version 2022-07-15 10:02:14 +02:00
tomFlowee 11f83f411c Update details pane for encryption support
Wallets can be opened from here now and the backup doesn't just hide but
shows a hint that a backup can only be made when the wallet is opened.
2022-07-14 20:48:05 +02:00
tomFlowee b69f9363dd Don't save temporary payment requests. 2022-07-14 19:38:01 +02:00
tomFlowee 43dff3381a To encrypt a password we now ask the pwd twice.
To make sure the user didn't mistype it.
2022-07-14 19:19:19 +02:00
tomFlowee aede168236 Fixes in saving / encryption. 2022-07-14 17:45:09 +02:00
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 0d08e7b3e4 Make a pin-to-pay wallet get auto-closed after 200s
This is one of the last features needed for the task.
Closes: #1
2022-07-14 16:11:20 +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 b41fd2b72b Make error logging of this more verbose. 2022-07-14 14:55:39 +02:00
tomFlowee 38ff068dcc Make QR blank when the wallet is encrypted. 2022-07-14 14:55:21 +02:00
tomFlowee 524f47dbf2 Catch and log saving errors on exit. 2022-07-14 14:54:27 +02:00
tomFlowee 67be029cb7 Fix comment. 2022-07-14 14:43:38 +02:00
tomFlowee 2da9274036 On archive, also close wallet. 2022-07-14 14:43:10 +02:00
tomFlowee e0fe6fe532 Fix missing emit.
Now the balances and 'last transaction' fields are updated on decrypt.
2022-07-14 10:52:43 +02:00
tomFlowee 05a4ee34f8 Trap against race-condition on closing a wallet.
Also add some suggestions to avoid work.
2022-07-13 14:16:36 +02:00
tomFlowee 1a5f2541cd Add debug 2022-07-13 13:54:29 +02:00
tomFlowee e610f9d354 Fix logic
This meant to only send an updated filter after 25 mismatches, make it do that now.
2022-07-13 13:54:29 +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 01a5bca7a9 Add more initialiation of crypto lib 2022-07-11 23:26:59 +02:00
tomFlowee 90252a4e1a Allow HD wallet to sync while encrypted
This allows an encrypted HD wallet to sync using merkleblock p2p
messages by using the xpub instead while the private keys are
unavailable.
2022-07-11 22:11:01 +02:00
tomFlowee 9fa7b96253 Make sync status show for 'pin to pay' wallets. 2022-07-11 22:08:43 +02:00
tomFlowee d42357e511 Match operator= with copy constructor.
This solves a gcc warning.
2022-07-11 19:26:59 +02:00
tomFlowee 27af984f5b Split off encryption methods to its own file.
This avoids Wallet.cpp to become too huge and groups stuff to
make it easier to find.
2022-07-11 19:23:30 +02:00
tomFlowee 684c898939 Add warning on bad pwd. 2022-07-11 19:17:05 +02:00
tomFlowee fdf42777c4 Save HD wallet data encrypted. 2022-07-11 18:30:18 +02:00
tomFlowee 56f367a515 Fixlet in unit test. 2022-07-06 22:54:37 +02:00
tomFlowee a94d305f42 Follow rename of CKey to PrivateKey 2022-07-06 22:15:08 +02:00
tomFlowee eafc29c1cb Turn techy walletEncryption into a user friendly one 2022-07-06 22:07:43 +02:00
tomFlowee 663169530d Follow rename of CKeyID -> KeyId 2022-07-06 22:06:58 +02:00
tomFlowee 1dc32c8aa3 Make AccountTypeSelector more generic.
Now named CardTypeSelector
2022-07-01 14:29:43 +02:00
tomFlowee 35f4ccd8d7 Merge branch 'master' of banana:floweepay 2022-06-30 21:02:34 +02:00
tomFlowee 2c68c98bd2 really, nobody cares 2022-06-30 20:58:56 +02:00
tomFlowee a04142cef5 Its a markdown file 2022-06-30 19:46:29 +02:00
tomFlowee 36e06abfd7 Make typing pwd and enter submit
On the send screen we have a popup for the password, now this tries to
unlock the wallet not just when the user hits the 'Ok' button, but also
when the user hits enter.
2022-06-29 20:06:01 +02:00
tomFlowee 59b28d730e bugfixes 2022-06-29 16:04:53 +02:00
tomFlowee 2ea672fbf2 tweak color 2022-06-29 16:04:53 +02:00
tomFlowee e5e2b8bc04 Hide balance and tabs for encrypted wallet 2022-06-29 16:04:53 +02:00
tomFlowee 60dfe486fd Fix various UX issues with encrypted wallets. 2022-06-24 15:38:25 +02:00
tomFlowee de9dcca659 Honor the offline flag better. 2022-06-24 15:13:18 +02:00
tomFlowee 5720b9c2d0 Move wallet name to its own file.
This allows us to just fully encrypt the wallet.dat while still being
able to see the name of the wallet.
2022-06-24 15:02:52 +02:00
tomFlowee 47eba671e8 Make a fully encrypted wallet forget everything on close 2022-06-24 14:13:07 +02:00
tomFlowee a409b40830 Merge branch 'master' of banana:floweepay 2022-06-24 13:13:37 +02:00
tomFlowee a0116821ba Minor cleanups. 2022-06-24 00:35:20 +02:00
tomFlowee bab952b94d Make sync work together with encryption status
A fully encrypted wallet won't be tried to be synchronized (no peer
connections opened) and the moment we decrypt it we'll start the sync.
2022-06-24 00:34:08 +02:00
tomFlowee 940b1c9010 Make simple getter const. 2022-06-23 13:58:36 +02:00
tomFlowee 2dad7dd78c Follow cppcheck suggestions
Minor optimizations.
2022-06-23 13:57:44 +02:00
tomFlowee 18459769e0 Initialize variable. 2022-06-23 13:57:00 +02:00
tomFlowee 5e8c26695e Remove unneeded assert. 2022-06-23 13:56:44 +02:00