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
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 :


ACKs for top commit:
jp1ac4:
tACK 74087c37cf0b0796e794f98bebb11167ca243969.
Tree-SHA512: 93e452ca9f56e214f308cbaf3cdc9ffb52301e64fded860d1a961e97df21270e18f994cef83358459981ddc3029c89183d23bc33bab863253cfa2a2c5a9d9554
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
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
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.
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.
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.
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.


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
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
f8e702b65ea894131b212fdfed89b16068699fe9 feat: list unused addresses already revealed (Michael Mallan)
d84c75c1ce548c2c7dfecf98960e9a19409cb9e7 refactor: extract address card logic to function (Michael Mallan)
daa3daa938567e6d76e7dce02bddd725b97a72d9 refactor: add message for next receive address (Michael Mallan)
8b8b48142f60ede2b8ce702c89a61f3fd32a1842 feat: add list addresses method to gui daemon interface (Michael Mallan)
Pull request description:
This implements #809 by listing unused addresses on the Receive panel.
ACKs for top commit:
edouardparis:
ACK f8e702b65ea894131b212fdfed89b16068699fe9
Tree-SHA512: 05538d099433bad33c947694e91bc082147159bebd4607ac2d37f9127013656c928a2a332f1212fc5f9d6a2d68e3047e7c3da5523233b92d47b2802811a706d8
3d6a22ea05df70d6f0c11f2f00c85dc16975ad28 feat: add rpc command to list revealed addresses (Michael Mallan)
4945dba7c066d1434fa38a09a955339b7182e693 feat: add command to list revealed addresses (Michael Mallan)
75f37708b3b1f6a89e0f5488c95618a07356f166 test: implement methods for getting/setting labels (Michael Mallan)
16b96b5456b46cd3703d4829b24746c8a489b3ed style: apply black formatting (Michael Mallan)
Pull request description:
This implements #1678.
The command parameters differ slightly from those described in the issue:
- instead of a `keychain` enum parameter, I used `is_change` to control whether receive or change addresses are returned.
- I used an optional `continue_from` parameter to control pagination. The value to pass in the next request is provided by the previous response. If no value is provided in the response, there are no more addresses to list. If no value is set in the request, the addresses will be returned starting from the last revealed address.
Setting the positional argument for `continue_after` as `null` will be treated the same as omitting it (for other RPC commands, a `null` value results in a parsing error).
ACKs for top commit:
pythcoiner:
utACK 3d6a22e
Tree-SHA512: 0efa93bc40d0751cbe64570f9789b3a701e0bc5aab982da9ed9f21117a2eea073a81388370d56a9021c0ff87b6cbaec7338339427e6c879e8e97eababb107f57
8c0c23e688b02a73393a7172b3f41bfaa2a9c143 Use gui panic hook (edouardparis)
40dc9ae8c01da0b250bf0e8ea40e275ef77bd23c Delete process internal bitcoind locks in case of panic (edouardparis)
0488ed37a3651add672212664d59f637be17c716 feat: asynchronous management of internal bitcoind (edouardparis)
Pull request description:
This PR introduces a feature allowing multiple liana processes to the same internally managed bitcoind binary,
by having the first process running a wallet relying a managed bitcoind to start it and the last process standing stopping it when closing.
A new directory `./liana/bitcoind/locks` is introduces where a Liana process creates a file `pid-timestamp` when it starts or uses the internally managed bitcoind binary and removes it when it does not use it anymore.
Another Liana process can infer that it can stop the bitcoind binary by looking if any other lock file is present in this directory.
In order to make the bitcoind child process survive once the Liana process that started it is closed, the `libc::setsid();` method for unix and the `DETACHED_PROCESS` flag for windows are added to the process command.
The current panic hook of the gui was override by the one present in lianad daemon start method. The latter was moved to the daemon main.rs file.
ACKs for top commit:
edouardparis:
Self-ACK 8c0c23e688b02a73393a7172b3f41bfaa2a9c143
Tree-SHA512: b8ea415750c656786b64bc7ea97194f27db37267820f1a413ce6639e48dae542e644958856ffaddd53ab1ad047072a9bcc11ad304c060417b9542d4ee61089a3
9411017da5dd775fe358e16c4ad9545343422c44 gui & ci: upgrade managed bitcoind version to 29.0 (thomas)
Pull request description:
Integration tests has been passed using bitcoin core 29.0 (with tests requirements updated as in #1684).
Closes#1656.
ACKs for top commit:
pythcoiner:
utACK 9411017, tryed on linux, seems it download well 29.0 but my connection to bitcoincore.org is bad, the download always fail, but likely not related to this PR but rather to my poor connection
jp1ac4:
ACK 9411017da5dd775fe358e16c4ad9545343422c44.
Tree-SHA512: 2cb183b0da77eaf84c3957ad6cfcac0dc9b0a05d21aebeaf0f9f84d3bf81708a19c1ac6ef0e67a8ca48c71d7196dcf3b3e230ba8eae17da8b9c1bdc74f8af119
c8e455c8ceb2a7b5408380dbe3cd30ce3959ff57 lianad: add a test for LianaDescriptor::contains_fingerprint() (pythcoiner)
aead34cc8eaa3e74d2c76c7e1e8341d756d779a2 installer: hint the user if the plugged signing device is not part of the descriptor (pythcoiner)
5ae13dd025c2e038e17746f5bfc8cf72ec5120c7 liana-ui: make it more clear when a device key is not part of the wallet descriptor (pythcoiner)
fa8fd4782f97b8969f6a655e0511bf8f96924232 liana: implement LianaDescriptor::contains_fingerprint() (pythcoiner)
Pull request description:
This PR:
- [x] Add `LianaDescriptor::contains_fingerprint()` method
- [x] make more explicit when a signing device is not part of the wallet descriptor
before (user had to hover the button to see the tooltip):

after:

- [x] Hint the user in the installer if the plugged device is not part of the created/imported descriptor:

ACKs for top commit:
jp1ac4:
tACK c8e455c8ceb2a7b5408380dbe3cd30ce3959ff57.
Tree-SHA512: 092b8cb6efe6b6a6dc4f8505649783cb7c83c231242ab14f479b573e12cd61bab4e6e27a173bee19097d3ad90a8f1e578ecf4b699a4a481b40588f5f60cb9c71
c20318af64fddb2959ba90f2d510af42f4e2e20e Upgrade pytest (thomas)
Pull request description:
Had issues because of a too old version of pytest-timeout. I had to update it so I took advantage of it to update pytest and other requirements
ACKs for top commit:
pythcoiner:
tACK c20318af on arch + python 3.10/3.13
Tree-SHA512: 22e7abf810c49d29f908e493db4055a9fd94d8a623e8a9ae8cfc33e2b9ab1865ad64acb8a2837b0b9b0ed1846b1ba9ea21242ccd7f0a4f4f221041d8465c55bd