tomFlowee
fff90de695
Fixlets and simplification in unit unit test
...
This reflects that we no longer have a 3-state but that a wallet is
either open or closed.
2022-07-21 14:21:31 +02:00
tomFlowee
e1cb6d3c40
Make connection between payment request & wallet more robust
...
As they have a pointer to each other we have to be a bit smart about how
removing works and how deletion works. Because otherwise we'll end up
with calling a deleted object.
2022-07-21 13:10:44 +02:00
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
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
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
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
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
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
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
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
59b28d730e
bugfixes
2022-06-29 16:04:53 +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
c324b54b1a
the std version is not thread-safe.
2022-06-23 13:47:29 +02:00
tomFlowee
66e1501812
Avoid confusing variable naming.
...
Don't use the same variable-name in smaller scope (shadowing).
2022-06-20 22:49:29 +02:00
tomFlowee
9acc505f8b
Make compile
2022-06-20 18:46:27 +02:00
tomFlowee
2be19cc9d7
Make the setEncryption method be more straight forward
...
have less 'smart' side-effects.
2022-06-19 14:38:34 +02:00
tomFlowee
7558fb1517
Refactor encryption, pass pwd when needed.
2022-06-19 14:29:27 +02:00
tomFlowee
9a2ea5a951
Be consistent in our usage of the encryption class
2022-05-18 20:41:38 +02:00
tomFlowee
263418cffc
Add various encryption UI parts.
2022-05-18 20:25:03 +02:00
tomFlowee
4bf79a7ae4
Add quick-and-dirty UI for encryption details.
...
Also avoid trying to save an encrypted wallet from the PaymentRequest
2022-05-18 15:48:50 +02:00
tomFlowee
9afdad806f
Add more encryption support to the QML classes.
...
Also allow better interaction with the wallet.
2022-05-18 12:59:01 +02:00
tomFlowee
e120df9b71
Implement fully encrypting the wallet files.
...
For the 'fullyEncrypted' option we now simply fully
encrypt the entire blob of both the secrets file as well
as the wallet.dat (which transactions we own).
2022-05-17 22:26:48 +02:00
tomFlowee
f0ca231e7a
Make the re-loading of an encrypted tx work.
2022-05-17 16:21:59 +02:00
tomFlowee
fe6fa98ff2
Make full-encrypted encrypt the transactions
...
This additionally makes the password get hashed more often and we create
an 'iv' from it as well.
2022-05-17 00:44:51 +02:00
tomFlowee
a58bf9f09f
Make basic wallet-encryption work.
...
We encrypt using a standard AES256 encryption scheme.
The key is 256 bits and we derive that from a user provided password
which we double-hash (sha256). Additionally we use a randomly generated
salt for a specific wallet that is fed into the hashing algo as well.
This version simply encrypts the private keys of a wallet, which makes
it quite basic. A good start.
2022-05-14 14:34:28 +02:00
tomFlowee
2accfa9700
Start wallet-encryption
2022-05-13 19:29:25 +02:00
tomFlowee
fdb1327fb2
Follow renames in flowee libs on CKey class
2022-05-11 21:01:57 +02:00
tomFlowee
ba589abbea
Fix typo in methodname.
2022-05-11 21:00:48 +02:00
tomFlowee
4a07261c31
Also count number of transactions.
2022-05-01 17:36:11 +02:00
tomFlowee
f786db4627
Find address info.
2022-04-07 18:16:03 +02:00
tomFlowee
c4bab66465
Fix typo in var name.
2022-02-19 11:10:11 +01:00
tomFlowee
d0463e6b57
Make compile after upstream refactor.
2022-01-24 12:32:07 +01:00
tomFlowee
aeb2d6624b
Fix warning by linter.
2021-12-14 13:02:28 +01:00
tomFlowee
ea18a54dc9
Avoid skipping tx-id 1 on second load.
2021-12-14 12:57:35 +01:00
tomFlowee
5aa2644717
Notify the UI about transaction comments.
2021-12-04 19:13:26 +01:00
tomFlowee
3012331698
Add assert to avoid silent failure
2021-12-04 13:58:46 +01:00
tomFlowee
d1e44fa515
Make an initial version of send-tx feedback.
2021-11-29 23:17:45 +01:00