59035060e9b2b911809fdc225bfa862244f5f6d6 gui: refactor amount formatting (Aaron Carlucci)
c6b8133286a4009cc1e72935e30af36d43705237 gui: add space separator to amount integer (Aaron Carlucci)
Pull request description:
This PR is based on #1182 and aims to actually refactor the amount component while adding a space separator to the integer portion of BTC amount displays as per #962.
The code organization is reworked to try and separate the conversion of `bitcoin::Amount` type to a `iced` renderable `Row` elements in steps via smaller functions by:
1. Converting the `Amount` type to a string with the integer and fraction portions formatted in space-separated three digit chunks.
2. Detecting where in that string the non-zero BTC amount occurs
3. Converting the string into parts and rendering the preceding zeros and spaces with normal styling while applying a bold `Row` render element for the significant amount.
To me, this approach makes the code easier to read and is a small step toward separating the string formatting functionality from the render element building. If we find more bugs with this approach, or the team simply doesn't like the reorganization, it's fine to scrap it, as it was a decent learning exercise anyway. Looking forward to feedback.
ACKs for top commit:
edouardparis:
ACK 59035060e9b2b911809fdc225bfa862244f5f6d6
Tree-SHA512: d71b94cf261cf799891239da3795dae49d2b22ebc888b2d3400fbf754f84df6620fcdeb6b6594ef99e4de8a67089181ac8598bdc7a4aba3e71c16d89ccb63fae
8be0d9856b29eb30593ae7614fe74430ffd206d4 commands: add minimum feerate to TooLowFeerate error message (Aaron Carlucci)
Pull request description:
This PR adds the minimum feerate value into the `TooLowFeerate` error message for additional context. Addresses the second bullet point in #853.
ACKs for top commit:
jp1ac4:
ACK 8be0d9856b29eb30593ae7614fe74430ffd206d4. Thanks!
Tree-SHA512: 3a0e9c69ddb40433faf1e58c16dfee0212641b34478eddeda99388ebf82e2fb466633ab8f79c9bb0bb784f4a46807aa0a5abd65b9d92506144b84addb01dfdd8
2514d0dedba61b6a9f546bedbe122c30614d7a52 gui: bump bicoind version to 27.1 (pythcoiner)
Pull request description:
ACKs for top commit:
jp1ac4:
ACK 2514d0dedba61b6a9f546bedbe122c30614d7a52.
Tree-SHA512: 28245c41dddce543b6ebdb81f423f503e64fff3da42777d5e71b085ff9cae86a340f1218bb8e2ac77e351637426a4a95efc576906d282720e61c509592b01d19
f2791744d8ad3068d12a39bb07f3745012785a5f spend: set locktime for anti-fee sniping (jp1ac4)
Pull request description:
This is to resolve#44.
In the first commit, I combine the destinations and change parameters in `spend::create_spend` in order to avoid "too many arguments" error when adding a new parameter. I think these two parameters combine naturally so that `destinations` includes both recipients and change address.
The second commit sets locktime following the same approach as Bitcoin Core:
- locktime is set to current tip height, but randomly (about 10% of cases) value is set up to 100 blocks earlier
- if tip is more than 8 hours old, locktime is set to 0
For randomness, I'm currently using the current time's milliseconds in order not to add another dependency, which I think is good enough for this use case.
For consistency, I decided to use "locktime" everywhere instead of "lock time" or "lock-time".
ACKs for top commit:
darosior:
ACK f2791744d8ad3068d12a39bb07f3745012785a5f
Tree-SHA512: 69a57cf664e24b32a835c35eaf9016961b2d0f396891a826582044e6302b2ca04dcf5bf2617b5e18dcbfa25cc254a6e8025262718984095677c829ce051a66cc
c638350eb9c69c6375ae9c59599e3604c4387d9a Add list of words for new generated mnemonic in share xpubs panel (edouardparis)
Pull request description:
Because the share xpubs is not anymore a install process, no information is stored. If user want to generate a new mnemonic and share it xpubs he must be aware that he has to backup it.

