Commit Graph

672 Commits

Author SHA1 Message Date
tomFlowee c324b54b1a the std version is not thread-safe. 2022-06-23 13:47:29 +02:00
tomFlowee 745d856e4c Linter bugfixes
Catch tiny (once) memory leak.
Rename variables that have the same name as an outer context.
2022-06-22 15:58:05 +02:00
tomFlowee 017e51c3ba Make a locked wallet behave better in the UI. 2022-06-20 22:52:57 +02:00
tomFlowee 589b1c212c Remove unneeded check
We now use size_t, which is unsigned and so no need to check if its
positive.
2022-06-20 22:50:11 +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 9c0adc3d71 Refactor menu population
The menu item QML control has a big flaw, you can't hide items
for specific usecases. Visibility works, but the thing still
takes space.

It probably makes much more sense to simply not add the menu
items for cases where they make no sense, as opposed to making
them invisible.

For this purpose we switch to cheap Action objects and populate
the ConfigItem menu on opening.
2022-06-19 23:41:06 +02:00
tomFlowee d8750ca021 Add more support for encryped walles in the UI 2022-06-19 22:30:11 +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 5caa359a0e Improve Dialog component
Make the width be better decided and allow custom
loaded content.
2022-05-18 20:16:19 +02:00
tomFlowee 7faba9d19d Make strings translatable. 2022-05-18 17:32:23 +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 1facb553d8 Fix order of initialization
This makes testnet possible to use again.
2022-05-18 13:16:27 +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 dc0ff2e4ba Load and save encrypted wallets. 2022-05-17 23:51:57 +02:00
tomFlowee 751d8f2119 Add test for saveTransaction 2022-05-17 22:49: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 071dcaeac6 Fix typo in comment. 2022-05-17 16:22:10 +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 66c8dbbd4c Fixes 2022.05.0 2022-05-03 21:33:35 +02:00
tomFlowee 03b8174d9f Prepare for release, set version 2022-05-03 19:49:26 +02:00
tomFlowee 3aeb074b8f Import translations from the community 2022-05-03 19:47:24 +02:00
tomFlowee 67bb23dd5a Make link on older systems. 2022-05-03 18:48:18 +02:00
tomFlowee c71066a168 Avoid opening multiple notifications due to async 2022-05-01 19:41:41 +02:00
tomFlowee 4a07261c31 Also count number of transactions. 2022-05-01 17:36:11 +02:00
tomFlowee b49bef36bf Avoid annoying notification 2022-05-01 17:36:00 +02:00
tomFlowee 3cb6e2e0f1 Remove manual testing setup. 2022-04-30 21:06:49 +02:00
tomFlowee 9cfe41c9bb Persist muting of block notifications. 2022-04-30 21:06:49 +02:00
tomFlowee 70d042fd05 Make notifications be in local currency.
This uses the current exchange rate to show the new transactions value.
2022-04-30 20:14:53 +02:00
tomFlowee 7a75d1b084 Move ownership of PriceDataProvider
it is now created and owned by the app singleton.
2022-04-30 19:44:06 +02:00
tomFlowee f5a386feca Cleanup PriceDataProvider class and API
fixed some typos and similar.
2022-04-30 15:01:45 +02:00
tomFlowee 250863740d Various fixes and basic notifications 2022-04-30 14:52:40 +02:00
tomFlowee cfc5a2c5bf Start adding notification support. 2022-04-29 22:43:46 +02:00
tomFlowee 23d4777053 Make fetching the price more robust
Detect failing better.
2022-04-29 15:18:01 +02:00
tomFlowee a9004af44f Cleanup code quality. 2022-04-15 18:09:02 +02:00
tomFlowee d9f4460de7 Sort generated transaction. 2022-04-15 18:09:02 +02:00
tomFlowee a4a0c902bf Be more lenient with pretty times
Take into account that miners play with block dates, so a block may come
in with a timestamp slightly in the future.
In that case we still want to show 'now' instead of the ISO date.
2022-04-15 18:09:02 +02:00
tomFlowee b7b191211d Fix removing of detail not changing validness
In case an incorrect payment got a detail removed, leaving us with a
fully correct payment we didn't validate it and 'prepare' would not be
made available.
2022-04-15 18:09:02 +02:00
tomFlowee b2ca1f0d31 Improve UTXO selection wrt Fusions
When the wallet contains fused transactions we select UTXOs a bit
different in order to maximize privacy.

Additionally this prefers an UTXO that is closest in value to the paid
amount.
2022-04-15 18:09:02 +02:00
tomFlowee 87cb792407 Make UI show wallet an address belongs to. 2022-04-14 21:06:01 +02:00
tomFlowee f786db4627 Find address info. 2022-04-07 18:16:03 +02:00
tomFlowee f1015a83fb Limit shared priv keys to bloom filter limits 2022-04-07 15:06:07 +02:00