Skip to content

test: restore JSONRPCException error format#35385

Merged
fanquake merged 1 commit into
bitcoin:masterfrom
rkrux:jsonrpcexception
May 29, 2026
Merged

test: restore JSONRPCException error format#35385
fanquake merged 1 commit into
bitcoin:masterfrom
rkrux:jsonrpcexception

Conversation

@rkrux

@rkrux rkrux commented May 26, 2026

Copy link
Copy Markdown
Contributor

This is a follow-up to PR #34575.

@DrahtBot DrahtBot added the Tests label May 26, 2026
@DrahtBot

DrahtBot commented May 26, 2026

Copy link
Copy Markdown
Contributor

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Code Coverage & Benchmarks

For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/35385.

Reviews

See the guideline for information on the review process.

Type Reviewers
ACK maflcko

If your review is incorrectly listed, please copy-paste <!--meta-tag:bot-skip--> into the comment that the bot should ignore.

Comment thread test/functional/test_framework/util.py Outdated
This is a follow-up to PR 34575.

Copy is done so that checking of error["code"] in test_node.py
while handling this exception doesn't fail.

Co-authored-by: maflcko <6399679+maflcko@users.noreply.github.com>
@rkrux rkrux force-pushed the jsonrpcexception branch from 57758b0 to ac09260 Compare May 29, 2026 11:33
@maflcko

maflcko commented May 29, 2026

Copy link
Copy Markdown
Member

lgtm ACK ac09260

This asserts that required Keys must be present, which makes sense.

Also, the output looks a bit nicer now:

Before:

test_framework.util.JSONRPCException: {'code': -1, 'message': 'Internal bug detected: Unreachable code reached (non-fatal)\nrpc/blockchain.cpp:1618 (auto getchaintips()::(anonymous class)::operator()(const RPCMethod &, const JSONRPCRequest &) const)\nBitcoin Core v31.99.0-13b7fffc5e06-dirty\nPlease report this issue here: https://github.com/bitcoin/bitcoin/issues\n'} [http_status=200]

After:

test_framework.util.JSONRPCException: Internal bug detected: Unreachable code reached (non-fatal)
rpc/blockchain.cpp:1618 (auto getchaintips()::(anonymous class)::operator()(const RPCMethod &, const JSONRPCRequest &) const)
Bitcoin Core v31.99.0-13b7fffc5e06-dirty
Please report this issue here: https://github.com/bitcoin/bitcoin/issues
 (-1)  [http_status=200]

@rkrux

rkrux commented May 29, 2026

Copy link
Copy Markdown
Contributor Author

I don't know why the Alpine musl job fails here.

It fails to download the log archive and the raw logs don't load fully in my browser.

@maflcko

maflcko commented May 29, 2026

Copy link
Copy Markdown
Member

Fixed in #35379. Can be ignored here.

@fanquake fanquake merged commit a3dc44c into bitcoin:master May 29, 2026
26 of 27 checks passed
alexanderwiederin added a commit to alexanderwiederin/rust-bitcoinkernel that referenced this pull request Jun 24, 2026
…fc352cb

