Commit Graph

1166 Commits

Author SHA1 Message Date
tomFlowee 3346342784 Add 'max funds' feature to 'build transaction'
Allow the selection of all funds in a wallet to be sent to a
destination.

This also refreshes the UI layout a little.
2023-04-18 22:09:45 +02:00
tomFlowee 47b4e1ea0a Synchronize the errorRed colors
This adds a errorRedBg 'background' color for a popup with normal white
text on top of it.
2023-04-18 21:54:43 +02:00
tomFlowee 644556c74a Avoid referencing a const container as non-const
That may cause the CoW container to be copied for no good reason.
2023-04-18 21:22:21 +02:00
tomFlowee 686f4ab1af Fix wallet not showing in some cases.
This handles the special usecase where we replace the only existing
wallet with another one.
2023-04-18 21:21:01 +02:00
tomFlowee bd8ded906b Move away from std::rand()
Make sure everyone uses the randomness from openssl (via Flowee
libraries).
2023-04-18 21:09:45 +02:00
tomFlowee 0c6a35876b Fix a new wallet sometimes not seeing new transactions 2023-04-18 19:29:43 +02:00
tomFlowee 53166485c3 Add more background around logo
Some phones have rather extreme rounded edges around the image,
which cut off too much of the logo to be comfortable.
This makes the logo a bit smaller with more blue background that
is Ok to be cut off.
2023-04-18 14:52:53 +02:00
tomFlowee 79b9ec822a Avoid rounding. 2023-04-18 14:34:00 +02:00
tomFlowee 1ddcc3b05a Don't accept unconfirmed tx while doing the import 2023-04-18 14:18:01 +02:00
tomFlowee d9d92847f6 Make section names stick to the top of the view. 2023-04-18 10:33:28 +02:00
tomFlowee b6d895e8f5 Fix anythingNew to also check for blockheight
This means that an unconfirmed transaction doesn't stop it getting newly
added, which is needed to mark it as mined.
2023-04-17 22:47:18 +02:00
tomFlowee 309c4256e7 Special import feature for bigger bloom filters.
Fixes: #14

During import we now always send all change addresses to be monitored
for activity, even if they are empty.
The behavior of not reusing an address after its been emptied is not
universal and as such the import should account for this.

The privacy issue is really not harmed by this during import, as we
basically send all the addresses in a relatively short timespan to the
peer anyway.
2023-04-17 22:41:27 +02:00
tomFlowee ee49a11a2d Fixlets in naming, making cppcheck happy
Mostly avoiding reusing names also defined in a bigger scope.
2023-04-17 20:32:14 +02:00
tomFlowee b1320899e9 Optimize the newTransactions to avoid work
Don't do any work when the transactions that are being added are all
already known.
This is common when we send a merkleblock request to some peer after we
already have received the answer before. For instance when we double
check nothing is being omitted by some other peer.
2023-04-17 19:29:55 +02:00
tomFlowee d1d8c8ad0a Improve comment 2023-04-17 16:17:22 +02:00
tomFlowee b15f0f651d Fix a copy paste error, make this work more than once. 2023-04-17 16:17:03 +02:00
tomFlowee 2799ccb151 Make model a bit more robust in an async world.
Since recently the wallet can delete stuff, we need the model to
be more robust in accepting data not being there.

The "async" statement refers to the fact that the wallet acts
one messages from the network, which may be in any thread.
The signals from the wallet get handled by the WalletHistoryModel in the
Qt-UI-thread, asynchronous.
2023-04-17 16:16:31 +02:00
tomFlowee 9a6b9686b9 UX; move most complicated to bottom. 2023-04-17 14:27:54 +02:00
tomFlowee 35445e8e5c Reduce scope of variable. 2023-04-17 13:14:49 +02:00
tomFlowee d10db500ab Add detection of state problem
If we are lacking transactions this may cause some data inconsistencies
for the UI. Possibly causing a nullptr dereference.
This helps with early detection.
2023-04-17 12:33:42 +02:00
tomFlowee a8725ec4a9 new version 2023-04-09 11:30:26 +02:00
tomFlowee 939a22a015 Show 'payment to self' better 2023-04-08 14:19:01 +02:00
tomFlowee ab779242aa Add scroll thumb to the history list.
This allows us to navigate a longer list much easier.
2023-04-08 14:05:44 +02:00
tomFlowee b5dce3070a Make ScrollThumb better suited for mobile. 2023-04-08 14:03:23 +02:00
tomFlowee bb94edee23 Only show the title "your wallets" when you have > 1 2023-04-08 12:53:04 +02:00
tomFlowee 0970d45cc4 Fix ordering of transaction history
Move the emits of newly found transactions in order to make the
(semi-)recursive call of adding transactions be done in the right
order.
2023-04-07 12:44:22 +02:00
tomFlowee adc7edb250 Make the wallet emit tx removals
Now the wallet handles inserts-in-place by making removing and then
re-adding of transactions, the 'txIndex' is no longer guarenteed to live
forever.
So we now tell the world, and specifically the history model, about the
removal of txIIndexes.
2023-04-05 19:41:40 +02:00
tomFlowee 88f1d81443 Make sure we send the bloom filter a lot less often
One notable behavior change is that we increase the 'change' gap
considerably for wallets that are known to have 'cashfusion'
transactions as those use a lot of change addresses.

