44192 Commits

Author SHA1 Message Date
ismaelsadeeq
f85d41c224
test: retain the intended behavior of feature_fee_estimation.py nodes
- Increase block weight by 4000 for all nodes with custom -blockmaxweight.
  Prior to this commit, we generated blocks with 4000 weight units less worth of transactions.
  See https://github.com/bitcoin/bitcoin/issues/32461#issuecomment-2925282272 for details.
  This commit fixes it by increasing the block weight by 4000.

Github-Pull: #32463
Rebased-From: 9b75cfda4d62a0a3bde402503244dd57e1621a12
2025-07-04 09:34:31 +01:00
ismaelsadeeq
84c0c0e64b
test: fix incorrect subtest in feature_fee_estimation.py
- Update `check_smart_estimates` to calculate the fee rate ceiling
   by taking the maximum of fees seen, minrelaytxfee, and mempoolminfee.
- Improve the subtest name and comments.

Github-Pull: #32463
Rebased-From: 5c1236f04a24716b2cbd9b9b283863d3a8a6fa87
2025-07-04 09:34:28 +01:00
Salvatore Ingala
83ee49b1dc
doc: clarify that the "-j N" goes after the "--build build" part
Also, capitalized the comments in build-unix.md for uniformity
with the docs on other targets.

Github-Pull: #32846
Rebased-From: 0e9f409db3b7b08aef75ce39765b018b69cc8e9d
2025-07-03 17:42:44 +01:00
Hennadii Stepanov
e5a7575a6d
doc: Add workaround for vcpkg issue with paths with embedded spaces
Github-Pull: #32858
Rebased-From: 0a1af4418ed2a135001cc0e10f0af44cbd64e521
2025-07-03 16:25:19 +01:00
Greg Sanders
59a83fb8d1
functional test: correctly detect nonstd TRUC tx vsize in feature_taproot
Github-Pull: #32859
Rebased-From: f0524cda3995cf65adab3d0ca8da0dee4e31c79b
2025-07-03 12:03:30 +01:00
Greg Sanders
9f3690b978
feature_taproot: sample tx version border values more
Currently if the version 3 is selected for an otherwise
standard spender, the test will fail. It's unlikely but
possible, so change the test to update expectations and
sample more aggressively on border values to instigate
failures much quicker in the future if another version is
made standard.

Github-Pull: #32841
Rebased-From: 4be81e9746e9e18923386d6f4945a33885fd98a7
2025-07-03 12:03:06 +01:00
Hennadii Stepanov
8a4a938db5
depends: Override host compilers for FreeBSD and OpenBSD
When building depends on FreeBSD/OpenBSD `aarch64`, the host compilers
default to `default_host_{CC,CXX}`, which resolves to `gcc`/`g++`. This
is incorrect on these systems, where Clang is the default system
compiler.

Github-Pull: #32716
Rebased-From: 4f10a57671c19cacca630b2401e42a213aacff1b
2025-07-03 11:58:03 +01:00
pablomartin4btc
3a57bfaaf9
test: Use rehash() in outbound eviction block-relay
Ensure that tip_header.rehash() is used instead of tip_header.hash, which is None when the header is deserialized from hex.

This avoids depending on wait_for_getheaders() falling back to any received message, making the test more explicit and robust.

Github-Pull: #32823
Rebased-From: ec004cdb86e6471915e1033f390c76ee0428e415
2025-07-03 11:58:03 +01:00
pablomartin4btc
f82015ccfc
test: Clarify roles in outbound eviction comments
Some ambiguous uses of "we" referring to either the node or the peer are replaced with clearer phrasing.

Also rephrase some comments for consistency and readability.

Applies to all relevant outbound eviction tests in p2p_eviction_logic.py.

