1029 Commits

Author SHA1 Message Date
Antoine Poinsot
cf17cc2cd6
Merge #605: Add labels support to lianad
204c160c4d01e5d12130a89347923e8d7d4f0f57 tests: test the RPC interface for managing labels (Antoine Poinsot)
bf3eb33900d52cd43e7c7cae2e42dc2075a6b249 lianad api: expose coin address (edouard)
7338e6f988a553d022903e7fd478e134be905762 Add labels to lianad (edouard)

Pull request description:

ACKs for top commit:
  darosior:
    ACK 204c160c4d01e5d12130a89347923e8d7d4f0f57

Tree-SHA512: 24ff9ea9ee5df0458534dd28a40d485f8bf9e110463faf78450f48ffbd18137f74f73aecf8234021d03a374879a6dd1c7188f162d81d7539cd790845a2855a1f
2023-08-28 14:37:07 +02:00
Antoine Poinsot
f8ca1dc212
Merge #636: doc: polish the guide on restoring a Liana wallet backup with Bitcoin Core
b5b96b95937ef914aed237b7829a71ff3672c3f4 README: mention the guide on recovering a backup on Core (Antoine Poinsot)
8c7c7a71353a6054f80eeb5ce4be0f946cec89a5 doc: polish the Bitcoin Core recovery document (Antoine Poinsot)

Pull request description:

ACKs for top commit:
  darosior:
    self-ACK b5b96b95937ef914aed237b7829a71ff3672c3f4 -- it's only doc

Tree-SHA512: b51b8e0f2eac896872ca2380cf0e3f8b4e6e518232e5cbc57dbeaaa517c56dfadfa6d6165a27704ecfda0ffe6bdf5a683e1cfd15b94dedcd8480c3c58865ed51
2023-08-28 13:16:15 +02:00
Antoine Poinsot
204c160c4d tests: test the RPC interface for managing labels 2023-08-28 13:14:21 +02:00
edouard
bf3eb33900 lianad api: expose coin address 2023-08-28 13:14:21 +02:00
edouard
7338e6f988 Add labels to lianad 2023-08-28 13:14:21 +02:00
Antoine Poinsot
b5b96b9593
README: mention the guide on recovering a backup on Core 2023-08-28 13:13:26 +02:00
Antoine Poinsot
8c7c7a7135
doc: polish the Bitcoin Core recovery document 2023-08-28 13:11:53 +02:00
Antoine Poinsot
7ba95de8d2
Merge #619: Recover on Bitcoin Core
fcfad2de348a7d8b362631cf787599c284242aad import descriptor w/o replacing hardened identifier (pythcoiner)
eb1e0131222893981ce58965881c62c847d54372 recover walkthrough (pythcoiner)

Pull request description:

  xref #375

ACKs for top commit:
  darosior:
    ACK fcfad2de348a7d8b362631cf787599c284242aad. I'll have a second pass for the syntax and expliciting a couple things. Thanks!

Tree-SHA512: c2713d0db8240b844c3a4cf3d97044a5846bba903c1209f08ce903475525d5145b9555fa693eed326e3d4a8e85577922adfb366664ec162303cb0bf3a4aae2a0
2023-08-28 10:19:38 +02:00
pythcoiner
fcfad2de34 import descriptor w/o replacing hardened identifier 2023-08-28 07:31:45 +02:00
pythcoiner
eb1e013122 recover walkthrough 2023-08-27 13:28:26 +02:00
Antoine Poinsot
c25b67f861
Merge #633: README: add missing filename for MacOS.
2f430fccf91d271e7d3a7de38dcb89046ccd89df README: add missing filename for MacOS. (Antoine Poinsot)

Pull request description:

Top commit has no ACKs.

