2169 Commits

Author SHA1 Message Date
edouardparis
eae89211d1
Merge #1554: chore: fix some comments
f12c65cdd26f9b611b524b4f30c69bb4ad956c22 chore: fix some comments (damuzhi0810)

Pull request description:

  fix some comments

ACKs for top commit:
  jp1ac4:
    ACK f12c65cdd26f9b611b524b4f30c69bb4ad956c22.

Tree-SHA512: 540abcc6d1faddb9f9b81f8dc5c7918daa4bb4bf7179276c768d49c18109283f45eb62734892ad9c40460bc07daa2001967bcbecb0de77335f308d627195930c
2025-01-27 15:52:57 +01:00
edouardparis
15994b85b5
Merge #1556: ci: reduce number of tasks
5edbcb9033dc1e5dbf20b43cd0db736aa0222612 ci: reduce number of tasks (Michael Mallan)

Pull request description:

  This will reduce some of the overhead of setting up each task.

ACKs for top commit:
  edouardparis:
    ACK 5edbcb9033dc1e5dbf20b43cd0db736aa0222612

Tree-SHA512: 7360be30fda9bbb567813acbba858bc231d13ede2facc0db8a33cc2e9a21b4542f63a504babc94c19243fd364c2adbe72f4cbce1883ae7cf60c157a5a481909d
2025-01-27 14:49:33 +01:00
Michael Mallan
5edbcb9033
ci: reduce number of tasks
This will reduce some of the overhead of setting up each task.
2025-01-27 11:34:03 +00:00
damuzhi0810
f12c65cdd2 chore: fix some comments
Signed-off-by: damuzhi0810 <rust@before.tech>
2025-01-23 22:05:18 +08:00
edouardparis
440efa7b61
Merge #1271: tests: add a note to README.md about running tests in parallel
ef5291d7e8ebfd4ab14a91197ef5d0bf275586f9 tests: add a note to README.md about running tests in parallel (pythcoiner)

Pull request description:

ACKs for top commit:
  edouardparis:
    ACK ef5291d7e8ebfd4ab14a91197ef5d0bf275586f9

Tree-SHA512: 23430e65e05c4b54a7a9eae2110a4e17c14952bcd727284805201deedd5eeee36b2a9ebc1a612624e8a2cff3e6943d31515008c65a0b5d4fbb3a34734a3b57dd
2025-01-23 12:34:33 +01:00
edouardparis
99db113389
Merge #1553: skip policy compilation when parsing descriptor
a95cfad6d249cffecc25da3d9b31b81946bd297a skip policy compilation when parsing descriptor (Michael Mallan)

Pull request description:

  This allows to create a new `LianaPolicy` without checking that it compiles into miniscript. This compilation check is used as a sanity check on the policy in addition to other Liana-specific checks, but this compiled policy is not otherwise used.

  When parsing an existing descriptor, we will assume that the policy can be compiled. Otherwise, the method `LianaPolicy::from_multipath_descriptor` ends up calling `LianaPolicy::into_multipath_descriptor_fallible`.

  A `LianaPolicy` is created from a descriptor each time we call `LianaDescriptor::from_str`, which is done often, e.g. when updating derivation indices in the DB. Removing the compilation check won't affect the `LianaDescriptor` that we end up with when parsing a string as we already use the `Descriptor` obtained from parsing the string rather than that obtained by compilation of the policy.

  This change is particularly important with the upcoming upgrade to miniscript 12.0, which has been found to increase Liana policy compilation times significantly.

  An additional option would be to reduce the number of times we call `LianaDescriptor::from_str`, e.g. by passing the descriptor as a parameter rather than reading from DB, but this current change should address the main performance issues.

ACKs for top commit:
  pythcoiner:
    utACK a95cfad6
  edouardparis:
    ACK a95cfad6d249cffecc25da3d9b31b81946bd297a

