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
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
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
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.
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
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
19b7414e7be5d8fd0b89963edc8254616d14ae85 export: list transaction in chronological order (pythcoiner)
Pull request description:
closes#1536
ACKs for top commit:
edouardparis:
ACK 19b7414e7be5d8fd0b89963edc8254616d14ae85
Tree-SHA512: c9442a65b770cf408c79d5fd4d68d025ccb92a7a322f4402e23620aec96f458eb2c30856d47d11fbaa6b03631c1638a655abfc26eedfc1fac60249055f0be27b
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
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
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
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
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
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
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
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
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
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
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