Github-Pull: #32823
Rebased-From: 26598ed21ea7228c4ecf85da24527c88f9c1f1c1
2025-07-03 11:58:03 +01:00
brunoerg
222fbfcc6a
test: check P2SH sigop count for coinbase tx
Github-Pull: #32850
Rebased-From: d6aaffcb11adcf47480fcc5081af9dcb732decf3
2025-07-03 11:58:03 +01:00
merge-script
d360a6ef56
Merge bitcoin/bitcoin#32810: [29.x] More backports
ef2a013e31cf6fbded5735a998b4c992c176493d doc: update release notes for 29.x (fanquake)
4b656e2023099f1ae5fe0aab6d46c97fe161d51f test: Add msgtype to msg_generic slots (dergoegge)
1c0e19b93a876ba5503da15e1ce14315d804194b node: cap -dbcache to 1GiB on 32-bit architectures (Antoine Poinsot)
eafea2393d972606678f3a825a71754558ac9d5c init: cap -maxmempool to 500 MB on 32-bit systems (Antoine Poinsot)
a3c1939d6eb45be4a790b9943c81a3b15af1418a cmake: Explicitly specify `Boost_ROOT` for Homebrew's package (Hennadii Stepanov)
a990c1002b50a79ba051d322a2269670e6827dd9 cmake: Use `HINTS` instead of `PATHS` in `find_*` commands (Hennadii Stepanov)
5987c1b6abaefad61d8d2cca605349354432398a test: fix catchup loop in outbound eviction functional test (Sebastian Falbesoner)
e37a70bf71d05d2e355e6d0ac49c58a4b446454f build: add root dir to CMAKE_PREFIX_PATH (will)

Pull request description:

  Backports:
  * #32530
  * #32742
  * #32798
  * #32805
  * #32814
  * #32833

  Fixes #31009.

ACKs for top commit:
  pinheadmz:
    ACK ef2a013e31cf6fbded5735a998b4c992c176493d
  hebasto:
    re-ACK ef2a013e31cf6fbded5735a998b4c992c176493d.
  willcl-ark:
    ACK ef2a013e31cf6fbded5735a998b4c992c176493d

Tree-SHA512: 936ccf732f9fa49acc90de8af0ebf7134aa54dbaf9533c8dfbe08cd178b87a3a091c837d5bb84d61869a69c3c7d499a565b33237b14330a6c66d9c8456d5a261
2025-07-03 11:57:31 +01:00
fanquake
ef2a013e31
doc: update release notes for 29.x 2025-06-30 13:29:28 +01:00
dergoegge
4b656e2023
test: Add msgtype to msg_generic slots
Github-Pull: #32833
Rebased-From: 7dc43ea503a2c145ffd4fe14b794300bfc2bcdee
2025-06-30 13:28:55 +01:00
Antoine Poinsot
1c0e19b93a
node: cap -dbcache to 1GiB on 32-bit architectures
32-bit architecture is limited to 4GiB, so it doesn't make sense to set a too
high value. Since this setting is performance critical, pick an arbitrary value
higher than for -maxmempool but still reasonable.

Github-Pull: #32530
Rebased-From: 9f8e7b0b3b787b873045a4a8194e77d0b0a2b3b6
2025-06-26 17:36:06 +01:00
Antoine Poinsot
eafea2393d
init: cap -maxmempool to 500 MB on 32-bit systems
32-bit architecture is limited to 4GiB, so it doesn't make sense to set a too high value. 500 MB is
chosen as an arbitrary maximum value that seems reasonable.

Github-Pull: #32530
Rebased-From: 2c43b6adebbfabb3c8dd82fe821ce0a5d6173b3b
2025-06-26 17:36:02 +01:00
Hennadii Stepanov
a3c1939d6e
cmake: Explicitly specify Boost_ROOT for Homebrew's package
On macOS, this change ensures that the Boost package is located at its
real path rather than via the symlink in the default prefix.

Github-Pull: #32814
Rebased-From: 8800b5acc1ef7abe6c5260ae0be5386b1d593a19
2025-06-26 15:02:08 +01:00
Hennadii Stepanov
a990c1002b
cmake: Use HINTS instead of PATHS in find_* commands
According to the CMake documentation, `HINTS` "should be paths computed
by system introspection, such as a hint provided by the location of
another item already found", which is precisely the case in the
`FindQRencode` module.

Entries in `HINTS` are searched before those in `PATHS`. On macOS,
Homebrew’s `libqrencode` will therefore be located at its real path
rather than via the symlink in the default prefix.

Github-Pull: #32805
Rebased-From: ead44687483e9c936ba970de890c01d5e7ad3485
2025-06-26 12:10:51 +01:00
Sebastian Falbesoner
5987c1b6ab
test: fix catchup loop in outbound eviction functional test
The catchup loop in the outbound eviction functional test currently has
a small flaw, as the contained waiting for a `getheaders` message just
waits for any such message instead of one with the intended block hash.
The reason is that the `prev_prev_hash` variable is set incorrectly,
since the `tip_header` instance is not updated and its field `.hash` is
None. Fix that by updating `tip_header` and use the correct field -- we
want the tip header's previous hash (`.hashPrevBlock`).