Tree-SHA512: 690d7b6a14387222c08537940556a2bbae46f4b46905411810b494a6debc3958a3963e9003bbe0fecf2c5530c15bcc3737874d59994ab599a5d5db59a5bf332a
2025-01-23 11:39:58 +01:00
Michael Mallan
a95cfad6d2
skip policy compilation when parsing descriptor
This allows to create a new `LianaPolicy` without checking that
it compiles into miniscript. This compilation check is used as
a sanity check on the policy in addition to other Liana-specific
checks, but this compiled policy is not otherwise used.

When parsing an existing descriptor, we will assume that the
policy can be compiled. Otherwise, the method `LianaPolicy::from_multipath_descriptor`
ends up calling `LianaPolicy::into_multipath_descriptor_fallible`.

A `LianaPolicy` is created from a descriptor each time we
call `LianaDescriptor::from_str`, which is done often, e.g.
when updating derivation indices in the DB. The sanity check
of the descriptor previously performed during compilation of
the policy will now be done explicitly as part of the
`LianaDescriptor::from_str` method.

Removing the compilation check won't affect the `LianaDescriptor`
that we end up with when parsing a string as we already use the
`Descriptor` obtained from parsing the string rather than that
obtained by compilation of the policy.

This change is particularly important with the upcoming upgrade
to miniscript 12.0, which has been found to increase Liana policy
compilation times significantly.

An additional option would be to reduce the number of times we
call `LianaDescriptor::from_str`, e.g. by passing the descriptor
as a parameter rather than reading from DB, but this current
change should address the main performance issues.
2025-01-22 16:49:43 +00:00
edouardparis
c16237d354
Merge #1548: fix release and sign scripts
edd13360ede0114555688cc109298587ea530f35 fix release and sign scripts (edouardparis)

Pull request description:

  * Use LIANA_PREFIX var everywhere
  * Remove capital letter from macos binaries.
  * Add macos to .zip title

ACKs for top commit:
  edouardparis:
    Self-ACK edd13360ede0114555688cc109298587ea530f35

Tree-SHA512: 9bc6941cf0a0f563b5caec7c924394e6e54a310e0e854409520e01e93d52a3bad8dc5d882b730d4e00f9663fb11a46c7d98965b27244ce61afcdd52d58b12b28
2025-01-20 10:51:23 +01:00
edouardparis
edd13360ed fix release and sign scripts
Use LIANA_PREFIX var everywhere, remove capital letter from macos
binaries.
2025-01-17 12:13:41 +01:00
edouardparis
6aed1cb450
Merge #1543: release: remove windows zip
d4f9f38ca0609e87156c7abf31bb80c4b088a4a5 release: remove windows zip (edouardparis)

Pull request description:

  The zip was containing only the readme file and the unsigned .exe. It is not really useful for a windows user.

ACKs for top commit:
  edouardparis:
    Self-ACK d4f9f38ca0609e87156c7abf31bb80c4b088a4a5

Tree-SHA512: 894e2dea205695cc7bd399efb12bbdf9f9b1760b2013b58a8fd83166b31ae60a8aafeac53f50ba61a7baa2cf63eb443621ac2c268d4c56c8fe5294cd5b5935bf
2025-01-15 12:51:05 +01:00
edouardparis
d4f9f38ca0 release: remove windows zip
The zip was containing only the readme file and the unsigned .exe.
It is not really useful for a windows user.
2025-01-15 12:06:32 +01:00
edouardparis
ba01c78b4b
Merge #1537: export: list transaction in chronological order
19b7414e7be5d8fd0b89963edc8254616d14ae85 export: list transaction in chronological order (pythcoiner)

Pull request description:

  closes #1536

ACKs for top commit:
  edouardparis:
    ACK 19b7414e7be5d8fd0b89963edc8254616d14ae85

Tree-SHA512: c9442a65b770cf408c79d5fd4d68d025ccb92a7a322f4402e23620aec96f458eb2c30856d47d11fbaa6b03631c1638a655abfc26eedfc1fac60249055f0be27b
2025-01-14 12:20:33 +01:00
pythcoiner
19b7414e7b
export: list transaction in chronological order 2025-01-13 12:51:05 +01:00
edouardparis
f46efa2a33
Merge #1530: Fix update of rescan state upon completion
130d004e79a1440e3d810ef35082f9671dc1ad81 refactor: do not include cache in message (Michael Mallan)
665c527dd08d027dbf95b22e58d44b1cb29212db fix: set rescan processing to false upon completion (Michael Mallan)
65e002dc528f3951d39e353b87bc531885a943a6 refactor: treat as dyn state to easily add others (Michael Mallan)