close#1203
ACKs for top commit:
jp1ac4:
Tested ACK c638350eb9.
Tree-SHA512: 616d208e4923a442dc4b0306a157fe069679b8b78f28cb0ba0b2ad075f811ba527e84d48ff45e706cb0d62c68d56b761f50d4993bc76c3365b9579888b8c26f8
e34062a417a3533a2c42f776a495c2810775983b gui: update `SettingState.wallet` on `WalletUpdated()` message (pythcoiner)
Pull request description:
This PR fixes#1170.
result Message from `update_key_aliases()` emited [here](0a7ff2b0ea/gui/src/app/state/settings/wallet.rs (L152)) was not catch in `SettingState.update()`.
ACKs for top commit:
edouardparis:
ACK e34062a417a3533a2c42f776a495c2810775983b
Tree-SHA512: 81a90c96f7667eb9a0b55a7a1f918e1621e72bbd71ff30d1551e04746f9fa257d9d37a405bf0ca58b7f2b7039d2dcc16b3869da3c3643f61652d0a310c23a11b
546d2321efba6cfb487edfd68b02b0b0ff22d56c gui: add coldcard support (pythcoiner)
Pull request description:
This PR add support for taproot w/ coldcard devices
We need to wait [async-hwi PR](https://github.com/wizardsardine/async-hwi/pull/92) to be merged berfore merge this one.
Tested w/ internal key & taptree on Mk4
ACKs for top commit:
edouardparis:
ACK 546d2321efba6cfb487edfd68b02b0b0ff22d56c
Tree-SHA512: 4e1bf3782a3533c2f0bb06010397ed2254fbc4420160a4312f7ad58ee85e5225d8543395863cf25efbb3301b9c1e10d6d11f158d3385cdd1cf8d6780edff92a0
3b60a57bd4e30f40d3bd3efae52a8e488bc060da Remove bitcoind from settings panel if remote backend (edouardparis)
5e2fe3b6c1e9099dc2f087b122bef1c398ebec62 Add liana remote backend (edouardparis)
ca662eea6a40919e1f51275ef1915c892f13e7ce Add lianalite module (edouardparis)
Pull request description:
Implements the Daemon Trait for a http client consuming signet.lianalite.com API (**only signet for now**).
Everything is **stateless**, it will not create configuration files or modify settings.json files, but only communicate with the remote backend.
In order to test it, you need an account and wallet created on `signet.lianalite.com`, then run:
```
cargo run -- --email <email>
```
the cli will then ask you for the otp token present in the authentification email.
ACKs for top commit:
edouardparis:
Self-ACK 3b60a57bd4e30f40d3bd3efae52a8e488bc060da
Tree-SHA512: 39b0436e3cd484b2a4b90115994ffd7ba1c3bc578549c5e992b7ee3a77625f821fbab9c6325b44ebd6f1058fc25ac2f5eee73962c8364845a2e85b26471e71ca
f457dd447cd4af89aace9f56e085073590dde8e5 installer: at descriptor registartion step, disable previous button if device processing (pythcoiner)
Pull request description:
This PR diasable the previous button at the descriptor registration step if a device is still processing, avoiding issues like #1158.
The other way around can be to reset the state of `self.processing` if user go back, but look less clean to me.
closes#1158
ACKs for top commit:
edouardparis:
utACK f457dd447cd4af89aace9f56e085073590dde8e5
Tree-SHA512: 7fee81b17d72f88eb1a673e2875ec9998e1ec7567afa1b487ca07b3d95c8fd1c161159660e37a2e1505b871ce2bf9286a75e5c055f777844062a78e0a08bc695
6c5f83ce15805997632cc6f698d40b4c2eb4017e gui: fix displayed feerate estimate (jp1ac4)
Pull request description:
This is to fix#1168.
When estimating transaction size, check if any inputs are using a relative locktime.
I think this logic could later be moved to the `unsigned_tx_max_vbytes` method itself.
ACKs for top commit:
edouardparis:
ACK 6c5f83ce15805997632cc6f698d40b4c2eb4017e
Tree-SHA512: b95853b0b59729d4f8356e6e556c209025eec25e235cacf2385920f90e19f2e4a057d0d59aa28015fdfcc72f7133f122bfa3f3a9e3ced77e2f189ba43570413c
3ee7a5bb99a2d267f8b3cb3955ec9885c24a8f57 gui: fix clippy warning (edouardparis)
Pull request description:
I do not know why but clippy started throwing warning about this line of code
ACKs for top commit:
jp1ac4:
ACK 3ee7a5bb99.
Tree-SHA512: 536d5398649d0223b0f43b6c7be1063c617ed001579c07e9b2fb5f94602470677644a9f774e7413428a9c7416da30839f967f9a3d52429d39121f04db80896fc
5c59c4f5deb5576b7935191d4ed11a8916c974de Add interrupt method to state trait (edouardparis)
Pull request description:
Before changing panel, the previous state may need to release a hardware connection for example.
In order to achieve this we introduce an interrupt method that is used to drop action state.
close#1162
ACKs for top commit:
pythcoiner:
tACK 5c59c4f5deb5576b7935191d4ed11a8916c974de
jp1ac4:
ACK 5c59c4f5deb5576b7935191d4ed11a8916c974de.
Tree-SHA512: 6405a928f0303b25ff863e76dcc7a36e703471cf726c10e755b4145d301d4e01b0ca241160b49216cb456fc7d934c83fcbecf976dcee56473163cce01507f7b0
Before changing panel, the previous state
may need to release a harware connection
for example.
In order to achieve this we introduce an interrupt method
that is used to drop action state.
close#1162
973938fb20cfba75536623f21d4277c5407bb3cc gui: bump version to v6 (Antoine Poinsot)
Pull request description:
In preparation of the rc1 release.
ACKs for top commit:
darosior:
self-ACK 973938fb20cfba75536623f21d4277c5407bb3cc
Tree-SHA512: 9f7cdaf88d800a16a0dcbd05b1d0cb20ee9e4aaae157cacff761cce822a29239d33eeb0a2cbe80429cb0bd28d46e84ef03e4d471b76cadbc8169a8cb3e9b0e75
b0d30dbebf23b44399e5f75a2a786c4fd66293eb Use rustc 1.70 required by gui for docker reproducible build (edouardparis)
Pull request description:
ACKs for top commit:
darosior:
utACK b0d30dbebf23b44399e5f75a2a786c4fd66293eb
Tree-SHA512: 752187b01c573701e22d5f388fb61b30e9e2688a1f2b5540efa61bc53221dcf9a7b4cc6b29b89d2f148ec972cde1a476c454a71a447b72004de1cd8c3a2c2462
15f4e819724006f52b9468b3b6a176460682fd59 doc: slight improvement to Jade documentation (Antoine Poinsot)
2bd25b6eaaedf52e2e9672bd2e05d8d07580917f Release notes for 6.0 (Antoine Poinsot)
168112de10617f03abf8bd7bdf1ea4dd5dbaabaf Bump version to 6.0 (Antoine Poinsot)
Pull request description:
The first step toward the v6 release: bump the lianad version and update the release notes.
ACKs for top commit:
darosior:
self-ACK 15f4e819724006f52b9468b3b6a176460682fd59
Tree-SHA512: 211e5ed7ae440f26e1761b178401c5b36bbe2de0c893a0aae03ae7ef770e5a0df67d0fb9bcce05b766845f2fc8df7cc0db4cdc13c47ecf84d2b521ccce989905
3d55616b66e8a0995e2ef9e4ad6d294bf23fe6a7 installer: add a warning if remote adress is not loopback (pythcoiner)
Pull request description:
This PR is a variant of #1137, it add a warning under text input field if user try to connect to a non-loopback address & use RPCAuth:

It also add a check on address + RPC user/password/cookie:
Check connection button is greyed out until address is valid + user and password are filled (if RPCAuth selected)
Closes https://github.com/wizardsardine/liana/issues/1059
ACKs for top commit:
jp1ac4:
Tested ACK 3d55616b66.
Tree-SHA512: a48efe85ee178a4bf216a9cc60b03cbb705c6337b1ce21a49bd031a032e2e81e70428fa4cd76c5ee297b428912dc64f51ffc8ce8dfa928b000dcff412ca530db