Skip to content

Commit 67e0422

Browse files
committed
Squashed 'depend/bitcoin/' changes from eb0594e23f..891030ac8b
891030ac8b Merge bitcoin/bitcoin#33822: kernel: Add block header support and validation 0871e104a2 Merge bitcoin/bitcoin#34242: Prepare string and net utils for future HTTP operations 1b079becf1 Merge bitcoin/bitcoin#34317: fuzz: Exclude too expensive inputs in descriptor_parse targets cdb42a8df8 Merge bitcoin/bitcoin#34380: test: Fix P2PK script test 7b48b09b7f Merge bitcoin/bitcoin#34376: bench/test: clarify merkle bench and witness test intent fab2f3df4b fuzz: Exclude too expensive inputs in descriptor_parse targets 1911db8c6d string: add LineReader ee62405cce time: implement and test RFC1123 timestamp string eea38787b9 string: add AsciiCaseInsensitive{KeyEqual, Hash} for unordered map 1d8cb78d5b Merge bitcoin/bitcoin#34309: guix: stop passing depends sources to codesigning 4e300df712 string: add `base` argument for ToIntegral to operate on hexadecimal 0b0d9125c1 Modernize GetBindAddress() 7041648ee5 Merge bitcoin/bitcoin#34375: doc: mempool: fix `removeUnchecked` incorrect comment 9a9d797ef6 kernel: Add support for block headers 1137debb85 doc: mempool: fix `removeUnchecked` incorrect comment c9ce1c7c4a test: Fix P2PK script test 691dc830c6 Merge bitcoin/bitcoin#34377: test: Rename wallet in restore attempt in wallet_assumeutxo d7fd8c6952 Merge bitcoin/bitcoin#34090: net: Fix `-Wmissing-braces` 1fbbdd20cd Merge bitcoin/bitcoin#34355: doc: Fix wrong code in WITH_LOCK doxygen comment 9016858282 Merge bitcoin/bitcoin#34297: p2p: add validation checks for initial self-announcement e1dc4afeeb test: Rename wallet name in restore attempt in wallet_assumeutxo 8b9d30e3fa bench/test: clarify merkle bench and witness test intent 5715748333 Merge bitcoin/bitcoin#34366: test: switch order of error code and message check 2a1234001c Merge bitcoin/bitcoin#34269: wallet: disallow creating new or restoring to an unnamed (default) wallet 3ea2b6fe18 Merge bitcoin/bitcoin#34369: test: Scale NetworkThread close timeout with timeout_factor fab055c907 test: Scale NetworkThread close timeout with timeout_factor e324925d19 Merge bitcoin/bitcoin#34363: Update libmultiprocess subtree to avoid occasional rpc_misc.py timeout fa267551c4 Merge bitcoin/bitcoin#34353: refactor: Use std::bind_front over std::bind b851ff6cae kernel: Add Handle/View pattern for BlockValidationState fa61fadad1 doc: Fix wrong code in WITH_LOCK doxygen comment 52096de212 Merge bitcoin/bitcoin#34032: util: Add some more Unexpected and Expected methods 0aba464ce7 test: switch order of error code and message check 8c07800b19 Merge bitcoin/bitcoin#32497: merkle: pre‑reserve leaves to prevent reallocs with odd vtx count a365c9fe1f Merge bitcoin/bitcoin#33738: log: avoid collecting `GetSerializeSize` data when compact block logging is disabled bc3c4cd8b2 Merge bitcoin/bitcoin#32724: Musig2 tests f7e88e298a Merge bitcoin/bitcoin#32471: wallet/rpc: fix listdescriptors RPC fails to return descriptors with private key information when wallet contains descriptors missing any key 7f5ebef56a Merge bitcoin/bitcoin#34302: fuzz: Restore SendMessages coverage in process_message(s) fuzz targets a6e8cd306e Merge bitcoin/bitcoin#34310: iwyu: Add missed line to IWYU patch f4413706f9 Merge bitcoin/bitcoin#34344: ci: update GitHub Actions versions faa18dceba refactor: Use std::bind_front over std::bind c84c752506 Merge bitcoin/bitcoin#34319: Drop some `IWYU pragma: export` and document IWYU usage 38f951f828 Merge bitcoin/bitcoin#34308: doc: Document IWYU workaround ab80588f52 Merge bitcoin/bitcoin#34345: clang-format: use AngleBracket for main includes 977be171f2 Merge bitcoin/bitcoin#34188: test: Add multiple transactions and error handling tests for getreceivedbyaddress 347840164f Merge bitcoin/bitcoin#32143: Fix 11-year-old mis-categorized error code in OP_IF evaluation 969c840db5 log,blocks: avoid `ComputeTotalSize` and `GetHash` work when logging is disabled babfda332b log,net: avoid `ComputeTotalSize` when logging is disabled 1658b8f82b refactor: rename `CTransaction::GetTotalSize` to signal that it's not cached 75b704df9d wallettool: Disallow creating new unnamed wallets 5875a9c502 wallet: disallow unnamed wallets in createwallet and restorewallet 0dafc0d83c clang-format: use AngleBracket for main includes 03f363d378 doc: Document IWYU workaround d938947b3a doc: Add "Using IWYU" to Developer Notes e1a90bcecc iwyu: Do not export `crypto/hex_base.h` header 19a2edde50 iwyu: Do not export C++ headers in most cases 9482f00df0 chore: Update outdated GitHub Actions versions 898e8d3a2d Merge bitcoin/bitcoin#34296: refactor: [move-only] Merge core_io module, remove from libkernel faf07bd1ab doc: Fix typo found by LLM faf66673ac refactor: [move-only] Merge core_io module fa6947f491 kernel: Remove unused core_read.cpp from kernel 5e49f5d63c Merge bitcoin/bitcoin#33779: ci, iwyu: Fix warnings in `src/kernel` and treat them as errors c57fbbe99d Merge bitcoin/bitcoin#31650: refactor: Avoid copies by using const references or by move-construction d45ec3fba9 test: Add getreceivedbyaddress coverage to wallet_listreceivedby 22bde74d1d Merge bitcoin-core/gui#924: Show an error message if the restored wallet name is empty 81bf4209e9 Merge bitcoin/bitcoin#34318: contrib: Revert "verify-commits sha1 exceptions" a5a8c4139c ci, iwyu: Fix warnings in `src/kernel` and treat them as errors fa38ffac6f contrib: [refactor] Use shorter read_text from pathlib fab8bc0308 contrib: Revert "verify-commits sha1 exceptions" de509c6df9 iwyu: Add missed line to IWYU patch faa59b3679 util: Add Expected::swap() fabb47e4e3 util: Implement Expected::operator*()&& d94d7b1a4b guix: stop passing depends sources to codesigning 0ffb20dee1 Merge bitcoin/bitcoin#34282: qa: Fix Windows logging bug fab9721430 util: Implement Expected::value()&& and Expected::error()&& fac4800959 util: Add Expected<void, E> specialization fa6575d6c2 util: Make Expected::value() throw 697bc7f6a2 Merge bitcoin/bitcoin#34300: test: use ephemeral ports in p2p_private_broadcast.py 37cb209277 Merge bitcoin/bitcoin#34238: wallet: remove erroneous-on-reorg Assume() fabf8d1c5b fuzz: Restore SendMessages coverage in process_message(s) fuzz targets fac7fed397 refactor: Use std::reference_wrapper<AddrMan> in Connman d08c1b3ed9 Merge bitcoin/bitcoin#34288: fuzz: Exclude too expensive inputs in miniscript_string target 6a8dbf9b93 p2p: add validation check for initial self-announcement baa554f708 Merge bitcoin/bitcoin#34259: Find minimal chunks in SFL 3e340672ec test: use ephemeral ports in p2p_private_broadcast.py 9d2b8fddad Merge bitcoin/bitcoin#34210: bench: Remove -priority-level= option ae3b5a99f8 Merge bitcoin/bitcoin#34186: test: use dynamic port allocation in proxy tests f4364cedb3 Merge bitcoin/bitcoin#33728: test: Add bitcoin-chainstate test for assumeutxo functionality 80c4c2df3f Merge bitcoin/bitcoin#34146: p2p: send first addr self-announcement in separate message 🎄 fa64d8424b refactor: Enforce readability-avoid-const-params-in-decls faf0c2d942 refactor: Avoid copies by using const references or by move-construction cd0959ce9b Merge bitcoin/bitcoin#34185: test: fix `feature_pruning` when built without wallet b0b65336e7 Merge bitcoin/bitcoin#32740: refactor: Header sync optimisations & simplifications fac70ea8b5 fuzz: Exclude too expensive inputs in miniscript_string target fa90786478 iwyu: Fix includes for test/fuzz/util/descriptor module c0219f6bea Merge bitcoin/bitcoin#34285: ci: Install `pyzmq` for functional tests on Windows f62568c97c ci: Install `pyzmq` for functional tests on Windows 2d380aee43 Merge bitcoin/bitcoin#34243: doc: validation: fix `PackageMempoolChecks` incorrect comment db6e576710 Merge bitcoin/bitcoin#34279: test: Fail on self-check warnings in test_runner.py c447eea43d Merge bitcoin/bitcoin#34145: test: Add unit test for OP_NUMEQUALVERIFY 979d41bfab qa: Fix Windows logging bug 28f70c571b Merge bitcoin/bitcoin#34240: ci: Run feature_unsupported_utxo_db.py on Windows fa2959e16d test: Fail on self-check warnings in test_runner.py ac76d94117 Merge bitcoin/bitcoin#34109: refactor: Use uint64_t over size_t for serialize corruption check in fees.dat fa5032f0e4 ci: Run feature_unsupported_utxo_db.py on Windows 57350c5352 Merge bitcoin/bitcoin#34272: psbt: Fix `PSBTInputSignedAndVerified` bounds `assert` 88a7294356 Merge bitcoin/bitcoin#34260: contrib: Remove unused functions 8e8d8f29a8 Merge bitcoin/bitcoin#33775: guix: use GCC 14.3.0 over 13.3.0 d20037893a Merge bitcoin/bitcoin#34244: test: Prevent loop from running out of utxos in bip68 test 4aa80c3b5e Merge bitcoin/bitcoin#34230: fuzz: Reject too large descriptor leaf sizes in scriptpubkeyman target 72e0999ddb Merge bitcoin/bitcoin#34099: test: Improve code coverage for pubkey checks 377c6dbc3c Merge bitcoin/bitcoin#34224: init: Return EXIT_SUCCESS on interrupt c094a966d6 Merge bitcoin/bitcoin#34246: verify-commits: Allow specific commits to allow sha1 c352d3c51c Merge bitcoin/bitcoin#34168: qa: Require `--exclude` for each excluded test d30ad4a912 wallet, rpc: Use HandleWalletError in createwallet 7fc465ece8 doc: fix incorrect description of `PackageMempoolChecks` 62557c9529 Merge bitcoin/bitcoin#33819: mining: getCoinbase() returns struct instead of raw tx 73d0fe62d3 Merge commit '7562e2aeed95b0dc627e8e3a849941992f0189bb' into pr/subtree-7 7562e2aeed Squashed 'src/ipc/libmultiprocess/' changes from a4f92969649..1fc65008f7d 2f5b1c5f80 psbt: Fix `PSBTInputSignedAndVerified` bounds `assert` fa3df52712 bench: Require semicolon after BENCHMARK(foo) fa8938f08c bench: Remove incorrect __LINE__ in BENCHMARK macro fa51a28a94 scripted-diff: Remove priority_level from BENCHMARK macro fa790c3eea bench: Remove -priority-level= option dd904298c1 gui: Show an error message if the restored wallet name is empty 3c8d389a84 Merge bitcoin/bitcoin#34249: doc: archive v30.2 release notes 5e98a6a470 Merge bitcoin/bitcoin#34266: release note: cpfp carveout removed in 31.0 61726483e1 release note: cpfp carveout removed in 31.0 da56ef239b clusterlin: minimize chunks (feature) d09a19fd41 test: add coverage for issue 34206 a0ca851d26 Make GetBindAddress() callable from outside net.cpp 796f18e559 Merge bitcoin/bitcoin#29415: Broadcast own transactions only via short-lived Tor or I2P connections facaf56214 contrib: Remove unused functions abc6a3a4eb Merge bitcoin/bitcoin#34252: doc: add 433 (Pay to Anchor) to bips.md 44b12cdb11 doc: add 433 (Pay to Anchor) to bips.md f664860e52 doc: archive v30.2 release notes ce63d37ebe test: use dynamic port allocation to avoid test conflicts 8ac134be5e contrib: verify-commits sha1 exceptions ab41492c6b test: Prevent loop from running out of utxos in bip68 test aeaa67a9ea Merge bitcoin/bitcoin#33428: depends: Boost 1.90.0 1412b779ad refactor: execute `PackageMempoolChecks` during package rbf only 4c7cfd37ad wallet: remove erroneous-on-reorg Assume() 8fb5e5f41d test: check wallet rescan properly in feature_pruning 595504a432 Merge bitcoin/bitcoin#34236: Add sedited to trusted-keys 5c724f3b04 Merge bitcoin/bitcoin#34235: miniminer: stop assuming ancestor fees >= self fees 2d87afcf7d Merge bitcoin/bitcoin#34227: guix: Fix `osslsigncode` tests 7b17fb78fa Merge bitcoin/bitcoin#34226: wallet: test: Relative wallet failed migration cleanup eeaf28dbe0 wallet: test: Failed migration cleanup 997e7b4d7c init: Fix non-zero code on interrupt d1b227f3ad Add sedited to trusted-keys 6c3fb719d1 Merge bitcoin-core/gui#921: Remove deprecated "Starting Block" from Peer Detail 2cade5d5d1 [miniminer] stop assuming ancestor fees >= self fees fa8d56f9f0 fuzz: Reject too large descriptor leaf sizes in scriptpubkeyman target fabac1b395 fuzz: Reject some more "expensive" descriptors in the scriptpubkeyman target 194114daf3 guix: Fix `osslsigncode` tests 333333356f fuzz: [refactor] Use std::span over FuzzBufferType in descriptor utils 8d5700ab0f Merge bitcoin/bitcoin#34221: test: migration, avoid backup name mismatch in default_wallet_failure cbf0bd35bb test: migration, avoid backup name mismatch in default_wallet_failure cd6e4c9235 Merge bitcoin/bitcoin#34215: wallettool: fix unnamed createfromdump failure walletsdir deletion 90d651a81f Merge bitcoin/bitcoin#34156: wallet: fix unnamed legacy wallet migration failure 9c7e4771b1 test: Test listdescs with priv works even with missing priv keys ed945a6854 walletrpc: reject listdes with priv key on w-only wallets 9e5e9824f1 descriptor: ToPrivateString() pass if at least 1 priv key exists 5c4db25b61 descriptor: refactor ToPrivateString for providers 2dc74e3f4e wallet/migration: use HavePrivateKeys in place of ToPrivateString e842eb90bb descriptors: add HavePrivateKeys() f78f6f1dc8 wallettool: do not use fs::remove_all in createfromdump cleanup a9daa6dbd3 Merge bitcoin/bitcoin#34135: rpc: [wallet] Use unsigned type for tx version in sendall a3c71c7201 [test] Add BIP 328 test vectors for Musig2 b7c34d08dd test: coverage for migration failure when last sync is beyond prune height 82caa8193a wallet: migration, fix watch-only and solvables wallets names d70b159c42 wallet: improve post-migration logging f011e0f068 test: restorewallet, coverage for existing dirs, unnamed wallet and prune failure 36093bde63 test: add coverage for unnamed wallet migration failure f4c7e28e80 wallet: fix unnamed wallet migration failure 4ed0693a3f wallet: RestoreWallet failure, erase only what was created c60f9cb66e Merge bitcoin/bitcoin#34085: cluster mempool: exploit SFL properties in txgraph 2a746500fa ci: migrate some jobs to Debian Trixie, use GCC 14 fb0e6edfe8 guix: Apply SSA generation patch to maintain determinism 34909799fe guix: use GCC 14.3.0 over 13.3.0 47be9122a7 guix: disable gprofng in GCC ea29329eb7 guix: build GCC with --enable-host-bind-now 6f54e267d0 guix: disable libquadmath in GCC 7735901ed2 guix: disable building libgomp in GCC 114901c065 Merge bitcoin/bitcoin#34203: doc: p2p: replace last remaining "command" terminology with "message type" d7cbdfa090 Merge bitcoin/bitcoin#34204: test: fix intermittent failure in p2p_addr_selfannouncement 301d9eea66 qt: Remove "Starting Block" from Peer Detail. Following Deprecation in `bitcoin#34197` 0ad4376a49 Merge bitcoin/bitcoin#33142: test: Run bench sanity checks in parallel with functional tests c267b3a2c6 Merge bitcoin/bitcoin#34197: rpc, net: deprecate `startingheight` field of `getpeerinfo` RPC d6a6afd955 Merge bitcoin/bitcoin#34010: psbt: detect invalid MuSig2 pubkeys in deserialization 5b7bf47f9b doc: p2p: replace last remaining "command" terminology with "message type" 1808b5aaf7 clusterlin: remove unused FixLinearization (cleanup) 34a77138b7 txgraph: permit non-topological clusters to defer fixing (optimization) 3380e0cbb5 txgraph: use PostLinearize less prior to linearizing 62dd88624a txgraph: drop NEEDS_SPLIT_ACCEPTABLE (simplification) 01ffcf464a clusterlin: support fixing linearizations (feature) 755f0900a2 Merge bitcoin/bitcoin#34136: test: Allow mempool_updatefromblock.py to run on 32-bit 5805a8b540 psbt: detect invalid MuSig2 pubkeys in deserialization 792e2edf57 p2p: first addr self-announcement in separate msg 31852057ea test: fix intermittent failure in p2p_addr_selfannouncement 48f57bb35b mining: add new getCoinbaseTx() returning a struct bd4f4782f2 Merge bitcoin/bitcoin#34154: test: Enable ruff E713 lint 4ce3f4a265 rpc, net: deprecate `startingheight` field of `getpeerinfo` RPC ab233255d4 Merge bitcoin/bitcoin#33866: refactor: Let CCoinsViewCache::BatchWrite return void 2628de7479 Merge bitcoin/bitcoin#33135: wallet: warn against accidental unsafe older() import 9b57c8d2bd test: fix feature_pruning when built without wallet c631553732 Merge bitcoin/bitcoin#34191: doc: archive release notes for v30.1 bd730cb0a1 doc: archive release notes for v30.1 c5825d4b7f qa: Require `--exclude` for each excluded test 6ed2cf5184 Merge bitcoin/bitcoin#34169: fuzz: change fuzz runner test_runner.py to be cwd independent fb49d62d8f Merge bitcoin/bitcoin#34177: policy/refactor: remove constant parameter from `IsWellFormedPackage` fa65bc0e79 test: Run bench sanity checks in parallel with functional tests fa9fdbce79 test: Pass bench exe into test framework utils adbb4b3208 Merge bitcoin/bitcoin#34174: doc: update copyright year to 2026 891aed2f75 Merge bitcoin/bitcoin#34172: Fix intermittent issue in p2p_1p1c_network.py 7590a72a5e Merge bitcoin/bitcoin#34182: doc: Update OpenBSD Build Guide a50d7a7929 Merge bitcoin/bitcoin#34183: doc: fix double-word typos in comments 2bff9ebeff Merge bitcoin/bitcoin#34102: depends: capnp 1.3.0 08ed802bab doc: fix double-word typos in comments 84d8c52662 doc: Update OpenBSD Build Guide 77c9b3c08f change test_runner.py to be cwd independent by calling subprocess.run with cwd arg. 658d38106a policy: remove constant parameter from `IsWellFormedPackage` b23b901363 doc: update copyright year 95ef0fc5e7 test: ensure clean orphanage before continuing 25e84d3772 test: change low fee parents to 0-fee 2bcb3f6464 Merge bitcoin/bitcoin#34112: rpc: [mempool] Remove erroneous Univalue integral casts 7249bcc4f8 Merge bitcoin/bitcoin#34119: contrib: remove `copyright_header.py` 0f6a526f43 Merge bitcoin/bitcoin#34160: policy: Remove stale rationale paragraph 337b4a2369 Remove stale rationale paragraph 94ddc2dced Merge bitcoin/bitcoin#34113: refactor: [rpc] Remove confusing and brittle integral casts c575990651 Merge bitcoin/bitcoin#34147: scripted-diff: refactor: wallet: Delete duplicate IsCrypted() fab300b378 test: Enable ruff E713 lint 11ce5cf799 scripted-diff: refactor: wallet: Delete IsCrypted b762538756 test: Add unit test for SCRIPT_ERR_NUMEQUALVERIFY 3dd815f048 validation: pre-reserve leaves to prevent reallocs with odd vtx count 7fd47e0e56 bench: make `MerkleRoot` benchmark more representative fac5a1b10a test: Allow mempool_updatefromblock.py to run on 32-bit fafbc70d48 rpc: [wallet] Use unsigned type for tx version in sendall ba6315d2f6 contrib: remove copyright_header.py 3e4765ee10 scripted-diff: [doc] Unify stale copyright headers fa66e2d07a refactor: [rpc] Remove confusing and brittle integral casts fab1f4b800 rpc: [mempool] Remove erroneous Univalue integral casts d59b4cdb57 mining: rename getCoinbaseTx() to ..RawTx() fa1d17d56c refactor: Use uint64_t over size_t for serialize corruption check in fees.dat 7b5d256af4 test: Add bitcoin-chainstate test for assumeutxo functionality 2bc3265649 Fix `ChainstateManager::AddChainstate()` assertion crash 5f3d6bdb66 Add regtest support to bitcoin-chainstate tool 719158db5c depends: capnp 1.3.0 6bb66fcccb test: Improve code coverage for pubkey checks f46e3ec0f9 net: Fix `-Wmissing-braces` 8937221304 doc: add release notes for 29415 582016fa5f test: add unit test for the private broadcast storage e74d54e048 test: add functional test for private broadcast 818b780a05 rpc: use private broadcast from sendrawtransaction RPC if -privatebroadcast is ON eab595f9cf net_processing: retry private broadcast 37b79f9c39 net_processing: stop private broadcast of a transaction after round-trip 2de53eee74 net_processing: handle ConnectionType::PRIVATE_BROADCAST connections 30a9853ad3 net_processing: move a debug check in VERACK processing earlier d1092e5d48 net_processing: modernize PushNodeVersion() 9937a12a2f net_processing: move the debug log about receiving VERSION earlier a098f37b9e net_processing: reorder the code that handles the VERSION message 679ce3a0b8 net_processing: store transactions for private broadcast in PeerManager a3faa6f944 node: extend node::TxBroadcast with a 3rd option 95c051e210 net_processing: rename RelayTransaction() to better describe what it does bb49d26032 net: implement opening PRIVATE_BROADCAST connections 01dad4efe2 net: introduce a new connection type for private broadcast 94aaa5d31b init: introduce a new option to enable/disable private broadcast d6ee490e0a log: introduce a new category for private broadcast 6da6f503a6 refactor: Let CCoinsViewCache::BatchWrite return void f0a2183108 test: adjust `ComputeMerkleRoot` tests fa1de1103f util: Add Unexpected::error() faa109f8be test: refactor: Use BOOST_CHECK_EQUAL over BOOST_CHECK == fad4a9fe2b Set bugprone-unused-return-value.AllowCastToVoid ca4a844eed depends: Boost 1.90.0 76c092ff80 wallet: warn against accidental unsafe older() import 592157b759 test: move SEQUENCE_LOCKTIME flags to script de4242f474 refactor: Use reference for chain_start in HeadersSyncState e37555e540 refactor: Use initializer list in CompressedHeader 0488bdfefe refactor: Remove unused parameter in ReportHeadersPresync 256246a9fa refactor: Remove redundant parameter from CheckHeadersPoW ca0243e3a6 refactor: Remove useless CBlock::GetBlockHeader 4568652222 refactor: Use std::span in HasValidProofOfWork 4066bfe561 refactor: Compute work from headers without CBlockIndex 0bf6139e19 p2p: Avoid an IsAncestorOfBestHeaderOrTip call a7b581423e Fix 11-year-old mis-categorized error code in OP_IF evaluation git-subtree-dir: depend/bitcoin git-subtree-split: 891030ac8b9e3f91084a9c8e0d8d9a158a2bbf93
1 parent f651a10 commit 67e0422