Pull request description:

  This is to fix #1528.

  It updates the `processing` field of the rescan settings each time the cache is updated.

ACKs for top commit:
  edouardparis:
    ACK 130d004e79a1440e3d810ef35082f9671dc1ad81

Tree-SHA512: 7edd744510edf799ab7f00cceee31e60ce316f3cd0c8377d7693064b4cf0c9ac12520f0c55a3c3305866c3cb98684378640ab2944c0dc76969cac9209ce3bce9
2025-01-13 10:12:51 +01:00
Michael Mallan
130d004e79
refactor: do not include cache in message
We already have access to the cache in the `update` arguments.
2025-01-10 17:43:41 +00:00
Michael Mallan
665c527dd0
fix: set rescan processing to false upon completion
Otherwise, the button gets stuck on "Starting rescan...".
2025-01-10 17:29:23 +00:00
Michael Mallan
65e002dc52
refactor: treat as dyn state to easily add others
Otherwise, all elements are expected to be `Home`.
2025-01-10 17:14:20 +00:00
edouardparis
dbfbad7f5a
Merge #1521: fix script: remove paths from checksums file
bd3eaa1cd6034b4ffb5075e6611c09abf61da28e fix script: remove paths from checksums file (edouardparis)

Pull request description:

ACKs for top commit:
  edouardparis:
    Self-ACK bd3eaa1cd6034b4ffb5075e6611c09abf61da28e

Tree-SHA512: 4cd2325975f91d44e89ac0e0c66e7b7feca83d2c94172f31c26bf98f1835978789f62e803a3c2833d5fc6171f70668a4de64281ff10ee0605385000a249dd21c
2025-01-07 17:41:31 +01:00
edouardparis
63fcb47dbd
Merge #1522: fix fetching of coins txids before migration
c5b1f73660888fed788c76d13645a1ed2f3b95fa fix fetching of coins txids before migration (edouardparis)

Pull request description:

  While directly migrating from v7 to v9, the daemon get a problem and panic because it was using the db_coins query with v9 coins columns.

ACKs for top commit:
  jp1ac4:
    utACK c5b1f73660888fed788c76d13645a1ed2f3b95fa.

Tree-SHA512: eb450ce68c6f968e3546ce77b2ababd45e196403e20a11d22f70b45bf7d30e89a2a64c23a3cc4a85466bd58d376a0340262c98c3213b2b37ff1ce5a4382c9722
2025-01-07 17:10:38 +01:00
edouardparis
c5b1f73660 fix fetching of coins txids before migration 2025-01-07 16:10:14 +01:00
edouardparis
bd3eaa1cd6 fix script: remove paths from checksums file 2025-01-07 14:33:09 +01:00
edouardparis
451ba88445
Merge #1518: Prepare v9 release
39616bea421182f10a4a9f6aa2701f665817e5d3 Add liana and version to shasums txt file (edouardparis)
d0fefc37f4a1f51674336694601d17a33b74e7c1 Prepare v9 release (edouardparis)

Pull request description:

ACKs for top commit:
  edouardparis:
    Self-ACK 39616bea421182f10a4a9f6aa2701f665817e5d3

Tree-SHA512: 8e04468d6dfab973f556ad374bfa06ee3912a80ee491528bf2f44b34e79b31ce57a65303547dba039639e54f32ac275292fc468f6a9c379e4878d5e32c676e18
2025-01-07 11:40:16 +01:00
edouardparis
39616bea42 Add liana and version to shasums txt file 2025-01-07 11:22:24 +01:00
edouardparis
d0fefc37f4 Prepare v9 release 2025-01-07 11:22:24 +01:00
edouardparis
77142b510d
Merge #1513: fix reload of selected psbt after update
ebc52cc7330c049369f720813b19264042e08fbb fix reload of selected psbt after update (edouardparis)

