121 Commits

Author SHA1 Message Date
edouardparis
a88963cd77
Merge #952: gui: do not display hw error on simple user refusal
3a30a36ce5f58e8ae2c92926384d76253e702894 gui: do not display hw error on simple user refusal (edouardparis)

Pull request description:

  close #937

ACKs for top commit:
  edouardparis:
    Self-ACK 3a30a36ce5f58e8ae2c92926384d76253e702894

Tree-SHA512: c2c1aed212b9389bac62da17552daa6d87d0eeea6180ec19e37dd9ef4dd0faa935a621123df6306ef9ca6fadffba35c1c047d2906a9c15db3a14cd8ccf156e29
2024-02-02 11:55:01 +01:00
edouardparis
3a30a36ce5 gui: do not display hw error on simple user refusal
close #937
2024-02-02 11:32:39 +01:00
jp1ac4
416dc9d2d8
gui(installer): clear checkbox if descriptor is changed 2024-02-02 10:23:43 +00:00
edouardparis
24f67d2a85 Fix error message when importing desc for wrong network
close #781
2024-01-24 13:48:05 +01:00
edouardparis
a7b8486079 fix panic for managed bitcoind on network change
close #934

Co-authored-by: jp1ac4 <121959000+jp1ac4@users.noreply.github.com>
2024-01-23 17:24:28 +01:00
edouardparis
8146269296 Reset bitcoind default settings on network change
close #812
2024-01-23 15:38:28 +01:00
edouardparis
3196a8025e gui: bump liana:master and async-hwi:master 2024-01-22 15:49:56 +01:00
edouardparis
1526d15768 fix clippy errors for rust 1.74 2024-01-22 12:20:13 +01:00
Aaron Carlucci
b4f505c431 Change text when downloading Bitcoin to include version number
Minor formatting fix

Text change to specify 'Bitcoin Core' during installation download
2024-01-12 18:54:50 +01:00
jp1ac4
38198cc79f
installer: support user/password RPC authentication
If using a self-managed node, this adds the option to authenticate
with the RPC server using user and password.
2023-12-28 17:22:40 +00:00
jp1ac4
3ccdafbda2
gui: support user/password RPC authentication
This change updates the GUI to support the latest lianad config
file with the user/password option for bitcoind RPC authentication.

The settings have been updated to set either cookie file path
or user and password.

The installer still only supports the cookie file and has only
been updated with the changes required to compile.

When starting, the internal bitcoind now looks for the cookie file
in the usual location rather than relying on the config file.
2023-12-28 17:22:39 +00:00
Antoine Poinsot
3077062c84
gui: installer: clearer placeholder in xpub edit field
I'm not sure what rustfmt is doing here.

Fixes #451.
2023-11-20 19:16:57 +01:00
jp1ac4
bdd16c73bc
installer: start new bitcoind download if not finished
In case user clicks on Previous before bitcoind download has
finished, this will clear the incomplete download from
`InternalBitcoindStep` so that a new download will start if the
user returns to this step.
2023-11-01 18:07:32 +00:00
edouardparis
a14f3afa2a installer: do not reload last step on next message
If a user clicked very fast a lot on the Next button
to trigger multiple Next messages, then the last
step of the install reloads multiple time.
This commit introduce a check that ignore next message
if the step is the last one.
2023-11-01 15:29:54 +01:00
edouardparis
9a4b665fa1 fix wallet name in settings during install 2023-10-30 19:03:24 +01:00
jp1ac4
1808f8f1de
gui: allow to bump managed bitcoind version
This makes it possible to bump the managed bitcoind version used
when installing a new Liana wallet.

The GUI will look for the most recent managed bitcoind version
available when starting bitcoind so that existing wallets
with a previous managed bitcoind version will not be affected.
2023-10-26 11:32:24 +01:00
edouard
4be74ad496 refac hw module and add bitbox support 2023-10-24 17:23:57 +02:00
edouard
70dea710ae installer: forbid keys with same master fg in same path 2023-10-20 11:48:18 +02:00
edouard
19491d1d00
Merge #720: gui: Trim text inputs
9895b493f1d79ae8fc5a1591ef455ccda2d81ccd gui: trim text input strings (jp1ac4)
d3f2931375ff95c201a60164bf1015f18c6e87ce gui: remove unused file (jp1ac4)