352 files changed

Lines changed: 6413 additions & 2720 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ jobs:
258258
sed -i '1s/^/set(ENV{CMAKE_POLICY_VERSION_MINIMUM} 3.5)\n/' "${VCPKG_INSTALLATION_ROOT}/scripts/ports.cmake"
259259
260260
- name: vcpkg tools cache
261-
uses: actions/cache@v4
261+
uses: actions/cache@v5
262262
with:
263263
path: C:/vcpkg/downloads/tools
264264
key: ${{ github.job }}-vcpkg-tools
@@ -320,12 +320,15 @@ jobs:
320320
BITCOIN_BIN: '${{ github.workspace }}\build\bin\Release\bitcoin.exe'
321321
BITCOIND: '${{ github.workspace }}\build\bin\Release\bitcoind.exe'
322322
BITCOINCLI: '${{ github.workspace }}\build\bin\Release\bitcoin-cli.exe'
323+
BITCOIN_BENCH: '${{ github.workspace }}\build\bin\Release\bench_bitcoin.exe'
323324
BITCOINTX: '${{ github.workspace }}\build\bin\Release\bitcoin-tx.exe'
324325
BITCOINUTIL: '${{ github.workspace }}\build\bin\Release\bitcoin-util.exe'
325326
BITCOINWALLET: '${{ github.workspace }}\build\bin\Release\bitcoin-wallet.exe'
326327
BITCOINCHAINSTATE: '${{ github.workspace }}\build\bin\Release\bitcoin-chainstate.exe'
327328
TEST_RUNNER_EXTRA: ${{ github.event_name != 'pull_request' && '--extended' || '' }}
328-
run: py -3 test/functional/test_runner.py --jobs $NUMBER_OF_PROCESSORS --ci --quiet --tmpdirprefix="${RUNNER_TEMP}" --combinedlogslen=99999999 --timeout-factor=${TEST_RUNNER_TIMEOUT_FACTOR} ${TEST_RUNNER_EXTRA}
329+
run: |
330+
py -3 -m pip install pyzmq
331+
py -3 test/functional/test_runner.py --jobs $NUMBER_OF_PROCESSORS --quiet --tmpdirprefix="${RUNNER_TEMP}" --combinedlogslen=99999999 --timeout-factor=${TEST_RUNNER_TIMEOUT_FACTOR} ${TEST_RUNNER_EXTRA}
329332
330333
- name: Clone corpora
331334
if: matrix.job-type == 'fuzz'
@@ -406,7 +409,7 @@ jobs:
406409
uses: ./.github/actions/save-caches
407410

