34afbe415bf475c75427b74fcfbe1feb9e219b7c contrib: update the Arch PKGBUILD to use the Debian package (Antoine Poinsot)
Pull request description:
Fixes#675.
ACKs for top commit:
darosior:
ACK 34afbe415bf475c75427b74fcfbe1feb9e219b7c -- tested by Kevin.
Tree-SHA512: 876c14d17dda19f03b0ff00809ec7aad31954dc805912a0cb5579391da0dce38754bf2461d347cfa9dd783acfe32e6769d0e7b97493f851b7e2b0a88093853d2
2890fe7e9afa05212b00994a5fb623bf8c405843 README: update binaries' version to 2.0 (Antoine Poinsot)
702cca5f0f2953d258f198357146a58a3abb18d7 contrib: update Arch PKGBUILD to v2.0 (Antoine Poinsot)
Pull request description:
ACKs for top commit:
darosior:
ACK 2890fe7e9afa05212b00994a5fb623bf8c405843 -- Kevin tested it locally.
Tree-SHA512: 96144e4957920bbe5f92d7177362aceee77db94091b5e55dff5489e072ee70120d09551f4ca613cddef5a196ce3ed8aae6a6389a3c5295b067bd3086b593be23
eebf0c20350554f422a028076a460b19f88a7c34 contrib: adapt GUIX build for iced_futures patch (edouard)
df849ba960ace67615a452970ffd2f323a53974e gui: use patch for iced_futures (edouard)
Pull request description:
from #685
ACKs for top commit:
darosior:
ACK eebf0c20350554f422a028076a460b19f88a7c34 -- that's a clean backport of #685 (which i ack'd) and of #687 (which i authored).
Tree-SHA512: e80777417dad0301ce6b9762b2fac02a684e3ce312ad77509e5f2457bfdd11f93d46108fe7bed451eeacf7cc0f3703a8cfa8e18e2dda8f193e704a44c42d019a
7c02557bc86bbac0f0511ea9a793105a5d7ddbb5 Allow rescan for external daemon and internal bitcoind (edouard)
Pull request description:
ACKs for top commit:
darosior:
ACK 7c02557bc86bbac0f0511ea9a793105a5d7ddbb5 -- tested locally, i can now rescan on my mainnet wallet with an internal bitcoind.
Tree-SHA512: 2c3df72a0e3764c41ee8bcfe99b2c61fb14e98da0326e7245640fb3b1fd70cfc42568e3ca76434975198c4871aca76c5cfc96195c408cfe0041eae199dfafa69
9d2309ea5e7ee91eb0c06777153df59249d88926 CHANGELOG: warn about v2 descriptors being possibly incompatible with v1 (Antoine Poinsot)
3a4192bfc5b36b85315e6665604e9dc2d19e0624 [bugfix] gui: installer: don't let them generate more than one xpub (Antoine Poinsot)
Pull request description:
This is a quick and dirty fix to be backported. Doing something like #291 could make sense in the future.
ACKs for top commit:
edouardparis:
utACK 9d2309ea5e7ee91eb0c06777153df59249d88926
Tree-SHA512: e6e4f93a30088a53bf690ccd5b90eadb690fa575e034440b99501dbf6dd59034fa7615b04238a5940da58f618f3ecc4f67ede95906139ea562de66ae1e3bda13
6d9b754800ed336819e893b8864d75dd936b880b gui: ensure we can retry starting in case of error (jp1ac4)
Pull request description:
This will ensure we can retry starting internal `bitcoind` in case of transient errors.
ACKs for top commit:
edouardparis:
utACK 6d9b754800ed336819e893b8864d75dd936b880b
Tree-SHA512: b7abace801d1690bd084c7aa5b4bf6dcf2fc495c480538f1cae0f348a5179958010413f758fd00930036ee13030d848cf631196225f99d624e61c4b5a922ea92
7cb79312f5c63d9c9290ba683ee8db1307b4c0ca contrib: get rid of deprecated vendored source information for guix (Antoine Poinsot)
Pull request description:
ACKs for top commit:
darosior:
self-ACK 7cb79312f5c63d9c9290ba683ee8db1307b4c0ca -- trivial
Tree-SHA512: 10ed51ab520ac9b1db8d88d6a53a6bff7ae9951e779954dc4264261e72f9c2c3d773636e35a3890920d54adb8b4bf665ff61598db4a30e5b8cbcab9665edc8dc
edb2c513a3fbd6a002ba94425430be8ab34258fd Bump lianad version to 2.0 (Antoine Poinsot)
e9a15fd1aacc0a3c367be6b0031dffc8ef9a9b70 CHANGELOG: update for v2 (Antoine Poinsot)
Pull request description:
This is assuming #630 is merged, but not the fix for #323 (can be added to the CHANGELOG if it does).
ACKs for top commit:
darosior:
self-ACK edb2c513a3fbd6a002ba94425430be8ab34258fd -- simply docs and a version bump
Tree-SHA512: f08270dc76d2ed3d33e57cef503902d256e5d1bd4d3c933b380f6b567e68feb0998e56ba39855511b33f3a3c2a7d654bc24193033705495311b5a7497f191c3d
76bb74371f7d33603ac0864b9ecea014a3cc0cda gui: installer: more robust poll for cookie file at bitcoind startup (Antoine Poinsot)
Pull request description:
We would formerly wait a definite number of seconds for the cookie file to appear. But this approach presents a fundamental issue: how long is enough before we can be reasonably sure bitcoind will never start?
For instance on mainnet the checks performed at startup could take more than the 3 seconds we would previously wait for. If it does we would have incorrectly errored and let bitcoind run in the background.
Instead, assume bitcoind would exit if it errors. Until it does so, continue polling for the cookie file. This approach also presents drawbacks (for instance what if bitcoind is performing a very long operation before creating the cookie file?), but the former approach wouldn't be an acceptable solution in this case either. And the new one is preferable as its failure scenario seems much less probable.
ACKs for top commit:
edouardparis:
ACK 76bb74371f7d33603ac0864b9ecea014a3cc0cda
Tree-SHA512: a0d4af1cadbea99c4c9f5ca6b7e642a79e97c7a35e829704144be5edb84c9c398872b7fbaab3af73600589194512747ac8da9cb7787a362bde3c6ef797f4ec29
9b154c79681a0714951092069e68dd32f527a789 fix loader: do not start bitcoind if one is running (edouard)
Pull request description:
ACKs for top commit:
edouardparis:
Self-ACK 9b154c79681a0714951092069e68dd32f527a789
Tree-SHA512: 13831a16d872f4fe3a83bad7bf1f0ab92e8fb32cae74b067eadd7608adf36f491e8e13572bf323927d6c537c57e77069f0fd2c9385b141d9b1cf00f5e02a538c
We would formerly wait a definite number of seconds for the cookie file
to appear. But this approach presents a fundamental issue: how long is
enough before we can be reasonably sure bitcoind will never start?
For instance on mainnet the checks performed at startup could take more
than the 3 seconds we would previously wait for. If it does we would
have incorrectly errored and let bitcoind run in the background.
Instead, assume bitcoind would exit if it errors. Until it does so,
continue polling for the cookie file. This approach also presents
drawbacks (for instance what if bitcoind is performing a very long
operation before creating the cookie file?), but the former approach
wouldn't be an acceptable solution in this case either. And the new one
is preferable as its failure scenario seems much less probable.
Installer will install bitcoind in a directory
that will have always the same relative path to
the liana datadir.
GUI needs then only a flag "start_internal_bitcoind" set to true
to check the conventional path of the downloaded bitcoind exe
and start the internal bitcoind
9685920102b6f8340aeec5493b07e55ae9628398 tests: fix a small race in the rescan_and_recover test (Antoine Poinsot)
Pull request description:
ACKs for top commit:
darosior:
self-ACK 9685920102b6f8340aeec5493b07e55ae9628398 -- trivial, tested locally by running many instances of the test in parallel
Tree-SHA512: b384eeac6eba7416a9316b271c4ace26d933f9bfb85a6f4cc59133937cafda0baa9086926fad8ba8c262a1edaf3479b1a6db190da339fd8ff78820aa46b90656
6d8c9e437f6cc36d479f4be33779834b2180507d gui: forbid edit bitcoind client config if internal (edouard)
bfe73fad18ef3980af5821b6c899e6f3b7ac1918 Add bitcoind logs to loader (edouard)
4c4efebe5bc6560a82bfc4f348ed2663e726a66d gui: encapsulate bitcoind process management (edouard)
d4cf9e3466c40ae74a8099eb4b7b59474ccf2936 fix: move structs next to their methods (edouard)
c756969e7293585471cef64ae4bbe8f203c4866c cleanup bitcoind module dep to app config (edouard)
Pull request description:
- Small rearrangements of the bitcoind module.
- Add a wrapper around the bitcoind child process and share it to the states:
Installer -> loader -> app
- It makes it more easy to share the information if the gui started a bitcoind process, no need anymore to check multiple configuration files, just answer the question: do we have a child process started ?
ACKs for top commit:
darosior:
ACK 6d8c9e437f6cc36d479f4be33779834b2180507d
Tree-SHA512: dd3612d40d15ebde094150abc1cfbf4a54dd1f517fbdeed51934280b0b36e4a4871d3bfe9f5b98617746b042352a570b4be237c3a2b71f74bb636ece4a027208
To know and manage the fact that gui or installer
started a bitcoind sub process, the process child
is wrapped and passed by the different state of the app.
bf67f94f56d6ae28973c27f0a8999ecd1eab7398 installer: download and install bitcoind (jp1ac4)
d507d5760ac051cf264c95b4fdef9ced27dde9cd gui: add subscription to Step trait (jp1ac4)
ae23fbc81ddc903183ce971afa5597f95e26b82a gui: add download module (jp1ac4)
b3bc9435ceccf40cca0f8be1c107e9bbf9d3bb9e gui: add dependencies to download and install bitcoind (jp1ac4)
Pull request description:
This is a follow-up PR to #592 as part of #570 to download and install bitcoind.
I'm creating this draft PR now to facilitate discussion. Once #592 has been merged, I'll rebase on master.
ACKs for top commit:
darosior:
ACK bf67f94f56d6ae28973c27f0a8999ecd1eab7398 -- modulo a few changes we'll address in follow-ups. I've not reviewed the code but significantly tested it on both Windows and Linux.
edouardparis:
ACK bf67f94f56d6ae28973c27f0a8999ecd1eab7398
Tree-SHA512: bda4b8bfbb3a59917d9ea60c074c2b0021229213240bebc4bd176f9909c62ab323d0a8d4becffbac192f29fad92adb81b2da0bc9b37c8eea1654c26ec6699077
5680ad27ecce8409d582ebf834bdecb3650b9233 lib: on Windows, migrate the watchonly wallet from bitcoind datadir (Antoine Poinsot)
c9d86f1c75be693e796591be9f1f468687728600 lib: implement a superior workaround for the watchonly wallet on Windows (Antoine Poinsot)
Pull request description:
See the added comment for the details. No need to store the watchonly wallet under bitcoind's datadir anymore. 🎉🎉
I've noticed this while working on fixing #630 on Windows which failed for the same root reason as why the watchonly wallet path didn't work on Windows.
Fixes#653.
ACKs for top commit:
darosior:
ACK 5680ad27ecce8409d582ebf834bdecb3650b9233 -- tested it on Windows
edouardparis:
utACK 5680ad27ecce8409d582ebf834bdecb3650b9233
Tree-SHA512: 52158340097e286d882e6503d8bc1fbd4653729c08055cd2609a120aabc409ed38cbd40c7cb0c3a6cb9c67f163f8084fd886daa979e56ccf6223eb51773500ef
We used to store it there, if it's not within our own datadir copy it
from where it would have been stored by Liana v1.
Note we don't conditionally compile this on Windows so the codepath can
be tested with a functional test.