Github-Pull: #32742
Rebased-From: dd8447f70faf6419b4617da3c1b57098e9cd66a6
2025-06-26 11:24:02 +01:00
will
e37a70bf71
build: add root dir to CMAKE_PREFIX_PATH
Nix patches cmake to remove the root directory `/` from
`CMAKE_SYSTEM_PREFIX_PATH`:
428b49b28e/pkgs/by-name/cm/cmake/001-search-path.diff (L10)

Without this, and when using the toolchain for depends builds, cmake's
`find_path()` and `find_package()` do not know where to find
dependencies, causing issues like:
https://github.com/bitcoin/bitcoin/issues/32428

Adding this path back via CMAKE_PREFIX_PATH is harmless on other
systems, and fixes the toolchain for Nix users.

We append the `/` dir a maximum of once, as the toolchain may be called
repeatedly during builds.

Co-authored-by: Russell Yanofsky <russ@yanofsky.org>
Co-authored-by: josibake <josibake@protonmail.com>

Github-Pull: #32798
Rebased-From: e27a94596f2a1f5e04722a16165717cc6e891d36
2025-06-25 11:38:37 +01:00
merge-script
983b268768
Merge bitcoin/bitcoin#32589: [29.x] More backports
0922f6bbc33ac2abe3f3d9dc98dade896718864f doc: update release notes for 29.x (fanquake)
569760541407824687ef86dd1a5be9a492a5b16e contrib: tracing: Correctly read msg type in p2p_monitor.py (David Gumberg)
4c7ed36c9650065e5638d7ca5c7425c5cd50e3c7 test: Fix list index out of range error in feature_bip68_sequence.py (zaidmstrr)
3e23b47a6fafd1a46dcb731e4732079baa04ab97 doc: fix transifex 404s (fanquake)
616baf3c27ec767c530a47edac463ed60ddb8c5c doc: taproot became always active in v24.0 (Sjors Provoost)
ef6111bd18c28265daaa48a2d1466fb2eff5c200 depends: capnp 1.2.0 (fanquake)
8246c6a65f5e17aeeb351a2d649799c216bbed63 test: wallet, coverage for crash on dup block disconnection during unclean shutdown (Martin Zumsande)
a18085a18bb58ef6d688889c6f2d9717d8581766 wallet: fix crash on double block disconnection (furszy)
7264459c0df2b8dc0fa0d0ccab755b299878c588 build: patch cmake min version on freetype (josibake)
27c533052c307113bea548b7bcad40dbfd1fbcbe doc, windows: CompanyName "Bitcoin" => "Bitcoin Core project" (Hodlinator)
1b51d750ad1384a67010d40d7a9f9a6b96a22e43 depends: fix SHA256SUM command on OpenBSD (use GNU mode output) (Sebastian Falbesoner)
aea8a394b1b9c595d6388b714145700dc63adfe6 doc: make `-DWITH_ZMQ=ON` explicit on `build-unix.md` (Luis Schwab)
23e76ef520f5647993884e5affb54e33b9b66570 guix: warn and abort when SOURCE_DATE_EPOCH is set (will)
876a7b2db5273ef8f6864bef9c304d36047409f4 doc: add missing packages for BSDs (cmake, gmake, curl) to depends/README.md (Sebastian Falbesoner)
78688c84139b3e96148b17a4133e330bf8937c03 rpc, doc: update `listdescriptors` RCP help (rkrux)
c899334e36b63b530c44fe7273c951469762878c rpc: Note in fundrawtransaction doc, fee rate is for package (benthecarman)
247ee59f55cee2c6ee19203fa1d274efba054e7f doc: update tor docs to use bitcoind binary from path (ismaelsadeeq)
4a1143b083db87b6bbe158b97a4912fe73f76d09 depends: use "mkdir -p" when installing xproto (fanquake)
646fa1d028f091e281b7e9b0c45ca1040f4441d8 test: fix sync function in rpc_psbt.py (Martin Zumsande)
17b31fc80209ecd8ba0410553ca0458049b26e6a doc: Add missing top-level description to pruneblockchain RPC (nervana21)
e34b6fbcad6d8a2a58713d86c9ff646a0d2f2890 guix: accomodate migration to codeberg (fanquake)
142153ee42747677db3c9d8bdb75ec5bd4cecc18 cmake: Add missed `SSE41_CXXFLAGS` (Hennadii Stepanov)