408411
- name: Upload built executables
409-
uses: actions/upload-artifact@v4
412+
uses: actions/upload-artifact@v6
410413
with:
411414
name: ${{ matrix.artifact-name }}-${{ github.run_id }}
412415
path: |
@@ -444,7 +447,7 @@ jobs:
444447
ref: ${{ needs.record-frozen-commit.outputs.commit }}
445448

446449
- name: Download built executables
447-
uses: actions/download-artifact@v5
450+
uses: actions/download-artifact@v7
448451
with:
449452
name: ${{ matrix.artifact-name }}-${{ github.run_id }}
450453

@@ -483,9 +486,6 @@ jobs:
483486
./src/univalue/object.exe
484487
./src/univalue/unitester.exe
485488
486-
- name: Run benchmarks
487-
run: ./bin/bench_bitcoin.exe -sanity-check
488-
489489
- name: Adjust paths in test/config.ini
490490
shell: pwsh
491491
run: |
@@ -501,11 +501,18 @@ jobs:
501501

502502
- name: Run functional tests
503503
env:
504-
# TODO: Fix the excluded test and re-enable it.
505-
# feature_unsupported_utxo_db.py fails on windows because of emojis in the test data directory
506-
EXCLUDE: '--exclude wallet_multiwallet.py,feature_unsupported_utxo_db.py'
507504
TEST_RUNNER_EXTRA: ${{ github.event_name != 'pull_request' && '--extended' || '' }}
508-
run: py -3 test/functional/test_runner.py --jobs $NUMBER_OF_PROCESSORS --ci --quiet --tmpdirprefix="$RUNNER_TEMP" --combinedlogslen=99999999 --timeout-factor=$TEST_RUNNER_TIMEOUT_FACTOR $EXCLUDE $TEST_RUNNER_EXTRA
505+
run: |
506+
py -3 -m pip install pyzmq
507+
py -3 test/functional/test_runner.py --jobs $NUMBER_OF_PROCESSORS --quiet --tmpdirprefix="$RUNNER_TEMP" --combinedlogslen=99999999 --timeout-factor=$TEST_RUNNER_TIMEOUT_FACTOR $TEST_RUNNER_EXTRA \
508+
`# feature_unsupported_utxo_db.py fails on Windows because of emojis in the test data directory.` \
509+
--exclude feature_unsupported_utxo_db.py \
510+
`# See https://github.com/bitcoin/bitcoin/issues/31409.` \
511+
--exclude wallet_multiwallet.py
512+
# Run feature_unsupported_utxo_db sequentially in ASCII-only tmp dir,
513+
# because it is excluded above due to lack of UTF-8 support in the
514+
# ancient release.
515+
py -3 test/functional/feature_unsupported_utxo_db.py --previous-releases --tmpdir="${RUNNER_TEMP}/test_feature_unsupported_utxo_db"
509516
510517
ci-matrix:
511518
name: ${{ matrix.name }}

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ set(CLIENT_VERSION_MINOR 99)
3232
set(CLIENT_VERSION_BUILD 0)
3333
set(CLIENT_VERSION_RC 0)
3434
set(CLIENT_VERSION_IS_RELEASE "false")
35-
set(COPYRIGHT_YEAR "2025")
35+
set(COPYRIGHT_YEAR "2026")
3636

