1671 Commits

Author SHA1 Message Date
edouardparis
9ae33408cb Move all network setup in launcher 2024-05-30 10:30:24 +02:00
edouardparis
be768b1a67
Merge #1097: gui: fix rbf feerate input form
3b604093ce13a6727b5201c59b9af014f28d329f gui: fix rbf feerate input form (jp1ac4)

Pull request description:

  This fixes #860.

  It makes it possible to edit a single-digit feerate, for example, by deleting the existing value and then entering a new one.

ACKs for top commit:
  edouardparis:
    ACK 3b604093ce13a6727b5201c59b9af014f28d329f

Tree-SHA512: 1e9add231590fc42b12cd3153892644cac75c4b4560236f8d892c152a06a63cda583229a78bc78365f050317574b6098c927f9c67e3cd4282e83a50cbd212758
2024-05-28 18:58:32 +02:00
jp1ac4
3b604093ce
gui: fix rbf feerate input form
This will make it possible to edit a single-digit feerate,
for example, by deleting the existing value and then entering
a new one.
2024-05-28 12:29:10 +01:00
edouardparis
a12d7f5788
Merge #1096: Add a warning in installer if mainnet wallet already exists
d770e62e19687a4e6357ac24f899653d922d9293 Collapse advanced settings menu and grey-out `Next` button in installer if mainnet wallet already exists (pythcoiner)

