759 Commits

Author SHA1 Message Date
edouardparis
bd3422ca35
Merge #1412: gui(installer): make edit key modal scrollable
47a5d3218503294065acebaee1add5b7d52d3a81 gui(installer): make edit key modal scrollable (Michael Mallan)

Pull request description:

  This is to fix #1402 following the suggestion in https://github.com/wizardsardine/liana/issues/1402#issuecomment-2448730840.

ACKs for top commit:
  pythcoiner:
    tACK [47a5d32](47a5d32185)
  edouardparis:
    ACK 47a5d3218503294065acebaee1add5b7d52d3a81

Tree-SHA512: 4bf84e041e4e2ae6cbb7645a75290912d975c7c7312e7779b95f855753dc8000ff6f377b13c85ed69cd68be721fde2998c6c1f3034b92b0dab03a07edc82af68
2024-11-04 18:08:16 +01:00
edouardparis
103651ec7f
Merge #1430: gui(installer): better warn. if a signer is not compatible w/ tapminiscript
37dab1bff29333e6f73616238d5e608975002ce7 gui(installer): better warning if a signing device is not compatible w/ tapminiscript (pythcoiner)

Pull request description:

  - replace this warning:
  ![image](https://github.com/user-attachments/assets/113f9608-a695-4389-8c53-f0da40fcb04f)
  by this one:
  ![image](https://github.com/user-attachments/assets/da666783-88ef-466c-a16a-5619c122d687)

  - before if a non tap miniscript compatible device was selected, the selected icon was displayed, now the warning icon have priority:
  ![image](https://github.com/user-attachments/assets/54b0e44e-c169-4aa0-b45d-7609b735cee2)

ACKs for top commit:
  edouardparis:
    utACK 37dab1bff29333e6f73616238d5e608975002ce7

Tree-SHA512: 5b23cf097618ea19adde4477319c431308946a46d9c92d898da62c16b3a27977cb5ac7b27e802ac4ef85c94ebc610c4621a26ceace78f94fb0e26558b9f389ca
2024-11-04 17:46:24 +01:00
edouardparis
c4370f8d41
Merge #1415: gui(installer): add space at bottom of pages
a105c495005ba715883a6e9a53fbdde93e7741ae gui(installer): add space at bottom of pages (Michael Mallan)

Pull request description:

  This is to fix #1410, including for the mnemonic and descriptor backup steps.

  The space height in all cases will be 70.0 when combined with the existing vertical spacing between elements.

ACKs for top commit:
  pythcoiner:
    ACK tested [a105c49](a105c49500)
  edouardparis:
    ACK a105c495005ba715883a6e9a53fbdde93e7741ae

Tree-SHA512: 5e9f27b80490e1eea0690750a52c650c7ea607c9c42a25cb0e96dab779d691e057a2629c00c772b0c5101d4054108eb8f33ea984b837026bb858824221aca71f
2024-11-04 17:37:07 +01:00
pythcoiner
37dab1bff2 gui(installer): better warning if a signing device is not compatible w/ tapminiscript 2024-11-04 16:54:55 +01:00
edouardparis
b6e50e5b2c
Merge #1421: Refresh cache more often in GUI while wallet or blockchain is syncing
918909db235ff8a0886a9f74d7ac3b1caec83324 gui: include last poll for cache refresh interval (Michael Mallan)
c915970c7b00adbd27c0d8a20116d1bda57a8d2c gui(home): pass sync status directly (Michael Mallan)
92a4a4f8dcaa75bc7181767b1958e39c94e8ad3f gui(cache): store last poll at startup (Michael Mallan)
acf14c6d734fc238dc1f44a4b5bab1f3f6411c9b gui: refresh cache more often while syncing (Michael Mallan)
e419784e9f2da76e8e86c03c8773f0dcb2a883da gui: move sync status function to wallet module (Michael Mallan)

Pull request description:

  This is to resolve #1414.

  In the end, I felt it was simple enough to include commits that cover both parts of #1414 (the short-term change and the follow-up).

  I start with the short-term change (setting the refresh interval ignoring the last poll logic) and then follow with commits that cover all syncing statuses.

  I don't use as high a refresh frequency for a remote backend as for a local backend, but these values can be easily changed if required.

ACKs for top commit:
  pythcoiner:
    tACK [918909d](918909db23)

Tree-SHA512: 6b47f315b0d50b2898435247b288562413e0f0abf520747edc67166c66153f7432e65ae5b3337bba67c71ade7181110e5dbfbc58df3b8510bfb5d9eb29b2bb02
2024-11-04 16:11:32 +01:00
edouardparis
3549a712d5
Merge #1400: gui: add support for tapminiscript on bitbox02
01f6d2b76985a92ec19ccd37a8e4005219b94563 gui: add support for tapminiscript on bitbox02 (pythcoiner)

Pull request description:

  This PR is build on top of #1357, with few adds:
  - get the version from bitbox device
  - check the version for taproot support
  - copy `tap_script_signs` & `tap_key_sig` if present in the pruned psbt after signature

  Tested spending by internal key & taptree w/ differents setups

  ~~Note: this PR use `bitbox-tapminiscript` branch of `async-hwi`~~

ACKs for top commit:
  edouardparis:
    ACK 01f6d2b76985a92ec19ccd37a8e4005219b94563

Tree-SHA512: aa66a0ebe8553fd13dd5e279adaf1360cdce0d4ccb09f49181f20bc5e4c3c653c0ab056c35ac5cf6ccb3eeb696dcfd94463e6235d1cdb2063ecb503695ad4b99
2024-11-04 14:25:01 +01:00
pythcoiner
01f6d2b769 gui: add support for tapminiscript on bitbox02 2024-11-04 12:17:48 +01:00
edouardparis
d87da1eeaf
Merge #1419: gui(edit key modal): increase size of the closing icon
f4596ab4b0974d0b3986c0431337b8a304333278 gui(edit key modal): increase size of the closing icon (pythcoiner)

Pull request description:

  Fixes #1409
  ![image](https://github.com/user-attachments/assets/dda46bf0-6ada-4dd7-a88a-973a4b989765)

ACKs for top commit:
  jp1ac4:
    Tested ACK f4596ab4b0.

Tree-SHA512: ac0ace1ca0c6463d05daf4fb9fb770e9a6be639633dbd3bfd019c9c2de193b4141d3fbb32d0c9f71b97694339aa6b5e4a06c2e538f8c0394e60ad71ff9edde8c
2024-11-04 12:17:29 +01:00
edouardparis
456fce35a5 bump gui msrv to 1.71.1 2024-11-04 11:30:05 +01:00
pythcoiner
f4596ab4b0 gui(edit key modal): increase size of the closing icon 2024-11-01 16:14:37 +01:00
Michael Mallan
918909db23
gui: include last poll for cache refresh interval 2024-11-01 12:31:42 +00:00
Michael Mallan
c915970c7b
gui(home): pass sync status directly 2024-11-01 12:31:40 +00:00
Michael Mallan
92a4a4f8dc
gui(cache): store last poll at startup 2024-11-01 12:31:37 +00:00
Michael Mallan
acf14c6d73
gui: refresh cache more often while syncing
Refresh the cache more often while the wallet has a syncing
status of some kind in order to detect sooner that this has
finished.

This does not cover syncing scenarios that require the first poll
to be detected since we don't currently store the required info
(the last poll at startup). This should be covered in a follow-up.
2024-11-01 12:31:36 +00:00
Michael Mallan
e419784e9f
gui: move sync status function to wallet module
This will make it easier to reuse elsewhere.
2024-11-01 12:31:33 +00:00
Michael Mallan
322597f474
gui(installer): re-add next button
This Next button was accidentally removed in commit
bd03cc9cfffb7c5c45dd0dd60d54db807d4e02a2.

This re-adds the button with some code refactoring.
2024-11-01 10:20:48 +00:00
Michael Mallan
a105c49500
gui(installer): add space at bottom of pages
The space height in all cases will be 70.0 when combined with the
existing vertical spacing between elements.
2024-10-31 12:29:48 +00:00
Michael Mallan
47a5d32185
gui(installer): make edit key modal scrollable
This avoids problems with the "Apply" button when there are
many keys to choose from.
2024-10-31 11:09:33 +00:00
edouardparis
59c73001a4 Disable edit of defined key in multisig template recovery path
The primary keys shouldn't be editable from the recovery path in the
Multisig Savings template but only from the primary path. It could bring
to weird behaviors and corner cases.
2024-10-30 16:26:39 +01:00
edouardparis
799ec102a8
Merge #1396: gui: upgrade managed bitcoind version to 28.0
1bc6248063c908219d4f1e343ca487c4f64d7843 gui: upgrade managed bitcoind version to 28.0 (Michael Mallan)

Pull request description:

  This is to resolve #1372.

  Hashes were taken from https://bitcoincore.org/bin/bitcoin-core-28.0/SHA256SUMS.

  File names we use can be found here:
  2d5991cb0c/gui/src/node/bitcoind.rs (L42-L60)

ACKs for top commit:
  edouardparis:
    utACK 1bc6248063c908219d4f1e343ca487c4f64d7843

Tree-SHA512: c6c5976c357164dc2f6e31f5af7981c41ef63197bfb1aac1f54ddb30dff423796fe23957e5a2c6014fcdabb64b91057a97b22d3c9e7ea33bcfa5ce47c912846a
2024-10-30 15:29:40 +01:00
edouardparis
36af35fae3 refac: remove select button at the choose template step 2024-10-30 14:00:03 +01:00
edouardparis
2eddbbd700 change wording in inheritance template 2024-10-30 14:00:03 +01:00
edouardparis
789c2aebfb Add new template: multisig security wallet 2024-10-30 14:00:03 +01:00
edouardparis
bd03cc9cff Add inheritance and custom templates 2024-10-29 14:52:09 +01:00
edouardparis
5889e60dc2 Add descriptor template description step 2024-10-29 11:33:48 +01:00
edouardparis
fab3303147 installer step: ChooseDescriptorTemplate 2024-10-29 11:33:48 +01:00
edouardparis
d0ec811bef installer: refac setup as a list of paths 2024-10-29 11:33:48 +01:00
edouardparis
5fabd987e8 move installer view module in a directory 2024-10-29 11:33:48 +01:00
edouardparis
0b1932c9fa keep key hot signer origin 2024-10-29 11:33:48 +01:00
edouardparis
e6f85227ca installer descriptor editor: add key module 2024-10-29 11:33:48 +01:00
edouardparis
d73894dfa0 installer: module editor 2024-10-29 11:33:48 +01:00
Michael Mallan
0a674d591a
gui: load app directly if wallet was previously synced 2024-10-28 12:57:54 +00:00
Michael Mallan
1408f66963
gui(home): indicate if blockchain is syncing 2024-10-28 12:57:52 +00:00
Michael Mallan
62788d105c
gui(cache): include sync progress 2024-10-28 12:57:50 +00:00
Michael Mallan
f3a136c30b
gui(home): refactor sync status logic
Use an enum to clearly enumerate the different cases we are
considering and avoid the need to repeat logic relating to
blockheight in the view.
2024-10-28 12:57:48 +00:00
Michael Mallan
1bc6248063
gui: upgrade managed bitcoind version to 28.0 2024-10-25 15:02:20 +01:00
Michael Mallan
ec7556ee12
gui(home): indicate existing wallet is syncing
If opening an existing wallet that uses a local backend, indicate
that it is checking for new transactions until the first poll
completes.

A remote backend is always synced after the initial scan.
2024-10-24 15:03:40 +01:00
Michael Mallan
f7314aa26e
gui(cache): include last poll timestamp 2024-10-24 15:03:36 +01:00
Michael Mallan
9dd737b98c
gui: upgrade liana dependency 2024-10-24 14:58:21 +01:00
edouardparis
e3ae1f369b Use signWithOtp method instead of the resend endpoint
close #1385
2024-10-23 12:53:43 +02:00
edouardparis
2711e34430 fix clippy error redundant clone 2024-10-23 12:43:51 +02:00
Michael Mallan
9208cd11b2
gui: don't treat wallets using bitcoind as syncing
If the user has imported a descriptor and is using bitcoind as
a local node, then they will need to perform a rescan in order
to see past transactions.

Treating the wallet as syncing in this case could mislead the
user that a rescan is being performed. Therefore, it's better
to keep the past behaviour here to avoid further confusion.
2024-10-21 11:00:03 +01:00
Michael Mallan
f34bb1b79a
gui: include node type in embedded daemon backend
This is for convenience in case we need to know the node type
being used.

Although we expect there to always be a node type, it is kept as
`Option` to be consistent with the daemon config.
2024-10-21 11:00:01 +01:00
edouardparis
67c9262a30
Merge #1370: [GUI] Indicate wallet is syncing after completing installer
6f4eb79a5a45751a1c919565ea9c88f59fbda0ab gui: refresh cache more often while height is 0 (Michael Mallan)
a51110269c96e7a9d7c4143e0bd6f8cf27a703a3 gui(home): indicate that wallet is syncing (Michael Mallan)
b452966653da1f2d857dd5901972171aa9d1250c gui(home): track blockheight from cache (Michael Mallan)
1d1e735ae975bb73af5389090e1eee68c727c7ea ui: add loading spinner that types text (Michael Mallan)
3c46a7337c57ef646626d052a0ab23a7fa0ecb17 ui: add carousel loading spinner (Michael Mallan)
e4c1ab106d74ad193aa1ba2f5746ce598c4801e5 ui: render amount with chosen colors (Michael Mallan)
013feb3909ebed0a8850a51a7d61383f327b5d4d ui: refactor amount function (Michael Mallan)

Pull request description:

  This is to resolve #1361.

  The home page considers the wallet to be syncing if its height is 0. In this case, the balance will slowly blink and a "Syncing..." text will appear just below.

  The home page will check the wallet's height upon each cache refresh, and will reload the home page once the syncing has completed so that the updated balance is displayed without the user needing to do anything.

  Both the blinking balance and "Syncing..." text use a new `Carousel` widget that cycles through different child widgets at a specified rate.

  EDIT: I've added an extra commit to address #1363 as that is also related to the wallet height and cache refresh.

ACKs for top commit:
  edouardparis:
    ACK 6f4eb79a5a45751a1c919565ea9c88f59fbda0ab

Tree-SHA512: 04214ccb1cf998ae6f7589f2c37335416a6d39b668269c4e07e30c8713e1a0e9e46257c60cea7b19ee6d6e35cbdccaf1122d25a66e6e7e905de51fce185f9180
2024-10-18 14:46:14 +02:00
edouardparis
3e33353745 change button kind for transaction save modal 2024-10-15 11:47:27 +02:00
edouardparis
0c2f0de951 Add light background to active buttons 2024-10-14 12:22:10 +02:00
edouardparis
5c9171d090 remove unused picklist theme 2024-10-14 12:02:13 +02:00
edouardparis
8546e55ffa change button for secondary button for consistency 2024-10-14 11:45:13 +02:00
edouardparis
08854c4940 change secondary button ui
The secondary button is light grey border and transparent
background that has border and text green on hover.
It brings consistency with item list selection that
has green border on hover.
2024-10-14 11:36:38 +02:00
edouardparis
277945dddf convert all primary button to secondary button 2024-10-14 11:24:43 +02:00