Pull request description:

  close #1505

ACKs for top commit:
  edouardparis:
    Self-ACK ebc52cc7330c049369f720813b19264042e08fbb

Tree-SHA512: d43ec3cfff581f6a0993e12769f2da867a738d25fdb4fb1d12e3265bb8118dfee586b23c6a12469220f83948f7a7bba8d60cad8a0df07100e8835b0a1563b01b
2025-01-06 17:41:01 +01:00
edouardparis
126fdb7bbe
Merge #1504: chore: fix some typos
96fd7b5ee35b715bde1b8a91b9f1defd5a3b888f chore: fix some typos (fudancoder)

Pull request description:

ACKs for top commit:
  jp1ac4:
    ACK 96fd7b5ee3.

Tree-SHA512: a42edeb6ca5610a0168efbea6b5678ac88a351e6b43d9137c2bee5134857b8419e5dedb23393577196b777547e8ece018e68c8796f61e8de03bc818e648766e2
2025-01-06 17:38:47 +01:00
edouardparis
caa5e54f01
Merge #1519: fix: merge Taproot sigs when updating PSBT
86e30d2d839462fc063702e3f4430656073a6aa2 fix: merge Taproot sigs when updating PSBT (Michael Mallan)

Pull request description:

  While testing #1513, it became apparent that Taproot signatures were not being merged properly when updating a PSBT.

  This PR fixes and refactors the code to use the `merge_signatures` function that contains the required logic.

ACKs for top commit:
  edouardparis:
    utACK 86e30d2d839462fc063702e3f4430656073a6aa2

Tree-SHA512: ba07d8d2e612d41a3960c5ce04258775334ca22c5268d51822d4e1fbce9614424937e72e688b6006946064c3c04581c20ca2f159bb1bc2a916d98e7e1ef2dc7b
2025-01-06 17:05:54 +01:00
Michael Mallan
86e30d2d83
fix: merge Taproot sigs when updating PSBT 2025-01-06 15:46:14 +00:00
edouardparis
1cde178abe
Merge #1517: build: add universal2-apple-darwin target with lipo
5d30ea24fb947b81a96ef284f56ffe7e3f1fdc36 build: add universal2-apple-darwin target with lipo (edouardparis)

Pull request description:

ACKs for top commit:
  edouardparis:
    Self-ACK 5d30ea24fb947b81a96ef284f56ffe7e3f1fdc36

Tree-SHA512: 5ae75933b3c9ec5fda49a177fd03485332cfc2720389fff663613f84a8423e5d344837bfabe45acdce4201da73ea1538ae2d9fa25e831faae57159e3d416af95
2025-01-06 14:43:49 +01:00
edouardparis
af7dc61fdc
Merge #1516: Revert 'hide progress bar once export completed'
036550c8b73edd25963ba13849a7537bc7df1ed1 Revert 'hide progress bar once export completed' (Michael Mallan)

Pull request description:

  This reverts commit 98195e03b6878cd31e1d34ba246700b6ae95ceb1.

  The progress bar can disappear too quickly.

ACKs for top commit:
  edouardparis:
    utACK 036550c8b73edd25963ba13849a7537bc7df1ed1

Tree-SHA512: 00dedcf7cde2ed735f67168cb1c6c1df2afb8687bd3c490505a2aa56b5ab574ddb02d03881bca3ca5ab6a3ab3549c29f4c9c8f979beb0a3f46805b9d3f189f6c
2025-01-06 13:54:56 +01:00
edouardparis
5d30ea24fb build: add universal2-apple-darwin target with lipo 2025-01-06 12:45:31 +01:00
Michael Mallan
036550c8b7
Revert 'hide progress bar once export completed'
This reverts commit 98195e03b6878cd31e1d34ba246700b6ae95ceb1.

The progress bar can disappear too quickly.
2025-01-06 09:44:54 +00:00
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
ebc52cc733 fix reload of selected psbt after update
close #1505
2025-01-03 10:47:58 +01: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