3737
# During the enabling of the CXX and CXXOBJ languages, we modify
3838
# CMake's compiler/linker invocation strings by appending the content

COPYING

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
The MIT License (MIT)
22

3-
Copyright (c) 2009-2025 The Bitcoin Core developers
4-
Copyright (c) 2009-2025 Bitcoin Developers
3+
Copyright (c) 2009-2026 The Bitcoin Core developers
4+
Copyright (c) 2009-2026 Bitcoin Developers
55

66
Permission is hereby granted, free of charge, to any person obtaining a copy
77
of this software and associated documentation files (the "Software"), to deal

ci/test/00_setup_env_arm.sh

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,8 @@ export HOST=arm-linux-gnueabihf
1010
export DPKG_ADD_ARCH="armhf"
1111
export PACKAGES="python3-zmq g++-arm-linux-gnueabihf libc6:armhf libstdc++6:armhf libfontconfig1:armhf libxcb1:armhf"
1212
export CONTAINER_NAME=ci_arm_linux
13-
export CI_IMAGE_NAME_TAG="mirror.gcr.io/ubuntu:24.04" # Check that https://packages.ubuntu.com/noble/g++-arm-linux-gnueabihf (version 13.x, similar to guix) can cross-compile
13+
export CI_IMAGE_NAME_TAG="mirror.gcr.io/debian:trixie" # Check that https://packages.debian.org/trixie/g++-arm-linux-gnueabihf (version 14.x, similar to guix) can cross-compile
1414
export CI_IMAGE_PLATFORM="linux/arm64"
15-
export RUN_UNIT_TESTS=true
16-
export RUN_FUNCTIONAL_TESTS=false
1715
export GOAL="install"
1816
export CI_LIMIT_STACK_SIZE=1
1917
# -Wno-psabi is to disable ABI warnings: "note: parameter passing for argument of type ... changed in GCC 7.1"

