1105 Commits

Author SHA1 Message Date
Kevin Loaec
e1451fc2af
Update TRY.md
work in progress
2023-09-12 13:10:43 +00:00
Antoine Poinsot
38d0fafac2
Merge #698: Derive the Arch PKGBUILD from the Debian package.
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
2023-09-07 16:52:54 +02:00
Antoine Poinsot
34afbe415b
contrib: update the Arch PKGBUILD to use the Debian package
To give it access to the icon and desktop entry.
2023-09-07 16:42:39 +02:00
Antoine Poinsot
1e2b1ca0d4
Merge #697: contrib: update Arch PKGBUILD to v2.0
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
2023-09-07 15:13:54 +02:00
Antoine Poinsot
2890fe7e9a
README: update binaries' version to 2.0 2023-09-07 14:44:12 +02:00
Antoine Poinsot
702cca5f0f
contrib: update Arch PKGBUILD to v2.0 2023-09-07 14:42:44 +02:00
edouard
338195a186
Merge #689: gui: use patch for iced_futures
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
2023-09-07 10:51:05 +02:00
edouard
cea73728bc
Merge #691: Allow rescan for external daemon and internal bitcoind
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
2023-09-07 10:39:25 +02:00
edouard
7c02557bc8 Allow rescan for external daemon and internal bitcoind 2023-09-07 10:00:46 +02:00
edouard
0d44782701
Merge #688: async-hwi 0.0.11
9ac00d6996442cfe7b35efa80002e1794c549623 async-hwi 0.0.11 (edouard)

Pull request description:

ACKs for top commit:
  edouardparis:
    Self-ACK 9ac00d6996442cfe7b35efa80002e1794c549623

Tree-SHA512: 6e3850ed7ec182bc7beddae01f8357bff92676f24fd70018098f8cb25da09d551a877f0f5cf9da86255d62cf46416ff549bc5952fc692a30af47731ce136740d
2023-09-06 15:34:09 +02:00
edouard
eebf0c2035 contrib: adapt GUIX build for iced_futures patch 2023-09-06 15:31:47 +02:00
edouard
df849ba960 gui: use patch for iced_futures
close #684
2023-09-06 12:35:18 +02:00
edouard
9ac00d6996 async-hwi 0.0.11 2023-09-06 12:27:25 +02:00
Antoine Poinsot
4040f7e91b
Merge #682: GUI: installer: don't generate multiple times the same xpub in "participate"
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
2023-09-01 13:47:50 +02:00
Antoine Poinsot
9d2309ea5e
CHANGELOG: warn about v2 descriptors being possibly incompatible with v1 2023-09-01 12:55:15 +02:00
Antoine Poinsot
3a4192bfc5
[bugfix] gui: installer: don't let them generate more than one xpub
We would always generate the same one.
2023-09-01 12:51:35 +02:00
Antoine Poinsot
ea81f97fc1
Merge #674: Couple release and distribution fixes
f1dc1fd4bc20843c01192999912ab5ef0dd32c85 contrib: fix the Liana.desktop in the Debian package (Antoine Poinsot)
271467b0e03f9e5fdeb7de8e555024644892defc contrib: release script fix (Antoine Poinsot)

Pull request description:

ACKs for top commit:
  darosior:
    ACK f1dc1fd4bc20843c01192999912ab5ef0dd32c85 -- tested the Debian package locally

Tree-SHA512: d8612a680c1c71f303f3d02f0e6ac2f8a9d4a5c74c0d530cac426aa4b386cbfa1b49d7098cbf67a537431cb3f17870040f05b36196e2d7e520a0f66e12e0c4b1
2023-09-01 11:13:50 +02:00
Antoine Poinsot
f1dc1fd4bc
contrib: fix the Liana.desktop in the Debian package 2023-09-01 10:33:11 +02:00
Antoine Poinsot
271467b0e0
contrib: release script fix 2023-09-01 10:26:41 +02:00
Antoine Poinsot
dbfdd0dca1
Merge #669: gui: ensure we can retry starting in case of error
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
2023-08-31 17:13:00 +02:00
jp1ac4
6d9b754800
gui: ensure we can retry starting in case of error 2023-08-31 16:04:18 +01:00
Antoine Poinsot
1c1ba5c809
Merge #668: contrib: get rid of legacy vendored source information for guix
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
2023-08-31 16:53:44 +02:00
Antoine Poinsot
7cb79312f5
contrib: get rid of deprecated vendored source information for guix 2023-08-31 16:52:21 +02:00
Antoine Poinsot
d22f622c98
Merge #665: contrib: bump release script version to 2.0
4dcd9aad0c626295f8c2baef553005e4e431e1fb contrib: bump release script version to 2.0 (Antoine Poinsot)

Pull request description:

ACKs for top commit:
  darosior:
    self-ACK 4dcd9aad0c626295f8c2baef553005e4e431e1fb -- trivial

