2469 Commits

Author SHA1 Message Date
pythcoiner
3e2d8780fc
installer: clear aliases when user clear template 2025-05-23 15:10:04 +02:00
edouardparis
686ac24b9b
Merge #1720: show partial address in collapsed view
78a261da5a5e92f3589403760858105026e6278d show partial address in collapsed view (Michael Mallan)

Pull request description:

  To avoid the need for a scrollbar when showing previous addresses in the collapsed view, we will now show the first and last 16 characters only.

  ![image](https://github.com/user-attachments/assets/3ff7b68c-18e4-4cf5-ab90-8bb80dc57bb0)
  ![image](https://github.com/user-attachments/assets/c02cfed1-f639-4256-804b-b17bf5cb0502)

ACKs for top commit:
  edouardparis:
    utACK 78a261da5a5e92f3589403760858105026e6278d

Tree-SHA512: ca7282e47de3b828a8f8746f710a30650992499b785e5bb766c80ffafb83aa872dc63b5f1d85c2f1394a5eb4c018a2c4feeb772f8bafde021e81f5294811780c
2025-05-23 14:34:20 +02:00
edouardparis
16f33cbde8
Merge #1722: gui: add parsing for xpub from coldcard format
aa417be12781f995854dc2f4fc49da85d23569f2 gui: add parsing for xpub from coldcard format (pythcoiner)

Pull request description:

  this PR implement parsing Xpub from files exported from a coldcard via `Advanced/Tools` => `Export Wallet` => `Generic JSON`

ACKs for top commit:
  edouardparis:
    utACK aa417be12781f995854dc2f4fc49da85d23569f2

Tree-SHA512: eca22295926522ba199a3c0ace0adb52ee236a6a6b0fbd9ba52ba18cbbbbb4032ef3ef06dfd493fddd83e17ac0fbba84612bd73a3e0c1142783e30b60b781ff9
2025-05-23 14:22:44 +02:00
pythcoiner
aa417be127
gui: add parsing for xpub from coldcard format 2025-05-23 13:21:12 +02:00
edouardparis
d5f72c011e
Merge #1721: Apply backup alias when importing backup in installer.
250ba8bb45d8b883772fe5e49e7b48f2a827306b Apply backup alias in installer import backup step (edouardparis)
317ad0a70e3fd0b36e41a142003cb056e78c164d Add default value to installer wallet alias step (edouardparis)

Pull request description:

  - We add a default wallet alias if not value is set in the installer context.
  - We add the wallet alias field to the backup file.
    - While importing a backup in the installer, the backup wallet alias will be suggested to the user at the final step.
    - While importing a backup in the wallet settings for an already installed wallet, we keep the current wallet alias and not override it by the backup one.

ACKs for top commit:
  jp1ac4:
    tACK 250ba8bb45d8b883772fe5e49e7b48f2a827306b.

Tree-SHA512: ba26ba43b33159424813cf9eb1d1bd491cb148ec2ff3286b58ff7ef7a0060a02f8acc60dba8f89e06e657cc61cfecdecb271b7cce2a1d3b0ea85fbb9f3ca5339
2025-05-23 13:13:54 +02:00
edouardparis
250ba8bb45 Apply backup alias in installer import backup step 2025-05-23 12:39:03 +02:00
Michael Mallan
78a261da5a
show partial address in collapsed view
To avoid the need for a scrollbar when showing previous addresses
in the collapsed view, we will now show the first and last 16
characters only.
2025-05-23 11:05:16 +01:00
edouardparis
317ad0a70e Add default value to installer wallet alias step 2025-05-23 11:26:21 +02:00
edouardparis
afe5f6c0de
Merge #1702: doc: update recover.md since Bitcoin 29.0 supports multipath descriptors
0b4b88aebef31cf0324408f7dcb08ff35d315850 doc: Bitcoin 29.0 supports multipath descriptors (Thomas Ballivet)

Pull request description:

  This aim to resolves #1242

ACKs for top commit:
  jp1ac4:
    ACK 0b4b88aebef31cf0324408f7dcb08ff35d315850.

Tree-SHA512: b579caf61111a22bd84c9a8fc3bbdbd332fe07328b68f63c14ddde8a1ec31818fe960d0a7e5f3d66501165fcc3c3b136cdaf5ca417648778cb62103a1c694a65
2025-05-22 13:42:44 +02:00
edouardparis
bd72e318d1
Merge #1718: Clear descriptor cache
a51704fcc66fcfa7e5bc133eaf2f7c406ee19e8b installer: let user reset the descriptor template (pythcoiner)

Pull request description:

  closes #1715

  ![image](https://github.com/user-attachments/assets/de68d4a8-bef8-48d3-b2f5-b7c7d587950a)

  ![image](https://github.com/user-attachments/assets/1645455a-d150-4c9f-bcd5-ddc2c40b0ee6)

  ![image](https://github.com/user-attachments/assets/23a75923-be1d-4b0d-bc9a-d3b92bf7236b)

ACKs for top commit:
  jp1ac4:
    tACK a51704fcc66fcfa7e5bc133eaf2f7c406ee19e8b.

Tree-SHA512: 6d47dea9893999f0b3e15bc1a78e30a29dc6ce0a4551ac637d02dff435c14f16cdd0188e49e52512e59f934ad9dcde4a20649e87fd874f7a19f7dc477c2b63b3
2025-05-22 13:41:49 +02:00
edouardparis
cc00114588
Merge #1705: Installer: let user choose derivation path
ce8e1f3c3eed5a6e991307f8740e54cb0680e5bc installer: let user choose account (derivation path) before fetching an xpub from signing device (pythcoiner)
8efc55bcf5a314997ac4b2a1de9a0a587fb7c9fe ui: add a widget to let user select custom derivation path of an xpub (pythcoiner)

Pull request description:

  This PR closes #1700.

ACKs for top commit:
  jp1ac4:
    tACK ce8e1f3c3eed5a6e991307f8740e54cb0680e5bc.
  edouardparis:
    ACK ce8e1f3c3eed5a6e991307f8740e54cb0680e5bc

Tree-SHA512: a24ebe58da30b81767d67e4da587299a6942f1a62ec0ccd02fd52b06cbe33dca3e27c9e6ab713f141cad84208a200ebbb21f988180862c4909d6080262ef5fea
2025-05-21 18:41:29 +02:00
pythcoiner
a51704fcc6
installer: let user reset the descriptor template 2025-05-21 18:25:22 +02:00
edouardparis
66217751be
Merge #1717: fix settings: missing update_aliases for backup restore
654be987f2da61ed47310c3d30720126b64aa292 fix settings: missing update_aliases for backup restore (edouardparis)

Pull request description:

  While restoring a backup at the import/export panel, the message to update the wallet keys aliases was not handled and although the aliases are stored in the settings file, the wallet was not "reloaded" through the Message::WalletUpdated result. The consequence was while opening the wallet section, users found the aliases not updated by the backup (even if the file was updated).

  The change in the update_aliases is to update the wallet alias only if the function require the change by passing
  `Some(alias)` in arg.

ACKs for top commit:
  jp1ac4:
    utACK 654be987f2da61ed47310c3d30720126b64aa292.

Tree-SHA512: eabaeb48f6167365373a1839ca317879c1314d79c687d0648cae1d001ee125c364ad10a411c3392be4f001fbfb2cf85be63371e0cc36f8351066c832adfe9789
2025-05-21 17:26:41 +02:00
pythcoiner
ce8e1f3c3e
installer: let user choose account (derivation path) before fetching an xpub from signing device 2025-05-21 16:33:56 +02:00
pythcoiner
8efc55bcf5
ui: add a widget to let user select custom derivation path of an xpub 2025-05-21 16:32:55 +02:00
edouardparis
654be987f2 fix settings: missing update_aliases for backup restore 2025-05-21 15:53:55 +02:00
edouardparis
dbe9a4ec1d
Merge #1716: fix: use scrollbar for node settings
01ceb237f8446a31653bc294142a3a1397128373 fix: use scrollbar for node settings (Michael Mallan)

Pull request description:

  This fixes an issue when viewing a long node setting value, such as the cookie path, on a reduced window size.

  ![image](https://github.com/user-attachments/assets/8c9bef9c-cc37-46a4-b501-81d4a8e4eda7)

ACKs for top commit:
  edouardparis:
    utACK 01ceb237f8446a31653bc294142a3a1397128373

Tree-SHA512: f81b70df5c20d7339bdcd2e480dfbfb8e9381859ecc64338e32873dea11f8159b2d59c97d947bf2003aff38cebcabca50763f7d7a988a153b14c17d237f8e9a2
2025-05-21 11:56:07 +02:00
Michael Mallan
01ceb237f8
fix: use scrollbar for node settings
This fixes an issue when viewing a long node setting value, such
as the cookie path, on a reduced window size.
2025-05-21 10:09:15 +01:00
edouardparis
63b32ff3a7
Merge #1714: fix import backup for existing wallet
904fc728de20cdd283a4273093e6b59c5609630c fix import backup for existing wallet (edouardparis)

Pull request description:

  We pass the wallet to the import_backup method
  so the wallet id is used to find the correct wallet settings to update in the settings file.

ACKs for top commit:
  jp1ac4:
    utACK 904fc728de20cdd283a4273093e6b59c5609630c.

Tree-SHA512: 0a2a6c77d333460cc06ad141a7685d88911bc40bc3cd221111dd6611ca45e8c5552f46f7a694e44f0b47b4a5c1cd6946e25c755de83cbfe6259de93d6b9b65e0
2025-05-21 10:27:57 +02:00
edouardparis
30ae68c3b1
Merge #1685: gui: store SignModal state and allow to open export modal after signing
7281e6352967009419a493ccd3825887001afa14 gui: store SignModal state and allow to open export modal after signing in PSBT panel (pythcoiner)

Pull request description:

  This PR fixes #1681:
  - `PsbtState::modal` was not properly reset after signing modal closed
  - When `PsbtState::modal` is of type `SignModal` we store it's state, else we lost track of which key already signed.
  - `SignModal::display_modal` is not useful anymore, as we store the modal state, and only "hidding" the modal not let display another modal (export modal for instance)

ACKs for top commit:
  jp1ac4:
    tACK 7281e6352967009419a493ccd3825887001afa14.

Tree-SHA512: 6627c1f788048349fee2fd9f6fc1a9044da03c9b6ac61339b19c5ae503cb0d522501ce4438f70359906231c06928c8756b52715901898c56fa58dd7da5194cdc
2025-05-21 10:26:57 +02:00
edouardparis
904fc728de fix import backup for existing wallet
We pass the wallet to the import_backup method
so the wallet id is used to find the correct wallet
settings to update in the settings file.
2025-05-21 10:03:16 +02:00
edouardparis
0ba12eb689
Merge #1713: Update wallet alias
a9917d17810b3d47c0bd5623ffa7636e2f299c72 Add wallet alias step to installer (edouardparis)
51d913b9efff2ec360190fc75e0013d691dd8d7e Set wallet alias in settings if liana-connect wallet alias changed (edouardparis)
36fb3d877552099ef7fbdce21753352a1c4219df Add wallet alias in window title (edouardparis)
381421038b0e12ed257679b31a16102021d6d76a Add wallet alias to settings (edouardparis)

Pull request description:

  We had a new `wallet_alias` to settings file.
  This field is displayed in the launcher when wallets are listed and in the window title when the app is running the wallet.

  The field is also store in liana-connect wallet.metadata field to facilitate import of wallet from Liana-Connect.
  If the field was modified on Liana-Connect, then next time the user open the wallet in the gui, the settings field is updated.

  User can modify the wallet alias in the Settings > Wallet section.

ACKs for top commit:
  edouardparis:
    Self-ACK a9917d17810b3d47c0bd5623ffa7636e2f299c72

Tree-SHA512: 819fb84660894a8c546132a21966c8084b4820b4cb7f57c9de80648355ebf053581964dea8e8fe455523e0c7692244fc0803e8dec03d50946139ed88832622f7
2025-05-20 16:27:07 +02:00
edouardparis
a9917d1781 Add wallet alias step to installer 2025-05-20 16:07:55 +02:00
pythcoiner
7281e63529
gui: store SignModal state and allow to open export modal after signing in PSBT panel 2025-05-20 14:18:27 +02:00
Thomas Ballivet
0b4b88aebe doc: Bitcoin 29.0 supports multipath descriptors 2025-05-20 13:36:27 +02:00
edouardparis
51d913b9ef Set wallet alias in settings if liana-connect wallet alias changed 2025-05-20 12:51:13 +02:00
edouardparis
36fb3d8775 Add wallet alias in window title 2025-05-20 12:51:13 +02:00
edouardparis
381421038b Add wallet alias to settings 2025-05-20 12:51:13 +02:00
edouardparis
ba17782604
Merge #1675: Disable signing devices that should not or cannot spend
74087c37cf0b0796e794f98bebb11167ca243969 refactor: map fingerprint only once (Thomas Ballivet)
86c4896534c1ac169a3352651b0e27170e8cb06f Disable signing devices that are not related to the actual spending path (Thomas Ballivet)

Pull request description:

  Inspired by #1607 this shoud closes #1041.

  Notice that I added the wanted logic also for the recovery spending. That means you can only select a signing device related to the primary path for usual spend. But for recovery spending you can only select a signing device related to the recovery_path.

  You can see here both examples :

  ![Capture d’écran du 2025-04-25 17-32-39](https://github.com/user-attachments/assets/3c137161-a108-4313-be03-4ec1c27c24ab)

  ![Capture d’écran du 2025-04-25 17-30-53](https://github.com/user-attachments/assets/71ea7cd0-cc45-4dcc-b00a-66b3243408bc)

ACKs for top commit:
  jp1ac4:
    tACK 74087c37cf0b0796e794f98bebb11167ca243969.

Tree-SHA512: 93e452ca9f56e214f308cbaf3cdc9ffb52301e64fded860d1a961e97df21270e18f994cef83358459981ddc3029c89183d23bc33bab863253cfa2a2c5a9d9554
2025-05-19 10:32:51 +02:00
edouardparis
3907662ab5
Merge #1690: docs: add a link to SIGNING_DEVICES.md in USAGE.md
78a2defb6c08ef19cc249da7415fac873d32e20f docs: add a link to SIGNING_DEVICES.md in USAGE.md instead having a duplicate of supported devices (pythcoiner)

Pull request description:

  replacing list of supported devices by a link to SIGNING_DEVICES.md to avoid maintenance burden

  fixes #1690

ACKs for top commit:
  nondiremanuel:
    ACK [78a2def](78a2defb6c)

Tree-SHA512: 83cae2da1865a55415c064a12c1fcac956827fbc910f19ad544fac90540bf4965ee414975bfd0bae781bd82eec606aa37bf2b290717751a419bece8689a69bd1
2025-05-16 18:49:59 +02:00
edouardparis
c2da55444d
Merge #1703: Multiple wallets
79fcbc41e27fd6ea1f0d4870832600476392f5e7 fix: remove unused method with_pin_date (edouardparis)
5baf2812040d5d7b0758e8f5058dc953a8adcb1b Remove wallet hot signer mnemonics on wallet delete. (edouardparis)
b6f45a42ee96399f4de70e5889ca32a3679466ae Delete settings file if no wallet (edouardparis)
30228c6490c45b2b775ac6974b40998dac565208 refac delete wallet modal and desc backup (edouardparis)
9a6218b3f1e5b6698d922eec91d51f7dff980790 Change lianad directory location (edouardparis)
58bccef4cdcae5bdbd5389dcea87e44e0cbdf267 Append wallet settings to file during creation (edouardparis)
e85f89dc7f1f83c8e74bf69a564671dfc4275848 Add wallet list to launcher (edouardparis)
8ddcece8204d6e0690cc5346a2d94c8f89d052c0 Add wallet id for settings filtering (edouardparis)

Pull request description:

ACKs for top commit:
  jp1ac4:
    tACK 79fcbc41e27fd6ea1f0d4870832600476392f5e7.

Tree-SHA512: d003d7eb690b22c6c2bd6124476b4a72692b6674e5d1c40f69d3eef86d205356a91afa5d18a4ba9ae26ad5751eff21bcdf99458bc54022872d3c21c102bd8ddf
2025-05-16 17:43:25 +02:00
edouardparis
e7e4a8d474
Merge #1709: fix: use cookie file auth for new wallets with managed bitcoind
63ef4838a705a6f9187cf607a4e320b71f374557 fix: use cookie file auth for new wallets with managed bitcoind (Michael Mallan)

Pull request description:

  This fixes #1708.

  There would be no way to get the RPC password of an existing managed bitcoind installation without looking in other daemon.toml files.

  An existing rpcauth field in the bitcoin.conf file will remain unchanged so that an existing wallet using username/password authentication will continue to work.

ACKs for top commit:
  edouardparis:
    ACK 63ef4838a705a6f9187cf607a4e320b71f374557

Tree-SHA512: 69d6c0f5eed78227be0854306bdfe53abf2ea989083e4adfae5b17d952ee6570b8f98ede8bf43bcfbe2e3b529a19088a7500aa59ecca276323f0bf8cd0281f6e
2025-05-16 17:42:45 +02:00
edouardparis
79fcbc41e2 fix: remove unused method with_pin_date 2025-05-16 17:15:09 +02:00
edouardparis
5baf281204 Remove wallet hot signer mnemonics on wallet delete.
Mnemonics are now stored with the following format:
mnemonic-fingerprint-checksum-timstamp.txt

checksum and timestamp are the new way to identify wallets.

When deleting wallet user expects any mnemonic related
to the wallet to be removed.

For legacy wallets, any mnemonic-fingerprint.txt file will be deleted.
2025-05-16 17:09:42 +02:00
edouardparis
b6f45a42ee Delete settings file if no wallet
And make launcher open default network directory
as the first directory with a settings file.

Fallback to the Create wallet view when no settings
file exist anymore or if the settings file has no wallet.
2025-05-16 17:09:42 +02:00
edouardparis
30228c6490 refac delete wallet modal and desc backup 2025-05-16 17:09:42 +02:00
edouardparis
9a6218b3f1 Change lianad directory location 2025-05-16 17:09:42 +02:00
edouardparis
58bccef4cd Append wallet settings to file during creation 2025-05-16 17:09:42 +02:00
edouardparis
e85f89dc7f Add wallet list to launcher 2025-05-16 17:09:42 +02:00
edouardparis
8ddcece820 Add wallet id for settings filtering 2025-05-16 17:09:42 +02:00
Michael Mallan
63ef4838a7
fix: use cookie file auth for new wallets with managed bitcoind
There would be no way to get the RPC password of an existing
managed bitcoind installation without looking in other
daemon.toml files.

An existing rpcauth field in the bitcoin.conf file will remain
unchanged so that an existing wallet using username/password
authentication will continue to work.
2025-05-16 13:27:53 +01:00
Thomas Ballivet
74087c37cf refactor: map fingerprint only once 2025-05-16 11:40:13 +02:00
Thomas Ballivet
86c4896534 Disable signing devices that are not related to the actual spending path
test

test

test

rebase i

rebase i
2025-05-16 11:40:13 +02:00
edouardparis
b4062b28a9
Merge #1699: gui: Improve visibility primary button text & fixes
d2c6f9bb96fa01b8f590fb67f5fdb34eedeca45a fix: "Generate address" become secondary after generation (Thomas Ballivet)
15f4dc1ed145e49f52576c0aaabd0608847c698f fix: set "Go to replacement" as primary (Thomas Ballivet)
881621f03b901198f47f31e44b1599f3dc75df06 Improve visibility of primary button text (Thomas Ballivet)

Pull request description:

  The first commit fixes #1697.
  The second set "Go to replacement" as primary.
  The third make "Generate address" become secondary after generation.
  Tell me if I should squash.

  ![image](https://github.com/user-attachments/assets/6cbf3573-0956-43e5-be70-f2e075f5c314)

  ![Capture d’écran du 2025-05-06 20-47-25](https://github.com/user-attachments/assets/8df30fb6-9ac8-4eb2-9756-9a1fecc921d9)

  I've tried to make the icon thicker but doesn't work the same way. Maybe using a different font or an image would help to fixes this.

ACKs for top commit:
  pythcoiner:
    tACK d2c6f9bb

Tree-SHA512: 5ca6201ac77106dbb866badaeda9a097823dda37630ee437fd816bb749802fcae8a225bad999bbde232f63976dc8a823a09a5a7e593fb889f226b05f4f28a41d
2025-05-16 09:47:57 +02:00
edouardparis
21e1ee14b4
Merge #1707: [GUI] some fixes for unused addresses list
efd0c32e5df323a555850e364ef7c18ce6474cbb fix: hide prev addresses option if there are none (Michael Mallan)
c629142c58408909877d60b4ab38f76cb3ad5518 fix: ignore address with index 0 (Michael Mallan)

Pull request description:

  This PR consists of two fixes following #1704:
  1) don't show the address with index 0 in the list of unused addresses. This is because a new Liana wallet starts generating new addresses from index 1.
  2) hide the option to view unused addresses if there aren't any (such as for a new wallet).

ACKs for top commit:
  pythcoiner:
    tACK efd0c32e

Tree-SHA512: d80ff4358387b8a06867845eea89aac6f9a6896292975b92901b17e324564b01ca6b2af00faadf932a37bf38d6459d18f2533659adb5c8e8582f71ea6e1d7869
2025-05-16 09:45:46 +02:00
Thomas Ballivet
d2c6f9bb96 fix: "Generate address" become secondary after generation 2025-05-15 17:42:18 +02:00
Thomas Ballivet
15f4dc1ed1 fix: set "Go to replacement" as primary 2025-05-15 17:37:57 +02:00
Thomas Ballivet
881621f03b Improve visibility of primary button text 2025-05-15 17:37:57 +02:00
Michael Mallan
efd0c32e5d
fix: hide prev addresses option if there are none 2025-05-15 12:28:07 +01:00
Michael Mallan
c629142c58
fix: ignore address with index 0
This is always "revealed" for a new wallet and not generated by
the user.
2025-05-15 12:27:01 +01:00