ci/test/00_setup_env_i686_no_ipc.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export LC_ALL=C.UTF-8
88

99
export HOST=i686-pc-linux-gnu
1010
export CONTAINER_NAME=ci_i686_no_multiprocess
11-
export CI_IMAGE_NAME_TAG="mirror.gcr.io/ubuntu:24.04"
11+
export CI_IMAGE_NAME_TAG="mirror.gcr.io/debian:trixie"
1212
export CI_IMAGE_PLATFORM="linux/amd64"
1313
export PACKAGES="llvm clang g++-multilib"
1414
export DEP_OPTS="DEBUG=1 NO_IPC=1"

ci/test/00_setup_env_native_fuzz_with_valgrind.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
export LC_ALL=C.UTF-8
88

9-
export CI_IMAGE_NAME_TAG="mirror.gcr.io/ubuntu:24.04"
9+
export CI_IMAGE_NAME_TAG="mirror.gcr.io/debian:trixie"
1010
export CONTAINER_NAME=ci_native_fuzz_valgrind
1111
export PACKAGES="libevent-dev libboost-dev libsqlite3-dev valgrind libcapnp-dev capnproto"
1212
export NO_DEPENDS=1

ci/test/00_setup_env_native_valgrind.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66

77
export LC_ALL=C.UTF-8
88