Pull request description:

  Backports
  - #31757
  - #32333
  - #32439
  - #32551 (just 800b7cc42ca63f2a6b245a4d327c7092289da6e1)
  - #32568
  - #32607
  - #32630
  - #32678
  - #32679
  - #32690 (just 8713e8060d504f561fed705b4aa5af7b96c36e75)
  - #32693
  - #32696
  - #32708
  - #32711
  - #32719
  - #32760
  - #32765
  - #32771
  - #32776
  - #32777

  Closes #32625.

ACKs for top commit:
  instagibbs:
     ACK 0922f6bbc33ac2abe3f3d9dc98dade896718864f
  willcl-ark:
    ACK 0922f6bbc33ac2abe3f3d9dc98dade896718864f

Tree-SHA512: 0389e5d85fa897fdbefd37635f6ec822ca5ab48a57c4d40fdd4d1be2465c676f514b0db4d72c962ee15e0090b27ff17701e167d660eaa25f855d06bbb1fe0e6e
2025-06-25 11:03:05 +01:00
fanquake
0922f6bbc3
doc: update release notes for 29.x 2025-06-23 12:48:15 +01:00
David Gumberg
5697605414
contrib: tracing: Correctly read msg type in p2p_monitor.py
Github-Pull: #32771
Rebased-From: 3473986fe10e2689fe36cc93e1e50013649ac14b
2025-06-23 10:01:45 +01:00
zaidmstrr
4c7ed36c96
test: Fix list index out of range error in feature_bip68_sequence.py
Github-Pull: #32765
Rebased-From: e285e691b7a311e278f89e9fe423716de1ee268b
2025-06-19 15:06:14 +01:00
fanquake
3e23b47a6f
doc: fix transifex 404s
Github-Pull: #32777
Rebased-From: 53a996f122663e271efa52c45b173613b8ac635e
2025-06-19 11:48:46 +01:00
Sjors Provoost
616baf3c27
doc: taproot became always active in v24.0
Github-Pull: #32776
Rebased-From: 8ee8a951c205c5365f7557253b8fffc12e6e670c
2025-06-19 11:42:10 +01:00
fanquake
ef6111bd18
depends: capnp 1.2.0
Github-Pull: #32760
Rebased-From: c7eaac326ac20a745d1bc6dbc6bc48c1b5eb46f8
2025-06-19 10:40:41 +01:00
Martin Zumsande
8246c6a65f
test: wallet, coverage for crash on dup block disconnection during unclean shutdown
Co-authored-by: furszy <matiasfurszyfer@protonmail.com>

Github-Pull: #31757
Rebased-From: 11f8ab140fe63857f6a93b81021efda8f90ceeda
2025-06-19 10:39:27 +01:00
furszy
a18085a18b
wallet: fix crash on double block disconnection
The wallet crashes if it processes the same block disconnection event twice in a row due
to an incompatible coinbase transaction state.
This happens because 'disconnectBlock' provides 'TxStateInactive' without the "abandoned"
flag for coinbase transactions to 'SyncTransaction', while 'AddToWallet()' internally
modifies it to retain the abandoned state.

The flow is as follows:
1) On the first disconnection, the transaction state transitions from "confirmed" to
"inactive," bypassing the state equality check since the provided state differs. Then,
'AddToWallet' internally updates the state to "inactive + abandoned"

2) On the second disconnection, as we provide only the "inactive" state
to 'SyncTransaction()', the state equality assertion fails and crashes the wallet.

Github-Pull: #31757
Rebased-From: 9ef429b6ae65f6ad3e9ac11c2d9c0a6c52beb865
2025-06-19 10:39:27 +01:00
josibake
7264459c0d
build: patch cmake min version on freetype
Patch cmake_minimum_required version for freetype, using the version from
https://gitlab.freedesktop.org/freetype/freetype/-/merge_requests/352/diffs

