2134 Commits

Author SHA1 Message Date
edouardparis
71a110bb8d
Merge #1514: [GUI] Change default file name for transactions export
6c1d0518eb7748fe801c7fb141fbc7205eed27ec use left alignment for export modal text (Michael Mallan)
f92177c04ace796e7eef5bb7ee5cf5b2a6e563ec align export modal buttons to the right (Michael Mallan)
98195e03b6878cd31e1d34ba246700b6ae95ceb1 hide progress bar once export completed (Michael Mallan)
e5208bb7077ed05ebcc29ddec6d426d0efe6e247 use button helper for exporting transactions (Michael Mallan)
5529a8cd57e8a46327e018d94f903ee8008b6a70 change transactions export default file name (Michael Mallan)

Pull request description:

  The default file name has been changed to "liana-txs-{date}.csv", e.g. "liana-txs-2025-01-03T10-03-39.csv".

  I also changed the "Export" button to use a helper as suggested by edouardparis.

ACKs for top commit:
  edouardparis:
    ACK 6c1d0518eb7748fe801c7fb141fbc7205eed27ec

Tree-SHA512: 74a68c4130d7dce8f3e0839089191c7a34dd468a4c7e2a379ef30d049d38f3350a519465b792a6be14d3996288fdb6c5989c9c99b008f429fe85e62abcc4845a
2025-01-03 17:56:52 +01:00
edouardparis
37bf117dea
Merge #1515: bump async-hwi 0.0.25
0d903d3ceec82a2b09fa464448c84edd5d129ed3 bump async-hwi 0.0.25 (edouardparis)

Pull request description:

ACKs for top commit:
  edouardparis:
    Self-ACK 0d903d3ceec82a2b09fa464448c84edd5d129ed3

Tree-SHA512: 4049728fd950c5ae48c990a829afbcf4fbec01bc65db3666426850ae932d8eb57494d86db1908be29cc0a0a4dc577fc326d9d1df5f838ad89f1dbfeda275600c
2025-01-03 14:26:39 +01:00
edouardparis
0d903d3cee bump async-hwi 0.0.25 2025-01-03 14:07:20 +01:00
Michael Mallan
6c1d0518eb
use left alignment for export modal text 2025-01-03 12:13:42 +00:00
Michael Mallan
f92177c04a
align export modal buttons to the right 2025-01-03 12:10:47 +00:00
Michael Mallan
98195e03b6
hide progress bar once export completed 2025-01-03 12:01:30 +00:00
Michael Mallan
e5208bb707
use button helper for exporting transactions 2025-01-03 12:01:28 +00:00
Michael Mallan
5529a8cd57
change transactions export default file name 2025-01-03 10:43:06 +00:00
edouardparis
2e7fe80613
Merge #1511: fix: send-to-self payments should only include change outputs from outgoing transactions
020fef4b31a108e39b590b645aaca080c75871c9 fix: send-to-self payments include change from outgoing only (Michael Mallan)

Pull request description:

  This is a follow-up fix to #1507.

  Only those change outputs from outgoing transactions should be considered send-to-self payments.

ACKs for top commit:
  edouardparis:
    utACK 020fef4b31a108e39b590b645aaca080c75871c9

Tree-SHA512: 92a699d8bfd2724c1c309e7f957fe9bf9dd2460f562ff8f93d4e0fb026d43cae0f270fbc96d0ca6002ba9ce70c2ee09da80ff8c08b08d08db81d03ff2f78251c
2025-01-02 17:24:52 +01:00
edouardparis
4d22a6f4f7
Merge #1512: gui: stop auto load of address when opening receive panel
1b3c4080c7a2a5894f019dccdbc140d33e8bfb77 gui: stop auto load of address when opening receive panel (edouardparis)

Pull request description:

  close https://github.com/wizardsardine/liana/issues/1461
  Stop generating addresses without user explicitly asking so.
  Otherwise, the gap will be too big and some rescan with default gap limit on other wallets will not detect funds.

ACKs for top commit:
  pythcoiner:
    tACK 1b3c4080
  jp1ac4:
    tACK 1b3c4080c7.