9-
export CI_IMAGE_NAME_TAG="mirror.gcr.io/ubuntu:24.04"
9+
export CI_IMAGE_NAME_TAG="mirror.gcr.io/debian:trixie"
1010
export CONTAINER_NAME=ci_native_valgrind
1111
export PACKAGES="valgrind python3-zmq libevent-dev libboost-dev libzmq3-dev libsqlite3-dev libcapnp-dev capnproto python3-pip"
1212
export PIP_PACKAGES="--break-system-packages pycapnp"
1313
export USE_VALGRIND=1
1414
export NO_DEPENDS=1
1515
# bind tests excluded for now, see https://github.com/bitcoin/bitcoin/issues/17765#issuecomment-602068547
16-
export TEST_RUNNER_EXTRA="--exclude rpc_bind,feature_bind_extra"
16+
export TEST_RUNNER_EXTRA="--exclude rpc_bind --exclude feature_bind_extra"
1717
export GOAL="install"
1818
# TODO enable GUI
1919
export BITCOIN_CONFIG="\

ci/test/00_setup_env_s390x.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,10 @@ export LC_ALL=C.UTF-8
99
export HOST=s390x-linux-gnu
1010
export PACKAGES="python3-zmq"
1111
export CONTAINER_NAME=ci_s390x
12-
export CI_IMAGE_NAME_TAG="mirror.gcr.io/ubuntu:24.04"
12+
export CI_IMAGE_NAME_TAG="mirror.gcr.io/debian:trixie"
1313
export CI_IMAGE_PLATFORM="linux/s390x"
14-
export TEST_RUNNER_EXTRA="--exclude rpc_bind,feature_bind_extra" # Excluded for now, see https://github.com/bitcoin/bitcoin/issues/17765#issuecomment-602068547
14+
# bind tests excluded for now, see https://github.com/bitcoin/bitcoin/issues/17765#issuecomment-602068547
15+
export TEST_RUNNER_EXTRA="--exclude rpc_bind --exclude feature_bind_extra"
1516
export RUN_FUNCTIONAL_TESTS=true
1617
export GOAL="install"
1718
export BITCOIN_CONFIG="\