d84fc352cb Merge bitcoin/bitcoin#35550: net_processing: fix BIP152 first integer interpretation
fafff08e1f Merge bitcoin/bitcoin#35403: mining: pr 33966 followups (disentangle miner startup defaults)
e12db0902b Merge bitcoin/bitcoin#34411: Full Libevent removal
fa8e4700ba Merge bitcoin/bitcoin#35424: doc, wallet: align external signer documentation, reject sendtoaddress/sendmany
146b3adfaa doc: remove libevent
96d7f55f1d vcpkg: remove libevent
0443943dc0 ci: remove libevent
a0ca249f3f depends: remove libevent
35d2d06797 cmake: remove libevent
6b58eb6d51 Merge bitcoin/bitcoin#35070: validation: prevent FindMostWorkChain from causing UB
6d8e15dff0 Merge bitcoin/bitcoin#35571: ci: use warp docker buildkit cache
33e3c7524f Merge bitcoin/bitcoin#35521: fuzz: Speed up `dbwrapper_concurrent_reads` harness
9c20859b5f Merge bitcoin/bitcoin#35182: Replace libevent with our own HTTP and socket-handling implementation
48df0939e7 fuzz: Remove unnecessary thread pool mutexes
a4c3b003f8 fuzz: Speed up dbwrapper_concurrent_reads harness
61020b36c5 doc: add release note for #35182 replace libevent HTTP server
39e9099da5 logging: deprecate libevent category
8c1eea0777 http: remove libevent usage from this subsystem
e427c227fa fuzz: switch http_libevent::HTTPRequest to http_bitcoin::HTTPRequest
21c7542cf8 http: switch servers from libevent to bitcoin
cbb8d1fb33 HTTPServer: disconnect after idle timeout (-rpcservertimeout)
e5f242eef3 HTTPServer: implement control methods to match legacy API
2ca645c2e4 refactor: split HTTPBindAddresses into config parse and libevent setup
fec6b6bca8 refactor: split http_request_cb into libevent callback and dispatch
f946ff5a0b Add helper methods to HTTPRequest to match original API
dd11b5e01b define HTTP request methods at module level outside of class
7ee7df988e HTTPServer: use a queue to pipeline requests from each connected client
5ef1b80a09 Allow http workers to send data optimistically as an optimization
a69bb9e1e6 HTTPServer: disconnect clients
cdf71998e5 HTTPServer: compose and send replies to connected clients
6734bcdeff HTTPserver: support "chunked" Transfer-Encoding
80e1cfe5a2 HTTPServer: read requests from connected clients
3c5226ab96 HTTPServer: start an I/O loop in a new thread and accept connections
4ef4ebdc0c http: Introduce HTTPRemoteClient class
a85286c5c7 HTTPServer: generate sequential Ids for each newly accepted connection
5a3aa1af28 HTTPServer: implement and test AcceptConnection()
f5bc018948 http: Introduce HTTPServer class and implement binding to listening socket
9463e98781 http: Implement HTTPRequest class
ad50aa4a0f http: Implement HTTPResponse class
68b5d289d1 http: Implement HTTPHeaders class
89c54ae4cb http: enclose libevent-dependent code in a namespace
5aa3629b48 util/string: LineReader should only trim \r or \r\n
0cdbb191b5 util/string: use string_view in LineReader
881d4b6c75 test: cover common HTTP attacks and common malformed requests
08a25a7231 Merge bitcoin/bitcoin#35465: coins: compact chainstate regularly
27262a2884 Merge bitcoin/bitcoin#35559: scripted-diff: Rename SteadyClockContext to FakeSteadyClock
ea626c268a Merge bitcoin/bitcoin#35560: lint: Require scripted-diff script to succeed (take 2)
c0922f78af Merge bitcoin/bitcoin#35567: depends: latest config.guess & config.sub
b552f1713a ci: use warp docker buildkit cache
1a2523e901 Merge bitcoin/bitcoin#34937: Fix startup failure with RLIM_INFINITY fd limits
5883ba77ea Merge bitcoin/bitcoin#34764: rpc: replace ELISION references with explicit result fields
f6939fd13d Merge bitcoin/bitcoin#35564: Update secp256k1 subtree to latest master
61c754ae99 Merge bitcoin/bitcoin#35512: wallet: move fAbortRescan reset into WalletRescanReserver reserve function
794befd4b0 Merge bitcoin/bitcoin#35384: util: Check write failures before renaming settings.json
8f0354995b depends: latest config.guess & config.sub
0e95e1abdb Merge bitcoin/bitcoin#35437: migrate: Handle HD chains that have identical seeds but different IDs
fab2874269 lint: Require scripted-diff script to succeed
9caae50682 Update secp256k1 subtree to latest upstream
1f3f0a4e22 Squashed 'src/secp256k1/' changes from 7262adb4b4..bd0287d650
855a3fee88 scripted-diff: Rename SteadyClockContext to FakeSteadyClock
341360964a Merge bitcoin/bitcoin#35549: argsman: Fix duplicate option assertion to allow HIDDEN category registration
abc33ff043 test: announce field must be 0 or 1 in sendcmpct
2d0dce0af5 net_processing: fix BIP152 first integer interpretation
f963f2b675 argsman: allow duplicate registration between HIDDEN and other categories
0654511e1b util: Check write failures before renaming settings.json
1e169a8a6c Merge bitcoin/bitcoin#35548: doc: updated ci docs to reflect removal of REPO_USE_WARP_RUNNERS flag
f570d7cd53 Merge bitcoin/bitcoin#35547: lint: Require scripted-diff script to succeed
744d495019 ci: updated docs to reflect removal of REPO_USE_WARP_RUNNERS flag
2a36d6a561 lint: Require scripted-diff script to succeed
0f156c16e8 Merge bitcoin/bitcoin#35470: argsman: Prevent duplicate option registration across categories
09ba59ff6b Merge bitcoin/bitcoin#35540: test: descriptor: bare multisig at TOP level with exactly 3 pubkeys is allowed
0e475098cd Merge bitcoin/bitcoin#35463: depends: Drop trailing slash from `CMAKE_INSTALL_LIBDIR`
0136e17c0a Merge bitcoin/bitcoin#35546: ci: Use GCC consistently in i686 task
fae482b4e6 ci: Use GCC consistently in i686 task
32df86f1d8 argsman: Prevent duplicate option registration across categories
a30ef6b91f Merge bitcoin/bitcoin#35396: ci: Rewrite broken wrap-valgrind.sh to .py
55a4c946f6 test: descriptor: bare multisig at TOP level with 3 pubkeys is allowed
9460090f1a Merge bitcoin/bitcoin#35520: lint: remove redundant test suite uniqueness check
61a0305422 Merge bitcoin/bitcoin#35526: ci: bump MSan fuzz timeout from 150 to 180 minutes
6d5c1fb3ee Merge bitcoin/bitcoin#35173: util: shorten thread names to avoid Linux truncation
d3e40af259 index: shorten indexer thread names
d69c46292d util: zero-pad thread number suffixes
41e531c4ab util: shorten `ThreadPool` worker names
92d812446e Merge bitcoin/bitcoin#35538: test: make TestChain100Setup's m_clock timestamp more readable
011ad6ea3c Merge bitcoin/bitcoin#35441: ci: inline runner selection
58cc2a0453 test: make TestChain100Setup's m_clock timestamp more readable
6e93ef4623 Merge bitcoin/bitcoin#35503: guix: CMake-related improvements
f655d887f0 Merge bitcoin/bitcoin#35535: iwyu: Fix warning in `bench/pool.cpp`
059edf1908 guix: Fix "Ignoring empty string" CMake warning for non-Linux hosts
2d86083fd4 guix: Drop redundant CMake `--verbose` options
d92a20b310 iwyu: Fix warning in `bench/pool.cpp`
6921f5df01 Merge bitcoin/bitcoin#35414: iwyu: Fix warnings in `src/bench` and treat them as error
355fffb8cc Merge bitcoin/bitcoin#35528: test: doc: remove `--perf` profiling from functional test framework
46927cf82c Merge bitcoin/bitcoin#35504: test/doc: Follow-up nits for #35269
6bc2d996b0 Merge bitcoin/bitcoin#35499: guix: add `package.sh`
87d099d5f8 Merge bitcoin/bitcoin#35519: rpc: tighten setmocktime upper bound to UINT32_MAX
04eccc2be5 Merge bitcoin/bitcoin#35043: refactor: Properly return from ThreadSafeQuestion signal + btcsignals follow-ups
2cfb10b668 Merge bitcoin/bitcoin#35498: net: move cs_main up in FetchBlock to fix rpc assert crash
9fae7e9886 test: doc: remove `--perf` profiling from functional test framework
17353f9d97 ci: bump MSan fuzz timeout
debac5f2cd Merge bitcoin/bitcoin#35523: Revert "build: exclude mptest target from compile commands"
406c2348dd rpc: tighten setmocktime upper bound to UINT32_MAX
d186c390f4 Revert "build: exclude mptest target from compile commands"
2447385f47 rpc: remove unused RPCResult::Type::ELISION
7a85118005 rpc: expand decodepsbt output script with explicit fields
88e2a6ae89 rpc: expand getaddressinfo embedded with explicit fields
a9f9e7d17e rpc: extract fee estimate result helpers
8a615a8800 rpc: extract ListSinceBlockTxFields() helper
372ac283ac rpc: extend TxDoc() for getblock verbosity 2/3
0380a1c46b rpc: extend TxDoc() for getrawtransaction verbosity 2
946feb3f1f test: remove redundant test suite uniqueness lint
b3371029dc doc: use signing pubkey instead of aggregate xonly key
4c99ed1076 Merge bitcoin/bitcoin#35418: build: exclude mptest target from compile commands
9bfdde74b5 guix: add package.sh
142e86a65c Merge bitcoin/bitcoin#35458: qa: Avoid extra tracebacks when exception is raised
216b50c9a6 Merge bitcoin/bitcoin#35179: test: Add importdescriptors rpc error coverage
77772e7a30 undo "ui: Compile boost:signals2 only once"
fa45783d55 mv btcsignals.h to src/util
fa4903db8a refactor: Make scoped_connection ctor explicit
fa1bc1fe51 test: Check btcsignals determinism in thread_safety test case
fa86e5dba9 refactor: Properly return from ThreadSafeQuestion signal
fa4badc0fd refactor: Make ThreadSafeMessageBox signal void
faad9d6434 refactor: Mark btcsignals operator [[nodiscard]]
2fe34808fa wallet: reject sendtoaddress and sendmany for external signers
394e473d42 coins: compact chainstate in background
aa021b26f3 validation: randomly compact chainstate
bd5a32f7db doc: add taproot descriptor to getdescriptors example
7131c82937 doc: clarify which commands receive --chain, --fingerprint and --stdin
4fdd4d8d29 doc: replace stale signtransaction wording with current signtx flow
fab92257fe doc, rpc: document enumerate model field and fingerprint deduplication
b10889d107 coins: test chainstate flush baseline
c117bbc467 Merge bitcoin/bitcoin#35514: ci: Alpine 3.24
3be1115ade ci: Alpine 3.24
3b712b9d02 Merge bitcoin/bitcoin#35120: btcsignals: delete broken scoped_connection move assignment
2818a171c0 test: add abortscan unit test
bc30e95163 wallet: move fAbortRescan reset into WalletRescanReserver reserve()
b83a999b14 btcsignals: delete broken scoped_connection move assignment
46d0e21d75 Merge bitcoin/bitcoin#35288: ci: Bump toward Ubuntu 26.04
d0b8d445fb Merge bitcoin/bitcoin#35455: fuzz: improve dbwrapper_concurrent_reads performance
d6359937bf validation: check invariants when inserting into m_blocks_unlinked
0852925bd8 test/doc: remove misleading comment and improve tests
ca4a380281 test: add coverage for UB caused by FindMostWorkChain
c787b3b99b validation: avoid duplicates in m_blocks_unlinked
e0fb41fd2a Merge bitcoin/bitcoin#35489: fuzz: test non-max descriptor satisfaction weight
50e9f2ad33 Merge bitcoin/bitcoin#35497: test: FakeNodeClock follow-ups in unit tests
809f909e58 Merge bitcoin/bitcoin#35451: lint: Grep for `AUTO` test suites in file names
530e1f5290 Merge bitcoin/bitcoin#34636: node: allocate index caches proportional to usage patterns
8598ec2204 Merge bitcoin/bitcoin#35221: BIP 434 Support: Peer feature negotiation
526aae3768 fuzz: test non-max descriptor satisfaction weight
472b950b7f qa: Use custom assert_greater_than() over naked assert
1ce9e26239 fuzz: improve dbwrapper_concurrent_reads performance
fb47793b99 Merge bitcoin/bitcoin#35168: validation: Don't add pruned blocks to `m_blocks_unlinked` on startup
53b836cdce Merge bitcoin/bitcoin#34028: p2p: Prevent integer overflow in LocalServiceInfo::nScore
3bbc3c67ad Merge bitcoin/bitcoin#35101: refactor: disable default std::hash for CTransactionRef
288018131e Merge bitcoin/bitcoin#35254: crypto: cleanse HMAC stack buffers after use and ChainCode
c85e04f079 Merge bitcoin/bitcoin#35478: fuzz: reset the mockable steady clock between iterations
ed11dd6a5f test: add coverage for importdescriptors when manually interrupting a wallet rescan
d90d7f0a55 test: add coverage for importdescriptors errors when using assumeutxo
ad388bf254 test: add coverage for importdescriptors while wallet is rescanning
ddceb4e603 test: updated different_key to be different_field and also used a single assert_equal with 3 args instead of multiple assert_equals
6751a323c0 iwyu: Fix warnings in `src/bench` and treat them as error
fab52281f7 refactor: Drop unused includes after iwyu CI bump
fa4774d032 ci: Bump APT_LLVM_V-based task configs to Ubuntu 26.04
fa1414a36a ci: Debian Trixie -> Ubuntu 26.04
359680b74d net: move cs_main up in FetchBlock to fix rpc assert crash
4b91316643 Merge bitcoin/bitcoin#35459: guix: add setup.sh
fa03852e9c test: Use SteadyClockContext in pcp_tests
fa3716c439 test: Use FakeNodeClock in more places
fae9623c8d test: Add FakeNodeClock m_clock to TestChain100Setup
a6ed29d6c2 bench, refactor: Use `std::string_view` for `BenchRunner` ctor parameter
bcbf5bae16 Merge bitcoin/bitcoin#35114: test: NodeClockContext follow-ups
543c00f47d Merge bitcoin/bitcoin#35448: ci: don't build libunwind in msan
17ed7f5060 Merge bitcoin/bitcoin#35297: p2p: Release m_peer_mutex early in InitiateTxBroadcastToAll
087f02c929 ci: skip libunwind runtime in LLVM build
6d47f7cc6f ci: use llvm 22.1.7
9868e1bf65 Merge bitcoin/bitcoin#35487: scripted-diff: Rename UNIQUE_NAME to BITCOIN_UNIQUE_NAME
577999c2ce Merge bitcoin/bitcoin#35462: test: remove unnecessary nodes from wallet_multisig_descriptor_psbt
e36f5d5d0b Merge bitcoin/bitcoin#35456: test: Perform full reset of CoinsResult in order to avoid passing 21M BTC
1d3bc816c3 Merge bitcoin/bitcoin#35267: rpc: make getprivatebroadcastinfo and abortprivatebroadcast fail if privatebroadcast is not enabled
fba713a28c scripted-diff: Rename UNIQUE_NAME to BITCOIN_UNIQUE_NAME
1aafd49077 Merge bitcoin/bitcoin#35359: blockstorage: Remove cs_LastBlockFile recursive mutex
84d07e471c test: add coverage for importdescriptor with an encrypted wallet
ec6cf49b91 blockstorage: Remove cs_LastBlockFile recursive mutex
35a814a045 test: Limit clocks to one active instance
55e402ffef scripted-diff: Rename NodeClockContext to FakeNodeClock
1e9546fcf4 test: Use NodeClockContext in more call sites
758fea59a8 test: Drop ++ from NodeClockContext default constructor
7c2ec3949a test: Enter mocktime before peer creation in block_relay_only_eviction
0bfc5e4fff add release notes
fdc9fc1df2 test: check getprivatebroadcast and abortprivatebroadcast throw if the node is running without -privatebroadcast set
7b821ef9b7 rpc: getprivatebroadcastinfo and abortprivatebroadcast throw if -privatebroadcast is disabled
5f33da9aa3 Merge bitcoin/bitcoin#35481: fuzz: fix dead HD keypaths (de)serialization round-trip
5deb053a75 fuzz: fix dead HD keypaths (de)serialization round-trip
19b32a2e18 fuzz: reset the mockable steady clock between iterations
27472a542c Merge bitcoin/bitcoin#35466: ci: run ipc functional tests in arm job
f6bdbcf79d lint: Grep for `AUTO` test suites in file names
b2fbd5b5dd ci: run ipc functional tests in arm job
44fc3a290d rpc: introduce HelpElision variant and ElideGroup helper
2cf2b22ff1 depends: Drop trailing slash from `CMAKE_INSTALL_LIBDIR`
da74ff9ca4 test: Add functional test for BIP434
01b8a117d2 test_framework: BIP 434 support
6a129983c9 BIP434: FEATURE message support
3210fc477a net: Add AdvertisedVersion() for protocol version advertised to a peer
5b65e31270 test: remove two unnecessary nodes from the test
94ed45427c serialize: add LimitedVectorFormatter
1b3f776ebb serialize: string_view serialization
47da4f9b71 Merge bitcoin/bitcoin#35410: net: use the proxy if overriden when doing v2->v1 reconnections
54de023a7c guix: add setup.sh
0cac23b66e Merge bitcoin/bitcoin#35431: test: pass -datadir to bitcoin-cli -ipcconnect check
f42226d526 qa: Silence socket.timeout exception when substituting it for a JSONRPCException
659671ac3d qa: Avoid cleanup when exception is raised
e01741e6ac Merge bitcoin/bitcoin#35446: ci: use pyzmq over zmq
628816bc55 Merge bitcoin/bitcoin#35447: ci: use warpbuild cache for docker buildkit cache
d0b76c7f3e rpc+bitcoin-tx: Specify correct type for ParseFixedPoint()
a5050ddb6b Merge bitcoin/bitcoin#32150: coinselection: Optimize BnB exploration
082bb1a104 Merge bitcoin/bitcoin#35335: Make deployment configuration available outside of regtest in unit tests
43ca54ca00 refactor(test): Make CAmount arg explicit for BuildCreditingTransaction()
b5e91e946c wallet: Remove CoinsResult::Clear()
5bd990a3dd Merge bitcoin/bitcoin#34779: BIP 323: reserve version bits 5-28 as extra nonce space
2189a6f5f2 p2p: Saturate LocalServiceInfo::nScore updates at INT_MAX
82901981bf ci: use Warp cache for Docker layers
7c2718a4b8 Merge bitcoin/bitcoin#34767: Bugfix: GUI/Intro: Handle errors from SelectParams the same as if during InitConfig
4a6d1458b4 ci: add pyzmq to msan job
c21b58e263 ci: use pyzmq over zmq
b28cf409a1 Merge bitcoin/bitcoin#34866: fuzz: target concurrent leveldb reads
de92208c2b migrate: Handle HD chains that have identical seeds but different IDs
2669019fe8 Merge bitcoin/bitcoin#35269: musig: Include pubnonce in session id
7735c13488 test: run bitcoin-cli -ipcconnect check under valgrind with -datadir
8cb8653a22 fuzz: target concurrent leveldb reads
6609088fe6 fuzz: extract ConsumeDBParams helper
61d1c78ed4 Merge bitcoin/bitcoin#35192: wallet: unfriend LegacyDataSPKM and DescriptorScriptPubKeyMan
726e196ef2 ci: inline runner selection
2e0a36c360 Merge bitcoin/bitcoin#35439: test: Improve loopback address check in `rpc_bind.py`
53373d07c3 Merge bitcoin/bitcoin#35430: ci: use warp caching on warp runners
4731049ba4 build: exclude mptest target from compile commands
255f7c720f Merge bitcoin/bitcoin#35404: wallet: allow anti-fee-sniping in sendall RPC while not relying on RBF default
c8b8c275fa test: Improve loopback address check in `rcp_bind.py`
654a5223af Merge bitcoin/bitcoin#33661: test: Add test on skip heights in CBlockIndex
19e45334bc Merge bitcoin/bitcoin#35312: kernel: assert invalid buffer preconditions in `btck_*_create` functions
107d4178d9 versionbits: update VersionBitsCache doc comment to match current behaviour
94e3ac0b21 doc: release notes and bips doc update for #34779
1d5240574a qa: test we don't warn for ignored unknown version bits deployments
f802edf57c versionbits: Limit live activation params and activation warnings per BIP323
2ce4ae7d8f ci: Add dynamic cache switching to warp cache
fbe628756c Merge bitcoin/bitcoin#35131: guix, refactor: Minor script cleanups and improvements
bf0d257c11 net: un-default the OpenNetworkConnection()'s proxy_override argument
5a3756d150 test: add a regression test for private broadcast v1 retries
34ac53457f Merge bitcoin/bitcoin#35402: doc: Compress doc/build-unix.md dependency package names into table
10dfdd4b9f Merge bitcoin/bitcoin#35379: test: Fix feature_dbcrash.py --usecli error
214ad1761b Merge bitcoin/bitcoin#35408: ci: 35378 followups
a3dc44c085 Merge bitcoin/bitcoin#35385: test: restore JSONRPCException error format
9c1fcaca5c wallet, test: fix sendall anti-fee-sniping when locktime is not specified
570a627640 kernel: assert invalid buffer preconditions in `btck_*_create` functions
ac09260982 test: restore JSONRPCException error format
ab35a028ed test: make reusable filling of a node's addrman
2333be9cbc test: make reusable starting a standalone P2P listener
2ffa81fac4 test: make reusable SOCKS5 server starting
6c525c2ec1 wallet: unfriend LegacyDataSPKM and DescriptorScriptPubKeyMan classes
8877eec726 wallet: allow anti-fee-sniping in sendall RPC while not relying on RBF default
13b7fffc5e Merge bitcoin/bitcoin#35011: iwyu: Fix warnings in `src/script` and treat them as errors
6183942513 ci, iwyu: Fix warnings in src/scripts and treat them as error
5700a61b73 ci: use ubuntu-latest instead of ubuntu-24.04
265563bf75 doc: remove reference to cirrus
b847626562 test: refresh MiniWallet after node restart
f4e643cb15 test: merge mining options in package feerate check
280ce6a0ae miner: ensure block_max_weight is flattened before limit checks
65bd3164fb mining: clarify test_block_validity comment
978e7216e6 test: use shared default_ipc_timeout
1ea532e590 Merge bitcoin/bitcoin#34953: crypto: disable ASan instrumentation of SSE4 SHA256 for GCC (matching Clang)
d0a54dd8e0 Merge bitcoin/bitcoin#35381: wallet, test: optinrbf deprecation followups
c6f225c757 Merge bitcoin/bitcoin#28333: wallet: Construct ScriptPubKeyMans with all data rather than loaded progressively
5486ef8cc2 Merge bitcoin/bitcoin#34198: wallet: fix ancient wallets migration
fa787043f5 doc: Compress doc/build-unix.md dependency package names into table
f1344e6c7f Merge bitcoin/bitcoin#35378: ci: switch to warp runners
d12d8e52d2 Merge bitcoin/bitcoin#35400: doc: Remove good_first_issue.yml, Reword "Getting started" section
b86c1c443d test: add coverage for migrating ancient wallets
fd44d48b24 wallet: fix ancient wallets migration
a34dbc836c Merge bitcoin/bitcoin#35313: Bump leveldb subtree
896eaacd91 Merge bitcoin/bitcoin#34644: mining: add submitBlock to IPC Mining interface
fa51f37f18 doc: Reword the Getting-Started section
53388773af guix: Remove redundant ShellCheck `source` directives
62cf7bc53f guix, refactor: Add `BASE` argument to `*_for_host` functions
5d46429e32 guix, refactor: Move `distsrc_for_host()` to `prelude.bash`
cab65ea9c6 guix, refactor: Move duplicated `profiledir_for_host()` to `prelude.bash`
faa9d4345f guix, refactor: Move duplicated `outdir_for_host()` to `prelude.bash`
6b59fd6b8c guix, refactor: Remove `contains()` function
d4c69a7224 guix, refactor: Remove unused `out_name()` function
fad585b6e5 test: Wait for node exit after crash in verify_utxo_hash
faf1475514 ci: Exclude feature_dbcrash.py under --v2transport --usecli
fac27d702f test: Fix feature_dbcrash.py --usecli intermittent error
fa09de8b68 test: [refactor] Simplify submit_block_catch_error
f701cd159a doc: fix typo in release notes of #34917
7bc39e3d08 wallet, test: add wallet_deprecated_rbf.py for walletrbf deprecated keys & options
2cbbcb5659 wallet, test: remove -deprecatedrpc=bip125 from wallet_send.py
307134bd7e wallet, test: remove -deprecatedrpc=bip125 from wallet_migration.py
3ec550d168 wallet, test: remove -deprecatedrpc=bip125 from wallet_basic.py
a52ea9bff9 wallet, test: remove -walletrbf startup option from wallet_backwards_compatibility.py
e3f5c18913 Merge bitcoin/bitcoin#34948: guix: Split manifest into build and codesign manifests
a9ac680af3 build: remove FALLTHROUGH_INTENDED from leveldb.cmake
4d58c3271c build: remove -Wno-conditional-uninitialized from leveldb build
5fe0615f7a Update leveldb subtree to latest upstream
58cdb5c2e8 Squashed 'src/leveldb/' changes from ab6c84e6f3..a7f9bdc611
4bdd46ace3 ci: switch runners from cirrus to warpbuild
fab5733f5d doc: Remove good_first_issue.yml
fa98d44951 ci: Rewrite broken wrap-valgrind.sh to .py
00af5620f0 Merge bitcoin/bitcoin#35206: doc: fix doxygen links to threads in developer-notes.md
faf7e38973 ci: refactor: Avoid warning: INSTALL_BCC_TRACING_TOOLS: unbound variable
85c27c9de5 Merge bitcoin/bitcoin#35394: test: remove unnecessary rpc calls from feature_dbcrash
42330922dd wallet, test: remove -walletrbf startup option from wallet_backwards_compatibility.py
8cb6e405d8 wallet, test: remove -walletrbf startup option from wallet_listtransactions.py
0ee94b2fef wallet, test: remove -deprecatedrpc=bip125 from wallet_listtransactions.py
5e833e068d wallet, test: -walletrbf startup option from wallet_bumpfee.py
a2a2b1745f wallet, test: remove -walletrbf startup option from rpc_psbt.py
615c0aefa8 Merge bitcoin/bitcoin#35391: test: Use operator<< for time_points instead of manual TickSinceEpoch
c17cc76a18 test: speed up feature_dbcrash
0687438e94 Merge bitcoin/bitcoin#35372: refactor: Enhance type safety in overflow operations
fad4f417d1 test: Use operator<< for time_points instead of manual TickSinceEpoch
d846444d01 guix: Split manifest into build and codesign manifests
0b9e10ad40 guix: Update `python-signapple` and wrap with OpenSSL paths
3962138cc0 test: add IPC submitBlock functional test
5b60f69e40 mining: add submitBlock IPC method to Mining interface
813b4a80d7 refactor: introduce SubmitBlock helper
a3fe455a95 wallet: refactor to read -walletrbf only once instead of twice
9c15022260 Merge bitcoin/bitcoin#35337: doc: add feature deprecation and removal process to developer notes
a4157fc24a Merge bitcoin/bitcoin#33966: refactor: disentangle miner startup defaults from runtime options
ac9424fdc6 Merge bitcoin/bitcoin#35145: validation: fix misleading VerifyDB summary log
9767e80b21 Merge bitcoin/bitcoin#35296: doc: Fix broken links in dev notes, move sections
9ec4efebd1 Merge bitcoin/bitcoin#35015: bitcoin-cli: note -rpcclienttimeout is not implemented for IPC connections
b43a936355 Merge bitcoin/bitcoin#33974: cmake: Check dependencies after build option interaction
d5188b5592 Merge bitcoin/bitcoin#35363: test: Allow --usecli in more tests
743bf350f2 Merge bitcoin/bitcoin#35049: test: remove circular dependency between authproxy and util
fa24693819 test: Allow --usecli in tests that already support it
fa8d4d5c35 test: Catch CalledProcessError to support --usecli in feature_dbcrash.py
faf0f848ef test: use echojson to allow rpc_named_arguments.py --usecli
faf993ee44 test: Stop node before modifying config to support rpc_users.py --usecli
dd0dea3e89 Merge bitcoin/bitcoin#34917: wallet: mark bip125-replaceable RPC key and walletrbf startup option as deprecated
acea6f2caf Merge bitcoin/bitcoin#35251: wallet: Fix for duplicate external signers case
801e3bfe38 chainparams: add overloads for RegTest and SigNet with no options
4995c00a9c chainparams: make deployment configuration available on all test networks
0774eaaf0c util: Require integers for SaturatingAdd() and AdditionOverflow()
32d072a49f doc: add release notes for #35319
d01b461f71 net: ensure no direct private broadcast connections
fd230f942d net: use the proxy if overriden when doing v2->v1 reconnections
a815e3e262 rpc: Correct type for tx_sigops
7be0d6fa18 test: remove the lazy import of util in authproxy
779f444680 test: move out JSONRPCException from authproxy to util
de925455c8 Merge bitcoin/bitcoin#35141: fuzz: apply node context reset pattern to p2p_handshake
2e9fdcc6da doc: add feature deprecation and removal process to developer notes
fa4fc8c1d7 test: Set TestNode url field early, so that feature_loadblock.py --usecli works
5faf2ad880 doc: add release notes for deprecation of wallet rbf & bip125 fields
aba24a9b62 wallet: remove "RPC Only" from -walletrbf option help description
9f7b08c61c Merge bitcoin/bitcoin#35334: test: Allow --usecli in more tests
b9f0040caf Merge bitcoin/bitcoin#34614: ci: Put space and non-ASCII char in scratch dir
f28cd7587b Merge bitcoin/bitcoin#35348: ci: switch to GitHub cache for all runners
59918de329 Merge bitcoin/bitcoin#34801: ci: Enable pipefail in 03_test_script.sh
e4f033789c Merge bitcoin/bitcoin#35324: test: Document rare failure in test_inv_block better
033a56ccb2 Merge bitcoin/bitcoin#34342: cli: Replace libevent usage with simple http client
c03107acf5 ci: switch to GitHub cache for all runners
908cc9d30b Merge bitcoin/bitcoin#35344: kernel: improve BITCOINKERNEL_WARN_UNUSED_RESULT usage
e91f8713ac Merge bitcoin/bitcoin#35349: ci: Fix `path` input for vcpkg downloads cache
1e5d3b4f0d doc: add release note for mining option validation
0317f52022 ci: enforce iwyu for touched files
8c58f63578 refactor: have mining files include what they use
3bb6498fb0 mining: store block create options in NodeContext
4637cd157d mining: reject invalid block create options
8daac1d6eb mining: add block create option helpers
128da7c3ff miner: add block_max_weight to BlockCreateOptions
fa81e51eae mining: parse block creation args in mining_args
020166080c mining: use interface for tests, bench and fuzzers
44082bea47 interfaces: make Mining use const NodeContext
d4368e059c move-only: add node/mining_types.h
6aeb1fbea2 test: cover IPC blockmaxweight policy
63b23ea1e9 test: regression test for waitNext mining policy
24750f8b31 test: add createNewBlock failure helper
63ee9cd15b test: misc interface_ipc_mining.py improvements
faf02674b3 refactor: Set TestNode.cli only after RPC is connected
fae376cafb refactor: Inline get_rpc_proxy
fa00c7c7a4 test: Allow rpc_bind.py --usecli
fa8f25118c refactor: Use create_new_rpc_connection in wallet_multiwallet.py
fa3ae6c7d3 test: Allow feature_shutdown.py --usecli
fa2a3683d5 test: Allow mining_getblocktemplate_longpoll.py --usecli
735b1cf431 Merge bitcoin/bitcoin#34806: refactor: logging: Various API improvements
a56b4ead41 Merge bitcoin/bitcoin#35017: mempool: remove all subsequent tx in pkg on failure
00e9df90c8 Merge bitcoin/bitcoin#35333: qa: use NORMAL_GBT_REQUEST_PARAMS consistently in functional tests
37d7ce47c5 Merge bitcoin/bitcoin#35350: test: suppress ECONNABORTED in wait_for_rpc_connection on Windows
18c1cc65e9 kernel: improve BITCOINKERNEL_WARN_UNUSED_RESULT usage
7209eb7790 test: suppress ECONNABORTED in wait_for_rpc_connection on Windows
0553ce5ddb Merge bitcoin/bitcoin#35316: musig: Reject empty pubkey list in GetMuSig2KeyAggCache
e4f1e43103 ci: Fix `path` input for vcpkg downloads cache
fa99a3ccac ci: Enable pipefail in 03_test_script.sh
d61053d97b build: Drop libevent from bitcoin-cli link libraries
798d051c80 cli: Remove libevent usage
ca5483a662 qa: use NORMAL_GBT_REQUEST_PARAMS consistently
bd0942bbd9 Merge bitcoin/bitcoin#34887: fuzz: target CDBWrapper
2940053761 Merge bitcoin/bitcoin#33223: coinselection: Tiebreak SRD eviction by weight
5ccb698f53 Merge bitcoin-core/gui#936: Remove opt-in RBF
211e1053bf Merge bitcoin/bitcoin#32220: cmake: Get rid of undocumented `BITCOIN_GENBUILD_NO_GIT` environment variable
ecf20317cb Merge bitcoin/bitcoin#35270: doc: Document minimum versions for Xcode CLT and MSVC
97f7cc0233 wallet: mark -walletrbf startup option as deprecated
c4a7613e6a wallet: mark `bip125-replaceable` key as deprecated in transaction RPCs
8ee5622455 Merge bitcoin/bitcoin#35338: qa: regenerate hardcoded regtest chain for kernel lib unit tests
131fa570b9 test: Add test for BuildSkip() and skip heights
c6dbf3158b Merge bitcoin/bitcoin#35304: kernel: doc: document wipe lifecycle and best entry nullability
f05b1a3532 rpc: Fix for duplicate external signers case
98f706c698 qa: regenerate hardcoded regtest chain for kernel lib unit tests
ac9aa71b7f mempool: remove all subsequent tx in pkg on failure
df7ed5f355 chainparams: encapsulate deployment configuration logic
b63ef20d54 test: add fuzz harness for CDBWrapper
32169c3855 dbwrapper: accept optional testing leveldb::Env in DBParams
8d390c93fc dbwrapper: make max_file_size a configurable DBParams field
376e7ef07c util: Expose IOErrorIsPermanent in sock header
b796bf44f3 Merge bitcoin/bitcoin#35228: wallet: use `outpoint` when estimating input size
3158b890e1 Merge bitcoin/bitcoin#33765: doc: update interface, --stdin flag, `signtx` (#31005)
21edcc47e2 Merge bitcoin/bitcoin#35328: test: restore assertion that tx contains exactly 2500 sigops
5d562430de netbase: Add timeout parameter to ConnectDirectly
fa37c6a529 test: [move-only] Extract create_new_rpc_connection
a988ac592f cli: Add HTTPResponseHeaders class for parsing response headers
ae73b69b52 test: restore assertion that tx contains exactly 2500 sigops
a7df1bd7ca Merge bitcoin/bitcoin#34537: crypto: fix incorrect variable names in SHA-256 ARM intrinsics
5570b86fa7 Merge bitcoin/bitcoin#33160: bench: Add more realistic Coin Selection Bench
239424064b Merge bitcoin/bitcoin#35189: kernel: document validation state outputs as overwritten in-place
0358c26d42 kernel: document overwritten validation state outputs
489da5df60 Merge bitcoin/bitcoin#33856: kernel: Refactor process_block_header to return btck_BlockValidationState
fa89098888 test: Document rare failure in test_inv_block better
ce2044a91d Merge bitcoin/bitcoin#33362: Run feature_bind_port_(discover|externalip).py in CI
2284288e9a Merge bitcoin/bitcoin#35279: psbt, test: remove address type restrictions in test
278b9e39df Merge bitcoin/bitcoin#34934: fuzz: exercise ForNode/ForEachNode callbacks in connman fuzz harness
88d9bc5aa4 kernel: Return btck_BlockValidationState from process_block_header API
ed15e14b63 Merge bitcoin/bitcoin#35193: test: avoid non-loopback network traffic from node_init_tests/init_test
4f348c2d73 Merge bitcoin/bitcoin#28802: ArgsManager: support command-specific options
c7056ff03f Merge bitcoin/bitcoin#34893: psbt: preserve proprietary fields when combining PSBTs
8ce84321ce musig: Reject empty pubkey list in GetMuSig2KeyAggCache
b2a3ca3df9 Merge bitcoin/bitcoin#35117: i2p: clean up SESSION CREATE error logging
7802e578c3 Merge bitcoin/bitcoin#34860: mining: always pad scriptSig at low heights, drop include_dummy_extranonce
da769855d0 test: add PSBT proprietary merge regression coverage
3f5b3c7a80 psbt: preserve proprietary fields when combining PSBTs
6189335f6b kernel: doc: document wipe lifecycle and best entry nullability
ed1795aa17 Merge bitcoin/bitcoin#35285: bench: add benchmark for GetMappedAS()
379b9fbf03 Merge bitcoin/bitcoin#34225: refactor, key: move `CreateMuSig2{Nonce,PartialSig}` functions to `musig.{h,cpp}` module
c471c5085b common: Add unused UrlEncode function
9687ef1bd9 ci: Tolerate unused free functions in intermediate commits
02b2c41103 logging: use util/log.h where possible
57d7495fe5 IWYU fixes
611878b46f scripted-diff: logging: Drop LogAcceptCategory
34332dba2f util/log, logging: Provide ShouldDebugLog and ShouldTraceLog instead of a generic ShouldLog
abea304dd6 logging: Move GetLogCategory into Logger class
58113e5833 util/log: Rename LogPrintLevel_ into detail_ namespace
f69d1ae56d util/log: Provide util::log::NO_RATE_LIMIT to avoid rate limits
72e92d67df logging: Protect ShrinkDebugFile by m_cs
faf6afd99d doc: Move mutex and thread section into guideline section
fa514caad7 doc: move-only Valgrind section
fa0202f31d doc: move-only Python section
fa37606c65 doc: Regroup clang-tidy rules
fa9c2ddea9 doc: Fix to use lower-case anchors in links to C++ Core Guidelines
a154c05d49 cmake: Check dependencies after build option interaction
096bb0b5c0 bench: add benchmark for GetMappedAS()
b6c3670442 i2p: clean up SAM error logging
1c500b1709 test: avoid non-loopback network traffic from node_init_tests/init_test
fa2afba28b p2p: Release m_peer_mutex early in InitiateTxBroadcastToAll
3381855e51 doc: external signer: update interface, --stdin flag, IPC-command signtx, contains updates from #33947
ddb94fd3e1 Merge bitcoin/bitcoin#35289: fuzz: Fix timeout in `txorphan`
3142e5f8cf doc: Add release notes for #32220
b71cd5c162 cmake: Skip using git when building from source tarball or as subproject
fe941938e8 cmake: Remove unnecessary `BITCOIN_GENBUILD_NO_GIT` environment variable
9a2cced23a cmake, refactor: Move `find_package(Git)` to `src/CMakeLists.txt`
3cab711d69 Merge bitcoin/bitcoin#35284: fuzz: use ImmediateBackgroundTaskRunner to silence DEBUG_LOCKORDER
004a7e3cfb fuzz: Fix txorphan timeout by limiting block weight
7777a92a92 ci: Use path with spaces on windows as well
fac6c4270d ci: Put space and non-ASCII char in scratch dir
fa38759823 ci: Require $FILE_ENV
cad5f56045 Merge bitcoin/bitcoin#29136: wallet: `addhdkey` RPC to add just keys to wallets via new `unused(KEY)` descriptor
9961229360 Merge bitcoin/bitcoin#31298: rpc: combinerawtransaction now rejects unmergeable transactions
c680cfe343 Merge bitcoin/bitcoin#35123: wallet: remove outdated arguments from chain scanning methods
a145fa881a Merge bitcoin/bitcoin#35156: dbwrapper: reuse scratch `DataStream` buffers
04003e1fa3 Merge bitcoin/bitcoin#35274: doc: clarify libfuzzer-nosan preset uses build_fuzz_nosan dir
5309c90542 Merge bitcoin/bitcoin#35283: doc: mention -DWITH_ZMQ=ON in BSD build guides
90eda67bb8 Remove opt-in RBF
fa3d7ce11c doc: Document minimum versions for Xcode CLT and MSVC
2ef6679c2c test: Check that MuSig2 signing does not reuse nonces
8544537f41 mining: drop unused include_dummy_extranonce option
58eeab790d mining: only pad with OP_0 at heights <= 16
00d22328b0 mining: pad coinbase to fix createNewBlock at heights <=16
801d36f55b fuzz: use ImmediateBackgroundTaskRunner to silence DEBUG_LOCKORDER
ca93ab808c doc: mention -DWITH_ZMQ=ON in BSD build guides
605ff37403 test: bad-cb-length for createNewBlock() at low heights
1966621b76 test: refactor IPC mining test to use script_BIP34_coinbase_height
8ba5f68b1d refactor, key: move `CreateMuSig2PartialSig` to `musig.{h,cpp}` module
d087f266fc refactor, key: move `CreateMuSig2Nonce` to `musig.{h,cpp}` module
f36d89f436 key: add `GetSecp256k1SignContext` access function
0065f354a7 doc: clarify libfuzzer-nosan preset uses build_fuzz_nosan dir
81348576cc psbt, test: remove address type restrictions in test
82733e61de Merge bitcoin/bitcoin#35277: ci: Enable ruff ambiguous-unicode-character checks
fe2bb43e43 Merge bitcoin/bitcoin#35044: contrib: Fix NameError in signet miner gbt()
fa9c919678 refactor: Use ignore-list over verbose select-list
cd8d3bd937 wallet: use outpoint when estimating input size
fa9b01adec ci: Enable ruff ambiguous-unicode-character checks
09a9bb3536 Merge bitcoin/bitcoin#34547: lint: modernise lint tooling
21a1380c13 key: cleanse ChainCode on destruction
bb05986c0a musig: Include pubnonce in session id
3f44f9aef7 test: Add coverage for m_blocks_unlinked invariant in LoadBlockIndex
10ca73c02c Merge bitcoin/bitcoin#34580: build: Add a compiler minimum feature check
1af8e0c4e8 Merge bitcoin/bitcoin#35183: doc: recommend script_flags instead of deployments.taproot
f24a7b5f75 doc: recommend script_flags instead of deployments.taproot
ccbd00ab87 Merge bitcoin/bitcoin#35152: doc: clarify local IWYU workflow and pragmas
b3a3f88346 crypto: cleanse HMAC stack buffers after use
88bfe89793 Merge bitcoin/bitcoin#35227: wallet: check the final BDB page LSN during migration
21599ea612 Merge bitcoin/bitcoin#35241: cmake: Set `CTEST_NIGHTLY_START_TIME` for CDash Nightly pipelines
d406cffafd Merge bitcoin/bitcoin#34228: depends: Unset `SOURCE_DATE_EPOCH` in `gen_id` script
4defc466a2 cmake: Set `CTEST_NIGHTLY_START_TIME` for CDash Nightly pipelines
1f28ed6b6a Merge bitcoin/bitcoin#35235: contrib: mv verify-commits/pre-push-hook.sh to maintainer tools repo
8396b7f2a3 Merge bitcoin/bitcoin#35236: doc: typo roundup
2b7f5914c4 Merge bitcoin/bitcoin#35222: cmake: add CTestConfig.cmake
888857c551 mv contrib/verify-commits/pre-push-hook.sh to maintainer tools repo
d9b57eecad doc: fix whitespace in build-osx.md
e7d4a7e3f9 doc: fix stale autotools reference and SQLite typo
3f9c55426a Merge bitcoin/bitcoin#35230: ci: Move --usecli --extended from i386 task to alpine task
fad61896e8 ci: Move --usecli --extended from i386 task to alpine task
7c84a2bdb1 Merge bitcoin/bitcoin#35219: doc: Add my key to SECURITY.md
cf5c962a39 Merge bitcoin/bitcoin#34991: test: fix feature_index_prune.py bug when using --usecli
6690117c7a Merge bitcoin/bitcoin#35218: test: fix `P2SH` script in coins cache fuzz target
5b11108145 Merge bitcoin/bitcoin#35223: refactor: [rpc] Remove confusing and brittle integral casts (take 3)
e2b0984f99 wallet: check BDB last page LSN
d5adb9d09b doc: fix doxygen links to threads in developer-notes.md
fa864b937e refactor: [rpc] Remove confusing and brittle integral casts (take 3)
9f7a2293c4 depends: Unset `SOURCE_DATE_EPOCH` in `gen_id` script
086894098e cmake: add CTestConfig.cmake
0651a1fc15 doc: Add Niklas Goegge's key to SECURITY.md
ac58e6c53c test: fix P2SH output in coins cache fuzz
aa1d0d7cd7 Merge bitcoin/bitcoin#35209: validation: correct lifetime of precomputed tx data
0429c503fb bench: Replace Coin Selection bench
ec1eefda77 bench: Remove unnecessary wallet parameter
e6c4ffb956 bench: Fix type mismatch
d7ed2840ac Merge bitcoin/bitcoin#21283: Implement BIP 370 PSBTv2
1ed799fb21 validation: correct lifetime of precomputed tx data
371eac8069 fuzz: exercise ForNode/ForEachNode callbacks in connman fuzz harness
08c3c37d12 bitcoin-cli: note -rpcclienttimeout is not implemented for IPC connections
c89c8ddbb3 Merge bitcoin/bitcoin#33300: fuzz: compact block harness
4bf1701f58 Merge bitcoin/bitcoin#33796: kernel: Expose `CheckTransaction` consensus validation function
999e9dbfb4 Merge bitcoin/bitcoin#35202: ci: restore sockets in `i686, no IPC` job
5a2e359213 clarify blockfilterindex cache allocation rationale
224120bf12 Merge bitcoin/bitcoin#32394: net: make m_nodes_mutex non-recursive
11c9ef92a8 ci: unconfine seccomp for i686 no IPC
86718e4589 scripted-diff: rename ABEF_SAVE/CDGH_SAVE to ABCD_SAVE/EFGH_SAVE in SHA-256 ARM intrinsics
8f4a3ba897 Merge bitcoin/bitcoin#35165: cmake: Remove NetBSD-specific workaround from `add_boost_if_needed`
b1ff4773ba Merge bitcoin/bitcoin#34544: wallet: Disallow wallet names that are paths including `..` and `.` elements
db98e357d3 Merge bitcoin/bitcoin#35018: wallet, bench: Use Nanobench setup() for wallet benchmarks, and remove DuplicateMockDatabase
18d003c3dc Merge bitcoin/bitcoin#34916: contrib: override system locale in gen-manpages.py
567ff2b6d6 Merge bitcoin/bitcoin#33196: docs: clarify RPC credentials security boundary
3c2646eacc Merge bitcoin/bitcoin#34026: fuzz: Add tests for `CCoinControl` methods
bfbf1a7ef3 kernel: Expose btck_transaction_check consensus function
404470505a Merge bitcoin/bitcoin#34256: test: support `get_bind_addrs` and `feature_bind_extra` on macOS & BSD
25100fc28d Merge bitcoin/bitcoin#35186: util, iwyu: Add missed header
d28179bac9 util, iwyu: Add missed header
32e479f7a5 Merge bitcoin/bitcoin#34669: feefrac: drop comparison and operator{<<,>>} for sorted wrappers
11713c9fa9 net: make CConnman::m_nodes_mutex non-recursive
aec4fa2de0 net: drop the only recursive usage of CConnman::m_nodes_mutex
eed7af666b doc: Add release note for disallowing some wallet path names
3d7f0e4ed5 wallettool: Use GetWalletPath to determine the wallet path
ef499680c8 Merge bitcoin/bitcoin#34176: wallet: crash fix, handle non-writable db directories
a39cc16b43 doc: Release note for addhdkey
89b9a01b4e wallet, rpc: Disallow importing unused() to wallets without privkeys
35bbee6374 wallet, rpc: Disallow import of unused() if key already exists
f3f8bcbd1d wallet: Add addhdkey RPC
9fa4076b20 test: Test merging implicit PSBTv0 with explicit PSBTv0
1660c18232 doc: Release notes for psbtv2
470e52a5f8 fuzz: Enforce additional version invariants in PSBT fuzzer
5bd0579c09 test: Tests for PSBT AddInput and AddOutput
b8b6e7f0c2 tests: Add PSBT unit test for ComputeTimeLock
0bc1c2e508 tests: Add test vectors from BIP 370
e0e4dbdeb5 psbt: Change default psbt version to 2
bcc1dca77b Add psbt_version to PSBT RPCs and default to v2
ab38c30195 Implement PSBTv2 field merging
93e339e29f Implement PSBTv2 AddInput and AddOutput
b39c86ae60 Allow specifying PSBT version in constructor
dcc9a3c8df Implement PSBTv2 in decodepsbt
5770dbd39f Add PSBT::ComputeLockTime()
863cf47b33 Update test_framework/psbt.py for PSBTv2
925161eaf0 Implement PSBTv2 fields de/ser
d9cf658ee0 Restrict joinpsbts to PSBTv0 only
3da0e16012 Replace PSBT.tx with PSBT::GetUnsignedTx and PSBT::GetUniqueID
c568624ff2 psbt: Return std::optional from PrecomputePSBTData
092de4f1f6 Replace PSBT::GetInputUTXO with PSBTInput::GetUTXO
1d1ae6f0c4 wallet, test: Remove DuplicateMockDatabase
82bc280de4 test: Simple test for importing unused(KEY)
80c29bc6f1 descriptor: Add unused(KEY) descriptor
82c9fe3179 psbt: Use PSBTInput and PSBTOutput fields instead of accessing global tx
95897507e9 psbt: AddInput and AddOutput should take only PSBTInput and PSBTOutput
1b7d323a72 Add PSBTInput::GetOutPoint
543d3e1cdc psbt: add PSBTv2 global tx fields
c01c7f068c psbt: Remove default constructor
9671aa08c2 psbt: add tx input and output fields in PSBTInput and PSBTOutput
990b084f11 Have PSBTInput and PSBTOutput know the PSBT's version
7eacc21ff6 psbt: make PSBT structs into classes
f926c326bb gui: Store PSBT in std::optional in PSBTOperationsDialog
1e2d146b47 psbt: Refactor duplicate key lookup and size checks
88384180d3 test: PSBTs should roundtrip through RPCs that do nothing
001877500d test: construct psbt with unknown field programmatically
0cb884e6df psbt: Fill hash preimages and taproot builder from SignatureData
57820c472b bench: Utilize setup() for WalletLoading and use a real database
9a7604fd25 bench: Use setup() in WalletMigration to prepare the legacy wallet
426a94e7bd bench: Utilize setup() in WalletEncrypt to create the encryption wallet
d672455d20 bench: Utilitze setup() in WalletBalance for marking caches dirty
61412ef887 bench: Utilize setup() in WalletCreate to cleanup previous wallets
451fdd26a4 test: wallet: Constructing a DSPKM that can't TopUp() throws.
32946e0291 wallet: Setup new autogenerated descriptors on construction
e20aaff70f wallet: Construct ExternalSignerSPKM with the new descriptor
aa4f7823aa wallet: include keys when constructing DescriptorSPKM during import
6538f69135 fuzz: Skip adding descriptor to wallet if it cannot be expanded
8be5ee554b test: wallet: Check that loading wallet with both unencrypted and encrypted keys fails.
80b0c25992 wallet: Load everything into DescSPKM on construction
f713fd1725 refactor: wallet: Don't reuse WALLET_BLANK flag for born-encrypted wallets.
cd912c4e10 wallet: Consolidate generation setup callers into one function
0301c758ea wallet migration, fuzz: Migrate hd seed once
2424e52836 lint: doc: detail lint tool install methods
5fefa5a654 Don't pin Python patch version
fd15b55c2e lint: use requirements.txt
5f4d3383da lint: switch to ruff for formatting and linting
a53b81ce4e lint: switch to uv for python management in linter
2b0dc0d228 wallet: Disallow . and .. from wallet names
d084bc88be doc: clarify IWYU workflow
7c7cec4567 ci: update IWYU patch reference
75cf9708a0 ci: add one more routable address to the VMs (docker containers)
1b93983bf5 test: make feature_bind_port_(discover|externalip).py auto-detect the skip condition
032223f403 dbwrapper: reuse iterator scratch stream
7403c0f907 dbwrapper: guard `CDBBatch` scratch streams
cb1ab0a716 test: cover repeated dbwrapper stream use
31ce729b28 streams: add `ScopedDataStreamUsage`
0e4b0bacec validation: Don't add pruned blocks to m_blocks_unlinked on startup
c8d688f41c fuzz: send blocktxn messages in cmpctblock harness
d0333bfe99 fuzz: send compact blocks in cmpctblock harness
3c58efe2ac fuzz: mine blocks and send headers for them in cmpctblock harness
651622432d fuzz: create and send transactions in cmpctblock harness
8c9a3fd0e8 net, fuzz: move CMPCTBLOCK_VERSION to header, use in cmpctblock harness
6cd480f62f fuzz: initial compact block fuzz harness
1d66963749 log: clarify VerifyDB summary log
a9301cfa07 refactor: disable default std::hash for CTransactionRef
47d68cd981 ci: backport iwyu PR 2013 std::hash mapping
e2ef54b8ba cmake: Remove NetBSD-specific workaround from `add_boost_if_needed`
6d86184a8b rpc: combinerawtransaction now rejects unmergeable transactions
08925d5ee7 test: add coverage for loading a wallet in a non-writable directory
0218966c0d test: add coverage for wallet creation in non-writable directory
bc0090f1d6 wallet: handle non-writable db directories
a49bc1e24e ci: add --extended when using --usecli
904c0d07bb util/stdmutex: Drop StdLockGuard
735b25519a support: clamp RLIMIT_MEMLOCK to size_t
8ab4b9fc85 init: clamp fd limits to int
4afbabdcef Fix startup failure with RLIM_INFINITY fd limits
89af67d79f tests: Add some fuzz test coverage for command-specific args
92df785859 tests: Add some test coverage for ArgsManager::AddCommand
33c8090be9 ArgsManager: automate checking for correct command options
186354a0d8 bitcoin-wallet: use command-specific options
d21e82b7d6 ArgsManager: support command-specific options
dfe5d6a81d fuzz: apply node context reset pattern to p2p_handshake
dc84a31014 wallet: remove fUpdate argument from AddToWalletIfInvolvingMe
94845df073 wallet: remove update_tx argument from SyncTransaction
6e796e1f47 wallet: remove fUpdate argument from ScanForWalletTransactions
54e4c0be8f wallet: remove update argument from RescanFromTime method
701bc2dc02 contrib: Fix NameError in signet miner gbt()
7249b376a0 opt: Skip UTXOs with worse waste, same eff_value
5204291860 opt: Skip evaluation of equivalent input sets
ba1807b981 coinselection: Track effective_value lookahead
fa226ab902 coinselection: BnB skip exploring high waste
7ecea1dc5d coinselection: Track whether BnB completed
3ca0f36164 coinselection: rewrite BnB in CoinGrinder-style
2e73739837 coinselection: Track BnB iteration count in result
eff9e798b9 coinselection: Tiebreak SRD eviction by weight
d06dabf26b node: allocate index caches proportional to usage patterns
1950da94fc test: enable `rpc_bind` on macOS and BSD
7236a05503 test: enable `feature_bind_extra` on macOS and BSD
5603ae0ffa test: fix send_batch_request to pass callables when using --usecli
fedeff7f20 crypto: disable ASan instrumentation of SSE4 SHA256 for GCC
758f208cc1 contrib: override system locale in gen-manpages.py
2104282ddd fuzz: Add tests for CCoinControl methods
43b09b993d fuzz: Improve oracle for existing CCoinControl tests
ac1ccc5bd9 build: Add CTAD feature check
9f273f1c1c build: Add path to doc recommended versions for CLANG, GCC and MSVC
55d37546fa Bugfix: GUI/Intro: Handle errors from SelectParams the same as if during InitConfig
1aa78cdab6 clusterlin: adopt STL ranges algorithms (refactor)
747da25360 feefrac: drop comparison and operator{<<,>>} for sorted wrappers
938312d7a6 docs: clarify RPC credentials security boundary