Pull request description:

  This is to resolve #323.

  Following suggestions in #323, I've added a new `TrimmedString` struct that takes a string and applies `trim()`. This type is then used as `form::Value<TrimmedString>` to ensure text inputs are trimmed.

  I'm creating this PR as draft to check if this is the right approach before applying the change to other inputs.

  I've also removed a view file that seems to have been created accidentally.

ACKs for top commit:
  edouardparis:
    ACK 9895b493f1d79ae8fc5a1591ef455ccda2d81ccd

Tree-SHA512: 76c7f28ed2d0b6b6b76658a9368b918b0b211e2fabd72ac5d19c13adcbb2d3645b78680a8849f235ee58620fbe8df440ef8354f2d50d39601879bb7727465335
2023-10-06 10:22:53 +02:00
jp1ac4
9895b493f1
gui: trim text input strings
This is applied to all forms except those concerning fingerprint labels
and the new GUI labels feature.
2023-10-06 01:48:41 +01:00
edouard
52eabd6e07
Merge #715: installer: Finalize installation and start automatically on final step
f771e674faccf150a5210b3abe829d443619c3e6 gui(installer): restrict clicking previous on final step (jp1ac4)
45f91216d5d0991d7aebde8d4c8bc99edaf5521a gui(installer): remove unused fields from final step (jp1ac4)
03c2bd76b8c6c1b721014afb37da7732ddfeb0cd gui(installer): install and start automatically on final step (jp1ac4)

