46cd0f4923c5fe59a5ff08134c850d9a9ceb345a gui: add max checkbox for spend recipients (jp1ac4)
83fa9a9c924bb1326b859f1d2d5aac58c291e960 gui: unset amount left to select if form invalid (jp1ac4)
fba77a30e2aa9984cbda0fdaf40736ff1b0e57c4 gui: check if feerate is already set (jp1ac4)
d9b8285fac1288e895d4b460646f73c664d1a2ff gui: fix cargo fmt (jp1ac4)
Pull request description:
This adds the MAX button from #546.
The max amount is calculated within the `redraft` function based on the change output. The recipient's amount is updated directly within this same function in order to avoid another call to `redraft` after updating the amount.
The MAX button only takes effect once when the user clicks it. If further changes are made (e.g. to feerate or other recipients), the value will not update and the user will need to click MAX again.
Currently, the MAX button is always clickable. It would be possible to determine for each recipient whether the MAX button should be clickable for that recipient (feerate is valid and all other recipients are valid and no duplicates), but it's not a trivial change so I'm not sure if it's worth doing as I think the behaviour is quite intuitive.
ACKs for top commit:
edouardparis:
ACK 46cd0f4923c5fe59a5ff08134c850d9a9ceb345a
Tree-SHA512: 16f22804d630686427da196fd1627287e2e20f2e122602c385157064323113b27b9ec9c56ada162acb55d11b8084667ee3f1a9f992a2f4eef70f25c6f7a5b20b
bdf8b8f625030697ca58680fd0c99c3dd3bf77af Rename IS_BITCOIND_25 to IS_NOT_BITCOIND_26 (Antoine Poinsot)
0acdccd3ac7855ebf6c519849d1ae48b35213667 ci: bump bitcoind version in functional tests to 26.0 (Antoine Poinsot)
Pull request description:
I thought there was some hacks i do in the functional tests i needed to update but apparently i was mistaken.
ACKs for top commit:
darosior:
self-ACK bdf8b8f625030697ca58680fd0c99c3dd3bf77af - ran ci one last time and didn't notice any flakiness
Tree-SHA512: 0ffb6026d43ef0670e83feb19d733089e4b023937ac7851ffe2eda9b1491cd432e4abde9afb8386c66b4f2ae57506f5e25ea797d84d37fa055a43df64c5b77b0
e9bd8805e5917b05c483db5ba6b7ff34d98dc36d descriptors: fix derived key parsing and formatting (Antoine Poinsot)
Pull request description:
This was untested, what could go wrong? Well, it was wrong of course!
ACKs for top commit:
darosior:
self-ACK e9bd8805e5917b05c483db5ba6b7ff34d98dc36d
Tree-SHA512: 87fb1c84d5b03e59970183882dd63020687011eb5d08e1e31bad04609bdaef0c5a6bf0b5e63be3f2248dd35249cde7d43c83b7c19415cde31bd0a08ec46315be
8639f9b94f1fdceaee94aa927e8f9b7b07cc51f9 gui: prevent spend with duplicate addresses (jp1ac4)
Pull request description:
Currently, if duplicate addresses are entered when creating a new spend, the user can click Next and only the second amount will be used for the draft PSBT.
This change prevents the user clicking Next if there are duplicate addresses and stops the `redraft` function running.
ACKs for top commit:
edouardparis:
ACK 8639f9b94f1fdceaee94aa927e8f9b7b07cc51f9
Tree-SHA512: f2110e49e07ec04deb8997fae987998dcfeacc41bec0c770a16fe555bde0b49b67c4cc14736fb7bbb5e536abb3d2ef1e847bbe5075be751b579728aac2a98a97
Previously, if duplicate addresses were entered when creating
a new spend, the user could click Next and only the second
amount would be used for the draft PSBT.
This prevents the user clicking Next if there are duplicate
addresses and stops the redraft function running.
7483988c53ee6201438283eff496302b7e647176 add index into qrcode (pythcoiner)
Pull request description:
fixes#838
ACKs for top commit:
edouardparis:
utACK 7483988c53ee6201438283eff496302b7e647176
Tree-SHA512: f33dd29f2857cab08c09eca03dcb208937b6b13da9e4ef811cbc4e8e4f6bbb73f1eee629736d98bf00bd9b65be5e96987c18ede42d20c9f486c5ec4e47ada275
0c665f9c3ca3791fe2d1f9a70156b1d76fd2cea2 gui: bump dependencies to fix nightly build (jp1ac4)
Pull request description:
This includes the changes from https://github.com/dalek-cryptography/curve25519-dalek/pull/619 and https://github.com/dalek-cryptography/curve25519-dalek/pull/621.
ACKs for top commit:
edouardparis:
utACK 0c665f9c3ca3791fe2d1f9a70156b1d76fd2cea2
Tree-SHA512: 414f65ff0d0b102ba43506042ebb3d4acbc67a019620a044d3be4d6b8c950e8c5d5d44fe722d38a0a445b1dc374f5e374b129d32cd66b5fed27cc2d53cc7f8e7
3a30a36ce5f58e8ae2c92926384d76253e702894 gui: do not display hw error on simple user refusal (edouardparis)
Pull request description:
close#937
ACKs for top commit:
edouardparis:
Self-ACK 3a30a36ce5f58e8ae2c92926384d76253e702894
Tree-SHA512: c2c1aed212b9389bac62da17552daa6d87d0eeea6180ec19e37dd9ef4dd0faa935a621123df6306ef9ca6fadffba35c1c047d2906a9c15db3a14cd8ccf156e29
416dc9d2d83c3b06ce7e7f5e282a5b9251fa303d gui(installer): clear checkbox if descriptor is changed (jp1ac4)
Pull request description:
Currently, once the box has been ticked to confirm the descriptor has been backed up, it remains ticked even if the user goes back and changes the descriptor.
This PR will clear the checkbox if the descriptor is changed so that the user knows it needs to be backed up
ACKs for top commit:
edouardparis:
ACK 416dc9d2d83c3b06ce7e7f5e282a5b9251fa303d
Tree-SHA512: c8d2be242ada364fe97b0846912420ea206f03f82290dbb87ce513746b8f555f8993d906cd38d27cba513414940bd8984282fc26389608939d89fb252f4c1049
fde28bf571e4ba791617e62f0c124138cd58e1fe gui(transactions): get prev feerate from tx instead of param (jp1ac4)
dc817dee3be64bba5e8bee7a0ec646bb90e643d4 gui(transactions): check for direct descendants before rbf (jp1ac4)
881d9a74a29eef21aafd75f9851f588142e0091f gui(psbt): check for conflicting txs before broadcast (jp1ac4)
beabf08cbfe55e12a191d02c0a3370dc207fac86 gui: match on message for PsbtState (jp1ac4)
9e5872c56f7877227d5116207f611c2e44618325 gui(transactions): reword rbf modal message (jp1ac4)
c50954e9105fd81231fcb17527941d650e9c9f42 gui(transactions): split strings across multiple lines (jp1ac4)
Pull request description:
This is for #903.
It adds two warnings to the GUI:
- when creating a new RBF if there are any descendant transactions of the transaction to be replaced:

- when broadcasting a transaction if there are any conflicting transactions

These warnings are generated in the GUI using coins data from the DB and so will not appear if the DB coins have not yet been updated. Would resolving https://github.com/wizardsardine/liana/issues/887 help ensure the coins are updated before running these checks?
ACKs for top commit:
edouardparis:
ACK fde28bf571e4ba791617e62f0c124138cd58e1fe
Tree-SHA512: 3c428439926448a1d1fd0deb161b2b4016fcd6c4e2c0792ceb36e2c8bfc545ee5849ee76a6a89573a4389c6033bfe8ebd9f68555eca8a4f8f0e5fe1ac780be6d
69fd1891f3d4c0c1d9fa3ec807a7a09bd8468a5c If date prior to genesis block timestamp, rescan from genesis (edouardparis)
18f2fe45722466b897f1f98010783b6ff0a4ddbc gui: display error for rescan past pruned height (edouardparis)
Pull request description:
close#900
After discussion with @kloaec it is better to not return error if date is prior to genesis block date, just take genesis block timestamp
ACKs for top commit:
edouardparis:
Self-ACK 69fd1891f3d4c0c1d9fa3ec807a7a09bd8468a5c
jp1ac4:
ACK 69fd1891f3.
Tree-SHA512: be9499d24ee455aef5965c4e6766d5040ee427cd37120461724ec67ba7a591eea0aee5265292df053ed65c8bc1e85095f6511d9dbed9e5f0da0c112acf21140e
cb5073c83a54b3e4d430a7b30ce590c8385f7f7c gui(spend): use create_spend_tx for missing amount (jp1ac4)
fae32df08656bf550f6a035dad6a3f4b56a9b6fc gui: pass change_address param to createspend (jp1ac4)
Pull request description:
This PR is a follow-up to https://github.com/wizardsardine/liana/pull/927 and uses changes made in https://github.com/wizardsardine/liana/pull/938.
It reverts to using the `createspend` command in the GUI for automated coin selection and to determine the amount left to select when creating a new spend (which was previously changed in https://github.com/wizardsardine/liana/pull/863).
With this PR, the changes from https://github.com/wizardsardine/liana/pull/873 will become effective in the GUI so that (some) unconfirmed coins are used as candidates and any additional fee to pay for ancestors is included when calculating the amount left to select.
ACKs for top commit:
edouardparis:
ACK cb5073c83a54b3e4d430a7b30ce590c8385f7f7c
Tree-SHA512: d780b8a0238b595301701d889c45b263682867cdff1ec054872f717de7ae3d325fc5010c8df29333ae2a44ae2e92a86689d332a26ac7334c7e92fd9ffc7a6397
366e9b7d49eb7261df4801534224cb737a49149f gui: use descriptor method to detect psbt change outputs (edouardparis)
Pull request description:
This commit also fix handling of create_spend result while updating liana:master
close#841
ACKs for top commit:
edouardparis:
Self-ACK 366e9b7d49eb7261df4801534224cb737a49149f
Tree-SHA512: 5316e610ec6fe1c09447329c031a52710fa7802c0135cc2e386d9926d5f189f1b381596b1f5b081beb2904341d4d7468fa1b4148e9fc49644670e5d8335ca015
39299263954b4d29f6bdcb177e9b2377d1ea92ed descriptors: add a method to get a PSBT's change outputs (Antoine Poinsot)
c6b554da93bdc90b0c2a6cb70d962fcaaf718aff descriptors: unit test we do take into account derivation steps before wildcard and multipath (Antoine Poinsot)
Pull request description:
Fixes#857.
ACKs for top commit:
darosior:
ACK 39299263954b4d29f6bdcb177e9b2377d1ea92ed -- re-applying Edouard's ACK. Only change is the addition of an `index()` method on the `ChangeOutput` enum.
Tree-SHA512: fceaa4e492684be08d45ab09d74345d5825b73d930f5caa4162862e5ff94f32cd5e9ab23b0730bc7ef44569c8e10cfed0f343b4843590a2163122d3402fc3734
13398982534d56a5723dfa86723c5917483c8653 commands: include missing amount in response (jp1ac4)
Pull request description:
This PR follows a discussion around https://github.com/wizardsardine/liana/pull/873#issuecomment-1886715468.
The GUI uses the `InsufficientFunds` error to get the missing amount when the user is creating a new spend, but it is not straightforward to extract this information in a general way from the RPC error (see https://github.com/wizardsardine/liana/issues/822#issuecomment-1836482355) and instead the spend module's `create_spend` is currently used (see https://github.com/wizardsardine/liana/pull/863).
With this PR, the missing amount will be included in the `createspend` response rather than as an error.
These changes are based on suggestions from @darosior and @edouardparis.
In a follow-up PR, the GUI should revert to using the `createspend` command to calculate the amount left to select.
ACKs for top commit:
darosior:
re-ACK 1339898
Tree-SHA512: bf702d6b355339e96e719c1d95824e7941ac4fbaece4ec4cccd00b56ea4683ce7fb0cefc43faa5731b57e7935ef99da3a2c73b84aaeb9fa5f67703c799be2196