git-subtree-dir: libbitcoinkernel-sys/bitcoin
git-subtree-split: d84fc352cbc1363df5cd6024a22e73fc63283e4f
sedited pushed a commit to sedited/rust-bitcoinkernel that referenced this pull request Jun 25, 2026
…fc352cb

d84fc352cb Merge bitcoin/bitcoin#35550: net_processing: fix BIP152 first integer interpretation
fafff08e1f Merge bitcoin/bitcoin#35403: mining: pr 33966 followups (disentangle miner startup defaults)
e12db0902b Merge bitcoin/bitcoin#34411: Full Libevent removal
fa8e4700ba Merge bitcoin/bitcoin#35424: doc, wallet: align external signer documentation, reject sendtoaddress/sendmany
146b3adfaa doc: remove libevent
96d7f55f1d vcpkg: remove libevent
0443943dc0 ci: remove libevent
a0ca249f3f depends: remove libevent
35d2d06797 cmake: remove libevent
6b58eb6d51 Merge bitcoin/bitcoin#35070: validation: prevent FindMostWorkChain from causing UB
6d8e15dff0 Merge bitcoin/bitcoin#35571: ci: use warp docker buildkit cache
33e3c7524f Merge bitcoin/bitcoin#35521: fuzz: Speed up `dbwrapper_concurrent_reads` harness
9c20859b5f Merge bitcoin/bitcoin#35182: Replace libevent with our own HTTP and socket-handling implementation
48df0939e7 fuzz: Remove unnecessary thread pool mutexes
a4c3b003f8 fuzz: Speed up dbwrapper_concurrent_reads harness
61020b36c5 doc: add release note for #35182 replace libevent HTTP server
39e9099da5 logging: deprecate libevent category
8c1eea0777 http: remove libevent usage from this subsystem
e427c227fa fuzz: switch http_libevent::HTTPRequest to http_bitcoin::HTTPRequest
21c7542cf8 http: switch servers from libevent to bitcoin
cbb8d1fb33 HTTPServer: disconnect after idle timeout (-rpcservertimeout)
e5f242eef3 HTTPServer: implement control methods to match legacy API
2ca645c2e4 refactor: split HTTPBindAddresses into config parse and libevent setup
fec6b6bca8 refactor: split http_request_cb into libevent callback and dispatch
f946ff5a0b Add helper methods to HTTPRequest to match original API
dd11b5e01b define HTTP request methods at module level outside of class
7ee7df988e HTTPServer: use a queue to pipeline requests from each connected client
5ef1b80a09 Allow http workers to send data optimistically as an optimization
a69bb9e1e6 HTTPServer: disconnect clients
cdf71998e5 HTTPServer: compose and send replies to connected clients
6734bcdeff HTTPserver: support "chunked" Transfer-Encoding
80e1cfe5a2 HTTPServer: read requests from connected clients
3c5226ab96 HTTPServer: start an I/O loop in a new thread and accept connections
4ef4ebdc0c http: Introduce HTTPRemoteClient class
a85286c5c7 HTTPServer: generate sequential Ids for each newly accepted connection
5a3aa1af28 HTTPServer: implement and test AcceptConnection()
f5bc018948 http: Introduce HTTPServer class and implement binding to listening socket
9463e98781 http: Implement HTTPRequest class
ad50aa4a0f http: Implement HTTPResponse class
68b5d289d1 http: Implement HTTPHeaders class
89c54ae4cb http: enclose libevent-dependent code in a namespace
5aa3629b48 util/string: LineReader should only trim \r or \r\n
0cdbb191b5 util/string: use string_view in LineReader
881d4b6c75 test: cover common HTTP attacks and common malformed requests
08a25a7231 Merge bitcoin/bitcoin#35465: coins: compact chainstate regularly
27262a2884 Merge bitcoin/bitcoin#35559: scripted-diff: Rename SteadyClockContext to FakeSteadyClock
ea626c268a Merge bitcoin/bitcoin#35560: lint: Require scripted-diff script to succeed (take 2)
c0922f78af Merge bitcoin/bitcoin#35567: depends: latest config.guess & config.sub
b552f1713a ci: use warp docker buildkit cache
1a2523e901 Merge bitcoin/bitcoin#34937: Fix startup failure with RLIM_INFINITY fd limits
5883ba77ea Merge bitcoin/bitcoin#34764: rpc: replace ELISION references with explicit result fields
f6939fd13d Merge bitcoin/bitcoin#35564: Update secp256k1 subtree to latest master
61c754ae99 Merge bitcoin/bitcoin#35512: wallet: move fAbortRescan reset into WalletRescanReserver reserve function
794befd4b0 Merge bitcoin/bitcoin#35384: util: Check write failures before renaming settings.json
8f0354995b depends: latest config.guess & config.sub
0e95e1abdb Merge bitcoin/bitcoin#35437: migrate: Handle HD chains that have identical seeds but different IDs
fab2874269 lint: Require scripted-diff script to succeed
9caae50682 Update secp256k1 subtree to latest upstream
1f3f0a4e22 Squashed 'src/secp256k1/' changes from 7262adb4b4..bd0287d650
855a3fee88 scripted-diff: Rename SteadyClockContext to FakeSteadyClock
341360964a Merge bitcoin/bitcoin#35549: argsman: Fix duplicate option assertion to allow HIDDEN category registration
abc33ff043 test: announce field must be 0 or 1 in sendcmpct
2d0dce0af5 net_processing: fix BIP152 first integer interpretation
f963f2b675 argsman: allow duplicate registration between HIDDEN and other categories
0654511e1b util: Check write failures before renaming settings.json
1e169a8a6c Merge bitcoin/bitcoin#35548: doc: updated ci docs to reflect removal of REPO_USE_WARP_RUNNERS flag
f570d7cd53 Merge bitcoin/bitcoin#35547: lint: Require scripted-diff script to succeed
744d495019 ci: updated docs to reflect removal of REPO_USE_WARP_RUNNERS flag
2a36d6a561 lint: Require scripted-diff script to succeed
0f156c16e8 Merge bitcoin/bitcoin#35470: argsman: Prevent duplicate option registration across categories
09ba59ff6b Merge bitcoin/bitcoin#35540: test: descriptor: bare multisig at TOP level with exactly 3 pubkeys is allowed
0e475098cd Merge bitcoin/bitcoin#35463: depends: Drop trailing slash from `CMAKE_INSTALL_LIBDIR`
0136e17c0a Merge bitcoin/bitcoin#35546: ci: Use GCC consistently in i686 task
fae482b4e6 ci: Use GCC consistently in i686 task
32df86f1d8 argsman: Prevent duplicate option registration across categories
a30ef6b91f Merge bitcoin/bitcoin#35396: ci: Rewrite broken wrap-valgrind.sh to .py
55a4c946f6 test: descriptor: bare multisig at TOP level with 3 pubkeys is allowed
9460090f1a Merge bitcoin/bitcoin#35520: lint: remove redundant test suite uniqueness check
61a0305422 Merge bitcoin/bitcoin#35526: ci: bump MSan fuzz timeout from 150 to 180 minutes
6d5c1fb3ee Merge bitcoin/bitcoin#35173: util: shorten thread names to avoid Linux truncation
d3e40af259 index: shorten indexer thread names
d69c46292d util: zero-pad thread number suffixes
41e531c4ab util: shorten `ThreadPool` worker names
92d812446e Merge bitcoin/bitcoin#35538: test: make TestChain100Setup's m_clock timestamp more readable
011ad6ea3c Merge bitcoin/bitcoin#35441: ci: inline runner selection
58cc2a0453 test: make TestChain100Setup's m_clock timestamp more readable
6e93ef4623 Merge bitcoin/bitcoin#35503: guix: CMake-related improvements
f655d887f0 Merge bitcoin/bitcoin#35535: iwyu: Fix warning in `bench/pool.cpp`
059edf1908 guix: Fix "Ignoring empty string" CMake warning for non-Linux hosts
2d86083fd4 guix: Drop redundant CMake `--verbose` options
d92a20b310 iwyu: Fix warning in `bench/pool.cpp`
6921f5df01 Merge bitcoin/bitcoin#35414: iwyu: Fix warnings in `src/bench` and treat them as error
355fffb8cc Merge bitcoin/bitcoin#35528: test: doc: remove `--perf` profiling from functional test framework
46927cf82c Merge bitcoin/bitcoin#35504: test/doc: Follow-up nits for #35269
6bc2d996b0 Merge bitcoin/bitcoin#35499: guix: add `package.sh`
87d099d5f8 Merge bitcoin/bitcoin#35519: rpc: tighten setmocktime upper bound to UINT32_MAX
04eccc2be5 Merge bitcoin/bitcoin#35043: refactor: Properly return from ThreadSafeQuestion signal + btcsignals follow-ups
2cfb10b668 Merge bitcoin/bitcoin#35498: net: move cs_main up in FetchBlock to fix rpc assert crash
9fae7e9886 test: doc: remove `--perf` profiling from functional test framework
17353f9d97 ci: bump MSan fuzz timeout
debac5f2cd Merge bitcoin/bitcoin#35523: Revert "build: exclude mptest target from compile commands"
406c2348dd rpc: tighten setmocktime upper bound to UINT32_MAX
d186c390f4 Revert "build: exclude mptest target from compile commands"
2447385f47 rpc: remove unused RPCResult::Type::ELISION
7a85118005 rpc: expand decodepsbt output script with explicit fields
88e2a6ae89 rpc: expand getaddressinfo embedded with explicit fields
a9f9e7d17e rpc: extract fee estimate result helpers
8a615a8800 rpc: extract ListSinceBlockTxFields() helper
372ac283ac rpc: extend TxDoc() for getblock verbosity 2/3
0380a1c46b rpc: extend TxDoc() for getrawtransaction verbosity 2
946feb3f1f test: remove redundant test suite uniqueness lint
b3371029dc doc: use signing pubkey instead of aggregate xonly key
4c99ed1076 Merge bitcoin/bitcoin#35418: build: exclude mptest target from compile commands
9bfdde74b5 guix: add package.sh
142e86a65c Merge bitcoin/bitcoin#35458: qa: Avoid extra tracebacks when exception is raised
216b50c9a6 Merge bitcoin/bitcoin#35179: test: Add importdescriptors rpc error coverage
77772e7a30 undo "ui: Compile boost:signals2 only once"
fa45783d55 mv btcsignals.h to src/util
fa4903db8a refactor: Make scoped_connection ctor explicit
fa1bc1fe51 test: Check btcsignals determinism in thread_safety test case
fa86e5dba9 refactor: Properly return from ThreadSafeQuestion signal
fa4badc0fd refactor: Make ThreadSafeMessageBox signal void
faad9d6434 refactor: Mark btcsignals operator [[nodiscard]]
2fe34808fa wallet: reject sendtoaddress and sendmany for external signers
394e473d42 coins: compact chainstate in background
aa021b26f3 validation: randomly compact chainstate
bd5a32f7db doc: add taproot descriptor to getdescriptors example
7131c82937 doc: clarify which commands receive --chain, --fingerprint and --stdin
4fdd4d8d29 doc: replace stale signtransaction wording with current signtx flow
fab92257fe doc, rpc: document enumerate model field and fingerprint deduplication
b10889d107 coins: test chainstate flush baseline
c117bbc467 Merge bitcoin/bitcoin#35514: ci: Alpine 3.24
3be1115ade ci: Alpine 3.24
3b712b9d02 Merge bitcoin/bitcoin#35120: btcsignals: delete broken scoped_connection move assignment
2818a171c0 test: add abortscan unit test
bc30e95163 wallet: move fAbortRescan reset into WalletRescanReserver reserve()
b83a999b14 btcsignals: delete broken scoped_connection move assignment
46d0e21d75 Merge bitcoin/bitcoin#35288: ci: Bump toward Ubuntu 26.04
d0b8d445fb Merge bitcoin/bitcoin#35455: fuzz: improve dbwrapper_concurrent_reads performance
d6359937bf validation: check invariants when inserting into m_blocks_unlinked
0852925bd8 test/doc: remove misleading comment and improve tests
ca4a380281 test: add coverage for UB caused by FindMostWorkChain
c787b3b99b validation: avoid duplicates in m_blocks_unlinked
e0fb41fd2a Merge bitcoin/bitcoin#35489: fuzz: test non-max descriptor satisfaction weight
50e9f2ad33 Merge bitcoin/bitcoin#35497: test: FakeNodeClock follow-ups in unit tests
809f909e58 Merge bitcoin/bitcoin#35451: lint: Grep for `AUTO` test suites in file names
530e1f5290 Merge bitcoin/bitcoin#34636: node: allocate index caches proportional to usage patterns
8598ec2204 Merge bitcoin/bitcoin#35221: BIP 434 Support: Peer feature negotiation
526aae3768 fuzz: test non-max descriptor satisfaction weight
472b950b7f qa: Use custom assert_greater_than() over naked assert
1ce9e26239 fuzz: improve dbwrapper_concurrent_reads performance
fb47793b99 Merge bitcoin/bitcoin#35168: validation: Don't add pruned blocks to `m_blocks_unlinked` on startup
53b836cdce Merge bitcoin/bitcoin#34028: p2p: Prevent integer overflow in LocalServiceInfo::nScore
3bbc3c67ad Merge bitcoin/bitcoin#35101: refactor: disable default std::hash for CTransactionRef
288018131e Merge bitcoin/bitcoin#35254: crypto: cleanse HMAC stack buffers after use and ChainCode
c85e04f079 Merge bitcoin/bitcoin#35478: fuzz: reset the mockable steady clock between iterations
ed11dd6a5f test: add coverage for importdescriptors when manually interrupting a wallet rescan
d90d7f0a55 test: add coverage for importdescriptors errors when using assumeutxo
ad388bf254 test: add coverage for importdescriptors while wallet is rescanning
ddceb4e603 test: updated different_key to be different_field and also used a single assert_equal with 3 args instead of multiple assert_equals
6751a323c0 iwyu: Fix warnings in `src/bench` and treat them as error
fab52281f7 refactor: Drop unused includes after iwyu CI bump
fa4774d032 ci: Bump APT_LLVM_V-based task configs to Ubuntu 26.04
fa1414a36a ci: Debian Trixie -> Ubuntu 26.04
359680b74d net: move cs_main up in FetchBlock to fix rpc assert crash
4b91316643 Merge bitcoin/bitcoin#35459: guix: add setup.sh
fa03852e9c test: Use SteadyClockContext in pcp_tests
fa3716c439 test: Use FakeNodeClock in more places
fae9623c8d test: Add FakeNodeClock m_clock to TestChain100Setup
a6ed29d6c2 bench, refactor: Use `std::string_view` for `BenchRunner` ctor parameter
bcbf5bae16 Merge bitcoin/bitcoin#35114: test: NodeClockContext follow-ups
543c00f47d Merge bitcoin/bitcoin#35448: ci: don't build libunwind in msan
17ed7f5060 Merge bitcoin/bitcoin#35297: p2p: Release m_peer_mutex early in InitiateTxBroadcastToAll
087f02c929 ci: skip libunwind runtime in LLVM build
6d47f7cc6f ci: use llvm 22.1.7
9868e1bf65 Merge bitcoin/bitcoin#35487: scripted-diff: Rename UNIQUE_NAME to BITCOIN_UNIQUE_NAME
577999c2ce Merge bitcoin/bitcoin#35462: test: remove unnecessary nodes from wallet_multisig_descriptor_psbt
e36f5d5d0b Merge bitcoin/bitcoin#35456: test: Perform full reset of CoinsResult in order to avoid passing 21M BTC
1d3bc816c3 Merge bitcoin/bitcoin#35267: rpc: make getprivatebroadcastinfo and abortprivatebroadcast fail if privatebroadcast is not enabled
fba713a28c scripted-diff: Rename UNIQUE_NAME to BITCOIN_UNIQUE_NAME
1aafd49077 Merge bitcoin/bitcoin#35359: blockstorage: Remove cs_LastBlockFile recursive mutex
84d07e471c test: add coverage for importdescriptor with an encrypted wallet
ec6cf49b91 blockstorage: Remove cs_LastBlockFile recursive mutex
35a814a045 test: Limit clocks to one active instance
55e402ffef scripted-diff: Rename NodeClockContext to FakeNodeClock
1e9546fcf4 test: Use NodeClockContext in more call sites
758fea59a8 test: Drop ++ from NodeClockContext default constructor
7c2ec3949a test: Enter mocktime before peer creation in block_relay_only_eviction
0bfc5e4fff add release notes
fdc9fc1df2 test: check getprivatebroadcast and abortprivatebroadcast throw if the node is running without -privatebroadcast set
7b821ef9b7 rpc: getprivatebroadcastinfo and abortprivatebroadcast throw if -privatebroadcast is disabled
5f33da9aa3 Merge bitcoin/bitcoin#35481: fuzz: fix dead HD keypaths (de)serialization round-trip
5deb053a75 fuzz: fix dead HD keypaths (de)serialization round-trip
19b32a2e18 fuzz: reset the mockable steady clock between iterations
27472a542c Merge bitcoin/bitcoin#35466: ci: run ipc functional tests in arm job
f6bdbcf79d lint: Grep for `AUTO` test suites in file names
b2fbd5b5dd ci: run ipc functional tests in arm job
44fc3a290d rpc: introduce HelpElision variant and ElideGroup helper
2cf2b22ff1 depends: Drop trailing slash from `CMAKE_INSTALL_LIBDIR`
da74ff9ca4 test: Add functional test for BIP434
01b8a117d2 test_framework: BIP 434 support
6a129983c9 BIP434: FEATURE message support
3210fc477a net: Add AdvertisedVersion() for protocol version advertised to a peer
5b65e31270 test: remove two unnecessary nodes from the test
94ed45427c serialize: add LimitedVectorFormatter
1b3f776ebb serialize: string_view serialization
47da4f9b71 Merge bitcoin/bitcoin#35410: net: use the proxy if overriden when doing v2->v1 reconnections
54de023a7c guix: add setup.sh
0cac23b66e Merge bitcoin/bitcoin#35431: test: pass -datadir to bitcoin-cli -ipcconnect check
f42226d526 qa: Silence socket.timeout exception when substituting it for a JSONRPCException
659671ac3d qa: Avoid cleanup when exception is raised
e01741e6ac Merge bitcoin/bitcoin#35446: ci: use pyzmq over zmq
628816bc55 Merge bitcoin/bitcoin#35447: ci: use warpbuild cache for docker buildkit cache
d0b76c7f3e rpc+bitcoin-tx: Specify correct type for ParseFixedPoint()
a5050ddb6b Merge bitcoin/bitcoin#32150: coinselection: Optimize BnB exploration
082bb1a104 Merge bitcoin/bitcoin#35335: Make deployment configuration available outside of regtest in unit tests
43ca54ca00 refactor(test): Make CAmount arg explicit for BuildCreditingTransaction()
b5e91e946c wallet: Remove CoinsResult::Clear()
5bd990a3dd Merge bitcoin/bitcoin#34779: BIP 323: reserve version bits 5-28 as extra nonce space
2189a6f5f2 p2p: Saturate LocalServiceInfo::nScore updates at INT_MAX
82901981bf ci: use Warp cache for Docker layers
7c2718a4b8 Merge bitcoin/bitcoin#34767: Bugfix: GUI/Intro: Handle errors from SelectParams the same as if during InitConfig
4a6d1458b4 ci: add pyzmq to msan job
c21b58e263 ci: use pyzmq over zmq
b28cf409a1 Merge bitcoin/bitcoin#34866: fuzz: target concurrent leveldb reads
de92208c2b migrate: Handle HD chains that have identical seeds but different IDs
2669019fe8 Merge bitcoin/bitcoin#35269: musig: Include pubnonce in session id
7735c13488 test: run bitcoin-cli -ipcconnect check under valgrind with -datadir
8cb8653a22 fuzz: target concurrent leveldb reads
6609088fe6 fuzz: extract ConsumeDBParams helper
61d1c78ed4 Merge bitcoin/bitcoin#35192: wallet: unfriend LegacyDataSPKM and DescriptorScriptPubKeyMan
726e196ef2 ci: inline runner selection
2e0a36c360 Merge bitcoin/bitcoin#35439: test: Improve loopback address check in `rpc_bind.py`
53373d07c3 Merge bitcoin/bitcoin#35430: ci: use warp caching on warp runners
4731049ba4 build: exclude mptest target from compile commands
255f7c720f Merge bitcoin/bitcoin#35404: wallet: allow anti-fee-sniping in sendall RPC while not relying on RBF default
c8b8c275fa test: Improve loopback address check in `rcp_bind.py`
654a5223af Merge bitcoin/bitcoin#33661: test: Add test on skip heights in CBlockIndex
19e45334bc Merge bitcoin/bitcoin#35312: kernel: assert invalid buffer preconditions in `btck_*_create` functions
107d4178d9 versionbits: update VersionBitsCache doc comment to match current behaviour
94e3ac0b21 doc: release notes and bips doc update for #34779
1d5240574a qa: test we don't warn for ignored unknown version bits deployments
f802edf57c versionbits: Limit live activation params and activation warnings per BIP323
2ce4ae7d8f ci: Add dynamic cache switching to warp cache
fbe628756c Merge bitcoin/bitcoin#35131: guix, refactor: Minor script cleanups and improvements
bf0d257c11 net: un-default the OpenNetworkConnection()'s proxy_override argument
5a3756d150 test: add a regression test for private broadcast v1 retries
34ac53457f Merge bitcoin/bitcoin#35402: doc: Compress doc/build-unix.md dependency package names into table
10dfdd4b9f Merge bitcoin/bitcoin#35379: test: Fix feature_dbcrash.py --usecli error
214ad1761b Merge bitcoin/bitcoin#35408: ci: 35378 followups
a3dc44c085 Merge bitcoin/bitcoin#35385: test: restore JSONRPCException error format
9c1fcaca5c wallet, test: fix sendall anti-fee-sniping when locktime is not specified
570a627640 kernel: assert invalid buffer preconditions in `btck_*_create` functions
ac09260982 test: restore JSONRPCException error format
ab35a028ed test: make reusable filling of a node's addrman
2333be9cbc test: make reusable starting a standalone P2P listener
2ffa81fac4 test: make reusable SOCKS5 server starting
6c525c2ec1 wallet: unfriend LegacyDataSPKM and DescriptorScriptPubKeyMan classes
8877eec726 wallet: allow anti-fee-sniping in sendall RPC while not relying on RBF default
13b7fffc5e Merge bitcoin/bitcoin#35011: iwyu: Fix warnings in `src/script` and treat them as errors
6183942513 ci, iwyu: Fix warnings in src/scripts and treat them as error
5700a61b73 ci: use ubuntu-latest instead of ubuntu-24.04
265563bf75 doc: remove reference to cirrus
b847626562 test: refresh MiniWallet after node restart
f4e643cb15 test: merge mining options in package feerate check
280ce6a0ae miner: ensure block_max_weight is flattened before limit checks
65bd3164fb mining: clarify test_block_validity comment
978e7216e6 test: use shared default_ipc_timeout
1ea532e590 Merge bitcoin/bitcoin#34953: crypto: disable ASan instrumentation of SSE4 SHA256 for GCC (matching Clang)
d0a54dd8e0 Merge bitcoin/bitcoin#35381: wallet, test: optinrbf deprecation followups
c6f225c757 Merge bitcoin/bitcoin#28333: wallet: Construct ScriptPubKeyMans with all data rather than loaded progressively
5486ef8cc2 Merge bitcoin/bitcoin#34198: wallet: fix ancient wallets migration
fa787043f5 doc: Compress doc/build-unix.md dependency package names into table
f1344e6c7f Merge bitcoin/bitcoin#35378: ci: switch to warp runners
d12d8e52d2 Merge bitcoin/bitcoin#35400: doc: Remove good_first_issue.yml, Reword "Getting started" section
b86c1c443d test: add coverage for migrating ancient wallets
fd44d48b24 wallet: fix ancient wallets migration
a34dbc836c Merge bitcoin/bitcoin#35313: Bump leveldb subtree
896eaacd91 Merge bitcoin/bitcoin#34644: mining: add submitBlock to IPC Mining interface
fa51f37f18 doc: Reword the Getting-Started section
53388773af guix: Remove redundant ShellCheck `source` directives
62cf7bc53f guix, refactor: Add `BASE` argument to `*_for_host` functions
5d46429e32 guix, refactor: Move `distsrc_for_host()` to `prelude.bash`
cab65ea9c6 guix, refactor: Move duplicated `profiledir_for_host()` to `prelude.bash`
faa9d4345f guix, refactor: Move duplicated `outdir_for_host()` to `prelude.bash`
6b59fd6b8c guix, refactor: Remove `contains()` function
d4c69a7224 guix, refactor: Remove unused `out_name()` function
fad585b6e5 test: Wait for node exit after crash in verify_utxo_hash
faf1475514 ci: Exclude feature_dbcrash.py under --v2transport --usecli
fac27d702f test: Fix feature_dbcrash.py --usecli intermittent error
fa09de8b68 test: [refactor] Simplify submit_block_catch_error
f701cd159a doc: fix typo in release notes of #34917
7bc39e3d08 wallet, test: add wallet_deprecated_rbf.py for walletrbf deprecated keys & options
2cbbcb5659 wallet, test: remove -deprecatedrpc=bip125 from wallet_send.py
307134bd7e wallet, test: remove -deprecatedrpc=bip125 from wallet_migration.py
3ec550d168 wallet, test: remove -deprecatedrpc=bip125 from wallet_basic.py
a52ea9bff9 wallet, test: remove -walletrbf startup option from wallet_backwards_compatibility.py
e3f5c18913 Merge bitcoin/bitcoin#34948: guix: Split manifest into build and codesign manifests
a9ac680af3 build: remove FALLTHROUGH_INTENDED from leveldb.cmake
4d58c3271c build: remove -Wno-conditional-uninitialized from leveldb build
5fe0615f7a Update leveldb subtree to latest upstream
58cdb5c2e8 Squashed 'src/leveldb/' changes from ab6c84e6f3..a7f9bdc611
4bdd46ace3 ci: switch runners from cirrus to warpbuild
fab5733f5d doc: Remove good_first_issue.yml
fa98d44951 ci: Rewrite broken wrap-valgrind.sh to .py
00af5620f0 Merge bitcoin/bitcoin#35206: doc: fix doxygen links to threads in developer-notes.md
faf7e38973 ci: refactor: Avoid warning: INSTALL_BCC_TRACING_TOOLS: unbound variable
85c27c9de5 Merge bitcoin/bitcoin#35394: test: remove unnecessary rpc calls from feature_dbcrash
42330922dd wallet, test: remove -walletrbf startup option from wallet_backwards_compatibility.py
8cb6e405d8 wallet, test: remove -walletrbf startup option from wallet_listtransactions.py
0ee94b2fef wallet, test: remove -deprecatedrpc=bip125 from wallet_listtransactions.py
5e833e068d wallet, test: -walletrbf startup option from wallet_bumpfee.py
a2a2b1745f wallet, test: remove -walletrbf startup option from rpc_psbt.py
615c0aefa8 Merge bitcoin/bitcoin#35391: test: Use operator<< for time_points instead of manual TickSinceEpoch
c17cc76a18 test: speed up feature_dbcrash
0687438e94 Merge bitcoin/bitcoin#35372: refactor: Enhance type safety in overflow operations
fad4f417d1 test: Use operator<< for time_points instead of manual TickSinceEpoch
d846444d01 guix: Split manifest into build and codesign manifests
0b9e10ad40 guix: Update `python-signapple` and wrap with OpenSSL paths
3962138cc0 test: add IPC submitBlock functional test
5b60f69e40 mining: add submitBlock IPC method to Mining interface
813b4a80d7 refactor: introduce SubmitBlock helper
a3fe455a95 wallet: refactor to read -walletrbf only once instead of twice
9c15022260 Merge bitcoin/bitcoin#35337: doc: add feature deprecation and removal process to developer notes
a4157fc24a Merge bitcoin/bitcoin#33966: refactor: disentangle miner startup defaults from runtime options
ac9424fdc6 Merge bitcoin/bitcoin#35145: validation: fix misleading VerifyDB summary log
9767e80b21 Merge bitcoin/bitcoin#35296: doc: Fix broken links in dev notes, move sections
9ec4efebd1 Merge bitcoin/bitcoin#35015: bitcoin-cli: note -rpcclienttimeout is not implemented for IPC connections
b43a936355 Merge bitcoin/bitcoin#33974: cmake: Check dependencies after build option interaction
d5188b5592 Merge bitcoin/bitcoin#35363: test: Allow --usecli in more tests
743bf350f2 Merge bitcoin/bitcoin#35049: test: remove circular dependency between authproxy and util
fa24693819 test: Allow --usecli in tests that already support it
fa8d4d5c35 test: Catch CalledProcessError to support --usecli in feature_dbcrash.py
faf0f848ef test: use echojson to allow rpc_named_arguments.py --usecli
faf993ee44 test: Stop node before modifying config to support rpc_users.py --usecli
dd0dea3e89 Merge bitcoin/bitcoin#34917: wallet: mark bip125-replaceable RPC key and walletrbf startup option as deprecated
acea6f2caf Merge bitcoin/bitcoin#35251: wallet: Fix for duplicate external signers case
801e3bfe38 chainparams: add overloads for RegTest and SigNet with no options
4995c00a9c chainparams: make deployment configuration available on all test networks
0774eaaf0c util: Require integers for SaturatingAdd() and AdditionOverflow()
32d072a49f doc: add release notes for #35319
d01b461f71 net: ensure no direct private broadcast connections
fd230f942d net: use the proxy if overriden when doing v2->v1 reconnections
a815e3e262 rpc: Correct type for tx_sigops
7be0d6fa18 test: remove the lazy import of util in authproxy
779f444680 test: move out JSONRPCException from authproxy to util
de925455c8 Merge bitcoin/bitcoin#35141: fuzz: apply node context reset pattern to p2p_handshake
2e9fdcc6da doc: add feature deprecation and removal process to developer notes
fa4fc8c1d7 test: Set TestNode url field early, so that feature_loadblock.py --usecli works
5faf2ad880 doc: add release notes for deprecation of wallet rbf & bip125 fields
aba24a9b62 wallet: remove "RPC Only" from -walletrbf option help description
9f7b08c61c Merge bitcoin/bitcoin#35334: test: Allow --usecli in more tests
b9f0040caf Merge bitcoin/bitcoin#34614: ci: Put space and non-ASCII char in scratch dir
f28cd7587b Merge bitcoin/bitcoin#35348: ci: switch to GitHub cache for all runners
59918de329 Merge bitcoin/bitcoin#34801: ci: Enable pipefail in 03_test_script.sh
e4f033789c Merge bitcoin/bitcoin#35324: test: Document rare failure in test_inv_block better
033a56ccb2 Merge bitcoin/bitcoin#34342: cli: Replace libevent usage with simple http client
c03107acf5 ci: switch to GitHub cache for all runners
908cc9d30b Merge bitcoin/bitcoin#35344: kernel: improve BITCOINKERNEL_WARN_UNUSED_RESULT usage
e91f8713ac Merge bitcoin/bitcoin#35349: ci: Fix `path` input for vcpkg downloads cache
1e5d3b4f0d doc: add release note for mining option validation
0317f52022 ci: enforce iwyu for touched files
8c58f63578 refactor: have mining files include what they use
3bb6498fb0 mining: store block create options in NodeContext
4637cd157d mining: reject invalid block create options
8daac1d6eb mining: add block create option helpers
128da7c3ff miner: add block_max_weight to BlockCreateOptions
fa81e51eae mining: parse block creation args in mining_args
020166080c mining: use interface for tests, bench and fuzzers
44082bea47 interfaces: make Mining use const NodeContext
d4368e059c move-only: add node/mining_types.h
6aeb1fbea2 test: cover IPC blockmaxweight policy
63b23ea1e9 test: regression test for waitNext mining policy
24750f8b31 test: add createNewBlock failure helper
63ee9cd15b test: misc interface_ipc_mining.py improvements
faf02674b3 refactor: Set TestNode.cli only after RPC is connected
fae376cafb refactor: Inline get_rpc_proxy
fa00c7c7a4 test: Allow rpc_bind.py --usecli
fa8f25118c refactor: Use create_new_rpc_connection in wallet_multiwallet.py
fa3ae6c7d3 test: Allow feature_shutdown.py --usecli
fa2a3683d5 test: Allow mining_getblocktemplate_longpoll.py --usecli
735b1cf431 Merge bitcoin/bitcoin#34806: refactor: logging: Various API improvements
a56b4ead41 Merge bitcoin/bitcoin#35017: mempool: remove all subsequent tx in pkg on failure
00e9df90c8 Merge bitcoin/bitcoin#35333: qa: use NORMAL_GBT_REQUEST_PARAMS consistently in functional tests
37d7ce47c5 Merge bitcoin/bitcoin#35350: test: suppress ECONNABORTED in wait_for_rpc_connection on Windows
18c1cc65e9 kernel: improve BITCOINKERNEL_WARN_UNUSED_RESULT usage
7209eb7790 test: suppress ECONNABORTED in wait_for_rpc_connection on Windows
0553ce5ddb Merge bitcoin/bitcoin#35316: musig: Reject empty pubkey list in GetMuSig2KeyAggCache
e4f1e43103 ci: Fix `path` input for vcpkg downloads cache
fa99a3ccac ci: Enable pipefail in 03_test_script.sh
d61053d97b build: Drop libevent from bitcoin-cli link libraries
798d051c80 cli: Remove libevent usage
ca5483a662 qa: use NORMAL_GBT_REQUEST_PARAMS consistently
bd0942bbd9 Merge bitcoin/bitcoin#34887: fuzz: target CDBWrapper
2940053761 Merge bitcoin/bitcoin#33223: coinselection: Tiebreak SRD eviction by weight
5ccb698f53 Merge bitcoin-core/gui#936: Remove opt-in RBF
211e1053bf Merge bitcoin/bitcoin#32220: cmake: Get rid of undocumented `BITCOIN_GENBUILD_NO_GIT` environment variable
ecf20317cb Merge bitcoin/bitcoin#35270: doc: Document minimum versions for Xcode CLT and MSVC
97f7cc0233 wallet: mark -walletrbf startup option as deprecated
c4a7613e6a wallet: mark `bip125-replaceable` key as deprecated in transaction RPCs
8ee5622455 Merge bitcoin/bitcoin#35338: qa: regenerate hardcoded regtest chain for kernel lib unit tests
131fa570b9 test: Add test for BuildSkip() and skip heights
c6dbf3158b Merge bitcoin/bitcoin#35304: kernel: doc: document wipe lifecycle and best entry nullability
f05b1a3532 rpc: Fix for duplicate external signers case
98f706c698 qa: regenerate hardcoded regtest chain for kernel lib unit tests
ac9aa71b7f mempool: remove all subsequent tx in pkg on failure
df7ed5f355 chainparams: encapsulate deployment configuration logic
b63ef20d54 test: add fuzz harness for CDBWrapper
32169c3855 dbwrapper: accept optional testing leveldb::Env in DBParams
8d390c93fc dbwrapper: make max_file_size a configurable DBParams field
376e7ef07c util: Expose IOErrorIsPermanent in sock header
b796bf44f3 Merge bitcoin/bitcoin#35228: wallet: use `outpoint` when estimating input size
3158b890e1 Merge bitcoin/bitcoin#33765: doc: update interface, --stdin flag, `signtx` (#31005)
21edcc47e2 Merge bitcoin/bitcoin#35328: test: restore assertion that tx contains exactly 2500 sigops
5d562430de netbase: Add timeout parameter to ConnectDirectly
fa37c6a529 test: [move-only] Extract create_new_rpc_connection
a988ac592f cli: Add HTTPResponseHeaders class for parsing response headers
ae73b69b52 test: restore assertion that tx contains exactly 2500 sigops
a7df1bd7ca Merge bitcoin/bitcoin#34537: crypto: fix incorrect variable names in SHA-256 ARM intrinsics
5570b86fa7 Merge bitcoin/bitcoin#33160: bench: Add more realistic Coin Selection Bench
239424064b Merge bitcoin/bitcoin#35189: kernel: document validation state outputs as overwritten in-place
0358c26d42 kernel: document overwritten validation state outputs
489da5df60 Merge bitcoin/bitcoin#33856: kernel: Refactor process_block_header to return btck_BlockValidationState
fa89098888 test: Document rare failure in test_inv_block better
ce2044a91d Merge bitcoin/bitcoin#33362: Run feature_bind_port_(discover|externalip).py in CI
2284288e9a Merge bitcoin/bitcoin#35279: psbt, test: remove address type restrictions in test
278b9e39df Merge bitcoin/bitcoin#34934: fuzz: exercise ForNode/ForEachNode callbacks in connman fuzz harness
88d9bc5aa4 kernel: Return btck_BlockValidationState from process_block_header API
ed15e14b63 Merge bitcoin/bitcoin#35193: test: avoid non-loopback network traffic from node_init_tests/init_test
4f348c2d73 Merge bitcoin/bitcoin#28802: ArgsManager: support command-specific options
c7056ff03f Merge bitcoin/bitcoin#34893: psbt: preserve proprietary fields when combining PSBTs
8ce84321ce musig: Reject empty pubkey list in GetMuSig2KeyAggCache
b2a3ca3df9 Merge bitcoin/bitcoin#35117: i2p: clean up SESSION CREATE error logging
7802e578c3 Merge bitcoin/bitcoin#34860: mining: always pad scriptSig at low heights, drop include_dummy_extranonce
da769855d0 test: add PSBT proprietary merge regression coverage
3f5b3c7a80 psbt: preserve proprietary fields when combining PSBTs
6189335f6b kernel: doc: document wipe lifecycle and best entry nullability
ed1795aa17 Merge bitcoin/bitcoin#35285: bench: add benchmark for GetMappedAS()
379b9fbf03 Merge bitcoin/bitcoin#34225: refactor, key: move `CreateMuSig2{Nonce,PartialSig}` functions to `musig.{h,cpp}` module
c471c5085b common: Add unused UrlEncode function
9687ef1bd9 ci: Tolerate unused free functions in intermediate commits
02b2c41103 logging: use util/log.h where possible
57d7495fe5 IWYU fixes
611878b46f scripted-diff: logging: Drop LogAcceptCategory
34332dba2f util/log, logging: Provide ShouldDebugLog and ShouldTraceLog instead of a generic ShouldLog
abea304dd6 logging: Move GetLogCategory into Logger class
58113e5833 util/log: Rename LogPrintLevel_ into detail_ namespace
f69d1ae56d util/log: Provide util::log::NO_RATE_LIMIT to avoid rate limits
72e92d67df logging: Protect ShrinkDebugFile by m_cs
faf6afd99d doc: Move mutex and thread section into guideline section
fa514caad7 doc: move-only Valgrind section
fa0202f31d doc: move-only Python section
fa37606c65 doc: Regroup clang-tidy rules
fa9c2ddea9 doc: Fix to use lower-case anchors in links to C++ Core Guidelines
a154c05d49 cmake: Check dependencies after build option interaction
096bb0b5c0 bench: add benchmark for GetMappedAS()
b6c3670442 i2p: clean up SAM error logging
1c500b1709 test: avoid non-loopback network traffic from node_init_tests/init_test
fa2afba28b p2p: Release m_peer_mutex early in InitiateTxBroadcastToAll
3381855e51 doc: external signer: update interface, --stdin flag, IPC-command signtx, contains updates from #33947
ddb94fd3e1 Merge bitcoin/bitcoin#35289: fuzz: Fix timeout in `txorphan`
3142e5f8cf doc: Add release notes for #32220
b71cd5c162 cmake: Skip using git when building from source tarball or as subproject
fe941938e8 cmake: Remove unnecessary `BITCOIN_GENBUILD_NO_GIT` environment variable
9a2cced23a cmake, refactor: Move `find_package(Git)` to `src/CMakeLists.txt`
3cab711d69 Merge bitcoin/bitcoin#35284: fuzz: use ImmediateBackgroundTaskRunner to silence DEBUG_LOCKORDER
004a7e3cfb fuzz: Fix txorphan timeout by limiting block weight
7777a92a92 ci: Use path with spaces on windows as well
fac6c4270d ci: Put space and non-ASCII char in scratch dir
fa38759823 ci: Require $FILE_ENV
cad5f56045 Merge bitcoin/bitcoin#29136: wallet: `addhdkey` RPC to add just keys to wallets via new `unused(KEY)` descriptor
9961229360 Merge bitcoin/bitcoin#31298: rpc: combinerawtransaction now rejects unmergeable transactions
c680cfe343 Merge bitcoin/bitcoin#35123: wallet: remove outdated arguments from chain scanning methods
a145fa881a Merge bitcoin/bitcoin#35156: dbwrapper: reuse scratch `DataStream` buffers
04003e1fa3 Merge bitcoin/bitcoin#35274: doc: clarify libfuzzer-nosan preset uses build_fuzz_nosan dir
5309c90542 Merge bitcoin/bitcoin#35283: doc: mention -DWITH_ZMQ=ON in BSD build guides
90eda67bb8 Remove opt-in RBF
fa3d7ce11c doc: Document minimum versions for Xcode CLT and MSVC
2ef6679c2c test: Check that MuSig2 signing does not reuse nonces
8544537f41 mining: drop unused include_dummy_extranonce option
58eeab790d mining: only pad with OP_0 at heights <= 16
00d22328b0 mining: pad coinbase to fix createNewBlock at heights <=16
801d36f55b fuzz: use ImmediateBackgroundTaskRunner to silence DEBUG_LOCKORDER
ca93ab808c doc: mention -DWITH_ZMQ=ON in BSD build guides
605ff37403 test: bad-cb-length for createNewBlock() at low heights
1966621b76 test: refactor IPC mining test to use script_BIP34_coinbase_height
8ba5f68b1d refactor, key: move `CreateMuSig2PartialSig` to `musig.{h,cpp}` module
d087f266fc refactor, key: move `CreateMuSig2Nonce` to `musig.{h,cpp}` module
f36d89f436 key: add `GetSecp256k1SignContext` access function
0065f354a7 doc: clarify libfuzzer-nosan preset uses build_fuzz_nosan dir
81348576cc psbt, test: remove address type restrictions in test
82733e61de Merge bitcoin/bitcoin#35277: ci: Enable ruff ambiguous-unicode-character checks
fe2bb43e43 Merge bitcoin/bitcoin#35044: contrib: Fix NameError in signet miner gbt()
fa9c919678 refactor: Use ignore-list over verbose select-list
cd8d3bd937 wallet: use outpoint when estimating input size
fa9b01adec ci: Enable ruff ambiguous-unicode-character checks
09a9bb3536 Merge bitcoin/bitcoin#34547: lint: modernise lint tooling
21a1380c13 key: cleanse ChainCode on destruction
bb05986c0a musig: Include pubnonce in session id
3f44f9aef7 test: Add coverage for m_blocks_unlinked invariant in LoadBlockIndex
10ca73c02c Merge bitcoin/bitcoin#34580: build: Add a compiler minimum feature check
1af8e0c4e8 Merge bitcoin/bitcoin#35183: doc: recommend script_flags instead of deployments.taproot
f24a7b5f75 doc: recommend script_flags instead of deployments.taproot
ccbd00ab87 Merge bitcoin/bitcoin#35152: doc: clarify local IWYU workflow and pragmas
b3a3f88346 crypto: cleanse HMAC stack buffers after use
88bfe89793 Merge bitcoin/bitcoin#35227: wallet: check the final BDB page LSN during migration
21599ea612 Merge bitcoin/bitcoin#35241: cmake: Set `CTEST_NIGHTLY_START_TIME` for CDash Nightly pipelines
d406cffafd Merge bitcoin/bitcoin#34228: depends: Unset `SOURCE_DATE_EPOCH` in `gen_id` script
4defc466a2 cmake: Set `CTEST_NIGHTLY_START_TIME` for CDash Nightly pipelines
1f28ed6b6a Merge bitcoin/bitcoin#35235: contrib: mv verify-commits/pre-push-hook.sh to maintainer tools repo
8396b7f2a3 Merge bitcoin/bitcoin#35236: doc: typo roundup
2b7f5914c4 Merge bitcoin/bitcoin#35222: cmake: add CTestConfig.cmake
888857c551 mv contrib/verify-commits/pre-push-hook.sh to maintainer tools repo
d9b57eecad doc: fix whitespace in build-osx.md
e7d4a7e3f9 doc: fix stale autotools reference and SQLite typo
3f9c55426a Merge bitcoin/bitcoin#35230: ci: Move --usecli --extended from i386 task to alpine task
fad61896e8 ci: Move --usecli --extended from i386 task to alpine task
7c84a2bdb1 Merge bitcoin/bitcoin#35219: doc: Add my key to SECURITY.md
cf5c962a39 Merge bitcoin/bitcoin#34991: test: fix feature_index_prune.py bug when using --usecli
6690117c7a Merge bitcoin/bitcoin#35218: test: fix `P2SH` script in coins cache fuzz target
5b11108145 Merge bitcoin/bitcoin#35223: refactor: [rpc] Remove confusing and brittle integral casts (take 3)
e2b0984f99 wallet: check BDB last page LSN
d5adb9d09b doc: fix doxygen links to threads in developer-notes.md
fa864b937e refactor: [rpc] Remove confusing and brittle integral casts (take 3)
9f7a2293c4 depends: Unset `SOURCE_DATE_EPOCH` in `gen_id` script
086894098e cmake: add CTestConfig.cmake
0651a1fc15 doc: Add Niklas Goegge's key to SECURITY.md
ac58e6c53c test: fix P2SH output in coins cache fuzz
aa1d0d7cd7 Merge bitcoin/bitcoin#35209: validation: correct lifetime of precomputed tx data
0429c503fb bench: Replace Coin Selection bench
ec1eefda77 bench: Remove unnecessary wallet parameter
e6c4ffb956 bench: Fix type mismatch
d7ed2840ac Merge bitcoin/bitcoin#21283: Implement BIP 370 PSBTv2
1ed799fb21 validation: correct lifetime of precomputed tx data
371eac8069 fuzz: exercise ForNode/ForEachNode callbacks in connman fuzz harness
08c3c37d12 bitcoin-cli: note -rpcclienttimeout is not implemented for IPC connections
c89c8ddbb3 Merge bitcoin/bitcoin#33300: fuzz: compact block harness
4bf1701f58 Merge bitcoin/bitcoin#33796: kernel: Expose `CheckTransaction` consensus validation function
999e9dbfb4 Merge bitcoin/bitcoin#35202: ci: restore sockets in `i686, no IPC` job
5a2e359213 clarify blockfilterindex cache allocation rationale
224120bf12 Merge bitcoin/bitcoin#32394: net: make m_nodes_mutex non-recursive
11c9ef92a8 ci: unconfine seccomp for i686 no IPC
86718e4589 scripted-diff: rename ABEF_SAVE/CDGH_SAVE to ABCD_SAVE/EFGH_SAVE in SHA-256 ARM intrinsics
8f4a3ba897 Merge bitcoin/bitcoin#35165: cmake: Remove NetBSD-specific workaround from `add_boost_if_needed`
b1ff4773ba Merge bitcoin/bitcoin#34544: wallet: Disallow wallet names that are paths including `..` and `.` elements
db98e357d3 Merge bitcoin/bitcoin#35018: wallet, bench: Use Nanobench setup() for wallet benchmarks, and remove DuplicateMockDatabase
18d003c3dc Merge bitcoin/bitcoin#34916: contrib: override system locale in gen-manpages.py
567ff2b6d6 Merge bitcoin/bitcoin#33196: docs: clarify RPC credentials security boundary
3c2646eacc Merge bitcoin/bitcoin#34026: fuzz: Add tests for `CCoinControl` methods
bfbf1a7ef3 kernel: Expose btck_transaction_check consensus function
404470505a Merge bitcoin/bitcoin#34256: test: support `get_bind_addrs` and `feature_bind_extra` on macOS & BSD
25100fc28d Merge bitcoin/bitcoin#35186: util, iwyu: Add missed header
d28179bac9 util, iwyu: Add missed header
32e479f7a5 Merge bitcoin/bitcoin#34669: feefrac: drop comparison and operator{<<,>>} for sorted wrappers
11713c9fa9 net: make CConnman::m_nodes_mutex non-recursive
aec4fa2de0 net: drop the only recursive usage of CConnman::m_nodes_mutex
eed7af666b doc: Add release note for disallowing some wallet path names
3d7f0e4ed5 wallettool: Use GetWalletPath to determine the wallet path
ef499680c8 Merge bitcoin/bitcoin#34176: wallet: crash fix, handle non-writable db directories
a39cc16b43 doc: Release note for addhdkey
89b9a01b4e wallet, rpc: Disallow importing unused() to wallets without privkeys
35bbee6374 wallet, rpc: Disallow import of unused() if key already exists
f3f8bcbd1d wallet: Add addhdkey RPC
9fa4076b20 test: Test merging implicit PSBTv0 with explicit PSBTv0
1660c18232 doc: Release notes for psbtv2
470e52a5f8 fuzz: Enforce additional version invariants in PSBT fuzzer
5bd0579c09 test: Tests for PSBT AddInput and AddOutput
b8b6e7f0c2 tests: Add PSBT unit test for ComputeTimeLock
0bc1c2e508 tests: Add test vectors from BIP 370
e0e4dbdeb5 psbt: Change default psbt version to 2
bcc1dca77b Add psbt_version to PSBT RPCs and default to v2
ab38c30195 Implement PSBTv2 field merging
93e339e29f Implement PSBTv2 AddInput and AddOutput
b39c86ae60 Allow specifying PSBT version in constructor
dcc9a3c8df Implement PSBTv2 in decodepsbt
5770dbd39f Add PSBT::ComputeLockTime()
863cf47b33 Update test_framework/psbt.py for PSBTv2
925161eaf0 Implement PSBTv2 fields de/ser
d9cf658ee0 Restrict joinpsbts to PSBTv0 only
3da0e16012 Replace PSBT.tx with PSBT::GetUnsignedTx and PSBT::GetUniqueID
c568624ff2 psbt: Return std::optional from PrecomputePSBTData
092de4f1f6 Replace PSBT::GetInputUTXO with PSBTInput::GetUTXO
1d1ae6f0c4 wallet, test: Remove DuplicateMockDatabase
82bc280de4 test: Simple test for importing unused(KEY)
80c29bc6f1 descriptor: Add unused(KEY) descriptor
82c9fe3179 psbt: Use PSBTInput and PSBTOutput fields instead of accessing global tx
95897507e9 psbt: AddInput and AddOutput should take only PSBTInput and PSBTOutput
1b7d323a72 Add PSBTInput::GetOutPoint
543d3e1cdc psbt: add PSBTv2 global tx fields
c01c7f068c psbt: Remove default constructor
9671aa08c2 psbt: add tx input and output fields in PSBTInput and PSBTOutput
990b084f11 Have PSBTInput and PSBTOutput know the PSBT's version
7eacc21ff6 psbt: make PSBT structs into classes
f926c326bb gui: Store PSBT in std::optional in PSBTOperationsDialog
1e2d146b47 psbt: Refactor duplicate key lookup and size checks
88384180d3 test: PSBTs should roundtrip through RPCs that do nothing
001877500d test: construct psbt with unknown field programmatically
0cb884e6df psbt: Fill hash preimages and taproot builder from SignatureData
57820c472b bench: Utilize setup() for WalletLoading and use a real database
9a7604fd25 bench: Use setup() in WalletMigration to prepare the legacy wallet
426a94e7bd bench: Utilize setup() in WalletEncrypt to create the encryption wallet
d672455d20 bench: Utilitze setup() in WalletBalance for marking caches dirty
61412ef887 bench: Utilize setup() in WalletCreate to cleanup previous wallets
451fdd26a4 test: wallet: Constructing a DSPKM that can't TopUp() throws.
32946e0291 wallet: Setup new autogenerated descriptors on construction
e20aaff70f wallet: Construct ExternalSignerSPKM with the new descriptor
aa4f7823aa wallet: include keys when constructing DescriptorSPKM during import
6538f69135 fuzz: Skip adding descriptor to wallet if it cannot be expanded
8be5ee554b test: wallet: Check that loading wallet with both unencrypted and encrypted keys fails.
80b0c25992 wallet: Load everything into DescSPKM on construction
f713fd1725 refactor: wallet: Don't reuse WALLET_BLANK flag for born-encrypted wallets.
cd912c4e10 wallet: Consolidate generation setup callers into one function
0301c758ea wallet migration, fuzz: Migrate hd seed once
2424e52836 lint: doc: detail lint tool install methods
5fefa5a654 Don't pin Python patch version
fd15b55c2e lint: use requirements.txt
5f4d3383da lint: switch to ruff for formatting and linting
a53b81ce4e lint: switch to uv for python management in linter
2b0dc0d228 wallet: Disallow . and .. from wallet names
d084bc88be doc: clarify IWYU workflow
7c7cec4567 ci: update IWYU patch reference
75cf9708a0 ci: add one more routable address to the VMs (docker containers)
1b93983bf5 test: make feature_bind_port_(discover|externalip).py auto-detect the skip condition
032223f403 dbwrapper: reuse iterator scratch stream
7403c0f907 dbwrapper: guard `CDBBatch` scratch streams
cb1ab0a716 test: cover repeated dbwrapper stream use
31ce729b28 streams: add `ScopedDataStreamUsage`
0e4b0bacec validation: Don't add pruned blocks to m_blocks_unlinked on startup
c8d688f41c fuzz: send blocktxn messages in cmpctblock harness
d0333bfe99 fuzz: send compact blocks in cmpctblock harness
3c58efe2ac fuzz: mine blocks and send headers for them in cmpctblock harness
651622432d fuzz: create and send transactions in cmpctblock harness
8c9a3fd0e8 net, fuzz: move CMPCTBLOCK_VERSION to header, use in cmpctblock harness
6cd480f62f fuzz: initial compact block fuzz harness
1d66963749 log: clarify VerifyDB summary log
a9301cfa07 refactor: disable default std::hash for CTransactionRef
47d68cd981 ci: backport iwyu PR 2013 std::hash mapping
e2ef54b8ba cmake: Remove NetBSD-specific workaround from `add_boost_if_needed`
6d86184a8b rpc: combinerawtransaction now rejects unmergeable transactions
08925d5ee7 test: add coverage for loading a wallet in a non-writable directory
0218966c0d test: add coverage for wallet creation in non-writable directory
bc0090f1d6 wallet: handle non-writable db directories
a49bc1e24e ci: add --extended when using --usecli
904c0d07bb util/stdmutex: Drop StdLockGuard
735b25519a support: clamp RLIMIT_MEMLOCK to size_t
8ab4b9fc85 init: clamp fd limits to int
4afbabdcef Fix startup failure with RLIM_INFINITY fd limits
89af67d79f tests: Add some fuzz test coverage for command-specific args
92df785859 tests: Add some test coverage for ArgsManager::AddCommand
33c8090be9 ArgsManager: automate checking for correct command options
186354a0d8 bitcoin-wallet: use command-specific options
d21e82b7d6 ArgsManager: support command-specific options
dfe5d6a81d fuzz: apply node context reset pattern to p2p_handshake
dc84a31014 wallet: remove fUpdate argument from AddToWalletIfInvolvingMe
94845df073 wallet: remove update_tx argument from SyncTransaction
6e796e1f47 wallet: remove fUpdate argument from ScanForWalletTransactions
54e4c0be8f wallet: remove update argument from RescanFromTime method
701bc2dc02 contrib: Fix NameError in signet miner gbt()
7249b376a0 opt: Skip UTXOs with worse waste, same eff_value
5204291860 opt: Skip evaluation of equivalent input sets
ba1807b981 coinselection: Track effective_value lookahead
fa226ab902 coinselection: BnB skip exploring high waste
7ecea1dc5d coinselection: Track whether BnB completed
3ca0f36164 coinselection: rewrite BnB in CoinGrinder-style
2e73739837 coinselection: Track BnB iteration count in result
eff9e798b9 coinselection: Tiebreak SRD eviction by weight
d06dabf26b node: allocate index caches proportional to usage patterns
1950da94fc test: enable `rpc_bind` on macOS and BSD
7236a05503 test: enable `feature_bind_extra` on macOS and BSD
5603ae0ffa test: fix send_batch_request to pass callables when using --usecli
fedeff7f20 crypto: disable ASan instrumentation of SSE4 SHA256 for GCC
758f208cc1 contrib: override system locale in gen-manpages.py
2104282ddd fuzz: Add tests for CCoinControl methods
43b09b993d fuzz: Improve oracle for existing CCoinControl tests
ac1ccc5bd9 build: Add CTAD feature check
9f273f1c1c build: Add path to doc recommended versions for CLANG, GCC and MSVC
55d37546fa Bugfix: GUI/Intro: Handle errors from SelectParams the same as if during InitConfig
1aa78cdab6 clusterlin: adopt STL ranges algorithms (refactor)
747da25360 feefrac: drop comparison and operator{<<,>>} for sorted wrappers
938312d7a6 docs: clarify RPC credentials security boundary

