Commit graph

35467 commits

Author SHA1 Message Date
MacroFake
dce93b2dd7
Merge bitcoin/bitcoin#26475: [24.x] Bump version to 24.0rc4
da1e753eeb doc: Generate manual pages for 24.0rc4 (fanquake)
1e4db14df9 build: Bump version to 24.0rc4 (fanquake)

Pull request description:

  Bump version.
  Regen manpages.
  Hopefully the final rc given no further bugs / major issues.

ACKs for top commit:
  dergoegge:
    ACK da1e753eeb
  hebasto:
    ACK da1e753eeb

Tree-SHA512: aa1e6c44f0d0acdc7348587fc085540e6ea87e09fe9ec5f5856a572f9bbb9ec89c1e16a8c767e26168b32802735108021dd08da3a21d7238296fd7e9c3377d30
2022-11-09 15:32:43 +01:00
MacroFake
4cc994e9d6
Merge bitcoin/bitcoin#26476: qt: 24.0rc4 translations update
7948fdd060 qt: 24.0rc4 translations update (Hennadii Stepanov)

Pull request description:

  This PR pulls the recent translations from the [Transifex.com](https://www.transifex.com/bitcoin/bitcoin) using the [`bitcoin-maintainer-tools/update-translations.py`](https://github.com/bitcoin-core/bitcoin-maintainer-tools/blob/main/update-translations.py) tool.

  According to our [Release Process docs](https://github.com/bitcoin/bitcoin/blob/master/doc/release-process.md#before-every-release-candidate), it is supposed to be merged (just) before `v24.0rc4` tagging.

  Will keep this PR updated regularly until merging.

Top commit has no ACKs.

Tree-SHA512: 600e07bbd48116726899b60086acf1e507722bf7458c78f812e13110e58f67cefc6dd8833fcfeb649b40285b706ab89c2ee88a7ac9f6aeb4fc935e47c33f6bdc
2022-11-09 15:31:30 +01:00
Hennadii Stepanov
7948fdd060
qt: 24.0rc4 translations update 2022-11-09 11:22:59 +00:00
fanquake
da1e753eeb
doc: Generate manual pages for 24.0rc4 2022-11-09 10:33:44 +00:00
fanquake
1e4db14df9
build: Bump version to 24.0rc4 2022-11-09 10:30:40 +00:00
fanquake
2a5d9818ed
Merge bitcoin/bitcoin#26452: [24.x] rc4 backports
42c74a0a4c rpc: doc: add missing option "bech32m" for `change_type` parameters (Sebastian Falbesoner)
6e4d87e696 tests: Test Taproot PSBT signing with keys in other descriptor (Andrew Chow)
0a5ea2aa84 tests: Use new wallets for each test in wallet_taproot.py (Andrew Chow)
2159676b6e psbt: Include output pubkey in additional pubkeys to sign (Andrew Chow)
754eefd21c sign: Fill in taproot pubkey info for all script path sigs (Andrew Chow)
bb1fabda30 doc: mention BIP86 in doc/bips.md (Sebastian Falbesoner)

Pull request description:

  Currently backports:
  * https://github.com/bitcoin/bitcoin/pull/26418
  * https://github.com/bitcoin/bitcoin/pull/26443
  * https://github.com/bitcoin/bitcoin/pull/26449

ACKs for top commit:
  dergoegge:
    ACK 42c74a0a4c

Tree-SHA512: e40f57b28cc4c06fc9dedebad6c9ab647fa0b98af1aef2d36874c6a05d39164c99fd763a2eb9ca162b7e276aa2e7d0f5934465ab4d7c1f5ba4a3162087e7089f
2022-11-09 10:28:17 +00:00
Sebastian Falbesoner
42c74a0a4c
rpc: doc: add missing option "bech32m" for change_type parameters
Affects the help of the `fundrawtransaction`, `send` and
`walletcratefundedpsbt` RPCs.

Github-Pull: #26449
Rebased-From: c3b1fe59db
2022-11-07 10:32:10 +00:00
Andrew Chow
6e4d87e696
tests: Test Taproot PSBT signing with keys in other descriptor
Test that the same keys included in other descriptors will still be able
to sign a PSBT that requires those keys.

Github-Pull: #26418
Rebased-From: 0de30ed509
2022-11-04 15:56:51 +00:00
Andrew Chow
0a5ea2aa84
tests: Use new wallets for each test in wallet_taproot.py
To avoid a wallet potentially being able to sign a transaction using
keys from descriptors imported in previous tests, make new wallets for
each test case rather than sharing them.

Github-Pull: #26418
Rebased-From: 6efcdf6b7f
2022-11-04 15:56:18 +00:00
Andrew Chow
2159676b6e
psbt: Include output pubkey in additional pubkeys to sign
In addition to the pubkeys in hd_keypaths and tap_bip32_keypaths, also
see if the descriptor can produce a SigningProvider for the output
pubkey.

Also slightly refactors this area to reduce code duplication.

Github-Pull: #26418
Rebased-From: 8781a1b6bb
2022-11-04 15:55:48 +00:00
Andrew Chow
754eefd21c
sign: Fill in taproot pubkey info for all script path sigs
Taproot pubkey info was not being added for multi_a signing. The filling
of this info is moved into the common function CreateTaprootScriptSig so
that any signing of taproot scripts will include the pubkey info.

Github-Pull: #26418
Rebased-From: 323890d0d7
2022-11-04 15:55:16 +00:00
Sebastian Falbesoner
bb1fabda30
doc: mention BIP86 in doc/bips.md
Github-Pull: #26443
Rebased-From: 303fb8ff45
2022-11-04 15:50:15 +00:00
MacroFake
ca5f8f0de2
Merge bitcoin/bitcoin#26436: [24.x] CI backports
7f2dc610a5 ci: Use same `merge_script` implementation for Windows as for all (Hennadii Stepanov)
14784aa02c ci: Move `git config` commands into script where they are used (Hennadii Stepanov)
b1268254ba ci: Use remote pull/merge ref instead of local git merge (MacroFake)

Pull request description:

  This PR backports:
  - https://github.com/bitcoin/bitcoin/pull/26202
  - https://github.com/bitcoin/bitcoin/pull/26236

  to avoid CI failures like that:
  - https://cirrus-ci.com/task/5653459278495744
  - https://cirrus-ci.com/task/6075671743561728

ACKs for top commit:
  fanquake:
    ACK 7f2dc610a5 - backports look correct.

Tree-SHA512: 46b45df8137efd42491dd3ac110c00e6e1bf4ab18a6bbbf68307fe976f391055b1987a22c101060ef5ae8ff1a2b738e197ad579754d1068d78f5eddcd45c7f69
2022-11-01 18:22:53 +01:00
fanquake
067dc42b79
Merge bitcoin/bitcoin#26434: [24.x] [gui] Bugfix: Check for readlink buffer overflow and handle gracefully
e049fd76f0 Bugfix: Check for readlink buffer overflow and handle gracefully (Luke Dashjr)

Pull request description:

  Identical commit taken as-is from https://github.com/bitcoin/bitcoin/pull/25548 for backport

ACKs for top commit:
  hebasto:
    ACK e049fd76f0

Tree-SHA512: 37e63d570de898187c1bc8dd311c299c527adea51faa08aa6a3923bdb9390e3263902ace3d52a1cfc34ac2ba84e9358961574f886be1f64b5749a62e3c50ad57
2022-11-01 13:31:40 +00:00
Hennadii Stepanov
7f2dc610a5
ci: Use same merge_script implementation for Windows as for all
Github-Pull: bitcoin/bitcoin#26236
Rebased-From: 37cf472063
2022-11-01 12:52:05 +00:00
Hennadii Stepanov
14784aa02c
ci: Move git config commands into script where they are used
Github-Pull: bitcoin/bitcoin#26236
Rebased-From: ac1d99240a
2022-11-01 12:52:04 +00:00
MacroFake
b1268254ba
ci: Use remote pull/merge ref instead of local git merge
The merge strategy on the remote may be different than the local one.
This may cause local merges to be different or fail completely. Fix this
by using the result of the remote merge.

Github-Pull: bitcoin/bitcoin#26202
Rebased-From: fad7281d78
2022-11-01 12:52:04 +00:00
MacroFake
c540f07ec3
Merge bitcoin/bitcoin#26428: [24.x] Bump version to 24.0rc3
1727b3bc54 doc: Generate manual pages for 24.0rc3 (fanquake)
3905706b70 build: Bump version to 24.0rc3 (fanquake)

Pull request description:

  It's been a number of weeks since rc2.
  Bump version.
  Regen manpages.

ACKs for top commit:
  instagibbs:
    ACK 1727b3bc54

Tree-SHA512: 52ee45cfa4e2fc193e2747472d267a8c473ad8ed33abc6fbb0e2834bcf84adde050d51789f8bb150d62dfef70a59d52fe3b93e02d31675c054f6435323036df4
2022-10-31 16:38:36 +01:00
fanquake
1727b3bc54
doc: Generate manual pages for 24.0rc3 2022-10-31 15:14:53 +00:00
fanquake
3905706b70
build: Bump version to 24.0rc3 2022-10-31 15:09:49 +00:00
fanquake
2e8880abc0
Merge bitcoin/bitcoin#26410: [24.x] rc3 backports
d5701900fc rpc: make `address` field optional (w0xlt)
e4b8c9b2bf rpc: add non-regression test about deriveaddresses crash when index is 2147483647 (muxator)
bf2bf73bcb rpc: fix crash in deriveaddresses when derivation index is 2147483647 (muxator)
b04f5f9608 test: Test for out of bounds vout in sendall (Andrew Chow)
dedee6af57 wallet: Check utxo prevout index out of bounds in sendall (Andrew Chow)
931db785ee test: Test that sendall works with watchonly spending specific utxos (Andrew Chow)
bbe864a13a wallet: Correctly check ismine for sendall (Andrew Chow)
4b7d30d026 Adjust `.tx/config` for new Transifex CLI (Hennadii Stepanov)

Pull request description:

  Backports:
  * https://github.com/bitcoin/bitcoin/pull/26321
  * https://github.com/bitcoin/bitcoin/pull/26344
  * https://github.com/bitcoin/bitcoin/pull/26275
  * https://github.com/bitcoin/bitcoin/pull/26349

ACKs for top commit:
  instagibbs:
    ACK d5701900fc
  hebasto:
    ACK d5701900fc, I've cherry-picked commits manually and got zero diff with this PR branch.

Tree-SHA512: dad64f4074b4f06d666c0f2d804eda92df241bcce0a49c28486311a151f2e9d46b75e1bce02de570dcc85957c9ce936debb2a4faa045800c9757c6c495115d7c
2022-10-31 15:04:41 +00:00
fanquake
a8f014b342
Merge bitcoin/bitcoin#26379: qt: 24.0rc3 translations update
33a61018b2 qt: 24.0rc3 translations update (Hennadii Stepanov)

Pull request description:

  This PR pulls the recent translations from the [Transifex.com](https://www.transifex.com/bitcoin/bitcoin) using the [`bitcoin-maintainer-tools/update-translations.py`](https://github.com/bitcoin-core/bitcoin-maintainer-tools/blob/main/update-translations.py) tool.

  According to our [Release Process docs](https://github.com/bitcoin/bitcoin/blob/master/doc/release-process.md#before-every-release-candidate), it is supposed to be merged (just) before `v24.0rc3` tagging.

  Will keep this PR updated regularly until merging.

Top commit has no ACKs.

Tree-SHA512: ab8c44961356333cb60e102f54852b9721fb0d4a9dbe719c049007f522218391e29898c698b7e142512f98d21ef4c6b500b00c6ce107600690421ab2ade1cc70
2022-10-31 14:59:00 +00:00
Hennadii Stepanov
33a61018b2
qt: 24.0rc3 translations update 2022-10-30 19:28:56 +00:00
w0xlt
d5701900fc
rpc: make address field optional
Github-Pull: #26349
Rebased-From: eb679a7896
2022-10-28 18:01:36 +08:00
muxator
e4b8c9b2bf
rpc: add non-regression test about deriveaddresses crash when index is 2147483647
This test would cause a crash in bitcoind (see #26274) if the fix given in the
previous commit was not applied.

Github-Pull: #26275
Rebased-From: 9153ff3e27
2022-10-28 18:01:03 +08:00
muxator
bf2bf73bcb
rpc: fix crash in deriveaddresses when derivation index is 2147483647
2147483647 is the maximum positive value of a signed int32, and - currently -
the maximum value that the deriveaddresses bitcoin RPC call accepts as
derivation index due to its input validation routines.

Before this change, when the derivation index (and thus range_end) reached
std::numeric_limits<int_32_t>::max(), the "i" variable in the for cycle (which
is declared as int, and as such 32 bits in size on most platforms) would be
incremented at the end of the first iteration and then warp back to
-2147483648. This caused SIGABRT in bitcoind and a core dump.

This change assigns "i" an explicit size of 64 bits on every platform,
sidestepping the problem.

Fixes #26274.

Github-Pull: #26275
Rebased-From: addf9d6502
2022-10-28 18:00:37 +08:00
Andrew Chow
b04f5f9608
test: Test for out of bounds vout in sendall
Github-Pull: #26344
Rebased-From: 315fd4dbab
2022-10-28 17:59:57 +08:00
Andrew Chow
dedee6af57
wallet: Check utxo prevout index out of bounds in sendall
Github-Pull: #26344
Rebased-From: b132c85650
2022-10-28 17:59:30 +08:00
Andrew Chow
931db785ee
test: Test that sendall works with watchonly spending specific utxos
Github-Pull: #26344
Rebased-From: 708b72b715
2022-10-28 17:58:59 +08:00
Andrew Chow
bbe864a13a
wallet: Correctly check ismine for sendall
sendall should be using a bitwise AND for sendall's IsMine check rather
than an equality as IsMine will never return ISMINE_ALL.

Github-Pull: #26344
Rebased-From: 6bcd7e2a3b
2022-10-28 17:58:28 +08:00
Hennadii Stepanov
4b7d30d026
Adjust .tx/config for new Transifex CLI
The old Transifex Command-Line Tool is considered deprecated (as of
January 2022) and will sunset on Nov 30, 2022.

See: https://github.com/transifex/cli/blob/devel/README.md#migrating-from-older-versions-of-the-client

An accompanying PR: https://github.com/bitcoin-core/bitcoin-maintainer-tools/pull/142

Github-Pull: #26321
Rebased-From: d6adbb7ee1
2022-10-28 17:49:27 +08:00
glozow
d22cc74837
Merge bitcoin/bitcoin#26382: [24.x] p2p: Handle IsContinuationOfLowWorkHeadersSync return value correctly when new headers sync is started
e23def8fcc [net processing] Handle IsContinuationOfLowWorkHeadersSync return value correctly when new headers sync is started (dergoegge)

Pull request description:

  Backport of #26355.

ACKs for top commit:
  dergoegge:
    ACK e23def8fcc
  stickies-v:
    ACK e23def8fcc

Tree-SHA512: 051ecb08f1f96557b5b6d01cc9d29a5dfabbb48afffd52cba662251c23277938fcbb6f207fc7575774ef627a9484ceb056cc75476861b920723c35c2f5da36c8
2022-10-27 13:38:08 +01:00
dergoegge
e23def8fcc
[net processing] Handle IsContinuationOfLowWorkHeadersSync return value correctly when new headers sync is started 2022-10-24 15:41:35 +01:00
fanquake
bb5bcf32ba
Merge bitcoin/bitcoin#26327: [24.x] Revert "build: Use Homebrew's sqlite package if it is available"
d216d714aa Revert "build: Use Homebrew's sqlite package if it is available" (fanquake)

Pull request description:

  Identical commit, taken as-is from https://github.com/bitcoin/bitcoin/pull/25985

ACKs for top commit:
  dergoegge:
    ACK d216d714aa
  hebasto:
    ACK d216d714aa

Tree-SHA512: 8fe4cd20602e506f9cf4caa4d7b6c59142eccdd103cd6748f6e3e23464836d620b2d6142cb247a991fa8df5aa19678635d00ece5cf24d825ae6ca184c3bf7c48
2022-10-18 20:00:04 +08:00
fanquake
032ceb189a
Merge bitcoin/bitcoin#26309: [24.x] Bump version to 24.0rc2
d68b6abeb8 doc: Generate example bitcoin conf for 24.0rc2 (fanquake)
c349096fa2 doc: Generate manual pages for 24.0rc2 (fanquake)
e5aec59e0f build: Bump version to 24.0rc2 (fanquake)

Pull request description:

  We are due for an rc2.
  Bump version.
  Regen manpages.
  Regen exmaple bitcoin.conf.

ACKs for top commit:
  LarryRuane:
    utACK d68b6abeb8
  jarolrod:
    ACK d68b6abeb8
  hebasto:
    ACK d68b6abeb8, also verified the diff in `bitcoind -help` output between rc1 and rc2, and its reflection in the last commit.

Tree-SHA512: 258091f68f82b449810f3220170cbb4d22424061a753a3e99edf5df15881885dc74e07c7ba1b45f9b2623cee2dcdaabb82109b0bdce7a30b6623454d5346ddef
2022-10-14 16:53:31 +08:00
fanquake
d68b6abeb8
doc: Generate example bitcoin conf for 24.0rc2 2022-10-14 10:28:34 +08:00
fanquake
c349096fa2
doc: Generate manual pages for 24.0rc2 2022-10-14 10:27:29 +08:00
fanquake
e5aec59e0f
build: Bump version to 24.0rc2 2022-10-14 10:19:44 +08:00
Andrew Chow
885366c67a
Merge bitcoin/bitcoin#26133: [24.x] Backports for rc2
e2e4c2969b tests: Test that PSBT_OUT_TAP_TREE is included correctly (Andrew Chow)
4d42c3a240 psbt: Only include m_tap_tree if it has scripts (Andrew Chow)
d810fde8ea psbt: Change m_tap_tree to store just the tuples (Andrew Chow)
a9419eff0c tests: Test that PSBT_OUT_TAP_TREE is combined correctly (Andrew Chow)
4abd2ab18e psbt: Fix merging of m_tap_tree (Andrew Chow)
1390c96c8e [BugFix]: Do not allow deserializing PSBT with empty PSBT_OUT_TAP_TREE (Jeremy Rubin)
9b438f06ec refactor: revert m_next_resend to not be std::atomic (stickies-v)
43ced0b436 wallet: only update m_next_resend when actually resending (stickies-v)
fc8f2bfa3a refactor: carve out tx resend timer logic into ShouldResend (stickies-v)
a6fb674f96 refactor: remove unused locks for ResubmitWalletTransactions (stickies-v)
5ad82a09b4 index: Improve BaseIndex::BlockUntilSyncedToCurrentChain reliability (Ryan Ofsky)
997faf6b6c contrib: Fix capture_output in getcoins.py (willcl-ark)
7e0bcfbfef p2p: ProcessHeadersMessage(): fix received_new_header (Larry Ruane)
c97d924880 Correct sanity-checking script_size calculation (Pieter Wuille)
da6fba6fe7 docs: Add 371 to bips.md (Andrew Chow)

Pull request description:

  Will collect backports for rc2 as they become available. Currently:
  * https://github.com/bitcoin/bitcoin/pull/25858
  * https://github.com/bitcoin/bitcoin/pull/26124
  * https://github.com/bitcoin/bitcoin/pull/26149
  * https://github.com/bitcoin/bitcoin/pull/26172
  * https://github.com/bitcoin/bitcoin/pull/26205
  * https://github.com/bitcoin/bitcoin/pull/26212
  * https://github.com/bitcoin/bitcoin/pull/26215

ACKs for top commit:
  dergoegge:
    ACK e2e4c2969b
  achow101:
    ACK e2e4c2969b
  instagibbs:
    ACK e2e4c2969b

Tree-SHA512: b6374fe202561057dbe1430d4c40f06f721eb568f91e7275ae1ee7747edf780ce64620382d13ecc4b9571d931dc25d226af8284987cf35ff6a6182c5f64eb10c
2022-10-13 13:31:54 -04:00
Andrew Chow
e2e4c2969b
tests: Test that PSBT_OUT_TAP_TREE is included correctly
Github-Pull: #25858
Rebased-From: 9e386afb67
2022-10-13 23:46:09 +08:00
Andrew Chow
4d42c3a240
psbt: Only include m_tap_tree if it has scripts
Github-Pull: #25858
Rebased-From: 30ff25cf37
2022-10-13 23:45:36 +08:00
Andrew Chow
d810fde8ea
psbt: Change m_tap_tree to store just the tuples
Instead of having an entire TaprootBuilder which may or may not be
complete, and could potentially have future changes that interact oddly
with taproot tree tuples, have m_tap_tree be just the tuples.

When needed in other a TaprootBuilder for actual use, the tuples will be
added to a a TaprootBuilder that, in the future, can take in whatever
other data is needed as well.

Github-Pull: #25858
Rebased-From: 0577d423ad
2022-10-13 23:45:06 +08:00
Andrew Chow
a9419eff0c
tests: Test that PSBT_OUT_TAP_TREE is combined correctly
Github-Pull: #25858
Rebased-From: 22c051ca70
2022-10-13 23:44:36 +08:00
Andrew Chow
4abd2ab18e
psbt: Fix merging of m_tap_tree
Merging should be checking that the current PSBTOutput doesn't have a
taptree and the other one's is copied over. The original merging had
this inverted and would remove m_tap_tree if the other did not have it.

Github-Pull: #25858
Rebased-From: 7df6e1bb77
2022-10-13 23:44:01 +08:00
Jeremy Rubin
1390c96c8e
[BugFix]: Do not allow deserializing PSBT with empty PSBT_OUT_TAP_TREE
Github-Pull: #25858
Rebased-From: 0652dc53b2
2022-10-13 23:43:29 +08:00
stickies-v
9b438f06ec
refactor: revert m_next_resend to not be std::atomic
Since m_next_resend is now only called from MaybeResendWalletTxs()
we don't have any potential race conditions anymore, so the usage
of std::atomic can be reverted.

Github-Pull: #26205
Rebased-From: b01682a812
2022-10-13 23:38:20 +08:00
stickies-v
43ced0b436
wallet: only update m_next_resend when actually resending
We only want to relay our resubmitted transactions once every 12-36h.
By separating the timer update logic out of ResubmitWalletTransactions
and into MaybeResendWalletTxs we avoid non-relay calls (previously in
the separate ReacceptWalletTransactions function) from resetting that
timer.

Github-Pull: #26205
Rebased-From: 9245f45670
2022-10-13 23:37:36 +08:00
stickies-v
fc8f2bfa3a
refactor: carve out tx resend timer logic into ShouldResend
Moves the logic of whether or not transactions should actually be
resent out of the function that's resending them. This reduces
responsibilities of ResubmitWalletTransactions and allows
carving out the updating of m_next_resend in a future commit.

Github-Pull: #26205
Rebased-From: 7fbde8af5c
2022-10-13 23:36:56 +08:00
stickies-v
a6fb674f96
refactor: remove unused locks for ResubmitWalletTransactions
ReacceptWalletTransactions is replaced by ResubmitWalletTransactions
which already handles acquiring the necessary locks internally.

Github-Pull: #26205
Rebased-From: 01f3534632
2022-10-13 23:36:13 +08:00
Ryan Ofsky
5ad82a09b4
index: Improve BaseIndex::BlockUntilSyncedToCurrentChain reliability
Since commit f08c9fb0c6 from PR
https://github.com/bitcoin/bitcoin/pull/21726, index
`BlockUntilSyncedToCurrentChain` behavior has been less reliable, and there has
also been a race condition in the `coinstatsindex_initial_sync` unit test.

It seems better for `BlockUntilSyncedToCurrentChain` to actually wait for the
last connected block to be fully processed, than to be able to return before
prune locks are set, so this switches the order of `m_best_block_index =
block;` and `UpdatePruneLock` statements in `SetBestBlockIndex` to make it more
reliable.

Also since commit f08c9fb0c6, there has been a
race condition in the `coinstatsindex_initial_sync` test. Before that commit,
the atomic index best block pointer `m_best_block_index` was updated as the
last step of `BaseIndex::BlockConnected`, so `BlockUntilSyncedToCurrentChain`
could safely be used in tests to wait for the last `BlockConnected`
notification to be finished before stopping and destroying the index. But
after that commit, calling `BlockUntilSyncedToCurrentChain` is no longer
sufficient, and there is a race between the test shutdown code which destroys
the index object and the new code introduced in that commit calling
`AllowPrune()` and `GetName()` on the index object. Reproducibility
instructions for this are in
https://github.com/bitcoin/bitcoin/issues/25365#issuecomment-1259744133

This commit fixes the `coinstatsindex_initial_sync` race condition, even though
it will require an additional change to silence TSAN false positives,
https://github.com/bitcoin/bitcoin/pull/26188, after it is fixed. So this
partially addresses but does not resolve the bug reporting TSAN errors
https://github.com/bitcoin/bitcoin/issues/25365.

There is no known race condition outside of test code currently, because the
bitcoind `Shutdown` function calls `FlushBackgroundCallbacks` not
`BlockUntilSyncedToCurrentChain` to safely shut down.

Co-authored-by: Vasil Dimov <vd@FreeBSD.org>
Co-authored-by: MacroFake <falke.marco@gmail.com>

Github-Pull: #26215
Rebased-From: 8891949bdc
2022-10-11 09:20:07 +08:00