This chang also increases the normal gap to avoid people losing history
when importing from another wallet.
2023-04-05 18:07:09 +02:00
tomFlowee 515b09e721 Add some logging for the new code. 2023-04-04 22:33:28 +02:00
tomFlowee e20b476357 Update fusion comment on recheck
When we notice we used all HD keys on finding a transaction, we check
it again after creating a bunch of extra keys.
Now we also use the re-created comment which is where fusion transactions
place the amount of outputs matched.

This is a purely visual change.
2023-04-04 21:55:42 +02:00
tomFlowee 9f201a2627 Start using logging categories.
Instead of dumping everything in zero, use actually distinct categories
which allows logViewer to use them better.
2023-04-04 16:24:28 +02:00
tomFlowee 73e10f8bef Fix reordering of finding transactions
In our wallet we very rarely end up in a situation where we have to ask
the same transactions twice from a peer due to us having generated a
bunch of new keys from a HD wallet in the middle of a series we asked
that peer. Making the filter we sent at the start of the series be
outdated halfway through.

This is now handled properly.

This adds a unit test which tests that we now reach the right balance
and can add the same block multiple times without it failing.

Fixes: #12
2023-04-04 13:36:07 +02:00
tomFlowee a06a073595 Fix assert, as found by linter. 2023-04-03 11:46:32 +02:00
tomFlowee 6f46a18608 Follow flowee-libs changes
This implements the new API needed for the change in flowee libs.
The commit there is: 1d309cd7ae9bb668b481fe650e17e15fad037b2b
2023-04-01 23:01:37 +02:00
tomFlowee ec8fa4b95d Minor spacing fix 2023-03-29 16:06:12 +02:00
tomFlowee d0f56c85ee Don't send bloom filter more often than needed. 2023-03-29 15:43:22 +02:00
tomFlowee 082cba55ae Comments and const fixes. 2023-03-29 15:42:53 +02:00
tomFlowee dac5cf1222 Replace circle with simple progresbar
Built a simple progresbar from rectangles.
2023-03-23 20:03:39 +01:00
tomFlowee 67d2553d2e Fixes and cleanups
The dialog now visually looks the same as others on mobile.
2023-03-23 12:55:53 +01:00
tomFlowee e6efedee87 Fix positioning
Anchors are not fully declarative.
See report on jira at bugreports.qt.io with issue-code: QTBUG-112230
2023-03-23 12:34:16 +01:00
tomFlowee 01f87acc28 Add address on QR
This exports the payment-request address to the QML side.
We use this to show under the QR the address we are requesting to send
to.

This is quite useful for users wanting to manually check if things are
going well.
2023-03-21 23:33:23 +01:00
tomFlowee 3bdebe7b8d Introduce GUI settting: show bch.
On the main screen, also known as the "Activity view" this allows the
user to choose to only see fiat or see both Bitcoin Cash and fiat values
listed next to each transaction.
2023-03-21 22:28:41 +01:00
tomFlowee c4836213e5 Remove unused include 2023-03-21 21:55:41 +01:00
tomFlowee 4f595b5a36 Document "Pay" properties. 2023-03-21 21:43:34 +01:00
tomFlowee 80c365f3c4 Avoid cutting off large balances
Split the BCH and fiat prices over two lines.
2023-03-21 21:39:36 +01:00
tomFlowee bfac327fb1 Make the font smaller to make it fit. 2023-03-21 21:27:08 +01:00
tomFlowee 969ed7a4d4 Move to Qt 6.4.3 for Android 2023-03-21 19:18:24 +01:00
tomFlowee 7b35d70e53 Update Qt version 2023-03-21 18:23:11 +01:00
tomFlowee 9508df00dc fix isMoved check 2023-03-15 19:19:16 +01:00
tomFlowee 9bfbb3ea51 Replace placeholder with some basic icons. 2023-03-15 18:41:54 +01:00