Update embedded asmap to 1772726400 for v31#34696
Conversation
|
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please copy-paste |
|
Branching is scheduled for March 10th, so I'd prefer to update it with the March 5th run. |
|
Yea I think using the March 5th run is fine. I assume this time we'll be using the new processes where those generating the data will be signing over the outputs, we are saving the raw data somewhere, etc? |
|
@achow101 @fanquake looking to confirm a few things about attestations. The ASmap flow is currently: Does it make sense to have only the people with the "winning hash" attest to their output file hash, and its encoded variants? So if 6 people have a matching hash, they become the subset of participants that must submit attestations. Other users could validate that the encoded ASmap included in Or is it enough to attest on the hashes of the ASmap with the most matches in a collaborative run's output? As in, we add the "winning" ASmap to the |
|
I am ok with allowing anyone to attest to the asmap files so long as they are reproducible from easily examinable files. In choosing which result is the canonical asmap for that run, other runners can still validate that the encoded files are correctly encoded. They can further look at the diff between their own result and the canonical result to see what differences there are and if those differences are okay. Ultimately, the canonical result can be inspected by anyone and they should be able to attest to that result should its contents be satisfactory to them. |
|
@sedited your input would be good on #34696 (comment) to clarify the signing process, thanks! |
It's a tricky question, but I feel like it only really makes sense if you have the people reproducing the full data set post their signed hashes. You don't really gain much from many people attesting to the encoding only, since the source data is the real unknown factor, and the encoding is easily reproduced. |
yes, though since the outputs are deterministic based on the inputs, we could imagine the collab runs be only to fetch the inputs, compare them amongst ourselves and decide what the "right" ones are. We could then post the inputs, and have everyone reproduce the outputs from them and attest. |
This the conundrum, the first intermediate product that I would call easily examinable is the result file but at that point all that is left is the encoding and that is very easy to verify by encoding yourself, checking the sigs is probably even more work unless we provide a specialized script. In GUIX the source is unambiguous, everyone starts from the same commit hash. The attestation for the reproducible build lends trust to the build process which is very complex and could have interference. In asmap the source is kind of ambiguous, every collaborative runner who got the matching hash could have slightly different raw download data. The encoding process afterwards is very simple, no compilers or dependencies involved. Ideally we would get a signature from everyone who got a match in the collaborative run but requiring the collaborative runners to only be able to participate in a meaningful way if they are able to sign also isn't great and unnecessarily restrict the pool of participants. I guess reproducing from a raw data set which results in the hash that got the most matches and then letting everyone sign would be a good first step. This would mean leaving audit of the raw inputs to the people themselves if they haven't gotten a match. We could develop better tooling to compare at let people decide if they got a mismatch or for general analysis of the data if they didn't participate at all (though kartograf already has some of that tooling like coverage etc.).
I don't understand this, how is this different from what we are doing today? How would we compare the inputs without processing them? |
|
added attestation and verification scripts to asmap.sigs. Let me know if this is adequate for this run. This isn't the final state as ideally this will live in @fjahr could you upload the inputs for 1772726400 to releases as you did here ? so we can reproduce from inputs. |
Done: https://github.com/bitcoin-core/asmap-data/releases What's a bit weird is that we have to attach releases to a commit hash in github so it would make sense to attach the release to the commit that add the actual encoded result but since we need to share the inputs to get the sigs before merging that commit, the release points to an older commit now. Releases are also immutable so it seems I can't change it later. But it's probably still better than some awkward workaround using temp storage somewhere else outside GH. |
641617c to
51648c6
Compare
|
Updated to use the new file from 1772726400. This is all a bit off-the-cuff but the different parts are coming together now:
The one potential blocker could be if maintainers would like more time to look into |
The file was produced in this collaborative run: bitcoin-core/asmap-data#44
51648c6 to
0690a5d
Compare
|
We now have 5 attestations for this file in https://github.com/asmap/asmap.sigs |
hodlinator
left a comment
There was a problem hiding this comment.
ACK 0690a5d FWIW
(I'm one of the ones attesting in asmap.sigs, so maybe my ACK shouldn't weigh as heavily).
₿ sha256sum src/node/data/ip_asn.dat
478d61986c59365cf86cd244485bbbe76a9ca0c630864717286dd19949879074 src/node/data/ip_asn.dat
Hash matches my locally generated 1772726400_asmap.dat file.
|
ACK 0690a5d |
f0e2cbc5e5 Merge bitcoin/bitcoin#34800: [31.x] Backports
b241f3c82d doc: update example bitcoin conf for 31.0rc2
718c31cfb7 doc: update manual pages for v31.0rc2
a30e50538b build: bump version to v31.0rc2
ac13aca72b test: scale IPC mining wait timeouts by timeout_factor
39c87621d5 test: verify IPC error handling for invalid coinbase
660947352c test: move make_mining_ctx to ipc_util.py
acd7e3d061 test: verify createNewBlock wakes promptly when tip advances
e3d571691a test: Remove confusing assert_debug_log in wallet_reindex.py
87d1691f3e wallet: feebumper, fix crash when combined bump fee is unavailable
11b69922b3 wallet: fix amount computed as boolean in coin selection
d171afa9e8 ci: Temporarily use clang in valgrind tasks
198bc4da87 ci: Clarify why valgrind task has gui disabled
6993aa1915 test: Scale feature_dbcrash.py timeout with factor
051afe9e1a depends: Remove no longer necessary `dsymutil`
3b79852984 depends: Fix cross-compiling on macOS for Windows
e53c20d750 gui: Fix TransactionsView on setCurrentWallet
7118559f8c tests: applied PYTHON_GIL to the env for every test
d9a57912c6 ci: Avoid intermittent Windows generate download failures
335a098afa kernel: acquire coinstats cursor and block info atomically
e930c6d60f rpc: fix race condition in gettxoutsetinfo
ca781e49e5 cmake: Migrate away from deprecated SQLite3 target
068951211c test: [refactor] Use verbosity=0 named arg
8379f005da test: Fix intermittent issue in feature_assumeutxo.py
72d6c88165 test: Move event loop creation to network thread
c7127f21df test: Use asyncio.SelectorEventLoop() over deprecated asyncio.WindowsSelectorEventLoopPolicy()
a69f8c329e ci: Use arch-appropriate binaries in lint install
e3383ac932 ci: check macos bundle structure and codesigning
ab37d3d7cd macdeploy: use plugins dir to find plugins
bb9fcffd4c macdeploy: subprocess out to zip rather than shutil.make_archive
d20ba02caa build: Set AUTHOR_WARNING on warnings
2724c39208 guix: Make guix-clean less destructive
a28d78c44a test: use static methods and clarify comment in addr_relay
5642a2b0fe test: protect outbound connection from eviction in getaddr_test
a3c1eda8f2 test: fix addr relay test silent pass and wrong peerinfo index
207087b1c4 ci: bump cirruslabs actions versions
a74dfe3ae2 lint: Temporarily revert to vulture==2.14
f7f7e682b5 ci: Bump GHA actions versions
a3ffff0201 depends: delete Boost extra files
9852bbd218 depends: disable Qt sbom generation
d3737769ca Merge bitcoin/bitcoin#34795: [31.x] Bump to 31.0rc1
c5ae5f0adf doc: Point release notes to 31.0 wiki draft
88e21e57e5 examples: Generate example bitcoin.conf for 31.0rc1
62716a8c93 doc: Generate manpages for 31.0rc1
2a5b96eb54 build: bump to 31.0rc1
b97abdcdf1 Merge bitcoin/bitcoin#34766: Pre-31.x branching updates
eed3161893 Merge bitcoin/bitcoin#34792: clusterlin: update SFL comments for deterministic order
730308386a Merge bitcoin/bitcoin#34696: Update embedded asmap to 1772726400 for v31
951863d022 Merge bitcoin/bitcoin#34769: doc: update http worker thread names
d67c8ed788 clusterlin: update SFL comments for deterministic order
0690a5d0f2 Update embedded asmap to 1772726400
f82d076771 Merge bitcoin/bitcoin#34784: ci: use latest versions of lint deps
a9baf19172 Merge bitcoin/bitcoin#34789: doc: update build guides pre v31
48f26e2040 Merge bitcoin/bitcoin#34751: doc: Update asmap-data repository rule for file inclusion
6b20ad84e0 doc: update build guides pre v31
195306c359 Merge bitcoin/bitcoin#34785: ci: remove TODOs from retry
c08f0c3c29 ci: remove TODOs from retry
9f3752c437 ci: use latest versions of lint deps
544c15ff4e Merge bitcoin/bitcoin#34759: walletdb: hash pubkey/privkey in one shot to avoid leaking secret data
9aea2905fe Merge bitcoin/bitcoin#34783: depends: link to upstream qt issue
3a83715c2a depends: link to upstream qt issue
8dcd79949f Merge bitcoin/bitcoin#34718: Release: 31.0 translations update
5f9068bdcd Merge bitcoin/bitcoin#34781: test: Remove fixed TODO in address_to_scriptpubkey
d21afb297c qt: 31.0 translations update
fa0587a306 test: Remove fixed TODO in address_to_scriptpubkey
46189fd526 doc: update http worker thread names
d3056bc149 Merge bitcoin/bitcoin#34606: doc: clarify swapping impact on IBD performance
f201ccc800 Merge bitcoin/bitcoin#34673: contrib: Update fixed seeds pre-31.0
42f97c542d Merge bitcoin/bitcoin#34705: kernel: Use fs:: namespace and unicode path in kernel tests
7691e8a005 Merge bitcoin/bitcoin#34471: refactor: Use aliasing shared_ptr in Sock::Wait
49bd12bd89 Merge bitcoin/bitcoin#34693: doc: Use relative markdown links
aefa8e6d14 Merge bitcoin/bitcoin#34361: test: clean up tx resurrection (re-org) test in feature_block.py
3a222507fd Merge bitcoin/bitcoin#34037: wallet, doc: clarify the coin selection filters that enforce cluster count
501a3dd4ad walletdb: hash pubkey/privkey in one shot to avoid leaking secret data
d198635fa2 Merge bitcoin/bitcoin#34677: kernel: Chainparams and headerssync updates pre-31.0
9833ef5f86 Merge bitcoin/bitcoin#34702: doc: Fix fee field in getblock RPC result
f2f0a0ca4c Merge bitcoin/bitcoin#34700: script: Fix undefined behavior in Clone() -- std::transform writes past end of empty vector
48b952cbb6 build: bump to 31.99
1b3d58f128 docs Remove 31.0 release notes fragments
b7cf2f87d0 docs: Update bips.md
c7a3ea2483 Merge bitcoin/bitcoin#34692: Bump dbcache to 1 GiB
8b70ed6996 Merge bitcoin/bitcoin#34521: validation: fix UB in `LoadChainTip`
f6d3201e14 Merge bitcoin/bitcoin#33929: test: Remove `system_tests/run_command` runtime dependencies
b5737b755d Merge bitcoin/bitcoin#34650: depends: Update Qt to version 6.8.3
c0802e20be Merge bitcoin/bitcoin#34734: test: Fix shutdown vptr race in BlockFilterIndexSync bench
2ac4f6e019 Merge bitcoin/bitcoin#34612: leveldb: remove unused files
d97df29d5d Merge bitcoin/bitcoin#34747: test: Sync mempools and wait for txospender index to be synced in rpc_gettxspendingprevout
c12be53f85 Merge bitcoin/bitcoin#34635: rpc, index: txospenderindex improve formatting, docs and test coverage
8bc62ce173 doc: Update asmap-data repository rule for file inclusion
15c4889497 index: document TxoSpenderIndex::FindSpender
f8b9595aaa test: Add missing txospenderindex coverage in feature_init
cbdb891de2 test: Wait for txospender index to be synced in rpc_gettxspendingprevout
2db5c049bb test: Sync mempools after tx creation in rpc_gettxspendingprevout
ca45461ddb Merge bitcoin/bitcoin#33986: doc: improvements to doc/descriptors.md
fc39a4f568 Merge bitcoin/bitcoin#34713: depends: Allow building Qt packages after interruption
a1074d852a index, rpc, test: Misc formatting fixes
7e91060ec7 Merge bitcoin/bitcoin#34733: subprocess: replace __USING_WINDOWS__ with WIN32
69b2c813f0 Merge bitcoin/bitcoin#34591: cmake: Improve `install_name_tool` workaround
f2f5619360 Merge bitcoin/bitcoin#34709: wallet, test: improve wallet functional tests
083242aac8 Merge bitcoin/bitcoin#34725: fuzz: assert we accept any PSBT serialization we create
20ae9b98ea Extend functional test for setBlockIndexCandidates UB
4c40a923f0 Merge bitcoin/bitcoin#34728: test: Fix intermittent issue in wallet_assumeutxo.py
854a6d5a9a validation: fix UB in LoadChainTip
fa79098ce2 test: Fix shutdown vptr race in BlockFilterIndexSync bench
9249e6089e validation: remove LoadChainTip call from ActivateSnapshot
d76ec4de14 fuzz: make sure PSBT serialization roundtrips
faa68ed4bd test: Fix intermittent issue in wallet_assumeutxo.py
bff8a7a80d subprocess: replace __USING_WINDOWS__ with WIN32
e09b81638b Merge bitcoin/bitcoin#34219: psbt: validate pubkeys in MuSig2 pubnonce/partial sig deserialization
89386e700e kernel: Use fs:: namespace and unicode path in kernel tests
01dcb2fcc5 Merge bitcoin/bitcoin#34715: test: avoid interface_ipc.py race and null pointer dereference
dc109e1b34 Merge bitcoin/bitcoin#34706: doc: Improve dependencies.md IPC documentation
0a6724aaae doc: Update Windows build notes
473e5f8efc qt: Add patch to fix SFINAE warnings in QAnyStringView with gcc16
3cb4d6066b qt: add patches to fix SFINAE errors/warnings with gcc16
d7e972a90d qt: add patch to fix build with gcc16
19693a8c91 depends: Update Qt to 6.8.3
c55584575a cmake: Fix `FindQt` module
2eaf701bc0 Merge bitcoin/bitcoin#34679: ci: Download script_assets_test.json for Windows CI
17a04039bc Merge bitcoin/bitcoin#34662: ci: use LLVM/Clang 22 in tidy job
5e35a9069d interpreter: remove clang-tidy suppression
4089682f5c ci: use Clang 22 in tidy task
7ea076f996 tidy: remove deprecated header
eb17f29aa5 tidy: clang-tidy is required
bf9ef4f043 Merge bitcoin/bitcoin#34422: Update libmultiprocess subtree to be more stable with rust IPC client
2702711c3a Merge bitcoin/bitcoin#34642: wallet: call SyncWithValidationInterfaceQueue after disconnecting chain notifications
1c1de334e9 test: avoid interface_ipc.py race and null pointer dereference
2a7a4f608a depends: Allow building Qt packages after interruption
6b0a980de9 Merge bitcoin/bitcoin#34410: test: let connections happen in any order in p2p_private_broadcast.py
a61907e5d9 doc: explain swapping in `reduce-memory.md`
5c005363a8 test: improve `wallet_backup` test
04d9515748 test: improve `wallet_assumeutxo` func test
b87a1c27c9 doc: Improve dependencies.md IPC documentation
f580cc7e9f doc: Fix `fee` field in `getblock` RPC result
4ae9a10ada doc: add release notes for dbcache bump
37d49f5de6 doc: mention Miniscript expressions inside reference
771f7642bc doc: fix typo in descriptors.md
708b84999b doc: reference descriptor BIPs in descriptors.md
8f2a869a19 doc: do not list descriptor RPCs or history
65a8b6c2ef doc: mention musig() in descriptors.md
c510d126ef doc: update dbcache default in reduce-memory.md
027cac8527 qt: show GetDefaultDBCache() in settings
5b34f25184 dbcache: bump default from 450MB -> 1024MB if enough memory
44feab23a7 script: Fix undefined behavior in Clone() -- std::transform writes past end of empty vector
9cad97f6cd Merge bitcoin/bitcoin#34690: test: Add missing timeout_factor to zmq socket
5a6dd7c693 Merge bitcoin/bitcoin#34661: ipc mining: Prevent ``Assertion `m_node.chainman' failed`` errors on early startup
98e8af4bb9 wallet: Drain validation interface queue after notifications disconnect
52992ebe1c interfaces: Add waitForNotifications() to call SyncWithValidationInterfaceQueue()
fa9d0623a3 doc: Use relative markdown links
ceff6771b8 Merge bitcoin/bitcoin#34583: ci: [refactor] Drop last use of pwsh
b0833b560a Merge bitcoin/bitcoin#34668: test: Add missing resolve() to valgrind.supp file for test shell
fa48f8c865 test: Add missing timeout_factor to zmq socket
3a8b4e89f6 Merge bitcoin/bitcoin#34687: ci: Set TEST_RUNNER_PORT_MIN in test-each after cirrus runner switch
286de1e7b3 Merge bitcoin/bitcoin#34093: netif: fix compilation warning in QueryDefaultGatewayImpl()
fab51e470e test: Move valgrind.supp to the other sanitizer_suppressions files
fa9cf81d39 test: Add missing resolve() to valgrind.supp file
05cd3b00b9 Merge bitcoin/bitcoin#34597: util: Fix UB in SetStdinEcho when ENOTTY
3c7b0f97e0 Merge bitcoin/bitcoin#34656: doc: clarify confusing `git range-diff` add/delete output
701b8d7148 Merge bitcoin/bitcoin#34609: test: remove appveyor reference in comment
fa18be2f2b test: Fix typo
fac932698f ci: Set TEST_RUNNER_PORT_MIN in test-each after cirrus runner switch
c1361fc42d netif: fix compilation warning in QueryDefaultGatewayImpl()
b6b8f8ac55 Merge bitcoin/bitcoin#34562: ThreadPool follow-ups, proactive shutdown and HasReason dependency cleanup
8834e4e86c test: remove appveyor reference in comment
fa7612f253 ci: Download script_assets_test.json for Windows CI
bb3ac00cf8 Merge bitcoin/bitcoin#34001: test: fix test_limit_enforcement_package
107a204d24 Merge bitcoin/bitcoin#34682: ci: fix vcpkg tools cache key collision between windows matrix jobs
7777a13306 test: Move Fetching-print to download_from_url util
faf96286ce test: move-only download_from_url to stand-alone util file
17a079c2fb ci: fix vcpkg tools cache key collision between windows matrix jobs
408d5b12e8 test: include response body in non-JSON HTTP error msg
9dc653b3b4 test: threadpool, add coverage for all Submit() errors
ce2a984ee3 test: cleanup, use HasReason in threadpool_tests.cpp
d9c6769d03 test: refactor, decouple HasReason from test framework machinery
dbbb780af0 test: move and simplify BOOST_CHECK ostream helpers
3b7cbcafcb test: ensure Stop() thread helps drain the queue
ca101a2315 test: coverage for queued tasks completion after interrupt
bf2c607aaa threadpool: active-wait during shutdown
e88d274430 test: add threadpool Start-Stop race coverage
af99643454 Merge bitcoin/bitcoin#34054: net processing: Add ibd check before processing block for txdownloadman
fa0cc1c5a4 test: [doc] Remove outdated comment
44538f8ada kernel: Add recent assumeutxo snapshot info
58c2e23fca kernel: Update headerssync params
cf261b071f kernel: update chainTxData
8eaf1d26d4 kernel: update defaultAssumeValid and minimumChainWork
5ca0c55517 kernel: update assumed blockchain and chainstate sizes
fec58229fa contrib: Update fixed feeds
27fbdb009f makeseeds: Choose node info with most recent success when deduplicating
982883a1bc makeseeds: Update known user agents
707ad46696 Merge bitcoin/bitcoin#34671: doc: Update Guix install for Debian/Ubuntu
faa70ca764 doc: Update Guix install for Debian/Ubuntu
7c80301439 Merge bitcoin/bitcoin#33616: policy: don't CheckEphemeralSpends on reorg
8fe91f3719 test: Updates needed after bitcoin-core/libmultiprocess#240
cb15f5a317 Merge commit 'b7ca3bf061b51108d155283c1ad503c0af7eab0d' into pr/subtree-8
b7ca3bf061 Squashed 'src/ipc/libmultiprocess/' changes from 1fc65008f7d..1868a84451f
33fbaed310 policy: don't CheckEphemeralSpends on reorg
b9bf24cfe2 Merge bitcoin/bitcoin#34616: Cluster mempool: SFL cost model (take 2)
403523127b Merge bitcoin/bitcoin#34608: test: Fix broken --valgrind handling after bitcoin wrapper
76eb04b16f Merge bitcoin/bitcoin#34655: fuzz: keep `coins_view` fuzzers within caller contracts
21cd1ba182 Merge bitcoin/bitcoin#34286: test: verify node state after restart in assumeutxo
f3887cf694 Merge bitcoin/bitcoin#34561: wallet: rpc: manpage: fix example missing `fee_rate` argument
8cd4a4363f threadpool: guard against Start-Stop race
9ff1e82e7d test: cleanup, block threads via semaphore instead of shared_future
f50d53c847 Merge bitcoin/bitcoin#34627: guix: use a temporary file over sponge, drop moreutils
c88c916e72 Merge bitcoin/bitcoin#34653: test: improve txospender index tests code
744d47fcee clusterlin: adopt trained cost model (feature)
4eefdfc5b7 clusterlin: rescale costs (preparation)
bbc8f1e0a7 ipc mining: Prevent ``Assertion `m_node.chainman' failed`` errors on early startup
a7cabf92e4 init refactor: Only initialize node.notifications one time
ecc9a84f85 clusterlin: use 'cost' terminology instead of 'iters' (refactor)
9e7129df29 clusterlin: introduce CostModel class (preparation)
e8f8b74a46 test: index, improve txospenderindex_initial_sync() test code
c8e332cb33 init refactor: Remove node.init accesss in AppInitInterfaces
5db78c84ad Merge bitcoin/bitcoin#34660: ci: use LLVM 22 in sanitizer tasks
fa5d478853 test: valgrind --trace-children=yes for bitcoin wrapper
fa29fb72cb test: Remove redundant warning about missing binaries
fa03fbf7e3 test: Fix broken --valgrind handling after bitcoin wrapper
bd9e0e65f5 Merge bitcoin/bitcoin#34184: mining: add cooldown to createNewBlock() immediately after IBD
a28eedb8c2 ci: use LLVM 22 in sanitizer tasks
ab8a7af742 Merge bitcoin/bitcoin#34646: Fix two issues in p2p_private_broadcast.py
9581a0a5b1 Merge bitcoin/bitcoin#34615: mempool: expose optimality of mempool to log / rpc
3281824ecf fuzz: prevent invalid `FRESH` entries and surface `BatchWrite` errors
780f460635 fuzz: avoid invalid `AddCoin` overwrites
d7e0d510f2 fuzz: make `AddCoins` query view for overwrites
b8fa6f0f70 util: introduce `TrySub` to prevent unsigned underflow
ac3bea07cd test: improve rpc_gettxspendingprevout.py code
da7f70a532 test: use port 0 for I2P addresses in p2p_private_broadcast.py
a8ebcfd34c test: let connections happen in any order in p2p_private_broadcast.py
45133c589a doc: clarify `git range-diff` add/delete output
e5f0613503 net processing: Check if we are in ibd before processing block for txdownloadman
ce8b692897 Add functional test exercising tx downloadman recently confirmed filter
c462e54f9d test: don't always assert NUM_PRIVATE_BROADCAST_PER_TX broadcasts
3710566305 test: move abortprivatebroadcast test at the end
d9c7364ac5 Merge bitcoin/bitcoin#34141: miniscript: Use Func and Expr when parsing keys, hashes, and locktimes
38a7a67126 cmake: Provide `install_name_tool` stub instead of disabling it
6c8d628b74 Merge bitcoin-core/gui#931: Release: Update `src/qt/locale/bitcoin_en.xlf` after string freeze
fa194fca8e Merge bitcoin/bitcoin#34622: test: assert_debug_log timeouts follow-up
d907d65acd Merge bitcoin/bitcoin#29770: index: Check all necessary block data is available before starting to sync
ce6898f9a8 Merge bitcoin/bitcoin#34605: build: define CMAKE_COMPILE_WARNING_AS_ERROR as a cache option
fcaec2544b doc: release note for IPC cooldown and interrupt
1e82fa498c mining: add interrupt()
a11297a904 mining: add cooldown argument to createNewBlock()
a9e59f7d95 rpc: add optimal result to getmempoolinfo
a3fb3dd55c mempool: log if we detect a non-optimal mempool
3feabb203a leveldb: remove unused files
c86bce597a guix: use a temporary file over sponge
a2fd558760 Merge bitcoin/bitcoin#34572: cmake: Fix NetBSD-specific workaround for Boost
ef987683dc qt: Update src/qt/locale/bitcoin_en.xlf after string freeze
cb3473a680 Merge bitcoin/bitcoin#34568: mining: Break compatibility with existing IPC mining clients
641a1954f7 Merge bitcoin/bitcoin#34633: Revert "ci: Treat SHA1 LLVM signing key as warning"
3574905cec Revert "ci: Treat SHA1 LLVM signing key as warning"
1a54886b63 Merge bitcoin/bitcoin#24539: Add a "tx output spender" index
fa4424fd98 test: Fixup assert_debug_log timeouts in feature_config_args.py
faed837f27 test: Add missing syncwithvalidationinterfacequeue
ee2065fdea Merge bitcoin/bitcoin#34165: coins: don't mutate main cache when connecting block
96bec216ec Merge bitcoin/bitcoin#34549: net: reduce log level for PCP/NAT-PMP NOT_AUTHORIZED failures
76de2f8e55 Merge bitcoin/bitcoin#34571: test: Fix intermittent issues in feature_assumevalid.py
c808dfbbdc Merge bitcoin/bitcoin#34329: rpc,net: Add private broadcast RPCs
739f75c098 Merge bitcoin/bitcoin#33512: coins: use dirty entry count for flush warnings and disk space checks
02c83fef84 Merge bitcoin/bitcoin#34577: http: fix submission during shutdown race
0b96b9c600 Minimize mempool lock, sync txo spender index only when and if needed
d0998cbe34 Merge bitcoin/bitcoin#33199: fees: enable `CBlockPolicyEstimator` return sub 1 sat/vb fee rate estimates
37e449dcc7 Merge bitcoin/bitcoin#34512: rpc: add coinbase_tx field to getblock
097c18239b Merge bitcoin/bitcoin#34385: subprocess: Fix `-Wunused-private-field` when building with clang-cl on Windows
910bd1c964 Merge bitcoin/bitcoin#34582: rpc: Properly parse -rpcworkqueue/-rpcthreads
e0463b4e8c rpc: add coinbase_tx field to getblock
5a8a427610 Merge bitcoin/bitcoin#32745: scripted-diff: Update DeriveType enum values to mention ranged derivations
3d82ec5bdd Add a "tx output spender" index
8ee24d764a Merge bitcoin/bitcoin#34604: guix: remove double export of `TZ`
4933d1fbba Merge bitcoin/bitcoin#28792: build: Embedded ASMap [3/3]: Build binary dump header file
6d482b22de Merge bitcoin/bitcoin#32138: wallet, rpc: remove settxfee and paytxfee
726b3663cc http: properly respond to HTTP request during shutdown
241ad5853b Merge bitcoin-core/gui#929: Use plurals where necessary
a849b7e1ff Merge bitcoin-core/gui#928: Replace three dots with ellipsis
fa6af85634 refactor: Use static_cast<decltype(...)> to suppress integer sanitizer warning
fa692974ac util: Fix UB in SetStdinEcho when ENOTTY
9e4567b17a Merge bitcoin/bitcoin#34581: test: Set assert_debug_log timeout to 0
655b9d12ee Merge bitcoin/bitcoin#32950: validation: remove BLOCK_FAILED_CHILD
97e7e79435 test: Enable `system_tests/run_command` "stdin" test on Windows
a4324ce095 test: Remove `system_tests/run_command` runtime dependencies
2706758dc3 Merge bitcoin/bitcoin#34349: util: Remove brittle and confusing sp::Popen(std::string)
59e10a5463 Merge bitcoin/bitcoin#34023: Optimized SFL cluster linearization
fa36adeb71 ci: [refactor] Drop last use of pwsh
fae31b1e2f ci: [refactor] Move github_import_vs_env to python script
59d24bd5dd threadpool: make Submit return Expected instead of throwing
fb3e1bf9c9 test: check LoadBlockIndex correctly recomputes invalidity flags
29740c06ac validation: remove BLOCK_FAILED_MASK
b5b2956bda validation: reset BLOCK_FAILED_CHILD to BLOCK_FAILED_VALID when loading from disk
37bc207852 validation: stop using BLOCK_FAILED_CHILD
120c631e16 refactor: use clearer variables in InvalidateBlock()
fa4cb96bde test: Set assert_debug_log timeout to 0
c2fcf25069 clusterlin: inline GetReachable into Deactivate (optimization)
d90f98ab4a clusterlin: inline UpdateChunk into (De)Activate (optimization)
b684f954bb clusterlin: unidirectional MakeTopological initially (optimization)
1daa600c1c clusterlin: track suboptimal chunks (optimization)
63b06d5523 clusterlin: keep track of active children (optimization)
ae16485aa9 clusterlin: special-case self-merges (optimization)
3221f1a074 clusterlin: make MergeSequence take SetIdx (simplification)
7194de3f7c clusterlin: precompute reachable sets (optimization)
6f898dbb8b clusterlin: simplify PickMergeCandidate (optimization)
dcf458ffb9 clusterlin: split up OptimizeStep (refactor)
cbd684a471 clusterlin: abstract out functions from MergeStep (refactor)
b75574a653 clusterlin: improve TxData::dep_top_idx type (optimization)
73cbd15d45 clusterlin: get rid of DepData (optimization)
7c6f63a8a9 clusterlin: pool SetInfos (preparation)
20e2f3e96d scripted-diff: rename _rep -> _idx in SFL
268fcb6a53 clusterlin: add more Assumes and sanity checks (tests)
d69c9f56ea clusterlin: count chunk deps without loop (optimization)
f66fa69ce0 clusterlin: split tx/chunk dep counting (preparation)
900e459778 clusterlin: avoid depgraph argument in SanityCheck (cleanup)
666b37970f clusterlin: fix type to count dependencies
a7c29df0e5 Merge bitcoin/bitcoin#34552: fees: refactor: separate feerate format from fee estimate mode
231dd04b8d build: define CMAKE_COMPILE_WARNING_AS_ERROR as a cache option
fa48d42163 test: Stricter unit test
fa626bd143 util: Remove brittle and confusing sp::Popen(std::string)
fd06157d14 test: Add coverage for restarted node without any block sync
3d7ab7ecb7 rpc, test: Address feedback from #29668
312919c9dd test: Indices can not start based on block data without undo data
a9a3b29dd6 index: Check availability of undo data for indices
c8c9c1e617 Merge bitcoin/bitcoin#34383: ci: remove commit count limit from `test-each-commit` and fail fast
62e378584e guix: don't export TZ twice
badcf1c68d guix: fix typo in guix-codesign
8a050b9cb6 Merge bitcoin/bitcoin#34575: test: Avoid empty errmsg in JSONRPCException
746d8cddc1 qt: Use plurals where necessary
fa5672dcaf refactor: [gui] Use SettingTo<int64_t> over deprecated SettingToInt
35e6444fdc Merge bitcoin/bitcoin#34570: doc: update Windows MSVC build guide to utilize winget to install build requirements
d159b10398 doc: update Windows MSVC build guide to utilize WinGet to install apps
afea2af139 net: reduce log level for PCP/NAT-PMP NOT_AUTHORIZED failures
fac3ecaf69 rpc: Properly parse -rpcworkqueue/-rpcthreads
faee36f63b util: Add SettingTo<Int>() and GetArg<Int>()
6df4a045f7 qt: Replace three dots with ellipsis
80dc4359b8 cmake: Apply workaround for `install_name_tool` conditionally
211111b804 test: Avoid empty errmsg in JSONRPCException
b65ff0e5a1 Merge bitcoin/bitcoin#34548: ci: Add and use ci-windows-cross.py helper
03e5f063b5 Merge bitcoin/bitcoin#34559: ci: split vcpkg tools cache into restore/save
84e826ddc1 Merge bitcoin/bitcoin#34511: test: fully reset the state of CConnman in tests
309c51d89d Merge bitcoin/bitcoin#34546: kernel: Avoid duplicating symbols in the kernel library
24f93c9af7 release note
331a5279d2 wallet, rpc:remove settxfee and paytxfee
eafd530d20 kernel: avoid potential duplicate object in shared library/binary
24c3b47010 build: add kernel-specific warnings
cae6d895f8 fuzz: add target for CoinsViewOverlay
86eda88c8e fuzz: move backend mutating block to end of coins_view
89824fb27b fuzz: pass coins_view_cache to TestCoinsView in coins_view
73e99a5966 coins: don't mutate main cache when connecting block
67c0d1798e coins: introduce CoinsViewOverlay
69b01af0eb coins: add PeekCoin()
f700609e8a doc: Release notes for mining IPC interface bump
79c934b51c cmake: Fix NetBSD-specific workaround for Boost
fa90d44a22 test: Fix intermittent issues in feature_assumevalid.py
07b924775e Merge bitcoin/bitcoin#34427: lint: Flatten lint image entry points
9453c15361 ipc mining: break compatibility with existing clients (version bump)
70de5cc2d2 ipc mining: pass missing context to BlockTemplate methods (incompatible schema change)
2278f017af ipc mining: remove deprecated methods (incompatible schema change)
c6638fa7c5 ipc mining: provide default option values (incompatible schema change)
a4603ac774 ipc mining: declare constants for default field values
ff995b50cf ipc test: add workaround to block_reserved_weight exception test
b970cdf20f test framework: expand expected_stderr, expected_ret_code options
df53a3e5ec rpc refactor: stop using deprecated getCoinbaseCommitment method
0b4cd08fcd Merge bitcoin/bitcoin#33965: mining: fix -blockreservedweight shadows IPC option
2a1d0db799 doc: Mention private broadcast RPCs in release notes
c3378be10b test: Cover abortprivatebroadcast in p2p_private_broadcast
557260ca14 rpc: Add abortprivatebroadcast
15dff452eb test: Cover getprivatebroadcastinfo in p2p_private_broadcast
996f20c18a rpc: Add getprivatebroadcastinfo
5e64982541 net: Add PrivateBroadcast::GetBroadcastInfo
a067ca3410 [doc] coin selection filters by max cluster count, not descendant
55c49ff8f4 Merge bitcoin/bitcoin#34143: build: Prevent system header fallback and include path pollution
c134b1a4bc Merge bitcoin/bitcoin#34257: txgraph: deterministic optimal transaction order
4a05825a3f Merge bitcoin/bitcoin#33689: http: replace WorkQueue and single threads handling for ThreadPool
50cf6838e6 wallet: rpc: manpage: fix example missing `fee_rate` argument
c1355493e2 refactor: fees: split fee rate format from fee estimate mode
c413cf12c5 ci: Split vcpkg tools cache into restore/save
337fef9f2f Merge bitcoin/bitcoin#34554: build: avoid exporting secp256k1 symbols
922ebf96ed refactor: move-only: move `FeeEstimateMode` enum to `util/fees.h`
cb1798000c Merge bitcoin/bitcoin#33861: build: Bump VS minimum supported version to 18.3
7640863a0f Merge bitcoin/bitcoin#34555: doc: archive release notes for v29.3
d29bc5e6dd doc: archive release notes for v29.3
fd625d84ae Merge bitcoin/bitcoin#34539: test: Fixup TODO comment in feature_dbcrash.py; remove unnecessary sleep
6777314310 Merge bitcoin/bitcoin#34551: ci: Extend diff context for clang-format
452c743951 refactor: Remove workaround for resolved MSVC bug
7164a0cab6 build: Bump VS minimum supported version to 18.3
2ccfdb582b build: avoid exporting secp256k1 symbols
f7be5fb8fc [refactor] rename variable to clarify it is unused and cluster count
fa8c89511d Fixup TODO comment in feature_dbcrash.py; remove unnecessary sleep
f8d2f30bf3 ci: Extend diff context for clang-format
91a8e9b549 Merge bitcoin-core/gui#807: refactor: interfaces, make 'createTransaction' less error-prone
573bb542be net: Store recipient node address in private broadcast
fa13b13239 ci: [refactor] Use pathlib over os.path
fa2719ab1b ci: [refactor] Move run_unit_tests to ci-windows-cross.py
fa99ba5f14 ci: Set PREVIOUS_RELEASES_DIR env var in ci-windows-cross.py
fa4a1cab6c ci: Move run_functional_tests into ci-windows-cross.py
1111108685 ci: [refactor] Move pyzmq install and get_previous_releases into ci-windows-cross.py
fac9c7bd66 ci: [refactor] Move config.ini rewrite to ci-windows-cross.py
faf7389466 ci: Move check_manifests step to ci-windows-cross.py
fa674d55df ci: [refactor] Move print_version step into ci-windows-cross.py helper
6f113cb184 txgraph: use fallback order to sort chunks (feature)
0a3351947e txgraph: use fallback order when linearizing (feature)
fba004a3df txgraph: pass fallback_order to TxGraph (preparation)
941c432a46 txgraph test: subclass TxGraph::Ref like mempool does (preparation)
39d0052cbf clusterlin: make optimal linearizations deterministic (feature)
8bfbba3207 txgraph: sort distinct-cluster chunks by equal-feerate-prefix size (feature)
e0bc73ba92 clusterlin: sort tx in chunk by feerate and size (feature)
6c1bcb2c7c txgraph: clear cluster's chunk index in ~Ref (preparation)
7427c7d098 txgraph: update chunk index on Compact (preparation)
3ddafceb9a txgraph: initialize Ref in AddTransaction (preparation)
64294c8909 Merge bitcoin/bitcoin#34500: ci: Print verbose Windows CI build failure
5f6bfa3649 Merge bitcoin/bitcoin#34057: test: add tests for cluster chunks
6ca7782db9 Merge bitcoin/bitcoin#34523: doc: Clarify why performance-move-const-arg.CheckTriviallyCopyableMove=false
44afed4cd9 Merge bitcoin/bitcoin#34524: refactor: [rpc] Remove confusing and brittle integral casts (take 2)
3764746404 Merge bitcoin/bitcoin#34241: test: Check that interrupt results in EXIT_SUCCESS
18f11695c7 validation: don't update BLOCK_FAILED_VALID to BLOCK_FAILED_CHILD in InvalidateBlock
acefdce083 Merge bitcoin/bitcoin#34469: consensus/test/doc: cover errors in `CheckTxInputs` with unit tests
7e5e0b20ea Merge bitcoin/bitcoin#32773: cmake: Create subdirectories in build tree in advance
fa90277d22 ci: Use ubuntu-slim for [meta] runners
fa9627af9f ci: Rely on cmake --preset toolchain file
fa3f89acaa ci: Add check_manifests to ci-windows.py
1111079a16 ci: Add run_tests step to ci-windows.py
6d625af283 Merge bitcoin/bitcoin#32621: contrib: utxo_to_sqlite.py: add option to store txid/spk as BLOBs
afb1bc120e validation: Use dirty entry count in flush warnings and disk space checks
b413491a1c coins: Keep track of number of dirty entries in `CCoinsViewCache`
7e52b1b945 fuzz: call `EmplaceCoinInternalDANGER` as well in `SimulationTest`
8f0e1f6540 Merge bitcoin/bitcoin#34465: refactor: separate log generation from log handling
b2805eec35 Merge bitcoin/bitcoin#34528: test: Fix intermittent failure in `feature_assumevalid.py` by ensuring invalid block was processed before checking debug.log
72030efd4b Merge bitcoin/bitcoin#34525: Release: Prepare "Open Transifex translations for v31.0" step
fe0b1513a7 test: add a test for txgraph staging
ef253a9d3d test: add block builder tests for txgraph
4a1ac31e97 test: add a chunk test for txgraph
b623fab1ba mining: enforce minimum reserved weight for IPC
d3e49528d4 mining: fix -blockreservedweight shadows IPC option
418b7995dd test: have mining template helpers return None
54bd49c7e3 Merge bitcoin/bitcoin#34452: test: split interface_ipc.py
3b39a8aeb4 Merge bitcoin/bitcoin#34483: refactor: Use SpanReader over DataStream
6f68e0c8b7 Merge bitcoin/bitcoin#34181: refactor: [p2p] Make ProcessMessage private again, Use references when non-null
4c0d4f6f93 refactor: interfaces, make 'createTransaction' less error-prone
e2c3ec9bf4 refactor: move CreatedTransactionResult to types.h
45372175c3 gui: remove AmountWithFeeExceedsBalance error special case
d88997b809 Merge bitcoin/bitcoin#34299: wallet: remove PreSelectedInputs and re-activate "AmountWithFeeExceedsBalance" error
b73a62f667 test: Ensure invalid block was processed before checking debug.log
633d183119 test: misc interface_ipc_mining.py improvements
52ccd9215e test: split interface_ipc_mining.py into subtests
4e49fa2a68 test: add interface_ipc_mining.py
01a1ae889e test: move IPC helpers to ipc_util.py
28160c1e3d Merge bitcoin/bitcoin#34421: ci: add Chimera Linux LTO config
576f892027 qt: Update the `src/qt/locale/bitcoin_en.xlf` translation source file
4b9f5beafe Update Transifex slug for 31.x
46e1288df2 Merge bitcoin/bitcoin#34498: iwyu: Fix patch to prefer `<cstdint>`
fa6801366d refactor: [rpc] Remove confusing and brittle integral casts (take 2)
d79249d279 ci: add chimera Linux LTO CI job
48161f6a05 wallet: introduce "tx amount exceeds balance when fees are included" error
b7fa609ed1 wallet: remove PreSelectedInputs
7819da2c16 walllet: use CoinsResult instead of PreSelectedInputs
0cd309c75e Merge bitcoin/bitcoin#34492: ci: Drop valgrind fuzz from GHA matrix
fa561682ce ci: [refactor] Add .github/ci-windows.py prepare_tests step
fa3e607c6d ci: Print verbose Windows CI build failure
4444808dd3 ci: [refactor] Add .github/ci-windows.py build step
fabdd4e823 ci: Refactor Windows CI into script
fa88ac3f4f doc: Clarify why performance-move-const-arg.CheckTriviallyCopyableMove=false
fa0677d131 refactor: Use SpanReader over DataStream
e5474079f1 wallet: introduce GetAppropriateTotal() in CoinsResult
d8ea921d01 wallet: correctly reserve in CoinsResult::All()
7072d825e3 wallet: ensure COutput added in set are unique
fefa3be782 wallet: fix, make 'total_effective_amount' optional actually optional
9ec1ae0e98 Merge bitcoin/bitcoin#34437: rpc: `uptime` should begin on application start
d692e07228 Merge bitcoin/bitcoin#32894: FUZZ: Test that BnB finds best solution
28d8607882 Merge bitcoin/bitcoin#34504: build: replace `WERROR` with `CMAKE_COMPILE_WARNING_AS_ERROR`
ad1940a006 Merge bitcoin/bitcoin#34517: drop my key from trusted-keys
322c4ec442 build: replace WERROR with CMAKE_COMPILE_WARNING_AS_ERROR
65134c7e5f depends: Prefix include path for headers-only `systemtap` package
94a692b6aa cmake: Add missed `USDT::headers`
b5375c44ed depends: Prefix include path for headers-only `boost` package
d73378ffcc cmake: Add missed `Boost::headers`
eb97250421 Merge bitcoin/bitcoin#34496: build: don't pass on boost dependency to kernel consumers
9d76947294 Merge bitcoin/bitcoin#34464: Change BlockRequestAllowed() to take ref (minor refactor)
8966352df3 doc: add release notes
704a09fe71 test: ensure fee estimator provide fee rate estimate < 1 s/vb
243e48cf49 fees: delete unused dummy field
fc4fbda42a fees: bump fees file version
b54dedcc85 fees: reduce `MIN_BUCKET_FEERATE` to 100
2cb7e99dee test: also reset CConnman::m_private_broadcast in tests
41b9b76cce Merge bitcoin/bitcoin#34510: doc: fix broken bpftrace installation link
91b7c874e2 test: add ConnmanTestMsg convenience method Reset()
42ee31e80c doc: fix broken bpftrace installation link
54d0393058 FUZZ: Test that BnB finds best solution
eb510f8678 ci: fail fast in test-each-commit script
04c4d71008 ci: remove commit count limit from `test-each-commit`
4ae00e9a71 Merge bitcoin/bitcoin#32636: Split `CWallet::Create()` into `CreateNew` and `LoadExisting`
d4bc620ad8 Merge bitcoin/bitcoin#34488: refactor: Small style and test fixups for bitcoinkernel
eb3dbbaf30 Merge bitcoin/bitcoin#34493: contrib: Remove valgrind suppression for bug 472219
1e64aeaaec Merge bitcoin/bitcoin#34295: test: Improve STRICTENC/DERSIG unit tests
b65a3d8009 iwyu: Fix patch to prefer `<cstdint>`
a50d0b6720 build: don't pass on boost dependency to kernel consumers
3532e24213 Merge bitcoin/bitcoin#32748: fees: fix noisy flushing log
fad9dd1a88 test: kernel test fixups
fabb58d42d test: Use clang-tidy named args for create_chainman
fa51594c5c refactor: Small style fixups in src/kernel/bitcoinkernel.cpp
fa33acec89 Revert "valgrind: add suppression for bug 472219"
24699fec84 doc: Add initial asmap data documentation
bab085d282 ci: Use without embedded asmap build option in one ci job
e53934422a doc: Expand documentation on asmap feature and tooling
6244212a55 init, net: Implement usage of binary-embedded asmap data
6202b50fb9 build: Generate ip_asn.dat.h during build process
634cd60dc8 build: Add embedded asmap data
faa4ab113c ci: Drop valgrind fuzz from GHA matrix
02b5f6078d fees: make flushes log debug only
faa016af54 refactor: Use aliasing shared_ptr in Sock::Wait
b58eebf152 Merge bitcoin/bitcoin#34470: Bump leveldb subtree and remove UB workaround in CI
8bb277c123 Merge bitcoin/bitcoin#34481: Update secp256k1 subtree to latest master
a4941132d3 Merge bitcoin/bitcoin#34461: ci: Print verbose build error message in test-each-commit
fad7d86d8d ci: Remove unused workaround after leveldb subtree bump
fabced56f6 Bump leveldb subtree
be35408c5a Merge bitcoin/bitcoin#34474: ci: update ccache to improve hitrate
2f2952c5f2 Squashed 'src/leveldb/' changes from cad64b151d..ab6c84e6f3
7528d18796 ci: show more verbose ccache stats
47c9297172 Merge bitcoin/bitcoin#32420: mining, ipc: omit dummy extraNonce from coinbase
4b53cbd692 test: Test for musig() in various miniscript expressions
ec0f47b15c miniscript: Using Func and Expr when parsing keys, hashes, and locktimes
6fd780d4fb descriptors: Increment key_exp_index in ParsePubkey(Inner)
b12281bd86 miniscript: Use a reference to key_exp_index in KeyParser
ce4c66eb7c test: Test that key expression indexes match key count
8c03318387 consensus/doc: explain `GetValueOut()` precondition
82ef92c8d0 consensus/doc: explain unreachable `bad-txns-fee-outofrange` check
fad3eb3956 refactor: Use SpanReader over DataStream
fa06e26764 refactor: [qt] Use SpanReader to avoid two vector copies
fabd4d2e2e refactor: Avoid UB in SpanReader::ignore
37cc2a2d95 logging: use util/log.h where possible
8799eb7440 Merge bitcoin/bitcoin#33878: refactor, docs: Embedded ASMap [2/3]: Refactor asmap internals and add documentation
bb8e9e7c4c logging: Move message formatting to util/log.h
001f0a428e move-only: Move logging macros to util/log.h
94c0adf4e8 move-onlyish: Move logging levels to util/log.h
56d113cab0 move-only: move logging categories to logging/categories.h
f5233f7e98 move-only: Move SourceLocation to util/log.h
fa20bc2ec2 refactor: Use empty() over eof() in the streams interface
fa879db735 test: Read debug log for self-checking comment
d405713197 ci: use Alpine 3.23
1cee0e4cd3 ci: detect apk usage generally
1ed3de5a6d Update secp256k1 subtree to latest master
9d4c9b0035 Squashed 'src/secp256k1/' changes from 14e56970cb..57315a6985
9f8764c814 Merge bitcoin/bitcoin#34475: ci: Treat SHA1 LLVM signing key as warning
3c8f5e48f7 ci: Treat SHA1 LLVM signing key as warning
5cb4cf9b42 Merge bitcoin/bitcoin#34036: contrib: update macOS SDK to Xcode-26.1.1-17B100
41034a032f Merge bitcoin/bitcoin#34396: fuzz: pull the latest FuzzedDataProvider.h from upstream
580e9eefe3 ci: bump CCACHE_MAXSIZE to 2G
ff09583928 Merge bitcoin/bitcoin#34432: test: Turn ElapseSteady into SteadyClockContext
67696b207f net: extend log message to include attempted connection type
81e67d9aa1 Merge bitcoin/bitcoin#34179: refactor: Enable transparent lookup for setBlockIndexCandidates to remove const_cast
ec70bead5e Merge bitcoin/bitcoin#34433: script: remove unused `SCRIPT_ERR_LAST`
08547ee1b0 Merge bitcoin/bitcoin#34443: validation: follow-up nits for lock-free `IsInitialBlockDownload()`
881ab4fc82 support multiple block status checks in CheckBlockDataAvailability
232a2bce90 consensus/test: add out-of-range output unit tests for `CTransaction::GetValueOut`
aa87aae14f consensus/test: add `MoneyRange` unit tests for `CheckTxInputs`
8bb77f348e Merge bitcoin/bitcoin#34455: ci, iwyu: Fix warnings in `src/univalue` and treat them as errors
1bf3842223 ci, iwyu: Fix warnings in `src/univalue` and treat them as errors
3d180d3c7f Merge bitcoin/bitcoin#34462: util: Drop *BSD headers in `batchpriority.cpp`
1eed88a3ec Merge bitcoin/bitcoin#34460: iwyu: Update mappings
101daa4163 Merge bitcoin/bitcoin#34338: ci, iwyu: Fix warnings in `src/zmq` and treat them as errors
dfb9364609 fuzz: pull latest FuzzedDataProvider.h from upstream
705705e5b1 Merge bitcoin/bitcoin#33701: test: add case where `TOTAL_TRIES` is exceeded yet solution remains
88f8029835 Merge bitcoin/bitcoin#34100: doc: Use multipath descriptors in descriptors.md and linked test
5ad94cf6b7 Merge bitcoin/bitcoin#34381: script: return proper error for `CScriptNum` errors
4f85b05131 Merge bitcoin/bitcoin#31713: miniscript refactor: Remove unique_ptr-indirection
1f8f7d477a Change BlockRequestAllowed() to take ref
5d2707307e Merge bitcoin/bitcoin#34454: wallet: Rename `RecordType::DELETE` to `RecordType::DELETE_FLAG`
38fd85c676 http: replace WorkQueue and threads handling for ThreadPool
c323f882ed fuzz: add test case for threadpool
c528dd5f8c util: introduce general purpose thread pool
07af50f789 util: Drop *BSD headers in `batchpriority.cpp`
4dfb6eef70 test: Add DERSIG tests to script_tests
884978f389 test: Fix a STRICTENC test in script_tests
527e8ca7b5 test: Remove outdated comment in script_tests
516be10bb5 wallet: Rename `RecordType::DELETE` to `RecordType::DELETE_FLAG`
bbbb78a4f2 ci: Print verbose build error message in test-each-commit
2222dadabb ci: [refactor] Allow overwriting check option in run helper
9c839aa9e3 iwyu: Document mappings for libc symbols
91824646c5 iwyu: Add temporary mapping to work around upstream bug
37de7d1910 iwyu: Drop backported mapping
01651324f4 Merge bitcoin/bitcoin#34434: miniscript: correct and_v() properties
c7cf2b8f3a Merge bitcoin/bitcoin#34445: fuzz: Use `__AFL_SHM_ID` for naming test directories
0d1d393877 Merge bitcoin/bitcoin#34429: test: Check that redundant verack message is ignored
23a2e3354e Merge bitcoin/bitcoin#34453: ci: Always print low ccache hit rate notice
5401e673d5 Merge bitcoin/bitcoin#33604: p2p: Allow block downloads from peers without snapshot block after assumeutxo validation
6750744eb3 Merge bitcoin/bitcoin#34164: validation: add reusable coins view for ConnectBlock
4e4fa0199e Merge bitcoin/bitcoin#33680: validation: do not wipe utxo cache for stats/scans/snapshots
fad2876ec3 ci: Always print low ccache hit rate notice
e67a676df9 fix: uptime RPC returns 0 on first call
a89e1618dd contrib: update macOS SDK to Xcode-26.1.1-17B100
57a778ed25 depends: use -Xclang -fno-cxx-modules in macOS cross build
3e0fd0e4dd refactor: rename will_reuse_cache to reallocate_cache
44b4ee194d validation: reuse same CCoinsViewCache for every ConnectBlock call
8fb6043231 coins: introduce CCoinsViewCache::ResetGuard
041758f5ed coins: use hashBlock setter internally for CCoinsViewCache methods
8dd9200fc9 coins: add Reset on CCoinsViewCache
efcbf79448 ci, iwyu: Fix warnings in `src/zmq` and treat them as errors
d3e681bc06 fuzz: Use `__AFL_SHM_ID` for naming test directories
f7e0c3d3d3 Merge bitcoin/bitcoin#34346: test: use IP_PORTRANGE_HIGH on FreeBSD for dynamic port allocation
eeb4d28148 validation: follow-up nits for lock-free `IsInitialBlockDownload()`
1c2f164d34 Merge bitcoin/bitcoin#34253: validation: cache tip recency for lock-free `IsInitialBlockDownload()`
8cdf1dcca0 Merge bitcoin/bitcoin#34373: refactor: Remove remaining std::bind, check via clang-tidy
facb2aab26 test: Turn ElapseSteady into SteadyClockContext
6354b4fd7f tests: log node JSON-RPC errors during test setup
45930a7941 http-server: guard against crashes from unhandled exceptions
a6cdc3ec9b Merge bitcoin/bitcoin#34303: test: addrman: test self-announcement time penalty handling
75ec9001ce Merge bitcoin/bitcoin#34207: coins/refactor: enforce `GetCoin()` returns only unspent coins
4fab35cf88 miniscript: correct and_v() properties
51abf7d15b script: remove unused SCRIPT_ERR_LAST
f2b8acc0ed remove glozow from trusted keys
cd1af852fa Merge bitcoin/bitcoin#34358: wallet: fix removeprunedfunds bug with conflicting transactions
2dd5e7bb38 Merge bitcoin/bitcoin#34409: test: use `ModuleNotFoundError` in `interface_ipc.py`
d3e8c459e7 Merge bitcoin/bitcoin#34417: log: Print warning about privacy-sensitive log info unconditionally
d9851f9a7c Merge bitcoin/bitcoin#33472: guix: documented shasum gathering command
a7460b9928 Merge bitcoin/bitcoin#34098: test: [move-only] Move lint functions into modules
8f9ad534a5 Merge bitcoin/bitcoin#34352: ci, iwyu: Fix warnings in `src/primitives` and treat them as errors
faba426b3b lint: Flatten lint image entry points
1111fff91c lint: Add missing --platform=linux to docker build command
feb74a9372 Merge bitcoin/bitcoin#34430: ci: mount git directory as writable in linter
fad042235b refactor: Remove remaining std::bind, check via clang-tidy
c8abac9941 ci: mount .git dir rw
d9e651f995 Merge bitcoin/bitcoin#33622: docs: add doc comment for SRD selection algorithm
cb128bcedb Merge bitcoin/bitcoin#34408: ci: remove gnu-getopt usage
6ae96ed607 Merge bitcoin/bitcoin#34276: Remove empty caption from user interface (noui, gui)
fafdae46ff test: Check that redundant verack message is ignored
289d60f5ab Merge bitcoin/bitcoin#34161: refactor: avoid possible UB from `std::distance` for `nullptr` args
1d3243806d Merge bitcoin/bitcoin#34391: lint: upgrade lint scripts for worktrees
d931b54d13 Merge bitcoin/bitcoin#34412: Update secp256k1 subtree to latest master
3400db8040 doc: add missing param description to SRD
c0e6556e4f Merge bitcoin/bitcoin#34413: doc: Remove outdated -fdebug-prefix-map section in dev notes
9260b20ef1 Merge bitcoin/bitcoin#33962: refactor: replace manual promise with SyncWithValidationInterfaceQueue
ddae1b4efa ci: remove gnu-getopt usage
fa43897c1d doc: Fix LLM nits in net_processing.cpp
bbbba0fd4b scripted-diff: Use references when nullptr is not possible
fac5415466 refactor: Separate peer/maybe_peer in ProcessMessages and SendMessages
fac529188e refactor: Pass Peer& to ProcessMessage
fa376095a0 refactor: Pass CNode& to ProcessMessages and SendMessages
fada838014 refactor: Make ProcessMessage private again
fa80cd3cee test: [refactor] Avoid calling private ProcessMessage() function
d511adb664 [miner] omit dummy extraNonce via IPC
bf3b5d6d06 test: clarify getCoinbaseRawTx() comparison
78df9003d6 [doc] Update comments on dummy extraNonces in tests
e770392084 test: addrman: test self-announcement time penalty handling
27aeeff630 Merge bitcoin/bitcoin#34328: rpc: make `uptime` monotonic across NTP jumps
5aeaa71c77 lint: pass args from lint.py to cargo run in container
c17a2adb8d lint: upgrade lint scripts for worktrees
fa9c92d7b6 log: Print warning about privacy-sensitive log info unconditionally
f970cb39fb Merge bitcoin/bitcoin#34267: net: avoid unconditional `privatebroadcast` logging (+ warn for debug logs)
8593d96519 Merge bitcoin/bitcoin#33067: test: refactor ValidWitnessMalleatedTx class to helper function
2fccbea3c8 Squashed 'src/secp256k1/' changes from d543c0d917..14e56970cb
26fbe10873 Update secp256k1 subtree to latest master
34a5ecadd7 Merge bitcoin/bitcoin#34397: doc: fix arg name hints so bugprone can validate them
fa2e1b85dd build: Remove outdated comment about -ffile-prefix-map
fa06cd4ba7 doc: Remove outdated -fdebug-prefix-map section in dev notes
ab649ce459 guix: documented shasum gathering command
1cc58d3a0c Merge bitcoin/bitcoin#34281: build: Temporarily remove confusing and brittle `-fdebug-prefix-map`
905dfdee86 test: use ModuleNotFoundError in interface_ipc.py
2778eb4664 Merge bitcoin/bitcoin#34337: fuzz: Return chrono point from ConsumeTime(), Add ConsumeDuration()
d70fb8a575 Merge bitcoin/bitcoin#34351: util: Remove `FilterHeaderHasher`
6472ba06c3 Merge bitcoin/bitcoin#34388: doc: Explain that low-effort pull requests may be closed
1f60ca360e wallet: fix removeprunedfunds bug with conflicting transactions
5f66fca633 Merge bitcoin-core/gui#920: Set peer version and subversion to N/A when not available or detecting
02240a7698 Merge bitcoin/bitcoin#34390: test: allow overriding `tar` in `get_previous_releases.py`
7d9e1a8102 test: Verify peer usage after assumeutxo validation completes
3bd98b4508 refactor: use transparent comparator for setBlockIndexCandidates lookups
a73a3ec553 doc: fix invalid arg name hints for bugprone validation
5b8c204275 Merge bitcoin/bitcoin#34384: Remove epoch logic from mempool
eeee3755f8 fuzz: Return chrono point from ConsumeTime(), Add ConsumeDuration()
5cd57943b8 test: verify node state after restart in assumeutxo
1b36bf0c5d subprocess: Fix `-Wunused-private-field` for `Child` class on Windows
9f2b338bc0 subprocess: Fix `-Wunused-private-field` for `Popen` class on Windows
fa15a8d2d0 doc: Explain that low-effort pull requests may be closed
be2b48b9f3 test: allow overriding tar in get_previous_releases
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
40735450c0 Remove unused epochguard.h
1a8494d16c Rework CTxMemPool::GetChildren() to not use epochs
7b48b09b7f Merge bitcoin/bitcoin#34376: bench/test: clarify merkle bench and witness test intent
db2effaca4 scripted-diff: refactor: CWallet::Create() -> CreateNew()
27e021ebc0 wallet: Correctly log stats for encrypted messages.
d8bec61be2 wallet: remove loading logic from CWallet::Create
f35acc893f refactor: wallet: Factor out `WriteVersion()` from `PopulateWalletFromDB()`
e12ff8aca0 test: wallet: Split create and load
70dbc79b09 wallet: Use CWallet::LoadExisting() for loading existing wallets.
ae66e01164 wallet: Create separate function for wallet load
bc69070416 refactor: Wallet stats logging in its own function
a9d64cd49c wallet: Remove redundant birth time update
b4a49cc727 wallet: Move argument parsing to before DB load
b15a94a618 refactor: Split out wallet argument loading
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()
6f7b4323cb test: remove UNKNOWN_ERROR from script_tests
bd31a92d67 script: use SCRIPT_ERR_SCRIPTNUM for CScriptNum errors
0ca4dcd786 script: add SCRIPT_ERR_SCRIPTNUM error
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
2845f10a2b test: extend FreeBSD ephemeral port range fix to P2P listeners
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
3f5211cba8 test: remove child_one/child_two (w)txid variables
7cfe790820 test: replace ValidWitnessMalleatedTx class with function
5b2c3960b9 test: clean up tx resurrection (re-org) test in feature_block.py
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
4fec726c4d refactor: Simplify Interpret asmap function
79e97d45c1 doc: Add more extensive docs to asmap implementation
cf4943fdcd refactor: Use span instead of vector for data in util/asmap
385c34a052 refactor: Unify asmap version calculation and naming
fa41fc6a1a refactor: Operate on bytes instead of bits in Asmap code
964c44cdcd test(miniscript): Prove avoidance of stack overflow
198bbaee49 refactor(miniscript): Destroy nodes one full subs-vector at a time
50cab8570e refactor(miniscript): Remove NodeRef & MakeNodeRef()
15fb34de41 refactor(miniscript): Remove superfluous unique_ptr-indirection
e55b23c170 refactor(miniscript): Remove Node::subs mutability
c6f798b222 refactor(miniscript): Make fields non-const & private
22e4115312 doc(miniscript): Remove mention of shared pointers
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
34bed0ed8c test: use IP_PORTRANGE_HIGH on FreeBSD for dynamic port allocation
ccf9172ab3 util: Remove `FilterHeaderHasher`
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
fdc9fe2da6 ci, iwyu: Fix warnings in `src/primitives` and treat them as errors
477c5504e0 coins: replace `std::distance` with unambiguous pointer subtraction
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
81675a781f test: use pre-generated chain
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
14f99cfe53 rpc: make `uptime` monotonic across NTP jumps
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
a9440b1595 util: add `TicksSeconds`
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
a02c4a82d8 refactor: Move -walletbroadcast setting init
411caf7281 wallet: refactor: PopulateWalletFromDB use switch statement.
a48e23f566 refactor: wallet: move error handling to PopulateWalletFromDB()
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"
faa5a9ebad fuzz: Use min option in ConsumeTime
0972785fd7 wallet: Delete unnecessary PopulateWalletFromDB() calls
f0a046094e scripted-diff: refactor: CWallet::LoadWallet->PopulateWalletFromDB
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
fad7bd9ba3 noui: Remove always empty caption while formatting
fa8ebeb332 refactor: [gui] Document that the title is always empty for node message
fafe71b743 refactor: Remove empty caption from ThreadSafeMessageBox
fa8d0088e7 refactor: Remove empty caption from ThreadSafeQuestion
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
1fea3bae5c ipc, test: Add tests for unclean disconnect and thread busy behavior
fa37928536 build: Temporarily remove confusing and brittle -fdebug-prefix-map
979d41bfab qa: Fix Windows logging bug
28f70c571b Merge bitcoin/bitcoin#34240: ci: Run feature_unsupported_utxo_db.py on Windows
b39291f4cd doc: fix `-logips` description to clarify that non-debug logs can also contain IP addresses
c7028d3368 init: log that additional logs may contain privacy-sensitive information
fa2959e16d test: Fail on self-check warnings in test_runner.py
31b771a942 net: move `privatebroadcast` logs to debug category
ac76d94117 Merge bitcoin/bitcoin#34109: refactor: Use uint64_t over size_t for serialize corruption check in fees.dat
fa16b275fa test: Check that interrupt results in EXIT_SUCCESS
fab7c7f56c test: Split large init_stress_test into two smaller functions
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`
fa0195499c refactor: [gui] Use lambdas over std::bind
eeee1e341f refactor: Remove trailing semicolon after ADD_SIGNALS_DECL_WRAPPER
62557c9529 Merge bitcoin/bitcoin#33819: mining: getCoinbase() returns struct instead of raw tx
7562e2aeed Squashed 'src/ipc/libmultiprocess/' changes from a4f92969649..1fc65008f7d
73d0fe62d3 Merge commit '7562e2aeed95b0dc627e8e3a849941992f0189bb' into pr/subtree-7
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
557b41a38c validation: make `IsInitialBlockDownload()` lock-free
b9c0ab3b75 chain: add `CChain::IsTipRecent` helper
8d531c6210 validation: invert `m_cached_finished_ibd` to `m_cached_is_ibd`
8be54e3b19 test: cover IBD exit conditions
f51665bee7 psbt: validate pubkeys in MuSig2 pubnonce/partial sig deserialization
facaf56214 contrib: Remove unused functions
abc6a3a4eb Merge bitcoin/bitcoin#34252: doc: add 433 (Pay to Anchor) to bips.md
2ee7f9b259 coins: assume `GetCoin` only returns unspent coins
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 migr…
* Squashed 'Vendor/bitcoin/' content from commit 084cb796
git-subtree-dir: Vendor/bitcoin
git-subtree-split: 084cb796fb0f40eac962227afaedce21d62ae2a4
* Squashed 'Vendor/bitcoin/' changes from 4d7d5f6b79..f0e2cbc5e5
f0e2cbc5e5 Merge bitcoin/bitcoin#34800: [31.x] Backports
b241f3c82d doc: update example bitcoin conf for 31.0rc2
718c31cfb7 doc: update manual pages for v31.0rc2
a30e50538b build: bump version to v31.0rc2
ac13aca72b test: scale IPC mining wait timeouts by timeout_factor
39c87621d5 test: verify IPC error handling for invalid coinbase
660947352c test: move make_mining_ctx to ipc_util.py
acd7e3d061 test: verify createNewBlock wakes promptly when tip advances
e3d571691a test: Remove confusing assert_debug_log in wallet_reindex.py
87d1691f3e wallet: feebumper, fix crash when combined bump fee is unavailable
11b69922b3 wallet: fix amount computed as boolean in coin selection
d171afa9e8 ci: Temporarily use clang in valgrind tasks
198bc4da87 ci: Clarify why valgrind task has gui disabled
6993aa1915 test: Scale feature_dbcrash.py timeout with factor
051afe9e1a depends: Remove no longer necessary `dsymutil`
3b79852984 depends: Fix cross-compiling on macOS for Windows
e53c20d750 gui: Fix TransactionsView on setCurrentWallet
7118559f8c tests: applied PYTHON_GIL to the env for every test
d9a57912c6 ci: Avoid intermittent Windows generate download failures
335a098afa kernel: acquire coinstats cursor and block info atomically
e930c6d60f rpc: fix race condition in gettxoutsetinfo
ca781e49e5 cmake: Migrate away from deprecated SQLite3 target
068951211c test: [refactor] Use verbosity=0 named arg
8379f005da test: Fix intermittent issue in feature_assumeutxo.py
72d6c88165 test: Move event loop creation to network thread
c7127f21df test: Use asyncio.SelectorEventLoop() over deprecated asyncio.WindowsSelectorEventLoopPolicy()
a69f8c329e ci: Use arch-appropriate binaries in lint install
e3383ac932 ci: check macos bundle structure and codesigning
ab37d3d7cd macdeploy: use plugins dir to find plugins
bb9fcffd4c macdeploy: subprocess out to zip rather than shutil.make_archive
d20ba02caa build: Set AUTHOR_WARNING on warnings
2724c39208 guix: Make guix-clean less destructive
a28d78c44a test: use static methods and clarify comment in addr_relay
5642a2b0fe test: protect outbound connection from eviction in getaddr_test
a3c1eda8f2 test: fix addr relay test silent pass and wrong peerinfo index
207087b1c4 ci: bump cirruslabs actions versions
a74dfe3ae2 lint: Temporarily revert to vulture==2.14
f7f7e682b5 ci: Bump GHA actions versions
a3ffff0201 depends: delete Boost extra files
9852bbd218 depends: disable Qt sbom generation
d3737769ca Merge bitcoin/bitcoin#34795: [31.x] Bump to 31.0rc1
c5ae5f0adf doc: Point release notes to 31.0 wiki draft
88e21e57e5 examples: Generate example bitcoin.conf for 31.0rc1
62716a8c93 doc: Generate manpages for 31.0rc1
2a5b96eb54 build: bump to 31.0rc1
b97abdcdf1 Merge bitcoin/bitcoin#34766: Pre-31.x branching updates
eed3161893 Merge bitcoin/bitcoin#34792: clusterlin: update SFL comments for deterministic order
730308386a Merge bitcoin/bitcoin#34696: Update embedded asmap to 1772726400 for v31
951863d022 Merge bitcoin/bitcoin#34769: doc: update http worker thread names
d67c8ed788 clusterlin: update SFL comments for deterministic order
0690a5d0f2 Update embedded asmap to 1772726400
f82d076771 Merge bitcoin/bitcoin#34784: ci: use latest versions of lint deps
a9baf19172 Merge bitcoin/bitcoin#34789: doc: update build guides pre v31
48f26e2040 Merge bitcoin/bitcoin#34751: doc: Update asmap-data repository rule for file inclusion
6b20ad84e0 doc: update build guides pre v31
195306c359 Merge bitcoin/bitcoin#34785: ci: remove TODOs from retry
c08f0c3c29 ci: remove TODOs from retry
9f3752c437 ci: use latest versions of lint deps
544c15ff4e Merge bitcoin/bitcoin#34759: walletdb: hash pubkey/privkey in one shot to avoid leaking secret data
9aea2905fe Merge bitcoin/bitcoin#34783: depends: link to upstream qt issue
3a83715c2a depends: link to upstream qt issue
8dcd79949f Merge bitcoin/bitcoin#34718: Release: 31.0 translations update
5f9068bdcd Merge bitcoin/bitcoin#34781: test: Remove fixed TODO in address_to_scriptpubkey
d21afb297c qt: 31.0 translations update
fa0587a306 test: Remove fixed TODO in address_to_scriptpubkey
46189fd526 doc: update http worker thread names
d3056bc149 Merge bitcoin/bitcoin#34606: doc: clarify swapping impact on IBD performance
f201ccc800 Merge bitcoin/bitcoin#34673: contrib: Update fixed seeds pre-31.0
42f97c542d Merge bitcoin/bitcoin#34705: kernel: Use fs:: namespace and unicode path in kernel tests
7691e8a005 Merge bitcoin/bitcoin#34471: refactor: Use aliasing shared_ptr in Sock::Wait
49bd12bd89 Merge bitcoin/bitcoin#34693: doc: Use relative markdown links
aefa8e6d14 Merge bitcoin/bitcoin#34361: test: clean up tx resurrection (re-org) test in feature_block.py
3a222507fd Merge bitcoin/bitcoin#34037: wallet, doc: clarify the coin selection filters that enforce cluster count
501a3dd4ad walletdb: hash pubkey/privkey in one shot to avoid leaking secret data
d198635fa2 Merge bitcoin/bitcoin#34677: kernel: Chainparams and headerssync updates pre-31.0
9833ef5f86 Merge bitcoin/bitcoin#34702: doc: Fix fee field in getblock RPC result
f2f0a0ca4c Merge bitcoin/bitcoin#34700: script: Fix undefined behavior in Clone() -- std::transform writes past end of empty vector
48b952cbb6 build: bump to 31.99
1b3d58f128 docs Remove 31.0 release notes fragments
b7cf2f87d0 docs: Update bips.md
c7a3ea2483 Merge bitcoin/bitcoin#34692: Bump dbcache to 1 GiB
8b70ed6996 Merge bitcoin/bitcoin#34521: validation: fix UB in `LoadChainTip`
f6d3201e14 Merge bitcoin/bitcoin#33929: test: Remove `system_tests/run_command` runtime dependencies
b5737b755d Merge bitcoin/bitcoin#34650: depends: Update Qt to version 6.8.3
c0802e20be Merge bitcoin/bitcoin#34734: test: Fix shutdown vptr race in BlockFilterIndexSync bench
2ac4f6e019 Merge bitcoin/bitcoin#34612: leveldb: remove unused files
d97df29d5d Merge bitcoin/bitcoin#34747: test: Sync mempools and wait for txospender index to be synced in rpc_gettxspendingprevout
c12be53f85 Merge bitcoin/bitcoin#34635: rpc, index: txospenderindex improve formatting, docs and test coverage
8bc62ce173 doc: Update asmap-data repository rule for file inclusion
15c4889497 index: document TxoSpenderIndex::FindSpender
f8b9595aaa test: Add missing txospenderindex coverage in feature_init
cbdb891de2 test: Wait for txospender index to be synced in rpc_gettxspendingprevout
2db5c049bb test: Sync mempools after tx creation in rpc_gettxspendingprevout
ca45461ddb Merge bitcoin/bitcoin#33986: doc: improvements to doc/descriptors.md
fc39a4f568 Merge bitcoin/bitcoin#34713: depends: Allow building Qt packages after interruption
a1074d852a index, rpc, test: Misc formatting fixes
7e91060ec7 Merge bitcoin/bitcoin#34733: subprocess: replace __USING_WINDOWS__ with WIN32
69b2c813f0 Merge bitcoin/bitcoin#34591: cmake: Improve `install_name_tool` workaround
f2f5619360 Merge bitcoin/bitcoin#34709: wallet, test: improve wallet functional tests
083242aac8 Merge bitcoin/bitcoin#34725: fuzz: assert we accept any PSBT serialization we create
20ae9b98ea Extend functional test for setBlockIndexCandidates UB
4c40a923f0 Merge bitcoin/bitcoin#34728: test: Fix intermittent issue in wallet_assumeutxo.py
854a6d5a9a validation: fix UB in LoadChainTip
fa79098ce2 test: Fix shutdown vptr race in BlockFilterIndexSync bench
9249e6089e validation: remove LoadChainTip call from ActivateSnapshot
d76ec4de14 fuzz: make sure PSBT serialization roundtrips
faa68ed4bd test: Fix intermittent issue in wallet_assumeutxo.py
bff8a7a80d subprocess: replace __USING_WINDOWS__ with WIN32
e09b81638b Merge bitcoin/bitcoin#34219: psbt: validate pubkeys in MuSig2 pubnonce/partial sig deserialization
89386e700e kernel: Use fs:: namespace and unicode path in kernel tests
01dcb2fcc5 Merge bitcoin/bitcoin#34715: test: avoid interface_ipc.py race and null pointer dereference
dc109e1b34 Merge bitcoin/bitcoin#34706: doc: Improve dependencies.md IPC documentation
0a6724aaae doc: Update Windows build notes
473e5f8efc qt: Add patch to fix SFINAE warnings in QAnyStringView with gcc16
3cb4d6066b qt: add patches to fix SFINAE errors/warnings with gcc16
d7e972a90d qt: add patch to fix build with gcc16
19693a8c91 depends: Update Qt to 6.8.3
c55584575a cmake: Fix `FindQt` module
2eaf701bc0 Merge bitcoin/bitcoin#34679: ci: Download script_assets_test.json for Windows CI
17a04039bc Merge bitcoin/bitcoin#34662: ci: use LLVM/Clang 22 in tidy job
5e35a9069d interpreter: remove clang-tidy suppression
4089682f5c ci: use Clang 22 in tidy task
7ea076f996 tidy: remove deprecated header
eb17f29aa5 tidy: clang-tidy is required
bf9ef4f043 Merge bitcoin/bitcoin#34422: Update libmultiprocess subtree to be more stable with rust IPC client
2702711c3a Merge bitcoin/bitcoin#34642: wallet: call SyncWithValidationInterfaceQueue after disconnecting chain notifications
1c1de334e9 test: avoid interface_ipc.py race and null pointer dereference
2a7a4f608a depends: Allow building Qt packages after interruption
6b0a980de9 Merge bitcoin/bitcoin#34410: test: let connections happen in any order in p2p_private_broadcast.py
a61907e5d9 doc: explain swapping in `reduce-memory.md`
5c005363a8 test: improve `wallet_backup` test
04d9515748 test: improve `wallet_assumeutxo` func test
b87a1c27c9 doc: Improve dependencies.md IPC documentation
f580cc7e9f doc: Fix `fee` field in `getblock` RPC result
4ae9a10ada doc: add release notes for dbcache bump
37d49f5de6 doc: mention Miniscript expressions inside reference
771f7642bc doc: fix typo in descriptors.md
708b84999b doc: reference descriptor BIPs in descriptors.md
8f2a869a19 doc: do not list descriptor RPCs or history
65a8b6c2ef doc: mention musig() in descriptors.md
c510d126ef doc: update dbcache default in reduce-memory.md
027cac8527 qt: show GetDefaultDBCache() in settings
5b34f25184 dbcache: bump default from 450MB -> 1024MB if enough memory
44feab23a7 script: Fix undefined behavior in Clone() -- std::transform writes past end of empty vector
9cad97f6cd Merge bitcoin/bitcoin#34690: test: Add missing timeout_factor to zmq socket
5a6dd7c693 Merge bitcoin/bitcoin#34661: ipc mining: Prevent ``Assertion `m_node.chainman' failed`` errors on early startup
98e8af4bb9 wallet: Drain validation interface queue after notifications disconnect
52992ebe1c interfaces: Add waitForNotifications() to call SyncWithValidationInterfaceQueue()
fa9d0623a3 doc: Use relative markdown links
ceff6771b8 Merge bitcoin/bitcoin#34583: ci: [refactor] Drop last use of pwsh
b0833b560a Merge bitcoin/bitcoin#34668: test: Add missing resolve() to valgrind.supp file for test shell
fa48f8c865 test: Add missing timeout_factor to zmq socket
3a8b4e89f6 Merge bitcoin/bitcoin#34687: ci: Set TEST_RUNNER_PORT_MIN in test-each after cirrus runner switch
286de1e7b3 Merge bitcoin/bitcoin#34093: netif: fix compilation warning in QueryDefaultGatewayImpl()
fab51e470e test: Move valgrind.supp to the other sanitizer_suppressions files
fa9cf81d39 test: Add missing resolve() to valgrind.supp file
05cd3b00b9 Merge bitcoin/bitcoin#34597: util: Fix UB in SetStdinEcho when ENOTTY
3c7b0f97e0 Merge bitcoin/bitcoin#34656: doc: clarify confusing `git range-diff` add/delete output
701b8d7148 Merge bitcoin/bitcoin#34609: test: remove appveyor reference in comment
fa18be2f2b test: Fix typo
fac932698f ci: Set TEST_RUNNER_PORT_MIN in test-each after cirrus runner switch
c1361fc42d netif: fix compilation warning in QueryDefaultGatewayImpl()
b6b8f8ac55 Merge bitcoin/bitcoin#34562: ThreadPool follow-ups, proactive shutdown and HasReason dependency cleanup
8834e4e86c test: remove appveyor reference in comment
fa7612f253 ci: Download script_assets_test.json for Windows CI
bb3ac00cf8 Merge bitcoin/bitcoin#34001: test: fix test_limit_enforcement_package
107a204d24 Merge bitcoin/bitcoin#34682: ci: fix vcpkg tools cache key collision between windows matrix jobs
7777a13306 test: Move Fetching-print to download_from_url util
faf96286ce test: move-only download_from_url to stand-alone util file
17a079c2fb ci: fix vcpkg tools cache key collision between windows matrix jobs
408d5b12e8 test: include response body in non-JSON HTTP error msg
9dc653b3b4 test: threadpool, add coverage for all Submit() errors
ce2a984ee3 test: cleanup, use HasReason in threadpool_tests.cpp
d9c6769d03 test: refactor, decouple HasReason from test framework machinery
dbbb780af0 test: move and simplify BOOST_CHECK ostream helpers
3b7cbcafcb test: ensure Stop() thread helps drain the queue
ca101a2315 test: coverage for queued tasks completion after interrupt
bf2c607aaa threadpool: active-wait during shutdown
e88d274430 test: add threadpool Start-Stop race coverage
af99643454 Merge bitcoin/bitcoin#34054: net processing: Add ibd check before processing block for txdownloadman
fa0cc1c5a4 test: [doc] Remove outdated comment
44538f8ada kernel: Add recent assumeutxo snapshot info
58c2e23fca kernel: Update headerssync params
cf261b071f kernel: update chainTxData
8eaf1d26d4 kernel: update defaultAssumeValid and minimumChainWork
5ca0c55517 kernel: update assumed blockchain and chainstate sizes
fec58229fa contrib: Update fixed feeds
27fbdb009f makeseeds: Choose node info with most recent success when deduplicating
982883a1bc makeseeds: Update known user agents
707ad46696 Merge bitcoin/bitcoin#34671: doc: Update Guix install for Debian/Ubuntu
faa70ca764 doc: Update Guix install for Debian/Ubuntu
7c80301439 Merge bitcoin/bitcoin#33616: policy: don't CheckEphemeralSpends on reorg
8fe91f3719 test: Updates needed after bitcoin-core/libmultiprocess#240
cb15f5a317 Merge commit 'b7ca3bf061b51108d155283c1ad503c0af7eab0d' into pr/subtree-8
b7ca3bf061 Squashed 'src/ipc/libmultiprocess/' changes from 1fc65008f7d..1868a84451f
33fbaed310 policy: don't CheckEphemeralSpends on reorg
b9bf24cfe2 Merge bitcoin/bitcoin#34616: Cluster mempool: SFL cost model (take 2)
403523127b Merge bitcoin/bitcoin#34608: test: Fix broken --valgrind handling after bitcoin wrapper
76eb04b16f Merge bitcoin/bitcoin#34655: fuzz: keep `coins_view` fuzzers within caller contracts
21cd1ba182 Merge bitcoin/bitcoin#34286: test: verify node state after restart in assumeutxo
f3887cf694 Merge bitcoin/bitcoin#34561: wallet: rpc: manpage: fix example missing `fee_rate` argument
8cd4a4363f threadpool: guard against Start-Stop race
9ff1e82e7d test: cleanup, block threads via semaphore instead of shared_future
f50d53c847 Merge bitcoin/bitcoin#34627: guix: use a temporary file over sponge, drop moreutils
c88c916e72 Merge bitcoin/bitcoin#34653: test: improve txospender index tests code
744d47fcee clusterlin: adopt trained cost model (feature)
4eefdfc5b7 clusterlin: rescale costs (preparation)
bbc8f1e0a7 ipc mining: Prevent ``Assertion `m_node.chainman' failed`` errors on early startup
a7cabf92e4 init refactor: Only initialize node.notifications one time
ecc9a84f85 clusterlin: use 'cost' terminology instead of 'iters' (refactor)
9e7129df29 clusterlin: introduce CostModel class (preparation)
e8f8b74a46 test: index, improve txospenderindex_initial_sync() test code
c8e332cb33 init refactor: Remove node.init accesss in AppInitInterfaces
5db78c84ad Merge bitcoin/bitcoin#34660: ci: use LLVM 22 in sanitizer tasks
fa5d478853 test: valgrind --trace-children=yes for bitcoin wrapper
fa29fb72cb test: Remove redundant warning about missing binaries
fa03fbf7e3 test: Fix broken --valgrind handling after bitcoin wrapper
bd9e0e65f5 Merge bitcoin/bitcoin#34184: mining: add cooldown to createNewBlock() immediately after IBD
a28eedb8c2 ci: use LLVM 22 in sanitizer tasks
ab8a7af742 Merge bitcoin/bitcoin#34646: Fix two issues in p2p_private_broadcast.py
9581a0a5b1 Merge bitcoin/bitcoin#34615: mempool: expose optimality of mempool to log / rpc
3281824ecf fuzz: prevent invalid `FRESH` entries and surface `BatchWrite` errors
780f460635 fuzz: avoid invalid `AddCoin` overwrites
d7e0d510f2 fuzz: make `AddCoins` query view for overwrites
b8fa6f0f70 util: introduce `TrySub` to prevent unsigned underflow
ac3bea07cd test: improve rpc_gettxspendingprevout.py code
da7f70a532 test: use port 0 for I2P addresses in p2p_private_broadcast.py
a8ebcfd34c test: let connections happen in any order in p2p_private_broadcast.py
45133c589a doc: clarify `git range-diff` add/delete output
e5f0613503 net processing: Check if we are in ibd before processing block for txdownloadman
ce8b692897 Add functional test exercising tx downloadman recently confirmed filter
c462e54f9d test: don't always assert NUM_PRIVATE_BROADCAST_PER_TX broadcasts
3710566305 test: move abortprivatebroadcast test at the end
d9c7364ac5 Merge bitcoin/bitcoin#34141: miniscript: Use Func and Expr when parsing keys, hashes, and locktimes
38a7a67126 cmake: Provide `install_name_tool` stub instead of disabling it
6c8d628b74 Merge bitcoin-core/gui#931: Release: Update `src/qt/locale/bitcoin_en.xlf` after string freeze
fa194fca8e Merge bitcoin/bitcoin#34622: test: assert_debug_log timeouts follow-up
d907d65acd Merge bitcoin/bitcoin#29770: index: Check all necessary block data is available before starting to sync
ce6898f9a8 Merge bitcoin/bitcoin#34605: build: define CMAKE_COMPILE_WARNING_AS_ERROR as a cache option
fcaec2544b doc: release note for IPC cooldown and interrupt
1e82fa498c mining: add interrupt()
a11297a904 mining: add cooldown argument to createNewBlock()
a9e59f7d95 rpc: add optimal result to getmempoolinfo
a3fb3dd55c mempool: log if we detect a non-optimal mempool
3feabb203a leveldb: remove unused files
c86bce597a guix: use a temporary file over sponge
a2fd558760 Merge bitcoin/bitcoin#34572: cmake: Fix NetBSD-specific workaround for Boost
ef987683dc qt: Update src/qt/locale/bitcoin_en.xlf after string freeze
cb3473a680 Merge bitcoin/bitcoin#34568: mining: Break compatibility with existing IPC mining clients
641a1954f7 Merge bitcoin/bitcoin#34633: Revert "ci: Treat SHA1 LLVM signing key as warning"
3574905cec Revert "ci: Treat SHA1 LLVM signing key as warning"
1a54886b63 Merge bitcoin/bitcoin#24539: Add a "tx output spender" index
fa4424fd98 test: Fixup assert_debug_log timeouts in feature_config_args.py
faed837f27 test: Add missing syncwithvalidationinterfacequeue
ee2065fdea Merge bitcoin/bitcoin#34165: coins: don't mutate main cache when connecting block
96bec216ec Merge bitcoin/bitcoin#34549: net: reduce log level for PCP/NAT-PMP NOT_AUTHORIZED failures
76de2f8e55 Merge bitcoin/bitcoin#34571: test: Fix intermittent issues in feature_assumevalid.py
c808dfbbdc Merge bitcoin/bitcoin#34329: rpc,net: Add private broadcast RPCs
739f75c098 Merge bitcoin/bitcoin#33512: coins: use dirty entry count for flush warnings and disk space checks
02c83fef84 Merge bitcoin/bitcoin#34577: http: fix submission during shutdown race
0b96b9c600 Minimize mempool lock, sync txo spender index only when and if needed
d0998cbe34 Merge bitcoin/bitcoin#33199: fees: enable `CBlockPolicyEstimator` return sub 1 sat/vb fee rate estimates
37e449dcc7 Merge bitcoin/bitcoin#34512: rpc: add coinbase_tx field to getblock
097c18239b Merge bitcoin/bitcoin#34385: subprocess: Fix `-Wunused-private-field` when building with clang-cl on Windows
910bd1c964 Merge bitcoin/bitcoin#34582: rpc: Properly parse -rpcworkqueue/-rpcthreads
e0463b4e8c rpc: add coinbase_tx field to getblock
5a8a427610 Merge bitcoin/bitcoin#32745: scripted-diff: Update DeriveType enum values to mention ranged derivations
3d82ec5bdd Add a "tx output spender" index
8ee24d764a Merge bitcoin/bitcoin#34604: guix: remove double export of `TZ`
4933d1fbba Merge bitcoin/bitcoin#28792: build: Embedded ASMap [3/3]: Build binary dump header file
6d482b22de Merge bitcoin/bitcoin#32138: wallet, rpc: remove settxfee and paytxfee
726b3663cc http: properly respond to HTTP request during shutdown
241ad5853b Merge bitcoin-core/gui#929: Use plurals where necessary
a849b7e1ff Merge bitcoin-core/gui#928: Replace three dots with ellipsis
fa6af85634 refactor: Use static_cast<decltype(...)> to suppress integer sanitizer warning
fa692974ac util: Fix UB in SetStdinEcho when ENOTTY
9e4567b17a Merge bitcoin/bitcoin#34581: test: Set assert_debug_log timeout to 0
655b9d12ee Merge bitcoin/bitcoin#32950: validation: remove BLOCK_FAILED_CHILD
97e7e79435 test: Enable `system_tests/run_command` "stdin" test on Windows
a4324ce095 test: Remove `system_tests/run_command` runtime dependencies
2706758dc3 Merge bitcoin/bitcoin#34349: util: Remove brittle and confusing sp::Popen(std::string)
59e10a5463 Merge bitcoin/bitcoin#34023: Optimized SFL cluster linearization
fa36adeb71 ci: [refactor] Drop last use of pwsh
fae31b1e2f ci: [refactor] Move github_import_vs_env to python script
59d24bd5dd threadpool: make Submit return Expected instead of throwing
fb3e1bf9c9 test: check LoadBlockIndex correctly recomputes invalidity flags
29740c06ac validation: remove BLOCK_FAILED_MASK
b5b2956bda validation: reset BLOCK_FAILED_CHILD to BLOCK_FAILED_VALID when loading from disk
37bc207852 validation: stop using BLOCK_FAILED_CHILD
120c631e16 refactor: use clearer variables in InvalidateBlock()
fa4cb96bde test: Set assert_debug_log timeout to 0
c2fcf25069 clusterlin: inline GetReachable into Deactivate (optimization)
d90f98ab4a clusterlin: inline UpdateChunk into (De)Activate (optimization)
b684f954bb clusterlin: unidirectional MakeTopological initially (optimization)
1daa600c1c clusterlin: track suboptimal chunks (optimization)
63b06d5523 clusterlin: keep track of active children (optimization)
ae16485aa9 clusterlin: special-case self-merges (optimization)
3221f1a074 clusterlin: make MergeSequence take SetIdx (simplification)
7194de3f7c clusterlin: precompute reachable sets (optimization)
6f898dbb8b clusterlin: simplify PickMergeCandidate (optimization)
dcf458ffb9 clusterlin: split up OptimizeStep (refactor)
cbd684a471 clusterlin: abstract out functions from MergeStep (refactor)
b75574a653 clusterlin: improve TxData::dep_top_idx type (optimization)
73cbd15d45 clusterlin: get rid of DepData (optimization)
7c6f63a8a9 clusterlin: pool SetInfos (preparation)
20e2f3e96d scripted-diff: rename _rep -> _idx in SFL
268fcb6a53 clusterlin: add more Assumes and sanity checks (tests)
d69c9f56ea clusterlin: count chunk deps without loop (optimization)
f66fa69ce0 clusterlin: split tx/chunk dep counting (preparation)
900e459778 clusterlin: avoid depgraph argument in SanityCheck (cleanup)
666b37970f clusterlin: fix type to count dependencies
a7c29df0e5 Merge bitcoin/bitcoin#34552: fees: refactor: separate feerate format from fee estimate mode
231dd04b8d build: define CMAKE_COMPILE_WARNING_AS_ERROR as a cache option
fa48d42163 test: Stricter unit test
fa626bd143 util: Remove brittle and confusing sp::Popen(std::string)
fd06157d14 test: Add coverage for restarted node without any block sync
3d7ab7ecb7 rpc, test: Address feedback from #29668
312919c9dd test: Indices can not start based on block data without undo data
a9a3b29dd6 index: Check availability of undo data for indices
c8c9c1e617 Merge bitcoin/bitcoin#34383: ci: remove commit count limit from `test-each-commit` and fail fast
62e378584e guix: don't export TZ twice
badcf1c68d guix: fix typo in guix-codesign
8a050b9cb6 Merge bitcoin/bitcoin#34575: test: Avoid empty errmsg in JSONRPCException
746d8cddc1 qt: Use plurals where necessary
fa5672dcaf refactor: [gui] Use SettingTo<int64_t> over deprecated SettingToInt
35e6444fdc Merge bitcoin/bitcoin#34570: doc: update Windows MSVC build guide to utilize winget to install build requirements
d159b10398 doc: update Windows MSVC build guide to utilize WinGet to install apps
afea2af139 net: reduce log level for PCP/NAT-PMP NOT_AUTHORIZED failures
fac3ecaf69 rpc: Properly parse -rpcworkqueue/-rpcthreads
faee36f63b util: Add SettingTo<Int>() and GetArg<Int>()
6df4a045f7 qt: Replace three dots with ellipsis
80dc4359b8 cmake: Apply workaround for `install_name_tool` conditionally
211111b804 test: Avoid empty errmsg in JSONRPCException
b65ff0e5a1 Merge bitcoin/bitcoin#34548: ci: Add and use ci-windows-cross.py helper
03e5f063b5 Merge bitcoin/bitcoin#34559: ci: split vcpkg tools cache into restore/save
84e826ddc1 Merge bitcoin/bitcoin#34511: test: fully reset the state of CConnman in tests
309c51d89d Merge bitcoin/bitcoin#34546: kernel: Avoid duplicating symbols in the kernel library
24f93c9af7 release note
331a5279d2 wallet, rpc:remove settxfee and paytxfee
eafd530d20 kernel: avoid potential duplicate object in shared library/binary
24c3b47010 build: add kernel-specific warnings
cae6d895f8 fuzz: add target for CoinsViewOverlay
86eda88c8e fuzz: move backend mutating block to end of coins_view
89824fb27b fuzz: pass coins_view_cache to TestCoinsView in coins_view
73e99a5966 coins: don't mutate main cache when connecting block
67c0d1798e coins: introduce CoinsViewOverlay
69b01af0eb coins: add PeekCoin()
f700609e8a doc: Release notes for mining IPC interface bump
79c934b51c cmake: Fix NetBSD-specific workaround for Boost
fa90d44a22 test: Fix intermittent issues in feature_assumevalid.py
07b924775e Merge bitcoin/bitcoin#34427: lint: Flatten lint image entry points
9453c15361 ipc mining: break compatibility with existing clients (version bump)
70de5cc2d2 ipc mining: pass missing context to BlockTemplate methods (incompatible schema change)
2278f017af ipc mining: remove deprecated methods (incompatible schema change)
c6638fa7c5 ipc mining: provide default option values (incompatible schema change)
a4603ac774 ipc mining: declare constants for default field values
ff995b50cf ipc test: add workaround to block_reserved_weight exception test
b970cdf20f test framework: expand expected_stderr, expected_ret_code options
df53a3e5ec rpc refactor: stop using deprecated getCoinbaseCommitment method
0b4cd08fcd Merge bitcoin/bitcoin#33965: mining: fix -blockreservedweight shadows IPC option
2a1d0db799 doc: Mention private broadcast RPCs in release notes
c3378be10b test: Cover abortprivatebroadcast in p2p_private_broadcast
557260ca14 rpc: Add abortprivatebroadcast
15dff452eb test: Cover getprivatebroadcastinfo in p2p_private_broadcast
996f20c18a rpc: Add getprivatebroadcastinfo
5e64982541 net: Add PrivateBroadcast::GetBroadcastInfo
a067ca3410 [doc] coin selection filters by max cluster count, not descendant
55c49ff8f4 Merge bitcoin/bitcoin#34143: build: Prevent system header fallback and include path pollution
c134b1a4bc Merge bitcoin/bitcoin#34257: txgraph: deterministic optimal transaction order
4a05825a3f Merge bitcoin/bitcoin#33689: http: replace WorkQueue and single threads handling for ThreadPool
50cf6838e6 wallet: rpc: manpage: fix example missing `fee_rate` argument
c1355493e2 refactor: fees: split fee rate format from fee estimate mode
c413cf12c5 ci: Split vcpkg tools cache into restore/save
337fef9f2f Merge bitcoin/bitcoin#34554: build: avoid exporting secp256k1 symbols
922ebf96ed refactor: move-only: move `FeeEstimateMode` enum to `util/fees.h`
cb1798000c Merge bitcoin/bitcoin#33861: build: Bump VS minimum supported version to 18.3
7640863a0f Merge bitcoin/bitcoin#34555: doc: archive release notes for v29.3
d29bc5e6dd doc: archive release notes for v29.3
fd625d84ae Merge bitcoin/bitcoin#34539: test: Fixup TODO comment in feature_dbcrash.py; remove unnecessary sleep
6777314310 Merge bitcoin/bitcoin#34551: ci: Extend diff context for clang-format
452c743951 refactor: Remove workaround for resolved MSVC bug
7164a0cab6 build: Bump VS minimum supported version to 18.3
2ccfdb582b build: avoid exporting secp256k1 symbols
f7be5fb8fc [refactor] rename variable to clarify it is unused and cluster count
fa8c89511d Fixup TODO comment in feature_dbcrash.py; remove unnecessary sleep
f8d2f30bf3 ci: Extend diff context for clang-format
91a8e9b549 Merge bitcoin-core/gui#807: refactor: interfaces, make 'createTransaction' less error-prone
573bb542be net: Store recipient node address in private broadcast
fa13b13239 ci: [refactor] Use pathlib over os.path
fa2719ab1b ci: [refactor] Move run_unit_tests to ci-windows-cross.py
fa99ba5f14 ci: Set PREVIOUS_RELEASES_DIR env var in ci-windows-cross.py
fa4a1cab6c ci: Move run_functional_tests into ci-windows-cross.py
1111108685 ci: [refactor] Move pyzmq install and get_previous_releases into ci-windows-cross.py
fac9c7bd66 ci: [refactor] Move config.ini rewrite to ci-windows-cross.py
faf7389466 ci: Move check_manifests step to ci-windows-cross.py
fa674d55df ci: [refactor] Move print_version step into ci-windows-cross.py helper
6f113cb184 txgraph: use fallback order to sort chunks (feature)
0a3351947e txgraph: use fallback order when linearizing (feature)
fba004a3df txgraph: pass fallback_order to TxGraph (preparation)
941c432a46 txgraph test: subclass TxGraph::Ref like mempool does (preparation)
39d0052cbf clusterlin: make optimal linearizations deterministic (feature)
8bfbba3207 txgraph: sort distinct-cluster chunks by equal-feerate-prefix size (feature)
e0bc73ba92 clusterlin: sort tx in chunk by feerate and size (feature)
6c1bcb2c7c txgraph: clear cluster's chunk index in ~Ref (preparation)
7427c7d098 txgraph: update chunk index on Compact (preparation)
3ddafceb9a txgraph: initialize Ref in AddTransaction (preparation)
64294c8909 Merge bitcoin/bitcoin#34500: ci: Print verbose Windows CI build failure
5f6bfa3649 Merge bitcoin/bitcoin#34057: test: add tests for cluster chunks
6ca7782db9 Merge bitcoin/bitcoin#34523: doc: Clarify why performance-move-const-arg.CheckTriviallyCopyableMove=false
44afed4cd9 Merge bitcoin/bitcoin#34524: refactor: [rpc] Remove confusing and brittle integral casts (take 2)
3764746404 Merge bitcoin/bitcoin#34241: test: Check that interrupt results in EXIT_SUCCESS
18f11695c7 validation: don't update BLOCK_FAILED_VALID to BLOCK_FAILED_CHILD in InvalidateBlock
acefdce083 Merge bitcoin/bitcoin#34469: consensus/test/doc: cover errors in `CheckTxInputs` with unit tests
7e5e0b20ea Merge bitcoin/bitcoin#32773: cmake: Create subdirectories in build tree in advance
fa90277d22 ci: Use ubuntu-slim for [meta] runners
fa9627af9f ci: Rely on cmake --preset toolchain file
fa3f89acaa ci: Add check_manifests to ci-windows.py
1111079a16 ci: Add run_tests step to ci-windows.py
6d625af283 Merge bitcoin/bitcoin#32621: contrib: utxo_to_sqlite.py: add option to store txid/spk as BLOBs
afb1bc120e validation: Use dirty entry count in flush warnings and disk space checks
b413491a1c coins: Keep track of number of dirty entries in `CCoinsViewCache`
7e52b1b945 fuzz: call `EmplaceCoinInternalDANGER` as well in `SimulationTest`
8f0e1f6540 Merge bitcoin/bitcoin#34465: refactor: separate log generation from log handling
b2805eec35 Merge bitcoin/bitcoin#34528: test: Fix intermittent failure in `feature_assumevalid.py` by ensuring invalid block was processed before checking debug.log
72030efd4b Merge bitcoin/bitcoin#34525: Release: Prepare "Open Transifex translations for v31.0" step
fe0b1513a7 test: add a test for txgraph staging
ef253a9d3d test: add block builder tests for txgraph
4a1ac31e97 test: add a chunk test for txgraph
b623fab1ba mining: enforce minimum reserved weight for IPC
d3e49528d4 mining: fix -blockreservedweight shadows IPC option
418b7995dd test: have mining template helpers return None
54bd49c7e3 Merge bitcoin/bitcoin#34452: test: split interface_ipc.py
3b39a8aeb4 Merge bitcoin/bitcoin#34483: refactor: Use SpanReader over DataStream
6f68e0c8b7 Merge bitcoin/bitcoin#34181: refactor: [p2p] Make ProcessMessage private again, Use references when non-null
4c0d4f6f93 refactor: interfaces, make 'createTransaction' less error-prone
e2c3ec9bf4 refactor: move CreatedTransactionResult to types.h
45372175c3 gui: remove AmountWithFeeExceedsBalance error special case
d88997b809 Merge bitcoin/bitcoin#34299: wallet: remove PreSelectedInputs and re-activate "AmountWithFeeExceedsBalance" error
b73a62f667 test: Ensure invalid block was processed before checking debug.log
633d183119 test: misc interface_ipc_mining.py improvements
52ccd9215e test: split interface_ipc_mining.py into subtests
4e49fa2a68 test: add interface_ipc_mining.py
01a1ae889e test: move IPC helpers to ipc_util.py
28160c1e3d Merge bitcoin/bitcoin#34421: ci: add Chimera Linux LTO config
576f892027 qt: Update the `src/qt/locale/bitcoin_en.xlf` translation source file
4b9f5beafe Update Transifex slug for 31.x
46e1288df2 Merge bitcoin/bitcoin#34498: iwyu: Fix patch to prefer `<cstdint>`
fa6801366d refactor: [rpc] Remove confusing and brittle integral casts (take 2)
d79249d279 ci: add chimera Linux LTO CI job
48161f6a05 wallet: introduce "tx amount exceeds balance when fees are included" error
b7fa609ed1 wallet: remove PreSelectedInputs
7819da2c16 walllet: use CoinsResult instead of PreSelectedInputs
0cd309c75e Merge bitcoin/bitcoin#34492: ci: Drop valgrind fuzz from GHA matrix
fa561682ce ci: [refactor] Add .github/ci-windows.py prepare_tests step
fa3e607c6d ci: Print verbose Windows CI build failure
4444808dd3 ci: [refactor] Add .github/ci-windows.py build step
fabdd4e823 ci: Refactor Windows CI into script
fa88ac3f4f doc: Clarify why performance-move-const-arg.CheckTriviallyCopyableMove=false
fa0677d131 refactor: Use SpanReader over DataStream
e5474079f1 wallet: introduce GetAppropriateTotal() in CoinsResult
d8ea921d01 wallet: correctly reserve in CoinsResult::All()
7072d825e3 wallet: ensure COutput added in set are unique
fefa3be782 wallet: fix, make 'total_effective_amount' optional actually optional
9ec1ae0e98 Merge bitcoin/bitcoin#34437: rpc: `uptime` should begin on application start
d692e07228 Merge bitcoin/bitcoin#32894: FUZZ: Test that BnB finds best solution
28d8607882 Merge bitcoin/bitcoin#34504: build: replace `WERROR` with `CMAKE_COMPILE_WARNING_AS_ERROR`
ad1940a006 Merge bitcoin/bitcoin#34517: drop my key from trusted-keys
322c4ec442 build: replace WERROR with CMAKE_COMPILE_WARNING_AS_ERROR
65134c7e5f depends: Prefix include path for headers-only `systemtap` package
94a692b6aa cmake: Add missed `USDT::headers`
b5375c44ed depends: Prefix include path for headers-only `boost` package
d73378ffcc cmake: Add missed `Boost::headers`
eb97250421 Merge bitcoin/bitcoin#34496: build: don't pass on boost dependency to kernel consumers
9d76947294 Merge bitcoin/bitcoin#34464: Change BlockRequestAllowed() to take ref (minor refactor)
8966352df3 doc: add release notes
704a09fe71 test: ensure fee estimator provide fee rate estimate < 1 s/vb
243e48cf49 fees: delete unused dummy field
fc4fbda42a fees: bump fees file version
b54dedcc85 fees: reduce `MIN_BUCKET_FEERATE` to 100
2cb7e99dee test: also reset CConnman::m_private_broadcast in tests
41b9b76cce Merge bitcoin/bitcoin#34510: doc: fix broken bpftrace installation link
91b7c874e2 test: add ConnmanTestMsg convenience method Reset()
42ee31e80c doc: fix broken bpftrace installation link
54d0393058 FUZZ: Test that BnB finds best solution
eb510f8678 ci: fail fast in test-each-commit script
04c4d71008 ci: remove commit count limit from `test-each-commit`
4ae00e9a71 Merge bitcoin/bitcoin#32636: Split `CWallet::Create()` into `CreateNew` and `LoadExisting`
d4bc620ad8 Merge bitcoin/bitcoin#34488: refactor: Small style and test fixups for bitcoinkernel
eb3dbbaf30 Merge bitcoin/bitcoin#34493: contrib: Remove valgrind suppression for bug 472219
1e64aeaaec Merge bitcoin/bitcoin#34295: test: Improve STRICTENC/DERSIG unit tests
b65a3d8009 iwyu: Fix patch to prefer `<cstdint>`
a50d0b6720 build: don't pass on boost dependency to kernel consumers
3532e24213 Merge bitcoin/bitcoin#32748: fees: fix noisy flushing log
fad9dd1a88 test: kernel test fixups
fabb58d42d test: Use clang-tidy named args for create_chainman
fa51594c5c refactor: Small style fixups in src/kernel/bitcoinkernel.cpp
fa33acec89 Revert "valgrind: add suppression for bug 472219"
24699fec84 doc: Add initial asmap data documentation
bab085d282 ci: Use without embedded asmap build option in one ci job
e53934422a doc: Expand documentation on asmap feature and tooling
6244212a55 init, net: Implement usage of binary-embedded asmap data
6202b50fb9 build: Generate ip_asn.dat.h during build process
634cd60dc8 build: Add embedded asmap data
faa4ab113c ci: Drop valgrind fuzz from GHA matrix
02b5f6078d fees: make flushes log debug only
faa016af54 refactor: Use aliasing shared_ptr in Sock::Wait
b58eebf152 Merge bitcoin/bitcoin#34470: Bump leveldb subtree and remove UB workaround in CI
8bb277c123 Merge bitcoin/bitcoin#34481: Update secp256k1 subtree to latest master
a4941132d3 Merge bitcoin/bitcoin#34461: ci: Print verbose build error message in test-each-commit
fad7d86d8d ci: Remove unused workaround after leveldb subtree bump
fabced56f6 Bump leveldb subtree
be35408c5a Merge bitcoin/bitcoin#34474: ci: update ccache to improve hitrate
2f2952c5f2 Squashed 'src/leveldb/' changes from cad64b151d..ab6c84e6f3
7528d18796 ci: show more verbose ccache stats
47c9297172 Merge bitcoin/bitcoin#32420: mining, ipc: omit dummy extraNonce from coinbase
4b53cbd692 test: Test for musig() in various miniscript expressions
ec0f47b15c miniscript: Using Func and Expr when parsing keys, hashes, and locktimes
6fd780d4fb descriptors: Increment key_exp_index in ParsePubkey(Inner)
b12281bd86 miniscript: Use a reference to key_exp_index in KeyParser
ce4c66eb7c test: Test that key expression indexes match key count
8c03318387 consensus/doc: explain `GetValueOut()` precondition
82ef92c8d0 consensus/doc: explain unreachable `bad-txns-fee-outofrange` check
fad3eb3956 refactor: Use SpanReader over DataStream
fa06e26764 refactor: [qt] Use SpanReader to avoid two vector copies
fabd4d2e2e refactor: Avoid UB in SpanReader::ignore
37cc2a2d95 logging: use util/log.h where possible
8799eb7440 Merge bitcoin/bitcoin#33878: refactor, docs: Embedded ASMap [2/3]: Refactor asmap internals and add documentation
bb8e9e7c4c logging: Move message formatting to util/log.h
001f0a428e move-only: Move logging macros to util/log.h
94c0adf4e8 move-onlyish: Move logging levels to util/log.h
56d113cab0 move-only: move logging categories to logging/categories.h
f5233f7e98 move-only: Move SourceLocation to util/log.h
fa20bc2ec2 refactor: Use empty() over eof() in the streams interface
fa879db735 test: Read debug log for self-checking comment
d405713197 ci: use Alpine 3.23
1cee0e4cd3 ci: detect apk usage generally
1ed3de5a6d Update secp256k1 subtree to latest master
9d4c9b0035 Squashed 'src/secp256k1/' changes from 14e56970cb..57315a6985
9f8764c814 Merge bitcoin/bitcoin#34475: ci: Treat SHA1 LLVM signing key as warning
3c8f5e48f7 ci: Treat SHA1 LLVM signing key as warning
5cb4cf9b42 Merge bitcoin/bitcoin#34036: contrib: update macOS SDK to Xcode-26.1.1-17B100
41034a032f Merge bitcoin/bitcoin#34396: fuzz: pull the latest FuzzedDataProvider.h from upstream
580e9eefe3 ci: bump CCACHE_MAXSIZE to 2G
ff09583928 Merge bitcoin/bitcoin#34432: test: Turn ElapseSteady into SteadyClockContext
67696b207f net: extend log message to include attempted connection type
81e67d9aa1 Merge bitcoin/bitcoin#34179: refactor: Enable transparent lookup for setBlockIndexCandidates to remove const_cast
ec70bead5e Merge bitcoin/bitcoin#34433: script: remove unused `SCRIPT_ERR_LAST`
08547ee1b0 Merge bitcoin/bitcoin#34443: validation: follow-up nits for lock-free `IsInitialBlockDownload()`
881ab4fc82 support multiple block status checks in CheckBlockDataAvailability
232a2bce90 consensus/test: add out-of-range output unit tests for `CTransaction::GetValueOut`
aa87aae14f consensus/test: add `MoneyRange` unit tests for `CheckTxInputs`
8bb77f348e Merge bitcoin/bitcoin#34455: ci, iwyu: Fix warnings in `src/univalue` and treat them as errors
1bf3842223 ci, iwyu: Fix warnings in `src/univalue` and treat them as errors
3d180d3c7f Merge bitcoin/bitcoin#34462: util: Drop *BSD headers in `batchpriority.cpp`
1eed88a3ec Merge bitcoin/bitcoin#34460: iwyu: Update mappings
101daa4163 Merge bitcoin/bitcoin#34338: ci, iwyu: Fix warnings in `src/zmq` and treat them as errors
dfb9364609 fuzz: pull latest FuzzedDataProvider.h from upstream
705705e5b1 Merge bitcoin/bitcoin#33701: test: add case where `TOTAL_TRIES` is exceeded yet solution remains
88f8029835 Merge bitcoin/bitcoin#34100: doc: Use multipath descriptors in descriptors.md and linked test
5ad94cf6b7 Merge bitcoin/bitcoin#34381: script: return proper error for `CScriptNum` errors
4f85b05131 Merge bitcoin/bitcoin#31713: miniscript refactor: Remove unique_ptr-indirection
1f8f7d477a Change BlockRequestAllowed() to take ref
5d2707307e Merge bitcoin/bitcoin#34454: wallet: Rename `RecordType::DELETE` to `RecordType::DELETE_FLAG`
38fd85c676 http: replace WorkQueue and threads handling for ThreadPool
c323f882ed fuzz: add test case for threadpool
c528dd5f8c util: introduce general purpose thread pool
07af50f789 util: Drop *BSD headers in `batchpriority.cpp`
4dfb6eef70 test: Add DERSIG tests to script_tests
884978f389 test: Fix a STRICTENC test in script_tests
527e8ca7b5 test: Remove outdated comment in script_tests
516be10bb5 wallet: Rename `RecordType::DELETE` to `RecordType::DELETE_FLAG`
bbbb78a4f2 ci: Print verbose build error message in test-each-commit
2222dadabb ci: [refactor] Allow overwriting check option in run helper
9c839aa9e3 iwyu: Document mappings for libc symbols
91824646c5 iwyu: Add temporary mapping to work around upstream bug
37de7d1910 iwyu: Drop backported mapping
01651324f4 Merge bitcoin/bitcoin#34434: miniscript: correct and_v() properties
c7cf2b8f3a Merge bitcoin/bitcoin#34445: fuzz: Use `__AFL_SHM_ID` for naming test directories
0d1d393877 Merge bitcoin/bitcoin#34429: test: Check that redundant verack message is ignored
23a2e3354e Merge bitcoin/bitcoin#34453: ci: Always print low ccache hit rate notice
5401e673d5 Merge bitcoin/bitcoin#33604: p2p: Allow block downloads from peers without snapshot block after assumeutxo validation
6750744eb3 Merge bitcoin/bitcoin#34164: validation: add reusable coins view for ConnectBlock
4e4fa0199e Merge bitcoin/bitcoin#33680: validation: do not wipe utxo cache for stats/scans/snapshots
fad2876ec3 ci: Always print low ccache hit rate notice
e67a676df9 fix: uptime RPC returns 0 on first call
a89e1618dd contrib: update macOS SDK to Xcode-26.1.1-17B100
57a778ed25 depends: use -Xclang -fno-cxx-modules in macOS cross build
3e0fd0e4dd refactor: rename will_reuse_cache to reallocate_cache
44b4ee194d validation: reuse same CCoinsViewCache for every ConnectBlock call
8fb6043231 coins: introduce CCoinsViewCache::ResetGuard
041758f5ed coins: use hashBlock setter internally for CCoinsViewCache methods
8dd9200fc9 coins: add Reset on CCoinsViewCache
efcbf79448 ci, iwyu: Fix warnings in `src/zmq` and treat them as errors
d3e681bc06 fuzz: Use `__AFL_SHM_ID` for naming test directories
f7e0c3d3d3 Merge bitcoin/bitcoin#34346: test: use IP_PORTRANGE_HIGH on FreeBSD for dynamic port allocation
eeb4d28148 validation: follow-up nits for lock-free `IsInitialBlockDownload()`
1c2f164d34 Merge bitcoin/bitcoin#34253: validation: cache tip recency for lock-free `IsInitialBlockDownload()`
8cdf1dcca0 Merge bitcoin/bitcoin#34373: refactor: Remove remaining std::bind, check via clang-tidy
facb2aab26 test: Turn ElapseSteady into SteadyClockContext
6354b4fd7f tests: log node JSON-RPC errors during test setup
45930a7941 http-server: guard against crashes from unhandled exceptions
a6cdc3ec9b Merge bitcoin/bitcoin#34303: test: addrman: test self-announcement time penalty handling
75ec9001ce Merge bitcoin/bitcoin#34207: coins/refactor: enforce `GetCoin()` returns only unspent coins
4fab35cf88 miniscript: correct and_v() properties
51abf7d15b script: remove unused SCRIPT_ERR_LAST
f2b8acc0ed remove glozow from trusted keys
cd1af852fa Merge bitcoin/bitcoin#34358: wallet: fix removeprunedfunds bug with conflicting transactions
2dd5e7bb38 Merge bitcoin/bitcoin#34409: test: use `ModuleNotFoundError` in `interface_ipc.py`
d3e8c459e7 Merge bitcoin/bitcoin#34417: log: Print warning about privacy-sensitive log info unconditionally
d9851f9a7c Merge bitcoin/bitcoin#33472: guix: documented shasum gathering command
a7460b9928 Merge bitcoin/bitcoin#34098: test: [move-only] Move lint functions into modules
8f9ad534a5 Merge bitcoin/bitcoin#34352: ci, iwyu: Fix warnings in `src/primitives` and treat them as errors
faba426b3b lint: Flatten lint image entry points
1111fff91c lint: Add missing --platform=linux to docker build command
feb74a9372 Merge bitcoin/bitcoin#34430: ci: mount git directory as writable in linter
fad042235b refactor: Remove remaining std::bind, check via clang-tidy
c8abac9941 ci: mount .git dir rw
d9e651f995 Merge bitcoin/bitcoin#33622: docs: add doc comment for SRD selection algorithm
cb128bcedb Merge bitcoin/bitcoin#34408: ci: remove gnu-getopt usage
6ae96ed607 Merge bitcoin/bitcoin#34276: Remove empty caption from user interface (noui, gui)
fafdae46ff test: Check that redundant verack message is ignored
289d60f5ab Merge bitcoin/bitcoin#34161: refactor: avoid possible UB from `std::distance` for `nullptr` args
1d3243806d Merge bitcoin/bitcoin#34391: lint: upgrade lint scripts for worktrees
d931b54d13 Merge bitcoin/bitcoin#34412: Update secp256k1 subtree to latest master
3400db8040 doc: add missing param description to SRD
c0e6556e4f Merge bitcoin/bitcoin#34413: doc: Remove outdated -fdebug-prefix-map section in dev notes
9260b20ef1 Merge bitcoin/bitcoin#33962: refactor: replace manual promise with SyncWithValidationInterfaceQueue
ddae1b4efa ci: remove gnu-getopt usage
fa43897c1d doc: Fix LLM nits in net_processing.cpp
bbbba0fd4b scripted-diff: Use references when nullptr is not possible
fac5415466 refactor: Separate peer/maybe_peer in ProcessMessages and SendMessages
fac529188e refactor: Pass Peer& to ProcessMessage
fa376095a0 refactor: Pass CNode& to ProcessMessages and SendMessages
fada838014 refactor: Make ProcessMessage private again
fa80cd3cee test: [refactor] Avoid calling private ProcessMessage() function
d511adb664 [miner] omit dummy extraNonce via IPC
bf3b5d6d06 test: clarify getCoinbaseRawTx() comparison
78df9003d6 [doc] Update comments on dummy extraNonces in tests
e770392084 test: addrman: test self-announcement time penalty handling
27aeeff630 Merge bitcoin/bitcoin#34328: rpc: make `uptime` monotonic across NTP jumps
5aeaa71c77 lint: pass args from lint.py to cargo run in container
c17a2adb8d lint: upgrade lint scripts for worktrees
fa9c92d7b6 log: Print warning about privacy-sensitive log info unconditionally
f970cb39fb Merge bitcoin/bitcoin#34267: net: avoid unconditional `privatebroadcast` logging (+ warn for debug logs)
8593d96519 Merge bitcoin/bitcoin#33067: test: refactor ValidWitnessMalleatedTx class to helper function
2fccbea3c8 Squashed 'src/secp256k1/' changes from d543c0d917..14e56970cb
26fbe10873 Update secp256k1 subtree to latest master
34a5ecadd7 Merge bitcoin/bitcoin#34397: doc: fix arg name hints so bugprone can validate them
fa2e1b85dd build: Remove outdated comment about -ffile-prefix-map
fa06cd4ba7 doc: Remove outdated -fdebug-prefix-map section in dev notes
ab649ce459 guix: documented shasum gathering command
1cc58d3a0c Merge bitcoin/bitcoin#34281: build: Temporarily remove confusing and brittle `-fdebug-prefix-map`
905dfdee86 test: use ModuleNotFoundError in interface_ipc.py
2778eb4664 Merge bitcoin/bitcoin#34337: fuzz: Return chrono point from ConsumeTime(), Add ConsumeDuration()
d70fb8a575 Merge bitcoin/bitcoin#34351: util: Remove `FilterHeaderHasher`
6472ba06c3 Merge bitcoin/bitcoin#34388: doc: Explain that low-effort pull requests may be closed
1f60ca360e wallet: fix removeprunedfunds bug with conflicting transactions
5f66fca633 Merge bitcoin-core/gui#920: Set peer version and subversion to N/A when not available or detecting
02240a7698 Merge bitcoin/bitcoin#34390: test: allow overriding `tar` in `get_previous_releases.py`
7d9e1a8102 test: Verify peer usage after assumeutxo validation completes
3bd98b4508 refactor: use transparent comparator for setBlockIndexCandidates lookups
a73a3ec553 doc: fix invalid arg name hints for bugprone validation
5b8c204275 Merge bitcoin/bitcoin#34384: Remove epoch logic from mempool
eeee3755f8 fuzz: Return chrono point from ConsumeTime(), Add ConsumeDuration()
5cd57943b8 test: verify node state after restart in assumeutxo
1b36bf0c5d subprocess: Fix `-Wunused-private-field` for `Child` class on Windows
9f2b338bc0 subprocess: Fix `-Wunused-private-field` for `Popen` class on Windows
fa15a8d2d0 doc: Explain that low-effort pull requests may be closed
be2b48b9f3 test: allow overriding tar in get_previous_releases
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
40735450c0 Remove unused epochguard.h
1a8494d16c Rework CTxMemPool::GetChildren() to not use epochs
7b48b09b7f Merge bitcoin/bitcoin#34376: bench/test: clarify merkle bench and witness test intent
db2effaca4 scripted-diff: refactor: CWallet::Create() -> CreateNew()
27e021ebc0 wallet: Correctly log stats for encrypted messages.
d8bec61be2 wallet: remove loading logic from CWallet::Create
f35acc893f refactor: wallet: Factor out `WriteVersion()` from `PopulateWalletFromDB()`
e12ff8aca0 test: wallet: Split create and load
70dbc79b09 wallet: Use CWallet::LoadExisting() for loading existing wallets.
ae66e01164 wallet: Create separate function for wallet load
bc69070416 refactor: Wallet stats logging in its own function
a9d64cd49c wallet: Remove redundant birth time update
b4a49cc727 wallet: Move argument parsing to before DB load
b15a94a618 refactor: Split out wallet argument loading
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()
6f7b4323cb test: remove UNKNOWN_ERROR from script_tests
bd31a92d67 script: use SCRIPT_ERR_SCRIPTNUM for CScriptNum errors
0ca4dcd786 script: add SCRIPT_ERR_SCRIPTNUM error
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
2845f10a2b test: extend FreeBSD ephemeral port range fix to P2P listeners
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
3f5211cba8 test: remove child_one/child_two (w)txid variables
7cfe790820 test: replace ValidWitnessMalleatedTx class with function
5b2c3960b9 test: clean up tx resurrection (re-org) test in feature_block.py
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
4fec726c4d refactor: Simplify Interpret asmap function
79e97d45c1 doc: Add more extensive docs to asmap implementation
cf4943fdcd refactor: Use span instead of vector for data in util/asmap
385c34a052 refactor: Unify asmap version calculation and naming
fa41fc6a1a refactor: Operate on bytes instead of bits in Asmap code
964c44cdcd test(miniscript): Prove avoidance of stack overflow
198bbaee49 refactor(miniscript): Destroy nodes one full subs-vector at a time
50cab8570e refactor(miniscript): Remove NodeRef & MakeNodeRef()
15fb34de41 refactor(miniscript): Remove superfluous unique_ptr-indirection
e55b23c170 refactor(miniscript): Remove Node::subs mutability
c6f798b222 refactor(miniscript): Make fields non-const & private
22e4115312 doc(miniscript): Remove mention of shared pointers
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
34bed0ed8c test: use IP_PORTRANGE_HIGH on FreeBSD for dynamic port allocation
ccf9172ab3 util: Remove `FilterHeaderHasher`
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
fdc9fe2da6 ci, iwyu: Fix warnings in `src/primitives` and treat them as errors
477c5504e0 coins: replace `std::distance` with unambiguous pointer subtraction
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
81675a781f test: use pre-generated chain
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
14f99cfe53 rpc: make `uptime` monotonic across NTP jumps
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
a9440b1595 util: add `TicksSeconds`
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
a02c4a82d8 refactor: Move -walletbroadcast setting init
411caf7281 wallet: refactor: PopulateWalletFromDB use switch statement.
a48e23f566 refactor: wallet: move error handling to PopulateWalletFromDB()
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"
faa5a9ebad fuzz: Use min option in ConsumeTime
0972785fd7 wallet: Delete unnecessary PopulateWalletFromDB() calls
f0a046094e scripted-diff: refactor: CWallet::LoadWallet->PopulateWalletFromDB
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
fad7bd9ba3 noui: Remove always empty caption while formatting
fa8ebeb332 refactor: [gui] Document that the title is always empty for node message
fafe71b743 refactor: Remove empty caption from ThreadSafeMessageBox
fa8d0088e7 refactor: Remove empty caption from ThreadSafeQuestion
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
1fea3bae5c ipc, test: Add tests for unclean disconnect and thread busy behavior
fa37928536 build: Temporarily remove confusing and brittle -fdebug-prefix-map
979d41bfab qa: Fix Windows logging bug
28f70c571b Merge bitcoin/bitcoin#34240: ci: Run feature_unsupported_utxo_db.py on Windows
b39291f4cd doc: fix `-logips` description to clarify that non-debug logs can also contain IP addresses
c7028d3368 init: log that additional logs may contain privacy-sensitive information
fa2959e16d test: Fail on self-check warnings in test_runner.py
31b771a942 net: move `privatebroadcast` logs to debug category
ac76d94117 Merge bitcoin/bitcoin#34109: refactor: Use uint64_t over size_t for serialize corruption check in fees.dat
fa16b275fa test: Check that interrupt results in EXIT_SUCCESS
fab7c7f56c test: Split large init_stress_test into two smaller functions
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`
fa0195499c refactor: [gui] Use lambdas over std::bind
eeee1e341f refactor: Remove trailing semicolon after ADD_SIGNALS_DECL_WRAPPER
62557c9529 Merge bitcoin/bitcoin#33819: mining: getCoinbase() returns struct instead of raw tx
7562e2aeed Squashed 'src/ipc/libmultiprocess/' changes from a4f92969649..1fc65008f7d
73d0fe62d3 Merge commit '7562e2aeed95b0dc627e8e3a849941992f0189bb' into pr/subtree-7
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
557b41a38c validation: make `IsInitialBlockDownload()` lock-free
b9c0ab3b75 chain: add `CChain::IsTipRecent` helper
8d531c6210 validation: invert `m_cached_finished_ibd` to `m_cached_is_ibd`
8be54e3b19 test: cover IBD exit conditions
f51665bee7 psbt: validate pubkeys in MuSig2 pubnonce/partial sig deserialization
facaf56214 contrib: Remove unused functions
abc6a3a4eb Merge bitcoin/bitcoin#34252: doc: add 433 (Pay to Anchor) to bips.md
2ee7f9b259 coins: assume `GetCoin` only returns unspent coins
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: …
…be35bb2
0abbe35bb2 Merge bitcoin/bitcoin#35148: refactor: Remove confusing DataStream::in_avail() alias
6322c1697d Merge bitcoin/bitcoin#33920: Export embedded ASMap RPC
28a523fb94 Merge bitcoin/bitcoin#35097: util: Return uint64_t from _MiB and _GiB operators
fa43da21f1 refactor: Run ShouldWarnOversizedDbCache calculation in u64
fa5801762e util: Return uint64_t from _MiB and _GiB operators
fa204100e1 streams: Remove confusing DataStream::in_avail()
fa5ab0220e move-only: Extract ProcessPong() helper
2d5ab09f0d Merge bitcoin/bitcoin#35124: bench: fix benchmark fixtures and setup checks
1aef4d53ff Merge bitcoin/bitcoin#34885: kernel: expose btck_block_tree_entry_get_ancestor
e6430b2773 bench: make `setup()` use single-iteration epochs
ba0078e3bf bench: fix ephemeral spend inputs
b8b7f896e8 bench: drop duplicate balance benchmark
290e48fbf0 Merge bitcoin/bitcoin#35128: dbwrapper: avoid copying `CDBIterator` keys in `GetKey()`
f17cd18d02 Merge bitcoin/bitcoin#35116: net: cleanup SOCKS5 auth logging
fa9ddb01c9 test: Use MiB operator directly in cuckoocache_tests
8a843a1b7c Merge bitcoin/bitcoin#34865: logging: better use of log::Entry internally
cd7865b0ce Merge bitcoin/bitcoin#33671: wallet: Add separate balance info for non-mempool wallet txs
0cbd220294 Merge bitcoin/bitcoin#34440: refactor: Change CChain methods to use references, add tests
bb90899955 Merge bitcoin/bitcoin#34435: refactor: use `_MiB`/`_GiB` consistently for byte conversions
8a05adc5f8 Merge bitcoin/bitcoin#35138: doc: add missed advisory to 31.0 rel notes
c95968f780 doc: add missed advisory to 31.0 rel notes
3f09a4703f Merge bitcoin/bitcoin#35132: doc: update release process to mention security advisories pre-announcements
1a4371cc3d Merge bitcoin/bitcoin#34882: refactor: Use NodeClock::time_point in more places
4abc0c2e04 doc: update release process to mention security advisories pre-announcements
875faa29e1 Merge bitcoin/bitcoin#35087: tor: limit torcontrol line size that is processed to prevent OOM
2a90b6132a Add release notes for exportasmap
8cb2d926b4 rpc: Add exportasmap RPC
e32bc7f817 Merge bitcoin/bitcoin#35025: refactor: use `SpanReader` in deserialization benchmarks
13c8df4d5a refactor: replace `DataStream` with `SpanReader` in block deserialization tests
2529f25555 refactor: use `SpanReader` in `PrevectorDeserialize`
b8eb6c2081 refactor: use `SpanReader` in `TestBlockAndIndex`
61d678a6e3 refactor: use `DataStream::clear` in `::read` and `::ignore`
5de2f97a05 dbwrapper: use `SpanReader` for iterator keys
f0e498af5c test: cover failed `CDBIterator::GetKey()` deserialization
d3a40dd9de Merge bitcoin/bitcoin#35127: fuzz: remove redundant CScript method calls from script harness
c9d8582235 fuzz: remove redundant CScript method calls from script harness
89e7c4274c Merge bitcoin/bitcoin#31449: coins,refactor: Reduce `getblockstats` RPC UTXO overhead estimation
6b3dd6314f Merge bitcoin/bitcoin#34863: test: Clean shutdown in Socks5Server
64a88c8c1e Merge bitcoin/bitcoin#35096: kernel: align height parameters to int32_t in btck API
0c0f75eaaf Merge bitcoin/bitcoin#35091: doc: archive release notes for v31.0
5c50a03309 Merge bitcoin/bitcoin#35006: cli, rpc: add -rpcid option for custom request IDs
b6d1b65062 Merge bitcoin/bitcoin#34908: rpc, refactor: gettxoutsetinfo race condition fix follow-ups
af0ee28eb6 refactor: use _MiB consistently for Mebibyte conversions
b3edd30aa2 util: add _GiB for Gibibyte conversions
7c75244ade Change pindexMostWork parameter of ActivateBestChainStep() to reference
c5eb283bca Change CChain::FindFork() to take ref
20b58e281a Change CChain::Next() to take reference
fe2d6e25e0 Change CChain::Contains() to take reference
db56bcd692 test: Add CChain::FindFork() tests
8333abdd91 test: Add CChain basic tests
3bf3b6d59a net: log SOCKS5 auth before sending
b2debc9276 net: cleanup SOCKS5 auth logging
ad0545ba96 Merge bitcoin/bitcoin#35024: ci: Mitigate network issues in native Windows job
a51ec89e0c Merge bitcoin/bitcoin#35099: ci: drop `-lstdc++` from msan fuzz job
963ea38c0c Merge bitcoin/bitcoin#35038: bench: add script verification benchmark for P2TR script-path spends
0bdf21022c Merge bitcoin/bitcoin#35089: test: Allow to set height in create_block
ac9ce25b5f Merge bitcoin/bitcoin#34425: test: Fix all races after a socket is closed gracefully
2f9aa400d9 Merge bitcoin/bitcoin#33032: wallet, test: Replace MockableDatabase with in-memory SQLiteDatabase
378e17f703 Merge bitcoin/bitcoin#33477: Rollback for dumptxoutset without invalidating blocks
654556e631 Merge bitcoin/bitcoin#35086: test: interface_http follow-ups
9fe5896a44 tor: torcontrol disconnect on too many lines to avoid OOM
8b68287bf9 test: Make torcontrol max line length test stricter and test boundaries.
c5ec2d5313 logging: replace FormatLogStrInPlace with Format
3b92ec2036 logging: replace BufferedLog with log::Entry
07b9b13b45 doc: add integer type conventions in btck api remarks
f49a2afd94 test: interface_http follow-ups
ba6287a449 kernel: align height parameters to int32_t in btck API
df44afdc98 kernel: expose btck_block_tree_entry_get_ancestor
8115001cd4 logging: pass log::Entry through to logging functions
b414913c73 util: add timestamp and thread_name to log::Entry
8a55b17751 util: make SourceLocation constructor explicit
b02d6b0567 ci: drop -lstdc++ usage in msan fuzz job
655a39ee14 ci: use llvm 22.1.3
1fa34f90a2 Merge bitcoin/bitcoin#35095: doc: fix typos and minor formatting issues
bdc8e496da doc: fix typos and formatting in CONTRIBUTING, i2p, bitcoin-conf, files
ab5889796f refactor: torcontrol add connection checks to restart_with_mock
e7d647388c Merge bitcoin/bitcoin#34923: depends: remove workaround for Make older than 4.2.90
c4361e53cd Merge bitcoin/bitcoin#34757: guix: re-enable riscv exported symbol checking
fa16bc53d7 test: Require named arg for create_block ntime arg
fab352053d test: Remove unused create_coinbase imports
fad6deb3cb scripted-diff: Use new create_block height option
fa5eb74b96 test: Allow to set height in create_block
c54f37c1ba cli, rpc: add -rpcid option for custom request IDs
4d040b7d62 doc: archive release notes for v31.0
44ac0c32b9 Merge bitcoin/bitcoin#34401: kernel: add serialization method for btck_BlockHeader API
53f4743c21 Merge bitcoin/bitcoin#35080: test: Add missing self.options.timeout_factor scale in tool_bitcoin_chainstate.py
edcf84c73a Merge bitcoin/bitcoin#35077: kernel: build: remove unused serfloat dependency
fa02eb87df test: Add missing self.options.timeout_factor scale in tool_bitcoin_chainstate.py
49895b9cbd kernel: build: remove unused serfloat dependency
577a3e74c8 test: Add check for return type in `HasToBytes` concept
1ad551281a kernel: Add Block Header serialization method
86662623ec Add `SpanWriter` class for zero-allocation stream writing
fbffe8a64a bench: improve `VerifyNestedIfScript` benchmark precision (make stack clearing untimed)
616ee6fe74 bench: add script verification benchmark for P2TR script-path spends
7844a2f083 Merge bitcoin/bitcoin#34772: test: modernize interface_http and cover more libevent behavior
6ac49373aa test: Add clean shutdown to Socks5Server
976985eccd Merge bitcoin/bitcoin#34124: validation: make `CCoinsView` a pure virtual interface
09c0e37789 ci: Rename vcpkg binary cache entity to force rebuild
fa1015bbcb refactor: Use NodeClock::time_point for m_connected
7aa033d3d4 Merge bitcoin/bitcoin#34773: test: migrate functional test equality asserts to `assert_equal`
34c3279d25 Merge bitcoin/bitcoin#34623: Update secp256k1 subtree to latest master
7e3e22e1f7 Merge bitcoin/bitcoin#35047: doc: fix typo 'parlor' to 'parlance' in developer-notes
ea893cff07 doc: fix typo 'parlor' to 'parlance' in developer-notes
58dccd27e1 Merge bitcoin/bitcoin#34858: test: Use NodeClockContext in more tests
fe3d2be1d6 Merge bitcoin/bitcoin#32757: net: Fix Discover() not running when using -bind=0.0.0.0:port
7015f70920 Merge bitcoin/bitcoin#34886: test: Rework Single Random Draw coin selection tests
7c6f1ab654 Merge bitcoin/bitcoin#35032: net_processing: don't modify addrman for private broadcast connections
94f1d35145 Merge bitcoin/bitcoin#34922: test: Use BasicTestingSetup when sufficient
dc93091083 ci: Cache `vcpkg/downloads` folder in native Windows CI job
88bbf2ad33 ci, refactor: Reuse primary key in `actions/cache/save`
141fbe4d53 Merge bitcoin/bitcoin#34884: validation: remove unused code in FindMostWorkChain
1ed1a12402 net_processing: don't modify addrman for private broadcast connections
2b541eeb36 Merge bitcoin/bitcoin#34495: Replace boost signals with minimal compatible implementation
f8ab0b778c Merge bitcoin/bitcoin#34905: Update string and net utils for future HTTP operations
b7f9178976 Update secp256k1 subtree to latest master
dfd54c959e Squashed 'src/secp256k1/' changes from 57315a6985..7262adb4b4
ab304b0ef2 Merge bitcoin/bitcoin#35031: ci: Match `VCPKG_HOST_TRIPLET` to `VCPKG_TARGET_TRIPLET`
80572c7555 Merge bitcoin/bitcoin#34158: torcontrol: Remove libevent usage
8783cc8056 refactor: inline `CCoinsViewBacked` implementation
86296f276d coins: make `CCoinsView` methods pure virtual
b637566c8d coins: add explicit `CoinsViewEmpty` noop backend
90c635c01c fuzz: keep backend assertions aligned to active backend
a9f92e3497 refactor: normalize CCoinsView whitespace and signatures
38a99f3344 scripted-diff: normalize `CCoinsView` naming
06172ef0d5 refactor: rename `hashBlock` to `m_block_hash` to avoid shadowing
0e712b3812 Make DynSock accepted sockets queue optional, with precise lifetime
3de02abf3f util/test: Add string_view constructor to LineReader and remove StringToBuffer
b0ca400612 string: replace AsciiCaseInsensitiveKeyEqual with CaseInsensitiveEqual
8172099293 util: get number of bytes consumed from buffer by LineReader
ba01b00d45 refactor: use for loops in FindMostWorkChain
aa0eef735b test: add InvalidateBlock/ReconsiderBlock asymmetry test
1b0b3e2c2c validation: remove redundant marking in FindMostWorkChain
c74c6cfd84 ci: Match `VCPKG_HOST_TRIPLET` to `VCPKG_TARGET_TRIPLET`
d2844c6a4f Merge bitcoin/bitcoin#35014: test: remove macOS REDUCE_EXPORTS exception workaround
858a0a9c96 test: Add SRD maximum weight tests
fe9f53bf0b test: Add SRD success tests
2840f041c5 test: Rework SRD insufficient balance test
64ab97466f Test: Add new minimum to tested feerates
65900f8dc6 test: Init coin selection params with feerate
82235bbf2b Merge bitcoin/bitcoin#34988: rpc: fix initialization-order-fiasco by lazy-init of decodepsbt_inputs
b555a0b789 test: remove macOS REDUCE_EXPORTS exception workaround
1d7edee34c Merge bitcoin/bitcoin#34977: Update libmultiprocess subtree to fix test timeout
2af003ae37 test: Use BasicTestingSetup when TestingSetup is not necessary
9ee77701dd refactor(test): Only specify TestChain100Setup in test cases
d868667fdc Merge bitcoin/bitcoin#34985: fuzz: remove GetDescriptorChecksum from string harness
66b4e30ec8 Merge commit '7a6d210989af56a03d7efa79f1f3a90047bb88fe' into 2026/04/libmultiprocess-subtree
7a6d210989 Squashed 'src/ipc/libmultiprocess/' changes from 70f632bda8..3edbe8f67c
422ca211ec test: ensure HTTP server enforces limits on headers and body size
485ebad1ee Merge bitcoin/bitcoin#33385: contrib: Add bash completion for new bitcoin command
3fd68a95e6 scripted-diff: replace remaining Python test equality asserts
301b1d7b1f test: add missing `assert_equal` imports
06a4176c42 test: convert truthy asserts in `wallet_miniscript` and `rpc_psbt`
d9a3cf20a4 test: convert simple equality asserts in excluded files
23c06d4e6d test: convert equality asserts with comments or special chars
dcd90fbe54 test: prep manual equality assert conversions
4f4516e3f6 test: split equality asserts joined by `and`
76a5570b36 test: use `in` for two-value equality asserts
996e4f7edd Merge bitcoin/bitcoin#35001: validation: Remove stale `BlockManager` param from `ContextualCheckBlockHeader`
b730dc3301 Merge bitcoin/bitcoin#34208: bench: add fluent API for untimed `setup` steps in nanobench
0c1a07e890 test: ensure HTTP server timeout is not caused by a delayed response
f06de5c1ea test: clean up and modernize interface_http
74e7518088 Merge bitcoin/bitcoin#34989: doc: remove stale shortid collision TODO
8edb13dbdd Merge bitcoin/bitcoin#34967: doc: Discourage trailing doxygen comments, and fix the broken ones
19e99be011 guix: remove riscv exclusion from symbol check
47b7a9f666 guix: binutils 2.46.0
851152e42a validation: Remove stale BlockManager param in ContextualCheckBlockHeader
a7c30da1f6 Merge bitcoin/bitcoin#34873: net: fix premature stale flagging of unpicked private broadcast txs
1401011f71 test: Add test for exceeding max line length in torcontrol
84c1f32071 test: Add torcontrol coverage for PoW defense enablement
7dff9ec298 test: Add test for partial message handling in torcontrol
569383356e test: Add simple functional test for torcontrol
4117b92e67 fuzz: Improve torcontrol fuzz test
b1869e9a2d torcontrol: Move tor controller into node context
eae193e750 torcontrol: Remove libevent usage
242b0ebb5c btcsignals: use a single shared_ptr for liveness and callback
b12f43a0a8 signals: remove boost::signals2 from depends and vcpkg
a4b1607983 signals: remove boost::signals2 mentions in linters and docs
375397ebd9 signals: remove boost includes where possible
091736a153 signals: re-add forward-declares to interface headers
9958f4fe49 Revert "signals: Temporarily add boost headers to bitcoind and bitcoin-node builds"
34eabd77a2 signals: remove boost compatibility guards
e60a0b9a22 signals: Add a simplified boost-compatible implementation
63c68e2a3f signals: add signals tests
d517fa0a94 rpc: fix initialization-order-fiasco by lazy-init of decodepsbt_inputs
f1e14dfbe9 depends: remove workaround for Make older than 4.2.90
fa1f4feac4 Merge bitcoin/bitcoin#34965: cli: Return more helpful authentication errors
4b98962731 Merge bitcoin/bitcoin#34448: ci, iwyu: Fix warnings in `src/util` and treat them as errors
59199fa5ea Merge bitcoin/bitcoin#33908: kernel: add context‑free block validation API (`btck_check_block_context_free`) with POW/Merkle flags
fc736013a5 rpc: Add in_memory option to dumptxoutset with rollback
d0fd718948 test: Extend named pipe sqlite tool test to use rollback
ab9463efac test: Add dumptxoutset fork test
49d5e835a8 rpc: Don't invalidate blocks in dumptxoutset
fe58eb9850 blockstorage: Add DeletePruneLock
037ea2c714 walletdb: Remove m_mock from SQLiteDatabase
59484e2fdb wallet: Make Mockable{Database,Batch} subclasses of SQLite classes
b69f989dc5 wallet, bench: Use TestingSetup in CoinSelection benchmark
e7d67c9fd9 test: Make duplicating MockableDatabases use cursor and batch
964eafb71c bench, wallet: Make WalletMigration's setup WalletBatch scoped
facaeb9c76 doc: Discourage trailing doxygen comments, and fix the broken ones
8cc690ea9b Merge bitcoin/bitcoin#34379: wallet: fix `gethdkeys` RPC for descriptors with partial xprvs
194f57109d Merge bitcoin/bitcoin#34976: lint: Clarify rmtree/remove_all error message with preferred alternatives
fc9987dfc6 doc: remove stale shortid collision TODO
1189702d2f Merge bitcoin/bitcoin#34982: kernel: Remove NONNULL annotation from destroy method
52c3381fa8 Merge bitcoin/bitcoin#33506: test: sock: Enable all socket tests on Windows
24609389a4 Merge bitcoin/bitcoin#34986: docs: remove duplicate ///@} from bitcoinkernel.h
7abf6f6fb6 docs: remove duplicate ///@} from bitcoinkernel.h
91cd0e3aaa fuzz: remove GetDescriptorChecksum from string harness
75608547b4 kernel: Remove NONNULL annotation from destroy method
fa955af618 lint: Clarify rmtree/remove_all error message with preferred alternatives
8e789322c5 Merge bitcoin/bitcoin#34944: guix: Clean up module list in manifest
8b461c530e Merge bitcoin/bitcoin#34956: depends, qt: Fix build on aarch64 macOS 26.4
aeb667f6b7 Merge bitcoin/bitcoin#33343: help: enrich help text for `-loadblock`
0831173c01 Merge bitcoin/bitcoin#34640: wallet: rpc: Improve error message for low feerates.
d0ed369b3b Merge bitcoin/bitcoin#34049: rpc: Disallow captures in RPCMethodImpl
5deed3deab Merge bitcoin/bitcoin#34958: test: mining: add coverage for GBT's "coinbasevalue" result field
54fa356365 Merge bitcoin/bitcoin#34957: policy: remove incorrect `MANDATORY_SCRIPT_VERIFY_FLAGS` comment
4757b71aa7 Merge bitcoin/bitcoin#34938: refactor: Return std::optional over bool+mut&
257769a7ce qa: Improve error message
20a94c1524 cli: Clearer error messages on authentication failure
84c3f8d325 refactor(rpc): GenerateAuthCookieResult -> AuthCookieResult
fa244b984c refactor: Use NodeClock::time_point for m_last_send/recv and m_ping_start
fa2605b204 refactor: Use NodeClock::time_point for CNetMessage::m_time
c97ac44c34 Merge bitcoin/bitcoin#32297: bitcoin-cli: Add -ipcconnect option
a846a7c805 Merge bitcoin/bitcoin#34811: doc: update cjdns.md for current cjdns installation and peering
12c3c3f81d test: mining: add coverage for GBT's "coinbasevalue" result field
8b49e2dd4e ci, iwyu: Fix warnings in `src/util` and treat them as errors
6953363be8 refactor: Move license info into new module
eb750d277b iwyu: Remove workaround for issue that has been fixed upstream
5fa6898818 policy: remove incorrect MANDATORY_SCRIPT_VERIFY_FLAGS comment
3aeccb7d73 depends, qt: Fix build on aarch64 macOS 26.4
f6e6fad0d9 Merge bitcoin/bitcoin#34867: wallet: document importdescriptors error object fields
0e2122c62e Merge bitcoin/bitcoin#32875: index: handle case where pindex_prev equals chain tip in NextSyncBlock()
550f603025 Merge bitcoin/bitcoin#34382: test: wallet: Check fallbackfee default argument behavior.
b0f68f0a3a Merge bitcoin/bitcoin#34804: Update libmultiprocess subtree to fix race conditions on disconnects
325f743eed guix: Clean up module list in manifest
fabab69e9e refactor: Return std::optional from ParseDouble
fa0a09441d refactor: Return std::optional from GetWalletNameFromJSONRPCRequest
fafb0c4cbe refactor: Return std::optional from GetLogCategory
826819a510 Merge bitcoin/bitcoin#34939: fuzz: Use CAmount for storing best_waste
2b6af628b1 Merge bitcoin/bitcoin#34491: ci: add FreeBSD Clang cross job
e602ad62d0 Merge bitcoin/bitcoin#34919: test: script: boundary at exactly 65535 bytes must use OP_PUSHDATA2
954374d405 Merge bitcoin/bitcoin#34926: test: Replace DEBUG_LOG_OUT with -printtoconsole=1
890a09b1e4 fuzz: Use CAmount for storing best_waste
fae807ed25 test: Remove unused, confusing and brittle connect_nodes.wait_for_connect
fab2772647 test: Fix all races after a socket is closed gracefully
fa21edddb2 test: Stricter checks in rpc_setban.py
faa404e119 test: Add is_connected_to helper
613a548648 Merge commit '2478a15ef966cc93d47dd0f461a44be39bc51534' into pr/subtree-9
2478a15ef9 Squashed 'src/ipc/libmultiprocess/' changes from 1868a84451f..70f632bda8f
fa644e625b refactor: Use NodeClock::duration for m_last_ping_time/m_min_ping_time/m_ping_wait
333316f6be doc: Fix typo "eviction criterium" -> "eviction criterion"
fa54fb0129 refactor: gui: Accept up to nanoseconds in formatDurationStr, but clarify they are ignored
fab88884b7 refactor: Avoid manual chrono casts with * or /
facfce37f6 util: Add NodeClock::epoch alias
fa41e072b3 refactor: Use NodeClock alias over deprecated GetTime
4f8bd396f8 Merge bitcoin/bitcoin#34913: fuzz: Use time helpers in node_eviction
21da421b42 Merge bitcoin/bitcoin#34439: qa: Drop recursive deletes from test code, add lint checks.
8a8edc8d88 Merge bitcoin/bitcoin#34741: refactor: Return std::optional from GetNameProxy/GetProxy
a5609fc249 Merge bitcoin/bitcoin#34458: net: Don't log own ips during discover
261d229455 test: Replace DEBUG_LOG_OUT with -printtoconsole=1
3dcdb2b9ba test: wallet: Warning for excessive fallback fee.
6664e41e56 test: wallet: -fallbackfee default is 0
d28c989243 test: wallet: refactor: fallbackfee extract common send failure checks.
99f99c989e Merge bitcoin/bitcoin#34918: fuzz: [refactor] Remove unused g_setup pointers
fde37778ba Merge bitcoin/bitcoin#34915: doc: archive release notes for v28.4
6d54365c3e Merge bitcoin/bitcoin#34920: wallet: drop stale TODOs
fa1ebde1ad fuzz: Use time helpers in node_eviction
325afe664d net: delay stale evaluation and expose time_added in private broadcast
1438165b1f wallet: drop stale TODOs
fabbfec3b0 fuzz: Remove unused g_setup pointers
f899674639 test: script: boundary at exactly 65535 bytes must use OP_PUSHDATA2
5a81d73a81 scripted-diff: rpc: Don't pointlessly capture in RPCMethod lambdas
4e789299af scripted-diff: rpc: Rename RPCHelpMan to RPCMethod
3e089038aa doc: archive release notes for v28.4
2fe76ed832 Merge bitcoin/bitcoin#34896: ci: Upgrade IWYU to 0.26 compatible with Clang 22
c61c504f27 Merge bitcoin/bitcoin#34883: ci: vcpkg-specific cleanups
0d1301b47a test: functional: drop rmtree usage and add lint check
8bfb422de8 test: functional: drop unused --keepcache argument
a7e4a59d6d qa: Remove all instances of `remove_all` except test cleanup
38886a6710 Merge bitcoin/bitcoin#34786: validation: do not add the snapshot to candidates set of the background chainstate
6b99a3e4f0 doc: update cjdns.md for current upstream changes
0587c56091 kernel: Expose context-free block validation
bfc84eb2ea Merge bitcoin/bitcoin#33259: rpc, logging: add backgroundvalidation to getblockchaininfo
1ef7166029 Merge bitcoin/bitcoin#34891: doc: Note that generateblock does not collect transaction fees
4ecf473c36 Merge bitcoin/bitcoin#34727: test: Add IPC wake-up test and reuse mining context
3129d4a693 ci: Rename `TIDY_LLVM_V` to `IWYU_LLVM_V` in IWYU-specific code
71f827c3c2 kernel: Expose consensus parameters (`btck_ConsensusParams`)
999d18ab1c net: introduce TxSendStatus internal state container
667e081a2a Merge bitcoin/bitcoin#34598: bench: use larger payload in HexStrBench
25f69d970a release note
af629821cf test: add background validation test for getblockchaininfo
a3d6f32a39 rpc, log: add backgroundvalidation to getblockchaininfo
5b2e4c4a88 log: update progress calculations for background validation
3e5dc61035 rpc, refactor: gettxoutsetinfo race condition fix follow-ups
400aa68b4a Merge bitcoin/bitcoin#34809: threadsafety: Add STDLOCK() macro for StdMutex
fa73ed467c refactor: Fix redundant conversion to std::string and then to std::string_view [performance-string-view-conversions]
16613c9de9 Merge bitcoin/bitcoin#34857: test: Remove confusing assert_debug_log in wallet_reindex.py
65379bb8d0 ci: add FreeBSD cross CI job
f44191f163 depends: build qrencode for Freebsd
7f7018738e depends: FreeBSD cross with Clang
6464f14081 depends: disable inotify in Freebsd Qt build
fbabe86190 Merge bitcoin/bitcoin#34870: wallet: feebumper, fix crash when combined bump fee is unavailable
696b5457c5 Merge bitcoin/bitcoin#34667: test: ensure FastWalletRescanFilter is correctly updated during scanning
9a03ba1e3a Merge bitcoin/bitcoin#34888: wallet: fix amount computed as boolean in coin selection
8444efbd4a refactor: Get rid of unnecessary newlines in logs
6bcb60354e refactor: Modernize member variable names in torcontrol
a36591d194 refactor: Use constexpr in torcontrol where possible
1a1f584360 Merge bitcoin/bitcoin#29963: depends: Do not consider `CC` environment variable for detecting system
28b93af19d Merge bitcoin/bitcoin#33414: tor: enable PoW defenses for automatically created hidden services
8d2f06853a sync: Use StdMutex for thread safety annotations
cbc231ed8e scripted-diff: logging: Switch from StdLockGuard to STDLOCK
f808786f48 logging: Add missing thread safety annotations
e196cf26e0 util/stdmutex.h: Add STDLOCK() and improve annotation checking for StdMutex
a703c70bb8 Merge bitcoin/bitcoin#34589: ci: Temporarily use clang in valgrind tasks
cdaf2f20ae Merge bitcoin/bitcoin#34850: depends: Remove no longer necessary `dsymutil`
3d1b7d0f6a Merge bitcoin/bitcoin#34639: iwyu: Document or remove some `pragma: export` and other improvements
559df68240 Merge bitcoin/bitcoin#34878: depends: Fix cross-compiling on macOS for Windows
999c42484f Merge bitcoin-core/gui#815: Bugfix on TransactionsView - Disable if privacy mode is set during wallet selection
0b489886f8 ci: Upgrade IWYU to 0.26 compatible with Clang 22
0026b330c4 wallet: fix amount computed as boolean in coin selection
3136559923 doc: Note that generateblock does not collect transaction fees
483769c046 Merge bitcoin/bitcoin#26201: Remove Taproot BIP 9 deployment
2d5cedfe12 ci: Switch to VS-vendored vcpkg instance
ad75b147b5 test: scale IPC mining wait timeouts by timeout_factor
e7a918b69a test: verify IPC error handling for invalid coinbase
63684d6922 test: move make_mining_ctx to ipc_util.py
4ada575d6c test: verify createNewBlock wakes promptly when tip advances
0fe6fccec2 doc: Document rationale for using `IWYU pragma: export`
cfa3b10d50 iwyu, doc: Document `IWYU pragma: export` for `<logging/categories.h>`
015bea05e6 iwyu, doc: Document `IWYU pragma: export` for `<chrono>`
48bfcfedec iwyu, doc: Document `IWYU pragma: export` for `<threadsafety.h>`
179abb387f refactor: Move `StdMutex` to its own header
9aa5b3c3a3 ci: Switch to `x64-windows-release` triplet
65882fa68f ci: Remove upstreamed vcpkg workaround
19c9474742 Merge bitcoin/bitcoin#34791: test: Suppress another unsolicited `mock_process/*` output
7a9304f887 depends: Fix cross-compiling on macOS for Windows
faad08e59c test: Use NodeClockContext in more tests
fa8fe0941e fuzz: Use NodeClockContext
6e295d8ad5 Merge bitcoin/bitcoin#34059: refactor: Use NodeClock::time_point for m_addr_token_timestamp
fa9f434df8 test: Allow time_point in boost checks
faaea7895f refactor: Use current_time over redundant call to Now()
3333c5023f refactor: Use NodeClock::time_point for m_addr_token_timestamp
f80bf5128d Merge bitcoin/bitcoin#34869: tests: applied PYTHON_GIL to the env for every test
b425a81f07 Merge bitcoin/bitcoin#34868: scripted-diff: Rename `WAIT_TIMEOUT` to `TEST_WAIT_TIMEOUT`
d14293c3a9 Merge bitcoin/bitcoin#34859: ci: Retry on intermittent Windows generate download failures
d58e0ad0a4 Merge bitcoin/bitcoin#33215: Fix compatibility with `-debuglogfile` command-line option
93e8bcc077 Merge bitcoin/bitcoin#32442: doc: guix: Troubleshooting zdiff3 issue and uninstalling.
14053d8520 Merge bitcoin/bitcoin#34550: guix: update time-machine to c5eee3336cc1d10a3cc1c97fde2809c3451624d3
bc1c540920 Merge bitcoin/bitcoin#29060: Policy: Report debug message why inputs are non standard
3ca3e519b6 Merge bitcoin/bitcoin#34684: refactor: Enable -Wswitch in exhaustive switch'es, Enable -Wcovered-switch-default
b14f2c76a1 tests: applied PYTHON_GIL to the env for every test
6d2952c3c3 serialize: Add missing `<span>` header
6072a2a6a1 wallet: feebumper, fix crash when combined bump fee is unavailable
c53021b0ec Merge bitcoin/bitcoin#34499: miniscript: Use valid script in test, etc (#31713 follow-ups)
3c9e421942 Merge bitcoin/bitcoin#34846: kernel: Add API getter functions for timelock fields (`nLockTime`, `nSequence`)
658e68f95b scripted-diff: Rename `WAIT_TIMEOUT` to `TEST_WAIT_TIMEOUT`
445143bfc6 wallet: document structured importdescriptors errors
c0d3d493a9 Merge bitcoin/bitcoin#34704: validation: Explicitly move blocks to validation signals
7e18e2b16f Merge bitcoin/bitcoin#32624: fuzz: wallet: add target for `MigrateToDescriptor`
3a4a863d19 Merge bitcoin/bitcoin#34823: threading: never require logging from sync.h (take 2)
4169e72d9e Merge bitcoin/bitcoin#34451: rpc: fix race condition in gettxoutsetinfo
fa71c6e84c ci: Avoid intermittent Windows generate download failures
fa30951af5 test: Remove confusing assert_debug_log in wallet_reindex.py
a7514c1aa9 Merge bitcoin/bitcoin#34848: cmake: Migrate away from deprecated SQLite3 target
81bf3ebff7 Merge bitcoin/bitcoin#34852: test: Fix intermittent issue in feature_assumeutxo.py
d81b562fca Merge bitcoin/bitcoin#34799: rpc: Run type check on decodepsbt result
33eaf910bd Merge bitcoin/bitcoin#34820: test: Use asyncio.SelectorEventLoop() over deprecated asyncio.WindowsSelectorEventLoopPolicy(), move loop creation
faf71d6cb4 test: [refactor] Use verbosity=0 named arg
99996f6c06 test: Fix intermittent issue in feature_assumeutxo.py
5cf6ea24d3 Merge bitcoin/bitcoin#34479: fuzz: Add and use NodeClockContext
578525d31d depends: Remove no longer necessary `dsymutil`
ca85b8c22d Merge bitcoin/bitcoin#34742: fuzz: set whitelist permissions on connman target
d6f680b427 validation: Move block into BlockDisconnected signal
4d02d2b316 validation: Move block into BlockConnected signal
8b0fb64c02 validation: Move validation signal events to task runner
498b6eb6b5 cmake: Migrate away from deprecated SQLite3 target
fa70b9ebaa ci: Temporarily use clang in valgrind tasks
faf3ef4ee7 ci: Clarify why valgrind task has gui disabled
9f28120a5b kernel: Add API function for getting a tx input's nSequence
6b64b181d5 kernel: Add API function for getting a tx's nLockTime
04480c2558 Merge bitcoin/bitcoin#34830: fuzz: set fSuccessfullyConnected in connman harness
3293e9a61f guix: document when GCC SSA gen patch can be removed
978023fd9e guix: use latest glibc 2.31
ab9a98b1e4 guix: combine gcc-libgcc-patches with base-gcc
2276426bb1 guix: switch to upstream python-oscrypto package
feea2a850e ci: use LIEF 0.17.5 in lint job
a7524f57ba guix: switch to upstream python-lief package
2bf97e813d guix: switch to upstream osslsigncode package
dc0ddab389 guix: drop CMake workaround
31eb46f054 guix: update to c5eee3336cc1d10a3cc1c97fde2809c3451624d3
0f323e1075 guix: add --no-same-owner to TAR_OPTIONS
dc104cc333 Merge bitcoin/bitcoin#34832: lint: detect arch for mlc binary
db3c25cfae index: add explicit early exit in NextSyncBlock() when the input is the chain tip
551875360c ci: Use arch-appropriate binaries in lint install
52e8c1ce32 Merge bitcoin/bitcoin#34825: depends: capnp 1.4.0
8d55154655 Merge bitcoin/bitcoin#34602: test: addrman: successive failures in the last week for IsTerrible
bac8046fce Merge bitcoin/bitcoin#34831: lint: remove excluded files from whitespace check
79467e3ec7 threading: never require logging from sync.h
f55c891a65 lint: more reuse of SHARED_EXCLUDED_SUBTREES
8864917d8b lint: add missing ipc/test to grep_boost_fixture_test_suite
ecefc12927 lint: fix lint issue in lint script
ee8c22eb6a contrib: fix whitespace issues in scripts
fa55723b8f move-only: Extract ProcessAddrs() helper
92287ae753 test/wallet: ensure FastWalletRescanFilter is updated during scanning
04e2118372 lint: remove excluded .cpp/.h files from whitespace check
685a44c601 fuzz: set fSuccessfullyConnected in connman harness
fadf901fd4 rpc: Run type check on decodepsbt result
ff7cdf633e Merge bitcoin/bitcoin#34816: test: Remove vulture from ci, Remove some --min-confidence=60 unused code
bde35d61f9 depends: capnp 1.4.0
92a3d30f38 Merge bitcoin/bitcoin#34418: qa: Make wallet_multiwallet.py Windows crossbuild-compatible
abaadc3d5b Merge bitcoin/bitcoin#31774: crypto: Use secure_allocator for `AES256_ctx`
16a02bf5af Merge bitcoin/bitcoin#33451: doc: Add `INSTALL.md` to Linux release tarballs
fa050da980 test: Move event loop creation to network thread
a1f22a0a6b test: Suppress another unsolicited `mock_process/*` output
fa9168ffcd test: Use asyncio.SelectorEventLoop() over deprecated asyncio.WindowsSelectorEventLoopPolicy()
390e7d61bd Merge bitcoin/bitcoin#34787: build: fix native macOS deployment
5440280891 Merge bitcoin/bitcoin#34745: refactor: replace `ArgsManager::cs_args RecursiveMutex` with `Mutex`
fa4ec13b44 build: Enable -Wcovered-switch-default
fa2670bd4b refactor: Enable -Wswitch in exhaustive switch
5f75d90c38 Merge bitcoin/bitcoin#34813: threads: qa: Add lock order annotation for `TxMempool::cs`
f1e0245f89 Merge bitcoin/bitcoin#34818: doc: fix process name typo in multiprocess.md
c2732146d1 doc: fix process name typo in multiprocess.md
faea12ecd9 test: Fixup docs for NodeClockContext and SteadyClockContext
5608b8ce9e Merge bitcoin/bitcoin#34750: test: fix addr relay test silently passing and other improvements
fa90b21430 test: Remove unused feature_segwit.py functions
fa6b05c96f test: Remove unused CUSTOM_._COUNT
fa7bac94d8 test: Remove unused wait_for_addr, firstAddrnServices, on_addr
fa388a3585 test: Remove unused self.p2p_conn_index = 1
fa803710e2 test: Remove unused AddressType
e31ab8040f Merge bitcoin/bitcoin#34749: rpc: Refactor gettxspendingprevout to be easier to parse
fab5072ce1 ci: Remove vulture
56983a4d4d Merge bitcoin/bitcoin#34815: ci: bump cirruslabs actions versions
136132e075 Merge bitcoin/bitcoin#34776: guix: Make guix-clean more careful
d236415649 rpc: Refactor gettxspendingprevout to be easier to parse
e19df67332 Merge bitcoin/bitcoin#33144: build: Set AUTHOR_WARNING on warnings
ab64277375 Merge bitcoin/bitcoin#34708: validation: refactor: remove ConnectTrace
44ddc9c93f Merge bitcoin/bitcoin#31560: rpc: allow writing UTXO set to a named pipe
1a2f4e9750 Merge bitcoin/bitcoin#34814: lint: Temporarily revert to vulture==2.14
9a968ad35e ci: bump cirruslabs actions versions
51a4dc5515 Merge bitcoin/bitcoin#34796: rpc, net: remove `startingheight` field of `getpeerinfo` RPC and from node state
2efb8c44bb Merge bitcoin/bitcoin#34807: kernel: doc: explain return value for `btck_WriteBytes` callback
faae981d35 lint: Temporarily revert to vulture==2.14
9085dee476 qa: Add lock order annotation for TxMempool::cs
32325d1777 tests: Add test for mempool-invalid wallet tx
25e063d950 wallet: Add separate balance info for non-mempool wallet txs
ec4ec91d59 kernel: doc: explain return value for `btck_WriteBytes` callback
b19caeea09 doc: add release note for #31560 (named pipe support for `dumptxoutset` RPC)
e98d36715e Merge bitcoin/bitcoin#34802: ci: Bump GHA actions versions
61a5460d0d test: add test for utxo-to-sqlite conversion using named pipe
2e8072edbe rpc: support writing UTXO set dump (`dumptxoutset`) to a named pipe
745ad941de p2p: remove m_starting_height field from node state (only show once in debug log)
b267efcdaf rpc, net: completely remove `startingheight` field of `getpeerinfo` RPC
fadaa7db33 ci: Bump GHA actions versions
ce6f182091 Merge bitcoin/bitcoin#33902: doc: Document compiler configuration for native depends packages
e96d9e6492 Merge bitcoin/bitcoin#34389: net/log: standardize peer+addr log formatting via `LogPeer`
281c0cce73 Merge bitcoin/bitcoin#34301: wallet: remove outdated `RewriteDB` calls from SPKM & `DBErrors::NEED_REWRITE` enum value
524aa1e533 Merge bitcoin/bitcoin#34576: threadpool: add ranged Submit overload
4c07cf87e2 doc: document depends compiler configuration
f25843d8ad Merge bitcoin/bitcoin#34441: ci: Allow running iwyu CI in worktree
fa4d5891b9 refactor: Introduce TxDocOptions
b8c84ec5a6 Merge bitcoin/bitcoin#34788: fuzz: register PeerManager in process_message(s)
fa8250e961 refactor: Add and use RPCResultOptions
d03e3be246 ci: check macos bundle structure and codesigning
66d80d57b4 macdeploy: use plugins dir to find plugins
ab137cbfe2 macdeploy: subprocess out to zip rather than shutil.make_archive
b62abc7eec Merge bitcoin/bitcoin#34436: refactor: add overflow-safe `CeilDiv` helper and use it in unsigned callsites
7c21413616 Merge bitcoin/bitcoin#34755: depends: cleanup meta files
63f27721c2 Merge bitcoin/bitcoin#32985: wallet: Always rewrite tx records during migration
9df4f9d100 Merge bitcoin/bitcoin#34472: bench: add script verification benchmark for P2TR key path spends
3201abe3ea Merge bitcoin/bitcoin#34359: test: add test for rebroadcast of transaction received via p2p
410f2a0d20 Merge bitcoin/bitcoin#33772: prevector: simplify operator==
3dcba2eff0 Merge bitcoin/bitcoin#26988: cli: rework -addrinfo cli to use addresses which aren’t filtered for quality/recency
af0da2fce2 crypto: Use `secure_allocator` for `AES256CBC*::iv`
d53852be31 crypto: Use `secure_allocator` for `AES256_ctx`
8c6fedaa81 build: `lockedpool.cpp` kernel -> crypto
51ac1abf6f bench: Add wallet encryption benchmark
9a15872516 wallet: Make encryption derivation clock mockable
b97abdcdf1 Merge bitcoin/bitcoin#34766: Pre-31.x branching updates
ae5485fa0d refactor: Generalize derivation target calculation
eed3161893 Merge bitcoin/bitcoin#34792: clusterlin: update SFL comments for deterministic order
98fcd7af23 wallet: rpc: Improve error message for low feerates.
f3bf63ec4f kernel: acquire coinstats cursor and block info atomically
5e77072fa6 rpc: fix race condition in gettxoutsetinfo
730308386a Merge bitcoin/bitcoin#34696: Update embedded asmap to 1772726400 for v31
951863d022 Merge bitcoin/bitcoin#34769: doc: update http worker thread names
79571b9181 threadpool: add ranged Submit overload
fa270fdacf refactor: Return std::optional from GetProxy
faeac1a931 refactor: Return std::optional from GetNameProxy
d67c8ed788 clusterlin: update SFL comments for deterministic order
0690a5d0f2 Update embedded asmap to 1772726400
20fb7618b0 args: make most ArgsManager members private
22b40f34f3 args: replace cs_args RecursiveMutex with Mutex
3a16ec8582 test: scope cs_args locks to avoid recursive locking
70b51fef7a args: eliminate all recursive locking of cs_args
7d61e03c70 args: extract lock-requiring internal helpers
f82d076771 Merge bitcoin/bitcoin#34784: ci: use latest versions of lint deps
74f71c5054 Remove Taproot activation height
a9baf19172 Merge bitcoin/bitcoin#34789: doc: update build guides pre v31
48f26e2040 Merge bitcoin/bitcoin#34751: doc: Update asmap-data repository rule for file inclusion
6b20ad84e0 doc: update build guides pre v31
b503768819 fuzz: register PeerManager in process_message(s)
195306c359 Merge bitcoin/bitcoin#34785: ci: remove TODOs from retry
ddf2a064de Fix compatibility with `-debuglogfile` command-line option
c08f0c3c29 ci: remove TODOs from retry
9f3752c437 ci: use latest versions of lint deps
544c15ff4e Merge bitcoin/bitcoin#34759: walletdb: hash pubkey/privkey in one shot to avoid leaking secret data
9aea2905fe Merge bitcoin/bitcoin#34783: depends: link to upstream qt issue
fadb77169b test: Scale feature_dbcrash.py timeout with factor
3a83715c2a depends: link to upstream qt issue
8dcd79949f Merge bitcoin/bitcoin#34718: Release: 31.0 translations update
5f9068bdcd Merge bitcoin/bitcoin#34781: test: Remove fixed TODO in address_to_scriptpubkey
eeeeb2a0b9 fuzz: Use NodeClockContext
fa4fae6227 test: Add NodeClockContext
d21afb297c qt: 31.0 translations update
fa0587a306 test: Remove fixed TODO in address_to_scriptpubkey
46189fd526 doc: update http worker thread names
be6d24ec22 guix: Make guix-clean less destructive
d3056bc149 Merge bitcoin/bitcoin#34606: doc: clarify swapping impact on IBD performance
f201ccc800 Merge bitcoin/bitcoin#34673: contrib: Update fixed seeds pre-31.0
42f97c542d Merge bitcoin/bitcoin#34705: kernel: Use fs:: namespace and unicode path in kernel tests
7691e8a005 Merge bitcoin/bitcoin#34471: refactor: Use aliasing shared_ptr in Sock::Wait
49bd12bd89 Merge bitcoin/bitcoin#34693: doc: Use relative markdown links
aefa8e6d14 Merge bitcoin/bitcoin#34361: test: clean up tx resurrection (re-org) test in feature_block.py
3a222507fd Merge bitcoin/bitcoin#34037: wallet, doc: clarify the coin selection filters that enforce cluster count
69baddc910 validation: do not add the snapshot block to candidates of bg chainstate
501a3dd4ad walletdb: hash pubkey/privkey in one shot to avoid leaking secret data
d198635fa2 Merge bitcoin/bitcoin#34677: kernel: Chainparams and headerssync updates pre-31.0
9833ef5f86 Merge bitcoin/bitcoin#34702: doc: Fix fee field in getblock RPC result
f2f0a0ca4c Merge bitcoin/bitcoin#34700: script: Fix undefined behavior in Clone() -- std::transform writes past end of empty vector
8825051e08 refactor: improve benchmark setup and execution for various tests
83b8528ddb bench: add fluent API for untimed setup steps in `nanobench`
48b952cbb6 build: bump to 31.99
1b3d58f128 docs Remove 31.0 release notes fragments
b7cf2f87d0 docs: Update bips.md
c7a3ea2483 Merge bitcoin/bitcoin#34692: Bump dbcache to 1 GiB
8b70ed6996 Merge bitcoin/bitcoin#34521: validation: fix UB in `LoadChainTip`
0ebc6891e2 depends: delete Boost extra files
168997e9b5 depends: disable Qt sbom generation
f6d3201e14 Merge bitcoin/bitcoin#33929: test: Remove `system_tests/run_command` runtime dependencies
b5737b755d Merge bitcoin/bitcoin#34650: depends: Update Qt to version 6.8.3
c0802e20be Merge bitcoin/bitcoin#34734: test: Fix shutdown vptr race in BlockFilterIndexSync bench
2ac4f6e019 Merge bitcoin/bitcoin#34612: leveldb: remove unused files
d97df29d5d Merge bitcoin/bitcoin#34747: test: Sync mempools and wait for txospender index to be synced in rpc_gettxspendingprevout
c12be53f85 Merge bitcoin/bitcoin#34635: rpc, index: txospenderindex improve formatting, docs and test coverage
8bc62ce173 doc: Update asmap-data repository rule for file inclusion
57bfa864fe test: use static methods and clarify comment in addr_relay
7ee8c0abc6 test: protect outbound connection from eviction in getaddr_test
ecb5ce6e76 test: fix addr relay test silent pass and wrong peerinfo index
15c4889497 index: document TxoSpenderIndex::FindSpender
f8b9595aaa test: Add missing txospenderindex coverage in feature_init
9316d96240 test: sock: Enable socket pair tests on Windows
cbdb891de2 test: Wait for txospender index to be synced in rpc_gettxspendingprevout
2db5c049bb test: Sync mempools after tx creation in rpc_gettxspendingprevout
ca45461ddb Merge bitcoin/bitcoin#33986: doc: improvements to doc/descriptors.md
fc39a4f568 Merge bitcoin/bitcoin#34713: depends: Allow building Qt packages after interruption
39668f1eeb contrib: Add bash completion for new bitcoin command
32debfa1ed fuzz: set whitelist permissions on connman target
a1074d852a index, rpc, test: Misc formatting fixes
7e91060ec7 Merge bitcoin/bitcoin#34733: subprocess: replace __USING_WINDOWS__ with WIN32
69b2c813f0 Merge bitcoin/bitcoin#34591: cmake: Improve `install_name_tool` workaround
2e041b4905 help: enrich help text for `-loadblock`
f2f5619360 Merge bitcoin/bitcoin#34709: wallet, test: improve wallet functional tests
2f8f2e9001 validation: remove ConnectTrace wrapper class
083242aac8 Merge bitcoin/bitcoin#34725: fuzz: assert we accept any PSBT serialization we create
20ae9b98ea Extend functional test for setBlockIndexCandidates UB
4c40a923f0 Merge bitcoin/bitcoin#34728: test: Fix intermittent issue in wallet_assumeutxo.py
854a6d5a9a validation: fix UB in LoadChainTip
fa79098ce2 test: Fix shutdown vptr race in BlockFilterIndexSync bench
9249e6089e validation: remove LoadChainTip call from ActivateSnapshot
d76ec4de14 fuzz: make sure PSBT serialization roundtrips
faa68ed4bd test: Fix intermittent issue in wallet_assumeutxo.py
bff8a7a80d subprocess: replace __USING_WINDOWS__ with WIN32
e09b81638b Merge bitcoin/bitcoin#34219: psbt: validate pubkeys in MuSig2 pubnonce/partial sig deserialization
89386e700e kernel: Use fs:: namespace and unicode path in kernel tests
2678abe902 prevector: simplify `operator==`
01dcb2fcc5 Merge bitcoin/bitcoin#34715: test: avoid interface_ipc.py race and null pointer dereference
dc109e1b34 Merge bitcoin/bitcoin#34706: doc: Improve dependencies.md IPC documentation
0a6724aaae doc: Update Windows build notes
473e5f8efc qt: Add patch to fix SFINAE warnings in QAnyStringView with gcc16
3cb4d6066b qt: add patches to fix SFINAE errors/warnings with gcc16
d7e972a90d qt: add patch to fix build with gcc16
19693a8c91 depends: Update Qt to 6.8.3
c55584575a cmake: Fix `FindQt` module
2eaf701bc0 Merge bitcoin/bitcoin#34679: ci: Download script_assets_test.json for Windows CI
17a04039bc Merge bitcoin/bitcoin#34662: ci: use LLVM/Clang 22 in tidy job
5e35a9069d interpreter: remove clang-tidy suppression
4089682f5c ci: use Clang 22 in tidy task
7ea076f996 tidy: remove deprecated header
eb17f29aa5 tidy: clang-tidy is required
bf9ef4f043 Merge bitcoin/bitcoin#34422: Update libmultiprocess subtree to be more stable with rust IPC client
b83de7f28e validation: remove sentinel block from ConnectTrace
d8f4e7caf0 doc: add release notes
248c175e3d test: ensure `ValidateInputsStandardness` optionally returns debug string
d2716e9e5b policy: update `AreInputsStandard` to return error string
2702711c3a Merge bitcoin/bitcoin#34642: wallet: call SyncWithValidationInterfaceQueue after disconnecting chain notifications
1c1de334e9 test: avoid interface_ipc.py race and null pointer dereference
2a7a4f608a depends: Allow building Qt packages after interruption
6b0a980de9 Merge bitcoin/bitcoin#34410: test: let connections happen in any order in p2p_private_broadcast.py
a61907e5d9 doc: explain swapping in `reduce-memory.md`
5c005363a8 test: improve `wallet_backup` test
04d9515748 test: improve `wallet_assumeutxo` func test
b87a1c27c9 doc: Improve dependencies.md IPC documentation
f580cc7e9f doc: Fix `fee` field in `getblock` RPC result
4ae9a10ada doc: add release notes for dbcache bump
37d49f5de6 doc: mention Miniscript expressions inside reference
771f7642bc doc: fix typo in descriptors.md
708b84999b doc: reference descriptor BIPs in descriptors.md
8f2a869a19 doc: do not list descriptor RPCs or history
65a8b6c2ef doc: mention musig() in descriptors.md
c510d126ef doc: update dbcache default in reduce-memory.md
027cac8527 qt: show GetDefaultDBCache() in settings
5b34f25184 dbcache: bump default from 450MB -> 1024MB if enough memory
44feab23a7 script: Fix undefined behavior in Clone() -- std::transform writes past end of empty vector
4565cff72c bitcoin-gui: Implement missing Init::makeMining method
9cad97f6cd Merge bitcoin/bitcoin#34690: test: Add missing timeout_factor to zmq socket
fbea576c26 test: add interface_ipc_cli.py testing bitcoin-cli -ipcconnect
0448a19b1b ipc: Improve -ipcconnect error checking
8d614bfa47 bitcoin-cli: Add -ipcconnect option
6a54834895 ipc: Expose an RPC interface over the -ipcbind socket
df76891a3b refactor: Add ExecuteHTTPRPC function
3cd1cd3ad3 ipc: Add MakeBasicInit function
5a6dd7c693 Merge bitcoin/bitcoin#34661: ipc mining: Prevent ``Assertion `m_node.chainman' failed`` errors on early startup
779e7825db fuzz: wallet: add target for `MigrateToDescriptor`
98e8af4bb9 wallet: Drain validation interface queue after notifications disconnect
52992ebe1c interfaces: Add waitForNotifications() to call SyncWithValidationInterfaceQueue()
fa9d0623a3 doc: Use relative markdown links
ceff6771b8 Merge bitcoin/bitcoin#34583: ci: [refactor] Drop last use of pwsh
b0833b560a Merge bitcoin/bitcoin#34668: test: Add missing resolve() to valgrind.supp file for test shell
fa48f8c865 test: Add missing timeout_factor to zmq socket
3a8b4e89f6 Merge bitcoin/bitcoin#34687: ci: Set TEST_RUNNER_PORT_MIN in test-each after cirrus runner switch
286de1e7b3 Merge bitcoin/bitcoin#34093: netif: fix compilation warning in QueryDefaultGatewayImpl()
73e3853110 test: add test for rebroadcast of transaction received via p2p
fab51e470e test: Move valgrind.supp to the other sanitizer_suppressions files
fa9cf81d39 test: Add missing resolve() to valgrind.supp file
05cd3b00b9 Merge bitcoin/bitcoin#34597: util: Fix UB in SetStdinEcho when ENOTTY
3c7b0f97e0 Merge bitcoin/bitcoin#34656: doc: clarify confusing `git range-diff` add/delete output
701b8d7148 Merge bitcoin/bitcoin#34609: test: remove appveyor reference in comment
fa18be2f2b test: Fix typo
fac932698f ci: Set TEST_RUNNER_PORT_MIN in test-each after cirrus runner switch
c1361fc42d netif: fix compilation warning in QueryDefaultGatewayImpl()
b6b8f8ac55 Merge bitcoin/bitcoin#34562: ThreadPool follow-ups, proactive shutdown and HasReason dependency cleanup
8834e4e86c test: remove appveyor reference in comment
fa7612f253 ci: Download script_assets_test.json for Windows CI
bb3ac00cf8 Merge bitcoin/bitcoin#34001: test: fix test_limit_enforcement_package
107a204d24 Merge bitcoin/bitcoin#34682: ci: fix vcpkg tools cache key collision between windows matrix jobs
7777a13306 test: Move Fetching-print to download_from_url util
faf96286ce test: move-only download_from_url to stand-alone util file
17a079c2fb ci: fix vcpkg tools cache key collision between windows matrix jobs
408d5b12e8 test: include response body in non-JSON HTTP error msg
9dc653b3b4 test: threadpool, add coverage for all Submit() errors
ce2a984ee3 test: cleanup, use HasReason in threadpool_tests.cpp
d9c6769d03 test: refactor, decouple HasReason from test framework machinery
dbbb780af0 test: move and simplify BOOST_CHECK ostream helpers
3b7cbcafcb test: ensure Stop() thread helps drain the queue
ca101a2315 test: coverage for queued tasks completion after interrupt
bf2c607aaa threadpool: active-wait during shutdown
e88d274430 test: add threadpool Start-Stop race coverage
af99643454 Merge bitcoin/bitcoin#34054: net processing: Add ibd check before processing block for txdownloadman
fa0cc1c5a4 test: [doc] Remove outdated comment
44538f8ada kernel: Add recent assumeutxo snapshot info
58c2e23fca kernel: Update headerssync params
cf261b071f kernel: update chainTxData
8eaf1d26d4 kernel: update defaultAssumeValid and minimumChainWork
5ca0c55517 kernel: update assumed blockchain and chainstate sizes
fec58229fa contrib: Update fixed feeds
27fbdb009f makeseeds: Choose node info with most recent success when deduplicating
982883a1bc makeseeds: Update known user agents
707ad46696 Merge bitcoin/bitcoin#34671: doc: Update Guix install for Debian/Ubuntu
faa70ca764 doc: Update Guix install for Debian/Ubuntu
7c80301439 Merge bitcoin/bitcoin#33616: policy: don't CheckEphemeralSpends on reorg
b7ca3bf061 Squashed 'src/ipc/libmultiprocess/' changes from 1fc65008f7d..1868a84451f
8fe91f3719 test: Updates needed after bitcoin-core/libmultiprocess#240
cb15f5a317 Merge commit 'b7ca3bf061b51108d155283c1ad503c0af7eab0d' into pr/subtree-8
33fbaed310 policy: don't CheckEphemeralSpends on reorg
b9bf24cfe2 Merge bitcoin/bitcoin#34616: Cluster mempool: SFL cost model (take 2)
403523127b Merge bitcoin/bitcoin#34608: test: Fix broken --valgrind handling after bitcoin wrapper
a49f97ff4a net: Don't log own ips during discover
76eb04b16f Merge bitcoin/bitcoin#34655: fuzz: keep `coins_view` fuzzers within caller contracts
21cd1ba182 Merge bitcoin/bitcoin#34286: test: verify node state after restart in assumeutxo
f3887cf694 Merge bitcoin/bitcoin#34561: wallet: rpc: manpage: fix example missing `fee_rate` argument
8cd4a4363f threadpool: guard against Start-Stop race
9ff1e82e7d test: cleanup, block threads via semaphore instead of shared_future
f50d53c847 Merge bitcoin/bitcoin#34627: guix: use a temporary file over sponge, drop moreutils
c88c916e72 Merge bitcoin/bitcoin#34653: test: improve txospender index tests code
744d47fcee clusterlin: adopt trained cost model (feature)
4eefdfc5b7 clusterlin: rescale costs (preparation)
bbc8f1e0a7 ipc mining: Prevent ``Assertion `m_node.chainman' failed`` errors on early startup
a7cabf92e4 init refactor: Only initialize node.notifications one time
ecc9a84f85 clusterlin: use 'cost' terminology instead of 'iters' (refactor)
9e7129df29 clusterlin: introduce CostModel class (preparation)
e8f8b74a46 test: index, improve txospenderindex_initial_sync() test code
c8e332cb33 init refactor: Remove node.init accesss in AppInitInterfaces
5db78c84ad Merge bitcoin/bitcoin#34660: ci: use LLVM 22 in sanitizer tasks
fa5d478853 test: valgrind --trace-children=yes for bitcoin wrapper
fa29fb72cb test: Remove redundant warning about missing binaries
fa03fbf7e3 test: Fix broken --valgrind handling after bitcoin wrapper
bd9e0e65f5 Merge bitcoin/bitcoin#34184: mining: add cooldown to createNewBlock() immediately after IBD
a28eedb8c2 ci: use LLVM 22 in sanitizer tasks
ab8a7af742 Merge bitcoin/bitcoin#34646: Fix two issues in p2p_private_broadcast.py
9581a0a5b1 Merge bitcoin/bitcoin#34615: mempool: expose optimality of mempool to log / rpc
3281824ecf fuzz: prevent invalid `FRESH` entries and surface `BatchWrite` errors
780f460635 fuzz: avoid invalid `AddCoin` overwrites
d7e0d510f2 fuzz: make `AddCoins` query view for overwrites
b8fa6f0f70 util: introduce `TrySub` to prevent unsigned underflow
ac3bea07cd test: improve rpc_gettxspendingprevout.py code
da7f70a532 test: use port 0 for I2P addresses in p2p_private_broadcast.py
a8ebcfd34c test: let connections happen in any order in p2p_private_broadcast.py
45133c589a doc: clarify `git range-diff` add/delete output
e5f0613503 net processing: Check if we are in ibd before processing block for txdownloadman
ce8b692897 Add functional test exercising tx downloadman recently confirmed filter
c462e54f9d test: don't always assert NUM_PRIVATE_BROADCAST_PER_TX broadcasts
3710566305 test: move abortprivatebroadcast test at the end
38a7a67126 cmake: Provide `install_name_tool` stub instead of disabling it
fcaec2544b doc: release note for IPC cooldown and interrupt
1e82fa498c mining: add interrupt()
a11297a904 mining: add cooldown argument to createNewBlock()
a9e59f7d95 rpc: add optimal result to getmempoolinfo
a3fb3dd55c mempool: log if we detect a non-optimal mempool
3feabb203a leveldb: remove unused files
c86bce597a guix: use a temporary file over sponge
6202acd284 test: addrman: successive failures in the last week for IsTerrible
c68e3d2c57 doc: add release notes for Tor PoW defenses
4bae84c94a doc: add a hint to enable PoW defenses to manual hidden services
4c6798a3d3 tor: enable PoW defenses for automatically created hidden services
fb993f7604 tor, fuzz: reuse constants instead of duplicating
111864ac30 qa: Avoid duplicating output in case the diff is the same
c2e28d455a ci: Enable `wallet_multiwallet.py` in "Windows, test cross-built" job
850a80c199 qa: Disable parts of the test when running under Windows or root
fb803e3c79 qa: Test scanning errors individually
ed43ce57cc qa: Check for platform-independent part of error message
64a098a9b6 refactor(qa): Break apart ginormous run_test()
bb1aff7ed7 move-only(qa): Move wallet creation check down to others
d1a4ddb58e refactor(qa): Lift out functions to outer scopes
c811e47367 scripted-diff: self.nodes[0] => node
73cf858911 refactor(qa): Remove unused option
fa6af85634 refactor: Use static_cast<decltype(...)> to suppress integer sanitizer warning
fa692974ac util: Fix UB in SetStdinEcho when ENOTTY
97e7e79435 test: Enable `system_tests/run_command` "stdin" test on Windows
a4324ce095 test: Remove `system_tests/run_command` runtime dependencies
fa36adeb71 ci: [refactor] Drop last use of pwsh
fae31b1e2f ci: [refactor] Move github_import_vs_env to python script
fafdb8f635 ci: Allow running iwyu ci in worktree
fab73e213d ci: Reject unsafe execution of shell scripts
f611d3bdaf refactor: addrman: move consts to .h
353c660be5 bench: use deterministic `HexStr` payload
22335474d7 net: format peer+addr logs with `LogPeer`
e55ea534f7 test: add pre-`LogPeer` net log assertion
736b17c0f0 log: fix minor formatting in debug logs
9cf82bed32 log: show placeholders for missing peer fields
bb00fd2142 test: use dynamic ports and add coverage in feature_bind_port_discover
4f19508ae7 test: dont connect nodes in feature_bind_port_discover
b8827ce619 net: Fix Discover() not running when using -bind=0.0.0.0:port
80dc4359b8 cmake: Apply workaround for `install_name_tool` conditionally
a067ca3410 [doc] coin selection filters by max cluster count, not descendant
02d047fd5b refactor: add overflow-safe `CeilDiv` helper
50cf6838e6 wallet: rpc: manpage: fix example missing `fee_rate` argument
f7be5fb8fc [refactor] rename variable to clarify it is unused and cluster count
39e3295c71 test(miniscript): Check for depth rather than script size
5f36e0ff1e rpc: fix getblockstats UTXO overhead accounting
76190489e6 coins: pack `Coin` height/coinbase consistently
1f309d1aa2 coins: make `Coin::fCoinBase` a bool
d339884f1d bench: add script verification benchmark for P2TR key path spends
edc2978058 signals: use an alias for the boost::signals2 namespace
9ade3929aa signals: remove forward-declare for signals
037e58b57b signals: use forwarding header for boost signals
c6a6435ced wallet: remove `DBErrors::NEED_REWRITE` enum value
61039d72a5 wallet: remove unimplemented `RewriteDB` calls from SPKM
5af5e87646 test(miniscript): Make tested script valid
fd7c494c6b doc(miniscript): Explain why we operate on vectors
dd93362a1d bench: simplify script verification benchmark, generalize signing
faa016af54 refactor: Use aliasing shared_ptr in Sock::Wait
2150153f37 signals: Temporarily add boost headers to bitcoind and bitcoin-node builds
fd5e9d9904 signals: Use a lambda to avoid connecting a signal to another signal
da51b5e4d2 refactor(miniscript): Move keys to avoid copy
67696b207f net: extend log message to include attempted connection type
5cd57943b8 test: verify node state after restart in assumeutxo
43c528aba9 wallet, test: update `gethdkeys` functional test
6e3a0afc2f wallet: fix `gethdkeys` RPC for descriptors with partial xprvs
5b2c3960b9 test: clean up tx resurrection (re-org) test in feature_block.py
b149a28f6b depends: Do not consider `CC` environment variable when detecting system
1fea3bae5c ipc, test: Add tests for unclean disconnect and thread busy behavior
f51665bee7 psbt: validate pubkeys in MuSig2 pubnonce/partial sig deserialization
b3046cca71 doc: add release notes for #26988
e76e886581 guix: doc: zdiff3 doesn't work
ea1be38677 guix: doc: Suggest guix-install.sh --uninstall
0a8d303d66 test: fix test_limit_enforcement_package
81e763f1e5 wallet: Have GetBalance report used amount directly without two calls
675be93024 cli: modify -addrinfo to use getaddrmaninfo RPC endpoint
d62f46eed4 doc: Add `INSTALL.md` to Linux release tarballs
fa6497ba71 build: Set AUTHOR_WARNING on warnings
af041c4057 wallet: Always rewrite tx records during migration
0dc337f73d gui: Fix TransactionsView on setCurrentWallet
git-subtree-dir: libbitcoinkernel-sys/bitcoin
git-subtree-split: 0abbe35bb20cd7dae70b9a4d69e70472a9f6f680
de925455c80 Merge bitcoin/bitcoin#35141: fuzz: apply node context reset pattern to p2p_handshake
9f7b08c61ca Merge bitcoin/bitcoin#35334: test: Allow --usecli in more tests
b9f0040caf4 Merge bitcoin/bitcoin#34614: ci: Put space and non-ASCII char in scratch dir
f28cd7587b0 Merge bitcoin/bitcoin#35348: ci: switch to GitHub cache for all runners
59918de329a Merge bitcoin/bitcoin#34801: ci: Enable pipefail in 03_test_script.sh
e4f033789cc Merge bitcoin/bitcoin#35324: test: Document rare failure in test_inv_block better
033a56ccb2f Merge bitcoin/bitcoin#34342: cli: Replace libevent usage with simple http client
c03107acf50 ci: switch to GitHub cache for all runners
908cc9d30b9 Merge bitcoin/bitcoin#35344: kernel: improve BITCOINKERNEL_WARN_UNUSED_RESULT usage
e91f8713ac0 Merge bitcoin/bitcoin#35349: ci: Fix `path` input for vcpkg downloads cache
faf02674b36 refactor: Set TestNode.cli only after RPC is connected
fae376cafb0 refactor: Inline get_rpc_proxy
fa00c7c7a41 test: Allow rpc_bind.py --usecli
fa8f25118c0 refactor: Use create_new_rpc_connection in wallet_multiwallet.py
fa3ae6c7d3c test: Allow feature_shutdown.py --usecli
fa2a3683d51 test: Allow mining_getblocktemplate_longpoll.py --usecli
735b1cf4311 Merge bitcoin/bitcoin#34806: refactor: logging: Various API improvements
a56b4ead414 Merge bitcoin/bitcoin#35017: mempool: remove all subsequent tx in pkg on failure
00e9df90c85 Merge bitcoin/bitcoin#35333: qa: use NORMAL_GBT_REQUEST_PARAMS consistently in functional tests
37d7ce47c5d Merge bitcoin/bitcoin#35350: test: suppress ECONNABORTED in wait_for_rpc_connection on Windows
18c1cc65e94 kernel: improve BITCOINKERNEL_WARN_UNUSED_RESULT usage
7209eb77902 test: suppress ECONNABORTED in wait_for_rpc_connection on Windows
0553ce5ddb3 Merge bitcoin/bitcoin#35316: musig: Reject empty pubkey list in GetMuSig2KeyAggCache
e4f1e43103c ci: Fix `path` input for vcpkg downloads cache
fa99a3ccace ci: Enable pipefail in 03_test_script.sh
d61053d97be build: Drop libevent from bitcoin-cli link libraries
798d051c800 cli: Remove libevent usage
ca5483a6628 qa: use NORMAL_GBT_REQUEST_PARAMS consistently
bd0942bbd98 Merge bitcoin/bitcoin#34887: fuzz: target CDBWrapper
29400537610 Merge bitcoin/bitcoin#33223: coinselection: Tiebreak SRD eviction by weight
5ccb698f53a Merge bitcoin-core/gui#936: Remove opt-in RBF
211e1053bfd Merge bitcoin/bitcoin#32220: cmake: Get rid of undocumented `BITCOIN_GENBUILD_NO_GIT` environment variable
ecf20317cb5 Merge bitcoin/bitcoin#35270: doc: Document minimum versions for Xcode CLT and MSVC
8ee5622455c Merge bitcoin/bitcoin#35338: qa: regenerate hardcoded regtest chain for kernel lib unit tests
c6dbf3158b4 Merge bitcoin/bitcoin#35304: kernel: doc: document wipe lifecycle and best entry nullability
98f706c698a qa: regenerate hardcoded regtest chain for kernel lib unit tests
ac9aa71b7f9 mempool: remove all subsequent tx in pkg on failure
b63ef20d545 test: add fuzz harness for CDBWrapper
32169c3855f dbwrapper: accept optional testing leveldb::Env in DBParams
8d390c93fc5 dbwrapper: make max_file_size a configurable DBParams field
376e7ef07cf util: Expose IOErrorIsPermanent in sock header
b796bf44f33 Merge bitcoin/bitcoin#35228: wallet: use `outpoint` when estimating input size
3158b890e17 Merge bitcoin/bitcoin#33765: doc: update interface, --stdin flag, `signtx` (#31005)
21edcc47e23 Merge bitcoin/bitcoin#35328: test: restore assertion that tx contains exactly 2500 sigops
5d562430de9 netbase: Add timeout parameter to ConnectDirectly
fa37c6a529f test: [move-only] Extract create_new_rpc_connection
a988ac592fb cli: Add HTTPResponseHeaders class for parsing response headers
ae73b69b527 test: restore assertion that tx contains exactly 2500 sigops
a7df1bd7ca2 Merge bitcoin/bitcoin#34537: crypto: fix incorrect variable names in SHA-256 ARM intrinsics
5570b86fa7f Merge bitcoin/bitcoin#33160: bench: Add more realistic Coin Selection Bench
239424064b2 Merge bitcoin/bitcoin#35189: kernel: document validation state outputs as overwritten in-place
0358c26d427 kernel: document overwritten validation state outputs
489da5df60f Merge bitcoin/bitcoin#33856: kernel: Refactor process_block_header to return btck_BlockValidationState
fa890988889 test: Document rare failure in test_inv_block better
ce2044a91dd Merge bitcoin/bitcoin#33362: Run feature_bind_port_(discover|externalip).py in CI
2284288e9a7 Merge bitcoin/bitcoin#35279: psbt, test: remove address type restrictions in test
278b9e39df2 Merge bitcoin/bitcoin#34934: fuzz: exercise ForNode/ForEachNode callbacks in connman fuzz harness
88d9bc5aa4f kernel: Return btck_BlockValidationState from process_block_header API
ed15e14b636 Merge bitcoin/bitcoin#35193: test: avoid non-loopback network traffic from node_init_tests/init_test
4f348c2d730 Merge bitcoin/bitcoin#28802: ArgsManager: support command-specific options
c7056ff03f6 Merge bitcoin/bitcoin#34893: psbt: preserve proprietary fields when combining PSBTs
8ce84321cea musig: Reject empty pubkey list in GetMuSig2KeyAggCache
b2a3ca3df90 Merge bitcoin/bitcoin#35117: i2p: clean up SESSION CREATE error logging
7802e578c3f Merge bitcoin/bitcoin#34860: mining: always pad scriptSig at low heights, drop include_dummy_extranonce
da769855d0c test: add PSBT proprietary merge regression coverage
3f5b3c7a801 psbt: preserve proprietary fields when combining PSBTs
6189335f6bf kernel: doc: document wipe lifecycle and best entry nullability
ed1795aa172 Merge bitcoin/bitcoin#35285: bench: add benchmark for GetMappedAS()
379b9fbf036 Merge bitcoin/bitcoin#34225: refactor, key: move `CreateMuSig2{Nonce,PartialSig}` functions to `musig.{h,cpp}` module
c471c5085b2 common: Add unused UrlEncode function
9687ef1bd95 ci: Tolerate unused free functions in intermediate commits
02b2c411034 logging: use util/log.h where possible
57d7495fe5c IWYU fixes
611878b46f7 scripted-diff: logging: Drop LogAcceptCategory
34332dba2f6 util/log, logging: Provide ShouldDebugLog and ShouldTraceLog instead of a generic ShouldLog
abea304dd6d logging: Move GetLogCategory into Logger class
58113e58334 util/log: Rename LogPrintLevel_ into detail_ namespace
f69d1ae56db util/log: Provide util::log::NO_RATE_LIMIT to avoid rate limits
72e92d67df7 logging: Protect ShrinkDebugFile by m_cs
096bb0b5c05 bench: add benchmark for GetMappedAS()
b6c36704428 i2p: clean up SAM error logging
1c500b17098 test: avoid non-loopback network traffic from node_init_tests/init_test
3381855e51c doc: external signer: update interface, --stdin flag, IPC-command signtx, contains updates from #33947
ddb94fd3e10 Merge bitcoin/bitcoin#35289: fuzz: Fix timeout in `txorphan`
3142e5f8cf4 doc: Add release notes for #32220
b71cd5c1622 cmake: Skip using git when building from source tarball or as subproject
fe941938e84 cmake: Remove unnecessary `BITCOIN_GENBUILD_NO_GIT` environment variable
9a2cced23a6 cmake, refactor: Move `find_package(Git)` to `src/CMakeLists.txt`
3cab711d695 Merge bitcoin/bitcoin#35284: fuzz: use ImmediateBackgroundTaskRunner to silence DEBUG_LOCKORDER
004a7e3cfbc fuzz: Fix txorphan timeout by limiting block weight
7777a92a927 ci: Use path with spaces on windows as well
fac6c4270da ci: Put space and non-ASCII char in scratch dir
fa387598236 ci: Require $FILE_ENV
cad5f560458 Merge bitcoin/bitcoin#29136: wallet: `addhdkey` RPC to add just keys to wallets via new `unused(KEY)` descriptor
9961229360c Merge bitcoin/bitcoin#31298: rpc: combinerawtransaction now rejects unmergeable transactions
c680cfe3436 Merge bitcoin/bitcoin#35123: wallet: remove outdated arguments from chain scanning methods
a145fa881a2 Merge bitcoin/bitcoin#35156: dbwrapper: reuse scratch `DataStream` buffers
04003e1fa37 Merge bitcoin/bitcoin#35274: doc: clarify libfuzzer-nosan preset uses build_fuzz_nosan dir
5309c905422 Merge bitcoin/bitcoin#35283: doc: mention -DWITH_ZMQ=ON in BSD build guides
90eda67bb8f Remove opt-in RBF
fa3d7ce11c6 doc: Document minimum versions for Xcode CLT and MSVC
8544537f41d mining: drop unused include_dummy_extranonce option
58eeab790d9 mining: only pad with OP_0 at heights <= 16
00d22328b05 mining: pad coinbase to fix createNewBlock at heights <=16
801d36f55b6 fuzz: use ImmediateBackgroundTaskRunner to silence DEBUG_LOCKORDER
ca93ab808c4 doc: mention -DWITH_ZMQ=ON in BSD build guides
605ff37403f test: bad-cb-length for createNewBlock() at low heights
1966621b768 test: refactor IPC mining test to use script_BIP34_coinbase_height
8ba5f68b1df refactor, key: move `CreateMuSig2PartialSig` to `musig.{h,cpp}` module
d087f266fc2 refactor, key: move `CreateMuSig2Nonce` to `musig.{h,cpp}` module
f36d89f4363 key: add `GetSecp256k1SignContext` access function
0065f354a7e doc: clarify libfuzzer-nosan preset uses build_fuzz_nosan dir
81348576cc4 psbt, test: remove address type restrictions in test
82733e61dee Merge bitcoin/bitcoin#35277: ci: Enable ruff ambiguous-unicode-character checks
fe2bb43e437 Merge bitcoin/bitcoin#35044: contrib: Fix NameError in signet miner gbt()
fa9c919678c refactor: Use ignore-list over verbose select-list
cd8d3bd937b wallet: use outpoint when estimating input size
fa9b01adecc ci: Enable ruff ambiguous-unicode-character checks
09a9bb35367 Merge bitcoin/bitcoin#34547: lint: modernise lint tooling
10ca73c02cb Merge bitcoin/bitcoin#34580: build: Add a compiler minimum feature check
1af8e0c4e89 Merge bitcoin/bitcoin#35183: doc: recommend script_flags instead of deployments.taproot
f24a7b5f759 doc: recommend script_flags instead of deployments.taproot
ccbd00ab87c Merge bitcoin/bitcoin#35152: doc: clarify local IWYU workflow and pragmas
88bfe89793d Merge bitcoin/bitcoin#35227: wallet: check the final BDB page LSN during migration
21599ea612e Merge bitcoin/bitcoin#35241: cmake: Set `CTEST_NIGHTLY_START_TIME` for CDash Nightly pipelines
d406cffafdd Merge bitcoin/bitcoin#34228: depends: Unset `SOURCE_DATE_EPOCH` in `gen_id` script
4defc466a22 cmake: Set `CTEST_NIGHTLY_START_TIME` for CDash Nightly pipelines
1f28ed6b6af Merge bitcoin/bitcoin#35235: contrib: mv verify-commits/pre-push-hook.sh to maintainer tools repo
8396b7f2a3b Merge bitcoin/bitcoin#35236: doc: typo roundup
2b7f5914c42 Merge bitcoin/bitcoin#35222: cmake: add CTestConfig.cmake
888857c5514 mv contrib/verify-commits/pre-push-hook.sh to maintainer tools repo
d9b57eecadf doc: fix whitespace in build-osx.md
e7d4a7e3f9a doc: fix stale autotools reference and SQLite typo
3f9c55426a1 Merge bitcoin/bitcoin#35230: ci: Move --usecli --extended from i386 task to alpine task
fad61896e86 ci: Move --usecli --extended from i386 task to alpine task
7c84a2bdb16 Merge bitcoin/bitcoin#35219: doc: Add my key to SECURITY.md
cf5c962a39f Merge bitcoin/bitcoin#34991: test: fix feature_index_prune.py bug when using --usecli
6690117c7ac Merge bitcoin/bitcoin#35218: test: fix `P2SH` script in coins cache fuzz target
5b11108145c Merge bitcoin/bitcoin#35223: refactor: [rpc] Remove confusing and brittle integral casts (take 3)
e2b0984f995 wallet: check BDB last page LSN
fa864b937e1 refactor: [rpc] Remove confusing and brittle integral casts (take 3)
9f7a2293c48 depends: Unset `SOURCE_DATE_EPOCH` in `gen_id` script
086894098ec cmake: add CTestConfig.cmake
0651a1fc154 doc: Add Niklas Goegge's key to SECURITY.md
ac58e6c53c2 test: fix P2SH output in coins cache fuzz
aa1d0d7cd73 Merge bitcoin/bitcoin#35209: validation: correct lifetime of precomputed tx data
0429c503fb0 bench: Replace Coin Selection bench
ec1eefda774 bench: Remove unnecessary wallet parameter
e6c4ffb9560 bench: Fix type mismatch
d7ed2840acc Merge bitcoin/bitcoin#21283: Implement BIP 370 PSBTv2
1ed799fb21d validation: correct lifetime of precomputed tx data
371eac8069a fuzz: exercise ForNode/ForEachNode callbacks in connman fuzz harness
c89c8ddbb36 Merge bitcoin/bitcoin#33300: fuzz: compact block harness
4bf1701f58b Merge bitcoin/bitcoin#33796: kernel: Expose `CheckTransaction` consensus validation function
999e9dbfb43 Merge bitcoin/bitcoin#35202: ci: restore sockets in `i686, no IPC` job
224120bf129 Merge bitcoin/bitcoin#32394: net: make m_nodes_mutex non-recursive
11c9ef92a8d ci: unconfine seccomp for i686 no IPC
86718e45896 scripted-diff: rename ABEF_SAVE/CDGH_SAVE to ABCD_SAVE/EFGH_SAVE in SHA-256 ARM intrinsics
8f4a3ba8972 Merge bitcoin/bitcoin#35165: cmake: Remove NetBSD-specific workaround from `add_boost_if_needed`
b1ff4773ba7 Merge bitcoin/bitcoin#34544: wallet: Disallow wallet names that are paths including `..` and `.` elements
db98e357d3e Merge bitcoin/bitcoin#35018: wallet, bench: Use Nanobench setup() for wallet benchmarks, and remove DuplicateMockDatabase
18d003c3dcc Merge bitcoin/bitcoin#34916: contrib: override system locale in gen-manpages.py
567ff2b6d69 Merge bitcoin/bitcoin#33196: docs: clarify RPC credentials security boundary
3c2646eacc1 Merge bitcoin/bitcoin#34026: fuzz: Add tests for `CCoinControl` methods
bfbf1a7ef3e kernel: Expose btck_transaction_check consensus function
404470505a8 Merge bitcoin/bitcoin#34256: test: support `get_bind_addrs` and `feature_bind_extra` on macOS & BSD
25100fc28da Merge bitcoin/bitcoin#35186: util, iwyu: Add missed header
d28179bac90 util, iwyu: Add missed header
32e479f7a5a Merge bitcoin/bitcoin#34669: feefrac: drop comparison and operator{<<,>>} for sorted wrappers
11713c9fa91 net: make CConnman::m_nodes_mutex non-recursive
aec4fa2de00 net: drop the only recursive usage of CConnman::m_nodes_mutex
eed7af666b6 doc: Add release note for disallowing some wallet path names
3d7f0e4ed5a wallettool: Use GetWalletPath to determine the wallet path
ef499680c8d Merge bitcoin/bitcoin#34176: wallet: crash fix, handle non-writable db directories
a39cc16b434 doc: Release note for addhdkey
89b9a01b4ea wallet, rpc: Disallow importing unused() to wallets without privkeys
35bbee63746 wallet, rpc: Disallow import of unused() if key already exists
f3f8bcbd1df wallet: Add addhdkey RPC
9fa4076b20a test: Test merging implicit PSBTv0 with explicit PSBTv0
1660c18232a doc: Release notes for psbtv2
470e52a5f81 fuzz: Enforce additional version invariants in PSBT fuzzer
5bd0579c09c test: Tests for PSBT AddInput and AddOutput
b8b6e7f0c29 tests: Add PSBT unit test for ComputeTimeLock
0bc1c2e5084 tests: Add test vectors from BIP 370
e0e4dbdeb5c psbt: Change default psbt version to 2
bcc1dca77b3 Add psbt_version to PSBT RPCs and default to v2
ab38c301953 Implement PSBTv2 field merging
93e339e29ff Implement PSBTv2 AddInput and AddOutput
b39c86ae606 Allow specifying PSBT version in constructor
dcc9a3c8dfd Implement PSBTv2 in decodepsbt
5770dbd39fc Add PSBT::ComputeLockTime()
863cf47b33e Update test_framework/psbt.py for PSBTv2
925161eaf0c Implement PSBTv2 fields de/ser
d9cf658ee01 Restrict joinpsbts to PSBTv0 only
3da0e160124 Replace PSBT.tx with PSBT::GetUnsignedTx and PSBT::GetUniqueID
c568624ff29 psbt: Return std::optional from PrecomputePSBTData
092de4f1f6c Replace PSBT::GetInputUTXO with PSBTInput::GetUTXO
1d1ae6f0c4f wallet, test: Remove DuplicateMockDatabase
82bc280de47 test: Simple test for importing unused(KEY)
80c29bc6f14 descriptor: Add unused(KEY) descriptor
82c9fe31793 psbt: Use PSBTInput and PSBTOutput fields instead of accessing global tx
95897507e9e psbt: AddInput and AddOutput should take only PSBTInput and PSBTOutput
1b7d323a726 Add PSBTInput::GetOutPoint
543d3e1cdcf psbt: add PSBTv2 global tx fields
c01c7f068c5 psbt: Remove default constructor
9671aa08c2a psbt: add tx input and output fields in PSBTInput and PSBTOutput
990b084f11c Have PSBTInput and PSBTOutput know the PSBT's version
7eacc21ff67 psbt: make PSBT structs into classes
f926c326bb8 gui: Store PSBT in std::optional in PSBTOperationsDialog
1e2d146b47c psbt: Refactor duplicate key lookup and size checks
88384180d3e test: PSBTs should roundtrip through RPCs that do nothing
001877500dc test: construct psbt with unknown field programmatically
0cb884e6df8 psbt: Fill hash preimages and taproot builder from SignatureData
57820c472b4 bench: Utilize setup() for WalletLoading and use a real database
9a7604fd257 bench: Use setup() in WalletMigration to prepare the legacy wallet
426a94e7bd7 bench: Utilize setup() in WalletEncrypt to create the encryption wallet
d672455d201 bench: Utilitze setup() in WalletBalance for marking caches dirty
61412ef887f bench: Utilize setup() in WalletCreate to cleanup previous wallets
2424e528367 lint: doc: detail lint tool install methods
5fefa5a654e Don't pin Python patch version
fd15b55c2ef lint: use requirements.txt
5f4d3383daa lint: switch to ruff for formatting and linting
a53b81ce4e6 lint: switch to uv for python management in linter
fb0e8612d6f Merge bitcoin/bitcoin#35175: multi_index: fix compilation failure with boost >= 1.91
2b0dc0d2280 wallet: Disallow . and .. from wallet names
d084bc88beb doc: clarify IWYU workflow
7c7cec45678 ci: update IWYU patch reference
cef58341a0b Merge bitcoin/bitcoin#32876: refactor: use options struct for signing and PSBT operations
75cf9708a05 ci: add one more routable address to the VMs (docker containers)
1b93983bf5c test: make feature_bind_port_(discover|externalip).py auto-detect the skip condition
0bc9d354dfd multi_index: fix compilation failure with boost >= 1.91
eab72d14d79 refactor: use SignOptions for MutableTransactionSignatureCreator
5ed41752c5a refactor: use SignOptions for SignTransaction
dc4a5d1270f refactor: use PSBTFillOptions for filling and signing
032223f403d dbwrapper: reuse iterator scratch stream
7403c0f907d dbwrapper: guard `CDBBatch` scratch streams
cb1ab0a7168 test: cover repeated dbwrapper stream use
31ce729b28e streams: add `ScopedDataStreamUsage`
85921521866 Merge bitcoin/bitcoin#34911: rpc, mempool: -deprecatedrpc fullrbf and bip125-replaceable from mempool RPCs
c8d688f41cc fuzz: send blocktxn messages in cmpctblock harness
d0333bfe990 fuzz: send compact blocks in cmpctblock harness
3c58efe2acf fuzz: mine blocks and send headers for them in cmpctblock harness
651622432d2 fuzz: create and send transactions in cmpctblock harness
8c9a3fd0e87 net, fuzz: move CMPCTBLOCK_VERSION to header, use in cmpctblock harness
6cd480f62f6 fuzz: initial compact block fuzz harness
ad3f73862bd Merge bitcoin/bitcoin#35149: doc: clarify clang-tidy in developer notes
f40da7afc03 Merge bitcoin/bitcoin#35153: doc: update llvm based coverage example
e2ef54b8ba8 cmake: Remove NetBSD-specific workaround from `add_boost_if_needed`
6d86184a8bc rpc: combinerawtransaction now rejects unmergeable transactions
a7bea426b4a Merge bitcoin/bitcoin#35143: kernel: guard btck::Handle move-assignment against self-move
08925d5ee75 test: add coverage for loading a wallet in a non-writable directory
0218966c0dc test: add coverage for wallet creation in non-writable directory
bc0090f1d60 wallet: handle non-writable db directories
0abbe35bb20 Merge bitcoin/bitcoin#35148: refactor: Remove confusing DataStream::in_avail() alias
6322c1697d8 Merge bitcoin/bitcoin#33920: Export embedded ASMap RPC
28a523fb94d Merge bitcoin/bitcoin#35097: util: Return uint64_t from _MiB and _GiB operators
ef21e292988 doc: update llvm based coverage example
fa43da21f19 refactor: Run ShouldWarnOversizedDbCache calculation in u64
fa5801762e3 util: Return uint64_t from _MiB and _GiB operators
a1e534bbf07 doc: clarify clang-tidy in developer notes
a49bc1e24e6 ci: add --extended when using --usecli
fa204100e14 streams: Remove confusing DataStream::in_avail()
fa5ab0220e0 move-only: Extract ProcessPong() helper
8deed0df066 doc: add release notes for PR 34911
1a85ca1dff1 rpc, mempool: rpcdeprecate `bip125-replaceable` key in mempool RPCs reponses
f89d18c3b1c rpc, mempool: rpcdeprecate `fullrbf` key in getmempoolinfo RPC response
2d5ab09f0dc Merge bitcoin/bitcoin#35124: bench: fix benchmark fixtures and setup checks
1aef4d53ff0 Merge bitcoin/bitcoin#34885: kernel: expose btck_block_tree_entry_get_ancestor
e6430b27734 bench: make `setup()` use single-iteration epochs
ba0078e3bf1 bench: fix ephemeral spend inputs
b8b7f896e8f bench: drop duplicate balance benchmark
290e48fbf0a Merge bitcoin/bitcoin#35128: dbwrapper: avoid copying `CDBIterator` keys in `GetKey()`
904c0d07bb3 util/stdmutex: Drop StdLockGuard
f17cd18d02b Merge bitcoin/bitcoin#35116: net: cleanup SOCKS5 auth logging
fa9ddb01c96 test: Use MiB operator directly in cuckoocache_tests
14547eb4892 kernel: guard btck::Handle move-assignment against self-move
8a843a1b7c0 Merge bitcoin/bitcoin#34865: logging: better use of log::Entry internally
cd7865b0ce1 Merge bitcoin/bitcoin#33671: wallet: Add separate balance info for non-mempool wallet txs
0cbd2202943 Merge bitcoin/bitcoin#34440: refactor: Change CChain methods to use references, add tests
bb908999558 Merge bitcoin/bitcoin#34435: refactor: use `_MiB`/`_GiB` consistently for byte conversions
8a05adc5f81 Merge bitcoin/bitcoin#35138: doc: add missed advisory to 31.0 rel notes
c95968f780c doc: add missed advisory to 31.0 rel notes
3f09a4703f4 Merge bitcoin/bitcoin#35132: doc: update release process to mention security advisories pre-announcements
89af67d79f2 tests: Add some fuzz test coverage for command-specific args
92df7858592 tests: Add some test coverage for ArgsManager::AddCommand
33c8090be95 ArgsManager: automate checking for correct command options
186354a0d8a bitcoin-wallet: use command-specific options
d21e82b7d64 ArgsManager: support command-specific options
1a4371cc3d5 Merge bitcoin/bitcoin#34882: refactor: Use NodeClock::time_point in more places
4abc0c2e047 doc: update release process to mention security advisories pre-announcements
875faa29e16 Merge bitcoin/bitcoin#35087: tor: limit torcontrol line size that is processed to prevent OOM
2a90b6132a5 Add release notes for exportasmap
8cb2d926b4f rpc: Add exportasmap RPC
e32bc7f817e Merge bitcoin/bitcoin#35025: refactor: use `SpanReader` in deserialization benchmarks
13c8df4d5a9 refactor: replace `DataStream` with `SpanReader` in block deserialization tests
2529f255554 refactor: use `SpanReader` in `PrevectorDeserialize`
b8eb6c2081a refactor: use `SpanReader` in `TestBlockAndIndex`
61d678a6e35 refactor: use `DataStream::clear` in `::read` and `::ignore`
5de2f97a052 dbwrapper: use `SpanReader` for iterator keys
f0e498af5c0 test: cover failed `CDBIterator::GetKey()` deserialization
d3a40dd9de0 Merge bitcoin/bitcoin#35127: fuzz: remove redundant CScript method calls from script harness
dfe5d6a81dc fuzz: apply node context reset pattern to p2p_handshake
c9d8582235a fuzz: remove redundant CScript method calls from script harness
89e7c4274c6 Merge bitcoin/bitcoin#31449: coins,refactor: Reduce `getblockstats` RPC UTXO overhead estimation
6b3dd6314fb Merge bitcoin/bitcoin#34863: test: Clean shutdown in Socks5Server
64a88c8c1ed Merge bitcoin/bitcoin#35096: kernel: align height parameters to int32_t in btck API
dc84a310143 wallet: remove fUpdate argument from AddToWalletIfInvolvingMe
94845df073a wallet: remove update_tx argument from SyncTransaction
6e796e1f473 wallet: remove fUpdate argument from ScanForWalletTransactions
54e4c0be8f1 wallet: remove update argument from RescanFromTime method
0c0f75eaaf1 Merge bitcoin/bitcoin#35091: doc: archive release notes for v31.0
5c50a033094 Merge bitcoin/bitcoin#35006: cli, rpc: add -rpcid option for custom request IDs
b6d1b65062a Merge bitcoin/bitcoin#34908: rpc, refactor: gettxoutsetinfo race condition fix follow-ups
af0ee28eb62 refactor: use _MiB consistently for Mebibyte conversions
b3edd30aa24 util: add _GiB for Gibibyte conversions
7c75244adef Change pindexMostWork parameter of ActivateBestChainStep() to reference
c5eb283bca7 Change CChain::FindFork() to take ref
20b58e281ad Change CChain::Next() to take reference
fe2d6e25e03 Change CChain::Contains() to take reference
db56bcd6927 test: Add CChain::FindFork() tests
8333abdd916 test: Add CChain basic tests
3bf3b6d59ab net: log SOCKS5 auth before sending
b2debc9276d net: cleanup SOCKS5 auth logging
ad0545ba967 Merge bitcoin/bitcoin#35024: ci: Mitigate network issues in native Windows job
a51ec89e0c6 Merge bitcoin/bitcoin#35099: ci: drop `-lstdc++` from msan fuzz job
963ea38c0c8 Merge bitcoin/bitcoin#35038: bench: add script verification benchmark for P2TR script-path spends
0bdf21022ce Merge bitcoin/bitcoin#35089: test: Allow to set height in create_block
ac9ce25b5f0 Merge bitcoin/bitcoin#34425: test: Fix all races after a socket is closed gracefully
2f9aa400d9f Merge bitcoin/bitcoin#33032: wallet, test: Replace MockableDatabase with in-memory SQLiteDatabase
378e17f7035 Merge bitcoin/bitcoin#33477: Rollback for dumptxoutset without invalidating blocks
654556e631d Merge bitcoin/bitcoin#35086: test: interface_http follow-ups
9fe5896a446 tor: torcontrol disconnect on too many lines to avoid OOM
8b68287bf9a test: Make torcontrol max line length test stricter and test boundaries.
c5ec2d53130 logging: replace FormatLogStrInPlace with Format
3b92ec20362 logging: replace BufferedLog with log::Entry
07b9b13b45f doc: add integer type conventions in btck api remarks
f49a2afd94c test: interface_http follow-ups
ba6287a4493 kernel: align height parameters to int32_t in btck API
df44afdc983 kernel: expose btck_block_tree_entry_get_ancestor
8115001cd4c logging: pass log::Entry through to logging functions
b414913c73e util: add timestamp and thread_name to log::Entry
8a55b17751a util: make SourceLocation constructor explicit
b02d6b0567a ci: drop -lstdc++ usage in msan fuzz job
655a39ee148 ci: use llvm 22.1.3
1fa34f90a2f Merge bitcoin/bitcoin#35095: doc: fix typos and minor formatting issues
bdc8e496dab doc: fix typos and formatting in CONTRIBUTING, i2p, bitcoin-conf, files
ab5889796f7 refactor: torcontrol add connection checks to restart_with_mock
e7d647388c2 Merge bitcoin/bitcoin#34923: depends: remove workaround for Make older than 4.2.90
c4361e53cdb Merge bitcoin/bitcoin#34757: guix: re-enable riscv exported symbol checking
fa16bc53d79 test: Require named arg for create_block ntime arg
fab352053d6 test: Remove unused create_coinbase imports
fad6deb3cb2 scripted-diff: Use new create_block height option
fa5eb74b967 test: Allow to set height in create_block
c54f37c1ba9 cli, rpc: add -rpcid option for custom request IDs
4d040b7d623 doc: archive release notes for v31.0
44ac0c32b9e Merge bitcoin/bitcoin#34401: kernel: add serialization method for btck_BlockHeader API
53f4743c215 Merge bitcoin/bitcoin#35080: test: Add missing self.options.timeout_factor scale in tool_bitcoin_chainstate.py
edcf84c73ab Merge bitcoin/bitcoin#35077: kernel: build: remove unused serfloat dependency
fa02eb87df0 test: Add missing self.options.timeout_factor scale in tool_bitcoin_chainstate.py
49895b9cbd1 kernel: build: remove unused serfloat dependency
577a3e74c82 test: Add check for return type in `HasToBytes` concept
1ad551281aa kernel: Add Block Header serialization method
86662623ec2 Add `SpanWriter` class for zero-allocation stream writing
fbffe8a64a9 bench: improve `VerifyNestedIfScript` benchmark precision (make stack clearing untimed)
616ee6fe74e bench: add script verification benchmark for P2TR script-path spends
7844a2f0830 Merge bitcoin/bitcoin#34772: test: modernize interface_http and cover more libevent behavior
6ac49373aac test: Add clean shutdown to Socks5Server
976985eccd5 Merge bitcoin/bitcoin#34124: validation: make `CCoinsView` a pure virtual interface
09c0e377899 ci: Rename vcpkg binary cache entity to force rebuild
fa1015bbcb1 refactor: Use NodeClock::time_point for m_connected
7aa033d3d4a Merge bitcoin/bitcoin#34773: test: migrate functional test equality asserts to `assert_equal`
34c3279d25e Merge bitcoin/bitcoin#34623: Update secp256k1 subtree to latest master
7e3e22e1f7d Merge bitcoin/bitcoin#35047: doc: fix typo 'parlor' to 'parlance' in developer-notes
ea893cff07d doc: fix typo 'parlor' to 'parlance' in developer-notes
701bc2dc02f contrib: Fix NameError in signet miner gbt()
eff9e798b95 coinselection: Tiebreak SRD eviction by weight
58dccd27e11 Merge bitcoin/bitcoin#34858: test: Use NodeClockContext in more tests
fe3d2be1d67 Merge bitcoin/bitcoin#32757: net: Fix Discover() not running when using -bind=0.0.0.0:port
7015f709203 Merge bitcoin/bitcoin#34886: test: Rework Single Random Draw coin selection tests
7c6f1ab654a Merge bitcoin/bitcoin#35032: net_processing: don't modify addrman for private broadcast connections
94f1d35145c Merge bitcoin/bitcoin#34922: test: Use BasicTestingSetup when sufficient
dc930910838 ci: Cache `vcpkg/downloads` folder in native Windows CI job
88bbf2ad33b ci, refactor: Reuse primary key in `actions/cache/save`
141fbe4d530 Merge bitcoin/bitcoin#34884: validation: remove unused code in FindMostWorkChain
1ed1a124028 net_processing: don't modify addrman for private broadcast connections
2b541eeb363 Merge bitcoin/bitcoin#34495: Replace boost signals with minimal compatible implementation
f8ab0b778c7 Merge bitcoin/bitcoin#34905: Update string and net utils for future HTTP operations
b7f9178976b Update secp256k1 subtree to latest master
dfd54c959ef Squashed 'src/secp256k1/' changes from 57315a6985..7262adb4b4
ab304b0ef24 Merge bitcoin/bitcoin#35031: ci: Match `VCPKG_HOST_TRIPLET` to `VCPKG_TARGET_TRIPLET`
80572c75556 Merge bitcoin/bitcoin#34158: torcontrol: Remove libevent usage
8783cc8056d refactor: inline `CCoinsViewBacked` implementation
86296f276d1 coins: make `CCoinsView` methods pure virtual
b637566c8d0 coins: add explicit `CoinsViewEmpty` noop backend
90c635c01cf fuzz: keep backend assertions aligned to active backend
a9f92e34975 refactor: normalize CCoinsView whitespace and signatures
38a99f33444 scripted-diff: normalize `CCoinsView` naming
06172ef0d50 refactor: rename `hashBlock` to `m_block_hash` to avoid shadowing
0e712b3812d Make DynSock accepted sockets queue optional, with precise lifetime
3de02abf3f7 util/test: Add string_view constructor to LineReader and remove StringToBuffer
b0ca400612d string: replace AsciiCaseInsensitiveKeyEqual with CaseInsensitiveEqual
81720992931 util: get number of bytes consumed from buffer by LineReader
ba01b00d45a refactor: use for loops in FindMostWorkChain
aa0eef735b1 test: add InvalidateBlock/ReconsiderBlock asymmetry test
1b0b3e2c2cb validation: remove redundant marking in FindMostWorkChain
c74c6cfd840 ci: Match `VCPKG_HOST_TRIPLET` to `VCPKG_TARGET_TRIPLET`
d2844c6a4ff Merge bitcoin/bitcoin#35014: test: remove macOS REDUCE_EXPORTS exception workaround
858a0a9c96b test: Add SRD maximum weight tests
fe9f53bf0b2 test: Add SRD success tests
2840f041c5e test: Rework SRD insufficient balance test
64ab97466f7 Test: Add new minimum to tested feerates
65900f8dc6e test: Init coin selection params with feerate
82235bbf2b5 Merge bitcoin/bitcoin#34988: rpc: fix initialization-order-fiasco by lazy-init of decodepsbt_inputs
b555a0b789f test: remove macOS REDUCE_EXPORTS exception workaround
1d7edee34c1 Merge bitcoin/bitcoin#34977: Update libmultiprocess subtree to fix test timeout
2af003ae372 test: Use BasicTestingSetup when TestingSetup is not necessary
9ee77701ddb refactor(test): Only specify TestChain100Setup in test cases
d868667fdc5 Merge bitcoin/bitcoin#34985: fuzz: remove GetDescriptorChecksum from string harness
66b4e30ec80 Merge commit '7a6d210989af56a03d7efa79f1f3a90047bb88fe' into 2026/04/libmultiprocess-subtree
7a6d210989a Squashed 'src/ipc/libmultiprocess/' changes from 70f632bda8..3edbe8f67c
422ca211ec0 test: ensure HTTP server enforces limits on headers and body size
485ebad1ee9 Merge bitcoin/bitcoin#33385: contrib: Add bash completion for new bitcoin command
3fd68a95e68 scripted-diff: replace remaining Python test equality asserts
301b1d7b1fa test: add missing `assert_equal` imports
06a4176c420 test: convert truthy asserts in `wallet_miniscript` and `rpc_psbt`
d9a3cf20a49 test: convert simple equality asserts in excluded files
23c06d4e6d0 test: convert equality asserts with comments or special chars
dcd90fbe54c test: prep manual equality assert conversions
4f4516e3f6c test: split equality asserts joined by `and`
76a5570b368 test: use `in` for two-value equality asserts
996e4f7edd6 Merge bitcoin/bitcoin#35001: validation: Remove stale `BlockManager` param from `ContextualCheckBlockHeader`
b730dc3301f Merge bitcoin/bitcoin#34208: bench: add fluent API for untimed `setup` steps in nanobench
0c1a07e8901 test: ensure HTTP server timeout is not caused by a delayed response
f06de5c1ea6 test: clean up and modernize interface_http
1950da94fce test: enable `rpc_bind` on macOS and BSD
7236a055035 test: enable `feature_bind_extra` on macOS and BSD
74e75180886 Merge bitcoin/bitcoin#34989: doc: remove stale shortid collision TODO
8edb13dbdd5 Merge bitcoin/bitcoin#34967: doc: Discourage trailing doxygen comments, and fix the broken ones
19e99be011b guix: remove riscv exclusion from symbol check
47b7a9f6668 guix: binutils 2.46.0
851152e42a4 validation: Remove stale BlockManager param in ContextualCheckBlockHeader
a7c30da1f6f Merge bitcoin/bitcoin#34873: net: fix premature stale flagging of unpicked private broadcast txs
1401011f71c test: Add test for exceeding max line length in torcontrol
84c1f320710 test: Add torcontrol coverage for PoW defense enablement
7dff9ec2989 test: Add test for partial message handling in torcontrol
569383356ec test: Add simple functional test for torcontrol
4117b92e67c fuzz: Improve torcontrol fuzz test
b1869e9a2db torcontrol: Move tor controller into node context
eae193e7502 torcontrol: Remove libevent usage
242b0ebb5ca btcsignals: use a single shared_ptr for liveness and callback
b12f43a0a82 signals: remove boost::signals2 from depends and vcpkg
a4b16079837 signals: remove boost::signals2 mentions in linters and docs
375397ebd94 signals: remove boost includes where possible
091736a153c signals: re-add forward-declares to interface headers
9958f4fe491 Revert "signals: Temporarily add boost headers to bitcoind and bitcoin-node builds"
34eabd77a23 signals: remove boost compatibility guards
e60a0b9a22f signals: Add a simplified boost-compatible implementation
63c68e2a3f9 signals: add signals tests
d517fa0a948 rpc: fix initialization-order-fiasco by lazy-init of decodepsbt_inputs
f1e14dfbe9b depends: remove workaround for Make older than 4.2.90
5603ae0ffa3 test: fix send_batch_request to pass callables when using --usecli
fa1f4feac4b Merge bitcoin/bitcoin#34965: cli: Return more helpful authentication errors
4b989627316 Merge bitcoin/bitcoin#34448: ci, iwyu: Fix warnings in `src/util` and treat them as errors
59199fa5eaa Merge bitcoin/bitcoin#33908: kernel: add context‑free block validation API (`btck_check_block_context_free`) with POW/Merkle flags
fc736013a59 rpc: Add in_memory option to dumptxoutset with rollback
d0fd7189485 test: Extend named pipe sqlite tool test to use rollback
ab9463efac7 test: Add dumptxoutset fork test
49d5e835a87 rpc: Don't invalidate blocks in dumptxoutset
fe58eb98507 blockstorage: Add DeletePruneLock
037ea2c714c walletdb: Remove m_mock from SQLiteDatabase
59484e2fdbd wallet: Make Mockable{Database,Batch} subclasses of SQLite classes
b69f989dc53 wallet, bench: Use TestingSetup in CoinSelection benchmark
e7d67c9fd9a test: Make duplicating MockableDatabases use cursor and batch
964eafb71c1 bench, wallet: Make WalletMigration's setup WalletBatch scoped
facaeb9c762 doc: Discourage trailing doxygen comments, and fix the broken ones
8cc690ea9bc Merge bitcoin/bitcoin#34379: wallet: fix `gethdkeys` RPC for descriptors with partial xprvs
194f57109de Merge bitcoin/bitcoin#34976: lint: Clarify rmtree/remove_all error message with preferred alternatives
fc9987dfc64 doc: remove stale shortid collision TODO
1189702d2f4 Merge bitcoin/bitcoin#34982: kernel: Remove NONNULL annotation from destroy method
52c3381fa8f Merge bitcoin/bitcoin#33506: test: sock: Enable all socket tests on Windows
24609389a42 Merge bitcoin/bitcoin#34986: docs: remove duplicate ///@} from bitcoinkernel.h
7abf6f6fb61 docs: remove duplicate ///@} from bitcoinkernel.h
91cd0e3aaa4 fuzz: remove GetDescriptorChecksum from string harness
75608547b46 kernel: Remove NONNULL annotation from destroy method
fa955af6181 lint: Clarify rmtree/remove_all error message with preferred alternatives
8e789322c5a Merge bitcoin/bitcoin#34944: guix: Clean up module list in manifest
8b461c530e9 Merge bitcoin/bitcoin#34956: depends, qt: Fix build on aarch64 macOS 26.4
aeb667f6b7d Merge bitcoin/bitcoin#33343: help: enrich help text for `-loadblock`
0831173c017 Merge bitcoin/bitcoin#34640: wallet: rpc: Improve error message for low feerates.
d0ed369b3b4 Merge bitcoin/bitcoin#34049: rpc: Disallow captures in RPCMethodImpl
5deed3deabf Merge bitcoin/bitcoin#34958: test: mining: add coverage for GBT's "coinbasevalue" result field
54fa356365a Merge bitcoin/bitcoin#34957: policy: remove incorrect `MANDATORY_SCRIPT_VERIFY_FLAGS` comment
4757b71aa79 Merge bitcoin/bitcoin#34938: refactor: Return std::optional over bool+mut&
257769a7ce8 qa: Improve error message
20a94c1524c cli: Clearer error messages on authentication failure
84c3f8d325e refactor(rpc): GenerateAuthCookieResult -> AuthCookieResult
fa244b984c0 refactor: Use NodeClock::time_point for m_last_send/recv and m_ping_start
fa2605b2047 refactor: Use NodeClock::time_point for CNetMessage::m_time
c97ac44c34e Merge bitcoin/bitcoin#32297: bitcoin-cli: Add -ipcconnect option
a846a7c805c Merge bitcoin/bitcoin#34811: doc: update cjdns.md for current cjdns installation and peering
12c3c3f81d5 test: mining: add coverage for GBT's "coinbasevalue" result field
8b49e2dd4ee ci, iwyu: Fix warnings in `src/util` and treat them as errors
6953363be8c refactor: Move license info into new module
eb750d277bc iwyu: Remove workaround for issue that has been fixed upstream
5fa6898818c policy: remove incorrect MANDATORY_SCRIPT_VERIFY_FLAGS comment
3aeccb7d739 depends, qt: Fix build on aarch64 macOS 26.4
f6e6fad0d9d Merge bitcoin/bitcoin#34867: wallet: document importdescriptors error object fields
0e2122c62eb Merge bitcoin/bitcoin#32875: index: handle case where pindex_prev equals chain tip in NextSyncBlock()
550f603025a Merge bitcoin/bitcoin#34382: test: wallet: Check fallbackfee default argument behavior.
b0f68f0a3a3 Merge bitcoin/bitcoin#34804: Update libmultiprocess subtree to fix race conditions on disconnects
325f743eedd guix: Clean up module list in manifest
fabab69e9e8 refactor: Return std::optional from ParseDouble
fa0a09441d2 refactor: Return std::optional from GetWalletNameFromJSONRPCRequest
fafb0c4cbe4 refactor: Return std::optional from GetLogCategory
826819a5108 Merge bitcoin/bitcoin#34939: fuzz: Use CAmount for storing best_waste
2b6af628b14 Merge bitcoin/bitcoin#34491: ci: add FreeBSD Clang cross job
e602ad62d04 Merge bitcoin/bitcoin#34919: test: script: boundary at exactly 65535 bytes must use OP_PUSHDATA2
954374d4058 Merge bitcoin/bitcoin#34926: test: Replace DEBUG_LOG_OUT with -printtoconsole=1
890a09b1e49 fuzz: Use CAmount for storing best_waste
fae807ed255 test: Remove unused, confusing and brittle connect_nodes.wait_for_connect
fab27726478 test: Fix all races after a socket is closed gracefully
fa21edddb27 test: Stricter checks in rpc_setban.py
faa404e119c test: Add is_connected_to helper
613a5486488 Merge commit '2478a15ef966cc93d47dd0f461a44be39bc51534' into pr/subtree-9
2478a15ef96 Squashed 'src/ipc/libmultiprocess/' changes from 1868a84451f..70f632bda8f
fa644e625b0 refactor: Use NodeClock::duration for m_last_ping_time/m_min_ping_time/m_ping_wait
333316f6bee doc: Fix typo "eviction criterium" -> "eviction criterion"
fa54fb01295 refactor: gui: Accept up to nanoseconds in formatDurationStr, but clarify they are ignored
fab88884b73 refactor: Avoid manual chrono casts with * or /
facfce37f62 util: Add NodeClock::epoch alias
fa41e072b3b refactor: Use NodeClock alias over deprecated GetTime
4f8bd396f8a Merge bitcoin/bitcoin#34913: fuzz: Use time helpers in node_eviction
21da421b42d Merge bitcoin/bitcoin#34439: qa: Drop recursive deletes from test code, add lint checks.
8a8edc8d882 Merge bitcoin/bitcoin#34741: refactor: Return std::optional from GetNameProxy/GetProxy
a5609fc249b Merge bitcoin/bitcoin#34458: net: Don't log own ips during discover
261d229455e test: Replace DEBUG_LOG_OUT with -printtoconsole=1
3dcdb2b9ba1 test: wallet: Warning for excessive fallback fee.
6664e41e56a test: wallet: -fallbackfee default is 0
d28c989243d test: wallet: refactor: fallbackfee extract common send failure checks.
99f99c989e7 Merge bitcoin/bitcoin#34918: fuzz: [refactor] Remove unused g_setup pointers
fde37778ba6 Merge bitcoin/bitcoin#34915: doc: archive release notes for v28.4
6d54365c3ef Merge bitcoin/bitcoin#34920: wallet: drop stale TODOs
fa1ebde1adf fuzz: Use time helpers in node_eviction
325afe664d1 net: delay stale evaluation and expose time_added in private broadcast
1438165b1fb wallet: drop stale TODOs
fabbfec3b00 fuzz: Remove unused g_setup pointers
f8996746393 test: script: boundary at exactly 65535 bytes must use OP_PUSHDATA2
758f208cc17 contrib: override system locale in gen-manpages.py
5a81d73a810 scripted-diff: rpc: Don't pointlessly capture in RPCMethod lambdas
4e789299af7 scripted-diff: rpc: Rename RPCHelpMan to RPCMethod
3e089038aae doc: archive release notes for v28.4
2fe76ed8324 Merge bitcoin/bitcoin#34896: ci: Upgrade IWYU to 0.26 compatible with Clang 22
c61c504f273 Merge bitcoin/bitcoin#34883: ci: vcpkg-specific cleanups
0d1301b47a3 test: functional: drop rmtree usage and add lint check
8bfb422de83 test: functional: drop unused --keepcache argument
a7e4a59d6df qa: Remove all instances of `remove_all` except test cleanup
38886a67108 Merge bitcoin/bitcoin#34786: validation: do not add the snapshot to candidates set of the background chainstate
6b99a3e4f0e doc: update cjdns.md for current upstream changes
0587c56091f kernel: Expose context-free block validation
bfc84eb2eaf Merge bitcoin/bitcoin#33259: rpc, logging: add backgroundvalidation to getblockchaininfo
1ef71660294 Merge bitcoin/bitcoin#34891: doc: Note that generateblock does not collect transaction fees
4ecf473c361 Merge bitcoin/bitcoin#34727: test: Add IPC wake-up test and reuse mining context
3129d4a6934 ci: Rename `TIDY_LLVM_V` to `IWYU_LLVM_V` in IWYU-specific code
71f827c3c2b kernel: Expose consensus parameters (`btck_ConsensusParams`)
999d18ab1ca net: introduce TxSendStatus internal state container
667e081a2a4 Merge bitcoin/bitcoin#34598: bench: use larger payload in HexStrBench
25f69d970a4 release note
af629821cf9 test: add background validation test for getblockchaininfo
a3d6f32a396 rpc, log: add backgroundvalidation to getblockchaininfo
5b2e4c4a88c log: update progress calculations for background validation
3e5dc610353 rpc, refactor: gettxoutsetinfo race condition fix follow-ups
400aa68b4aa Merge bitcoin/bitcoin#34809: threadsafety: Add STDLOCK() macro for StdMutex
fa73ed467cb refactor: Fix redundant conversion to std::string and then to std::string_view [performance-string-view-conversions]
16613c9de98 Merge bitcoin/bitcoin#34857: test: Remove confusing assert_debug_log in wallet_reindex.py
65379bb8d0e ci: add FreeBSD cross CI job
f44191f1637 depends: build qrencode for Freebsd
7f7018738e9 depends: FreeBSD cross with Clang
6464f140818 depends: disable inotify in Freebsd Qt build
fbabe861907 Merge bitcoin/bitcoin#34870: wallet: feebumper, fix crash when combined bump fee is unavailable
696b5457c5a Merge bitcoin/bitcoin#34667: test: ensure FastWalletRescanFilter is correctly updated during scanning
9a03ba1e3a9 Merge bitcoin/bitcoin#34888: wallet: fix amount computed as boolean in coin selection
8444efbd4a0 refactor: Get rid of unnecessary newlines in logs
6bcb60354e6 refactor: Modernize member variable names in torcontrol
a36591d1948 refactor: Use constexpr in torcontrol where possible
1a1f584360c Merge bitcoin/bitcoin#29963: depends: Do not consider `CC` environment variable for detecting system
28b93af19da Merge bitcoin/bitcoin#33414: tor: enable PoW defenses for automatically created hidden services
8d2f06853ac sync: Use StdMutex for thread safety annotations
cbc231ed8ee scripted-diff: logging: Switch from StdLockGuard to STDLOCK
f808786f48e logging: Add missing thread safety annotations
e196cf26e0e util/stdmutex.h: Add STDLOCK() and improve annotation checking for StdMutex
a703c70bb82 Merge bitcoin/bitcoin#34589: ci: Temporarily use clang in valgrind tasks
cdaf2f20ae0 Merge bitcoin/bitcoin#34850: depends: Remove no longer necessary `dsymutil`
3d1b7d0f6a9 Merge bitcoin/bitcoin#34639: iwyu: Document or remove some `pragma: export` and other improvements
559df68240b Merge bitcoin/bitcoin#34878: depends: Fix cross-compiling on macOS for Windows
999c42484f7 Merge bitcoin-core/gui#815: Bugfix on TransactionsView - Disable if privacy mode is set during wallet selection
0b489886f85 ci: Upgrade IWYU to 0.26 compatible with Clang 22
0026b330c4a wallet: fix amount computed as boolean in coin selection
31365599235 doc: Note that generateblock does not collect transaction fees
483769c0461 Merge bitcoin/bitcoin#26201: Remove Taproot BIP 9 deployment
2d5cedfe129 ci: Switch to VS-vendored vcpkg instance
ad75b147b5c test: scale IPC mining wait timeouts by timeout_factor
e7a918b69a5 test: verify IPC error handling for invalid coinbase
63684d6922e test: move make_mining_ctx to ipc_util.py
4ada575d6c6 test: verify createNewBlock wakes promptly when tip advances
0fe6fccec27 doc: Document rationale for using `IWYU pragma: export`
cfa3b10d50d iwyu, doc: Document `IWYU pragma: export` for `<logging/categories.h>`
015bea05e6a iwyu, doc: Document `IWYU pragma: export` for `<chrono>`
48bfcfedec0 iwyu, doc: Document `IWYU pragma: export` for `<threadsafety.h>`
179abb387f4 refactor: Move `StdMutex` to its own header
9aa5b3c3a33 ci: Switch to `x64-windows-release` triplet
65882fa68f7 ci: Remove upstreamed vcpkg workaround
19c94747426 Merge bitcoin/bitcoin#34791: test: Suppress another unsolicited `mock_process/*` output
7a9304f8872 depends: Fix cross-compiling on macOS for Windows
faad08e59c4 test: Use NodeClockContext in more tests
fa8fe0941ed fuzz: Use NodeClockContext
6e295d8ad5f Merge bitcoin/bitcoin#34059: refactor: Use NodeClock::time_point for m_addr_token_timestamp
fa9f434df89 test: Allow time_point in boost checks
faaea7895fd refactor: Use current_time over redundant call to Now()
3333c5023f7 refactor: Use NodeClock::time_point for m_addr_token_timestamp
f80bf5128d7 Merge bitcoin/bitcoin#34869: tests: applied PYTHON_GIL to the env for every test
b425a81f070 Merge bitcoin/bitcoin#34868: scripted-diff: Rename `WAIT_TIMEOUT` to `TEST_WAIT_TIMEOUT`
d14293c3a92 Merge bitcoin/bitcoin#34859: ci: Retry on intermittent Windows generate download failures
d58e0ad0a42 Merge bitcoin/bitcoin#33215: Fix compatibility with `-debuglogfile` command-line option
93e8bcc077e Merge bitcoin/bitcoin#32442: doc: guix: Troubleshooting zdiff3 issue and uninstalling.
14053d85207 Merge bitcoin/bitcoin#34550: guix: update time-machine to c5eee3336cc1d10a3cc1c97fde2809c3451624d3
bc1c5409205 Merge bitcoin/bitcoin#29060: Policy: Report debug message why inputs are non standard
3ca3e519b64 Merge bitcoin/bitcoin#34684: refactor: Enable -Wswitch in exhaustive switch'es, Enable -Wcovered-switch-default
b14f2c76a1f tests: applied PYTHON_GIL to the env for every test
6d2952c3c35 serialize: Add missing `<span>` header
6072a2a6a1f wallet: feebumper, fix crash when combined bump fee is unavailable
c53021b0ec4 Merge bitcoin/bitcoin#34499: miniscript: Use valid script in test, etc (#31713 follow-ups)
3c9e4219423 Merge bitcoin/bitcoin#34846: kernel: Add API getter functions for timelock fields (`nLockTime`, `nSequence`)
658e68f95b1 scripted-diff: Rename `WAIT_TIMEOUT` to `TEST_WAIT_TIMEOUT`
445143bfc67 wallet: document structured importdescriptors errors
c0d3d493a97 Merge bitcoin/bitcoin#34704: validation: Explicitly move blocks to validation signals
7e18e2b16ff Merge bitcoin/bitcoin#32624: fuzz: wallet: add target for `MigrateToDescriptor`
3a4a863d191 Merge bitcoin/bitcoin#34823: threading: never require logging from sync.h (take 2)
4169e72d9ed Merge bitcoin/bitcoin#34451: rpc: fix race condition in gettxoutsetinfo
fa71c6e84c1 ci: Avoid intermittent Windows generate download failures
fa30951af5b test: Remove confusing assert_debug_log in wallet_reindex.py
a7514c1aa91 Merge bitcoin/bitcoin#34848: cmake: Migrate away from deprecated SQLite3 target
81bf3ebff7e Merge bitcoin/bitcoin#34852: test: Fix intermittent issue in feature_assumeutxo.py
d81b562fcaf Merge bitcoin/bitcoin#34799: rpc: Run type check on decodepsbt result
33eaf910bd9 Merge bitcoin/bitcoin#34820: test: Use asyncio.SelectorEventLoop() over deprecated asyncio.WindowsSelectorEventLoopPolicy(), move loop creation
faf71d6cb49 test: [refactor] Use verbosity=0 named arg
99996f6c06d test: Fix intermittent issue in feature_assumeutxo.py
5cf6ea24d35 Merge bitcoin/bitcoin#34479: fuzz: Add and use NodeClockContext
578525d31d4 depends: Remove no longer necessary `dsymutil`
ca85b8c22d3 Merge bitcoin/bitcoin#34742: fuzz: set whitelist permissions on connman target
d6f680b4275 validation: Move block into BlockDisconnected signal
4d02d2b316a validation: Move block into BlockConnected signal
8b0fb64c024 validation: Move validation signal events to task runner
498b6eb6b5e cmake: Migrate away from deprecated SQLite3 target
fa70b9ebaa4 ci: Temporarily use clang in valgrind tasks
faf3ef4ee79 ci: Clarify why valgrind task has gui disabled
9f28120a5bf kernel: Add API function for getting a tx input's nSequence
6b64b181d5a kernel: Add API function for getting a tx's nLockTime
2104282ddde fuzz: Add tests for CCoinControl methods
43b09b993d0 fuzz: Improve oracle for existing CCoinControl tests
04480c25583 Merge bitcoin/bitcoin#34830: fuzz: set fSuccessfullyConnected in connman harness
3293e9a61fd guix: document when GCC SSA gen patch can be removed
978023fd9ea guix: use latest glibc 2.31
ab9a98b1e46 guix: combine gcc-libgcc-patches with base-gcc
2276426bb1b guix: switch to upstream python-oscrypto package
feea2a850ea ci: use LIEF 0.17.5 in lint job
a7524f57ba5 guix: switch to upstream python-lief package
2bf97e813d9 guix: switch to upstream osslsigncode package
dc0ddab389f guix: drop CMake workaround
31eb46f054f guix: update to c5eee3336cc1d10a3cc1c97fde2809c3451624d3
0f323e10759 guix: add --no-same-owner to TAR_OPTIONS
dc104cc3335 Merge bitcoin/bitcoin#34832: lint: detect arch for mlc binary
db3c25cfae1 index: add explicit early exit in NextSyncBlock() when the input is the chain tip
551875360cd ci: Use arch-appropriate binaries in lint install
52e8c1ce32a Merge bitcoin/bitcoin#34825: depends: capnp 1.4.0
8d551546554 Merge bitcoin/bitcoin#34602: test: addrman: successive failures in the last week for IsTerrible
bac8046fcee Merge bitcoin/bitcoin#34831: lint: remove excluded files from whitespace check
79467e3ec7c threading: never require logging from sync.h
f55c891a65e lint: more reuse of SHARED_EXCLUDED_SUBTREES
8864917d8bc lint: add missing ipc/test to grep_boost_fixture_test_suite
ecefc129277 lint: fix lint issue in lint script
ee8c22eb6a4 contrib: fix whitespace issues in scripts
fa55723b8fb move-only: Extract ProcessAddrs() helper
92287ae7539 test/wallet: ensure FastWalletRescanFilter is updated during scanning
04e21183729 lint: remove excluded .cpp/.h files from whitespace check
685a44c6012 fuzz: set fSuccessfullyConnected in connman harness
fadf901fd4b rpc: Run type check on decodepsbt result
ff7cdf633e3 Merge bitcoin/bitcoin#34816: test: Remove vulture from ci, Remove some --min-confidence=60 unused code
bde35d61f93 depends: capnp 1.4.0
92a3d30f382 Merge bitcoin/bitcoin#34418: qa: Make wallet_multiwallet.py Windows crossbuild-compatible
abaadc3d5bb Merge bitcoin/bitcoin#31774: crypto: Use secure_allocator for `AES256_ctx`
16a02bf5af4 Merge bitcoin/bitcoin#33451: doc: Add `INSTALL.md` to Linux release tarballs
ac1ccc5bd91 build: Add CTAD feature check
9f273f1c1c5 build: Add path to doc recommended versions for CLANG, GCC and MSVC
fa050da9805 test: Move event loop creation to network thread
a1f22a0a6b9 test: Suppress another unsolicited `mock_process/*` output
fa9168ffcd6 test: Use asyncio.SelectorEventLoop() over deprecated asyncio.WindowsSelectorEventLoopPolicy()
390e7d61bd5 Merge bitcoin/bitcoin#34787: build: fix native macOS deployment
5440280891b Merge bitcoin/bitcoin#34745: refactor: replace `ArgsManager::cs_args RecursiveMutex` with `Mutex`
fa4ec13b44d build: Enable -Wcovered-switch-default
fa2670bd4b5 refactor: Enable -Wswitch in exhaustive switch
5f75d90c388 Merge bitcoin/bitcoin#34813: threads: qa: Add lock order annotation for `TxMempool::cs`
f1e0245f891 Merge bitcoin/bitcoin#34818: doc: fix process name typo in multiprocess.md
c2732146d14 doc: fix process name typo in multiprocess.md
faea12ecd9f test: Fixup docs for NodeClockContext and SteadyClockContext
5608b8ce9e0 Merge bitcoin/bitcoin#34750: test: fix addr relay test silently passing and other improvements
fa90b21430b test: Remove unused feature_segwit.py functions
fa6b05c96ff test: Remove unused CUSTOM_._COUNT
fa7bac94d87 test: Remove unused wait_for_addr, firstAddrnServices, on_addr
fa388a35855 test: Remove unused self.p2p_conn_index = 1
fa803710e27 test: Remove unused AddressType
e31ab8040fc Merge bitcoin/bitcoin#34749: rpc: Refactor gettxspendingprevout to be easier to parse
fab5072ce13 ci: Remove vulture
56983a4d4d1 Merge bitcoin/bitcoin#34815: ci: bump cirruslabs actions versions
136132e075f Merge bitcoin/bitcoin#34776: guix: Make guix-clean more careful
d236415649e rpc: Refactor gettxspendingprevout to be easier to parse
e19df67332d Merge bitcoin/bitcoin#33144: build: Set AUTHOR_WARNING on warnings
ab642773757 Merge bitcoin/bitcoin#34708: validation: refactor: remove ConnectTrace
44ddc9c93f0 Merge bitcoin/bitcoin#31560: rpc: allow writing UTXO set to a named pipe
1a2f4e9750d Merge bitcoin/bitcoin#34814: lint: Temporarily revert to vulture==2.14
9a968ad35ef ci: bump cirruslabs actions versions
51a4dc5515f Merge bitcoin/bitcoin#34796: rpc, net: remove `startingheight` field of `getpeerinfo` RPC and from node state
2efb8c44bbf Merge bitcoin/bitcoin#34807: kernel: doc: explain return value for `btck_WriteBytes` callback
faae981d354 lint: Temporarily revert to vulture==2.14
9085dee476d qa: Add lock order annotation for TxMempool::cs
32325d17777 tests: Add test for mempool-invalid wallet tx
25e063d950a wallet: Add separate balance info for non-mempool wallet txs
ec4ec91d59b kernel: doc: explain return value for `btck_WriteBytes` callback
b19caeea098 doc: add release note for #31560 (named pipe support for `dumptxoutset` RPC)
e98d36715ea Merge bitcoin/bitcoin#34802: ci: Bump GHA actions versions
61a5460d0d6 test: add test for utxo-to-sqlite conversion using named pipe
2e8072edbeb rpc: support writing UTXO set dump (`dumptxoutset`) to a named pipe
745ad941ded p2p: remove m_starting_height field from node state (only show once in debug log)
b267efcdaf8 rpc, net: completely remove `startingheight` field of `getpeerinfo` RPC
fadaa7db335 ci: Bump GHA actions versions
ce6f1820910 Merge bitcoin/bitcoin#33902: doc: Document compiler configuration for native depends packages
e96d9e6492c Merge bitcoin/bitcoin#34389: net/log: standardize peer+addr log formatting via `LogPeer`
281c0cce73e Merge bitcoin/bitcoin#34301: wallet: remove outdated `RewriteDB` calls from SPKM & `DBErrors::NEED_REWRITE` enum value
524aa1e5331 Merge bitcoin/bitcoin#34576: threadpool: add ranged Submit overload
4c07cf87e22 doc: document depends compiler configuration
f25843d8ad0 Merge bitcoin/bitcoin#34441: ci: Allow running iwyu CI in worktree
fa4d5891b96 refactor: Introduce TxDocOptions
b8c84ec5a62 Merge bitcoin/bitcoin#34788: fuzz: register PeerManager in process_message(s)
fa8250e961c refactor: Add and use RPCResultOptions
d03e3be246f ci: check macos bundle structure and codesigning
66d80d57b48 macdeploy: use plugins dir to find plugins
ab137cbfe27 macdeploy: subprocess out to zip rather than shutil.make_archive
b62abc7eecb Merge bitcoin/bitcoin#34436: refactor: add overflow-safe `CeilDiv` helper and use it in unsigned callsites
7c214136162 Merge bitcoin/bitcoin#34755: depends: cleanup meta files
63f27721c2a Merge bitcoin/bitcoin#32985: wallet: Always rewrite tx records during migration
9df4f9d1003 Merge bitcoin/bitcoin#34472: bench: add script verification benchmark for P2TR key path spends
3201abe3eac Merge bitcoin/bitcoin#34359: test: add test for rebroadcast of transaction received via p2p
410f2a0d205 Merge bitcoin/bitcoin#33772: prevector: simplify operator==
3dcba2eff0f Merge bitcoin/bitcoin#26988: cli: rework -addrinfo cli to use addresses which aren’t filtered for quality/recency
af0da2fce21 crypto: Use `secure_allocator` for `AES256CBC*::iv`
d53852be316 crypto: Use `secure_allocator` for `AES256_ctx`
8c6fedaa818 build: `lockedpool.cpp` kernel -> crypto
51ac1abf6fd bench: Add wallet encryption benchmark
9a158725161 wallet: Make encryption derivation clock mockable
b97abdcdf13 Merge bitcoin/bitcoin#34766: Pre-31.x branching updates
ae5485fa0d2 refactor: Generalize derivation target calculation
eed31618937 Merge bitcoin/bitcoin#34792: clusterlin: update SFL comments for deterministic order
98fcd7af23f wallet: rpc: Improve error message for low feerates.
f3bf63ec4f0 kernel: acquire coinstats cursor and block info atomically
5e77072fa60 rpc: fix race condition in gettxoutsetinfo
730308386a4 Merge bitcoin/bitcoin#34696: Update embedded asmap to 1772726400 for v31
951863d022b Merge bitcoin/bitcoin#34769: doc: update http worker thread names
79571b91813 threadpool: add ranged Submit overload
fa270fdacf5 refactor: Return std::optional from GetProxy
faeac1a931e refactor: Return std::optional from GetNameProxy
d67c8ed7889 clusterlin: update SFL comments for deterministic order
0690a5d0f27 Update embedded asmap to 1772726400
20fb7618b00 args: make most ArgsManager members private
22b40f34f33 args: replace cs_args RecursiveMutex with Mutex
3a16ec8582b test: scope cs_args locks to avoid recursive locking
70b51fef7af args: eliminate all recursive locking of cs_args
7d61e03c701 args: extract lock-requiring internal helpers
f82d0767713 Merge bitcoin/bitcoin#34784: ci: use latest versions of lint deps
74f71c5054f Remove Taproot activation height
a9baf19172d Merge bitcoin/bitcoin#34789: doc: update build guides pre v31
48f26e2040c Merge bitcoin/bitcoin#34751: doc: Update asmap-data repository rule for file inclusion
6b20ad84e0a doc: update build guides pre v31
b5037688192 fuzz: register PeerManager in process_message(s)
195306c359f Merge bitcoin/bitcoin#34785: ci: remove TODOs from retry
ddf2a064deb Fix compatibility with `-debuglogfile` command-line option
c08f0c3c29b ci: remove TODOs from retry
9f3752c4377 ci: use latest versions of lint deps
544c15ff4e2 Merge bitcoin/bitcoin#34759: walletdb: hash pubkey/privkey in one shot to avoid leaking secret data
9aea2905fe2 Merge bitcoin/bitcoin#34783: depends: link to upstream qt issue
fadb77169be test: Scale feature_dbcrash.py timeout with factor
3a83715c2ad depends: link to upstream qt issue
8dcd79949f1 Merge bitcoin/bitcoin#34718: Release: 31.0 translations update
5f9068bdcd1 Merge bitcoin/bitcoin#34781: test: Remove fixed TODO in address_to_scriptpubkey
eeeeb2a0b90 fuzz: Use NodeClockContext
fa4fae6227a test: Add NodeClockContext
d21afb297cd qt: 31.0 translations update
fa0587a3064 test: Remove fixed TODO in address_to_scriptpubkey
46189fd5264 doc: update http worker thread names
be6d24ec22c guix: Make guix-clean less destructive
d3056bc149f Merge bitcoin/bitcoin#34606: doc: clarify swapping impact on IBD performance
f201ccc8003 Merge bitcoin/bitcoin#34673: contrib: Update fixed seeds pre-31.0
42f97c542db Merge bitcoin/bitcoin#34705: kernel: Use fs:: namespace and unicode path in kernel tests
7691e8a005a Merge bitcoin/bitcoin#34471: refactor: Use aliasing shared_ptr in Sock::Wait
49bd12bd890 Merge bitcoin/bitcoin#34693: doc: Use relative markdown links
aefa8e6d148 Merge bitcoin/bitcoin#34361: test: clean up tx resurrection (re-org) test in feature_block.py
3a222507fd4 Merge bitcoin/bitcoin#34037: wallet, doc: clarify the coin selection filters that enforce cluster count
69baddc9103 validation: do not add the snapshot block to candidates of bg chainstate
501a3dd4ad4 walletdb: hash pubkey/privkey in one shot to avoid leaking secret data
d198635fa2d Merge bitcoin/bitcoin#34677: kernel: Chainparams and headerssync updates pre-31.0
9833ef5f861 Merge bitcoin/bitcoin#34702: doc: Fix fee field in getblock RPC result
f2f0a0ca4cd Merge bitcoin/bitcoin#34700: script: Fix undefined behavior in Clone() -- std::transform writes past end of empty vector
8825051e084 refactor: improve benchmark setup and execution for various tests
83b8528ddb1 bench: add fluent API for untimed setup steps in `nanobench`
48b952cbb67 build: bump to 31.99
1b3d58f128a docs Remove 31.0 release notes fragments
b7cf2f87d0c docs: Update bips.md
c7a3ea24830 Merge bitcoin/bitcoin#34692: Bump dbcache to 1 GiB
8b70ed69960 Merge bitcoin/bitcoin#34521: validation: fix UB in `LoadChainTip`
0ebc6891e21 depends: delete Boost extra files
168997e9b57 depends: disable Qt sbom generation
f6d3201e141 Merge bitcoin/bitcoin#33929: test: Remove `system_tests/run_command` runtime dependencies
b5737b755de Merge bitcoin/bitcoin#34650: depends: Update Qt to version 6.8.3
c0802e20be2 Merge bitcoin/bitcoin#34734: test: Fix shutdown vptr race in BlockFilterIndexSync bench
2ac4f6e019b Merge bitcoin/bitcoin#34612: leveldb: remove unused files
d97df29d5d5 Merge bitcoin/bitcoin#34747: test: Sync mempools and wait for txospender index to be synced in rpc_gettxspendingprevout
c12be53f850 Merge bitcoin/bitcoin#34635: rpc, index: txospenderindex improve formatting, docs and test coverage
8bc62ce173d doc: Update asmap-data repository rule for file inclusion
57bfa864fe6 test: use static methods and clarify comment in addr_relay
7ee8c0abc62 test: protect outbound connection from eviction in getaddr_test
ecb5ce6e76e test: fix addr relay test silent pass and wrong peerinfo index
15c4889497b index: document TxoSpenderIndex::FindSpender
f8b9595aaa9 test: Add missing txospenderindex coverage in feature_init
9316d96240f test: sock: Enable socket pair tests on Windows
cbdb891de23 test: Wait for txospender index to be synced in rpc_gettxspendingprevout
2db5c049bb3 test: Sync mempools after tx creation in rpc_gettxspendingprevout
ca45461ddb2 Merge bitcoin/bitcoin#33986: doc: improvements to doc/descriptors.md
fc39a4f5686 Merge bitcoin/bitcoin#34713: depends: Allow building Qt packages after interruption
39668f1eebd contrib: Add bash completion for new bitcoin command
32debfa1ed8 fuzz: set whitelist permissions on connman target
a1074d852a7 index, rpc, test: Misc formatting fixes
7e91060ec77 Merge bitcoin/bitcoin#34733: subprocess: replace __USING_WINDOWS__ with WIN32
69b2c813f0e Merge bitcoin/bitcoin#34591: cmake: Improve `install_name_tool` workaround
2e041b4905a help: enrich help text for `-loadblock`
f2f56193606 Merge bitcoin/bitcoin#34709: wallet, test: improve wallet functional tests
2f8f2e90011 validation: remove ConnectTrace wrapper class
083242aac81 Merge bitcoin/bitcoin#34725: fuzz: assert we accept any PSBT serialization we create
20ae9b98eab Extend functional test for setBlockIndexCandidates UB
4c40a923f00 Merge bitcoin/bitcoin#34728: test: Fix intermittent issue in wallet_assumeutxo.py
854a6d5a9a0 validation: fix UB in LoadChainTip
fa79098ce2a test: Fix shutdown vptr race in BlockFilterIndexSync bench
9249e6089ec validation: remove LoadChainTip call from ActivateSnapshot
d76ec4de148 fuzz: make sure PSBT serialization roundtrips
faa68ed4bdc test: Fix intermittent issue in wallet_assumeutxo.py
bff8a7a80d2 subprocess: replace __USING_WINDOWS__ with WIN32
e09b81638ba Merge bitcoin/bitcoin#34219: psbt: validate pubkeys in MuSig2 pubnonce/partial sig deserialization
89386e700eb kernel: Use fs:: namespace and unicode path in kernel tests
2678abe902c prevector: simplify `operator==`
01dcb2fcc58 Merge bitcoin/bitcoin#34715: test: avoid interface_ipc.py race and null pointer dereference
dc109e1b343 Merge bitcoin/bitcoin#34706: doc: Improve dependencies.md IPC documentation
0a6724aaae9 doc: Update Windows build notes
473e5f8efcd qt: Add patch to fix SFINAE warnings in QAnyStringView with gcc16
3cb4d6066b8 qt: add patches to fix SFINAE errors/warnings with gcc16
d7e972a90d5 qt: add patch to fix build with gcc16
19693a8c914 depends: Update Qt to 6.8.3
c55584575a9 cmake: Fix `FindQt` module
2eaf701bc0d Merge bitcoin/bitcoin#34679: ci: Download script_assets_test.json for Windows CI
17a04039bc5 Merge bitcoin/bitcoin#34662: ci: use LLVM/Clang 22 in tidy job
5e35a9069d6 interpreter: remove clang-tidy suppression
4089682f5cf ci: use Clang 22 in tidy task
7ea076f996d tidy: remove deprecated header
eb17f29aa57 tidy: clang-tidy is required
bf9ef4f0433 Merge bitcoin/bitcoin#34422: Update libmultiprocess subtree to be more stable with rust IPC client
b83de7f28e7 validation: remove sentinel block from ConnectTrace
d8f4e7caf0d doc: add release notes
248c175e3dc test: ensure `ValidateInputsStandardness` optionally returns debug string
d2716e9e5bc policy: update `AreInputsStandard` to return error string
2702711c3a5 Merge bitcoin/bitcoin#34642: wallet: call SyncWithValidationInterfaceQueue after disconnecting chain notifications
1c1de334e9c test: avoid interface_ipc.py race and null pointer dereference
2a7a4f608a4 depends: Allow building Qt packages after interruption
6b0a980de94 Merge bitcoin/bitcoin#34410: test: let connections happen in any order in p2p_private_broadcast.py
a61907e5d9c doc: explain swapping in `reduce-memory.md`
5c005363a88 test: improve `wallet_backup` test
04d95157485 test: improve `wallet_assumeutxo` func test
b87a1c27c99 doc: Improve dependencies.md IPC documentation
f580cc7e9f2 doc: Fix `fee` field in `getb…
This updates the currently embedded data ahead of the v31 release.
It currently uses the map from the 1772726400 run
The attestation process to accompany these runs is still rather new but sigs are collected here: https://github.com/asmap/asmap.sigs/tree/main/1772726400