This commit is part of preparatory work to support
multiple wallets.
This commit introduces two breaking change:
The fields daemon_config_path and daemon_rpc_path are removed.
The GUI will deduce these values from their expected
location in the root data directory.
Because this link is removed, the gui flag --conf is not useful
anymore as it cannot then find the location of the root data directory.
a50fa04519160169ecae9fb56b047ab76303f712 export: remove stop button from the modal (pythcoiner)
968c36fcf6ec4cbad4fa13e9b05c759c1be05752 export: add a cross button to the modal (pythcoiner)
Pull request description:
This PR add a cross button to the export modal for consistency w/ other modals.

ACKs for top commit:
edouardparis:
utACK a50fa04519160169ecae9fb56b047ab76303f712
Tree-SHA512: afbff780a052d6b34275c62bbb7713e49300680752287a822be187d118560404eea252878120c53fbb1147a9b86f55e0f043f1802660e0bf3cbf2a6dc3062af3
417a949037b7c33895e34081d9acd23ddd4a10f8 fix: cache coins for remote backend when loading gui (Michael Mallan)
e03d4e17be937cf49f32a9f3d9d80351d7652a9a refactor: add function to get coins to cache (Michael Mallan)
Pull request description:
With this PR, coins will be cached when first loading a GUI that is using Liana Connect as the backend.
The cache refreshes less often for Liana Connect (every 2 mins), which means there can be a discrepancy between the coins loaded on a page and those in the cache, especially when first loading the GUI with no coins cached.
This can be seen when choosing to refresh a coin in the Coins panel. After selecting the coin and the refresh option, the Self-Send page is displayed with coins listed, but the coin that was previously selected in the Coins panel won't be selected here unless the cache has already refreshed. By caching coins at the start, it makes such a scenario less likely to occur when using Liana Connect.
ACKs for top commit:
edouardparis:
ACK 417a949037b7c33895e34081d9acd23ddd4a10f8
Tree-SHA512: 1c64fbc7100685575a4e7e20ac95065c0dbaa981f38953659985dcfacc628ebb2870c34e6a82ee8da781485858ce9d6c7414f62fcb61786e50037088e9903212
d637564a117947bd0493eba9bf61a1d84f893aa5 lianad: in update_spend_tx() work on the db_psbt instead of the imported one (pythcoiner)
Pull request description:
This PR partially fixes#1581.
Previously the imported PSBT we taken as base and signature added from the PSBT stored in DB, this create issue when the imported PSBT is supplied by a signing device that trim the PSBT (in QRCode context for instance).
This PR change the logic by taking the PSBT stored in DB as base and add signatures from the imported PSBT.
~~Note: the same logic change must be done on `liana-backend`~~
edit: review the logic on liana-backend, nothing seems to be change on this side, validated by a test by importing a psbt from krux trough Krux(QRCode) => SeedQReader => file => import
ACKs for top commit:
edouardparis:
ACK d637564a117947bd0493eba9bf61a1d84f893aa5
Tree-SHA512: 2a14f2387f3ab74e93f4e5b67ff48011bea945bfa897e21f14be40bf40b52460c921c4dcb92899ce46f1aed6096ec8bd97b423341c1660dd3cd081146080572c
2527bcea2eef753fb776e1618c7d4b9b79801a3c fix: timelock parameter is optional (Michael Mallan)
d4151d88d690d49b779402f61d6d506460fd8d87 rpc: allow to choose outpoints in `createrecovery` (Michael Mallan)
8cc723fb3bca3af661e7ace47ee8cb838d7d0db9 commands: allow to specify coins for recovery (Michael Mallan)
ce711ae10afa343c7228abe4be55cb615c3d971b commands: add test for `create_recovery` (Michael Mallan)
21c899f9ec2121e06189a1c6a63c4d7c9f213585 gui: fix docstring (Michael Mallan)
Pull request description:
This is to resolve#1637.
The `coins_outpoints` parameter for the recovery command works similarly to the corresponding parameter for a normal spend. An empty slice means that all recoverable coins will be chosen, i.e. the same as the current behaviour.
In order to maintain backwards compatibility, the new `outpoints` parameter in the `createrecovery` RPC command has been added as an optional parameter in the last position.
The GUI's use of this RPC command will be updated in a separate PR.
Note the first commit is an unrelated docstring fix and the second commit adds some preliminary tests for the `create_recovery` command.
ACKs for top commit:
edouardparis:
ACK 2527bcea2eef753fb776e1618c7d4b9b79801a3c
Tree-SHA512: 13e13ec2bccf974ad03424c6fba8ce31eb27af23809420f81ed13ebc114a3620aafa612416b2d2338e1444934f1529ebdcaf2391f750e6e915a28f4f49e53d7b
df4528dc767a39fb979579c7cafca1fd49fa3d49 feat: move recovery from settings to own menu (Michael Mallan)
Pull request description:
This is to resolve#1640.
The tooltip has been removed for now as the menu buttons don't currently support adding an icon with tooltip, but a tooltip can be re-added later if required (#1647).
ACKs for top commit:
edouardparis:
ACK df4528dc767a39fb979579c7cafca1fd49fa3d49
Tree-SHA512: ba4af1cbf61064a2b825fc400f37fdf1f2d621aee73607ed3c70c770867b0a4f4ebe17d0644373e03e4ec54fed6f5ea74beb12e1cda6fe7e720c8e726400fed4
2279b332d4c1fd06c761e841ec15adfc2b5787dc filter for confirmed coins when checking recovery paths (Michael Mallan)
Pull request description:
This is to fix#1636 and consequently fixes#1102. This PR therefore replaces #1144.
A wallet containing an unconfirmed coin of timelock 1 will no longer show any recovery paths as available.
The recovery transaction created by `createrecovery` only includes confirmed coins and so we should only consider these coins when checking for available recovery paths. An unconfirmed coin could not be broadcast in a recovery transaction as it would not yet satisfy the timelock constraint.
ACKs for top commit:
edouardparis:
utACK 2279b332d4c1fd06c761e841ec15adfc2b5787dc
Tree-SHA512: e1c1891e8d89a02b4eaacf64758c404b73384fe1c5183a6a21c2ad440ca8898cf68148981bc51d142875ac4458f943459227f0bdc7e04aa9cf2f35c22d33fb81
This will increase visibility of the recovery feature.
The tooltip has been removed for now as the menu buttons don't
currently support adding an icon with tooltip, but a tooltip
can be re-added later if required.
The recovery transaction created by `createrecovery` only
includes confirmed coins and so we should only consider these
coins when checking for available recovery paths.
An unconfirmed coin could not be broadcast in a recovery
transaction as it would not yet satisfy the timelock constraint.
b9f19360ca81654da38cb00da1e6f69b2bc82a0c gui(installer): show manually entered xpub in modal until saved (Michael Mallan)
Pull request description:
This fixes a regression introduced as part of the key-from-token work for cosigner and Safety Net keys.
The manually entered xpub should continue to be displayed until the "Apply" button has been clicked and the changes saved.
The `chosen_key_source_kind` field has been renamed to `form_key_source_kind` as it is only used to determine which of the xpub and token forms should be displayed. Its value is now only set to `Some` when the form for entering an xpub or token should be displayed. This change allows to distinguish between a manual xpub that has just been entered in the form and one that was previously entered and has been chosen from the list of existing keys.
ACKs for top commit:
edouardparis:
ACK b9f19360ca81654da38cb00da1e6f69b2bc82a0c
Tree-SHA512: 0e246a0113038c93f4ad0ece42a4bf1a414772f4cf1ad123dafe84d453d5249b81f485d3937c5373a0442f9dd2bf19f46cb55231dfae06c18987023ba13568a1
This fixes a regression introduced as part of the key-from-token
work for cosigner and safety net keys.
The manually entered xpub should continue to be displayed until
the "Apply" button has been clicked and the changes saved.
The `chosen_key_source_kind` field has been renamed to
`form_key_source_kind` as it is only used to determine which of
the xpub and token forms should be displayed.
d812ad63a1f367bb304d2edf60103e62effca0bc show rescan warning after restoring wallet from backup (Michael Mallan)
Pull request description:
This adds a warning on the home page if the wallet has been restored from a backup and the user is using a local bitcoind node.
This warning has a button to jump to the rescan page and another button to dismiss the warning, which is the only way to remove it (rescanning does not automatically remove it).
Whether the wallet was restored from a backup is not saved after closing the GUI, so this warning will only be shown in the same user session as that in which the wallet was restored.
The warning will not currently be shown when importing a descriptor.
ACKs for top commit:
edouardparis:
ACK d812ad63a1f367bb304d2edf60103e62effca0bc
Tree-SHA512: 55c8becd30f231a9c9ea1a8818a3df23b98c5f69206e522ae1fee7e5e0679b200e5f1728e67e538ed613236e7925b025286b0e3f4719abcfad3d1ff2a1968df6