Tree-SHA512: 5fa806303bb39b0055c2accce211ccb66f32789ad8758a00e5993191da337e4ad8a464cb2f4a8e066aa26c1f0e2a714f5034ffe0f33acd3a0ee03b5f477a286a
2023-08-25 14:54:08 +02:00
Antoine Poinsot
2f430fccf9
README: add missing filename for MacOS. 2023-08-25 14:43:50 +02:00
Antoine Poinsot
f0a13676bf
Merge #618: README: mention the Debian package
b6c71ebe6ab70c7cd4492632cd175fbaddb84b12 contrib: fixup the Debian package creation in the release script (Antoine Poinsot)
d2b0e401318a13d336db91daaf293bb1800cada7 README: mention the Debian package on the README (Antoine Poinsot)

Pull request description:

  Keeping it draft until we actually publish the package.

ACKs for top commit:
  darosior:
    ACK b6c71ebe6ab70c7cd4492632cd175fbaddb84b12

Tree-SHA512: 0b6d1c0865afb02ec1a43eb582270f22d8f115b95850982a9376fe24cf665780885fcf91d969bbea3ae8ac6d7b13766f9cf17cc773d9ebe88dcc5932f0115776
2023-08-25 14:41:57 +02:00
Antoine Poinsot
b6c71ebe6a
contrib: fixup the Debian package creation in the release script 2023-08-25 14:37:56 +02:00
edouard
afd10bf949
Merge #592: gui: configure and start bitcoind
698eff7059b1efb9ae92d4a3e3f78113f4c9f5b0 doc: Add step to choose bitcoind type (jp1ac4)
36cf85d84933c0cf5783d0a67fa73ae3050a3ec6 gui: add option to use internal bitcoind (jp1ac4)
765c68b02e87dbea7d14935642ff9a91dcbc9ee2 installer: allow for different previous messages (jp1ac4)

Pull request description:

  This is to resolve part of #570 (configure and start an already-installed bitcoind).

  I'm opening this draft PR so that you can provide feedback and check if any changes in approach are required.

  I've added optional steps to the installer for the user to configure and start an "internal" bitcoind that uses `~/.liana/bitcoind_datadir` as its data directory.

  The main things missing are:
  - [x] Make it work on Windows.
  - [x] Stop internal bitcoind when Liana is not running.
  - [x] Start this internal bitcoind, if applicable, when returning to Liana after installation. One option for this would be to check in the Liana config file whether the bitcoind `.cookie` file is within the `~/.liana/bitcoind_datadir` folder, which would indicate that the internal bitcoind should be used, and then to start it (we might need to store the executable path if it's not in PATH).
  - [x] Tests!

ACKs for top commit:
  edouardparis:
    ACK 698eff7059b1efb9ae92d4a3e3f78113f4c9f5b0

Tree-SHA512: ce561cd74944b9a80e73bf0f45eafc613a033b115276c208cba95a00920409d3ec56b81cf50fd29eb60c82b96c1d9295a51b8df7e7ca62a4474dd77461564dd0
2023-08-23 18:16:37 +02:00
jp1ac4
698eff7059
doc: Add step to choose bitcoind type 2023-08-23 16:43:55 +01:00
jp1ac4
36cf85d849
gui: add option to use internal bitcoind
During installation, the user may choose for Liana to configure and start bitcoind for them.

This internal bitcoind uses as its data directory the `bitcoind_datadir` folder within the
Liana data directory.

If the internal bitcoind option has been selected for a network, it will be automatically
started when the user returns to Liana and stopped when Liana is closed.
2023-08-23 16:43:55 +01:00
jp1ac4
765c68b02e
installer: allow for different previous messages
Clicking the "Previous" button during installation will default
to the current behaviour, unless a different message is passed to
the function by any given step.
2023-08-23 14:39:18 +01:00
edouard
557c775912
Merge #629: check if embedded daemon is stopped before request
caa9d385b963e985dd665c0269534c2c28603100 check if embedded daemon is stopped before request (edouard)

Pull request description:

ACKs for top commit:
  edouardparis:
    Self-ACK caa9d385b963e985dd665c0269534c2c28603100

Tree-SHA512: e15fc9be90c48c5cfa549e7e8caf42502af07446ecc78579fda645494c3e4b482f4e756d3b76e862f50d7417e4efabdb40db9510a5ce961988df1d40cefdea3f
2023-08-23 15:12:36 +02:00
edouard
caa9d385b9 check if embedded daemon is stopped before request 2023-08-23 12:24:53 +02:00
Antoine Poinsot
031dd45df1
Merge #627: bitcoind: fix the detection of unconfirmed RBF spending txs
421c1af6cd90f1b1af77c303b2ba2e74760b8781 bitcoind: fix the detection of unconfirmed RBF spending txs (Antoine Poinsot)

Pull request description:

  As we walk through the spend transactions in the wallet, we may return the txid of the transaction that was replaced instead of the new one.

  Note: this fixes the `test_conflicting_unconfirmed_spend_txs` flakiness, which exposed this bug.

ACKs for top commit:
  darosior:
    ACK 421c1af6cd90f1b1af77c303b2ba2e74760b8781 -- tested it locally by running the `test_conflicting_unconfirmed_spend_txs` functional test around a thousand times.

Tree-SHA512: 8bb4a198934ae66a13d123c79cef2c9718d57a4ee8f9dbcc3e38257e54a758b1c63cdccfe90092d0bdabcdc3a488d6de82369e11130f6699aceeee9082075488
2023-08-22 17:00:40 +02:00
Antoine Poinsot
421c1af6cd
bitcoind: fix the detection of unconfirmed RBF spending txs
As we walk through the spend transactions in the wallet, we may return
the txid of the transaction that was replaced instead of the new one.
2023-08-22 16:49:13 +02:00
Antoine Poinsot
0f8af27ee5
Merge #628: daemon bin: remove help detection on the command line
7ecefdebdfaa8cc6e4641615009c03d6f1b07941 Revert "tests: don't wait for lianad to log on shutdown" (Antoine Poinsot)
77e46d549567dc3ee8d85a93bc8ac4531aaa7817 daemon: remove 'help' detection in command line arguments (Antoine Poinsot)

Pull request description:

ACKs for top commit:
  darosior:
    ACK 7ecefdebdfaa8cc6e4641615009c03d6f1b07941 -- tested by running the whole test suite 20 times in parallel locally.

Tree-SHA512: 03d4aef6b7d1ffdeda8987f015465fe1060cab8e17dbf40825760d455f01ebd83602b9a5b804452b1dcc01022e515653e2d68b504837b2c46a00d1ae106ad50e
2023-08-22 16:48:56 +02:00
Antoine Poinsot
76dcc8bb3e
Merge #624: fix gui internal daemon: stop gracefully
a1c716611769e1cdaa08b2b6a458052de2d9a003 fix gui: stop daemon gracefully (edouard)

Pull request description:

ACKs for top commit:
  darosior:
    utACK a1c716611769e1cdaa08b2b6a458052de2d9a003

Tree-SHA512: 908ac1284aea89e9a84176f180aa6241f2ca8fe6846ebca6ea134c7e145d775689cac41aa33c6f4b6b009bda664ba290572701294fe07f5280a5e2851d0242f1
2023-08-22 16:46:41 +02:00
Antoine Poinsot
7ecefdebdf
Revert "tests: don't wait for lianad to log on shutdown"
This reverts commit 97abc4699c7343e4be6a0596a25481f9e07bb3bb.
2023-08-22 16:44:22 +02:00
Antoine Poinsot
77e46d5495
daemon: remove 'help' detection in command line arguments
This is superfluous and prevents using config files with "-h" in their
path.
2023-08-22 16:42:57 +02:00
Antoine Poinsot
032bb26997
Merge #626: tests: don't wait for lianad to log on shutdown
97abc4699c7343e4be6a0596a25481f9e07bb3bb tests: don't wait for lianad to log on shutdown (Antoine Poinsot)

Pull request description:

  It seems to be causing some races that i don't want to be investigating at the moment. It's redundant anyways as we are already checking for the return code of the process.

  It's fixing the annoying "Process died while waiting for logs" when stopping the daemon. AKA:
  > Yes it died i stopped it that's the point.

ACKs for top commit:
  darosior:
    self-ACK 97abc4699c7343e4be6a0596a25481f9e07bb3bb -- trivial

Tree-SHA512: bed7779da37719c5bcd9ce25a39d00ce720980265b564d8230290c23868a51012a10547a3a8f9c964679f779c302a206985394f947a1e8950f845e88ddaebc5d
2023-08-22 16:35:01 +02:00
Antoine Poinsot
97abc4699c
tests: don't wait for lianad to log on shutdown
It seems to be causing some races that i don't want to be investigating
at the moment. It's redundant anyways as we are already checking for the
return code of the process.
2023-08-22 16:23:48 +02:00
edouard
a1c7166117 fix gui: stop daemon gracefully 2023-08-22 16:18:39 +02:00
Antoine Poinsot
05c9b580db
Merge #625: bitcoin: looper: avoid large sleeps when bitcoind is syncing
0d5041ca4a972a946244643db738e6d35b0d114e bitcoin: looper: avoid large sleeps when bitcoind is syncing (Antoine Poinsot)

Pull request description:

  Sleeping for 30 whole seconds impedes the shutdown check. Sleep only .5s but still only do poll bitcoind one every 30s when it's syncing.

  It was reported to make the GUI hang when closing it while syncing.

ACKs for top commit:
  edouardparis:
    utACK 0d5041ca4a972a946244643db738e6d35b0d114e

Tree-SHA512: 48c9121a02abaf8311d7b646ea64cbde4e14fda737c6f78521739bc185e6081642d05b3ca8088d3ce6782ffa00d6e5879e6a6e09da7f05c85f8476ac83b6860b
2023-08-22 16:16:22 +02:00
Antoine Poinsot
bb8b618f8a
Merge #623: lib: non-blocking daemon shutdown
2a6b775f607dc0b56be874807bd36427922ac681 lib: non-blocking daemon shutdown (Antoine Poinsot)

Pull request description:

  This makes it possible to trigger the shutdown of the daemon through the DaemonHandle, without having to block while waiting for the poller thread to join.

  Incidently, this allows to avoid having to move `self` which in turns allows to fix a GUI bug (see
  https://github.com/wizardsardine/liana/issues/622).

ACKs for top commit:
  edouardparis:
    ACK 2a6b775f607dc0b56be874807bd36427922ac681

Tree-SHA512: a443ba27f28b5f1acf602f5e4339400dda5a7b2c70c9d7c36df3dfccc32baf7a6ae2cf07fd17666c023e68b943c7961d2c61be8678bc9be1fad1bdeb7c7f1554
2023-08-22 15:53:10 +02:00
Antoine Poinsot
0d5041ca4a
bitcoin: looper: avoid large sleeps when bitcoind is syncing
Sleeping for 30 whole seconds impedes the shutdown check. Sleep only .5s
but still only do poll bitcoind one every 30s when it's syncing.
2023-08-22 15:41:26 +02:00
Antoine Poinsot
2a6b775f60
lib: non-blocking daemon shutdown
This makes it possible to trigger the shutdown of the daemon through the
DaemonHandle, without having to block while waiting for the poller
thread to join.

Incidently, this allows to avoid having to move `self` which in turns
allows to fix a GUI bug (see
https://github.com/wizardsardine/liana/issues/622).

Only available as an optional feature since `is_finished` needs rustc
1.61.
2023-08-22 14:55:14 +02:00
Antoine Poinsot
d2b0e40131
README: mention the Debian package on the README 2023-08-18 14:31:51 +02:00
Antoine Poinsot
bdeaf93ec8
Merge #610: Release packaging improvements
2888db425df61a5e64ce12f9425bbef7cb3452b6 contrib: remove former script to generate Debian packages (Antoine Poinsot)
3e23bf5e35ac594340703ca9c68d6448f6d85f5f contrib: Debian packaging for releases (Antoine Poinsot)
8a7c2832697f342692ee2e420212c8d387248dff contrib: use a zip archive for the MacOS sample app folder (Antoine Poinsot)

Pull request description:

  This cleans up the MacOS distribution and adds Debian packaging to the release script. This gives users of Debian-based distributions (Ubuntu, etc..) a simple way of installing our software.

  Fixes https://github.com/wizardsardine/liana/issues/519.

ACKs for top commit:
  darosior:
    ACK 2888db425df61a5e64ce12f9425bbef7cb3452b6

Tree-SHA512: 04de4d455138e214dd73cf3d7d9623aae341271bf32201ef50eae4b3f07c572a4d2d7b4f3af9705d24a788ceffccedbfdca156fafbe9d7c475a8f655edf8e49a
2023-08-18 14:31:14 +02:00
Antoine Poinsot
2888db425d
contrib: remove former script to generate Debian packages
It's now been integrated in our release script.
2023-08-18 14:27:19 +02:00
Antoine Poinsot
3e23bf5e35
contrib: Debian packaging for releases 2023-08-18 14:27:18 +02:00
Antoine Poinsot
8a7c283269
contrib: use a zip archive for the MacOS sample app folder
Git cannot track empty folders, use an a zip archive for this.
2023-08-18 14:27:18 +02:00
Antoine Poinsot
0e71137f8c
Merge #617: README: 1.0 -> 1.1
ca7d9b416938365be36f409698f2ea5636e30497 README: 1.0 -> 1.1 (Antoine Poinsot)

Pull request description:

ACKs for top commit:
  darosior:
    flash-ACK ca7d9b416938365be36f409698f2ea5636e30497 -- trivial

Tree-SHA512: 5c7b799b91eb37449056fbc69bd9d0fb353604f651530f9541aaac1e9b55fd34f4f29cfa1348a921635d9a04f7b6bd6128b40d0f8ad151d278e4f3735d2cd37b
2023-08-18 14:26:27 +02:00
Antoine Poinsot
ca7d9b4169
README: 1.0 -> 1.1 2023-08-18 14:25:06 +02:00
Antoine Poinsot
1fd1222c5a
Merge #614: Arch Linux packaging through AUR
2b3ed5a8dd4cd36a15d23f1792b37a18023f08c2 README: add instructions for installing Liana from AUR (Antoine Poinsot)
c7189421debc4588fa9a26749a92e850ae69e569 contrib: add a PKGBUILD to publish Liana to AUR (Antoine Poinsot)

Pull request description:

ACKs for top commit:
  darosior:
    ACK 2b3ed5a8dd4cd36a15d23f1792b37a18023f08c2

Tree-SHA512: 65910e7b3ceb81fe19895106f54d08acb88ef73cdbc7f247ac6af27fafbc48d9f5ab8dffd2ea9f54a57b80c8d99c07e2b2c32203934faa144c1a7a9f53073da0
2023-08-18 14:10:25 +02:00
Antoine Poinsot
2b3ed5a8dd
README: add instructions for installing Liana from AUR 2023-08-18 14:09:00 +02:00
Antoine Poinsot
c7189421de
contrib: add a PKGBUILD to publish Liana to AUR 2023-08-18 12:47:45 +02:00
edouard
df7e575594
Merge #606: gui: installer: convey registering on a signing device isn't always required
bba5cd63e81a491c28eddc14e4087ba179794a3c gui: installer: convey registering on a signing device isn't always required (Antoine Poinsot)

Pull request description:

  As discussed in #545, in some cases we nudge the user to register the descriptor on their signing device although they might not have one. Those cases only ever arise when importing a descriptor (either when recovering from backup or participating in the creation of a descriptor on another laptop), since when the descriptor is created beforehand we can simply detect whether a signing device was used and thereby needs to be registered (implemented since https://github.com/wizardsardine/liana/pull/470).

  Therefore, detect when the registration step arises as part of an import process and if so adjust the language to convey registration on a signing device may not be necessary.

  Result:
  ![image](https://github.com/wizardsardine/liana/assets/22457751/b6964dbc-c1e4-4059-b85a-c61492ba523c)

  Fixes #545.

ACKs for top commit:
  edouardparis:
    ACK bba5cd63e81a491c28eddc14e4087ba179794a3c

Tree-SHA512: 5b25b0c980f3e57563fc3c301802a7c4da50d7c80802d3e6a7517f98ee1da60e9d5ebe890ce3b8c34ca882220d920e31c59b79877c9e8f48b72b092d3809acda
2023-08-18 09:21:15 +02:00
Antoine Poinsot
b2baed517b
Merge #581: gui installer: append derivation path to xpubs
30ce2dea081adb504fed261b09103d4fcbba5fb4 installer: use appended path instead of account number for xpubs (edouard)

Pull request description:

ACKs for top commit:
  darosior:
    ACK 30ce2dea081adb504fed261b09103d4fcbba5fb4 -- tested it locally and reviewed the descriptor analysis related changes. Edouard also tested it against a setup with a Specter device.

Tree-SHA512: d407c4d96e7990161595a94cc4341268676325a76a241e9a070cb84218a3f49b3cbf6c2918cf9d0f108e2019aefbed90fd86f4412001f0d540eb3edb51a1c58c
2023-08-16 14:27:58 +02:00
Antoine Poinsot
1a964f37f1
Merge #612: bitcoind: Make BitcoinD public and add stop method
3372a8d461f1b06cff08d913b45328e3dcd75da7 bitcoind: add `stop` method (jp1ac4)
60ee667f6c0260053cc2c4dfb7c30c390e5a8390 bitcoind: make `BitcoinD` public (jp1ac4)

Pull request description:

  This is needed as part of https://github.com/wizardsardine/liana/pull/592 for both checking connectivity to the internal `bitcoind` and stopping it when closing Liana.

ACKs for top commit:
  darosior:
    utACK 3372a8d461f1b06cff08d913b45328e3dcd75da7

Tree-SHA512: 804cf6a94688db7aa8d78b10a47d08f58ff93c322c9f91bee7b98625d7d5e0633282fa4d0a1b801e56a334a4448f0348930fe5ef3265b5719bd090b6128fc67a
2023-08-16 12:15:28 +02:00
jp1ac4
3372a8d461
bitcoind: add stop method
This is required by the GUI for stopping an internal bitcoind when closing Liana.
2023-08-16 09:26:40 +01:00
jp1ac4
60ee667f6c
bitcoind: make BitcoinD public
This is so that it can be used by the GUI for checking connectivity to bitcoind.
2023-08-16 09:24:10 +01:00
Antoine Poinsot
0591243abe
Merge #601: lianad: print a more helpful error message on startup failure
d4da2bf6b451de0cd44630c077b83426ed581940 daemon bin: try to detect '--help' or '-h' (Antoine Poinsot)
01ce0f179d8ef059f04e56e8f7c125264e9949b1 daemon bin: more helpful error message on config file parsing error (Antoine Poinsot)
222c8bba810cb20eeb60270e89857ab09324884d daemon bin: a more helpful error message on unknown arguments. (Antoine Poinsot)

Pull request description:

  Specifically, link to a sample configuration file. How are users supposed to know how to write the config file otherwise?

  Fixes #559.

ACKs for top commit:
  darosior:
    self-ACK d4da2bf6b451de0cd44630c077b83426ed581940 -- trivial.

Tree-SHA512: 7ca05aa0e351c390b67051ad36c2e767b019cf6339d8207e1fdbd1ead47a3d79ab6cd9584c412d98ae876aa7e8ea906885c52261565917a7cd1126798806b5d2
2023-08-14 10:04:57 +02:00
edouard
30ce2dea08 installer: use appended path instead of account number for xpubs 2023-08-11 17:48:10 +02:00