1759 Commits

Author SHA1 Message Date
pythcoiner
8d495579e1 lianad: DesKeyChecker.check() => check the change multipath is not hardened 2024-08-02 07:08:38 +02:00
edouardparis
0de58cf3b7
Merge #1198: GUI: Refactor amount formatting
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
2024-07-29 18:45:29 +02:00
Aaron Carlucci
59035060e9 gui: refactor amount formatting 2024-07-29 18:06:47 +02:00
Antoine Poinsot
b2aeafab56
Merge #1186: Add minimum feerate to TooLowFeerate error message
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
2024-07-29 13:53:27 +02:00
Antoine Poinsot
b9d04a55f2
Merge #1207: gui: in DefineSpend.update() call check_valid() if Coins updated
6dd3b6a3a9f0426b67e167de38b5baa09ee58fda gui: in DefineSpend.update() call check_valid() if Coins updated (pythcoiner)

Pull request description:

  close #1167

ACKs for top commit:
  jp1ac4:
    Tested ACK 6dd3b6a3a9f0426b67e167de38b5baa09ee58fda.

Tree-SHA512: f6c5f057756d5a4c1a767eaf65303146c696bacd1d6910125fdaf070b0eafbfc9bf2836cf2c4b3f6434e253e045b5736fb65bc297ecd2b52b23df1c8509f4c1f
2024-07-29 13:49:29 +02:00
Antoine Poinsot
95258380d8
Merge #1205: gui: bump bicoind version to 27.1
2514d0dedba61b6a9f546bedbe122c30614d7a52 gui: bump bicoind version to 27.1 (pythcoiner)

Pull request description:

ACKs for top commit:
  jp1ac4:
    ACK 2514d0dedba61b6a9f546bedbe122c30614d7a52.

Tree-SHA512: 28245c41dddce543b6ebdb81f423f503e64fff3da42777d5e71b085ff9cae86a340f1218bb8e2ac77e351637426a4a95efc576906d282720e61c509592b01d19
2024-07-29 13:48:18 +02:00
Antoine Poinsot
6c52e28c7e
Merge #1210: gui: app::view::psbt::change_view() display amount and address 2 rows
ea47088195337580bbc53b322b6632562743ec44 gui: app::view::psbt::change_view() display amount and address in separate rows (pythcoiner)

