a105c495005ba715883a6e9a53fbdde93e7741ae gui(installer): add space at bottom of pages (Michael Mallan)
Pull request description:
This is to fix#1410, including for the mnemonic and descriptor backup steps.
The space height in all cases will be 70.0 when combined with the existing vertical spacing between elements.
ACKs for top commit:
pythcoiner:
ACK tested [a105c49](a105c49500)
edouardparis:
ACK a105c495005ba715883a6e9a53fbdde93e7741ae
Tree-SHA512: 5e9f27b80490e1eea0690750a52c650c7ea607c9c42a25cb0e96dab779d691e057a2629c00c772b0c5101d4054108eb8f33ea984b837026bb858824221aca71f
918909db235ff8a0886a9f74d7ac3b1caec83324 gui: include last poll for cache refresh interval (Michael Mallan)
c915970c7b00adbd27c0d8a20116d1bda57a8d2c gui(home): pass sync status directly (Michael Mallan)
92a4a4f8dcaa75bc7181767b1958e39c94e8ad3f gui(cache): store last poll at startup (Michael Mallan)
acf14c6d734fc238dc1f44a4b5bab1f3f6411c9b gui: refresh cache more often while syncing (Michael Mallan)
e419784e9f2da76e8e86c03c8773f0dcb2a883da gui: move sync status function to wallet module (Michael Mallan)
Pull request description:
This is to resolve#1414.
In the end, I felt it was simple enough to include commits that cover both parts of #1414 (the short-term change and the follow-up).
I start with the short-term change (setting the refresh interval ignoring the last poll logic) and then follow with commits that cover all syncing statuses.
I don't use as high a refresh frequency for a remote backend as for a local backend, but these values can be easily changed if required.
ACKs for top commit:
pythcoiner:
tACK [918909d](918909db23)
Tree-SHA512: 6b47f315b0d50b2898435247b288562413e0f0abf520747edc67166c66153f7432e65ae5b3337bba67c71ade7181110e5dbfbc58df3b8510bfb5d9eb29b2bb02
01f6d2b76985a92ec19ccd37a8e4005219b94563 gui: add support for tapminiscript on bitbox02 (pythcoiner)
Pull request description:
This PR is build on top of #1357, with few adds:
- get the version from bitbox device
- check the version for taproot support
- copy `tap_script_signs` & `tap_key_sig` if present in the pruned psbt after signature
Tested spending by internal key & taptree w/ differents setups
~~Note: this PR use `bitbox-tapminiscript` branch of `async-hwi`~~
ACKs for top commit:
edouardparis:
ACK 01f6d2b76985a92ec19ccd37a8e4005219b94563
Tree-SHA512: aa66a0ebe8553fd13dd5e279adaf1360cdce0d4ccb09f49181f20bc5e4c3c653c0ab056c35ac5cf6ccb3eeb696dcfd94463e6235d1cdb2063ecb503695ad4b99
456fce35a58564b4a3195eb17e906965f42a9d5a bump gui msrv to 1.71.1 (edouardparis)
Pull request description:
This PR updates our build system to use rust 1.71.1, required by the last version of async-hwi
ACKs for top commit:
edouardparis:
Self-ACK 456fce35a58564b4a3195eb17e906965f42a9d5a
Tree-SHA512: 2b5431d4ffc92d6f7dc03fd0524ea1f534489025c3e120f6be5f08af2c2c973908f03f1dabacfd74e9b3820d4e9d5cec0a4d6184c641c1b9096646a4508ea3ca
322597f474a7b726540f28e383fb19c76e161d2b gui(installer): re-add next button (Michael Mallan)
Pull request description:
This Next button was accidentally removed in commit bd03cc9cfffb7c5c45dd0dd60d54db807d4e02a2.
ACKs for top commit:
pythcoiner:
tACK 322597f
Tree-SHA512: 35e17d52b3ba9145078e7a70bc732792a21e6a903e49c16b5d3fa79cc9b4a6e69111029476b338f592402bfcfac12e2b9ff77fe57eaddb9a62f5a52870893698
Refresh the cache more often while the wallet has a syncing
status of some kind in order to detect sooner that this has
finished.
This does not cover syncing scenarios that require the first poll
to be detected since we don't currently store the required info
(the last poll at startup). This should be covered in a follow-up.
59c73001a4c9eaa835f2a9345d995f263653ab48 Disable edit of defined key in multisig template recovery path (edouardparis)
Pull request description:
The primary keys shouldn't be editable from the recovery path in the Multisig Savings template but only from the primary path. It could bring to weird behaviors and corner cases.
ACKs for top commit:
jp1ac4:
Tested ACK 59c73001a4c9eaa835f2a9345d995f263653ab48.
Tree-SHA512: 0fa72bfeac7a32fc188f041c395f46ce2e3de72d7f750343641bff68b92d885d3510f3cd4600cc09856a5192a493fe7b3afca70a7ca78c0aeeb9ee0f3411fda5
The primary keys shouldn't be editable from the recovery path in the
Multisig Savings template but only from the primary path. It could bring
to weird behaviors and corner cases.
1bc6248063c908219d4f1e343ca487c4f64d7843 gui: upgrade managed bitcoind version to 28.0 (Michael Mallan)
Pull request description:
This is to resolve#1372.
Hashes were taken from https://bitcoincore.org/bin/bitcoin-core-28.0/SHA256SUMS.
File names we use can be found here:
2d5991cb0c/gui/src/node/bitcoind.rs (L42-L60)
ACKs for top commit:
edouardparis:
utACK 1bc6248063c908219d4f1e343ca487c4f64d7843
Tree-SHA512: c6c5976c357164dc2f6e31f5af7981c41ef63197bfb1aac1f54ddb30dff423796fe23957e5a2c6014fcdabb64b91057a97b22d3c9e7ea33bcfa5ce47c912846a
0a674d591affd6190d5b4979718fb09d3d8f79f3 gui: load app directly if wallet was previously synced (Michael Mallan)
1408f66963cf6ae5f2fe2ac29d2cd91f747477bc gui(home): indicate if blockchain is syncing (Michael Mallan)
62788d105c2fcdb1e6c400ca6f5f19138378ae0b gui(cache): include sync progress (Michael Mallan)
f3a136c30be0e443cebae85785f70999dfaf8485 gui(home): refactor sync status logic (Michael Mallan)
Pull request description:
This is to resolve#1384 by skipping the loading screen for an existing wallet even if the blockchain is still syncing.
This change will only make a difference for local backends given that ~~the blockchain for a Liana Connect wallet is always considered to be synced and so the loading screen was already loading the application directly~~ Liana Connect doesn't use the loading screen.
It builds on #1377, to additionally check the blockchain sync progress, and show a message with the sync progress as a percentage in case the blockchain is not fully synced. ~~using the logic added there to indicate on the home page that syncing is in progress if the poller has not yet run. Polling does not start until the blockchain has fully synced and so the same logic can be applied here.~~
~~For now, no distinction is made on the home page between the wallet syncing and the blockchain syncing, but this may change in future.~~
ACKs for top commit:
edouardparis:
ACK 0a674d591affd6190d5b4979718fb09d3d8f79f3
Tree-SHA512: 802e31b7f4be7ed9687e32a5921f19e4560f5f4b4f975fff452be2907954fc9c4c577add713bc999f6d8efa4c6502825361553c9cd5bcdb3be0d5f800f0aa213
ec7556ee12f13c87229974769667bb892695889c gui(home): indicate existing wallet is syncing (Michael Mallan)
f7314aa26ebb75fdbc016e7519eed52a827782a6 gui(cache): include last poll timestamp (Michael Mallan)
9dd737b98c74ff9e815b06ed20c35840f4eddb66 gui: upgrade liana dependency (Michael Mallan)
Pull request description:
This PR uses the changes from #1376 to complete #1373.
It builds on the changes from #1370 to consider an existing wallet (that uses a local backend) to be syncing until the first poll completes after opening the GUI, where "existing wallet" means one that has positive height (since a newly created wallet has height 0).
Note that for an external Liana daemon, this logic is only applied in case the last poll timestamp has already been set when starting the GUI. Otherwise, we can't be sure if this external daemon will ever set this value.
ACKs for top commit:
edouardparis:
ACK ec7556ee12f13c87229974769667bb892695889c
Tree-SHA512: a6db8e510a7d24ca554965512e289eb271dab41871bde9362a7af71b73c771431025b1be1092bab98b106fb520d8c6959d712909d1db9a21731f3a79c9f766a1
If opening an existing wallet that uses a local backend, indicate
that it is checking for new transactions until the first poll
completes.
A remote backend is always synced after the initial scan.
dee9554c518793b57b71965d835905300ef86fbc database: add `wallet()` method and use in `getinfo` command (Michael Mallan)
4694eaaef9f6650047ab5a527c8c7852a01ab7fe poller: don't poll now if blockchain syncing (Michael Mallan)
0f9f1f352c9bef22d7b21508d47daa77573b446c commands: return last poll timestamp from `getinfo` (Michael Mallan)
c6add0aeb1a0d16301a96745b560b94b31476d13 qa: add method to get lianad poll interval (Michael Mallan)
61e39f7d8623c288639122e295c26a0961687cb9 poller: store last poll timestamp (Michael Mallan)
e9fdcde995a57695769637228e503779c84a1aed database: get and set last poll timestamp (Michael Mallan)
a2b79f1b07bca86e955603ecb2f2489686ae901d sqlite: get and set last poll timestamp (Michael Mallan)
Pull request description:
This is a first step towards #1373.
The timestamp of the last completed poll of the blockchain will be stored in the database, and this value will be made available via the `getinfo` command.
ACKs for top commit:
edouardparis:
ACK dee9554c518793b57b71965d835905300ef86fbc
Tree-SHA512: 32706d516e9915d7320583b37990a5d907bb254905efbb0318c5eae4b27753800933d1b9e68bf43a0190c27d8a5d349f633c0e6e70ba21815ed6eed1648f0625
This allows us to get several values relating to the wallet
in one call.
The field names of the `Wallet` struct have been chosen to
match the corresponding DB interface methods.
Some sqlite methods will call `wallet()` instead of `db_wallet()`
to ensure consistency in output.
If a user broadcasts a spend while the blockchain is syncing
(e.g. via liana-cli), we tell the poller to run now. However, if
the blockchain is still syncing, the blockchain height is likely
to increase before the poll completes and so the poller is likely
to restart multiple times.
Even if the poller doesn't restart multiple times, this change
makes the poller behaviour consistent with regard to a syncing
blockchain.