744d8f856cdf0f3e3aa94f26e85e49202516244e doc/USAGE: point to our website for download (Antoine Poinsot)
Pull request description:
No need to update this document for every single version anymore. Also, Github doesn't let us access how many people download the binaries.
ACKs for top commit:
darosior:
self-ACK 744d8f856cdf0f3e3aa94f26e85e49202516244e -- only doc
Tree-SHA512: 0204bf830026acbea84b1b7f456e1735fd1e951260b904f8b06fff47dc0f1a218efc155e014faaa6df34e2eaffd4b7742aa37e09aca3c4c97eeb27cf17f30f57
ed86696daf556533592b3285c70a2386a84ece71 tests: remove print statements (jp1ac4)
5d6ca97e4cf2e1778552d4980291eca1d2cc57c7 spend: reword warning messages (jp1ac4)
8078a2791a81eecd7f662e4fd43965e185c1737e tests: use function to calculate additional fee (jp1ac4)
deb75884bfe8a47c9143fd7006960c81d956d6d4 tests: run black (jp1ac4)
f14c3a7f75f4483e83da5a6dfd2dc0cb3624133a spend: fix typo in enum variant (jp1ac4)
Pull request description:
As discussed with @kloaec, this PR rewords the warning messages when creating a spend.
I didn't include the selected feerate value in the updated messages as that would have required more code changes, albeit fairly simple ones, beyond the message wording itself. I can add those here if required or otherwise in a follow-up.
Here's a screenshot showing the new warnings:

ACKs for top commit:
darosior:
ACK ed86696daf556533592b3285c70a2386a84ece71
Tree-SHA512: e8f72206ccba74609e1a8b4a9dccd5975534de7a392d24e54ab8bb5ca6d4d38a75864e148e463e66ffda48fef1a68ab0e953c6fe24a4e6bf28eca9535135f7e4
f22f7291d09268108a52324d0e4f8547023f8570 doc: final cleanup on the README (Antoine Poinsot)
4bf54f19ae6bf1621f70af446b91f1c9241937e0 doc: expand a bit on starting using the software (Antoine Poinsot)
245aeb1e4cea351cbe5a23954d7eeac96a1e4fc0 README: mention LianaLite (Antoine Poinsot)
95391fc19f8f524f36c34f69a34dcb7dcfe592bc doc: split up the README in multiple documents (Antoine Poinsot)
Pull request description:
ACKs for top commit:
darosior:
self-ACK f22f7291d09268108a52324d0e4f8547023f8570 -- Kevin had a look
Tree-SHA512: dd0740b94e30565d85b93c81aee126d9c02abe7c48e1101bb7056ecd14748cc04cd096cae01944322ba512c4b7c100e62d564626ed28c62fecfbbdc34dfeb054
2e191f3496285f0133a61ab7f0985489aa8406de guix: use rust 1.63 for building lianad (Antoine Poinsot)
Pull request description:
ACKs for top commit:
darosior:
self-ACK 2e191f3496285f0133a61ab7f0985489aa8406de
Tree-SHA512: 52f79ce71a1c61f966f4890149b169093f0ceeda35afb18980983557a05cb6892bafbdedd2f404d9f62c348b83524e9b20aa7beee66ee1ef2e53dcb2a3636925
f9bae9cc0814d909a72a800d9f6d7ced2f99f06d database: add migration from db version 3 to 4 (jp1ac4)
2c96ef57bd606524223da037375ef351ea69e949 commands: exclude immature coins from coin selection (jp1ac4)
3a7c151674c487dd11f4f2d1db78d468f5f087a9 database: allow for coinbase transactions to change addresses (jp1ac4)
Pull request description:
As a follow-up to #873, this ~~adds a comment to make clear that immature coins are not included as candidates for auto-selection~~ excludes immature coins from auto-selection.
An unconfirmed coin could be both immature and marked as change, as the latter only depends on whether the address is derived from the wallet's change descriptor. I've also removed a corresponding assertion that may not always hold.
ACKs for top commit:
darosior:
ACK f9bae9cc0814d909a72a800d9f6d7ced2f99f06d -- this is very nice. Again, great catch. And thanks for adding a more extensive unit test.
Tree-SHA512: 12abe3dd18723db58ff701f664c6085e7fd29d39fefa7206e3e00fa5fb3e3b4320720c183a9719a3a0f3124896347ac74571b45a54bd504d674f779913466c16
65f4a7581359edd7d9a1a593273238485955a3e6 fix receive panel: reset addresses on reload (edouardparis)
Pull request description:
We reintroduce previous behavior:
Reset the list when user leave and come back to the receive panel.
close#1026
ACKs for top commit:
jp1ac4:
ACK 65f4a75813.
Tree-SHA512: 23aa6f58d2759f8d39d5068ebaa45a1529fd5f2692f0147a2b42e70423eb7ac3d0be26c5a00af1394e0cea22bca5c4e6a49f85b033ff2abcd392bf9fbd43c58d
68f8dbc43ba00de04b1ee33e0e8f2bd77242b127 gui: fix condition to create draft spend (jp1ac4)
Pull request description:
This issue was encountered by @pythcoiner in https://github.com/wizardsardine/liana_manual_testing/blob/master/tests/v5/v5-pre-rc1/pyth.md#comments.
The `balance_available` value was not being refreshed when new coins were received and so it was sometimes not possible to click Next.
It's enough, however, to check the amount left to select is 0, and so both the `balance_available` and `total_amount` fields can be removed.
ACKs for top commit:
edouardparis:
ACK 68f8dbc43ba00de04b1ee33e0e8f2bd77242b127
Tree-SHA512: b50519beb094e2344273a44bcc21c077a568c31d9cd0d96a29117b42aef146919b18abf8cfea15c5b15962cdf553a547435d464feea4e87fdb33cfcab7394392
The `balance_available` value was not being refreshed when new
coins were received and so it was sometimes not possible to
click Next.
It's enough, however, to check the amount left to select is 0,
and so both the `balance_available` and `total_amount` fields
can be removed.
615be66655f1a75e14122272ac9ec2dbc3a6a902 fix wrong index in receive qrcode (edouardparis)
Pull request description:
ACKs for top commit:
pythcoiner:
utACK 615be66655f1a75e14122272ac9ec2dbc3a6a902
jp1ac4:
ACK 615be66655. I checked that the index shown by the QR matched the index shown when verifying on hardware device.
Tree-SHA512: 89b8c40975bedd07170db30383f619d7f33752a9c27537f9bb9176038a4fc3473a6fb0ca47e48b932011de96ee315d9fc22ff7cad1f416b0be6ef0fd11e67295
58c71c794a050a2df460aec241c90efe89cf9ae0 lib: gate the RPC server availability on the 'daemon' feature (Antoine Poinsot)
b7fde6a9e433afed1f23cabbab59093d953b2d54 commands: update our state immediately after broadcasting a tx (Antoine Poinsot)
1cf42d9aeec34b184d93484ea25d9a843a45bc3f poller: introduce a communication channel with the poller thread (Antoine Poinsot)
f6ce85cfd32f669f6eb061ed8b367f4182512b95 lib: remove the panic hook. (Antoine Poinsot)
b4fe963a5b2817ef07f3d96ddcc3c71f9a6606d3 lib: encapsulate the handling of both threads (poller and RPC server) (Antoine Poinsot)
fd5387f954948303cf8403925062f577ae7bc49e poller: use the same database connection across one update round (Antoine Poinsot)
ea6923e2c075416882304c263b29be99ac24f824 poller: make the updating process into its own function. (Antoine Poinsot)
Pull request description:
Fixes https://github.com/wizardsardine/liana/issues/887.
This takes a couple commits from #909 but takes the approach from there in another direction: we don't externalize the poller, since only a single instance must be ran. Instead we properly keep track of the (up to) two threads we manage in the `DaemonHandle` and provide a way for a user of the library to check for errors in any of the threads.
This approach allows us to 1) communicate with the poller thread from inside the Liana library/daemon (here we leverage this to tell it to poll) 2) eventually (#909) expose all internal errors from the library to the user instead of panic'ing internally.
See the commit messages for details.
ACKs for top commit:
darosior:
ACK 58c71c794a050a2df460aec241c90efe89cf9ae0 -- did another pass and Edouard tested this in the GUI.
Tree-SHA512: 0ab436b2a187f9d124ed8861a47f03bb1e9252cdc4f3b5c4308db07be738c78b2ea3f07dc0a9586e3d5bd34f071a1e2a2569cad30676c9cc004e39260ebb94ca
afd55299ed2fda5d2ee19232cb6c67397acd9b49 gui: clear rbf modal for different tx (jp1ac4)
Pull request description:
As a follow-up to #959, this clears the RBF modal if the selected transaction changes. e.g. after going to the replacement transaction from the RBF modal and then returning to the Transactions panel and selecting a different transaction.
ACKs for top commit:
edouardparis:
ACK afd55299ed2fda5d2ee19232cb6c67397acd9b49
Tree-SHA512: f04c88941c162b08239efc4f9428bac7ebd0f9488229a6a454285cde8da61f1bd1b9aa58662c84a4f152d4c80fd06812201defd092fd294292289249fba0ef94
We'll need to ask the poller thread another thing besides to shut down,
so it's cleaner to start using proper messages.
The mpsc channel in the std lib was buggy for awhile but since they
merged crossbeam and are using this behind the hood now it should be
fine starting with Rust 1.67. That's (slightly) higher than our MSRV but
it's what we use for releases so that's reasonable. See
https://github.com/rust-lang/rust/issues/39364 for details.
158bdc8a70bcd1a5dae34a842e7ac0bb39c20127 tab on TextInputs (pythcoiner)
Pull request description:
this PR introduce handling of new events in all views:
- `Tab` will move cursor to the next TextInput
- `Tab` + `Shift` will move the cursor to previous TextInput
ACKs for top commit:
edouardparis:
ACK 158bdc8a70bcd1a5dae34a842e7ac0bb39c20127
Tree-SHA512: 018fa55bfc4cae597ff82e7663ce43b906086b524eb3f95193a69e296c60a93d1a20d453221a7747037a84313fdcbf1d84cd970794b512841b9387385147bda1
We now provide a way for a user of the daemon to poll for errors in the
threads, so aborting the process on a thread panic shouldn't be
necessary anymore.
This is inspired from the work in
https://github.com/wizardsardine/liana/pull/909 (specifically
d8c59e30ed)
to externalize the management of the poller thread. However, there may
be only one poller thread. Starting more than one can lead to a crash or
potentially to data corruption. Therefore it feels safer to manage it
internally.
Instead of exposing the management of the poller to the user of the
library, we manage both threads inside the `DaemonHandle` data structure
and expose a way for a user to check for errors which may have occured
in any of the threads.
This makes it possible to:
1. Eventually propagate errors from the threads to the user of the
daemon (https://github.com/wizardsardine/liana/pull/909);
2. Communicate internally with the poller thread, for instance to
trigger a poll immediately (following commits).