git-subtree-dir: libbitcoinkernel-sys/bitcoin
git-subtree-split: d84fc352cbc1363df5cd6024a22e73fc63283e4f
Kino1994 pushed a commit to Kino1994/bitcoin-full-history that referenced this pull request Jun 28, 2026
46e6b99 test: restore JSONRPCException error format (rkrux)

Pull request description:

  This is a follow-up to PR #34575.

ACKs for top commit:
  maflcko:
    lgtm ACK 46e6b99

Tree-SHA512: 15979f4e2c07993f283640ebfe570e9f8d3842a23a8118042f5b618273e0da8a01bcabe1ec90b6cc49ebf28e9819d1b4f077ac18f62f681a4d4f58ad8e11bdb1
yuvicc added a commit to yuvicc/bitcoinkernel-jdk that referenced this pull request Jun 29, 2026
2a9e35d293b Merge bitcoin/bitcoin#35588: scripted-diff: Rename `Sock::{RECV,SEND,ERR}`
41ceea400e8 scripted-diff: Rename `StatusLevel::{INFO,WARN,ERR}`
f395acdeeea scripted-diff: Rename `Sock::{RECV,SEND,ERR}`
7a74f652935 Merge bitcoin/bitcoin#35536: fuzz: share a single mocked steady clock across FuzzedSock instances
e1290ce7f74 Merge bitcoin/bitcoin#35543: test: introduce ExtendedPrivateKey and ExtendedPublicKey classes
7ac25c91771 util, refactor: Rename local `ERR` in `Sock::Accept`
ea9afb61a1c Merge bitcoin/bitcoin#35602: doc: Clarify build docs about `pkgconf` / `pkg-config` requirements
672eedc46b0 Merge bitcoin/bitcoin#35220: fuzz: connman: strengthen assertions and extend coverage
0e5c718d8af Merge bitcoin/bitcoin#35506: test: ensure group data cluster pointers are live
93012d7ff91 Merge bitcoin/bitcoin#35601: wallet: remove experimental warning from send and sendall
8ebfff0f88b doc: add send RPC release note
fb8a1038867 doc: Clarify build docs about `pkgconf` / `pkg-config` requirements
5884f5a4fa9 wallet: remove experimental warning from send RPCs
7b84e5106c3 Merge bitcoin/bitcoin#35595: ci: remove some packages from Chimera job
58560c281d0 ci: remove some packages from Chimera job
295ce6f45c8 Merge bitcoin/bitcoin#35576: test: raise `feature_reindex` RPC timeout
633044f1436 Merge bitcoin/bitcoin#35266: rpc, wallet: add an option to not load the wallet after migrating
d6269e2a903 Merge bitcoin/bitcoin#35594: fuzz: cover async chainstate compaction
d84fc352cbc Merge bitcoin/bitcoin#35550: net_processing: fix BIP152 first integer interpretation
703a671fbc2 fuzz: compact coins view db during fuzzing
0868c85fd57 refactor: rename async coin compaction
fafff08e1fe Merge bitcoin/bitcoin#35403: mining: pr 33966 followups (disentangle miner startup defaults)
e12db0902be Merge bitcoin/bitcoin#34411: Full Libevent removal
fa8e4700ba9 Merge bitcoin/bitcoin#35424: doc, wallet: align external signer documentation, reject sendtoaddress/sendmany
6fa4132298a fuzz: share a single mocked steady clock across FuzzedSock instances
8791c4764ca test: use ExtendedPrivateKey in wallet_taproot.py
89ceafafb9f test: use ExtendedPrivateKey in wallet_listdescriptors.py
bbfffcab588 test: use ExtendedPrivateKey in wallet_send.py
2ab6e590f73 test: use ExtendedPrivateKey in wallet_keypool.py
9e20118720d test: use ExtendedPrivateKey in wallet_fundrawtransaction.py
06af0cddbb9 test: use ExtendedPrivateKey in wallet_descriptor.py
4100fac20e8 test: use ExtendedPrivateKey in wallet_createwallet.py
ff3f6def9a5 test: use ExtendedPrivateKey in wallet_bumpfee.py
003f2a01f63 test: use ExtendedPrivateKey in feature_notifications.py
f988e6d6e64 test: use ExtendedPrivateKey in wallet_importdescriptors.py
146b3adfaa1 doc: remove libevent
96d7f55f1df vcpkg: remove libevent
0443943dc03 ci: remove libevent
a0ca249f3fc depends: remove libevent
35d2d067978 cmake: remove libevent
6b58eb6d514 Merge bitcoin/bitcoin#35070: validation: prevent FindMostWorkChain from causing UB
0cdd817a82a add release note
517d37ce3eb test: tests wallet migration with load_wallet disabled
b98dd63da7b rpc: Add load_wallet argument to migratewallet RPC
4acd063ba6f wallet: make loading the wallet after migrating optional
6d8e15dff01 Merge bitcoin/bitcoin#35571: ci: use warp docker buildkit cache
33e3c7524ff Merge bitcoin/bitcoin#35521: fuzz: Speed up `dbwrapper_concurrent_reads` harness
1a3cfdf1b7a fuzz: connman: cover AddLocalServices/RemoveLocalServices
c507fb30634 fuzz: connman: add outbound-bytes invariants
4a6fce43ead fuzz: connman: add AddNode/RemoveAddedNode invariants
9c20859b5f0 Merge bitcoin/bitcoin#35182: Replace libevent with our own HTTP and socket-handling implementation
48df0939e72 fuzz: Remove unnecessary thread pool mutexes
a4c3b003f87 fuzz: Speed up dbwrapper_concurrent_reads harness
61020b36c5f doc: add release note for #35182 replace libevent HTTP server
39e9099da59 logging: deprecate libevent category
8c1eea0777c http: remove libevent usage from this subsystem
e427c227fa3 fuzz: switch http_libevent::HTTPRequest to http_bitcoin::HTTPRequest
21c7542cf88 http: switch servers from libevent to bitcoin
cbb8d1fb33a HTTPServer: disconnect after idle timeout (-rpcservertimeout)
e5f242eef3a HTTPServer: implement control methods to match legacy API
2ca645c2e4d refactor: split HTTPBindAddresses into config parse and libevent setup
fec6b6bca81 refactor: split http_request_cb into libevent callback and dispatch
f946ff5a0bb Add helper methods to HTTPRequest to match original API
dd11b5e01ba define HTTP request methods at module level outside of class
7ee7df988ef HTTPServer: use a queue to pipeline requests from each connected client
5ef1b80a09c Allow http workers to send data optimistically as an optimization
a69bb9e1e6d HTTPServer: disconnect clients
cdf71998e55 HTTPServer: compose and send replies to connected clients
6734bcdeff4 HTTPserver: support "chunked" Transfer-Encoding
80e1cfe5a25 HTTPServer: read requests from connected clients
3c5226ab96a HTTPServer: start an I/O loop in a new thread and accept connections
4ef4ebdc0c8 http: Introduce HTTPRemoteClient class
a85286c5c71 HTTPServer: generate sequential Ids for each newly accepted connection
5a3aa1af285 HTTPServer: implement and test AcceptConnection()
f5bc018948f http: Introduce HTTPServer class and implement binding to listening socket
9463e98781d http: Implement HTTPRequest class
ad50aa4a0fa http: Implement HTTPResponse class
68b5d289d19 http: Implement HTTPHeaders class
89c54ae4cbc http: enclose libevent-dependent code in a namespace
5aa3629b489 util/string: LineReader should only trim \r or \r\n
0cdbb191b50 util/string: use string_view in LineReader
881d4b6c75c test: cover common HTTP attacks and common malformed requests
08a25a72313 Merge bitcoin/bitcoin#35465: coins: compact chainstate regularly
27262a28841 Merge bitcoin/bitcoin#35559: scripted-diff: Rename SteadyClockContext to FakeSteadyClock
9e6546c517c test: raise reindex mining RPC timeout
ea626c268ad Merge bitcoin/bitcoin#35560: lint: Require scripted-diff script to succeed (take 2)
c0922f78af9 Merge bitcoin/bitcoin#35567: depends: latest config.guess & config.sub
b552f1713ad ci: use warp docker buildkit cache
1a2523e901a Merge bitcoin/bitcoin#34937: Fix startup failure with RLIM_INFINITY fd limits
5883ba77ead Merge bitcoin/bitcoin#34764: rpc: replace ELISION references with explicit result fields
f6939fd13d5 Merge bitcoin/bitcoin#35564: Update secp256k1 subtree to latest master
61c754ae994 Merge bitcoin/bitcoin#35512: wallet: move fAbortRescan reset into WalletRescanReserver reserve function
794befd4b06 Merge bitcoin/bitcoin#35384: util: Check write failures before renaming settings.json
d2a03d50acb test: add extendedkey.py unit tests by using BIP32 test vectors
afdb3780821 test: introduce ExtendedPrivateKey and ExtendedPublicKey classes
8f0354995b6 depends: latest config.guess & config.sub
0e95e1abdb4 Merge bitcoin/bitcoin#35437: migrate: Handle HD chains that have identical seeds but different IDs
fab2874269c lint: Require scripted-diff script to succeed
9caae506829 Update secp256k1 subtree to latest upstream
1f3f0a4e220 Squashed 'src/secp256k1/' changes from 7262adb4b4..bd0287d650
855a3fee882 scripted-diff: Rename SteadyClockContext to FakeSteadyClock
341360964a6 Merge bitcoin/bitcoin#35549: argsman: Fix duplicate option assertion to allow HIDDEN category registration
abc33ff043f test: announce field must be 0 or 1 in sendcmpct
2d0dce0af54 net_processing: fix BIP152 first integer interpretation
f963f2b6755 argsman: allow duplicate registration between HIDDEN and other categories
0654511e1b9 util: Check write failures before renaming settings.json
1e169a8a6cb Merge bitcoin/bitcoin#35548: doc: updated ci docs to reflect removal of REPO_USE_WARP_RUNNERS flag
f570d7cd538 Merge bitcoin/bitcoin#35547: lint: Require scripted-diff script to succeed
744d4950190 ci: updated docs to reflect removal of REPO_USE_WARP_RUNNERS flag
2a36d6a5614 lint: Require scripted-diff script to succeed
0f156c16e80 Merge bitcoin/bitcoin#35470: argsman: Prevent duplicate option registration across categories
09ba59ff6b9 Merge bitcoin/bitcoin#35540: test: descriptor: bare multisig at TOP level with exactly 3 pubkeys is allowed
0e475098cdf Merge bitcoin/bitcoin#35463: depends: Drop trailing slash from `CMAKE_INSTALL_LIBDIR`
0136e17c0a9 Merge bitcoin/bitcoin#35546: ci: Use GCC consistently in i686 task
fae482b4e6f ci: Use GCC consistently in i686 task
32df86f1d80 argsman: Prevent duplicate option registration across categories
a30ef6b91f7 Merge bitcoin/bitcoin#35396: ci: Rewrite broken wrap-valgrind.sh to .py
4dbaa7cc65b test: generalise byte_to_base58 utility function to allow more version types
55a4c946f67 test: descriptor: bare multisig at TOP level with 3 pubkeys is allowed
9460090f1ac Merge bitcoin/bitcoin#35520: lint: remove redundant test suite uniqueness check
61a03054222 Merge bitcoin/bitcoin#35526: ci: bump MSan fuzz timeout from 150 to 180 minutes
6d5c1fb3ee6 Merge bitcoin/bitcoin#35173: util: shorten thread names to avoid Linux truncation
d3e40af2597 index: shorten indexer thread names
d69c46292dc util: zero-pad thread number suffixes
41e531c4abd util: shorten `ThreadPool` worker names
92d812446e8 Merge bitcoin/bitcoin#35538: test: make TestChain100Setup's m_clock timestamp more readable
011ad6ea3c4 Merge bitcoin/bitcoin#35441: ci: inline runner selection
58cc2a0453d test: make TestChain100Setup's m_clock timestamp more readable
6e93ef4623a Merge bitcoin/bitcoin#35503: guix: CMake-related improvements
f655d887f09 Merge bitcoin/bitcoin#35535: iwyu: Fix warning in `bench/pool.cpp`
059edf19089 guix: Fix "Ignoring empty string" CMake warning for non-Linux hosts
2d86083fd47 guix: Drop redundant CMake `--verbose` options
d92a20b310e iwyu: Fix warning in `bench/pool.cpp`
6921f5df011 Merge bitcoin/bitcoin#35414: iwyu: Fix warnings in `src/bench` and treat them as error
355fffb8ccf Merge bitcoin/bitcoin#35528: test: doc: remove `--perf` profiling from functional test framework
46927cf82c4 Merge bitcoin/bitcoin#35504: test/doc: Follow-up nits for #35269
6bc2d996b00 Merge bitcoin/bitcoin#35499: guix: add `package.sh`
87d099d5f81 Merge bitcoin/bitcoin#35519: rpc: tighten setmocktime upper bound to UINT32_MAX
04eccc2be5a Merge bitcoin/bitcoin#35043: refactor: Properly return from ThreadSafeQuestion signal + btcsignals follow-ups
2cfb10b668f Merge bitcoin/bitcoin#35498: net: move cs_main up in FetchBlock to fix rpc assert crash
9fae7e98865 test: doc: remove `--perf` profiling from functional test framework
17353f9d977 ci: bump MSan fuzz timeout
debac5f2cd1 Merge bitcoin/bitcoin#35523: Revert "build: exclude mptest target from compile commands"
406c2348ddb rpc: tighten setmocktime upper bound to UINT32_MAX
d186c390f4c Revert "build: exclude mptest target from compile commands"
2447385f47a rpc: remove unused RPCResult::Type::ELISION
7a851180058 rpc: expand decodepsbt output script with explicit fields
88e2a6ae89a rpc: expand getaddressinfo embedded with explicit fields
a9f9e7d17e2 rpc: extract fee estimate result helpers
8a615a88005 rpc: extract ListSinceBlockTxFields() helper
372ac283ac6 rpc: extend TxDoc() for getblock verbosity 2/3
0380a1c46bf rpc: extend TxDoc() for getrawtransaction verbosity 2
946feb3f1fa test: remove redundant test suite uniqueness lint
b3371029dc5 doc: use signing pubkey instead of aggregate xonly key
4c99ed10766 Merge bitcoin/bitcoin#35418: build: exclude mptest target from compile commands
9bfdde74b5a guix: add package.sh
142e86a65c8 Merge bitcoin/bitcoin#35458: qa: Avoid extra tracebacks when exception is raised
216b50c9a6c Merge bitcoin/bitcoin#35179: test: Add importdescriptors rpc error coverage
77772e7a308 undo "ui: Compile boost:signals2 only once"
fa45783d55b mv btcsignals.h to src/util
fa4903db8a3 refactor: Make scoped_connection ctor explicit
fa1bc1fe515 test: Check btcsignals determinism in thread_safety test case
fa86e5dba94 refactor: Properly return from ThreadSafeQuestion signal
fa4badc0fd4 refactor: Make ThreadSafeMessageBox signal void
faad9d64348 refactor: Mark btcsignals operator [[nodiscard]]
2fe34808faa wallet: reject sendtoaddress and sendmany for external signers
394e473d42b coins: compact chainstate in background
aa021b26f39 validation: randomly compact chainstate
bd5a32f7db2 doc: add taproot descriptor to getdescriptors example
7131c829378 doc: clarify which commands receive --chain, --fingerprint and --stdin
4fdd4d8d29f doc: replace stale signtransaction wording with current signtx flow
fab92257fe6 doc, rpc: document enumerate model field and fingerprint deduplication
b10889d1075 coins: test chainstate flush baseline
c117bbc467f Merge bitcoin/bitcoin#35514: ci: Alpine 3.24
df9eb72b129 test: ensure group data cluster pointers are live
3be1115ade3 ci: Alpine 3.24
3b712b9d024 Merge bitcoin/bitcoin#35120: btcsignals: delete broken scoped_connection move assignment
2818a171c00 test: add abortscan unit test
bc30e951632 wallet: move fAbortRescan reset into WalletRescanReserver reserve()
b83a999b144 btcsignals: delete broken scoped_connection move assignment
46d0e21d758 Merge bitcoin/bitcoin#35288: ci: Bump toward Ubuntu 26.04
d0b8d445fb7 Merge bitcoin/bitcoin#35455: fuzz: improve dbwrapper_concurrent_reads performance
d6359937bfa validation: check invariants when inserting into m_blocks_unlinked
0852925bd8d test/doc: remove misleading comment and improve tests
ca4a3802819 test: add coverage for UB caused by FindMostWorkChain
c787b3b99b6 validation: avoid duplicates in m_blocks_unlinked
e0fb41fd2a1 Merge bitcoin/bitcoin#35489: fuzz: test non-max descriptor satisfaction weight
50e9f2ad336 Merge bitcoin/bitcoin#35497: test: FakeNodeClock follow-ups in unit tests
809f909e582 Merge bitcoin/bitcoin#35451: lint: Grep for `AUTO` test suites in file names
530e1f5290c Merge bitcoin/bitcoin#34636: node: allocate index caches proportional to usage patterns
8598ec22045 Merge bitcoin/bitcoin#35221: BIP 434 Support: Peer feature negotiation
526aae3768d fuzz: test non-max descriptor satisfaction weight
472b950b7f7 qa: Use custom assert_greater_than() over naked assert
1ce9e262395 fuzz: improve dbwrapper_concurrent_reads performance
fb47793b99f Merge bitcoin/bitcoin#35168: validation: Don't add pruned blocks to `m_blocks_unlinked` on startup
53b836cdced Merge bitcoin/bitcoin#34028: p2p: Prevent integer overflow in LocalServiceInfo::nScore
3bbc3c67ad4 Merge bitcoin/bitcoin#35101: refactor: disable default std::hash for CTransactionRef
288018131ec Merge bitcoin/bitcoin#35254: crypto: cleanse HMAC stack buffers after use and ChainCode
c85e04f0791 Merge bitcoin/bitcoin#35478: fuzz: reset the mockable steady clock between iterations
ed11dd6a5fe test: add coverage for importdescriptors when manually interrupting a wallet rescan
d90d7f0a55d test: add coverage for importdescriptors errors when using assumeutxo
ad388bf2541 test: add coverage for importdescriptors while wallet is rescanning
ddceb4e6038 test: updated different_key to be different_field and also used a single assert_equal with 3 args instead of multiple assert_equals
6751a323c01 iwyu: Fix warnings in `src/bench` and treat them as error
fab52281f72 refactor: Drop unused includes after iwyu CI bump
fa4774d032d ci: Bump APT_LLVM_V-based task configs to Ubuntu 26.04
fa1414a36a8 ci: Debian Trixie -> Ubuntu 26.04
359680b74db net: move cs_main up in FetchBlock to fix rpc assert crash
4b91316643f Merge bitcoin/bitcoin#35459: guix: add setup.sh
fa03852e9cc test: Use SteadyClockContext in pcp_tests
fa3716c439a test: Use FakeNodeClock in more places
fae9623c8db test: Add FakeNodeClock m_clock to TestChain100Setup
a6ed29d6c2f bench, refactor: Use `std::string_view` for `BenchRunner` ctor parameter
bcbf5bae164 Merge bitcoin/bitcoin#35114: test: NodeClockContext follow-ups
543c00f47dd Merge bitcoin/bitcoin#35448: ci: don't build libunwind in msan
17ed7f50609 Merge bitcoin/bitcoin#35297: p2p: Release m_peer_mutex early in InitiateTxBroadcastToAll
087f02c929c ci: skip libunwind runtime in LLVM build
6d47f7cc6fc ci: use llvm 22.1.7
9868e1bf651 Merge bitcoin/bitcoin#35487: scripted-diff: Rename UNIQUE_NAME to BITCOIN_UNIQUE_NAME
577999c2ce9 Merge bitcoin/bitcoin#35462: test: remove unnecessary nodes from wallet_multisig_descriptor_psbt
e36f5d5d0b6 Merge bitcoin/bitcoin#35456: test: Perform full reset of CoinsResult in order to avoid passing 21M BTC
1d3bc816c39 Merge bitcoin/bitcoin#35267: rpc: make getprivatebroadcastinfo and abortprivatebroadcast fail if privatebroadcast is not enabled
fba713a28c8 scripted-diff: Rename UNIQUE_NAME to BITCOIN_UNIQUE_NAME
1aafd490770 Merge bitcoin/bitcoin#35359: blockstorage: Remove cs_LastBlockFile recursive mutex
84d07e471cb test: add coverage for importdescriptor with an encrypted wallet
ec6cf49b91f blockstorage: Remove cs_LastBlockFile recursive mutex
35a814a045f test: Limit clocks to one active instance
55e402ffef2 scripted-diff: Rename NodeClockContext to FakeNodeClock
1e9546fcf4b test: Use NodeClockContext in more call sites
758fea59a89 test: Drop ++ from NodeClockContext default constructor
7c2ec3949aa test: Enter mocktime before peer creation in block_relay_only_eviction
0bfc5e4fff3 add release notes
fdc9fc1df26 test: check getprivatebroadcast and abortprivatebroadcast throw if the node is running without -privatebroadcast set
7b821ef9b75 rpc: getprivatebroadcastinfo and abortprivatebroadcast throw if -privatebroadcast is disabled
5f33da9aa30 Merge bitcoin/bitcoin#35481: fuzz: fix dead HD keypaths (de)serialization round-trip
5deb053a75f fuzz: fix dead HD keypaths (de)serialization round-trip
19b32a2e180 fuzz: reset the mockable steady clock between iterations
27472a542c6 Merge bitcoin/bitcoin#35466: ci: run ipc functional tests in arm job
f6bdbcf79d9 lint: Grep for `AUTO` test suites in file names
b2fbd5b5dda ci: run ipc functional tests in arm job
44fc3a290d6 rpc: introduce HelpElision variant and ElideGroup helper
2cf2b22ff1b depends: Drop trailing slash from `CMAKE_INSTALL_LIBDIR`
da74ff9ca49 test: Add functional test for BIP434
01b8a117d2c test_framework: BIP 434 support
6a129983c9b BIP434: FEATURE message support
3210fc477ac net: Add AdvertisedVersion() for protocol version advertised to a peer
5b65e312701 test: remove two unnecessary nodes from the test
94ed45427c5 serialize: add LimitedVectorFormatter
1b3f776ebbc serialize: string_view serialization
47da4f9b716 Merge bitcoin/bitcoin#35410: net: use the proxy if overriden when doing v2->v1 reconnections
54de023a7c9 guix: add setup.sh
0cac23b66e1 Merge bitcoin/bitcoin#35431: test: pass -datadir to bitcoin-cli -ipcconnect check
f42226d526e qa: Silence socket.timeout exception when substituting it for a JSONRPCException
659671ac3db qa: Avoid cleanup when exception is raised
e01741e6ac1 Merge bitcoin/bitcoin#35446: ci: use pyzmq over zmq
628816bc551 Merge bitcoin/bitcoin#35447: ci: use warpbuild cache for docker buildkit cache
d0b76c7f3e6 rpc+bitcoin-tx: Specify correct type for ParseFixedPoint()
a5050ddb6bb Merge bitcoin/bitcoin#32150: coinselection: Optimize BnB exploration
082bb1a1047 Merge bitcoin/bitcoin#35335: Make deployment configuration available outside of regtest in unit tests
43ca54ca000 refactor(test): Make CAmount arg explicit for BuildCreditingTransaction()
b5e91e946c8 wallet: Remove CoinsResult::Clear()
5bd990a3ddb Merge bitcoin/bitcoin#34779: BIP 323: reserve version bits 5-28 as extra nonce space
2189a6f5f22 p2p: Saturate LocalServiceInfo::nScore updates at INT_MAX
82901981bfb ci: use Warp cache for Docker layers
7c2718a4b82 Merge bitcoin/bitcoin#34767: Bugfix: GUI/Intro: Handle errors from SelectParams the same as if during InitConfig
4a6d1458b4b ci: add pyzmq to msan job
c21b58e2635 ci: use pyzmq over zmq
b28cf409a13 Merge bitcoin/bitcoin#34866: fuzz: target concurrent leveldb reads
de92208c2b5 migrate: Handle HD chains that have identical seeds but different IDs
2669019fe82 Merge bitcoin/bitcoin#35269: musig: Include pubnonce in session id
7735c134887 test: run bitcoin-cli -ipcconnect check under valgrind with -datadir
8cb8653a223 fuzz: target concurrent leveldb reads
6609088fe67 fuzz: extract ConsumeDBParams helper
61d1c78ed41 Merge bitcoin/bitcoin#35192: wallet: unfriend LegacyDataSPKM and DescriptorScriptPubKeyMan
726e196ef26 ci: inline runner selection
2e0a36c3606 Merge bitcoin/bitcoin#35439: test: Improve loopback address check in `rpc_bind.py`
53373d07c3e Merge bitcoin/bitcoin#35430: ci: use warp caching on warp runners
4731049ba4f build: exclude mptest target from compile commands
255f7c720f1 Merge bitcoin/bitcoin#35404: wallet: allow anti-fee-sniping in sendall RPC while not relying on RBF default
c8b8c275fa5 test: Improve loopback address check in `rcp_bind.py`
654a5223af5 Merge bitcoin/bitcoin#33661: test: Add test on skip heights in CBlockIndex
19e45334bcf Merge bitcoin/bitcoin#35312: kernel: assert invalid buffer preconditions in `btck_*_create` functions
107d4178d91 versionbits: update VersionBitsCache doc comment to match current behaviour
94e3ac0b215 doc: release notes and bips doc update for #34779
1d5240574a1 qa: test we don't warn for ignored unknown version bits deployments
f802edf57cc versionbits: Limit live activation params and activation warnings per BIP323
2ce4ae7d8f0 ci: Add dynamic cache switching to warp cache
fbe628756cc Merge bitcoin/bitcoin#35131: guix, refactor: Minor script cleanups and improvements
bf0d257c11b net: un-default the OpenNetworkConnection()'s proxy_override argument
5a3756d150f test: add a regression test for private broadcast v1 retries
34ac53457fd Merge bitcoin/bitcoin#35402: doc: Compress doc/build-unix.md dependency package names into table
10dfdd4b9fa Merge bitcoin/bitcoin#35379: test: Fix feature_dbcrash.py --usecli error
214ad1761b4 Merge bitcoin/bitcoin#35408: ci: 35378 followups
a3dc44c0855 Merge bitcoin/bitcoin#35385: test: restore JSONRPCException error format
9c1fcaca5cb wallet, test: fix sendall anti-fee-sniping when locktime is not specified
570a6276400 kernel: assert invalid buffer preconditions in `btck_*_create` functions
ac09260982a test: restore JSONRPCException error format
ab35a028ede test: make reusable filling of a node's addrman
2333be9cbc5 test: make reusable starting a standalone P2P listener
2ffa81fac40 test: make reusable SOCKS5 server starting
6c525c2ec13 wallet: unfriend LegacyDataSPKM and DescriptorScriptPubKeyMan classes
8877eec726d wallet: allow anti-fee-sniping in sendall RPC while not relying on RBF default
13b7fffc5e0 Merge bitcoin/bitcoin#35011: iwyu: Fix warnings in `src/script` and treat them as errors
61839425137 ci, iwyu: Fix warnings in src/scripts and treat them as error
5700a61b733 ci: use ubuntu-latest instead of ubuntu-24.04
265563bf75c doc: remove reference to cirrus
b847626562e test: refresh MiniWallet after node restart
f4e643cb152 test: merge mining options in package feerate check
280ce6a0aed miner: ensure block_max_weight is flattened before limit checks
65bd3164fbb mining: clarify test_block_validity comment
978e7216e62 test: use shared default_ipc_timeout
a5859edef45 fuzz: connman: set m_local_services/m_use_addrman_outgoing/m_max_automatic_connections
4b84c9125ad fuzz: connman: add network activity invariants
1ea532e590c Merge bitcoin/bitcoin#34953: crypto: disable ASan instrumentation of SSE4 SHA256 for GCC (matching Clang)
d0a54dd8e0e Merge bitcoin/bitcoin#35381: wallet, test: optinrbf deprecation followups
c6f225c757c Merge bitcoin/bitcoin#28333: wallet: Construct ScriptPubKeyMans with all data rather than loaded progressively
5486ef8cc25 Merge bitcoin/bitcoin#34198: wallet: fix ancient wallets migration
fa787043f56 doc: Compress doc/build-unix.md dependency package names into table
f1344e6c7fd Merge bitcoin/bitcoin#35378: ci: switch to warp runners
d12d8e52d23 Merge bitcoin/bitcoin#35400: doc: Remove good_first_issue.yml, Reword "Getting started" section
b86c1c443d8 test: add coverage for migrating ancient wallets
fd44d48b24b wallet: fix ancient wallets migration
a34dbc836c5 Merge bitcoin/bitcoin#35313: Bump leveldb subtree
896eaacd913 Merge bitcoin/bitcoin#34644: mining: add submitBlock to IPC Mining interface
fa51f37f180 doc: Reword the Getting-Started section
53388773af7 guix: Remove redundant ShellCheck `source` directives
62cf7bc53f2 guix, refactor: Add `BASE` argument to `*_for_host` functions
5d46429e322 guix, refactor: Move `distsrc_for_host()` to `prelude.bash`
cab65ea9c69 guix, refactor: Move duplicated `profiledir_for_host()` to `prelude.bash`
faa9d4345ff guix, refactor: Move duplicated `outdir_for_host()` to `prelude.bash`
6b59fd6b8cf guix, refactor: Remove `contains()` function
d4c69a72246 guix, refactor: Remove unused `out_name()` function
fad585b6e59 test: Wait for node exit after crash in verify_utxo_hash
faf14755149 ci: Exclude feature_dbcrash.py under --v2transport --usecli
fac27d702fd test: Fix feature_dbcrash.py --usecli intermittent error
fa09de8b686 test: [refactor] Simplify submit_block_catch_error
f701cd159af doc: fix typo in release notes of #34917
7bc39e3d084 wallet, test: add wallet_deprecated_rbf.py for walletrbf deprecated keys & options
2cbbcb5659b wallet, test: remove -deprecatedrpc=bip125 from wallet_send.py
307134bd7e2 wallet, test: remove -deprecatedrpc=bip125 from wallet_migration.py
3ec550d1688 wallet, test: remove -deprecatedrpc=bip125 from wallet_basic.py
a52ea9bff90 wallet, test: remove -walletrbf startup option from wallet_backwards_compatibility.py
e3f5c189134 Merge bitcoin/bitcoin#34948: guix: Split manifest into build and codesign manifests
a9ac680af30 build: remove FALLTHROUGH_INTENDED from leveldb.cmake
4d58c3271c0 build: remove -Wno-conditional-uninitialized from leveldb build
5fe0615f7ab Update leveldb subtree to latest upstream
58cdb5c2e83 Squashed 'src/leveldb/' changes from ab6c84e6f3..a7f9bdc611
4bdd46ace37 ci: switch runners from cirrus to warpbuild
fab5733f5d6 doc: Remove good_first_issue.yml
fa98d449517 ci: Rewrite broken wrap-valgrind.sh to .py
00af5620f01 Merge bitcoin/bitcoin#35206: doc: fix doxygen links to threads in developer-notes.md
faf7e389736 ci: refactor: Avoid warning: INSTALL_BCC_TRACING_TOOLS: unbound variable
85c27c9de56 Merge bitcoin/bitcoin#35394: test: remove unnecessary rpc calls from feature_dbcrash
42330922dd8 wallet, test: remove -walletrbf startup option from wallet_backwards_compatibility.py
8cb6e405d88 wallet, test: remove -walletrbf startup option from wallet_listtransactions.py
0ee94b2fef0 wallet, test: remove -deprecatedrpc=bip125 from wallet_listtransactions.py
5e833e068d7 wallet, test: -walletrbf startup option from wallet_bumpfee.py
a2a2b1745f0 wallet, test: remove -walletrbf startup option from rpc_psbt.py
615c0aefa8f Merge bitcoin/bitcoin#35391: test: Use operator<< for time_points instead of manual TickSinceEpoch
c17cc76a187 test: speed up feature_dbcrash
0687438e94d Merge bitcoin/bitcoin#35372: refactor: Enhance type safety in overflow operations
fad4f417d15 test: Use operator<< for time_points instead of manual TickSinceEpoch
d846444d012 guix: Split manifest into build and codesign manifests
0b9e10ad404 guix: Update `python-signapple` and wrap with OpenSSL paths
3962138cc03 test: add IPC submitBlock functional test
5b60f69e40a mining: add submitBlock IPC method to Mining interface
813b4a80d7f refactor: introduce SubmitBlock helper
a3fe455a953 wallet: refactor to read -walletrbf only once instead of twice
9c150222604 Merge bitcoin/bitcoin#35337: doc: add feature deprecation and removal process to developer notes
a4157fc24a2 Merge bitcoin/bitcoin#33966: refactor: disentangle miner startup defaults from runtime options
ac9424fdc63 Merge bitcoin/bitcoin#35145: validation: fix misleading VerifyDB summary log
9767e80b213 Merge bitcoin/bitcoin#35296: doc: Fix broken links in dev notes, move sections
9ec4efebd1e Merge bitcoin/bitcoin#35015: bitcoin-cli: note -rpcclienttimeout is not implemented for IPC connections
b43a9363556 Merge bitcoin/bitcoin#33974: cmake: Check dependencies after build option interaction
d5188b55924 Merge bitcoin/bitcoin#35363: test: Allow --usecli in more tests
743bf350f21 Merge bitcoin/bitcoin#35049: test: remove circular dependency between authproxy and util
fa24693819e test: Allow --usecli in tests that already support it
fa8d4d5c35e test: Catch CalledProcessError to support --usecli in feature_dbcrash.py
faf0f848ef1 test: use echojson to allow rpc_named_arguments.py --usecli
faf993ee442 test: Stop node before modifying config to support rpc_users.py --usecli
dd0dea3e898 Merge bitcoin/bitcoin#34917: wallet: mark bip125-replaceable RPC key and walletrbf startup option as deprecated
acea6f2caf8 Merge bitcoin/bitcoin#35251: wallet: Fix for duplicate external signers case
801e3bfe38e chainparams: add overloads for RegTest and SigNet with no options
4995c00a9cc chainparams: make deployment configuration available on all test networks
0774eaaf0c2 util: Require integers for SaturatingAdd() and AdditionOverflow()
32d072a49f3 doc: add release notes for #35319
d01b461f71e net: ensure no direct private broadcast connections
fd230f942d8 net: use the proxy if overriden when doing v2->v1 reconnections
a815e3e2629 rpc: Correct type for tx_sigops
7be0d6fa180 test: remove the lazy import of util in authproxy
779f4446803 test: move out JSONRPCException from authproxy to util
2e9fdcc6da6 doc: add feature deprecation and removal process to developer notes
fa4fc8c1d7b test: Set TestNode url field early, so that feature_loadblock.py --usecli works
5faf2ad8802 doc: add release notes for deprecation of wallet rbf & bip125 fields
aba24a9b62c wallet: remove "RPC Only" from -walletrbf option help description
1e5d3b4f0da doc: add release note for mining option validation
0317f52022c ci: enforce iwyu for touched files
8c58f63578a refactor: have mining files include what they use
3bb6498fb0f mining: store block create options in NodeContext
4637cd157da mining: reject invalid block create options
8daac1d6eba mining: add block create option helpers
128da7c3ff8 miner: add block_max_weight to BlockCreateOptions
fa81e51eaee mining: parse block creation args in mining_args
020166080cf mining: use interface for tests, bench and fuzzers
44082bea479 interfaces: make Mining use const NodeContext
d4368e059cf move-only: add node/mining_types.h
6aeb1fbea23 test: cover IPC blockmaxweight policy
63b23ea1e94 test: regression test for waitNext mining policy
24750f8b31a test: add createNewBlock failure helper
63ee9cd15b6 test: misc interface_ipc_mining.py improvements
97f7cc02332 wallet: mark -walletrbf startup option as deprecated
c4a7613e6a7 wallet: mark `bip125-replaceable` key as deprecated in transaction RPCs
131fa570b95 test: Add test for BuildSkip() and skip heights
f05b1a3532b rpc: Fix for duplicate external signers case
97d08d62baf refactor: store wallet names to MigrationResult
df7ed5f3554 chainparams: encapsulate deployment configuration logic
faf6afd99df doc: Move mutex and thread section into guideline section
fa514caad75 doc: move-only Valgrind section
fa0202f31da doc: move-only Python section
fa37606c656 doc: Regroup clang-tidy rules
fa9c2ddea9b doc: Fix to use lower-case anchors in links to C++ Core Guidelines
a154c05d495 cmake: Check dependencies after build option interaction
fa2afba28b5 p2p: Release m_peer_mutex early in InitiateTxBroadcastToAll
2ef6679c2ca test: Check that MuSig2 signing does not reuse nonces
21a1380c134 key: cleanse ChainCode on destruction
bb05986c0a8 musig: Include pubnonce in session id
3f44f9aef7c test: Add coverage for m_blocks_unlinked invariant in LoadBlockIndex
b3a3f88346d crypto: cleanse HMAC stack buffers after use
d5adb9d09b8 doc: fix doxygen links to threads in developer-notes.md
08c3c37d123 bitcoin-cli: note -rpcclienttimeout is not implemented for IPC connections
5a2e3592137 clarify blockfilterindex cache allocation rationale
451fdd26a4f test: wallet: Constructing a DSPKM that can't TopUp() throws.
32946e0291f wallet: Setup new autogenerated descriptors on construction
e20aaff70f0 wallet: Construct ExternalSignerSPKM with the new descriptor
aa4f7823aa1 wallet: include keys when constructing DescriptorSPKM during import
6538f691357 fuzz: Skip adding descriptor to wallet if it cannot be expanded
8be5ee554bb test: wallet: Check that loading wallet with both unencrypted and encrypted keys fails.
80b0c259921 wallet: Load everything into DescSPKM on construction
f713fd1725f refactor: wallet: Don't reuse WALLET_BLANK flag for born-encrypted wallets.
cd912c4e108 wallet: Consolidate generation setup callers into one function
0301c758ea0 wallet migration, fuzz: Migrate hd seed once
0e4b0bacecf validation: Don't add pruned blocks to m_blocks_unlinked on startup
1d669637495 log: clarify VerifyDB summary log
a9301cfa073 refactor: disable default std::hash for CTransactionRef
47d68cd981f ci: backport iwyu PR 2013 std::hash mapping
735b25519aa support: clamp RLIMIT_MEMLOCK to size_t
8ab4b9fc856 init: clamp fd limits to int
4afbabdcef8 Fix startup failure with RLIM_INFINITY fd limits
7249b376a0a opt: Skip UTXOs with worse waste, same eff_value
52042918606 opt: Skip evaluation of equivalent input sets
ba1807b981a coinselection: Track effective_value lookahead
fa226ab902f coinselection: BnB skip exploring high waste
7ecea1dc5dc coinselection: Track whether BnB completed
3ca0f36164b coinselection: rewrite BnB in CoinGrinder-style
2e737398372 coinselection: Track BnB iteration count in result
d06dabf26be node: allocate index caches proportional to usage patterns
fedeff7f201 crypto: disable ASan instrumentation of SSE4 SHA256 for GCC
55d37546faa Bugfix: GUI/Intro: Handle errors from SelectParams the same as if during InitConfig

git-subtree-dir: bitcoinkernel/bitcoin
git-subtree-split: 2a9e35d293b308e81811fa93ad2e5e8ed20e66e0
BigcoinBGC pushed a commit to BigcoinBGC/bigcoin that referenced this pull request Jun 30, 2026
ba4879f test: restore JSONRPCException error format (rkrux)

Pull request description:

  This is a follow-up to PR #34575.

ACKs for top commit:
  maflcko:
    lgtm ACK ba4879f

Tree-SHA512: 15979f4e2c07993f283640ebfe570e9f8d3842a23a8118042f5b618273e0da8a01bcabe1ec90b6cc49ebf28e9819d1b4f077ac18f62f681a4d4f58ad8e11bdb1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants