464 Commits

Author SHA1 Message Date
Antoine Poinsot
4f78d3b3d0
Merge #986: Gui taproot
b7f35c03300710c71f5e8a4af471260f0a35ddc0 Add installer dropdown for advanced settings (edouardparis)
59a4b181c1e1be64ed8122edd95a7378ebef39af fix: merge tap_script_sigs from signed psbt (edouardparis)
02a52b98bcdbcf62d42c748b154beaee76d0f26a add ledger version support for tapminiscript (edouardparis)
2debb32181f2365fb4e30d9d7e28a4cb7c86cd65 Add taproot support to installer descriptor editor step (edouardparis)
8bc0cac00a4894c316285223924e91a85f1c6088 gui: async-hwi:0.0.16 (edouardparis)
4a4c78d5f7ed43aae1199481fb060e77d1d88c80 bump liana:master (edouardparis)

Pull request description:

  based on #985

ACKs for top commit:
  darosior:
    tACK b7f35c03300710c71f5e8a4af471260f0a35ddc0 -- i've lightly tested this a couple times. It's good enough to get in and get tested along with the other changes.

Tree-SHA512: 4481be4797cf6fa901de9fec989837381c7817d18dd2c9a45ff1802a15982d1251696e577fb23da2d4ca9f0ed27044dade28f0e7b56703594dae4b3a5065306b
2024-03-20 19:19:58 +01:00
edouardparis
d7b8f53c1f
Merge #992: [GUI] Limit amount to 8 decimal digits
9415dc939080caa5bf41e93c8717dd0b75bb6a0e new_amount_btc (pythcoiner)

Pull request description:

  This PR replace #977 and fixes #798
  I've followed jp1ac4 advice and create a `Form::new_amount_btc()` method that act like `Form::new_trimmed()` ~w/ few more (filtering) features:~
  ~- allow only input of "0123456789,." characters~
  ~- "," is replaced by "."~
  ~- only one "." separator~
  ~- maximum 8 digit after separator~

  ~these features works for keyboard input or paste~

  ~i've tryied to add a "0" in case the String start with a "." but this make the cursor have a bad location and i do not find a way to control the cursor location w/ iced, so i revert this feature~

ACKs for top commit:
  jp1ac4:
    ACK 9415dc9390.
  edouardparis:
    ACK 9415dc939080caa5bf41e93c8717dd0b75bb6a0e

Tree-SHA512: c8387e5fd9c3c030a71d0ba4a7aa3cd7f834215000f04e4e4d6b689c6bc9bf9dcecbf8b0799882f00f92d5bb8a656714f5149479e7f25e608a0ce96326a6e630
2024-03-20 18:37:43 +01:00
edouardparis
b7f35c0330 Add installer dropdown for advanced settings 2024-03-20 17:33:39 +01:00
edouardparis
59a4b181c1 fix: merge tap_script_sigs from signed psbt 2024-03-20 17:33:39 +01:00
edouardparis
02a52b98bc add ledger version support for tapminiscript 2024-03-20 17:33:39 +01:00
edouardparis
2debb32181 Add taproot support to installer descriptor editor step 2024-03-20 17:33:39 +01:00
jp1ac4
67ebde1432
gui: add wallet to reload 2024-03-20 12:41:54 +00:00
edouardparis
ff7e30794b gui: sort events and txs after push in the list
when a pending tx is confirmed, it is pushed in the
HistoryTransaction list at the end. It should be first
in the list. We sort now the list in order to make sure
it will be always the case.
2024-03-20 13:01:36 +01:00
pythcoiner
9415dc9390 new_amount_btc 2024-03-18 21:23:56 +01:00
edouardparis
56d9dbb72d fix recovery panel reload
Once a psbt was generated with the recovery panel
it is impossible for user to start again a recovery process
He is redirected to the previous generated psbt because
of the panel state being not reset.

This commit reset the panel state on reload.
2024-03-18 11:48:08 +01:00
pythcoiner
e38c5f1232 move qr code to modal 2024-03-14 19:48:52 +01:00
Antoine Poinsot
b11dbfd6f5
Merge #996: gui: hint at rescan when importing wallet
492baeaabaf181523d0aac3ac1da8ce2ca837ece gui: hint at rescan when importing wallet (jp1ac4)

Pull request description:

  This is to resolve #866.

  I've added the message to the first step where the user enters the descriptor:

  ![image](https://github.com/wizardsardine/liana/assets/121959000/122c0476-79b5-4b0d-a711-73312a94dc01)

ACKs for top commit:
  edouardparis:
    ACK 492baeaabaf181523d0aac3ac1da8ce2ca837ece

Tree-SHA512: 7899ca979b2988d18e6d7be35bad4029db0f1c45f332739f779b532059a710be70463bb85167ffc04491dae35d9300e051788da92bd63ca67a301576b449ad8b
2024-03-13 19:23:27 +01:00
Antoine Poinsot
3bd9160d02
Merge #1003: Add default hint for hardware wallet errors
d2c4f136649c0a259b29531487737a50a2339be9 Add hint for hw errors (edouardparis)

Pull request description:

  Signing fails if another process has an open connection with a Ledger for example. Async-hwi needs to have a more detailed error api in order to handle graciously errors, but for now we provide a hint to what to check for the user

  close #381
  ![20240312_17h00m03s_grim](https://github.com/wizardsardine/liana/assets/6933020/6e5aff8c-d46f-4a44-a5e6-68d40e4d297c)

ACKs for top commit:
  jp1ac4:
    utACK d2c4f13664.

Tree-SHA512: 651c123e4f65af7080a6617062c98fb58f03b3b564c3bd104332eaa198b27242bda180118c996b46822b27168fabdd1ff422a9dfd2285db479f0332edc8908a4
2024-03-13 17:11:34 +01:00
edouardparis
a7b9718ddf
Merge #979: [GUI] fixed size/position for PSBT badges
e05e42136801e3168b99be378ae85e2852a8ccf6 refac ui: expose badge_pill width (edouardparis)
66f392c7543a013d0ba7eed8a3104538dd10f1f5 fixed size for badges (pythcoiner)

Pull request description:

  this PR try to fix #509
  i refactored some badges , moving (optional) `batch` badge before mandatory ones and give fixed positions/size for mandatory badges

  before:

  ![image](https://github.com/wizardsardine/liana/assets/124568858/02390bf1-d409-4854-a2bc-e9cf39aae53e)

  after:

  ![image](https://github.com/wizardsardine/liana/assets/124568858/38fee222-e0ee-42ad-a088-0ac449a6fa81)

ACKs for top commit:
  edouardparis:
    ACK e05e42136801e3168b99be378ae85e2852a8ccf6

Tree-SHA512: 9e7efa8aec40540255666350f2aea3f7175cb2fd161152e30335eb2a8b605ba5fa8fbac9cce90e7e3e53aab3ca71c8cc855ae8448ddfed337cf2eca2dc3d2e2a
2024-03-13 15:55:10 +01:00
edouardparis
e05e421368 refac ui: expose badge_pill width 2024-03-13 15:36:37 +01:00
jp1ac4
492baeaaba
gui: hint at rescan when importing wallet 2024-03-13 14:25:10 +00:00
edouardparis
d2c4f13664 Add hint for hw errors 2024-03-12 16:58:22 +01:00
jp1ac4
a997a7bcff
gui: don't rely on cookie to check successful start 2024-03-11 11:35:12 +00:00
jp1ac4
5e5c3330ee
gui: use rpcauth in installer for internal bitcoind 2024-03-11 11:35:12 +00:00
jp1ac4
7584b6347b
gui: start internal bitcoind with given config
This will allow bitcoind to start also in case of using rpcauth.

The cookie file is canonicalized in the installer beforehand
instead.

There is now no need for the config parameter to be mutable.
2024-03-11 11:35:12 +00:00
jp1ac4
b5980fbc4f
gui: add sections check to internal bitcoind config test 2024-03-11 11:35:11 +00:00
jp1ac4
c3aad0f40c
gui: add optional rpcauth to internal bitcoind config
With the updated liana dependency, we also need to pass `None` to
`list_spend_txs`.
2024-03-11 11:35:11 +00:00
jp1ac4
e172ecd2f1
gui: move internal bitcoind config to bitcoind module
As part of this change, the struct fields were made public.
2024-03-11 11:17:18 +00:00
edouardparis
0c1a1b8d6d gui: add redirection to selected transaction panel 2024-03-06 16:37:11 +01:00
edouardparis
18e040e51f fix: override unpaginated pending events and txs
pending events and txs are passed unpaginated and
in full list through PendingTransactions and PendingPayments.
It is useless and armful to append to them to an existing
list of pending events as a new rbf replacement event should
override the previous one and only one of them must be displayed.
2024-03-06 15:32:06 +01:00
edouardparis
2995df870f fix psbts panel: keep list of psbts in background
fix this comment:
https://github.com/wizardsardine/liana/pull/959#issuecomment-1964811858

new_preselected is changed for a preselect method that keeps the
current state of the psbts list panel and open the modal with the
selected psbt.
2024-03-06 15:32:06 +01:00
edouardparis
a6832ad0b7 fix send panel: reload coins
When going back to send panel, coins are fetched
again and passed to DefineSpendStep. A redraft
is triggered because some coins may have been
removed from the list and new coins were deposited.
2024-03-06 15:32:06 +01:00
edouardparis
710883b6a2 Restart spend process according to current state
Spend process keeps its state if it is the first step.
User can click on Clear to reset if he wants.
2024-03-06 15:32:06 +01:00
edouardparis
a91fdd791a Encapsulate cache with its own message 2024-03-05 11:32:10 +01:00
edouardparis
dc3d29e3f0 Remove spend_txs from cache 2024-03-05 11:32:10 +01:00
edouardparis
2d2cd12bda Restart new spending process on user demand 2024-03-05 11:32:10 +01:00
edouardparis
ed363963b3 Change state load method for reload 2024-03-05 11:32:10 +01:00
edouardparis
c15424abe5 fix clippy 2024-03-05 11:32:10 +01:00
edouardparis
fa4483a4b7 gui: add reload cycle to reset state
When user clicks on the sidebar menu
of the current panel, he expects the
view to reset to its initial state
without modal of transaction detail
for example.
2024-03-05 11:32:10 +01:00
edouardparis
c268c3a093 gui: load receive panel only once 2024-03-05 11:32:10 +01:00
edouardparis
9b4b6fef1b gui: refac app, keep all states 2024-03-05 11:32:10 +01:00
edouardparis
3420c54793
Merge #974: gui: add max button for spend recipients
46cd0f4923c5fe59a5ff08134c850d9a9ceb345a gui: add max checkbox for spend recipients (jp1ac4)
83fa9a9c924bb1326b859f1d2d5aac58c291e960 gui: unset amount left to select if form invalid (jp1ac4)
fba77a30e2aa9984cbda0fdaf40736ff1b0e57c4 gui: check if feerate is already set (jp1ac4)
d9b8285fac1288e895d4b460646f73c664d1a2ff gui: fix cargo fmt (jp1ac4)

Pull request description:

  This adds the MAX button from #546.

  The max amount is calculated within the `redraft` function based on the change output. The recipient's amount is updated directly within this same function in order to avoid another call to `redraft` after updating the amount.

  The MAX button only takes effect once when the user clicks it. If further changes are made (e.g. to feerate or other recipients), the value will not update and the user will need to click MAX again.

  Currently, the MAX button is always clickable. It would be possible to determine for each recipient whether the MAX button should be clickable for that recipient (feerate is valid and all other recipients are valid and no duplicates), but it's not a trivial change so I'm not sure if it's worth doing as I think the behaviour is quite intuitive.

ACKs for top commit:
  edouardparis:
    ACK 46cd0f4923c5fe59a5ff08134c850d9a9ceb345a

Tree-SHA512: 16f22804d630686427da196fd1627287e2e20f2e122602c385157064323113b27b9ec9c56ada162acb55d11b8084667ee3f1a9f992a2f4eef70f25c6f7a5b20b
2024-03-04 16:20:57 +01:00
jp1ac4
46cd0f4923
gui: add max checkbox for spend recipients 2024-03-04 14:55:37 +00:00
jp1ac4
83fa9a9c92
gui: unset amount left to select if form invalid 2024-03-01 11:11:23 +00:00
jp1ac4
fba77a30e2
gui: check if feerate is already set 2024-03-01 11:11:23 +00:00
jp1ac4
d9b8285fac
gui: fix cargo fmt 2024-03-01 11:11:22 +00:00
jp1ac4
85f5a68ed3
gui(spend): display warnings for draft PSBTs 2024-02-27 14:55:17 +00:00
pythcoiner
66f392c754 fixed size for badges 2024-02-24 20:09:46 +01:00
jp1ac4
8639f9b94f
gui: prevent spend with duplicate addresses
Previously, if duplicate addresses were entered when creating
a new spend, the user could click Next and only the second
amount would be used for the draft PSBT.

This prevents the user clicking Next if there are duplicate
addresses and stops the redraft function running.
2024-02-22 12:29:52 +00:00
edouardparis
c1e2d26c63
Merge #950: [GUI] Add index into qrcode
7483988c53ee6201438283eff496302b7e647176 add index into qrcode (pythcoiner)

Pull request description:

  fixes #838

ACKs for top commit:
  edouardparis:
    utACK 7483988c53ee6201438283eff496302b7e647176

Tree-SHA512: f33dd29f2857cab08c09eca03dcb208937b6b13da9e4ef811cbc4e8e4f6bbb73f1eee629736d98bf00bd9b65be5e96987c18ede42d20c9f486c5ec4e47ada275
2024-02-20 15:32:26 +01:00
edouardparis
3fcbb0b67d
Merge #954: [GUI] Add version args
601bd08c0c1b5b86f4a016fa8d4acb080416cd83 add -v / --version args (pythcoiner)

Pull request description:

  fixes #896

  ![image](https://github.com/wizardsardine/liana/assets/124568858/c90ff9ff-41b9-41f3-8938-387c0eb81f38)

ACKs for top commit:
  edouardparis:
    ACK 601bd08c0c1b5b86f4a016fa8d4acb080416cd83

Tree-SHA512: ca54927141bc1115fae04480dbe1867cafd30955278e1845d4170079d4ce13300e722b11bbe73f85e1e8862f0b5576a14a1b5bb5997bf23e33dc8af6320cbc36
2024-02-02 15:49:49 +01:00
pythcoiner
601bd08c0c add -v / --version args 2024-02-02 14:46:22 +01:00
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
7bef08797b
Merge #951: gui(installer): clear checkbox if descriptor is changed
416dc9d2d83c3b06ce7e7f5e282a5b9251fa303d gui(installer): clear checkbox if descriptor is changed (jp1ac4)

Pull request description:

  Currently, once the box has been ticked to confirm the descriptor has been backed up, it remains ticked even if the user goes back and changes the descriptor.

  This PR will clear the checkbox if the descriptor is changed so that the user knows it needs to be backed up

ACKs for top commit:
  edouardparis:
    ACK 416dc9d2d83c3b06ce7e7f5e282a5b9251fa303d

Tree-SHA512: c8d2be242ada364fe97b0846912420ea206f03f82290dbb87ce513746b8f555f8993d906cd38d27cba513414940bd8984282fc26389608939d89fb252f4c1049
2024-02-02 11:52:14 +01:00
edouardparis
3a30a36ce5 gui: do not display hw error on simple user refusal
close #937
2024-02-02 11:32:39 +01:00