Commit Graph

1457 Commits

Author SHA1 Message Date
tomFlowee 0011698e63 Minor fixes and adding asserts. 2024.01.2 2024-01-19 13:01:43 +01:00
tomFlowee c63460c6f6 Refactor the broadcast of transactions
This changes two implementations of the BroadcastTxData baseclass
to now use one which is a lot more robust and thread-safe as
well as fixing various smaller issues.
2024-01-19 00:03:16 +01:00
tomFlowee b916079b63 Rename to have consistent naming. 2024-01-18 23:18:27 +01:00
tomFlowee 32c8cf7fcf Instead of open as tx, search for one.
This helps the user understand better what happened if the transaction
isn't known (yet) by the network, since the blockchair service gives a
weird (buggy) page in that case.
2024-01-17 11:12:47 +01:00
tomFlowee e8a74673ba Fix 'back' after scan closing the app.
The scanner takes the focus away from the current page, so 'back' would
not see the page and we'd close the app...
2024-01-16 17:46:47 +01:00
tomFlowee 50c1442782 Use actually unique ID for selecting new wallet
When the user creates a new wallet, use the unique ID of a wallet
to find it and use it afterwards.
2024-01-16 17:32:56 +01:00
tomFlowee bebb53b670 Add ability to scan a private key on import 2024-01-16 17:32:56 +01:00
tomFlowee 115c0be717 Redo the checkbox and show tooltip on mobile
Use the proper configuration options of the class we're inheriting from
and make the title label be the 'contentItem'.
2024-01-16 17:32:56 +01:00
tomFlowee 19fd943484 Add comment about the zxing deprecation warning. 2024-01-16 16:43:06 +01:00
tomFlowee 5b8e5ecf09 cleanups of QR showing 2024-01-16 14:40:37 +01:00
tomFlowee 539d0fa229 Simplify the local_qml feature 2024-01-16 14:40:37 +01:00
tomFlowee b1cbf45849 Add cmake option 'skip-example' & skip that module
The final release should not include the example module as we aim
releases at normal people, not devs.
This makes the skipping of the example module part of the build
setup by simply passing in -Dskip_example=TRUE
to cmake.
2024-01-16 14:40:37 +01:00
tomFlowee d92db6208a Minor UX fixes around wallet management
- Make sure we always set the proper wallet on create, this would
fail on the very first after the initial wallet being created.

- Don't allow marking the initial wallet as archived in the UI
as that is a non-reversible action. The app will do it automatically
after a couple of weeks.
2024-01-16 10:48:23 +01:00
tomFlowee c079a171d9 Make the 'initial wallet' invisible
The initial wallet is already made auto-archived after a couple of weeks
not receiving any funds. Avoiding it allocating peers.
This makes sure we also do not show it in the mobile UI in the wallets
screen.
2024-01-16 10:48:23 +01:00
tomFlowee 88dd71b9ab Add 'copy address' menu option in the coin-selector. 2024-01-15 20:17:10 +01:00
tomFlowee 3c9b1e7d32 For a private key, allow showing QR. 2024-01-15 20:16:47 +01:00
tomFlowee 0284e81a04 Add various (UX) features
This adds a context menu to open the transaction in the blockchair
explorer.
We also show a visual feedback on copying the txid.
And we update the blocks past to be number of confirmations and avoid
any confusion.
2024-01-15 19:27:33 +01:00
tomFlowee 0f83fb7811 Import translations from crowdin 2024-01-15 18:24:40 +01:00
tomFlowee bdd64679b6 Make a tx show the creation time instead of mined
This stores the time of a transaction in the store of the wallet, and
indeed sets it when it is added to the wallet first time.
For instance when we create it or when the tx is first sent to us at
initial broadcast.

We add some logic to the model in order to put a bit more effort into
finding times of a transaction that did not get mined and (before this
code) did not get its time of creation set. Mostly this is about
rejected transactions. And there we guestimate the time instead.
2024-01-15 18:24:40 +01:00
tomFlowee 57643c4585 Move init rows to be after the constructor
This avoids using virtual methods on a not yet initialized object.
2024-01-15 18:24:40 +01:00
tomFlowee 89ee66191d Pardon old sinners after a while. 2024-01-14 17:08:22 +01:00
tomFlowee d101945019 Mark rejected transactions clearer as such. 2024-01-14 14:30:29 +01:00
tomFlowee c802ca4b83 Add backup height to the UI for non-HD wallets 2024-01-14 13:52:46 +01:00
tomFlowee ac58fb2483 Start new vesion 2024-01-13 19:39:48 +01:00
tomFlowee 9d47c69b08 Fix backup screen showing incorrect start-height.
It now correctly shows the blockheight that the wallet was created at,
which makes sense to backup.
2024-01-13 18:17:08 +01:00
tomFlowee f63765a70c Work harder to make headerSyncComplete get called
A wallet might get stuck in silly situations like starting up when
there is no block for a long time and then not actually being online
at the moment a new block gets mined.

