Commit Graph

1429 Commits

Author SHA1 Message Date
TomZ d4df416f32 Hide fiat display for non-main chains 2020.07.1 2020-11-17 22:11:11 +01:00
TomZ 4e4bc0a962 Handle more signals 2020-11-17 22:10:57 +01:00
TomZ abc9239fff Avoid calling rebuildBloom twice.
Remove the one at the end of loading, it makes more sense to do it
in the constructor since the bloom is about both the private keys
as well as for the utxo
2020-11-07 15:25:38 +01:00
TomZ cb2b147096 Split 'balance' into 3 variables.
* confirmed
* unconfirmed
* immature
2020-11-06 22:54:39 +01:00
TomZ f5ca55b587 Educate the Wallet about coinbase maturity
Now we wait for coinbases to mature before we show them in balance and
before we use them in transactions.
2020-11-06 20:20:41 +01:00
TomZ 5e80cc3990 Fix TODO wrt locked 2020-11-06 18:41:12 +01:00
TomZ 0dbf1010af Split the growing Wallet.cpp into multiple files. 2020-11-06 18:25:48 +01:00
TomZ c8ae3817c5 Make sending transactions on startup work better.
We wait until the chain is synched and then we check for and broadcast
unconfirmed transactions.

This essentially means that every single block we receive will trigger
this code. In BCH I think that is just fine since all we really do is
send an INV.
2020-11-05 22:21:50 +01:00
TomZ a59cf26c37 Avoid updating the height multiple times.
There are some listeners connected to this which may make it more
expensive than expected.
2020-11-05 22:18:32 +01:00
TomZ 5f4c8ed268 Fixlets 2020-11-05 22:16:26 +01:00
TomZ fb07747ad9 Make SyncIndicator more reusable
This moves the 'visible' decision to the account page.
2020-11-05 17:59:48 +01:00
TomZ fce7f1a955 Make wallet send all unconfirmed transactions again
We make sure to broadcast our transactions repeatedly if they are not
yet confirmed.
For instance if the last time we made it we were offline.
2020-11-04 22:00:34 +01:00
TomZ 781999d99d Bugfixes 2020-11-04 18:59:24 +01:00
TomZ f63d2dafa8 Cleanup old files
These QML files were from my first quick&dirty UI, now all functionality
has been replaced with better ones.
2020-11-04 18:58:34 +01:00
TomZ 9371a085b3 Add account info dialog
Reachable from the 'dotdotdot' menu on the account page.
2020-11-04 18:33:50 +01:00
TomZ f24a6e0f84 Implement replacing transaction
When a unconfirmed transaction gets made invalid by a mined one spending
the same output, this updates the wallet balance and UTXO state
properly.
2020-11-03 20:16:36 +01:00
TomZ ae0c395d50 Make the wallet process mempool transactions
When a transaction is received by the p2pnet layer via a simple INV/
GetData we now process this and properly lock the outputs it spent to
avoid creating double spending transactions.

One task is left: properly recognize when a mined transaction
invalidates another transaction (like an unconfirmed one) and update the
datastructures.
2020-11-02 21:49:06 +01:00
TomZ 63902d2730 Add support for testnet addresses 2020-10-30 18:06:58 +01:00
TomZ 875717c760 Make future proof; use a lambda. 2020-10-30 09:42:55 +01:00
TomZ 31304be4b1 Add support for testnet4 2020-10-29 21:51:52 +01:00
TomZ e9df4c6e06 Hide the config dots until they do something 2020-10-29 21:51:19 +01:00
TomZ c3c70b266a Fix bug, now we show how far we are behind. 2020-10-24 17:09:10 +02:00
TomZ 4c01f8231c minor tweak. 2020-10-24 14:52:14 +02:00
TomZ a6f458a42b Forgot to uncomment... 2020-10-24 14:50:47 +02:00
TomZ 4ab3f0c7df Make 'max' button work in a sane manner. 2020-10-24 14:50:04 +02:00
TomZ 0f1138a80f Merge branch 'master' of banana:floweepay 2020-10-24 12:50:55 +02:00
TomZ 8dcaf9e668 [UX] fix font-size 2020-10-24 12:50:18 +02:00
TomZ 005c241344 Make backend able to accept a 'max' payment
The idea is that the user can empty out a wallet using the 'max' button.
2020-10-23 22:34:34 +02:00
TomZ 60a6bb5af0 update README 2020-10-23 20:41:18 +02:00
TomZ ca9845ae4f Handle user trying to send more than we have. 2020-10-23 20:20:42 +02:00
TomZ 96121c7081 Fixes in the UX 2020-10-23 19:45:21 +02:00
TomZ 0cd48d8809 Version 2 of UTXO selection algo
This avoids the far to CPU intensive perfect solution and instead does a
best effort comparisn between various semi-random selections of inputs.
2020-10-23 19:45:08 +02:00
TomZ 42ea3e5bb7 UX show how far in time an account is behind 2020-10-19 17:59:04 +02:00
TomZ b92a4a2393 Make sure only one wallet has 'first' prio
This allows us to use it as the favourite wallet we open on startup.
2020-10-19 16:50:36 +02:00
TomZ 42f5906137 save the priority of a wallet
Also allow setting it through a heart-icon
2020-10-19 16:38:05 +02:00
TomZ b144e4f6e8 Fix typo 2020-10-18 16:57:13 +02:00
TomZ 7763df2843 Show in the networking dialog which wallet a peer is attached to. 2020-10-18 16:57:06 +02:00
TomZ 0d123eced9 Show historical transactions on account. 2020-10-17 20:34:51 +02:00
TomZ 19e941ce14 Show the sync-height of a wallet. 2020-10-17 17:34:40 +02:00
TomZ 2a057fbeec Remove logging of debug 2020-10-17 16:43:08 +02:00
TomZ 1c94c34582 Add copyright headers 2020-10-17 16:40:48 +02:00
TomZ 2c8954eafa Fix reorg-tx algo and add unit test for it.
The code to re-org all transactions in a block so transactions that
depend on others are processed after those they depend on had a silly
bug (missing line), fixed that but also made it unit-testable to
demonstrate the bug.
2020-10-17 16:38:37 +02:00
TomZ 1cb913c3e6 Make debugging the wallet easier. 2020-10-16 19:25:52 +02:00
TomZ a5c641b665 Add a way to go back to the main list of accounts. 2020-10-16 18:28:54 +02:00
TomZ 202ea2439a Add way to create new wallets
Including the import of an existing private key.
2020-10-16 18:28:33 +02:00
TomZ 9a43d52321 Forgot the licence header. 2020-10-16 13:18:01 +02:00
TomZ e04be32531 UX: make disabled buttons look different.
IMOHO a bug in Qt components, which makes this hacky.
2020-10-15 20:49:50 +02:00
TomZ ed73cc1713 Re-enable check for sanity 2020-10-15 20:06:17 +02:00
TomZ 5e27d6f1e9 Provide a menu to change the unit
Now we allow BCH / mBch/ etc to be set from the menu.
2020-10-15 20:04:10 +02:00
TomZ 99f5b728f5 Re-create the send page
This brings back a new GUI for sending payments.
2020-10-15 19:18:54 +02:00