46723 Commits

Author SHA1 Message Date
fanquake
f541b92cf2
depends: expat 2.7.3
Remove the patch, as expat has bumped it's minimum to 3.15.
Remove the lto related workaround. I haven't seen issues with CMakes
TestBigEndian.
2025-11-20 11:47:39 +00:00
Hennadii Stepanov
2ebf4356e6
depends: libxcb 1.17.0
--without-launchd was removed in
ccdef1a8a5.
2025-11-20 10:15:46 +00:00
Hennadii Stepanov
ba7ac870a3
depends: xcb_proto 1.17.0 2025-11-20 10:15:40 +00:00
fanquake
42d0692f91
depends: libxcb-util-cursor 0.1.6 2025-11-20 09:28:50 +00:00
fanquake
25b85919ab
depends: libxcb 1.15 2025-11-20 09:28:50 +00:00
fanquake
d129384ca9
depends: libxcb-util-wm 0.4.2 2025-11-20 09:28:50 +00:00
fanquake
0b857ae9e5
depends: libxcb-util-renderutil 0.3.10 2025-11-20 09:28:49 +00:00
fanquake
35e50488b2
depends: libxcb-util-keysyms 0.4.1 2025-11-20 09:28:49 +00:00
fanquake
74b68ad28b
depends: libxcb-util-image 0.4.1 2025-11-20 09:28:49 +00:00
fanquake
5bc0dde85d
depends: libxcb-util 0.4.1 2025-11-20 09:28:49 +00:00
fanquake
8d07292c28
depends: libXau 1.0.12 2025-11-20 09:28:48 +00:00
Ava Chow
1af46cff94
Merge bitcoin/bitcoin#33896: clang-format: Set InsertNewlineAtEOF: true
fa1bf6818f0910f997e5235a197ff51f2e18780d clang-format: Set InsertNewlineAtEOF: true (MarcoFalke)