This fix makes sure that at startup we 'unstuck' such a wallet without
there being a need for a new block to be mined while the app is running.
2024-01-13 18:17:08 +01:00
tomFlowee 4c573f88d6 Minor fixes 2024-01-13 18:17:08 +01:00
tomFlowee 39232e379c Add the Hausa translator here 2024-01-09 21:04:48 +01:00
tomFlowee f5e767afb4 Finished up Hausa translations (Crowdin) 2024.01.1 2024-01-07 12:31:45 +01:00
tomFlowee f1ad2bf6cc Starting 2024.01.1 2024-01-07 12:31:45 +01:00
tomFlowee 6161a43dac Add a statistics page to the Netview 2024-01-06 23:10:50 +01:00
tomFlowee 52b33acb0c [Android] when ipv6 available, connect to such peers
This adds (the first!) an actual Java class to do the checking which
interfaces are available and we then instruct the AddressDB to pick
addresses matching that.

In other words, when the Android device has a functional IPv4 network
interface, we will try to connect to peers on that IP version.
Same with IPv6.

Both can be active at the same time.
2024-01-06 22:11:00 +01:00
tomFlowee 8181b702d2 Port this class as well
The upsteam change to use smart pointers also applies to this
one. We just didn't compile it yet.
2024-01-06 22:11:00 +01:00
tomFlowee e7d3edd416 Re-introduce the blur for balance
After the Qt6 port we lost that, but now this is again supported
with a standard QML component.
2024-01-06 22:11:00 +01:00
tomFlowee 219f81763b New version 2024.01.0 2024-01-04 23:20:28 +01:00
tomFlowee 0b7587b51b Refactor the NetView (peers dialog)
This is likely the oldest component in the app and it was
really in need of a rewrite.
The state of peers is shown much clearer now, we use a proper
model in order to avoid the jumping and we use a more safe
way of getting at the data.
2024-01-04 23:20:28 +01:00
tomFlowee 51a0c6ab46 Fix cancelling the camera usage. 2024-01-04 22:12:08 +01:00
tomFlowee 1ca77a427a Import translations from crowdin.
This adds a new language: Hausa
2024-01-04 22:12:08 +01:00
tomFlowee b0a0528b93 Reviewed the checkbox 2024-01-04 22:12:08 +01:00
tomFlowee 3115f1527d Make indents more readable 2024-01-04 22:12:08 +01:00
tomFlowee 6f9f17a46b Make scanning simple QRs better.
This specifically allows pasting and scanning of bitcoincash addresses
without the 'bitcoincash' prefix.
Additionally this cleans up the QRScanner API a little and merges two
methods.

Last, at popular request, this makes showing the address on the
confirmation screen default to be on.
This allows people to actually verify the address they pay to.

Except when paying to a BIP70 payment because that is practically
speaking a system that avoids talking about addresses in the first
place. No point in trying to verify the actual address THERE.
2023-12-22 19:25:16 +01:00
tomFlowee 8e0c7c57e6 Follow Streaming::pool() refactor
This upstream refactor stopped passing in the pool by pointer and
now wraps it in a shared_ptr.

A lot less 'address-of' operators and generally cleaner code are
the result.
2023-12-22 16:46:23 +01:00
tomFlowee b317e20bdf Make pressing back on popup close popup
All key handlers should act on 'pressed' instead of 'released' in order
to avoid a parent stealing a key from a child.
2023-12-07 12:55:39 +01:00
tomFlowee dad6f54790 New bugfix version 2023.11.1 2023-11-30 21:16:52 +01:00
tomFlowee 47746e724d Follow upstream includes rename
The PublicKey. and PrivteKey.h used to be called different.
2023-11-24 18:20:41 +01:00
tomFlowee 2d49bfb804 Payments are valid also with non-p2pkh targets. 2023-11-19 17:14:56 +01:00
tomFlowee 6bafcecde9 Wrap the GuiSettings in a Flickable
For some screens it would not fit anymore on one screen.
2023-11-06 20:03:52 +01:00
tomFlowee e2c5d7191e Avoid buttons overlapping. 2023-11-06 19:48:13 +01:00
tomFlowee fc33df842b Update android version 2023.11.0 2023-11-06 18:02:16 +01:00
tomFlowee d976ebbb59 Set focus properly after scanning.
In the case where there is no specific input needed, because the amounts
were all specified, we still need to set the focus to the page because
otherwise 'back' / 'esc' don't behave correctly.
2023-11-06 17:17:18 +01:00