Tree-SHA512: 97679dd0cceb9038342bc2bf5a91dd4f93134e5d13877e4aa4a327eedaa620230d166baf46beb870f2cf71d39bfeffd88f9926f4bd1816b5af006761f88b1b0f
2025-01-02 17:23:06 +01:00
edouardparis
1b3c4080c7 gui: stop auto load of address when opening receive panel 2025-01-02 17:01:46 +01:00
Michael Mallan
020fef4b31
fix: send-to-self payments include change from outgoing only
An incoming transaction will not contain any send-to-self
payments.
2025-01-02 15:47:10 +00:00
edouardparis
83581e173a
Merge #1510: Revert "Merge #1500: gui: allow to connect to an electrum server self signed certificate
b7b52d73bec0522af6dd08e9018868841b9363ca Revert "Merge #1500: gui: allow to connect to an electrum server w/ a self signed certificate" (edouardparis)

Pull request description:

  This reverts commit 2d2d080888f5c2a0fd82d6c4a4009a254b2dbcb2, reversing changes made to cfe15b360d0f9a40d0de2ca00bdd1530e6e6c8e9.

  We are not ready yet to have openssl dynamically link library dependency for our users.

ACKs for top commit:
  jp1ac4:
    utACK b7b52d73be.

Tree-SHA512: e85963ac9dd9d449c4af5806d7f7aaee70de676d38e9f931e50ed7c060a5a9522209a27db77a0a6254249f55ae52259dc7c747fe2032d830a4d6d92f1cb6a72b
2025-01-02 16:18:28 +01:00
edouardparis
b7b52d73be Revert "Merge #1500: gui: allow to connect to an electrum server w/ a self signed certificate"
This reverts commit 2d2d080888f5c2a0fd82d6c4a4009a254b2dbcb2, reversing
changes made to cfe15b360d0f9a40d0de2ca00bdd1530e6e6c8e9.
2025-01-02 15:31:30 +01:00
edouardparis
31c495572d
Merge #1506: lianad: fix check that rescan has started
6b914fd2491841bb3daa41f59641677c10cc880b bitcoind: parse descriptor before comparing strings (Michael Mallan)
652eb5b799c8d2ed9f65ab24c0101af3e09905f8 refactor(bitcoind): extract logic to function (Michael Mallan)

Pull request description:

  The `startrescan` command uses the response from bitcoind's `listdescriptors` RPC method to confirm that the rescan has started.

  This check includes a string comparison that can fail in some cases (Taproot descriptors with a spending path having only a single key) as the descriptor string returned by bitcoind may contain both `h` and `'` , whereas Liana's descriptor string only uses `'` (as per the `Descriptor::to_string()` method).

  This PR changes the check to first parse each descriptor string as a `Descriptor` object to avoid any `h` / `'` mismatch issues.

ACKs for top commit:
  edouardparis:
    utACK 6b914fd2491841bb3daa41f59641677c10cc880b

Tree-SHA512: 14d3eaef950a490020af2157e03adcbd1cc821c92750f21e682ba74bc4fd3531552a7ba0f70144792d5bbc18546b919567f181e468e2b196c6c473ca45d9d9de
2025-01-02 11:32:08 +01:00
edouardparis
d28dd76ceb
Merge #1507: fix: treat change outputs as send-to-self payments
55b92b3da707310900fca1570269c5e13b709d64 fix: treat change outputs as send-to-self payments (Michael Mallan)

Pull request description:

  This is a follow-up to #1503 to fix an issue with change outputs appearing as outgoing payments on the home page.

  It expands the definition of `PaymentKind::SendToSelf` to include change outputs since these are also payments to self.

ACKs for top commit:
  edouardparis:
    utACK 55b92b3da707310900fca1570269c5e13b709d64

Tree-SHA512: 347045e45a75632024e2539fedc7ab3f76b25fa14aeeac2490e5def7a746cf37097e636110e52823af84744f0970a07c70300fd324b62703f8d4cbd1be76ae7a
2025-01-02 10:28:32 +01:00
edouardparis
86e64ab884
Merge #1509: export transactions: output a blank if fee is 0
b1736bbd404df91a0150c06985998ac1575c317d export transactions: output a blank if fee is 0 (pythcoiner)

Pull request description:

  This PR replace the fee displayed as 0 by a blank.

ACKs for top commit:
  jp1ac4:
    Tested ACK b1736bbd404df91a0150c06985998ac1575c317d.