Pull request description:

  Now that the minimum supported clang version is 17, the `InsertNewlineAtEOF` setting can be set to `true` in the clang-format file. (https://releases.llvm.org/16.0.0/tools/clang/docs/ClangFormatStyleOptions.html#insertnewlineateof)

  This is in line with the already existing newline linter. Can be tested via:

  ```
  truncate --size=-1 src/init.cpp
  git diff

  # Should fail:
  cargo run --manifest-path ./test/lint/test_runner/Cargo.toml -- --lint=trailing_newline

  # Restore newline:
  git diff -U0 | ./contrib/devtools/clang-format-diff.py -p1 -i -v
  ```

ACKs for top commit:
  l0rinc:
    ACK fa1bf6818f0910f997e5235a197ff51f2e18780d
  achow101:
    ACK fa1bf6818f0910f997e5235a197ff51f2e18780d
  hodlinator:
    ACK fa1bf6818f0910f997e5235a197ff51f2e18780d
  stickies-v:
    ACK fa1bf6818f0910f997e5235a197ff51f2e18780d
  hebasto:
    ACK fa1bf6818f0910f997e5235a197ff51f2e18780d.
  janb84:
    ACK fa1bf6818f0910f997e5235a197ff51f2e18780d

Tree-SHA512: 6443f0f9e2710fb31c85e4ece5deb9fa25bf22ef2d5cadad2d54a239194860c3a785ffa5dd97be942e42139336575425499f085aa2e3f29003e529fdc20fce20
2025-11-19 16:23:07 -08:00
Ava Chow
27ac11ea0a
Merge bitcoin/bitcoin#33867: kernel: handle null or empty directories in implementation
6657bcbdb4d0359c1843ca31fb3670c7c0c260d5 kernel: allow null data_directory (stickies-v)

Pull request description:

  An empty path may be represented with a `nullptr`. For example, `std::string_view{}.data()` may return nullptr.

  Removes the `BITCOINKERNEL_ARG_NONNULL` attribute for `btck_chainstate_manager_options_create` 's `data_directory` parameter, and instead handles such null arguments in the implementation. [Because an empty path is meaningless](https://github.com/bitcoin/bitcoin/pull/33867#discussion_r2523930442), `btck_chainstate_manager_options_create` now treats both null and empty directories as invalid, tightening the interface.

  Also documents how `BITCOINKERNEL_ARG_NONNULL` should be used.

  Follow-up to https://github.com/bitcoin/bitcoin/pull/33853#pullrequestreview-3454620265

ACKs for top commit:
  stringintech:
    ACK 6657bcb
  maflcko:
    review ACK 6657bcbdb4d0359c1843ca31fb3670c7c0c260d5 🐪
  achow101:
    ACK 6657bcbdb4d0359c1843ca31fb3670c7c0c260d5
  TheCharlatan:
    ACK 6657bcbdb4d0359c1843ca31fb3670c7c0c260d5
  janb84:
    ACK 6657bcbdb4d0359c1843ca31fb3670c7c0c260d5

Tree-SHA512: 11c02b221ff19a5357e94355808e3b503b3a336c16fc5186c9c9137931709e880383ed1f4990fc4cc6b0e23961e2e1e03fc90154a3b546b9490ef66bd63688b7
2025-11-19 16:22:01 -08:00
merge-script
509dc91db1
Merge bitcoin/bitcoin#33026: test, refactor: Embedded ASMap [1/3]: Selected minor preparatory work
7f318e1dd0496384e7bc6d8754c5a2a618a14b2a test: Add better coverage for Autofile size() (Fabian Jahr)
b7af960eb82f5e3af530014a4f59c48faa3a4109 refactor: Add AutoFile::size (Fabian Jahr)
ec0f75862e6791eade487f0dc7d4d0a8c91b9ba5 refactor: Modernize logging in util/asmap.cpp (Fabian Jahr)
606a251e0a3146eb2d2beb7cef486b2d46a37b40 tests: add unit test vectors for asmap interpreter (Pieter Wuille)

Pull request description:

  This contains some commits from #28792 that can be easily reviewed and merged independently. I hope splitting this change off can make this part move a bit faster and reduce frequency of needed rebases for #28792.

  The commits in order:
  - Add additional unit test vectors to the asmap interpreter (written by sipa). This helps to ensure that the further refactors in #28792 don't change behavior.
  - Modernizes the logging in `util/asmap.cpp`, I added this while touching the rest of the file all over anyway.
  - Adds an `AutoFile::size` helper function with some additional test coverage in a separate commit

ACKs for top commit:
  maflcko:
    review ACK 7f318e1dd0496384e7bc6d8754c5a2a618a14b2a 🏀
  hodlinator:
    tACK 7f318e1dd0496384e7bc6d8754c5a2a618a14b2a
  laanwj:
    Code review ACK 7f318e1dd0496384e7bc6d8754c5a2a618a14b2a

Tree-SHA512: 45156b74e4bd9278a7ec24521dfdafe4dab1ba3384243c7d589ef17e16ca374ee2af7178c86b7229e80ca262dbe78c4d456d80a6ee742ec31d2ab5243dac8b57
2025-11-19 09:28:44 +00:00
Hennadii Stepanov
b126f98194
Merge bitcoin-core/gui#910: Added test coverage for qt gui#901 console history filter
310e4979b36cbcf1e9e01dd90c14e2e9997343a0 qt: Added test coverage for qt gui#901 console history filter (WakeTrainDev)

Pull request description:

  Add test coverage for the QT rpc console updated filtered commands in gui#901

ACKs for top commit:
  pablomartin4btc:
    ACK 310e4979b36cbcf1e9e01dd90c14e2e9997343a0
  hebasto:
    ACK 310e4979b36cbcf1e9e01dd90c14e2e9997343a0, tested on Fedora 42 by reverting 4e352efa2ce756c668664486c99d003eef530e0c.

Tree-SHA512: 45bb8583311f145353d8265d28f220d2a318c701346f147979c5d33b27811276d5e18586bf58f35e455701495d2cb87ec54dd78f4ca8631a0c7bd2c1d7fe640c
2025-11-18 23:24:31 +00:00
Hennadii Stepanov
7d7b829c36
Merge bitcoin-core/gui#908: Remove HD seed reference from blank wallet tooltip
929f69d0ff29cb803769a423035fdcf675f40b78 qt: Remove HD seed reference from blank wallet tooltip (John Moffett)

Pull request description:

  Blank descriptor wallets currently do not have HD seeds and none can be added (or 'set') by the user, so remove the reference in the tooltip.

  As I understand it, descriptor wallets don't have a global HD seed and don't store the HD seeds for keys they generate. Currently, no new HD seeds can be added by the user (even for old wallets since `sethdseed` was removed), though it may be possible in the future, eg -  https://github.com/bitcoin/bitcoin/pull/33043

ACKs for top commit:
  maflcko:
    lgtm ACK 929f69d0ff29cb803769a423035fdcf675f40b78

Tree-SHA512: 85e9c8e18a92b3da6fd62b70570cef58e03843633300b65aee5789d38c7bcaa46738970f0aea63f4e9b3e8814abb5bf1e1aa93f568a875ad1e0443d4dafb0aab
2025-11-18 23:02:50 +00:00
Ava Chow
53b72372da
Merge bitcoin/bitcoin#31734: miniscript: account for all StringType variants in Miniscriptdescriptor::ToString()
28a4fcb03c0fb1cd5112eca1eb36dcb13e0b4ff2 test: check listdescriptors do not return a mix of hardened derivation marker (pythcoiner)
975783cb79e929260873c1055d4b415cd33bb6b9 descriptor: account for all StringType in MiniscriptDescriptor::ToStringHelper() (pythcoiner)

Pull request description:

  In `MiniscriptDescriptor::ToStringHelper()` only the `StringType::Private` variant of the `type` argument was handled. This PR implements serializing w/ all variants of `StringType` & add a functional test for the descriptor triggering the related issue.

  Closes #31694: previously when calling `listdescriptors` RPC on a wallet containing a taproot descriptor w/ a (miniscript) taptree, origins of internal key & taptree were serialized w/ differents hardened derivation markers:
   - origin of the internal key were serialized w/ `StringType::Normalized` type (using `h` as marker)
   - origins of taptree keys were serialized w/ `StringType::Private` type (using `'` as marker)

  Note: Origins in segwit (`wsh()`) miniscript descriptors were also serialized w/ `StringType::Private` type (`'` marker) and are now serialized w/ `StringType::Normalized` type (`h` marker).

ACKs for top commit:
  sipa:
    Code review ACK 28a4fcb03c0fb1cd5112eca1eb36dcb13e0b4ff2
  achow101:
    ACK 28a4fcb03c0fb1cd5112eca1eb36dcb13e0b4ff2
  rkrux:
    Concept ACK 28a4fcb03c0fb1cd5112eca1eb36dcb13e0b4ff2

Tree-SHA512: 15d14000b5951ca69a64a05b9a0b138c48a07b81eaf2fa86b91ac20cc8735533355a787363c64ba88403dd8a56ef5232cba57d34bea80835a0f40774d62fbc2b
2025-11-18 14:32:01 -08:00
Ava Chow
a7f9bbe4c5
Merge bitcoin/bitcoin#32821: rpc: Handle -named argument parsing where '=' character is used
f53dbbc5057b6f676db4be9bc720898149f293fc test: Add functional tests for named argument parsing (zaidmstrr)
694f04e2bd34f994d81e27b68e4d7466a9a319f8 rpc: Handle -named argument parsing where '=' character is used (zaidmstrr)

Pull request description:

  Addresses [comment](https://github.com/bitcoin/bitcoin/pull/31375#discussion_r2091886628) and [this](https://github.com/bitcoin/bitcoin/pull/31375#discussion_r2092039999).

  The [PR #31375](https://github.com/bitcoin/bitcoin/pull/31375) got merged and enables `-named` by default in the `bitcoin rpc` interface; `bitcoin rpc` corresponds to `bitcoin-cli -named` as it's just a wrapper.  Now, the problem arises when we try to parse the positional paramater which might contain "=" character.  This splits the parameter into two parts first, before the "=" character, which treats this as the parameter name, but the other half is mostly passed as an empty string. Here, the first part of the string is an unknown parameter name; thus, an error is thrown. These types of errors are only applicable to those RPCs which might contain the `=` character as a parameter. Some examples are `finalizepsbt`, `decodepsbt`, `verifymessage` etc.

  This is the one example of the error in `finalizepsbt` RPC:
  ```
  ./bitcoin-cli -named -regtest finalizepsbt cHNidP8BAJoCAAAAAqvNEjSrzRI0q80SNKvNEjSrzRI0q80SNKvNEjSrzRI0AAAAAAD9////NBLNqzQSzas0Es2rNBLNqzQSzas0Es2rNBLNqzQSzasBAAAAAP3///8CoIYBAAAAAAAWABQVQBGVs/sqFAmC8HZ8O+g1htqivkANAwAAAAAAFgAUir7MzgyzDnRMjdkVa7d+Dwr07jsAAAAAAAAAAAA=
  error code: -8
  error message:
  Unknown named parameter cHNidP8BAJoCAAAAAqvNEjSrzRI0q80SNKvNEjSrzRI0q80SNKvNEjSrzRI0AAAAAAD9////NBLNqzQSzas0Es2rNBLNqzQSzas0Es2rNBLNqzQSzasBAAAAAP3///8CoIYBAAAAAAAWABQVQBGVs/sqFAmC8HZ8O+g1htqivkANAwAAAAAAFgAUir7MzgyzDnRMjdkVa7d+Dwr07jsAAAAAAAAAAAA
  ```
  This PR fixes this by updating the `vRPCConvertParams` table that identifies parameters that need special handling in `-named` parameter mode. The parser now recognises these parameters and handles strings with "=" char correctly, preventing them from being incorrectly split as parameter assignments.

ACKs for top commit:
  ryanofsky:
    Code review ACK f53dbbc5057b6f676db4be9bc720898149f293fc. Just applied comment & test suggestions since last review
  kannapoix:
    Code review ACK: f53dbbc5057b6f676db4be9bc720898149f293fc
  achow101:
    ACK f53dbbc5057b6f676db4be9bc720898149f293fc

Tree-SHA512: 1b517144efeff45a4c4256c27a39ddf187f1d6189d133402a45171678214a10ff2925c31edcfd556d67f85bd26d42f63c528b941b68c9880eab443f2c883e681
2025-11-18 14:06:54 -08:00
merge-script
2444488f6a
Merge bitcoin/bitcoin#33894: net: Remove unused local_socket_bytes variable in CConnman::GetAddresses()
4d893c0f46055218d6a2b3d24fbce9f0fb6ddc92 net: Remove unused `local_socket_bytes` variable in `CConnman::GetAddresses()` (WakeTrainDev)

Pull request description:

  The local_socket_bytes variable was never used. Removed it to clean up dead code.

ACKs for top commit:
  mzumsande:
    ACK 4d893c0f46055218d6a2b3d24fbce9f0fb6ddc92
  theStack:
    ACK 4d893c0f46055218d6a2b3d24fbce9f0fb6ddc92

Tree-SHA512: f423bcf975aa2602464fcb96db323cbd6007a7491ddbe119f1d20e890c883dd351a55976151c5d25f5d26267b0efe1f0836fbd65e540c920dac931ed8d67846a
2025-11-18 09:30:24 +00:00
MarcoFalke
fa1bf6818f
clang-format: Set InsertNewlineAtEOF: true 2025-11-18 08:40:03 +01:00
Ava Chow
115d298a9f
Merge bitcoin/bitcoin#33872: init: completely remove -maxorphantx option
0aebdac95da9a7d476264424c0107bd806ce5362 init: completely remove `-maxorphantx` option (Sebastian Falbesoner)

Pull request description:

  This is a small follow-up for #32941 (commit 1384dbaf6d0bfcdb05f97e1e3cb3d5e498bee505), removing the `-maxorphantx` option completely, now that v30 has been released. If removing it for v31 is seen as controversial/premature (I personally don't think it is), the merge can be delayed for a future release.

ACKs for top commit:
  maflcko:
    lgtm ACK 0aebdac95da9a7d476264424c0107bd806ce5362
  achow101:
    ACK 0aebdac95da9a7d476264424c0107bd806ce5362
  w0xlt:
    ACK 0aebdac95d
  rkrux:
    lgtm ACK 0aebdac95da9a7d476264424c0107bd806ce5362
  stickies-v:
    ACK 0aebdac95da9a7d476264424c0107bd806ce5362

Tree-SHA512: 818633b903174387ae259acb1d1e8ce07f78e158de2c150742ef0950b0f5d62af553e4e35ab962432306e04e07c45b1be11dbae459a8b62c4b9a6b5ef1746d26
2025-11-17 18:17:17 -08:00
Ava Chow
a90f3922ff
Merge bitcoin/bitcoin#32419: psbt: clarify PSBT, PSBTInput, PSBTOutput unserialization flows
d31158d3646f3c7e4832b9ca50f6ffe02800ff4c psbt: clarify PSBT, PSBTInput, PSBTOutput unserialization flows (rkrux)

Pull request description:

  The unserialization flows of the PSBT types work based on few underlying assumptions of functions from `serialize.h` & `stream.h` that takes some to understand when read the first time.

  Add few comments that highlight these assumptions hopefully making it easier to grasp. Also, mention key/value format types as per BIP 174.

ACKs for top commit:
  achow101:
    ACK d31158d3646f3c7e4832b9ca50f6ffe02800ff4c
  theStack:
    ACK d31158d3646f3c7e4832b9ca50f6ffe02800ff4c

Tree-SHA512: 45111ef7f0258ebbc41d058b3ef2a72472774ab2878caf2d71d7b57b27549c46a51ccbeda5fe164bcf4f7ec10627bbae6e7763aa80b1e66912703a2088682817
2025-11-17 14:08:20 -08:00
WakeTrainDev
4d893c0f46 net: Remove unused local_socket_bytes variable in CConnman::GetAddresses() 2025-11-17 23:59:21 +02:00
merge-script
ead849c9f1
Merge bitcoin/bitcoin#33886: test: Remove tests violating hardened std::span
fadb4f63cb0f0b544bc95e48cb42c7636c1dec15 test: Remove tests violating hardened std::span (MarcoFalke)

Pull request description:

  Also, add a test for creating a CScript from an empty byte vector.

  To test: `rm -rf ./bld-cmake && cmake -B ./bld-cmake  -DCMAKE_C_COMPILER='clang' -DCMAKE_CXX_COMPILER='clang++;-stdlib=libc++;-D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_DEBUG' -DBUILD_GUI=OFF -DBUILD_FUZZ_BINARY=OFF -DBUILD_BENCH=OFF -DBUILD_KERNEL_LIB=ON -DENABLE_WALLET=OFF -DENABLE_IPC=OFF && cmake --build ./bld-cmake --parallel $( nproc ) && valgrind --tool=none ./bld-cmake/bin/test_kernel --catch_system_error=no`

  Before:

  ```
  /cxx_build/include/c++/v1/span:451: libc++ Hardening assertion __count == 0 || std::to_address(__first) != nullptr failed: passed nullptr with non-zero length in span's constructor (iterator, len)
  ```

  After: (Passes)

ACKs for top commit:
  TheCharlatan:
    ACK fadb4f63cb0f0b544bc95e48cb42c7636c1dec15
  stickies-v:
    ACK fadb4f63cb0f0b544bc95e48cb42c7636c1dec15

Tree-SHA512: 47c2ee975b82978bbb226b47cde337dce5a7e25bc1d70c31f34b9a9ff38477609764c267e47ac5fd71a578fb2b2b135c698bb02dae1777a87bcc4079dcd278ef
2025-11-17 14:00:05 +00:00
merge-script
c03081fdb4
Merge bitcoin/bitcoin#33776: ci: Lint follow-ups
fae3618fd6c82dfcea2f296caa16a79182b32059 ci: Annotate all check runs with the pull request number (MarcoFalke)
faf05d637d674d945704577ab785dff0f9a6d80f ci: Retry lint image building once after failure (MarcoFalke)
fac4f6de28e7e477e005c02ddcfbe07cb27441a4 ci: Rewrite lint task Bash snippet to Python (MarcoFalke)
fa0d37a579853c402b615ecadb5c91e677180337 ci: Rewrite Bash to check inputs to Python (MarcoFalke)

Pull request description:

  This contains a few follow-ups to https://github.com/bitcoin/bitcoin/pull/33744:

  * Rewrite the actions Bash snippet to Python. I've confirmed it still works in https://github.com/maflcko/bitcoin-core-with-ci/actions/runs/19067932430 (scroll down).
  * Add a lint-build retry to avoid issues such as https://github.com/bitcoin/bitcoin/issues/33640 for the lint task as well.
  * Finally, run the `debug_pull_request_number_str` annotation on all checks, to ensure they are present even when GitHub deletes annotations on a re-run. For example, the initial attempt https://github.com/bitcoin/bitcoin/actions/runs/19041534107/attempts/1?pr=33772 has the annotations, and the lint re-run has them removed: https://github.com/bitcoin/bitcoin/actions/runs/19041534107?pr=33772

ACKs for top commit:
  m3dwards:
    ACK fae3618fd6c82dfcea2f296caa16a79182b32059
  willcl-ark:
    ACK fae3618fd6c82dfcea2f296caa16a79182b32059

Tree-SHA512: 6db147ccee622b7a640703f7e916ea662a8e42978f633046f22f8540017196250ef7771b28cd6e502368f1f3fe52b7524de0a3443f25c9659f524b4c9286ad0d
2025-11-17 12:35:17 +00:00
MarcoFalke
fadb4f63cb
test: Remove tests violating hardened std::span 2025-11-17 13:12:08 +01:00
merge-script
6e21558160
Merge bitcoin/bitcoin#33869: refactor: Avoid -W*-whitespace in git archive
fa95353902b7a6f73f094e78106088ab3c16ce14 ci: Run macos tasks in a git archive, not git checkout (MarcoFalke)
faf99ae379636d6ef8316ffb2efaa61896343de9 refactor: Avoid -W*-whitespace in git archive (MarcoFalke)

Pull request description:

  Otherwise, compilation with GCC-15+ will warn about it:

  ```
  src/clientversion.cpp:33:79: error: trailing whitespace [-Werror=trailing-whitespace=]
     33 | //! git will put "#define GIT_COMMIT_ID ..." on the next line inside archives.
  ```

  Follow-up to https://github.com/bitcoin/bitcoin/pull/32482#issuecomment-3522280482

  Can be tested via `git archive --output=/tmp/a.tar HEAD`

ACKs for top commit:
  fanquake:
    ACK fa95353902b7a6f73f094e78106088ab3c16ce14

Tree-SHA512: 73940ffc0fd83db557275bd5e993a3c47c5397682a1188447c48e077ead597ba0fc3e5ef9da7b746746ff04a26022ce35ac10768888bbd4707f25b799af43e45
2025-11-17 11:36:47 +00:00
merge-script
c8715aca95
Merge bitcoin/bitcoin#33247: build: Remove CMAKE_SKIP_BUILD_RPATH and SKIP_BUILD_RPATH settings
2594d5a189e52052c2019faccaa47f2affdc48e1 build: Remove CMAKE_SKIP_BUILD_RPATH and SKIP_BUILD_RPATH settings (Henry Romp)

Pull request description:

  Remove CMAKE_SKIP_BUILD_RPATH and SKIP_BUILD_RPATH settings that are no longer needed after reordering the Guix build script to perform binary checks after installation.

  This PR also removes the unused CMake maintenance targets (`check-security` and `check-symbols`) and updates the Guix security checks to include binaries in the `libexec/` directory (added in PR #31679).

ACKs for top commit:
  purpleKarrot:
    ACK 2594d5a189e52052c2019faccaa47f2affdc48e1
  hebasto:
    ACK 2594d5a189e52052c2019faccaa47f2affdc48e1.

Tree-SHA512: ed451a298f5aae05c177b0033b092faaa7536caeaa3d84da9b8b611e2aa905e1dd337e57aef0efd69ce6ce6ac0cf77dc57adf175079b95bf53dd96d5d0c8118b
2025-11-17 11:00:03 +00:00
merge-script
ee5de407e3
Merge bitcoin/bitcoin#33537: guix: build bitcoin-qt with static libxcb & utils
96963b888e5a10f4024fa0449c60c02e3bed6245 depends: static libxcb (fanquake)
ad06843fab06f794c98b54b6b4f47d38611a7c80 depends: avoid qdbusviewer in Qt build (fanquake)
6848ed56dc5f2c0f7cf8d67271896f81116352ec depends: apply Qt patches to fix static libxcb use (fanquake)
5f1b016bebd2fa13dd794ed633ee66d5155d5e12 depends: static libxcb-util-image (fanquake)
98a2fbbe70b87ea124aa807c7271a6a0f7c27a11 depends: static libxkbcommon (fanquake)
1412baf77295345f0649e0a6c352f516595cb21f depends: static libxcb-util-wm (fanquake)
a4009dadf466e1da41c5622d5bfc6d670d16b6e6 depends: static libxcb-keysyms (fanquake)
bcfb8679b3bab532d3075d6b643abeac9c4ab981 depends: static libxcb-render-util (fanquake)

Pull request description:

  Related to https://github.com/bitcoin/bitcoin/pull/33434.
  Tested on:
  * Fedora 42: https://github.com/bitcoin/bitcoin/pull/33537#pullrequestreview-3455373185.
  * Ubuntu 24.04: https://github.com/bitcoin/bitcoin/pull/33537#issuecomment-3533276038.
  * Debian 13.x: https://github.com/bitcoin/bitcoin/pull/33537#issuecomment-3540923567.

ACKs for top commit:
  hebasto:
    re-ACK 96963b888e5a10f4024fa0449c60c02e3bed6245, rebased, addressed my comments and adjusted formatting in `symbol-check.py` since my recent [review](https://github.com/bitcoin/bitcoin/pull/33537#pullrequestreview-3456081353).
  willcl-ark:
    utACK 96963b888e5a10f4024fa0449c60c02e3bed6245
  TheCharlatan:
    ACK 96963b888e5a10f4024fa0449c60c02e3bed6245

Tree-SHA512: e947bc5b5cb0ec97963bc3f451f8fa6afb2e3699435370798d7a2aaefea7445cbe031d3b642f946f936829fa4cbe4efd2bfacd6b15739da15c3596cc4776b362
2025-11-17 10:32:46 +00:00
merge-script
024a787350
Merge bitcoin/bitcoin#33876: doc: Update NetBSD Build Guide
c29eaeeaf9377b1e3c33e82d29597790a5388403 doc: Update NetBSD Build Guide (Hennadii Stepanov)

Pull request description:

  The `py310-zmq` binary package is not available by default on NetBSD 10.1. It has been updated to `py313-zmq`, and the `python310` package is updated accordingly.

  See: https://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/index-all.html.

ACKs for top commit:
  fanquake:
    ACK c29eaeeaf9377b1e3c33e82d29597790a5388403

Tree-SHA512: 6924a974d6ed494609c789cc3f28cf173af3a37b940520ad7b169eff87e30af8346fec07e46f8bffe14a329060c41ac46d46b91910a00994cdf8a7ace8391d1c
2025-11-17 10:23:41 +00:00
Hennadii Stepanov
c66e988754
Merge bitcoin/bitcoin#33865: cmake: Specify Windows plugin path in test_bitcoin-qt property
0dd8d5c237e2fdb0168d9ca644e7f2f5a8b6ed72 cmake: Specify Windows plugin path in `test_bitcoin-qt` property (Hennadii Stepanov)

Pull request description:

  This PR simplifies testing on Windows by removing the need to set the `QT_PLUGIN_PATH` environment variable for different build configurations. For example, the paths might otherwise be:
  - `C:/Users/hebasto/dev/bitcoin/build/vcpkg_installed/x64-windows/Qt6/plugins/` for "Release"
  - `C:/Users/hebasto/dev/bitcoin/build/vcpkg_installed/x64-windows/debug/Qt6/plugins/` for "Debug"

ACKs for top commit:
  purpleKarrot:
    ACK 0dd8d5c237e2fdb0168d9ca644e7f2f5a8b6ed72

Tree-SHA512: 0418b8fa4d74ca500aae9e36e56ebcefb566d2ac04a9d22e17d309400ad38dd5a6e75f0195c680796b761fb145444c33336b64180f15c6b1125fe190d58396b6
2025-11-15 16:19:34 +00:00
Hennadii Stepanov
c29eaeeaf9
doc: Update NetBSD Build Guide
The `py310-zmq` binary package is not available by default on
NetBSD 10.1. It has been updated to `py313-zmq`, and the `python310`
package is updated accordingly.

See: https://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/index-all.html.
2025-11-15 13:11:49 +00:00
Fabian Jahr
7f318e1dd0
test: Add better coverage for Autofile size()
The new test explicitly checks that the function does not change the current position.
2025-11-14 16:37:06 +02:00
merge-script
e221b25246
Merge bitcoin/bitcoin#33860: depends: drop Qt patches
3e9aca6f1b52169eed386849900a400e8cea431e depends: drop qtbase-moc-ignore-gcc-macro.patch qt patch (fanquake)
0da5a82700e9de825e72373f29c16e0e5418a63f depends: drop unused qt patch (fanquake)

Pull request description:

  Drop one patch that was already unused, and one that compilation succeeds without.

ACKs for top commit:
  TheCharlatan:
    ACK 3e9aca6f1b52169eed386849900a400e8cea431e

Tree-SHA512: 4416348c80d8af8530d46d4f5a02a1170f7a4e2fc8ef88cffb8888fa913ed86d1bef10efb437434ebcdac1b1ed23a3669c1ba654cf6f4395dc0a73192fe0024f
2025-11-14 09:52:36 +00:00
Fabian Jahr
b7af960eb8
refactor: Add AutoFile::size 2025-11-14 01:17:38 +02:00
Fabian Jahr
ec0f75862e
refactor: Modernize logging in util/asmap.cpp 2025-11-14 01:05:26 +02:00
Pieter Wuille
606a251e0a
tests: add unit test vectors for asmap interpreter 2025-11-14 01:04:13 +02:00
stickies-v
6657bcbdb4
kernel: allow null data_directory
An empty path may be represented with a nullptr. For example,
std::string_view::data() may return nullptr.

Removes the BITCOINKERNEL_ARG_NONNULL attribute for data_directory,
and instead handles such null arguments in the implementation.

Also documents how BITCOINKERNEL_ARG_NONNULL should be used.
2025-11-13 18:17:58 +00:00
Sebastian Falbesoner
0aebdac95d init: completely remove -maxorphantx option 2025-11-13 19:02:39 +01:00
MarcoFalke
fa95353902
ci: Run macos tasks in a git archive, not git checkout
This confirms that compiling this way is possible at all.
2025-11-13 15:56:45 +01:00
MarcoFalke
fae3618fd6
ci: Annotate all check runs with the pull request number
On check re-runs the annotations are discarded, so all check runs
require the number to be set.
2025-11-13 12:07:55 +01:00
MarcoFalke
faf05d637d
ci: Retry lint image building once after failure
The same was done for the other CI tasks in commit fa6aa9f42fa. This may
guard against intermittent network issues to download the base image or
packages ...
2025-11-13 11:40:03 +01:00
fanquake
96963b888e
depends: static libxcb
Co-authored-by: tobtoht <tob@featherwallet.org>
2025-11-13 10:12:08 +00:00
fanquake
ad06843fab
depends: avoid qdbusviewer in Qt build
This is unused, and causes issues with static builds.
2025-11-13 10:12:08 +00:00
fanquake
6848ed56dc
depends: apply Qt patches to fix static libxcb use
Co-authored-by: tobtoht <tob@featherwallet.org>
2025-11-13 10:12:04 +00:00
merge-script
dfde31f2ec
Merge bitcoin/bitcoin#33864: scripted-diff: fix leftover references to policy/fees.h
b0a38871546dfcdd3a578c1ae4c28a88b6ee32d5 scripted-diff: fix leftover references to `policy/fees.h` (ismaelsadeeq)

Pull request description:

  Fixes #33863

  ryanofsky wrote
  > I still see some references to the src/policy/fees.h file removed by this PR:

  ```
  $ git grep -n policy/fees.h
  src/wallet/rpc/spend.cpp:206: * @param[in]     conf_target       UniValue integer; confirmation target in blocks, values between 1 and 1008 are valid per policy/fees.h;
  test/functional/rpc_estimatefee.py:39:        # max value of 1008 per src/policy/fees.h
  test/functional/rpc_psbt.py:604:                assert_raises_rpc_error(-8, "Invalid conf_target, must be between 1 and 1008",  # max value of 1008 per src/policy/fees.h
  test/functional/wallet_basic.py:337:            assert_raises_rpc_error(-8, "Invalid conf_target, must be between 1 and 1008",  # max value of 1008 per src/policy/fees.h
  test/functional/wallet_fundrawtransaction.py:851:                assert_raises_rpc_error(-8, "Invalid conf_target, must be between 1 and 1008",  # max value of 1008 per src/policy/fees.h
  test/functional/wallet_send.py:315:                expect_error=(-8, "Invalid conf_target, must be between 1 and 1008"))  # max value of 1008 per src/policy/fees.h
  ```

  This is fixed in this PR by running a script that searches for what he greps and replaces it with the right reference.

  ```
  git grep -l "policy\/fees\.h" | xargs sed -i "s/policy\/fees.h/policy\/fees\/block_policy_estimator.h/g"
  ```

ACKs for top commit:
  kevkevinpal:
    ACK [b0a3887](b0a3887154)
  janb84:
    ACK b0a38871546dfcdd3a578c1ae4c28a88b6ee32d5
  rkrux:
    lgtm ACK b0a38871546dfcdd3a578c1ae4c28a88b6ee32d5

Tree-SHA512: e24f2aaf18fcfb0ae047a53ed209135a644ff08f5a8bc162c1522be3f99d7d01d550fc2e73d8db5fec7b748902daf68e61e7a5624f5913b9824feba5641fc78c
2025-11-13 09:48:50 +00:00
fanquake
5f1b016beb
depends: static libxcb-util-image
Co-authored-by: tobtoht <tob@featherwallet.org>
2025-11-13 09:45:54 +00:00
fanquake
98a2fbbe70
depends: static libxkbcommon 2025-11-13 09:45:54 +00:00
fanquake
1412baf772
depends: static libxcb-util-wm 2025-11-13 09:45:53 +00:00
fanquake
a4009dadf4
depends: static libxcb-keysyms 2025-11-13 09:45:53 +00:00