Pull request description:

  This is to resolve #679.

  The following changes have been made:
  - Change title of final step to "Finalize installation"
  - Install and load wallet automatically when reaching final step
  - Remove fields from `Final` step that are no longer used

  This is how the page looks when installing:
  ![image](https://github.com/wizardsardine/liana/assets/121959000/a5f2b35d-4c4b-4316-9b7b-744a19daf597)

  The following is only shown for ~1 sec once wallet has been installed and before loading wallet:
  ![image](https://github.com/wizardsardine/liana/assets/121959000/830240a1-860c-4c89-890a-e1fb91adfc25)

ACKs for top commit:
  edouardparis:
    ACK f771e674faccf150a5210b3abe829d443619c3e6

Tree-SHA512: b5360c77a13e4028331e4072246f1c897aa6fe61b0c8697b33d5c91ed460e55fe76b8808f4779db2b2f0322e27433e5dbb72fd0210cbf77f28a270bd82ea2558
2023-10-05 11:09:38 +02:00
jp1ac4
f771e674fa
gui(installer): restrict clicking previous on final step 2023-10-04 18:26:08 +01:00
jp1ac4
45f91216d5
gui(installer): remove unused fields from final step 2023-09-28 18:46:06 +01:00
jp1ac4
03c2bd76b8
gui(installer): install and start automatically on final step 2023-09-28 18:45:04 +01:00
jp1ac4
7079c6f82b
installer: show message when starting bitcoind
This message will now be shown also in case bitcoind was already
installed on a previous occasion.
2023-09-18 14:42:35 +01:00
Antoine Poinsot
3a4192bfc5
[bugfix] gui: installer: don't let them generate more than one xpub
We would always generate the same one.
2023-09-01 12:51:35 +02:00
jp1ac4
6d9b754800
gui: ensure we can retry starting in case of error 2023-08-31 16:04:18 +01:00
edouard
bc87839e52 Gui config: start_internal_bitcoind
Installer will install bitcoind in a directory
that will have always the same relative path to
the liana datadir.
GUI needs then only a flag "start_internal_bitcoind" set to true
to check the conventional path of the downloaded bitcoind exe
and start the internal bitcoind
2023-08-31 12:23:29 +02:00
edouard
d700f8a3cf Add parent directory to bitcoind exe and datadir
.liana/bitcoind
├── bitcoin-25.0
│   └── bin
└── datadir
    ├── anchors.dat
    ├── banlist.json
    ├── bitcoin.conf
    ├── blocks
    ├── chainstate
    ├── debug.log
    ├── fee_estimates.dat
    ├── mempool.dat
    ├── peers.dat
    └── settings.json
2023-08-31 11:56:22 +02:00
edouard
4c4efebe5b gui: encapsulate bitcoind process management
To know and manage the fact that gui or installer
started a bitcoind sub process, the process child
is wrapped and passed by the different state of the app.
2023-08-31 08:29:50 +02:00
edouard
d4cf9e3466 fix: move structs next to their methods 2023-08-30 18:52:34 +02:00
edouard
c756969e72 cleanup bitcoind module dep to app config 2023-08-30 18:52:34 +02:00
jp1ac4
bf67f94f56
installer: download and install bitcoind 2023-08-30 16:01:43 +01:00
jp1ac4
d507d5760a
gui: add subscription to Step trait 2023-08-30 16:01:43 +01:00
edouard
52f3ac6a09
Merge #655: check imported descriptor network
7ad12c50db52309c5a22e7fe52ca2e3018f8c178 check imported descriptor network (edouard)

Pull request description:

  close #337

ACKs for top commit:
  edouardparis:
    Self-ACK 7ad12c50db52309c5a22e7fe52ca2e3018f8c178

Tree-SHA512: d760540fedbdfc4eff4ff8c34305a6c98d5f9817c981289903e11f7c536fb0dedf490f1eb72ccaa392f02db8b28f8c19f9edc386b5cb8afbaffa0e4aa59c49f3
2023-08-30 15:56:54 +02:00
edouard
7ad12c50db check imported descriptor network
close #337
2023-08-30 14:21:45 +02:00
Antoine Poinsot
f9b2ff1413
installer: remove legacy warning on incompatible descriptor.
Fixes #613.
2023-08-29 16:26:54 +02:00
jp1ac4
bc35cdaad8
installer: move bitcoind steps to own module 2023-08-28 15:00:53 +01:00
jp1ac4
36cf85d849
gui: add option to use internal bitcoind
During installation, the user may choose for Liana to configure and start bitcoind for them.

This internal bitcoind uses as its data directory the `bitcoind_datadir` folder within the
Liana data directory.

If the internal bitcoind option has been selected for a network, it will be automatically
started when the user returns to Liana and stopped when Liana is closed.
2023-08-23 16:43:55 +01:00
jp1ac4
765c68b02e
installer: allow for different previous messages
Clicking the "Previous" button during installation will default
to the current behaviour, unless a different message is passed to
the function by any given step.
2023-08-23 14:39:18 +01:00
edouard
df7e575594
Merge #606: gui: installer: convey registering on a signing device isn't always required
bba5cd63e81a491c28eddc14e4087ba179794a3c gui: installer: convey registering on a signing device isn't always required (Antoine Poinsot)

Pull request description:

  As discussed in #545, in some cases we nudge the user to register the descriptor on their signing device although they might not have one. Those cases only ever arise when importing a descriptor (either when recovering from backup or participating in the creation of a descriptor on another laptop), since when the descriptor is created beforehand we can simply detect whether a signing device was used and thereby needs to be registered (implemented since https://github.com/wizardsardine/liana/pull/470).

  Therefore, detect when the registration step arises as part of an import process and if so adjust the language to convey registration on a signing device may not be necessary.

  Result:
  ![image](https://github.com/wizardsardine/liana/assets/22457751/b6964dbc-c1e4-4059-b85a-c61492ba523c)

  Fixes #545.

ACKs for top commit:
  edouardparis:
    ACK bba5cd63e81a491c28eddc14e4087ba179794a3c

Tree-SHA512: 5b25b0c980f3e57563fc3c301802a7c4da50d7c80802d3e6a7517f98ee1da60e9d5ebe890ce3b8c34ca882220d920e31c59b79877c9e8f48b72b092d3809acda
2023-08-18 09:21:15 +02:00
edouard
30ce2dea08 installer: use appended path instead of account number for xpubs 2023-08-11 17:48:10 +02:00
Antoine Poinsot
bba5cd63e8
gui: installer: convey registering on a signing device isn't always required 2023-08-11 12:47:41 +02:00
edouard
869f3ec3d2 installer: disallow xpub with-appended derivation path
close #576
2023-07-20 15:32:21 +02:00
edouard
e327928f83 gui: bitcoin=0.30 and async-hwi=0.0.8 2023-07-19 16:24:28 +02:00
edouard
b070d61edb gui: bump iced 0.9 2023-06-05 11:08:04 +02:00
jp1ac4
c55b992ace
gui: clear fingerprint alias when changing device type 2023-05-26 08:23:36 +01:00
edouard
98c7d54ae0 gui: increase scrollable width 2023-05-11 13:39:31 +02:00
edouard
916e475395 change install registration text 2023-05-11 13:26:13 +02:00
edouard
200fa9e7b4 fix installer final step view 2023-05-10 17:05:26 +02:00