Commit Graph

92 Commits

Author SHA1 Message Date
tomFlowee c9c52ef886 Update to more common derivation path
Newly created wallets and the default path for imported wallets now use
m/44'/0'/0'
2022-08-18 16:58:48 +02:00
tomFlowee 11952ee75b Auto-archive the initial wallet after a while.
In some cases the initially created wallet is left running and taking a
peer (in order to check if anything ever got deposited at the QR-code
shown address).
This now sunsets those wallets after 2100 blocks (over 2 weeks).
2022-08-17 23:42:19 +02:00
tomFlowee 68ae73973e Cleanup includes 2022-08-17 19:55:29 +02:00
tomFlowee 1129e12dad Remove schnorr bool app-wide.
If its configurable, it should be per wallet. Not the whole app.
2022-08-15 23:59:12 +02:00
tomFlowee 55599c4708 Add 'new block notification' show/mute setting
Also clean up the settings menu a little and provide a new QML widget:
CheckBoxLabel
2022-08-15 21:16:33 +02:00
tomFlowee ac9717491a Fix API naming
Rename a pure-bitcoin-cash based method naming to no longer
have the word 'price' in it since that is associated with conversion
to another money or currency.
2022-08-14 16:46:23 +02:00
tomFlowee b6977642b6 Add an initial populate for the price history. 2022-08-12 23:47:12 +02:00
tomFlowee abe57bd142 Better 'mock' price.
When the user passes in '--offline' we now prefer to show the last known
price of Bitcoin Cash.
2022-08-12 23:47:12 +02:00
tomFlowee f27667c172 Integrate historical price module
For mined transactions we now use the historical fiat price of BCH
instead of the current.

This will give us a much more stable and historically accurate view of
our transactions.

Fixes: #7
2022-08-12 23:46:18 +02:00
tomFlowee 524f47dbf2 Catch and log saving errors on exit. 2022-07-14 14:54:27 +02:00
tomFlowee 1a5f2541cd Add debug 2022-07-13 13:54:29 +02:00
tomFlowee 663169530d Follow rename of CKeyID -> KeyId 2022-07-06 22:06:58 +02:00
tomFlowee de9dcca659 Honor the offline flag better. 2022-06-24 15:13:18 +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 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 dc0ff2e4ba Load and save encrypted wallets. 2022-05-17 23:51:57 +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 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 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 fc2eaa6f5e Don't leave the initial wallet name-less. 2022-04-06 14:45:46 +02:00
tomFlowee 63715be862 Avoid memory-management issues
FloweePay is an appliction singleton and as such a global that is
deleted outside of main().

The FloweePay app owns most of the data, including (implicitly) the
private keys. Private keys are managed with a LockedPoolManager in
order to enable page-locking and avoid them being swapped out.
LockedPoolManager is also a singleton, and so we make sure that it
is created _before_ FloweePay and as a result deleted after FP
releases the memory managed by the LPM.

Singleton interactions are always a bit messy.
2022-04-06 14:34:42 +02:00
tomFlowee 82cb29308b When unarchiving, assign peers.
This also makes the user-option of staying offline a bool on the FloweePay
app-instance, to make sure we honor that through the lifetime.
2022-04-05 21:42:02 +02:00
tomFlowee d0463e6b57 Make compile after upstream refactor. 2022-01-24 12:32:07 +01:00
tomFlowee 921b9851ff Avoid calling save twice
The destructor already calls save on each wallet.
2021-12-14 12:56:52 +01:00
tomFlowee fc870ab62c Fixes in icons
Also add the feature to open a just-sent transaction in a block-
explorer.
2021-11-30 12:02:33 +01:00
tomFlowee 5758d67e54 Merge branch 'master' into SendPanel 2021-11-23 17:17:43 +01:00
tomFlowee 95d2b7eedc Fix off-by-one 2021-11-23 17:17:36 +01:00
tomFlowee 9a2fe0444c Add most of WalletCoinsModel content. 2021-11-23 11:22:01 +01:00
tomFlowee a5bb96dd74 Be more finegrained in timing
Seems the label "Now" is not accurate enough for most when its almost
half an hour. Have a more reasoable labeling.
2021-11-21 13:23:31 +01:00
tomFlowee d350395898 Fix finding wordlists
Also added other wordlists to the search.
2021-11-19 13:44:54 +01:00
tomFlowee 3ec6467ac5 Fix directory we look for the wordlists. 2021-11-19 13:20:08 +01:00
tomFlowee c6ffb9bd6d Show summary text on the 'destination' groupbox 2021-11-18 17:41:05 +01:00
tomFlowee cfcbdede36 Add wallet-upgrade (version 1 -> version 2)
We introduced for secret keys the signature-type field, which is required
to avoid signing with one key as both Schnorr and ecdsa as
that can cause leakage making recovering the private key much easier.

So, we now store this data but old wallets didn't fetch that from
the incoming transactions. So this conversion fetches the data from the
transactions (which are on the device) and stores the sigtype with the
keys.
2021-11-02 14:54:59 +01:00
tomFlowee c20f97c510 Support 'startHeight' for all imported wallettypes. 2021-11-01 17:58:11 +01:00
tomFlowee 6c720feb60 Default to 12 word seeds. 2021-11-01 17:57:11 +01:00
tomFlowee 908a99ab05 Fix logic issue. 2021-11-01 16:33:53 +01:00
tomFlowee 32d2142ab0 Show dates nicer
This adds the feature that we show a "last receive" field on a wallet,
and we also change the date format to have "yesterday" style dates
for recent ones.
2021-10-31 15:30:38 +01:00
tomFlowee 73d17beef0 Improve feedback while typing a seed.
Now we instantly highlight when a word is not recognized.
2021-10-31 13:46:47 +01:00
tomFlowee 98431b6e17 Add and install bip39-english 2021-10-28 14:51:12 +02:00
tomFlowee 3b492ef804 When creating a new wallet, maybe reuse the hidden one 2021-10-27 19:11:00 +02:00
tomFlowee 80d7456898 Make new-wallet pane functional.
This changes the default generated wallet to be a HD wallet.
We also add a helper class to configure newly created wallets from QML.
This finishes up the new wallet panel to have all the visible features
actually do something.
2021-10-27 19:11:00 +02:00
tomFlowee da8b883116 Add 'startHeight' advanced property to import wallet.
This also fixes a bunch of bugs which makes HD wallets in principle work
(tested with big test wallet).
2021-10-21 20:54:34 +02:00
tomFlowee 80f731b8b4 Show more details about HD wallet in UI 2021-10-21 17:04:20 +02:00
tomFlowee 71fbf76034 Start to sync a wallet directly after creation. 2021-10-21 15:11:36 +02:00
tomFlowee 29d3ab393d Validate derivation path. 2021-10-18 23:19:57 +02:00
tomFlowee f61daf7cb9 Shape the 'import' screen to be much more useful. 2021-10-18 22:26:53 +02:00
tomFlowee 087e0ad3cc Add app version number in desktop GUI. 2021-08-09 18:46:38 +02:00
tomFlowee 8853a8652b Make sure importing a privkey gives a single-key wallet 2021-07-30 14:09:39 +02:00