Pull request description:

  this PR fixes #1039, it add a warning in the installer if an wallet already exists on mainnet & grey-out `Next` button if the network  is not valid.

  ![image](https://github.com/wizardsardine/liana/assets/124568858/87b5017d-f44b-47d2-b3bc-77babc0e7cdf)

ACKs for top commit:
  edouardparis:
    ACK d770e62e19687a4e6357ac24f899653d922d9293

Tree-SHA512: c756804fb89aa9cc8bc1009517f88745521580c8d3128ebfdd5b364280fd56dbdbc7490680e0e7208b6c0e1fb55279ce357f46ad2c312311c5cb6e941d27a214
2024-05-27 16:41:20 +02:00
pythcoiner
d770e62e19 Collapse advanced settings menu and grey-out Next button in installer if mainnet wallet already exists 2024-05-27 15:39:27 +02:00
edouardparis
dd75308835
Merge #1095: replace AboutSection -> EditWalletSettings
a913a026467f7acea716defecbcae73fb0c07fa0 replace AboutSection -> EditWalletSettings (pythcoiner)

Pull request description:

  fixes #1087

ACKs for top commit:
  edouardparis:
    utACK a913a026467f7acea716defecbcae73fb0c07fa0

Tree-SHA512: a2ed2f8e6aefb6bc2f37908fcf66c78539d092fc823064d1fbfe29879eede900e58720128eb41638e3fa18158df73b6c6d863ff245402b7475ae9d48577c5d8e
2024-05-27 09:40:08 +02:00
pythcoiner
a913a02646 replace AboutSection -> EditWalletSettings 2024-05-26 01:45:44 +02:00
edouardparis
592d1af8fd
Merge #1074: Document the release process
d80dba048c2a020e6b0ce191d1470bdb0a82c148 doc: document the release process in a new document (Antoine Poinsot)
187857f106d639246f70278d4a55422f89014fd1 README: add a link to our Discord (Antoine Poinsot)

Pull request description:

  This document a bunch of stuff i've been doing for every release in the past years. I've detailed it in a number of steps for clarity.

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

ACKs for top commit:
  edouardparis:
    ACK d80dba048c2a020e6b0ce191d1470bdb0a82c148

Tree-SHA512: c9f166c1ecfc595fcc3cd34d8603f6f2a67747625847e745fde5846dc5e687f04ac2e57886949f3f620ff1a55c40dc398cabc3013f058ddf70e00c73f3ec5922
2024-05-24 13:48:31 +02:00
edouardparis
e2e65d723a
Merge #1093: fix local date time and bump chrono
6531cc293def967f63cb737b2ca5547b95bb3d9a fix local date time and bump chrono (edouardparis)

Pull request description:

  close #1057

ACKs for top commit:
  edouardparis:
    Self-ACK 6531cc293def967f63cb737b2ca5547b95bb3d9a

Tree-SHA512: 5519cd01edcb3864f08a652b4f652d71db28b0f306f56bd11fe4bcb2ff1e56e3737da8eba16873cc4fc5e5c640cc482f69b307f5de6679ab5a8d23730c043165
2024-05-24 12:13:29 +02:00
edouardparis
6531cc293d fix local date time and bump chrono
close #1057
2024-05-24 12:03:04 +02:00
edouardparis
30702cf921
Merge #1094: bum async-hwi 0.0.18
99e4af84ffd64a0aad3dbb99af2d64a3cd38f490 bum async-hwi 0.0.18 (edouardparis)

Pull request description:

  Include coldcard 0.12.2 that fixes the
  nightly build on MacOS

ACKs for top commit:
  edouardparis:
    Self-ACK 99e4af84ffd64a0aad3dbb99af2d64a3cd38f490

Tree-SHA512: 5fb06e47f0f419681075df5968d7c43b50012d86f7d53f8cffb4d9584d74fd9b1936f30f8ebc9545808c79cbc5b349db17f2df5e18dc9b25dff8e3af5edafa55
2024-05-24 12:01:11 +02:00
edouardparis
99e4af84ff bum async-hwi 0.0.18
Include coldcard 0.12.2 that fixes the
nightly build on MacOS
2024-05-24 11:39:56 +02:00
edouardparis
b22e9e8f71
Merge #999: Add jade
570f0af35b84372d0e4684f9afd42ea7c900b43e installer: refresh hw list only if modal is open (edouardparis)
4e2015922d2a40ce934440a23f18fe8d1323ebcc doc: add Jade section to signing devices (edouardparis)
6b0c93c5c3fe2a5b6e7a3dfe49755c6edc704510 Add jade hardware wallet (edouardparis)

Pull request description:

ACKs for top commit:
  edouardparis:
    Self-ACK 570f0af35b84372d0e4684f9afd42ea7c900b43e

Tree-SHA512: 3f27c8bcc7afa74f751de245b44f53ce3e99b42175809566e2bf15832600d6466afd56684de08333a11079b7cb1daca3412e7224299d98f0c76cf2575b48494d
2024-05-06 18:11:44 +02:00
edouardparis
570f0af35b installer: refresh hw list only if modal is open 2024-05-06 14:50:45 +02:00
edouardparis
4e2015922d doc: add Jade section to signing devices 2024-05-06 14:50:45 +02:00
edouardparis
6b0c93c5c3 Add jade hardware wallet 2024-05-06 14:50:45 +02:00
edouardparis
b7a72e064d
Merge #1084: Remove legacy harware_wallets field from gui config
45c7b850a64318152e245b269ffef25d63033384 Remove legacy harware_wallets field from gui config (edouardparis)

Pull request description:

  Ledger hmacs, wallet name and fingerprint labels where moved one year ago in the settings.json file.
  Here the commit of the new settings module:
  bf1e9e4b80

  A second commit in v4 checked that settings.json is present otherwise it does the migration from the gui configuration file to the settings file:
  3eeba08248

  We remove the legacy field from the config field so the wallet module does not depend on the config module anymore to load hardware wallet information.

  Tested on gui.toml config with legacy field hardware_wallets and it does not fail to launch.

ACKs for top commit:
  jp1ac4:
    ACK 45c7b850a6.

Tree-SHA512: a13c042c3842c732117ee8099d5a90d28462c5916408edb9fcee5518427acca5b737cd6e1ebe77a94e7d8dabf7a6bdd124ddf927ed850c58b5f980c6efe4f391
2024-05-03 18:05:31 +02:00
edouardparis
513ea7b18d
Merge #1079: Gui: enable advanced text shaping 🎨
9cd36a76d09a1d563769f9c3dac81ec8ce1005eb gui: enable advanced text shaping (edouardparis)

Pull request description:

  Set text shaping and font fallback to text widget.
  It enable Emojis

  based on #597

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

Tree-SHA512: 1ed1621135c5bfbd624a9cf4bd96385db42d021e8432334429b2ec376d769715920d90d76cc000f43625367bdac85444b131be249197e4fab4d5629c7a0138e1
2024-05-03 15:26:53 +02:00
edouardparis
9cd36a76d0 gui: enable advanced text shaping
enable text shaping and font fallback,
It allows emojis
2024-05-03 14:48:24 +02:00
Antoine Poinsot
b602640d16
Merge #597: Iced 0.12
52e32b6a69c751f68e461f4e858170e4ade6619d Update iced patch branch in guix build (edouardparis)
acea67bc35738843144204539833b5767f6c936e Remove transaparency from PickList for tiny-skia (edouardparis)
7801d8cb1f11511cd8e11a556add9e8c62656780 Change descriptor view in installer behind scrollable (edouardparis)
c39d544566a76b126fdc4613197d5b937f72fad3 Use wgpu with tiny-skia fallback (edouardparis)
4920291d04302a5d73196b1d8eeb6ce05d7753a2 fix ui button and badge width (edouardparis)
de371116371c61c5cd2e3bd0d44cdc849f14c5cf Change text size (edouardparis)
a24d9416f62712fc5a5c6fe5d8fa619d06f4006a gui: bump msrv 1.70 (edouardparis)
fdcc30236721f2cf7bdffe788127a35ca376d453 gui: iced-0.12 (edouardparis)
64a626d7e871fd82db27b8ddf773231fe1361755 gui: bump iced 0.10 (edouard)

Pull request description:

  This PR does the migration from iced 0.9 to iced 0.12.

  This new iced version has impact on the fonts size. I reverted the size according to the original UX figma file.

  The new backend renderer is the `wgpu` with `tiny-skia` as a fallback. `wgpu` is the first class citizen of the iced renderers, it supports everything. The `tiny-skia` has some layout problems and does not support some features that is the reason why this PR introduces tiny change in the theme or long string display (ad69711c4a, 88fd0f18e2).

  In order to keep the MSRV as low as possible, a custom patch of the crates `iced_winit`,`iced_style`, `iced_futures` is added to the Cargo.toml

ACKs for top commit:
  darosior:
    ACK 52e32b6a69c751f68e461f4e858170e4ade6619d -- it's been tested a bunch, in particular by Kevin.

Tree-SHA512: 6afda45c227f0dd864c59aee100895af3f0d511c5a425f4d032c5891f900f2e438de778adaa82c5213dba768e608bf7610b6c78d4cb10a2d7ae59f5b132938f4
2024-05-03 13:32:58 +02:00
edouardparis
52e32b6a69 Update iced patch branch in guix build 2024-05-03 12:27:12 +02:00
edouardparis
acea67bc35 Remove transaparency from PickList for tiny-skia 2024-05-03 12:27:12 +02:00
edouardparis
7801d8cb1f Change descriptor view in installer behind scrollable
View is broken because of the long line of text of the
descriptor, current fix is to put it behind a scrollable
until we find a better way to display it to the user.
2024-05-03 12:27:12 +02:00
edouardparis
c39d544566 Use wgpu with tiny-skia fallback
to enable the fallback:
ICED_BACKEND=tiny-skia cargo run
2024-05-03 12:27:12 +02:00
edouardparis
4920291d04 fix ui button and badge width 2024-05-03 12:27:12 +02:00
edouardparis
de37111637 Change text size 2024-05-03 12:27:12 +02:00
edouardparis
a24d9416f6 gui: bump msrv 1.70 2024-05-03 12:27:12 +02:00
edouardparis
fdcc302367 gui: iced-0.12 2024-05-03 12:27:12 +02:00
edouardparis
45c7b850a6 Remove legacy harware_wallets field from gui config
Ledger hmacs, wallet name and fingerprint labels where
moved one year ago in the settings.json file.
Here the commit of the new settings module:
bf1e9e4b80

A second commit in v4 checked that settings.json is present
otherwise it does the migration from the gui configuration file
to the settings file:
3eeba08248

We remove the legacy field from the config field so the wallet module
does not depend on the config module anymore to load hardware wallet
information.
2024-05-02 15:31:51 +02:00
edouard
64a626d7e8 gui: bump iced 0.10 2024-05-02 14:46:31 +02:00
Antoine Poinsot
6b225777b2
Merge #1085: fix ci: bump ahash dep and add bitcoind macos arm64 binary hash
89912105734175e0f2a5e53eb6165b12055cc2c1 Add macos arm64 binary to bitcoind download (edouardparis)
c21004badb10d00990da088d4df659b25263a23f bump ahash dependency to fix macos build (edouardparis)

Pull request description:

  - bump ahash dependency to fix macos build
  - ci requires now macos aarch64 for the liana-gui tests on macos, sha256sum is added for bitcoind-26.1-arm64-apple-darwin.tar.gz (https://bitcoincore.org/bin/bitcoin-core-26.1/)

ACKs for top commit:
  darosior:
    ACK 89912105734175e0f2a5e53eb6165b12055cc2c1

Tree-SHA512: 082b2896abcb600e5e6ab4ec24cd56b4994c843e9a478a7e5e1515dbaa357cfa1714270a1a4b135d17caa9a0ed3bebad714df0f28e3c6a341503238ce6156a7c
2024-05-02 14:43:42 +02:00
edouardparis
8991210573 Add macos arm64 binary to bitcoind download 2024-05-02 12:21:41 +02:00
edouardparis
c21004badb bump ahash dependency to fix macos build 2024-05-02 12:07:08 +02:00
Antoine Poinsot
bd262b6874
Merge #1080: guix: use Rust 1.70 for release builds
860a1ea07467788473f0a83edc4d7a02d8ad3c1a guix: use Rust 1.70 for release builds (Antoine Poinsot)

Pull request description:

  This is prep work for #597, which bumps the MSRV of the GUI to 1.70.

  We are being pulled over in two different directions when it comes to our reproducible builds. On the one hand we need to target reasonably old glibc versions in order to be compatible with older systems. On the other hand the immaturity of the Rust ecosystem makes us require bleeding edge versions of the compiler. With Guix to get the newer versions of the compiler we need to also bump the glibc version.

  This was not a sustainable situation. I was planning for a long time to cleanup our reproducible builds. To create a proper Guix package for both the daemon and the GUI using the build system they provide. I had envisioned this way i could rewrite the inputs of the Guix package to use an older glibc, while being able to bump the Guix time-machine. It would even have allowed us to perform Windows builds inside Guix! And who knows i could even have attempted to perform Apple ones too.

  Unfortunately it turned out to be more complicated than that. I couldn't manage to get my package to compile using an older glibc. Some details about some of my failed attempts can be found there: https://lists.gnu.org/archive/html/help-guix/2024-04/msg00056.html.

  Instead of wasting more time on this, backport the newer Rust declarations from up-to-date Guix to Guix-of-our-time-machine.

ACKs for top commit:
  edouardparis:
    utACK 860a1ea07467788473f0a83edc4d7a02d8ad3c1a

Tree-SHA512: ee0a753376b380c5b39d9cefd6ac49c95d818b3233183f6832df256b93fe5627bf5d9193de1340ae12c0e8e8ec8e5c869674e975d5066723d9d38e66a509cbef
2024-04-29 14:48:35 +02:00
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