This fixes a failure when building with CMake 4, where compatibility
with CMake versions < 3.5 has been removed (see https://cmake.org/cmake/help/latest/release/4.0.html#deprecated-and-removed-features)

Github-Pull: #32693
Rebased-From: d7c37906e7b1dc1513439056d0cdb2bd341d00f1
2025-06-19 10:39:27 +01:00
Hodlinator
27c533052c
doc, windows: CompanyName "Bitcoin" => "Bitcoin Core project"
Matches /share/setup.nsi.in:14

Github-Pull: #32719
Rebased-From: 239fc4d62e73511b3ef5117706d4c5131a921955
2025-06-19 10:39:27 +01:00
Sebastian Falbesoner
1b51d750ad
depends: fix SHA256SUM command on OpenBSD (use GNU mode output)
On OpenBSD, the `sha256` command by default outputs hashsums on files in
"BSD" mode, looking like this:

$ sha256 ~/.vimrc
SHA256 (/home/thestack/.vimrc) = 6ba69d100e8c5ca0488ded6293d4e5f740a6a5d5ace96cbcf0599c18d27389e4

This is not compatible with our depends commands, which expect the
hashes to be on the first column (to be extracted via `cut -d" " -f1`).
Fix this by switching to GNU mode output, looking like this:

$ sha256 -r ~/.vimrc
6ba69d100e8c5ca0488ded6293d4e5f740a6a5d5ace96cbcf0599c18d27389e4 /home/thestack/.vimrc

Without this change, the multiprocess depends build fails with the following output:

$ gmake -C depends MULTIPROCESS=1 NO_BOOST=1 NO_LIBEVENT=1 NO_QT=1 NO_QR=1 NO_WALLET=1 NO_ZMQ=1 NO_USDT=1
[ ..... ]
Extracting native_libmultiprocess...
sha256: /home/thestack/bitcoin/depends/work/build/x86_64-unknown-openbsd7.7/native_libmultiprocess/-2bc902f4693/.src-ipc-libmultiprocess.tar.hash: no properly formatted checksum lines found
gmake: *** [funcs.mk:342: /home/thestack/bitcoin/depends/work/build/x86_64-unknown-openbsd7.7/native_libmultiprocess/-2bc902f4693/.stamp_extracted] Error 1

Github-Pull: #32690
Rebased-From: 8713e8060d504f561fed705b4aa5af7b96c36e75
2025-06-19 10:39:27 +01:00
Luis Schwab
aea8a394b1
doc: make -DWITH_ZMQ=ON explicit on build-unix.md
Github-Pull: #32696
Rebased-From: 32d4e92b9ac81858d754487bfec2fef6bed13a57
2025-06-10 17:27:40 +01:00
will
23e76ef520
guix: warn and abort when SOURCE_DATE_EPOCH is set
Current behaviour will by-default use SOURCE_DATE_EPOCH from the
environment without warning. This breaks the default reproducibility
from a guix build.

Warn when and exit when this variable is set, and
FORCE_SOURCE_DATE_EPOCH is unset.

Github-Pull: #32678
Rebased-From: 5c4a0f8009cef758be9412428515bfed57b0c923
2025-06-10 15:22:51 +01:00
Sebastian Falbesoner
876a7b2db5
doc: add missing packages for BSDs (cmake, gmake, curl) to depends/README.md
Github-Pull: #32711
Rebased-From: 89526deddf87904619b26319e8d149cf97466868
2025-06-10 13:32:02 +01:00
rkrux
78688c8413
rpc, doc: update listdescriptors RCP help
This RPC lists all the descriptors present in the wallet, not only
the ones that were imported, but also the ones generated when a
new wallet is created.

It can be verified by creating a new wallet and calling the
`listdescriptors` RPC, which will contain 8 ranged descriptors that
are created for every new wallet.

Github-Pull: #32708
Rebased-From: b44514b876333a94ae242da8b1e4cee439c2d37e
2025-06-10 11:31:10 +01:00
benthecarman
c899334e36
rpc: Note in fundrawtransaction doc, fee rate is for package
Github-Pull: #32607
Rebased-From: f98e1aaf34e347088caa54403521e3b5cb55dd40
2025-06-09 16:13:01 +01:00
ismaelsadeeq
247ee59f55
doc: update tor docs to use bitcoind binary from path
Github-Pull: #32679
Rebased-From: 4ce53495e5e18370b7935551b3b8700faa720a33
2025-06-09 16:12:25 +01:00
fanquake
4a1143b083
depends: use "mkdir -p" when installing xproto
It looks like the mkdir detection in xproto is broken on Alpine. Ensure
we always use `mkdir -p`.

Fixes #32494.

Github-Pull: #32568
Rebased-From: df9ebbf659d5d1282289f36d7f9ee7103aa33a17
2025-06-03 20:26:27 +01:00
Martin Zumsande
646fa1d028
test: fix sync function in rpc_psbt.py
It currently only syncs between the first two nodes,
which may do nothing when the block is created on the
third node.

Github-Pull: #32630
Rebased-From: 4df4df45d7bc2e8be99325d40cda936aab87c083
2025-05-29 12:31:10 +01:00
nervana21
17b31fc802
doc: Add missing top-level description to pruneblockchain RPC
Previously, the `pruneblockchain` RPC help output included only the method signature and arguments, with no top-level description explaining its purpose or constraints.

This PR adds a concise top-level description, improving documentation consistency and alerting users to the potential impacts of using the command.

Github-Pull: #32333
Rebased-From: 135a0f0aa711b95c50aa4cbe0c38d82d647f1c8b
2025-05-29 12:15:57 +01:00
fanquake
e34b6fbcad
guix: accomodate migration to codeberg
See https://guix.gnu.org/blog/2025/migrating-to-codeberg/.

When interacting with the old repo you may now also see:
```bash
warning: redirecting to https://codeberg.org/guix/guix/
```

Github-Pull: #32439
Rebased-From: c8d9baae942c94d64ce47ae8f67d3710e6a296bd
2025-05-28 09:53:33 +01:00
Hennadii Stepanov
142153ee42
cmake: Add missed SSE41_CXXFLAGS
Github-Pull: #32551
Rebased-From: 800b7cc42ca63f2a6b245a4d327c7092289da6e1
2025-05-22 14:55:42 +01:00
merge-script
589b56192f
Merge bitcoin/bitcoin#32292: [29.x] Backports
a0d1f69b555fa0c76df1a63a0b127c7816596107 doc: update release notes for 29.x (fanquake)
6c0f26d3bd8010391761feada93ae902b6b27221 test: check that creating a wallet does not log version info (Ava Chow)
e685b4eca250a47e933c8447a2efe10cd14d2f2b test: Check that the correct versions are logged on wallet load (Ava Chow)
25aa15ee7fc6d8f941fff7be5b3abed09a2ce12a walletdb: Log the wallet version after it has been read from disk (Ava Chow)
cf034172bf1fe7cc789c130f35ad470f0509d6d2 test: fix another intermittent failure in wallet_basic.py (Martin Zumsande)
c9661584261b89d75d4d0869c69ef84cf51054ff test: Fix intermittent failure in wallet_basic.py (Martin Zumsande)
6c4e3de2acb7e96ce81ca691a4dac3d5d594c4bc test: Use uninvolved pruned node in feature_pruning undo test (enoch)
edd4073d70642b42cea9a9e5a2c6d34f413cf7d8 test: Fix nTimes typo in feature_pruning test (enoch)
cc2fcdfc5e0649c2e7c16c0ec2df7a40e8a3c454 cmake: Allow `WITH_DBUS` on all Unix-like systems (Hennadii Stepanov)
caec3cc41bf3cb265800624efff14241d297f36b crypto: disable ASan for sha256_sse4 with Clang (fanquake)
fabf4ff237ff99d5e77163fdfbac6cd425dd7fc7 tracing: fix invalid argument in mempool_monitor (William Casarin)
f9d2c67a0c78192ce365e6e4065bb5e9198d771c cmake: Respect user-provided configuration-specific flags (Hennadii Stepanov)
6ed087dede0839cac4e4528a746f573aecd5f5f2 doc: Fix test_bitcoin path (monlovesmango)
2f6c802b549c72393fdaff44d2fd4cb501f97926 doc: Fix fuzz test_runner.py path (monlovesmango)
f4d9546425ec38d78ef128a5bc7580d816b707ce qt: Replace stray tfm::format to cerr with qWarning (laanwj)
5aa4956cd3ad42e6e511625fc548f55bf95a6575 gui: crash fix, disconnect numBlocksChanged() signal during shutdown (furszy)
3665310808f58073c3cd72a5f99f19b22adccdf0 scripted-diff: Use bpf_cflags (MarcoFalke)
4ed5c34abb242494dff36409f5eef68272827a03 test: Add imports for util bpf_cflags (MarcoFalke)
3dbd2b3d178176eb410270afb7d4a7db11ff08ae refactor: Remove spurious virtual from final ~CZMQNotificationInterface (MarcoFalke)
64552c83b2b1e2d4da561d06900a70144ebfb054 ci: Add workaround for vcpkg's libevent package (Hennadii Stepanov)
85f3e1de68e845937ebc3568e26c12fc6a027a18 test: Handle empty string returned by CLI as None in RPC tests (Brandon Odiwuor)
ca70d5cb2592d5227eab8b18288f060ed6305a99 Remove support for RNDR/RNDRRS for aarch64 on Linux (laanwj)

Pull request description:

  Backports for `29.x`:

  - #32184
  - #32187
  - #32248
  - #32286
  - #32312
  - #32336
  - #32353
  - #32356
  - #32389
  - #32437
  - #32454
  - #32469
  - #32483
  - #32553
  - https://github.com/bitcoin-core/gui/pull/864
  - https://github.com/bitcoin-core/gui/pull/868

ACKs for top commit:
  willcl-ark:
    crACK a0d1f69b555fa0c76df1a63a0b127c7816596107

Tree-SHA512: 72aafd17348aa4b602661efd07d48c6af6637c7349e7b032a65f46364e50094723d1c80dced71f0d5ddec59d6dafb72f0463944413a4d810a35cdca6b8272780
2025-05-22 12:05:19 +01:00
fanquake
a0d1f69b55
doc: update release notes for 29.x 2025-05-20 12:30:25 +01:00
Ava Chow
6c0f26d3bd
test: check that creating a wallet does not log version info
Github-Pull: #32553
Rebased-From: 4b2cd0b41ff4800c8801f2c44883eaec60a035fa
2025-05-20 12:29:25 +01:00
Ava Chow
e685b4eca2
test: Check that the correct versions are logged on wallet load
Github-Pull: #32553
Rebased-From: 39a483c8e9dcfe8ec243fa72269e1df9e75059ab
2025-05-20 12:29:21 +01:00
Ava Chow
25aa15ee7f
walletdb: Log the wallet version after it has been read from disk
Logging the wallet version before anything has been read from disk results
in the wrong version being logged.

Also split the last client version logging as it may not always be
present to be logged.

Github-Pull: #32553
Rebased-From: 359ecd3704993422eb53e3da2a7d0bea2f575ab0
2025-05-20 12:29:18 +01:00
Martin Zumsande
cf034172bf
test: fix another intermittent failure in wallet_basic.py
During init, the test framework will start using rpc after the
mempool was loaded. It will not wait for postInitProcess or
outstanding transactionAddedToMempool notifications, leading to
a possible race, in which listunspent is being called while the
tx is still in Inactive status. Prevent this by processing
outstanding notifications.

Github-Pull: #32483
Rebased-From: e7ad86e1ca3b0b2f2795e91c2f9959486c67dd90
2025-05-14 13:26:53 +01:00
Martin Zumsande
c966158426
test: Fix intermittent failure in wallet_basic.py
There could be a race with outstanding TxAddedToMempool notifications
being applied to the soon-to-be created wallet.

Fixes an intermittent timeout reproducable by adding a sleep to
AddToWallet.

Github-Pull: #32483
Rebased-From: 07350e204dedfba20da461d9cdcd469dc95e01c3
2025-05-14 13:26:48 +01:00
enoch
6c4e3de2ac
test: Use uninvolved pruned node in feature_pruning undo test
After fixing the nTime variable name, the test_pruneheight_undo_presence
test began failing because node 2, which is involved in reorg testing,
could be on a different chain than other nodes. This caused failures
when trying to fetch blocks from other nodes that didn't recognize
node 2's chain.

Switch to using node 5 instead, which is also a pruned node but isn't
involved in reorg testing, ensuring it stays on the same chain as the
other nodes. This allows the block fetching to work as intended in the
test.

Github-Pull: #32312
Rebased-From: 2aa63d511affdcc9980b58fc4ff18b8ad10b0f8c
2025-05-14 10:01:32 +01:00