Tree-SHA512: ee8d5325b91fea845e5f4c84096c4761d902252d83349ecaa09850391fc32001e4584bae27167fd32a679ee52cd1879560382d555fe6b179d47de3a89fc3bf36
2023-08-31 16:46:08 +02:00
Antoine Poinsot
4dcd9aad0c
contrib: bump release script version to 2.0 2023-08-31 16:43:33 +02:00
Antoine Poinsot
ab61a006aa
Merge #642: Prepare v2 release
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
2023-08-31 16:30:05 +02:00
Antoine Poinsot
24a04af51f
Merge #662: loader: try to stop bitcoind if connected
0a432d081dbdfce72e11751e080a941e24dd04ff limit retry to loader stop (edouard)
68a2278f2afdcd54ce866ed6179bda528550cf7a fix loader: add waiting_for_bitcoind_daemon (edouard)
320a6d700c19b644d58d30381f92e76f7b3257a0 loader: try to stop bitcoind if connected (edouard)

Pull request description:

ACKs for top commit:
  darosior:
    ACK 0a432d081dbdfce72e11751e080a941e24dd04ff

Tree-SHA512: 11afb43260352df33c29d79adbef36fbe3925a2016b27cb8a9bcf5c50b78094afbf514ac437776f880b85380b7f5c7d778949e956e9eb758ff4afc22a579c700
2023-08-31 16:22:54 +02:00
Antoine Poinsot
739bff92b8
Merge #659: gui: installer: more robust poll for cookie file at bitcoind startup
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
2023-08-31 16:22:41 +02:00
edouard
0a432d081d limit retry to loader stop 2023-08-31 15:20:49 +02:00
edouard
68a2278f2a fix loader: add waiting_for_bitcoind_daemon 2023-08-31 15:12:43 +02:00
edouard
320a6d700c loader: try to stop bitcoind if connected 2023-08-31 15:03:23 +02:00
edouard
29b20972c5
Merge #660: fix loader: do not start bitcoind if one is running
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
2023-08-31 14:16:13 +02:00
edouard
9b154c7968 fix loader: do not start bitcoind if one is running 2023-08-31 14:05:07 +02:00
Antoine Poinsot
edb2c513a3
Bump lianad version to 2.0 2023-08-31 13:11:37 +02:00
Antoine Poinsot
e9a15fd1aa
CHANGELOG: update for v2 2023-08-31 13:11:36 +02:00
Antoine Poinsot
76bb74371f
gui: installer: more robust poll for cookie file at bitcoind startup
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.
2023-08-31 13:08:51 +02:00
Antoine Poinsot
927b031301
Merge #658: Change gui config and gui internal bitcoind directory architecture
bc87839e52fd64102ea24621e27cfcd26a32efd0 Gui config: start_internal_bitcoind (edouard)
d700f8a3cf6cf0f6b825e379d6ce10dd79f0ecf7 Add parent directory to bitcoind exe and datadir (edouard)

Pull request description:

  1. added the bitcoind parent directory
  ```
  .liana/bitcoind
  ├── bitcoin-25.0
  │   └── bin
  └── datadir
      ├── anchors.dat
      ├── banlist.json
      ├── bitcoin.conf
      ├── blocks
      ├── chainstate
      ├── debug.log
      ├── fee_estimates.dat
      ├── mempool.dat
      ├── peers.dat
      └── settings.json
  ```

  2. change gui config to have `start_internal_bitcoind` : `bool`

ACKs for top commit:
  jp1ac4:
    ACK bc87839e52

Tree-SHA512: 76a798cad170112a07d19336f1aafce16052b1711b193c5783a83c0c8e0894af0e0578a75481483a07bf659e174329f395b9d9243d0ec81684357d92ea90d3a0
2023-08-31 13:07:55 +02:00
edouard
bc87839e52 Gui config: start_internal_bitcoind
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
2023-08-31 12:23:29 +02:00
edouard
d700f8a3cf Add parent directory to bitcoind exe and datadir
.liana/bitcoind
├── bitcoin-25.0
│   └── bin
└── datadir
    ├── anchors.dat
    ├── banlist.json
    ├── bitcoin.conf
    ├── blocks
    ├── chainstate
    ├── debug.log
    ├── fee_estimates.dat
    ├── mempool.dat
    ├── peers.dat
    └── settings.json
2023-08-31 11:56:22 +02:00
Antoine Poinsot
d5d2a7626f
Merge #648: tests: fix a small race in the rescan_and_recover test
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
2023-08-31 11:19:20 +02:00
Antoine Poinsot
1bdc6e9fb4
Merge #657: cleanup bitcoind process management
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
2023-08-31 11:06:40 +02:00
edouard
6d8c9e437f gui: forbid edit bitcoind client config if internal 2023-08-31 09:45:47 +02:00
edouard
bfe73fad18 Add bitcoind logs to loader 2023-08-31 09:09:54 +02:00
edouard
4c4efebe5b gui: encapsulate bitcoind process management
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.
2023-08-31 08:29:50 +02:00
edouard
d4cf9e3466 fix: move structs next to their methods 2023-08-30 18:52:34 +02:00
edouard
c756969e72 cleanup bitcoind module dep to app config 2023-08-30 18:52:34 +02:00
edouard
3704995906
Merge #630: installer: Download and install bitcoind from GUI installer
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
2023-08-30 18:42:29 +02:00
Antoine Poinsot
ddb530374e
Merge #656: lib: implement a superior workaround for the watchonly wallet on Windows
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
2023-08-30 18:36:43 +02:00
Antoine Poinsot
5680ad27ec
lib: on Windows, migrate the watchonly wallet from bitcoind datadir
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.
2023-08-30 17:51:53 +02:00
jp1ac4
bf67f94f56
installer: download and install bitcoind 2023-08-30 16:01:43 +01:00