Pull request description:

  ![image](https://github.com/user-attachments/assets/c0a3ac45-6fee-4661-9521-dfd2c77d8b66)
  close #1192

ACKs for top commit:
  jp1ac4:
    Tested ACK ea47088195337580bbc53b322b6632562743ec44.

Tree-SHA512: b8466638c1cc59ebe3a9568cdd4d98f80f6a797d7bb2e0052e40b62461e7978c353990a5e8d2c31c216c0fb3514ca50b68902fae57f34255eaf265ef9bb5357e
2024-07-29 13:46:47 +02:00
Antoine Poinsot
bb68fb5ec1
Merge #1092: spend: randomized anti-fee sniping
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
2024-07-29 12:32:29 +02:00
edouardparis
749581afe4
Merge #1204: doc: update signing device support & versions for taproot
a94138ebb3ed8de92dea75f850fc0f573e7b4652 doc: update signing device support & versions for taproot (pythcoiner)

Pull request description:

ACKs for top commit:
  jp1ac4:
    ACK a94138ebb3ed8de92dea75f850fc0f573e7b4652.

Tree-SHA512: 3c68c113a187bca0619bc01b7489e62106f3940cfb2ac6c71a7f5f329ba9651ca130a1ffffa39f861b1143ba845b0e740020bab8f2a383e469d57621b1f489a7
2024-07-23 12:15:32 +02:00
pythcoiner
2514d0dedb gui: bump bicoind version to 27.1 2024-07-23 04:38:28 +02:00
pythcoiner
a94138ebb3 doc: update signing device support & versions for taproot 2024-07-19 18:47:42 +02:00
edouardparis
ee9cfb9b73
Merge #1211: Add list of words for new generated mnemonic in share xpubs panel
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.
  ![20240719_15h22m12s_grim](https://github.com/user-attachments/assets/2caacffd-1698-422e-9cd3-c5cf4aee795a)

  close #1203

ACKs for top commit:
  jp1ac4:
    Tested ACK c638350eb9.

Tree-SHA512: 616d208e4923a442dc4b0306a157fe069679b8b78f28cb0ba0b2ad075f811ba527e84d48ff45e706cb0d62c68d56b761f50d4993bc76c3365b9579888b8c26f8
2024-07-19 16:05:48 +02:00
edouardparis
c638350eb9 Add list of words for new generated mnemonic in share xpubs panel
close #1203
2024-07-19 15:56:55 +02:00
pythcoiner
ea47088195 gui: app::view::psbt::change_view() display amount and address in separate rows 2024-07-19 07:00:25 +02:00
pythcoiner
6dd3b6a3a9 gui: in DefineSpend.update() call check_valid() if Coins updated 2024-07-19 04:24:25 +02:00
edouardparis
e81a2d3a9e
Merge #1199: Remove participate wallet process for share xpubs simple panel
6cbf81a3c5d8a7a4e1802581755c7c5d05766b66 Remove participate wallet process for share xpubs simple panel (edouardparis)

Pull request description:

  ![20240717_17h05m05s_grim](https://github.com/user-attachments/assets/91f0f608-d0d0-49a1-abd9-6d5cf01ca5ee)
  ![20240717_17h05m17s_grim](https://github.com/user-attachments/assets/b39f4a13-e581-45b7-a306-09381d303cf8)

ACKs for top commit:
  jp1ac4:
    Tested ACK 6cbf81a3c5.

Tree-SHA512: 4245513005e01b2eece4bf099c0b38b1aa6c23617b53bdd811f5d78c9800133c0dfbbed2f06b70e8ace8725482c9f0c9b0266d193c9b7947d8c5ae9ef8641ac9
2024-07-18 17:28:43 +02:00
edouardparis
8b33788109
Merge #1189: installer: reset signing device registration if descriptor change
fe595b2448f105b45413218b5c1319678d4d5860 installer: reset signing device registration if descriptor change (pythcoiner)

Pull request description:

  closes #1157

ACKs for top commit:
  edouardparis:
    ACK fe595b2448f105b45413218b5c1319678d4d5860

Tree-SHA512: fa3b8299bae4c91c2a64248cde4e6b3a810e16bce5cd46a28499cbbfb5d6169489d6ebd77fdd323c2542564787bb225943b0ba9177797da5b0dbc6912e57b885
2024-07-18 16:59:47 +02:00
edouardparis
bf9bf9a26f
Merge #1200: gui: update SettingState.wallet on WalletUpdated() message
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
2024-07-18 16:11:57 +02:00
pythcoiner
e34062a417 gui: update SettingState.wallet on WalletUpdated() message 2024-07-18 15:56:24 +02:00
pythcoiner
fe595b2448 installer: reset signing device registration if descriptor change 2024-07-18 15:36:31 +02:00
edouardparis
6cbf81a3c5 Remove participate wallet process for share xpubs simple panel 2024-07-18 15:26:39 +02:00
edouardparis
86a79759e6
Merge #1201: gui: TransactionPanel.update() -> update label if tx already exists
fdf01cc095787c5cf947841c1902a22d500b81d7 gui: TransactionPanel.update() -> update label if tx already exists (pythcoiner)

Pull request description:

  close #1174

  labels were not updated if tx already exists

ACKs for top commit:
  edouardparis:
    ACK fdf01cc095787c5cf947841c1902a22d500b81d7

Tree-SHA512: 0143eab573caa9c0db32895da1f2ee732b0ddc1f0455a9b9d0aab245502f336a807cdc44a8a762c1b00962129bce67de3a80e8f833f1265f87b3a4278e2a7585
2024-07-18 15:07:09 +02:00
pythcoiner
fdf01cc095 gui: TransactionPanel.update() -> update label if tx already exists 2024-07-18 14:33:46 +02:00
edouardparis
48d34904b0
Merge #1193: add coldcard support
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
2024-07-18 11:10:46 +02:00
pythcoiner
546d2321ef gui: add coldcard support 2024-07-18 10:05:06 +02:00
edouardparis
0a7ff2b0ea
Merge #1086: GUI: Stateless remote backend integration
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
2024-07-17 11:51:00 +02:00
edouardparis
0c1c82984c
Merge #1145: Add -h/--help args to the GUI
243f4eac0aaf3def57b3a1107ff8db67749609e7 Add -h/--help args to the GUI (pythcoiner)

Pull request description:

  ```shell
  $ liana-gui -h

  Usage: liana-gui [OPTIONS]

  Options:
      --conf <PATH>       Path of configuration file (gui.toml)
      --datadir <PATH>    Path of liana datadir
      -v, --version       Display liana-gui version
      -h, --help          Print help
      --bitcoin           Use bitcoin network
      --testnet           Use testnet network
      --signet            Use signet network
      --regtest           Use regtest network

  ```

  Closes #1073

ACKs for top commit:
  jp1ac4:
    Tested ACK 243f4eac0aaf3def57b3a1107ff8db67749609e7.

Tree-SHA512: a046966f40da178fd736bcbe0e8042b03fc671baafab71ea3e1413ece3667f915d40f40437c10ecdd27476454d3e552760ac0d2c5d5bc8b21a0b519980cfa9b6
2024-07-17 11:22:32 +02:00
edouardparis
cf008a7243
Merge #1190: disable previous button if device processing
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
2024-07-17 11:18:51 +02:00
edouardparis
d93e610b38
Merge #1139: add specter support for tap-miniscript
7e36256f67929ab6c8f829f2ce385f80d7f0354f add specter support for tap-miniscript (pythcoiner)

Pull request description:

  This pr enable specter support for tap-miniscript.
  tested:

  descriptor registration
  spend trough internal key path
  spent trough taptree path

ACKs for top commit:
  jp1ac4:
    Tested ACK 7e36256f67929ab6c8f829f2ce385f80d7f0354f.

Tree-SHA512: 0407979575d206595889ceb0777c7af329979600c9a5348d5f867f8069a9ad417fc805923f5186cff3aa0c9d3c8cfaa31373e148c182112ffa17fc533d287f20
2024-07-15 16:48:59 +02:00
edouardparis
696036f648
Merge #1111: Add instruction to refresh Antoine PGP key
ba9213e48c232a3ae9fcc79506f2ebbe76995cf8 add instruction to refresh Antoine PGP key (pythcoiner)

Pull request description:

  fixes #1077

ACKs for top commit:
  edouardparis:
    ACK ba9213e48c232a3ae9fcc79506f2ebbe76995cf8

Tree-SHA512: 4105f7f568c923e1997e804c45f66ecfe982be28e8459c007009a5280d7cbdab8386e263ce57117784eac1791987035a9d88ae5270dbaf5f60bb144ccbd2fa7b
2024-07-15 15:22:13 +02:00
Aaron Carlucci
c6b8133286 gui: add space separator to amount integer 2024-07-11 11:35:34 +02:00
pythcoiner
f457dd447c installer: at descriptor registartion step, disable previous button if device processing 2024-07-11 03:01:32 +02:00
Aaron Carlucci
8be0d9856b commands: add minimum feerate to TooLowFeerate error message 2024-07-10 14:47:10 +02:00
edouardparis
3b60a57bd4 Remove bitcoind from settings panel if remote backend 2024-07-04 15:59:39 +02:00
edouardparis
5e2fe3b6c1 Add liana remote backend 2024-07-04 15:59:39 +02:00
edouardparis
ca662eea6a Add lianalite module 2024-07-04 15:59:39 +02:00
edouardparis
ccc88421b3
Merge #1171: gui: fix displayed feerate estimate
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
2024-07-04 13:30:01 +02:00
jp1ac4
6c5f83ce15
gui: fix displayed feerate estimate 2024-07-04 10:35:26 +01:00
edouardparis
51d28129bc
Merge #1169: gui: fix clippy warning
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
2024-07-03 16:36:18 +02:00
edouardparis
3ee7a5bb99 gui: fix clippy warning 2024-07-03 15:13:13 +02:00
edouardparis
1f86504bdc
Merge #1165: Add interrupt method to state trait
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
2024-07-01 15:32:49 +02:00
edouardparis
5c59c4f5de Add interrupt method to state trait
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
2024-07-01 14:01:59 +02:00
Antoine Poinsot
b6f49c4735
Merge #1150: gui: bump version to v6
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
2024-06-28 15:13:19 +02:00
Antoine Poinsot
876a7a39af
Merge #1131: Use rustc 1.70 required by gui for docker reproducible build
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
2024-06-28 14:24:24 +02:00
Antoine Poinsot
973938fb20
gui: bump version to v6 2024-06-28 14:19:20 +02:00
Antoine Poinsot
585bb5b763
Merge #1148: Prepare v6.0 release
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
2024-06-28 14:06:42 +02:00
Antoine Poinsot
15f4e81972
doc: slight improvement to Jade documentation 2024-06-27 15:58:04 +02:00
Antoine Poinsot
2bd25b6eaa
Release notes for 6.0 2024-06-27 15:58:03 +02:00
Antoine Poinsot
168112de10
Bump version to 6.0 2024-06-27 15:53:30 +02:00
edouardparis
4f41276fbb
Merge #1141: installer: add a warning if remote adress is not loopback
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:

  ![image](https://github.com/wizardsardine/liana/assets/124568858/f925f9e1-d212-4b1e-9e58-d40f7633f026)

  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
2024-06-27 09:41:01 +02:00