1634 Commits

Author SHA1 Message Date
edouardparis
577dce2f1e
Merge #1083: Add nixGL to gui/shell.nix
9aa0b990a36716954ff30149982d1b5928cc3e57 Add nixGL to gui/shell.nix (edouardparis)

Pull request description:

  Nixos 23.11 comes with libc 2.38, this version of libc may not be compatible with some drivers. For now the hack found is to use a community wrapper that detects the requirements and do the link (https://github.com/guibou/nixGL). usage:
  nixGL cargo run

ACKs for top commit:
  edouardparis:
    Self-ACK 9aa0b990a36716954ff30149982d1b5928cc3e57

Tree-SHA512: 08e6c00412038129d482d61eaddaed6e1c237feba373baa16c7e408c6f95cff0ec510b890bd08c37d275fa1b37dc580388fbdd8a01fbbab25afb0a9be8eb2912
2024-04-23 16:21:58 +02:00
edouardparis
9aa0b990a3 Add nixGL to gui/shell.nix
Nixos 23.11 comes with libc 2.38, this version of libc may not be compatible
with some drivers. For now the hack found is to user a community wrapper that
detects the requirements and do the link (https://github.com/guibou/nixGL).
usage:
nixGL cargo run
2024-04-23 14:28:43 +02:00
edouardparis
687e6d1860
Merge #1021: bump clippy rust toolchain to 1.76.0 for gui + fix new clippy warnings
70058e6af056721abff7a5bbdc6e97427b32dc18 bump rust toolchain to 1.76.0 for gui + fix new clippy warnings introduced by 1.76.0 (pythcoiner)

Pull request description:

  bump rust toolchain to 1.76.0 for gui + fix new clippy warnings introduced by 1.76.0

ACKs for top commit:
  edouardparis:
    ACK 70058e6af056721abff7a5bbdc6e97427b32dc18

Tree-SHA512: f640606496e5b5de51618dad115de06023502e2b6980413a4e67f1041147a9347188a3042f1f382a3cc72c3a1e2edecd563012ab4dc10c5a4b616b40631dd26f
2024-04-22 15:18:38 +02:00
edouardparis
d0996d3f5b
Merge #1081: GUI: change daemon trait to handle async methods
07b47e46db2a8c00d4e7a1ae6004113f87ed758a gui: use tokio::sync::Mutex for embedded daemon (edouardparis)
7b70c8434a978a9235099be2640e292a5debe329 Use async-trait for daemon (edouardparis)

Pull request description:

  This a preparatory work in order to have a lianalite backend connection to satisfy the Daemon trait.
  This PR also allows us to use tokio::sync::Mutex for the embedded daemon which goes great with the iced tokio runtime.

ACKs for top commit:
  edouardparis:
    Self-ACK 07b47e46db2a8c00d4e7a1ae6004113f87ed758a

Tree-SHA512: 2d48b07735dc03f127bdddecdd0a4d4f436b2b95d9fccdfcb113ef00c5b8998361606370fdadce7fdee94240b81697704925538cd69904b5a7cbaf3fd03b05cc
2024-04-22 15:10:44 +02:00
edouardparis
07b47e46db gui: use tokio::sync::Mutex for embedded daemon 2024-04-22 14:35:41 +02:00
edouardparis
7b70c8434a Use async-trait for daemon 2024-04-22 14:35:41 +02:00
edouardparis
f9ea8ec0b6
Merge #967: gui: add listcoins filters
1c99376860458f350c3289cd995716aca96c4d87 gui(app): cache unconfirmed & confirmed coins only (jp1ac4)
daf9f85cfd3ef77698773f9c86763f4bb5122b6a gui(spend): filter for unconfirmed & confirmed coins (jp1ac4)
982220da030d7f4f001374b54345c4703891a3ba gui(home): filter for unconfirmed & confirmed coins (jp1ac4)
85b053ff90d7eb679cd2c1e72a59249b3796400f gui(recovery): filter for unconfirmed & confirmed coins (jp1ac4)
c9fcfae9d46b81a56b731d95a51fa1e3ea812287 gui(recovery): filter coins by psbt outpoints (jp1ac4)
4509bd6baf380c59363a2042fad28796bd0b09ab gui(coins): filter for confirmed & unconfirmed (jp1ac4)
685f83bd0eef46d1448cdc2caf4eef2a7fa09b71 gui(transactions): remove unused list_coins (jp1ac4)
21f87047ac013c22bd405de584d655ad9cdb76f8 gui(transactions): filter coins by tx outpoints (jp1ac4)
ddd1e84700642abbe43d2086de66bcf6d43741fa gui(psbt): get conflicting txs from filtered coins (jp1ac4)
4641d9eb7bd5fd2f8b8ed053601ff296965ea552 gui(daemon): filter coins using spend txs prev outpoints (jp1ac4)
aa578ba1fd846e28ed4566be9069e35a5c22dc43 gui(daemon): filter coins for pending txs (jp1ac4)
46121590c36947d8eac2be4e9989e0b4e8615235 gui(daemon): filter outpoints from txs inputs & outputs (jp1ac4)
f3fdb968275db3987d7afaee3b1ba84e0020f8a9 gui(daemon): extract common function for historytxs (jp1ac4)
6c7ca2ccaebd8acd6629c7faf8e418cb50128677 gui(daemon): add optional filter to `list_coins` (jp1ac4)

Pull request description:

  This is to resolve https://github.com/wizardsardine/liana/issues/677.

  As well as adding the filters to the daemon interface, I've applied filters in separate commits to different sections of the GUI.

  This PR builds on changes from https://github.com/wizardsardine/liana/pull/958 and https://github.com/wizardsardine/liana/pull/965. The latter is required when filtering for pending transactions so that a coin whose spending txid changes (e.g. due to RBF) remains as spending.

ACKs for top commit:
  edouardparis:
    ACK 1c99376860458f350c3289cd995716aca96c4d87

Tree-SHA512: c8b9c68a8344df1dbb04b22e315234dec7ae0c18bfc697f88296d3a4b5e7276a48005db6caf1a0b89a23e174f72118ad10945118be8cd96fbee20ba79c12d721
2024-04-19 10:57:47 +02:00
Antoine Poinsot
bf2e8b5699
Merge #953: [Daemon] Add -v/--version/-h/--help args
cd0e69ab237b7fb33aebebb4ca9bad12f06239fe add -v/--version and -h/--help args (pythcoiner)

Pull request description:

  ![image](https://github.com/wizardsardine/liana/assets/124568858/5822e3de-f7f8-4943-8c13-3aff05dca3b5)

ACKs for top commit:
  darosior:
    ACK cd0e69ab237b7fb33aebebb4ca9bad12f06239fe

Tree-SHA512: 408e3f4397c43bbe6347f817e9145c8d6f1ff56aec26310b9f3605f181add581ffb34dce6b353507e6d1877a4a6d169fb0887b1ba5797d7f930eb69d4a706f30
2024-04-19 08:28:47 +02:00
jp1ac4
1c99376860
gui(app): cache unconfirmed & confirmed coins only 2024-04-18 20:14:50 +01:00
jp1ac4
daf9f85cfd
gui(spend): filter for unconfirmed & confirmed coins 2024-04-18 20:14:49 +01:00
jp1ac4
982220da03
gui(home): filter for unconfirmed & confirmed coins 2024-04-18 20:14:49 +01:00
jp1ac4
85b053ff90
gui(recovery): filter for unconfirmed & confirmed coins 2024-04-18 20:14:49 +01:00
jp1ac4
c9fcfae9d4
gui(recovery): filter coins by psbt outpoints 2024-04-18 20:14:48 +01:00
jp1ac4
4509bd6baf
gui(coins): filter for confirmed & unconfirmed 2024-04-18 20:14:48 +01:00
jp1ac4
685f83bd0e
gui(transactions): remove unused list_coins 2024-04-18 20:14:48 +01:00
jp1ac4
21f87047ac
gui(transactions): filter coins by tx outpoints 2024-04-18 20:14:47 +01:00
jp1ac4
ddd1e84700
gui(psbt): get conflicting txs from filtered coins 2024-04-18 20:14:46 +01:00
edouardparis
f8012daffc
Merge #1054: gui: remove descriptor backup in installer when participating in new wallet
52cbc3ee386973c12d002da3a688266994261312 gui: require valid network to proceed (jp1ac4)
2099866a60b5b9144bcb108ae17bfbb39d47fd90 gui: remove step to back up descriptor (jp1ac4)

Pull request description:

  This fixes #791 which is regarding the "Participate in new wallet" steps.

  The previous step requires the descriptor and so no need to back it up.

  I also fixed an issue where it was possible to click Next with an invalid network selected.

ACKs for top commit:
  edouardparis:
    ACK 52cbc3ee386973c12d002da3a688266994261312

Tree-SHA512: 762122b36260bca9e06b6971a941a91df23051affe1039ca74dc7c31ae96283f09f579fb4a8adbb71efe16bd4c64e96fbd5ae9f6dd3304addcaf142cdab3941b
2024-04-15 14:42:52 +02:00
Antoine Poinsot
8c55eeca1d
Merge #1076: Bump bdk_coin_select to 0.3.0
43ecd94a46a8abf82a6882e741aa1db2fd0abd7c spend: change parameter type for rbf (jp1ac4)
6376909ea1f9cb172558f8ae470a709b18757e20 commands: remove rbf rule 4 logic (jp1ac4)
936d7e958567608a46e91c21699d611ca5eced1d spend: bump bdk_coin_select to 0.3.0 (jp1ac4)

Pull request description:

  This is to resolve #923.

  The `score` method of the `LowestFee` metric has been fixed upstream and so our temporary partial fix from #867 is no longer required.

  The `min_fee` parameter of `select_coins_for_spend`, if positive, now ensures that RBF rule 4 is satisfied. Accordingly, it has been renamed to `replaced_fee` and made an `Option`. We could potentially have used the `SpendTxFees` enum as a parameter directly instead of `feerate_vb` and `replaced_fee`, but `feerate_vb` is currently `f32` rather than `u64` and so I kept them as separate parameters.

  Thanks to how the `replaced_fee` parameter works, the fee iteration approach used in `rbf_psbt` to ensure the replacement satisfies [RBF rule 4](https://github.com/bitcoin/bitcoin/blob/master/doc/policy/mempool-replacements.md#current-replace-by-fee-policy) is no longer required.

  `base_weight` is no longer stored in `CoinSelector` and instead the output weights are stored in `Target`. This means that the `output_weight` of `DrainWeights` no longer needs to take into account a potential change in output count varint as this is now handled by bdk_coin_select.

  The min value for change no longer includes the threshold itself and so we have to subtract 1 from our change policy's min value (see https://github.com/bitcoindevkit/coin-select/pull/14#discussion_r1439665103). We already have a [test](https://github.com/wizardsardine/liana/blob/master/src/commands/mod.rs#L1653-#L1654) that fails without this subtraction as it expects a change output of 5000 sats.

ACKs for top commit:
  darosior:
    ACK 43ecd94a46a8abf82a6882e741aa1db2fd0abd7c

Tree-SHA512: a064bafef13abefcb8c4b640cfc4017eb288c62891a8b486add33c1499e7061bf262d6aadabbdd4c191ed9b81e3931b382c8c8445e6bb9c1b052380caf14b3f9
2024-04-15 13:13:19 +02:00
jp1ac4
43ecd94a46
spend: change parameter type for rbf
The parameter has been renamed and changed to `Option` as it is
only required when creating a replacement transaction using RBF.
2024-04-05 21:56:17 +01:00
jp1ac4
6376909ea1
commands: remove rbf rule 4 logic
RBF rule 4 is now enforced by coin selection.
2024-04-05 21:54:08 +01:00
jp1ac4
936d7e9585
spend: bump bdk_coin_select to 0.3.0
The `score` method of the `LowestFee` metric has been fixed
and so our temporary fix is no longer required.

The `min_fee` parameter of `select_coins_for_spend`,
if positive, now ensures that RBF rule 4 is satisfied.

`base_weight` is no longer stored in `CoinSelector` and
instead the output weights are stored in `Target`. This
means that the `output_weight` of `DrainWeights` no longer needs
to take into account a potential change in output count varint.
2024-04-05 21:46:06 +01:00
edouardparis
1418e18842
Merge #1071: Use text size constant
d722ca1e4d9008df5bcf5cea3af531ed8de75209 Use text size constant (edouardparis)

Pull request description:

  this is preparatory work for #597

ACKs for top commit:
  edouardparis:
    Self-ACK d722ca1e4d9008df5bcf5cea3af531ed8de75209

Tree-SHA512: 882fefe1685e34b252e6ca0dba9e2519b4889448cb410c3df542b2ca111baccbd2697b6ca191caa069ffec55dbdc0182c76de75a36f321f4927b6e81229db07b
2024-04-02 17:20:49 +02:00
edouardparis
d722ca1e4d Use text size constant 2024-04-02 17:04:03 +02:00
Antoine Poinsot
21f2d593c7
Merge #1070: doc/USAGE: point to our website for download
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
2024-04-01 17:02:40 +02:00
Antoine Poinsot
744d8f856c
doc/USAGE: point to our website for download
No need to update this document for every single version anymore.
2024-04-01 16:57:12 +02:00
Antoine Poinsot
a4d37e36ba
Merge #1064: gui: bump bitcoind to 26.1
3084808f0ce852040061b5ce392c53618367df64 gui: bump bitcoind to 26.1 (Antoine Poinsot)

Pull request description:

ACKs for top commit:
  jp1ac4:
    ACK 3084808f0c.

Tree-SHA512: 3d696999aefb4312517865ccaaaeac84ca74fc5eb77d69474663e72bc81253be3332733d4b58fd776df2680df1b1b808dedb3c3e77bdb012eb66051c903ab0eb
2024-04-01 12:20:43 +02:00
Antoine Poinsot
3084808f0c
gui: bump bitcoind to 26.1
This point release notably fixes an issue with the .cookie file.
2024-04-01 10:39:31 +02:00
Antoine Poinsot
7ef8d67abf
Merge #1055: gui: make max tooltip more legible
617845234c4e64e02b47d4e29971b094f38f5281 gui: make max tooltip more legible (jp1ac4)

Pull request description:

  This resolves an issue found by @kloaec. I've changed the tooltip position to `Bottom` instead of `Left` and added some blank spaces so that text is padded at screen edge.

  ![image](https://github.com/wizardsardine/liana/assets/121959000/871c0ba9-90de-4c3a-b7db-937ce62035c6)

  Full screen:
  ![image](https://github.com/wizardsardine/liana/assets/121959000/1bd90278-fc5d-4586-b486-d96511b1bad6)

ACKs for top commit:
  darosior:
    utACK 617845234c4e64e02b47d4e29971b094f38f5281

Tree-SHA512: 2af36699671b34087695f01e31c848d6f1b7e59dc84bc83e527d27a3c08de5ead21e67b89d301590403ea88a6a28ae25bfa0917c288b3222ffbd95bb401982dc
2024-04-01 10:28:56 +02:00
Antoine Poinsot
ae80af2296
Merge #1061: spend: reword warning messages
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:

  ![image](https://github.com/wizardsardine/liana/assets/121959000/7bd4ec6b-a878-4b25-950a-a4ea87175a6f)

ACKs for top commit:
  darosior:
    ACK ed86696daf556533592b3285c70a2386a84ece71

Tree-SHA512: e8f72206ccba74609e1a8b4a9dccd5975534de7a392d24e54ab8bb5ca6d4d38a75864e148e463e66ffda48fef1a68ab0e953c6fe24a4e6bf28eca9535135f7e4
2024-03-28 18:01:48 +01:00
jp1ac4
ed86696daf
tests: remove print statements 2024-03-28 12:38:09 +00:00
Antoine Poinsot
6d68a4323c
Merge #1058: Documentation improvements
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
2024-03-28 12:52:49 +01:00
Antoine Poinsot
f22f7291d0
doc: final cleanup on the README 2024-03-28 12:48:40 +01:00
jp1ac4
5d6ca97e4c
spend: reword warning messages 2024-03-28 11:08:49 +00:00
jp1ac4
8078a2791a
tests: use function to calculate additional fee
This will reduce flakiness in case the ancestor size differs due
to changes in signature size.
2024-03-28 11:03:21 +00:00
jp1ac4
deb75884bf
tests: run black 2024-03-28 11:03:15 +00:00
Antoine Poinsot
4bf54f19ae
doc: expand a bit on starting using the software 2024-03-27 19:11:52 +01:00
Antoine Poinsot
245aeb1e4c
README: mention LianaLite 2024-03-27 19:09:09 +01:00
jp1ac4
f14c3a7f75
spend: fix typo in enum variant 2024-03-27 17:59:16 +00:00
Antoine Poinsot
95391fc19f
doc: split up the README in multiple documents 2024-03-27 18:44:26 +01:00
jp1ac4
4641d9eb7b
gui(daemon): filter coins using spend txs prev outpoints 2024-03-27 08:18:27 +00:00
jp1ac4
aa578ba1fd
gui(daemon): filter coins for pending txs 2024-03-27 08:18:27 +00:00
jp1ac4
46121590c3
gui(daemon): filter outpoints from txs inputs & outputs 2024-03-27 08:18:27 +00:00
jp1ac4
f3fdb96827
gui(daemon): extract common function for historytxs 2024-03-27 08:18:26 +00:00
jp1ac4
6c7ca2ccae
gui(daemon): add optional filter to list_coins 2024-03-27 08:18:20 +00:00
jp1ac4
617845234c
gui: make max tooltip more legible 2024-03-26 16:07:56 +00:00
jp1ac4
52cbc3ee38
gui: require valid network to proceed 2024-03-26 14:29:43 +00:00
jp1ac4
2099866a60
gui: remove step to back up descriptor 2024-03-26 14:28:34 +00:00
Antoine Poinsot
771bf16b58
Merge #1052: guix: use rust 1.63 for building lianad
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
2024-03-26 14:08:35 +01:00
Antoine Poinsot
2e191f3496
guix: use rust 1.63 for building lianad 2024-03-26 14:07:24 +01:00