Tree-SHA512: 02d132b5de988e0f8b0c3ad6ec463c0a70f9d207b0620560ab1fb683b3729f96bc044d6f4315dc0f48eea4ddb6142ea60141e1cb430c879f2e177eb3a549ee9a
2025-01-02 10:25:59 +01:00
edouardparis
2d2d080888
Merge #1500: gui: allow to connect to an electrum server w/ a self signed certificate
308355322cd62b4e98a91de40c92070c3a8ae011 ci: add openssl to 'windows_latest' (pythcoiner)
09bb450b1fbd39aabec61719b9e67e12180641ba gui: allow user to not validate the ssl domain for an electrum server (pythcoiner)
efb23300dae06702459e07334ab458bfcc54b3e6 lianad(electrum): add an option to not validate SSL domain in order to work w/ self signed certificates (pythcoiner)

Pull request description:

  closes #1300
  The issue about connecting to an electrum certificate using `rustls` have been fixed [upstream](https://github.com/bitcoindevkit/bdk/issues/1598) but in order to beneficiate from it we have to update `bdk_electrum` and `rust-bitvoin` dependencies.
  Meanwhile, this PR introduce a workaround: the initial issue is related to `electrum-client` `use-rustls` feature and `use-openssl` feature is not reexported by `bdk_electrum` but we can use `electrum-client` crate directly and use `use-openssl` feature by this way:
   - [x] use `electrum-client` directly w/ `use-openssl`
   - [x] add and option to opt-out of ssl domain validation
   - [x] let user change the `validate_domain` values in `Settings` menu.

  ![image](https://github.com/user-attachments/assets/8314b89b-bfd2-4dc8-b331-ee980c3b24d5)

   Note: ssl://testnet.aranguren.org:51002 electrum server can be used to test this PR

ACKs for top commit:
  jp1ac4:
    ACK 308355322c.

Tree-SHA512: 28139ef6c6073045b413303c725c0d6c83b193d89c7b39edfb1d10108a1551c1ac9fdf20c941bc770d62f0075fb47ffa305b4975ea38e1840ae3d631ca9e39e6
2025-01-02 10:24:42 +01:00
pythcoiner
308355322c ci: add openssl to 'windows_latest' 2024-12-31 15:18:21 +01:00
pythcoiner
09bb450b1f gui: allow user to not validate the ssl domain for an electrum server 2024-12-31 15:18:21 +01:00
pythcoiner
efb23300da lianad(electrum): add an option to not validate SSL domain in order to work w/ self signed certificates 2024-12-31 15:18:21 +01:00
pythcoiner
b1736bbd40 export transactions: output a blank if fee is 0 2024-12-31 15:12:22 +01:00
Michael Mallan
55b92b3da7
fix: treat change outputs as send-to-self payments 2024-12-31 09:08:04 +00:00
Michael Mallan
6b914fd249
bitcoind: parse descriptor before comparing strings
Parsing the descriptor first will ensure a match is found
regardless of whether bitcoind uses `h` or `'`.
2024-12-30 17:12:28 +00:00
Michael Mallan
652eb5b799
refactor(bitcoind): extract logic to function 2024-12-30 13:26:54 +00:00
edouardparis
cfe15b360d
Merge #1496: gui: tx export feature
22f48753a367187a1d08bc34d20e5b75bdfc01b8 gui: add and export transactions feature (pythcoiner)

Pull request description:

  This PR add a feature to export transactions:
  Done:
   - [x] Subscription to run the  feature in a detached thread w/ possibility to send update about the ongoing progress.
   - [x] Let user choose the path using `rfd` crate
   - [x] Add a modal that show progress of the process
   - [x] estimate the progress
   - [x] cancel feature

ACKs for top commit:
  jp1ac4:
    Tested ACK 22f48753a367187a1d08bc34d20e5b75bdfc01b8.

Tree-SHA512: 5cf271d52878c4845347c5951a562e08e7f7efea08f0dc702d0500e41d6ad8eab7cb31f7e8a7b4edba48916648759ce97a9f591d1bcb4564a0c7067d5274fa08
2024-12-30 09:12:13 +01:00
pythcoiner
22f48753a3 gui: add and export transactions feature 2024-12-23 12:29:16 +01:00
edouardparis
ecce76ab3f
Merge #1432: gui(settings): add a button to copy auth fields & mask password
9679f0f2926e2bc90ba7b8b61f138dcabaf22451 gui(settings): add a copy button for electrum server address (pythcoiner)
46cb154b94b69de87941dd61855e24545003e6cc gui(settings): replace node password by stars(*) (pythcoiner)
523bcbdb1f1e2ca43894e8d5b380178e90bd75be gui(settings): add a copy button to auth fields (pythcoiner)

Pull request description:

  fixes #1160
  ![image](https://github.com/user-attachments/assets/e508010a-4fb1-443d-a615-0dff402eb3e0)

ACKs for top commit:
  jp1ac4:
    Tested ACK 9679f0f2926e2bc90ba7b8b61f138dcabaf22451.

Tree-SHA512: 880e35ade18b614e25b5add8fbc17615504e0b7c35a0cd2e9fbc7861b8d24765a2b2a91bcb68d0d4c6f15bbc41ddccf78fd61890aafd33fd6f5d35355f9725e0
2024-12-20 16:08:04 +01:00
pythcoiner
9679f0f292 gui(settings): add a copy button for electrum server address 2024-12-20 12:19:01 +01:00
pythcoiner
46cb154b94 gui(settings): replace node password by stars(*) 2024-12-20 09:57:17 +01:00
pythcoiner
523bcbdb1f gui(settings): add a copy button to auth fields 2024-12-20 09:57:17 +01:00
edouardparis
7367abcb36
Merge #1503: Introduce lighter struct Payment in home panel
79057a0cd9ea8010e91f9d7ea035a85c1b06bdb1 Do not include self transfer in home events (edouardparis)
790beaa6700b514f6f94b38acb356d4938ab87f5 Use payment model in the home (edouardparis)
b1abce5a244b2fb101bb4faeabadab4ec877ac3d Separate Labelled from LabelsLoader (edouardparis)
0d8f88839eb01d3fce0b71bea955b288ef1c27cb change event selection in home to load model (edouardparis)

Pull request description:

  Some users may have txs with a lot of inputs/outputs. We wrongly iter over them in the view which is the origin of performance issues.

ACKs for top commit:
  jp1ac4:
    Tested ACK 79057a0cd9ea8010e91f9d7ea035a85c1b06bdb1.

Tree-SHA512: 2c66703e35c1e67447cfd50d72e5dcd79ac7e1469e513d082001ec5ec94ca88c6a0a5e65f87e6ceb213e21b43e9bfa2005ca1c63fee4d230d2cd2d1374fd3212
2024-12-19 14:29:21 +01:00
edouardparis
79057a0cd9 Do not include self transfer in home events 2024-12-19 11:02:57 +01:00
edouardparis
790beaa670 Use payment model in the home 2024-12-17 18:15:28 +01:00
edouardparis
b1abce5a24 Separate Labelled from LabelsLoader 2024-12-17 18:15:28 +01:00
edouardparis
0d8f88839e change event selection in home to load model 2024-12-17 18:15:28 +01:00
edouardparis
c9743b4070
Merge #1501: bump msrv 1.80
c07c81659809ad23369fdcb56f3e3615816367e1 bump msrv 1.80 (edouardparis)

Pull request description:

  The update of the reproducible system allow us to bump the minimal rust supported version. Although bumping a MSRV should be conservative, it is a requirement for us if we want to be able to support last https://github.com/iced-rs/iced version and improve the experience of our users.

ACKs for top commit:
  edouardparis:
    Self-ACK c07c81659809ad23369fdcb56f3e3615816367e1

Tree-SHA512: d3f51e45a7a1d0f6cf3d98ae03bf9b44d7d7f0216b58ee1837dc5a2022f12b5c33a369d392391256709bf512d3020ae7a8b864c87f072a13007a4ca6066df2e8
2024-12-17 11:56:16 +01:00
edouardparis
c07c816598 bump msrv 1.80 2024-12-17 10:52:03 +01:00
edouardparis
fec4baeb58
Merge #1491: Enable cross compilation to windows and macos with nix
6b4e7b0521c7328647738b46afd67386273c403e fix reproducible dpkg-deb (edouardparis)
cc083f9be6f6dd2f50a60572d09872913ece5dd0 Remove docker reproducible build (edouardparis)
34e6afd54351178fdfae6eca01ee24e744d21fa1 Add script contrib/release/sign.sh for signing binaries (edouardparis)
a2917c5bd73e230d9b2cb13ec25250bd36b6d5ad Add SOURCE_DATE_EPOCH and TAR_OPTIONS for reproducibility (edouardparis)
2c70aba2d573d80a9b4ed78c0914e3996a6352ca nix build and nix shells for release (edouardparis)

Pull request description:

  The nix build replace the docker build. Sadly zip is not fully deterministic so release_assets may not have always the same hash, but users can still audit the binaries reproducible build.

ACKs for top commit:
  edouardparis:
    Self-ACK 6b4e7b0521c7328647738b46afd67386273c403e

Tree-SHA512: cc66465073aa15c23e941cc41ec03918ee604adb40a3a65de524ff03a1651ababf0d40287f749a03aea9c8c165172b1e9a3b3aaffb120074a152697a0920b2f8
2024-12-17 10:11:38 +01:00
edouardparis
6b4e7b0521 fix reproducible dpkg-deb 2024-12-16 16:53:01 +01:00
edouardparis
cc083f9be6 Remove docker reproducible build 2024-12-16 15:38:08 +01:00
edouardparis
34e6afd543 Add script contrib/release/sign.sh for signing binaries 2024-12-16 15:38:08 +01:00
edouardparis
a2917c5bd7 Add SOURCE_DATE_EPOCH and TAR_OPTIONS for reproducibility
close #1474
close #1479
2024-12-16 15:38:08 +01:00
edouardparis
2c70aba2d5 nix build and nix shells for release
Cross compiling the crates for windows and macos
2024-12-16 15:38:08 +01:00
edouardparis
d9e984af43
Merge #1499: commands: use unconfirmed coins from self for coin selection
091d7728ee33d231fbafb839ac497f86122d0851 commands: use unconfirmed from self for coin selection (Michael Mallan)

Pull request description:

  This is to resolve #1484.

  We previously used unconfirmed change for coin selection as a best-guess way of identifying those unconfirmed coins from self, but now we have the `is_from_self` field we can use it directly and be sure we only select coins that are fully under our control.

ACKs for top commit:
  edouardparis:
    Self-ACK 091d7728ee33d231fbafb839ac497f86122d0851

Tree-SHA512: 31e3b292e6f2ed293374ba6971f82736fa53f12341f433ffb7b59891d996682eebf031154aed6619f5c3b17fda176e01cccc20fdc523d428b04856bc5d444518
2024-12-16 12:31:59 +01:00
Michael Mallan
091d7728ee
commands: use unconfirmed from self for coin selection
We previously used unconfirmed change as a best-guess way of
identifying those coins from self, but now we have the
`is_from_self` field we can use it directly and be sure we only
select coins that are fully under our control.
2024-12-16 10:24:19 +00:00
edouardparis
7e2c7ed60a
Merge #1498: [GUI] include unconfirmed coins from self in confirmed balance
715aeb9298d1bac41ab3c904201696ddf9a794be gui(lianalite): use is_from_self from response (Michael Mallan)
8d99981c143b424d660b04b829da17afdfb1608a gui: include unconfirmed from self in confirmed balance (Michael Mallan)
31224ba44369e8eb76f004fefb0ddb4206458f4d gui: set missing fields for new home page (Michael Mallan)
0a4861f409867744c768228889b1107ea2ae8a9a refactor(gui): use common function for coins summary (Michael Mallan)

Pull request description:

  This is to complete #1375, building on the changes from #1483.

  The Liana Connect API response has been updated to include `is_from_self` so this will work for both local and remote backends.

ACKs for top commit:
  edouardparis:
    utACK 715aeb9298d1bac41ab3c904201696ddf9a794be

Tree-SHA512: 905494ee29f19dd527b2b1173075e6f2c332030b00ec05aca680921fc50411fee0d65977d2ee29b82fcfb07472df7717d8844a60cd629ffd8850d77c29b4f71e
2024-12-16 11:18:12 +01:00
Michael Mallan
715aeb9298
gui(lianalite): use is_from_self from response 2024-12-12 11:39:18 +00:00
Michael Mallan
8d99981c14
gui: include unconfirmed from self in confirmed balance 2024-12-12 11:39:16 +00:00
Michael Mallan
31224ba443
gui: set missing fields for new home page
These fields are returned by the new `coins_summary()` function
so we may as well use them.
2024-12-12 11:39:15 +00:00