ci/test/00_setup_env_win64_msvcrt.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
export LC_ALL=C.UTF-8
88

99
export CONTAINER_NAME=ci_win64_msvcrt
10-
export CI_IMAGE_NAME_TAG="mirror.gcr.io/ubuntu:24.04" # Check that https://packages.ubuntu.com/noble/g++-mingw-w64-x86-64-posix (version 13.x, similar to guix) can cross-compile
10+
export CI_IMAGE_NAME_TAG="mirror.gcr.io/debian:trixie" # Check that https://packages.debian.org/trixie/g++-mingw-w64-x86-64-posix (version 14.x, similar to guix) can cross-compile
1111
export HOST=x86_64-w64-mingw32
1212
export PACKAGES="g++-mingw-w64-x86-64-posix nsis"
1313
export RUN_UNIT_TESTS=false

ci/test/01_iwyu.patch

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -539,10 +539,11 @@ See: https://github.com/include-what-you-use/include-what-you-use/blob/clang_21/
539539
};
540540

541541
const IncludeMapEntry stdlib_c_include_map[] = {
542-
@@ -601,31 +601,31 @@ const IncludeMapEntry stdlib_c_include_map[] = {
542+
@@ -600,32 +600,32 @@ const IncludeMapEntry stdlib_c_include_map[] = {
543+
// https://github.com/cplusplus/draft/blob/c+%2B20/source/lib-intro.tex
543544
//
544545
// $ curl -s -N https://raw.githubusercontent.com/cplusplus/draft/c%2B%2B20/source/lib-intro.tex | sed -n '/begin{multicolfloattable}.*{headers.cpp.c}/,/end{multicolfloattable}/p' | grep tcode | perl -nle 'm/tcode{<c(.*)>}/ && print qq@ { "<$1.h>", kPublic, "<c$1>", kPublic },@' | sort
545-
{ "<assert.h>", kPublic, "<cassert>", kPublic },
546+
- { "<assert.h>", kPublic, "<cassert>", kPublic },
546547
- { "<complex.h>", kPublic, "<ccomplex>", kPublic },
547548
- { "<ctype.h>", kPublic, "<cctype>", kPublic },
548549
- { "<errno.h>", kPublic, "<cerrno>", kPublic },
@@ -568,6 +569,7 @@ See: https://github.com/include-what-you-use/include-what-you-use/blob/clang_21/
568569
- { "<uchar.h>", kPublic, "<cuchar>", kPublic },
569570
- { "<wchar.h>", kPublic, "<cwchar>", kPublic },
570571
- { "<wctype.h>", kPublic, "<cwctype>", kPublic },
572+
+ { "<assert.h>", kPrivate, "<cassert>", kPublic },
571573
+ { "<complex.h>", kPrivate, "<ccomplex>", kPublic },
572574
+ { "<ctype.h>", kPrivate, "<cctype>", kPublic },
573575
+ { "<errno.h>", kPrivate, "<cerrno>", kPublic },

0 commit comments

Comments
 (0)