-
Notifications
You must be signed in to change notification settings - Fork 37.7k
common: Close non-std fds before exec in RunCommandJSON #32343
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. Code Coverage & BenchmarksFor details see: https://corecheck.dev/bitcoin/bitcoin/pulls/32343. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update. |
a52cd91
to
a68b325
Compare
🚧 At least one of the CI tasks failed. HintsTry to run the tests locally, according to the documentation. However, a CI failure may still
Leave a comment here, if you need help tracking down a confusing failure. |
a68b325
to
1a73cd2
Compare
This causes the signer test to fail (timeout) in the CentOS run, interesting, cannot reproduce it locally
i suspect this is actually a case where Apparently, doing this in a cross-platform is extremely difficult, mind that |
TIL Linux has Edit: i checked what actually leaks into a subprocess (using notify, not a signer, because it's easier, but it's going to be the same): rm -f /tmp/open-files && ./launch-bitcoin-mainnet.sh -startupnotify="ls -al /proc/self/fd >> /tmp/open-files" $ cat /tmp/open-files
total 0
dr-x------ 2 user user 0 Apr 25 15:15 .
dr-xr-xr-x 9 user user 0 Apr 25 15:15 ..
lrwx------ 1 user user 64 Apr 25 15:15 0 -> /dev/null [EXPECTED]
l-wx------ 1 user user 64 Apr 25 15:15 1 -> /tmp/open-files [EXPECTED]
lrwx------ 1 user user 64 Apr 25 15:15 2 -> /dev/null [EXPECTED]
lrwx------ 1 user user 64 Apr 25 15:15 25 -> socket:[8892399]
lrwx------ 1 user user 64 Apr 25 15:15 26 -> socket:[8892400]
lr-x------ 1 user user 64 Apr 25 15:15 27 -> /data/bitcoin/mempool.dat
lrwx------ 1 user user 64 Apr 25 15:15 28 -> socket:[8899630]
lr-x------ 1 user user 64 Apr 25 15:15 29 -> /data/bitcoin/onion_v3_private_key
lr-x------ 1 user user 64 Apr 25 15:15 3 -> /proc/1261821/fd [EXPECTED]
lrwx------ 1 user user 64 Apr 25 15:15 5 -> /data/bitcoin/.lock
lrwx------ 1 user user 64 Apr 25 15:15 6 -> /data/bitcoin/blocks/.lock
l-wx------ 1 user user 64 Apr 25 15:15 7 -> /data/bitcoin/debug.log Only the ones with The three sockets are from the bitcoin P2P code:
|
I would try something like this to check if --- i/ci/test/03_test_script.sh
+++ w/ci/test/03_test_script.sh
@@ -145,12 +145,17 @@ if [ "$RUN_UNIT_TESTS" = "true" ]; then
fi
if [ "$RUN_UNIT_TESTS_SEQUENTIAL" = "true" ]; then
DIR_UNIT_TEST_DATA="${DIR_UNIT_TEST_DATA}" LD_LIBRARY_PATH="${DEPENDS_DIR}/${HOST}/lib" "${BASE_OUTDIR}"/bin/test_bi
fi
+ls -l /proc || :
+ls -l /proc/self || :
+ls -l /proc/self/fd || :
+mount || :
+
if [ "$RUN_FUNCTIONAL_TESTS" = "true" ]; then
# parses TEST_RUNNER_EXTRA as an array which allows for multiple arguments such as TEST_RUNNER_EXTRA='--exclude "rpc
eval "TEST_RUNNER_EXTRA=($TEST_RUNNER_EXTRA)"
LD_LIBRARY_PATH="${DEPENDS_DIR}/${HOST}/lib" test/functional/test_runner.py --ci "${MAKEJOBS}" --tmpdirprefix "${BAS
fi |
f7a5234
to
feec0f1
Compare
Thanks! Tried that, looks like it is:
Not just that, but confirmed with some other additional logging in the unit tests that it's actually closing fd's through the directory iterator loop:
So it doesn't look like that is the problem. |
Concept ACK. |
The error seems to be intermittent, because now it looks like the centos task passed. (For reference, the failure three days ago was https://github.com/bitcoin/bitcoin/runs/41112451543) |
feec0f1
to
1a73cd2
Compare
Re-running the CentOS task shows that 1 in 5 runs fail |
92aff21
to
0badc15
Compare
i replaced the fallback by an explicit OSError (this should be propagated to the parent through the error pipe), maybe that will help diagnose the issue. (failure on MacOS is expected -- there is no /proc) Edit: MacOS should pass now. The Linux code makes the hard assumption |
ecd567e
to
2ded773
Compare
Scheduled 10 runs in https://cirrus-ci.com/task/5397894338969600, but it seems they are all passing. Huh |
It could be 4a6b99b, though i have no idea why that would make a difference. In any case, nice that it passes now. Cleaning up and squashing the relevant commits. |
2ded773
to
3acd934
Compare
3acd934
to
a2449b4
Compare
@laanwj can you add some testing hints to the PR description? E.g. is there a way to deliberately trigger the potential bug that this fixes? |
Sure: The simplest way to see if everything properly gets closed is to list Alternatively, if you really want to create a bug, you could actively try to mess around with file descriptors that are already open at the start of the process. This could, say, mess with open P2P connections, or write to the debug log. e.g. call
Or: fork another time, then exit the parent process but keep the child in an infinite loop. The child will inherit the leaked file descriptors (in turn) and hold on to them. This might mess with locks, eg when you quit i'll look into adding a functional test for one of these (don't think this needs to hold up this PR even longer though, it already has such a long history). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK a0eed55, tested on Ubuntu 25.04:
- On the master branch @ 68ac9f1:
$ cat /tmp/list-fd.sh
#!/usr/bin/env bash
ls -al /proc/self/fd > /tmp/open-files
$ ./build/bin/bitcoind -regtest -daemon -signer=/tmp/list-fd.sh
$ ./build/bin/bitcoin-cli -regtest enumeratesigners # Ignore errors
$ ./build/bin/bitcoin-cli -regtest stop
$ cat /tmp/open-files
total 0
dr-x------ 2 hebasto hebasto 10 May 2 15:05 .
dr-xr-xr-x 9 hebasto hebasto 0 May 2 15:05 ..
lr-x------ 1 hebasto hebasto 64 May 2 15:05 0 -> pipe:[231179]
l-wx------ 1 hebasto hebasto 64 May 2 15:05 1 -> /tmp/open-files
l-wx------ 1 hebasto hebasto 64 May 2 15:05 2 -> pipe:[231177]
lrwx------ 1 hebasto hebasto 64 May 2 15:05 24 -> socket:[235679]
lrwx------ 1 hebasto hebasto 64 May 2 15:05 25 -> socket:[235680]
lrwx------ 1 hebasto hebasto 64 May 2 15:05 26 -> socket:[235681]
lr-x------ 1 hebasto hebasto 64 May 2 15:05 3 -> /proc/61760/fd
lrwx------ 1 hebasto hebasto 64 May 2 15:05 5 -> /home/hebasto/.bitcoin/regtest/.lock
lrwx------ 1 hebasto hebasto 64 May 2 15:05 6 -> /home/hebasto/.bitcoin/regtest/blocks/.lock
l-wx------ 1 hebasto hebasto 64 May 2 15:05 7 -> /home/hebasto/.bitcoin/regtest/debug.log
- this PR:
$ ./build/bin/bitcoind -regtest -daemon -signer=/tmp/list-fd.sh
$ ./build/bin/bitcoin-cli -regtest enumeratesigners # Ignore errors
$ ./build/bin/bitcoin-cli -regtest stop
$ cat /tmp/open-files
total 0
dr-x------ 2 hebasto hebasto 4 May 2 15:08 .
dr-xr-xr-x 9 hebasto hebasto 0 May 2 15:08 ..
lr-x------ 1 hebasto hebasto 64 May 2 15:08 0 -> pipe:[225165]
l-wx------ 1 hebasto hebasto 64 May 2 15:08 1 -> /tmp/open-files
l-wx------ 1 hebasto hebasto 64 May 2 15:08 2 -> pipe:[225163]
lr-x------ 1 hebasto hebasto 64 May 2 15:08 3 -> /proc/62155/fd
Some more "buggy" examples
#!/usr/bin/env python3
# evil-signer1.py
import os, socket, sys
fd_root = f'/proc/{os.getpid()}/fd'
open_files = []
for fname in os.listdir(fd_root):
try:
fd = int(fname)
if fd < 3:
continue
link = os.readlink(os.path.join(fd_root, fname))
open_files.append((fd, link))
except OSError:
pass
# find and open debug log
debuglog = None
for (fd, link) in open_files:
if link.endswith('/debug.log'):
debuglog = os.fdopen(fd, 'a')
if debuglog is None:
sys.exit(1)
debuglog.write(f'[-----------START----------]\n')
for (fd, link) in open_files:
debuglog.write(f'file: {fd} {link}\n')
debuglog.write(f'[------------END-----------]\n')
debuglog.flush()
#!/usr/bin/env python3
# evil-signer2.py
import os, socket, sys
MAX_FD = os.sysconf("SC_OPEN_MAX")
for fd in range(3, MAX_FD):
try:
sock = socket.fromfd(fd, socket.AF_INET, socket.SOCK_STREAM)
sock.shutdown(socket.SHUT_RDWR)
except OSError:
pass Example usage (like above): $ bin/bitcoind -regtest -daemonwait -signer=$HOME/2025-05-closefd-tests/evil-signer2.py
$ nc -w0 -v 127.0.0.1 18444
Connection to 127.0.0.1 18444 port [tcp/*] succeeded!
$ bin/bitcoin-cli -regtest enumeratesigners
(ignore error)
$ nc -v 127.0.0.1 18444 -w0
nc: connect to 127.0.0.1 port 18444 (tcp) failed: Connection refused
#!/usr/bin/env python3
# evil-signer3.py
import os, sys, time
if os.fork() > 0: # exit parent
sys.exit(1)
# detach from terminal
os.close(0)
os.close(1)
os.close(2)
# keep sockets and locks occupied for a minute
time.sleep(60)
(sorry... i'll stop here, i enjoy this kind of thing too much) |
Are you going to upstream the second commit? |
Yes, but only after cpp-subprocess starts using c++17: #32343 (comment) Edit: whatever comes first though; being able to use |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK a0eed55
std::vector<int> fds_to_close; | ||
for (const auto& it : fs::directory_iterator(strprintf("/proc/%d/fd", getpid()))) { | ||
auto fd{ToIntegral<uint64_t>(it.path().filename().native())}; | ||
if (!fd || *fd > std::numeric_limits<int>::max()) continue; | ||
if (*fd <= 2) continue; // leave std{in,out,err} alone | ||
if (*fd == static_cast<uint64_t>(err_wr_pipe_)) continue; | ||
fds_to_close.push_back(*fd); | ||
} | ||
for (const int fd : fds_to_close) { | ||
close(fd); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can close()
be called right away at line 1319
and avoid the fds_to_close
variable and the second for
loop?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure if changing the contents during iteration could mess with the directory iteration. This feels safer.
|
||
for (int i = 3; i < max_fd; i++) { | ||
if (i == err_wr_pipe_) continue; | ||
close(i); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nothing prevents another thread from opening a new file after all these close()
calls have completed and before the execvp()
call below. So I guess this is best effort attempt?
A sure way would be to use O_CLOEXEC
when opening a file: https://www.man7.org/linux/man-pages/man2/open.2.html.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are no threads at this point, mind this is after the fork()
, in the child process.
A sure way would be to use O_CLOEXEC when opening a file: https://www.man7.org/linux/man-pages/man2/open.2.html.
Sure, that's better (and done for quite a lot of things, seeing that not everything leaks. It's also why the error pipe doesn't leak after exec) but it's impossible to enforce this on all libraries too, so easy to miss something.
ACK a0eed55 Tested manually with a modified mock signer. Prior to this change, several fds exist referring to various files and sockets opened by the node. With this PR, fds 0, 1, and 2 remain open as pipes, and the rest are for files opened by the mock signer itself. |
dcb6dd33f5f kernel: Fix bitcoin-chainstate for windows 47743841f4d kernel: Add Purpose section to header documentation 6ec40e1b22a kernel: Add pure kernel bitcoin-chainstate 1159547d6a7 kernel: Add functions to get the block hash from a block 2021199f44c kernel: Add block index utility functions to C header 07b4660a30f kernel: Add function to read block undo data from disk to C header aece5aef13e kernel: Add functions to read block from disk to C header 7a79da93a28 kernel: Add function for copying block data to C header 5e9219c70ab kernel: Add functions for the block validation state to C header e2eb479e036 kernel: Add validation interface to C header 221ca0f6e14 kernel: Move validation state to a kernel header f1eb10f1e73 kernel: Add interrupt function to C header 215913420c9 kernel: Add import blocks function to C header 25cf7111796 kernel: Add chainstate load options for in-memory dbs in C header 25fec7c54fa kernel: Add options for reindexing in C header cdecd980c3b kernel: Add block validation to C header d743c75026e kernel: Add chainstate loading when instantiating a ChainstateManager ee3d80a8ae1 kernel: Add chainstate manager option for setting worker threads 04b9da7e5e0 kernel: Add chainstate manager object to C header 5e405ab5910 kernel: Add notifications context option to C header 9b0445fdbcd kernel: Move Synchronization enum to a kernel header 92b72c4592d kernel: Add chain params context option to C header a3692c3860a kernel: Add kernel library context object 5e5f3c73638 kernel: Add logging to kernel library C header db1efa9473c kernel: Move logging flags to a kernel header c244ab1e830 kernel: Introduce initial kernel C header API d08dd0579ba kernel: Move script flags to a kernel header 7710a31f0cb Merge bitcoin/bitcoin#32452: test: Remove legacy wallet RPC overloads b81e5076aa5 Merge bitcoin/bitcoin#32514: scripted-diff: Remove unused leading newline in RPC docs 3023d7e6ad5 Merge bitcoin/bitcoin#32534: Update leveldb subtree to latest upstream c461d152875 Merge bitcoin/bitcoin#32511: refactor: bdb removals b15c386933e Merge bitcoin/bitcoin#32519: ci: Enable feature_init and wallet_reorgsrestore in valgrind task 7015052eba2 build: remove Wsuggest-override suppression from leveldb build 3f83c744ac2 Merge bitcoin/bitcoin#32526: fuzz: Delete wallet_notifications fa1f10a49e7 doc: Fix minor typos in rpc help 0769c8fc999 Update leveldb subtree to latest upstream e2c84b896fa Squashed 'src/leveldb/' changes from 4188247086..113db4962b 04c6c961b65 Merge bitcoin/bitcoin#32527: test: Remove unused verify_flags suppression 742b30549fc Merge bitcoin/bitcoin#32491: build: document why we check for `std::system` fab5a3c803c test: Remove unused verify_flags suppression c521192d8b9 Merge bitcoin/bitcoin#32485: Update minisketch subtree 3afde679c3b Merge bitcoin/bitcoin#32296: refactor: reenable `implicit-integer-sign-change` check for `serialize.h` 5af757bb784 Merge bitcoin/bitcoin#32505: depends: bump to latest config.guess and config.sub c60455a6458 Merge bitcoin/bitcoin#32500: init: drop `-upnp` e230affaa32 Merge bitcoin/bitcoin#32396: cmake: Add application manifests when cross-compiling for Windows 51be79c42b7 Merge bitcoin/bitcoin#32238: qt, wallet: Convert uint256 to Txid f96ae941a1d Merge bitcoin/bitcoin#32525: build: Revert "Temporarily disable compiling `fuzz/utxo_snapshot.cpp` with MSVC fad2faf6c5d fuzz: Delete wallet_notifications fa2c6623626 build: Revert "Temporarily disable compiling `fuzz/utxo_snapshot.cpp` with MSVC" fa2be605fee ci: Enable feature_init and wallet_reorgsrestore in valgrind task 725c9f7780e Merge bitcoin/bitcoin#31895: doc: Improve `dependencies.md` bdc1cef1de8 Merge bitcoin/bitcoin#32507: ci: Exclude failing wallet_reorgsrestore.py from valgrind task for now fae840e94b7 rpc: Reject beginning newline in RPC docs e62423d6f15 doc: Improve dependencies.md documentation a3520f9d561 doc: Add dependency self-compilation info d1fdc84c549 doc: Remove Linux Kernel from dep. table fa414eda083 scripted-diff: Remove unused leading newline in RPC docs fafee853583 remove unused GetDestinationForKey fac72fef27d remove unused GetAllDestinationsForKey fa91d57de36 remove unused AddrToPubKey 8f4fed7ec70 symbol-check: Add check for application manifest in Windows binaries 2bb6ab8f1ba ci: Add "Get bitcoind manifest" steps to Windows CI jobs 282b4913c7e cmake: Add application manifests when cross-compiling for Windows faecf158d99 remove unused Import* function signatures fa981b90f53 ci: Exclude failing wallet_reorgsrestore.py from valgrind task for now c779ee3a404 Merge bitcoin/bitcoin#32492: test: add skip_if_running_under_valgrind() 89c7b6b97ab Merge bitcoin/bitcoin#32498: doc: remove Carls substitute server from Guix docs 31d3eebfb92 Merge bitcoin/bitcoin#32343: common: Close non-std fds before exec in RunCommandJSON 486bc917907 depends: bump to latest config.sub 6880383427b depends: bump to latest config.guess 4b26ca0e2f1 Merge bitcoin/bitcoin#32502: wallet: Drop unused fFromMe from CWalletTx d5786bc19a9 Merge bitcoin/bitcoin#32490: refactor: Remove UB in prevector reverse iterators 53eb5593f0a Merge bitcoin/bitcoin#32305: test: add test for decoding PSBT with MuSig2 PSBT key types (BIP 373) e7a93723768 Merge bitcoin/bitcoin#32378: interfaces: refactor: move `Mining` and `BlockTemplate` implementation to miner 5bf91ba8800 wallet: Drop unused fFromMe from CWalletTx 301993ebf7f init: drop -upnp 3b824169c77 doc: remove Carls substitute server from Guix docs f1d78a3087f Merge bitcoin/bitcoin#31624: doc: warn that CheckBlock() underestimates sigops 516f0689b51 refactor: re-enable UBSan implicit-sign-change in serialize.h 5827e935077 refactor: use consistent size type for serialization template parameters 62fc42d475d interfaces: refactor: move `waitTipChanged` implementation to miner c39ca9d4f7b interfaces: move getTip implementation to miner 33dfbbdff69 Merge bitcoin/bitcoin#32483: test: fix two intermittent failures in wallet_basic.py 8a65f038946 Merge bitcoin/bitcoin#32488: fuzz: Properly setup wallet in wallet_fees target 75a185ea3db test: add skip_if_running_under_valgrind() 8f4ba90b8ff build: document why we check for std::system faf9082a5f6 test: Fix whitespace in prevector_tests.cpp fa7f04c8a7b refactor: Remove UB in prevector reverse iterators fa427ffceee fuzz: Properly setup wallet in wallet_fees target f9d8910539a Merge bitcoin/bitcoin#31080: fees: document non-monotonic estimation edge case 31650b458b6 Merge bitcoin/bitcoin#32386: mining: rename gbt_force and gbt_force_name bac43b957e5 Merge bitcoin/bitcoin#32312: test: Fix feature_pruning test after nTime typo fix c9ab10910cd Merge bitcoin/bitcoin#31444: cluster mempool: add txgraph diagrams/mining/eviction e7ad86e1ca3 test: fix another intermittent failure in wallet_basic.py 07350e204de test: Fix intermittent failure in wallet_basic.py 46b533dfe6f Update minisketch subtree to latest upstream bf25a0918f9 Squashed 'src/minisketch/' changes from d1e6bb8bbf..ea8f66b1ea 8309a9747a8 Merge bitcoin/bitcoin#32028: Update `secp256k1` subtree to latest master 720f201e652 interfaces: refactor: move `waitNext` implementation to miner e6c2f4ce7a8 interfaces: refactor: move `submitSolution` implementation to miner 02d4bc776bb interfaces: remove redundant coinbase fee check in `waitNext` cbd8e3d5114 Merge bitcoin/bitcoin#32476: refactor: Remove unused HaveKey and HaveWatchOnly 915c1fa72c0 Update secp256k1 subtree to latest master c31fcaaad38 Squashed 'src/secp256k1/' changes from 0cdc758a56..4187a46649 fabdc5ad06b Remove unused LegacyDataSPKM::HaveWatchOnly() fa7b7f796ac Remove HaveKey helper, unused after sethdseed removal 8673e8f0191 txgraph: Special-case singletons in chunk index (optimization) abdd9d35a34 txgraph: Skipping end of cluster has no impact (optimization) 604acc2c289 txgraph: Reuse discarded chunkindex entries (optimization) c734081454d txgraph: Introduce TxGraph::GetWorstMainChunk (feature) 394dbe21427 txgraph: Introduce BlockBuilder interface (feature) 883df3648ee txgraph: Generalize GetClusterRefs to support subsections (preparation) c28a602e007 txgraph: Introduce TxGraphImpl observer tracking (preparation) 9095d8ac1c3 txgraph: Maintain chunk index (preparation) 87e74e1242e txgraph: abstract out transaction ordering (refactor) 2614fea17fe txgraph: Add GetMainStagingDiagrams function (feature) 663a9cabf81 Merge bitcoin/bitcoin#32458: guix: move `*-check.py` scripts under contrib/guix/ 05765b8818c Merge bitcoin/bitcoin#32472: doc: Fix typo d847e17c965 doc: Fix typo 3edf400b102 Merge bitcoin/bitcoin#32469: cmake: Allow `WITH_DBUS` on all Unix-like systems 59e09e0fb7b Merge bitcoin-core/gui#871: qt, docs: Unify term "clipboard" 46f79dde67e Merge bitcoin-core/gui#841: Decouple WalletModel from RPCExecutor 5b7ed460c7c cmake: Allow `WITH_DBUS` on all Unix-like systems 746ab19d5a1 Merge bitcoin/bitcoin#32446: build: simplify *ifaddr handling 19b1e177d67 Merge bitcoin/bitcoin#32155: miner: timelock the coinbase to the mined block's height 6c6ef58b0b2 Merge bitcoin/bitcoin#32436: test: refactor: negate signature-s using libsecp256k1 b104d442277 test: Remove RPCOverloadWrapper 4d32c19516f test: Replace importpubkey fe838dd391b test: Replace usage of addmultisigaddress d3142077794 test: Replace usage of importaddress fcc457573f9 test: Replace importprivkey with wallet_importprivkey 94c87bbbd06 test: Remove unnecessary importprivkey from wallet_createwallet 9a05b45da60 Merge bitcoin/bitcoin#32438: refactor: Removals after bdb removal fa061bfcdb0 Remove create options from wallet tool fa2125e7b8e Remove unused IsSingleKey fab5e2a0948 doc: Remove note about bdb wallets eeeef88d46f doc: fix typo in abortrescan rpc fa7e5c15a79 Remove unused LegacyDataSPKM::DeleteRecords() b070ce16966 Merge bitcoin/bitcoin#31360: depends: Avoid using helper variables in toolchain file ffff9494729 remove NotifyWatchonlyChanged fa62a013a55 remove dead flush() fa5f3e62c88 vcpkg: Remove bdb 415650cea94 guix: move *-check.py scripts under contrib/guix 5b8752198e9 Merge bitcoin/bitcoin#32454: tracing: fix invalid argument in mempool_monitor 31c5ebc4007 tracing: fix invalid argument in mempool_monitor ad5cd129f3c Merge bitcoin/bitcoin#30660: qa: Verify clean shutdown on startup failure 1656f6dbba8 Merge bitcoin/bitcoin#32448: contrib: remove bdb exception from FORTIFY check a04f17a1882 doc: warn that CheckBlock() underestimates sigops ab878a7e741 build: simplify *ifaddr handling 1b4ddb0c2d1 Merge bitcoin/bitcoin#32356: cmake: Respect user-provided configuration-specific flags 1ee698fde2e test: refactor: negate signature-s using libsecp256k1 f9dfe8d5e0d contrib: remove bdb exception from FORTIFY check 66c968b4b4a Merge bitcoin/bitcoin#32444: doc: swap "Docker image" for "container image" 64697529523 Merge bitcoin/bitcoin#32434: lint: Remove string exclusion from locale check 1372eb09c5d doc: swap "Docker image" for "container image" 03ebdd07930 Merge bitcoin/bitcoin#32437: crypto: disable ASan for sha256_sse4 with Clang 95bb305b96a Merge bitcoin/bitcoin#32429: docs: Improve `keypoolrefill` RPC docs 1b1b9f32cfd Merge bitcoin/bitcoin#32440: test: remove bdb assert in tool_wallet.py e08e6567f2e test: remove assert_dump since it is not used anymore ff35a4b021e docs: Improve `keypoolrefill` RPC docs 4b241867567 test: add test for decoding PSBT with MuSig2 PSBT key types (BIP 373) 8ba245cb831 test: add constants for MuSig2 PSBT key types (BIP 373) 4b6dd9790b6 test: remove bdb assert in tool_wallet.py 7343a1846ce depends: Avoid using helper variables in toolchain file 0671d66a8ee wallet, refactor: Convert uint256 to Txid in wallet c8ed51e62be wallet, refactor: Convert uint256 to Txid in wallet interfaces b3214cefe6d qt, refactor: Convert uint256 to Txid in the GUI efac285a0d7 Merge bitcoin/bitcoin#28710: Remove the legacy wallet and BDB dependency fa24fdcb7f4 lint: Remove string exclusion from locale check 4e8ab5e00fa crypto: disable ASan for sha256_sse4 with Clang 6d5edfcc585 Merge bitcoin/bitcoin#32388: fuzz: Remove unused TimeoutExpired catch in fuzz runner de054df6dc3 contrib: Remove legacy wallet RPCs from bash completions 5dff04a1bba legacy spkm: Make IsMine() and CanProvide() private and migration only c0f3f3264ff wallet: Remove unused db functions 83af1a3cca7 wallet: Delete LegacySPKM 59d3e4ed34e Merge bitcoin/bitcoin#32415: scripted-diff: adapt script error constant names in feature_taproot.py fffb272c258 Merge bitcoin/bitcoin#29532: Refactor BnB tests 3bbdbc0a5e1 qt, docs: Unify term "clipboard" 8ede6dea0c5 wallet, rpc: Remove legacy wallet only RPCs 4de3cec28df test: rpcs disabled for descriptor wallets will be removed 84f671b01df test: Run multisig script limit test 810476f31e4 test: Remove unused options and variables, correct comments 04a7a7a28cd build, wallet, doc: Remove BDB 44057fe38cc Merge bitcoin/bitcoin#32287: build: Fix `macdeployqtplus` after switching to Qt 6 229943b5136 Merge bitcoin/bitcoin#32086: Shuffle depends instructions and recommend modern make for macOS edde96376a2 cmake: Respect user-provided configuration-specific flags 22cff32319d doc: recommend gmake for FreeBSD b645c520714 doc: recommend modern make for macOS depends 99e6490dc51 doc: shuffle depends instructions 1e0de7a6ba9 fees: document non-monotonic estimation edge case baa848b8d38 Merge bitcoin/bitcoin#32405: build: replace header checks with `__has_include` 53ccb75f0c4 Merge bitcoin/bitcoin#32358: subprocess: Backport upstream changes fa2c5484296 Merge bitcoin/bitcoin#32417: doc: Explain that .gitignore is not for IDE-specific excludes fada115cbea doc: Explain that .gitignore is not for IDE-specific excludes b5f580c5802 scripted-diff: adapt script error constant names in feature_taproot.py eba5f9c4b63 Merge bitcoin/bitcoin#32403: test: remove Boost SIGCHLD workaround. e1f543823b3 build: replace header checks with __has_include 3add6ab9adc test: remove Boost SIGCHLD workaround. cd95c9d6a7e subprocess: check and handle fcntl(F_GETFD) failure b7288decdf5 subprocess: Proper implementation of wait() on Windows 7423214d8de subprocess: Do not escape double quotes for command line arguments on Windows bb9ffea53fb subprocess: Explicitly define move constructor of Streams class 174bd43f2e4 subprocess: Avoid leaking POSIX name aliases beyond `subprocess.h` 7997b7656f9 subprocess: Fix cross-compiling with mingw toolchain 647630462f1 subprocess: Get Windows return code in wait() d3f511b4583 subprocess: Fix string_arg when used with rref 2fd3f2fec67 subprocess: Fix memory leaks 5b8046a6e89 Merge bitcoin/bitcoin#30611: validation: write chainstate to disk every hour fc6346dbc8d Merge bitcoin/bitcoin#32389: doc: Fix test_bitcoin path a0eed55398f run_command: Enable close_fds option to avoid lingering fds c7c356a4486 cpp-subprocess: Iterate through /proc/self/fd for close_fds option on Linux 4f5e04da135 Revert "remove unneeded close_fds option from cpp-subprocess" 6cbc28b8dd6 doc: Fix test_bitcoin path 85368aafa0d test: Run simple tests at various feerates d610951c154 test: Recreate BnB iteration exhaustion test 2a1b2754f14 test: Remove redundant repeated test 4781f5c8be5 test: Recreate simple BnB failure tests a94030ae985 test: Recreate BnB clone skipping test 7db6f012c08 test: Move BnB feerate sensitivity tests 2bafc462610 test: Recreate simple BnB success tests e976bd30450 validation: add randomness to periodic write interval 2e2f4106812 refactor: replace m_last_write with m_next_write b557fa7a175 refactor: rename fDoFullFlush to should_write d73bd9fbe48 validation: write chainstate to disk every hour 68ac9f116c0 Merge bitcoin/bitcoin#32383: util: Remove `fsbridge::get_filesystem_error_message()` fa4804009ce fuzz: Remove unused TimeoutExpired catch in fuzz runner 0750249289c mining: document gbt_rule_value helper 5e87c3ec094 scripted-diff: rename gbt_force and gbt_force_name 97eaadc3bf9 util: Remove `fsbridge::get_filesystem_error_message()` 14b8dfb2bd5 Merge bitcoin/bitcoin#31398: wallet: refactor: various master key encryption cleanups a60445cd04c Merge bitcoin/bitcoin#32355: Bugfix: Miner: Don't reuse block_reserved_weight for "block is full enough to give up" weight delta 2d5b4244147 Merge bitcoin/bitcoin#32351: test: avoid stack overflow in `FindChallenges` via manual iteration 0ed5f37afef Merge bitcoin/bitcoin#31014: net: Use GetAdaptersAddresses to get local addresses on Windows 7a4a2a38ea3 Merge bitcoin/bitcoin#27826: validation: log which peer sent us a header 4694732bc4c Merge bitcoin/bitcoin#32338: net: remove unnecessary check from AlreadyConnectedToAddress() 7db096121d3 Merge bitcoin/bitcoin#29039: versionbits refactoring 51d76634fb5 Merge bitcoin/bitcoin#32365: descriptors: Reject + sign while parsing unsigned c5e44a04356 Merge bitcoin/bitcoin#32369: test: Use the correct node for doubled keypath test 32d55e28af6 test: Use the correct node for doubled keypath test 65714c162c1 Merge bitcoin/bitcoin#32327: test: Add missing check for empty stderr in util tester a4eee6d50be Merge bitcoin/bitcoin#29124: test: Test that migration automatically repairs corrupted metadata with doubled derivation path af6cffa36d1 Merge bitcoin/bitcoin#32350: test: Slim down previous releases bdb check 33e6538b307 Merge bitcoin/bitcoin#32360: test: Force named args for RPCOverloadWrapper optional args 3a29ba33dca Merge bitcoin/bitcoin#32357: depends: Fix cross-compiling `qt` package from macOS to Windows fa655da1598 test: [refactor] Use ToIntegral in CheckInferDescriptor fa55dd01df8 descriptors: Reject + sign when parsing multi threshold fa6f77ed3c1 descriptors: Reject + sign in ParseKeyPathNum 7e8ef959d06 refactor: Fix Sonar rule `cpp:S4998` - avoid unique_ptr const& as parameter e400ac53524 refactor: simplify repeated comparisons in `FindChallenges` f670836112c test: remove old recursive `FindChallenges_recursive` implementation b80d0bdee46 test: avoid stack overflow in `FindChallenges` via manual iteration fa48be3ba44 test: Force named args for RPCOverloadWrapper optional args aaaa45399ca test: Remove unused createwallet_passthrough f409444d024 Merge bitcoin/bitcoin#32071: build: Drop option to disable hardening. cccc1f4e919 test: Remove unused RPCOverloadWrapper is_cli field d62c2d82e14 Merge bitcoin/bitcoin#32353: doc: Fix fuzz test_runner.py path 10845cd7cc8 qa: Add feature_framework_startup_failures.py 35e57fbe336 depends: Fix cross-compiling `qt` package from macOS to Windows d2ac748e9e7 Merge bitcoin-core/gui#864: Crash fix, disconnect numBlocksChanged() signal during shutdown 524f981bb87 Bugfix: Miner: Don't reuse block_reserved_weight for "block is full enough to give up" weight delta 84de8c93e7d ci: Add `deploy` target for native macOS CI job fad57e9e0fe build: Fix `macdeployqtplus` after switching to Qt 6 de90b47ea09 Merge bitcoin-core/gui#868: Replace stray tfm::format to cerr with qWarning a58cb3b1c12 qa: sanity check mined block have their coinbase timelocked to height 8f2078af6a5 miner: timelock coinbase transactions 788aeebf343 qa: use prev height as nLockTime for coinbase txs created in unit tests c76dbe9b8b6 qa: timelock coinbase transactions created in fuzz targets 9c94069d8b6 contrib: timelock coinbase transactions in signet miner a5f52cfcc40 qa: timelock coinbase transactions created in functional tests 61f238e84ac doc: Fix fuzz test_runner.py path c7e2b9e2644 tests: Test migration cleans up bad inactive chain derivation path fa58f40b898 test: Slim down previous releases bdb check f1b142856a4 test: Same addr, diff port is already connected 94e85a82a75 net: remove unnecessary check from AlreadyConnectedToAddress() 28e282ef9ae qa: assert_raises_message() - Stop assuming certain structure for exceptions 80e6ad9e302 Merge bitcoin/bitcoin#31250: wallet: Disable creating and loading legacy wallets 971952588da Merge bitcoin/bitcoin#32242: guix: Remove unused `file` package ff69046e664 Merge bitcoin/bitcoin#32215: depends: Fix cross-compiling on macOS 4eee328a982 Merge bitcoin/bitcoin#32318: Fix failing util_time_GetTime test on Windows 71656bdfaa6 gui: crash fix, disconnect numBlocksChanged() signal during shutdown 3dbd50a576b Fix failing util_time_GetTime test on Windows edd46566bd6 qt: Replace stray tfm::format to cerr with qWarning 458720e5e98 Merge bitcoin/bitcoin#32336: test: Suppress upstream `-Wduplicate-decl-specifier` in bpfcc facb9b327b9 scripted-diff: Use bpf_cflags fa0c1baaf89 test: Add imports for util bpf_cflags 9efe5466885 Merge bitcoin/bitcoin#31835: validation: set BLOCK_FAILED_CHILD correctly bd158ab4e35 Merge bitcoin/bitcoin#32023: wallet: removed duplicate call to GetDescriptorScriptPubKeyMan 17bb63f9f9b wallet: Disallow loading legacy wallets 9f04e02ffae wallet: Disallow creating legacy wallets 6b247279b72 wallet: Disallow legacy wallet creation from the wallet tool 5e93b1fd6c1 bench: Remove WalletLoadingLegacy benchmark 56f959d829e wallet: Remove wallettool salvage 7a41c939f05 wallet: Remove -format and bdb from wallet tool's createfromdump c847dee1488 test: remove legacy wallet functional tests 20a9173717b test: Remove legacy wallet tests from wallet_reindex.py 446d480cb22 test: Remove legacy wallet tests from wallet_backwards_compatibility.py aff80298d05 test: wallet_signer.py bdb will be removed f94f9399ac4 test: Remove legacy wallet unit tests d9ac9dbd8ef tests, gui: Use descriptors watchonly wallet for watchonly test 9a4c92eb9ac Merge bitcoin/bitcoin#32226: ci: switch to LLVM 20 in tidy job 82d1e94838e Merge bitcoin/bitcoin#32310: test: Run all benchmarks in the sanity check dda2d4e1766 Merge bitcoin/bitcoin#32113: fuzz: enable running fuzz test cases in Debug mode faca46b0421 test: Run all benchmarks in the sanity check e5a00b24972 Merge bitcoin/bitcoin#32309: bench: close wallets after migration 8406a9f4f13 Merge bitcoin/bitcoin#32325: ci: Add missing -Wno-error=array-bounds to valgrind fuzz fadf12a56c2 test: Add missing check for empty stderr in util tester fa653cb4169 ci: Add missing -Wno-error=array-bounds to valgrind fuzz 08aa7fe2326 ci: clang-tidy 20 2b85d31bcc2 refactor: starts/ends_with changes for clang-tidy 20 96a5cd8000d Merge bitcoin/bitcoin#32293: doc: Add deps install notes for multiprocess 2844adc8ba5 Merge bitcoin/bitcoin#32308: ci: Drop no longer necessary `-Wno-error=array-bounds` cad39f86fb5 bench: ensure wallet migration benchmark runs exactly once c1f458aaa06 ci: re-enable all benchmark runs 1da11dbc441 bench: clean up migrated descriptor wallets via loader teardown 3669ecd4ccd doc: Document fuzz build options c1d01f59acc fuzz: enable running fuzz test cases in Debug mode 06439a14c88 Merge bitcoin/bitcoin#31953: rpc: Allow fullrbf fee bump in (psbt)bumpfee 3e78ac6811d Merge bitcoin/bitcoin#31243: descriptor: Move filling of keys from `DescriptorImpl::MakeScripts` to `PubkeyProvider::GetPubKey` 728e86e3f3d Merge bitcoin/bitcoin#31640: tests: improves tapscript unit tests 1f639efca5e qa: Work around Python socket timeout issue e3d7533ac95 test: improves tapscript unit tests 2aa63d511af test: Use uninvolved pruned node in feature_pruning undo test 772ba7f9ce0 test: Fix nTimes typo in feature_pruning test 9b24a403fae qa: Only allow calling TestNode.stop() after connecting 6ad21b4c011 qa: Include ignored errors in RPC connection timeout 879243e81fd qa refactor: wait_for_rpc_connection - Treat OSErrors the same d91a746815e Merge bitcoin/bitcoin#32306: ci: Temporarily disable `WalletMigration` benchmark ff136d046ab Merge bitcoin/bitcoin#32213: msvc: Update vcpkg manifest e34f12bdd41 ci: Drop no longer necessary `-Wno-error=array-bounds` 055254e212a Merge bitcoin/bitcoin#32300: feefrac: avoid integer overflow in temporary 33d40a6ad48 Merge bitcoin/bitcoin#32282: torcontrol: Fix addrOnion outdated comment 18a035145d6 ci: Temporarily disable `WalletMigration` benchmark c7b592fbd7e Merge bitcoin/bitcoin#31247: psbt: MuSig2 Fields e261eb8d50c tests: Add BIP 373 test vectors 26370c68d09 rpc: Include MuSig2 fields in decodepsbt ff3d4608984 psbt: Implement un/ser of musig2 fields 5cb1241814b feefrac: avoid integer overflow in temporary 7f5a35cf4b3 doc: Add deps install notes for multiprocess 247e9de6222 Merge bitcoin/bitcoin#32191: Make TxGraph fuzz tests more deterministic bfeacc18b36 Merge bitcoin/bitcoin#32154: fuzz: Avoid integer sanitizer warnings in policy_estimator target fa86190e6ed rpc: Allow fullrbf fee bump 06f9ead9f95 Merge bitcoin/bitcoin#32271: doc: Document WITH_EXTERNAL_LIBMULTIPROCESS build option better 4a964868f8e Merge bitcoin/bitcoin#32288: ci: drop -priority-level from bench in win cross CI cd01c9a173c Merge bitcoin/bitcoin#32250: ci: Slim down lint image 513e2020a9a guix: Remove unused `file` package 27f11217ca6 ci: drop -priority-level from bench in win cross CI 7a3afe6787b Merge bitcoin/bitcoin#32281: bench: Fix WalletMigration benchmark e66e30c9e53 Merge bitcoin/bitcoin#31862: doc: Fix and clarify description of ZMQ message format b6282dbd45d Merge bitcoin/bitcoin#32079: test: Add test coverage for rpcwhitelistdefault when unset eb6b1003c12 Merge bitcoin/bitcoin#32286: test: Handle empty string returned by CLI as None in RPC tests 33df4aebae2 Merge bitcoin/bitcoin#31551: [IBD] batch block reads/writes during `AutoFile` serialization 679bb2aac20 Merge bitcoin/bitcoin#31958: rpc: add cli examples, update docs dfa2813e31b Merge bitcoin/bitcoin#32248: Remove support for RNDR/RNDRRS for aarch64 7912cd41258 bench: Fix WalletMigration benchmark 938208d91a2 build: Resolve `@rpath` in `macdeployqtplus` bcaa23a2b70 torcontrol: Fix addrOnion outdate comment a4041c77f0e test: Handle empty string returned by CLI as None in RPC tests abe43dfadd6 doc: release note for #27826 f9fa28788e6 Use LogBlockHeader for compact blocks bad7c914793 Log which peer sent us a header 9d3e39c29c3 Log block header in net_processing cdc32994fea Merge bitcoin/bitcoin#32272: [doc] archive 29.0 release notes faeb1babe28 ci: refactor: Use version id over version codename consistently 12dc507c4a5 [doc] archive 29.0 release notes acee5c59e68 descriptors: Have GetPrivKey fill keys directly 4b0303197e4 descriptors: Move FlatSigningProvider pubkey filling to GetPubKey 25a3b9b0f52 descriptors: Have GetPubKey fill origins directly 6268bde0af0 descriptor: Remove unused parent_info from BIP32PUbKeyProvider::GetPubKey 0ff072caa14 wallet, rpc: Only allow keypool import from single key descriptors 99a4ddf5ab1 Merge bitcoin/bitcoin#31785: Have createNewBlock() wait for tip, make rpc handle shutdown during long poll and wait methods 22770ce8cb1 Merge bitcoin/bitcoin#31282: refactor: Make node_id a const& in RemoveBlockRequest 9ccee9cd022 doc: Document WITH_EXTERNAL_LIBMULTIPROCESS build option better 8d801e3efbf optimization: bulk serialization writes in `WriteBlockUndo` and `WriteBlock` 520965e2939 optimization: bulk serialization reads in `UndoRead`, `ReadBlock` 51166559808 Merge bitcoin/bitcoin#32255: miniscript: Correct off-by-one assert guards (#31727 follow-up) 056cb3c0d2e refactor: clear up blockstorage/streams in preparation for optimization 67fcc648023 log: unify error messages for (read/write)[undo]block a4de1604922 scripted-diff: shorten BLOCK_SERIALIZATION_HEADER_SIZE constant 6640dd52c9f Narrow scope of undofile write to avoid possible resource management issue 3197155f91a refactor: collect block read operations into try block 3693e4d6ee0 miniscript: Correct off-by-one assert guards 817edfb21e4 Merge bitcoin/bitcoin#32245: doc: Updates how to reproduce fuzz CI failure locally fae322a43a4 ci: Slim down lint image 3333273a8f7 ci: Bump lint imagefile FROM base 2835216ec09 txgraph: make GroupClusters use partition numbers directly (optimization) c72c8d5d45d txgraph: compare sequence numbers instead of Cluster* (bugfix) b2bb27f40c7 Merge bitcoin/bitcoin#31741: multiprocess: Add libmultiprocess git subtree 7749d929a0d Remove support for RNDR/RNDRRS for aarch64 on Linux a4fd565191e Merge bitcoin/bitcoin#31727: miniscript: convert non-critical asserts to CHECK_NONFATAL e364e6b5096 Merge bitcoin/bitcoin#32176: net: Prevent accidental circuit sharing when using Tor stream isolation 8fe001d5972 doc: Updates how to reproduce fuzz CI failure locally c58ae197a38 Merge bitcoin/bitcoin#32198: fuzz: Make p2p_headers_presync more deterministic e1dfa4faebf Merge bitcoin/bitcoin#32237: qt: Update SetHexDeprecated to FromHex b8cefeb2214 Merge bitcoin/bitcoin#32149: wallet, migration: Fix empty wallet crash 874da961d01 Merge bitcoin/bitcoin#32240: feefrac test: avoid integer overflow (bugfix) faa3ce31998 fuzz: Avoid influence on the global RNG from peerman m_rng faf4c1b6fc3 fuzz: Disable unused validation interface and scheduler in p2p_headers_presync fafaca6cbc2 fuzz: Avoid setting the mock-time twice fad22149f46 refactor: Use MockableSteadyClock in ReportHeadersPresync fa9c38794ef test: Introduce MockableSteadyClock::mock_time_point and ElapseSteady helper faf2d512c52 fuzz: Move global node id counter along with other global state fa98455e4b1 fuzz: Set ignore_incoming_txs in p2p_headers_presync faf2e238fbb fuzz: Shuffle files before testing them 868816d962a refactor: Remove SetHexDeprecated 6b63218ec2a qt: Update SetHexDeprecated to FromHex bb92bb36f21 Merge bitcoin/bitcoin#32206: doc: Add fuzz based coverage report generation 021b4f72db2 Merge bitcoin/bitcoin#32216: bench: Match ConnectBlock tx output counts ff5b7b0b0ac Merge bitcoin/bitcoin#32214: test: Remove fragile and ancient release 0.17 wallet test 873a45fba04 Merge bitcoin/bitcoin#32200: net: Add Tor extended SOCKS5 error codes 8d2ead2a86f Merge bitcoin/bitcoin#32185: coins: replace manual `CDBBatch` size estimation with LevelDB's native `ApproximateSize` ad0eee54921 Merge bitcoin/bitcoin#32139: test: remove strict restrictions on rpc_deprecated test a2bc330da86 feefrac test: avoid integer overflow (bugfix) 24d5033a62d Merge bitcoin/bitcoin#32114: test: Add encodable PUSHDATA1 examples to feature_taproot cfe025ff0e1 Merge bitcoin/bitcoin#30535: feefrac: add support for evaluating at given size 58914ab459c fuzz: assert min diff between FeeFrac and CFeeRate 0c6bcfd8f73 feefrac: support both rounding up and down for Evaluate ecf956ec9d3 feefrac: add support for evaluating at given size 7963aecead9 feefrac: add helper functions for 96-bit division 800c0dea9af feefrac: rework comments around Mul/MulFallback fcfe008db25 feefrac fuzz: use arith_uint256 instead of ad-hoc multiply 46ff4220bff arith_uint256: modernize comparison operators e419b0e17f8 refactor: Remove manual CDBBatch size estimation 8b5e19d8b5b refactor: Delegate to LevelDB for CDBBatch size estimation 751077c6e25 Coins: Add `kHeader` to `CDBBatch::size_estimate` 0dc74c92c06 Merge bitcoin/bitcoin#32212: test: Remove confusing and failing system time test 7677fde4c78 Add fuzz test coverage report generation c77e3107b81 refactor: rename leftover WriteBlockBench d42e82d6506 Merge bitcoin/bitcoin#32218: ci: Merge master in test-each-commit task (take 2) 0f602c5693e wallet, migration: Fix crash on empty wallet fa10a1ded5b ci: Use GITHUB_BASE_REF over hard-coded master fa0d0be05c0 ci: Merge master in test-each-commit task (take 2) 65dcbec7566 Merge bitcoin/bitcoin#32209: test: Preserve llvm profile path b34d49a27e4 Merge bitcoin/bitcoin#32203: ci: Merge master in test-each-commit task 924f25f6fc7 bench: Match ConnectBlock tx output counts d0cce4172c0 depends: Fix `mv` command compatibility with macOS 690f5da15a1 depends: Specify Objective C/C++ compilers for `native_qt` package c5a7ffd1e8c preserve llvm profile env fac978fb213 test: Remove fragile and ancient release 0.17 wallet test 42c13141b52 wallet, refactor: Decouple into HasLegacyRecords() c66f7dab33f Merge bitcoin/bitcoin#32211: doc: Amend Qt 6 dependency packages for Ubuntu ec81a72b369 net: Add randomized prefix to Tor stream isolation credentials d85895e5a77 build, msvc: Build only required `qtbase` features fe5a6dcc533 build, msvc: Update vcpkg manifest baseline fadf8f078e8 test: Remove confusing and failing system time test 2e751f559ac doc: Amend Qt 6 dependency packages for Ubuntu df82a245080 Merge bitcoin-core/gui#863: refactor: Post Qt 6 cleanup 77dff373a66 Merge bitcoin/bitcoin#32182: ci: Switch to dynamic library linkage in native Windows job 99b90228442 Merge bitcoin/bitcoin#32177: TxGraph: Increase fuzz coverage 3aa58bea8e7 qt, refactor: Inline `GUIUtil::SplitSkipEmptyParts` function d1ec6db2493 qt, refactor: Inline `GUIUtil::GetImage` function 4b36ab3a6a0 qt, refactor: Remove outdated Qt version-specific code faa807bdf8c ci: Merge master in test-each-commit task 7967fe5bfd3 ci: Switch to dynamic library linkage in native Windows job 639279e86a6 Merge bitcoin/bitcoin#30997: build: Switch to Qt 6 babb9f5db64 depends: remove non-native libmultiprocess build 5d105fb8c3f depends: Switch libmultiprocess packages to use local git subtree 9b35518d2f3 depends, moveonly: split up int_get_build_id function 2d373e27071 lint: Add exclusions for libmultiprocess subtree e88ab394c16 doc: Update documentation to explain libmultiprocess subtree d4bc5639829 cmake: Fix clang-tidy "no input files" errors abdf3cb6456 cmake: Fix warnings from boost headers 8532fcb1c30 cmake: Fix ctest mptest "Unable to find executable" errors d597ab1dee6 cmake: Support building with libmultiprocess subtree 69f0d4adb72 scripted-diff: s/WITH_MULTIPROCESS/ENABLE_IPC/ in cmake 3f6fb40114e Merge commit 'a2f28e4be96e92079a219567cf20214996aefc53' as 'src/ipc/libmultiprocess' d6244f85c50 depends: Update libmultiprocess library to simplify cmake subtree build a2f28e4be96 Squashed 'src/ipc/libmultiprocess/' content from commit 35944ffd23fa b639417b39c net: Add Tor extended SOCKS5 error codes f00345727b8 doc: Update `dependencies.md` for Qt 6 80b917991ed build, msvc: Update `vcpkg.json` for Qt 6 30dd1f1644e ci: Update for Qt 6 629d292f4d8 test: Update sanitizer suppressions for Qt 6 551e13abf82 guix: Adjust for Qt 6 c3e9bd086c4 qt: Fix compiling for Windows ab399c4db2e depends: Add `native_qt` package 248613eb3ee depends: Factor out Qt modules' details 0268f52a4cd depends: Introduce customizable `$(package)_patches_path` variables 5e794e62024 depends: Bump `qt` package up to 6.7.3 6d4214925fa cmake: Require Qt 6 to build GUI cfa7f70f6c9 Merge bitcoin/bitcoin#31933: doc: Add Clang/LLVM based coverage report generation 772996ac8be Merge bitcoin/bitcoin#32158: fuzz: Make partially_downloaded_block more deterministic 40de19164c4 Merge bitcoin/bitcoin#32118: fuzz: wallet: fix crypter target 5541f7ced77 Merge bitcoin/bitcoin#32187: refactor: Remove spurious virtual from final ~CZMQNotificationInterface 6f6f83a8ca2 Merge bitcoin/bitcoin#32193: test: fix spelling in Python code comment 16b084f88d8 Merge bitcoin/bitcoin#32194: ci, windows: Do not exclude `wallet_migration.py` in command line 4a679936bbb ci, windows: Do not exclude `wallet_migration.py` in command line 449e2eb7e40 Merge bitcoin/bitcoin#32184: ci: Add workaround for vcpkg's `libevent` package 4774a0c9230 test: fix spelling in Python code comment 459807d566c test: remove strict restrictions on rpc_deprecated c47f81e8ac1 net: Rename `_randomize_credentials` Proxy parameter to `tor_stream_isolation` 1a6fc04d815 Merge bitcoin/bitcoin#29500: test: create assert_not_equal util 6af68bb84bf Merge bitcoin/bitcoin#32166: torcontrol: Define tor reply code as const to improve our maintainability 6593293e47d Merge bitcoin/bitcoin#32110: contrib: document asmap-tool commands more thoroughly c8ade107c84 Merge bitcoin/bitcoin#31806: fuzz: coinselection: cover `SetBumpFeeDiscount` fa69c42fdf0 refactor: Remove spurious virtual from final ~CZMQNotificationInterface ea36d2720a7 Merge bitcoin/bitcoin#31340: test: add missing segwitv1 test cases to `script_standard_tests` 80e47b19207 Merge bitcoin/bitcoin#32096: Move some tests and documentation from testnet3 to testnet4 30c59adda44 ci: Drop confusing comment ef00a28414d ci: Add workaround for vcpkg's libevent package 7bb83f67181 test: create assert_not_equal util and add to where imports are needed 2929da1dd59 test: Add coverage for rpcwhitelistdefault when unset fa513101212 contrib: Warn about using libFuzzer for coverage check fa17cdb191d test: Avoid script check worker threads while fuzzing fa900bb2dce contrib: Only print fuzz output on failure 74d9598bfbc Merge bitcoin/bitcoin#32134: descriptors: Multipath/PR 22838 follow-ups a40bd374aaf Get*Union: disallow nulltpr Refs 57433502e67 CountDistinctClusters: nullptrs disallowed 8bca0d325a4 TxGraphImpl::Compact: m_main_clusterset.m_removed is always empty 2c5cf987e96 TxGraphImpl::PullIn: only allowed when staging exists fa82fe2c736 contrib: Use -Xdemangler=llvm-cxxfilt in deterministic-*-coverage fa7e9311305 contrib: Add optional parallelism to deterministic-fuzz-coverage 3358b1d1051 Merge bitcoin/bitcoin#31176: ci: Test cross-built Windows executables on Windows natively 8e4a0ddd508 torcontrol: Add comment explaining Proxy credential randomization for Tor privacy f974359e218 test: Add encodable PUSHDATA1 examples to feature_taproot ec5c0b26cef torcontrol: Define tor reply code as const to improve maintainability 3c3548a70ee validation: clarify final |= BLOCK_FAILED_VALID in InvalidateBlock aac5488909f validation: correctly update BlockStatus for invalid block descendants 9e29653b424 test: check BlockStatus when InvalidateBlock is used c99667583dd validation: fix traversal condition to mark BLOCK_FAILED_CHILD 7a93544cdcc doc: Fix and clarify description of ZMQ message format 56f271e9b9c descriptors refactor: Clarify multipath data relationships through local struct 7e974f474e2 descriptors refactor: Use range-for and limit scope of seen_multipath 3e167085bad test: Ensures test fails if witness is not hex 4c1906a500c Merge bitcoin/bitcoin#31992: cmake: Avoid fuzzer "multiple definition of `main'" errors 9acc25bcb67 Merge bitcoin/bitcoin#32153: wallet: remove redundant `Assert` call when block is disconnected 0a1e36effaa Merge bitcoin/bitcoin#32151: Follow-ups for txgraph #31363 e3c4bb12bab Merge bitcoin/bitcoin#32058: test: get rid of redundant TODO tag 930b237f163 Merge bitcoin/bitcoin#31874: qa wallet: Activate dormant checks in wallet_multisig_descriptor_psbt.py a52b53926b5 clusterlin: add GetConnectedComponent 6afffba34e0 contrib: (asmap) add docs about encode and decode commands 67d5cc2a06e contrib: (asmap) add documentation on diff and diff-addrs commands e047b1deca0 contrib: (asmap) add diff-addrs example to README c7d5dcaa614 clusterlin: fix typos 777179bc27b txgraph: rename group_data in ApplyDependencies 74c23f80abb Merge bitcoin/bitcoin#32145: test: Add functional test for bitcoin-chainstate bcb316bd888 Merge bitcoin/bitcoin#32050: test: avoid treating hash results as integers fa6a007b8e7 fuzz: Avoid integer sanitizer warnings in policy_estimator target ae6b6ea296a wallet: remove redundant `Assert` call when block is disconnected a54baa86981 Merge bitcoin/bitcoin#32100: doc: clarify the documentation of `Assume` assertion b131e1bfc07 Merge bitcoin/bitcoin#32101: Accept unordered tracepoints in interface_usdt_utxocache.py 8cc601196b9 Merge bitcoin/bitcoin#32129: doc: Update comments for AreInputsStandard to match code 140f0d89bf6 Merge bitcoin/bitcoin#32027: cmake: Add `NO_CACHE_IF_FAILED` option for checking linker flags 5dd6ebc7e13 Merge bitcoin/bitcoin#32148: test: fix intermittent timeout in p2p_ibd_stalling.py b413b088ae8 Merge bitcoin/bitcoin#32141: fuzz: extract unsequenced operations with side-effects e563cb5c606 Merge bitcoin/bitcoin#31849: depends: set `CMAKE_*_COMPILER_TARGET` in toolchain 603fcc07d59 Merge bitcoin/bitcoin#31896: refactor: Remove redundant and confusing calls to IsArgSet 84bbb40558f Merge bitcoin/bitcoin#32132: build: Remove bitness suffix from Windows installer 6971d3a0f52 Merge bitcoin/bitcoin#32144: lint: Remove needless borrow to fix Clippy warning f1d129d9634 Merge bitcoin/bitcoin#31363: cluster mempool: introduce TxGraph 9f35d4d070b test: fix intermittent timeout in p2p_ibd_stalling.py d065208f0f0 test: get rid of redundant TODO tag 248fdd88dcf test: accept unordered tracepoints in... ca55613fd15 test: Add functional test for bitcoin-chainstate 32dcec269bf rpc: update RPC help of `createpsbt` 931117a46f5 rpc: update the doc for `data` field in `outputs` argument aa7a898c236 doc: use testnet4 in developer docs 6c217d22fdc test: use testnet4 in argsman test 7c200ece805 test: use testnet4 in key_io_valid.json d424bd59413 test: drop unused testnet3 magic bytes 8cfc09fafe5 test: cover testnet4 magic in assumeutxo.py 4281e3603a2 zmq: use testnet4 in zmq_sub.py example 3f9c716e7fc test: Fix docstring for cmake migration 52ede28a8ad doc: Update comments for AreInputsStandard to match code 35d17cd5eec qa wallet: Actually make use of expressions b96f1a696aa add clang/llvm based coverage report generation e3ce2bd9829 Remove needless borrow to fix Clippy warning c0b7159de47 Merge bitcoin/bitcoin#32122: fuzz: Fix off-by-one in package_rbf target b1de59e8965 fuzz: extract unsequenced operations with side-effects 99a92efdd9d descriptors doc: Correct Markdown format + wording dfb7d58108d Merge bitcoin/bitcoin#31897: mining: drop unused -nFees and sigops from CBlockTemplate 535b8747074 test: Combine rpcwhitelistdefault functions 0000fb3fd9f doc: Remove outdated and stale todo comment fa2b529f926 refactor: Remove redundant call to IsArgSet fa29842c1fe refactor: Remove IsArgSet guard when fallback value is provided 2b6ce9254da test: Update permissions and string formatting fa5674c264d fuzz: Fix off-by-one in package_rbf target 1d281daf861 Merge bitcoin/bitcoin#32095: doc: clarify that testnet min-difficulty is not optional a0d737cd7a7 Merge bitcoin/bitcoin#32073: net: Block v2->v1 transport downgrade if !fNetworkActive 77e553ab6a0 build: refactor: hardening flags -> core_interface 00ba3ba3034 build: Drop option for disabling hardening f57db75e91d build: Use `-z noseparate-code` on NetBSD < 11.0 b3162d10ea9 Merge bitcoin/bitcoin#31656: test: Add expected result assertions 5f3848c63b2 Merge bitcoin/bitcoin#31278: wallet, rpc: deprecate settxfee and paytxfee 329a0dcdafe doc: clarify the documentation of `Assume` fb2b05b1259 build: Remove bitness suffix from Windows installer b2ea3656481 txgraph: Add Get{Ancestors,Descendants}Union functions (feature) 54bceddd3ab txgraph: Multiple inputs to Get{Ancestors,Descendant}Refs (preparation) aded0470192 txgraph: Add CountDistinctClusters function (feature) b685d322c97 txgraph: Add DoWork function (feature) 295a1ca8bbb txgraph: Expose ability to compare transactions (feature) 22c68cd153b txgraph: Allow Refs to outlive the TxGraph (feature) 82fa3573e19 txgraph: Destroying Ref means removing transaction (feature) 6b037ceddfd txgraph: Cache oversizedness of graphs (optimization) 8c70688965b txgraph: Add staging support (feature) c99c7300b44 txgraph: Abstract out ClearLocator (refactor) 34aa3da5ade txgraph: Group per-graph data in ClusterSet (refactor) 36dd5edca5b txgraph: Special-case removal of tail of cluster (Optimization) 5801e0fb2b9 txgraph: Delay chunking while sub-acceptable (optimization) 57f5499882a txgraph: Avoid looking up the same child cluster repeatedly (optimization) 1171953ac60 txgraph: Avoid representative lookup for each dependency (optimization) 64f69ec8c38 txgraph: Make max cluster count configurable and "oversize" state (feature) 1d27b74c8e3 txgraph: Add GetChunkFeerate function (feature) c80aecc24dd txgraph: Avoid per-group vectors for clusters & dependencies (optimization) ee57e93099f txgraph: Add internal sanity check function (tests) 05abf336f99 txgraph: Add simulation fuzz test (tests) 8ad3ed26818 txgraph: Add initial version (feature) 6eab3b2d738 feefrac: Introduce tagged wrappers to distinguish vsize/WU rates d4497738999 scripted-diff: (refactor) ClusterIndex -> DepGraphIndex bfeb69f6e00 clusterlin: Make IsAcyclic() a DepGraph member function 0aa874a3578 clusterlin: Add FixLinearization function + fuzz test 55b931934a3 removed duplicate calling of GetDescriptorScriptPubKeyMan 05117e6e17f rpc: clarify longpoll behavior 5315278e7c7 Have createNewBlock() wait for a tip 8284229a28c refactor: deduplicate anchor witness program bytes (`0x4e,0x73`) 41f2f058d0b test: add missing segwitv1 test cases to `script_standard_tests` 770d39a3765 Merge bitcoin/bitcoin#31887: CLI cleanups a203928693c Merge bitcoin/bitcoin#30538: Doc: add a comment referencing past vulnerability next to where it was fixed b9c281011b7 Merge bitcoin/bitcoin#31689: Benchmark Chainstate::ConnectBlock duration 963355037fe depends: set CMAKE_*_COMPILER_TARGET in toolchain af3dee0b8d4 Merge bitcoin/bitcoin#32074: contrib: Make deterministic-coverage error messages more readable 0ff66b1c4ab fuzz: coinselection: cover `SetBumpFeeDiscount` 28dc118001b fuzz: wallet: fix crypter target 80467593059 Merge bitcoin/bitcoin#31870: fuzz: split `coinselection` harness 2db00278ea5 Merge bitcoin/bitcoin#31910: qa: fix an off-by-one in utxo snapshot fuzz target and sanity check its snapshot data c9a61509ba3 Merge bitcoin/bitcoin#31979: torcontrol: Limit reconnect timeout to max seconds and log delay in whole seconds b43cfa20fdd Merge bitcoin/bitcoin#30142: doc: add guidance for RPC to developer notes 85feb094d4a Merge bitcoin/bitcoin#32092: test: Fix intermittent issue in p2p_orphan_handling.py b858b729034 Merge bitcoin/bitcoin#31841: fuzz: Use immediate task runner to increase fuzz stability fa7a40d952a contrib: Print deterministic-coverage runs fa751639fb6 contrib: Make deterministic-coverage error messages more readable c6eca6f3961 doc: add guidance for RPC to developer notes fa310cc6f49 test: Fix intermittent issue in p2p_orphan_handling.py 25b56fd9b46 ci: Test cross-built Windows executables on Windows natively 288481aabd7 doc: clarify that testnet min-difficulty is not optional 3501bca8c7e ci: Move "Windows cross" job from Cirrus CI to GHA CI f8619196ceb ci: Use `bash` by default for all platforms 6869fb41709 net: Block v2->v1 transport downgrade if !CConnman::fNetworkActive 2f2ab47bf74 Release notes bf194c920cf wallet, rpc: deprecate settxfee and paytxfee fa4fb6a8f15 fuzz: Use serial task runner to increase fuzz stability e3014017bac test: add IsActiveAfter tests for versionbits 60950f77c35 versionbits: docstrings for BIP9Info 64a2795fd4f rpc: handle shutdown during long poll and wait methods a3bf43343f0 rpc: drop unneeded IsRPCRunning() guards f9cf8bd0ab7 Handle negative timeout for waitTipChanged() 226d81f8b70 mining: drop unused -nFees and sigops from CBlockTemplate 53ad845fb9e test: check fees and sigops in getblocktemplate a82829f37e1 test: simplify (w)txid checks by avoiding .calc_sha256 calls 346a099fc1e test: avoid unneeded hash -> uint256 -> hash roundtrips d423fd9ec83 cli, bugfix: for -getinfo, replace IsArgSet() with GetBoolArg() e99e41b3070 cli, refactor: simplify public-only classes with structs fdbfd250fbf cli, refactor: deduplicate NetworkStringToId() be82139b2a1 cli, refactor: simplify DetailsRequested() 52ac17757ee cmake: Add `NO_CACHE_IF_FAILED` option for checking linker flags f708498293c torcontrol: Limit reconnect timeout to max seconds and log delay in whole seconds 57d8b1f1b33 cmake: Avoid fuzzer "multiple definition of `main'" errors 8134a6b5d40 rpc: add cli example for `walletcreatefundedpsbt` RPC a015b7e13da test: Add expected result assertions 63b534f97e5 fuzz: sanity check hardcoded snapshot in utxo_snapshot target 3b85eba83ab test util: split up ConnectBlock from MineBlock ba82240553d fuzz: split `coinselection` harness d1527f6b886 qa: correct off-by-one in utxo snapshot fuzz target b9d4d5f66a5 net: Use GetAdaptersAddresses to get local addresses on Windows 7edaf8b64cb Benchmark Chainstate::ConnectBlock duration eb0724f0dee doc: banman: reference past vuln due to unbounded banlist ad616b6c013 doc: net: mention past vulnerability as rationale to limit incoming message size 4489117c3f6 doc: txrequest: point to past censorship vulnerability in tx re-request handling 68ac9542c45 doc: net_proc: reference past DoS vulnerability in orphan processing c02d9f6dd53 doc: net_proc: reference past defect regarding invalid GETDATA types 5e3d9f21df2 doc: validation: add a reference to historical header spam vulnerability a8333fc9ff9 scripted-diff: wallet: rename plain and encrypted master key variables 5a92077fd53 wallet: refactor: dedup master key decryption 846545947cd wallet: refactor: dedup master key encryption / derivation rounds setting a6d9b415aa3 wallet: refactor: introduce `CMasterKey::DEFAULT_DERIVE_ITERATIONS` constant 62c209f50d9 wallet: doc: remove mentions of unavailable scrypt derivation method ff0194a7ce9 miniscript: convert non-critical asserts to CHECK_NONFATAL 7565563bc7a tests: refactor versionbits fuzz test 2e4e9b9608c tests: refactor versionbits unit test 525c00f91bb versionbits: Expose VersionBitsConditionChecker via impl header e74a7049b47 versionbits: Expose StateName function d00d1ed52c8 versionbits: Split out internal details into impl header 37b9b67a395 versionbits: Simplify VersionBitsCache API 1198e7d2fd6 versionbits: Move BIP9 status logic for getblocktemplate to versionbits b1e967c3ec9 versionbits: Move getdeploymentinfo logic to versionbits 3bd32c20550 versionbits: Move WarningBits logic from validation to versionbits 5da119e5d0e versionbits: Change BIP9Stats to uint32_t types a679040ec19 consensus/params: Move version bits period/threshold to bip9 param 0ad7d7abdbc test: chainstate write test for periodic chainstate flush e9d617095d4 versionbits: Remove params from AbstractThresholdConditionChecker 9bc41f1b48b versionbits: Use std::array instead of C-style arrays fa21f83d298 ci: Use G++ in valgrind tasks fabd05bf651 refactor: Fix net_processing iwyu includes fa1622db208 refactor: Make node_id a const& in RemoveBlockRequest 002b792b9a8 gui: decouple WalletModel from RPCExecutor REVERT: 29f05b91cf8 kernel: Add pure kernel bitcoin-chainstate REVERT: b7733085a90 kernel: Add functions to get the block hash from a block REVERT: a4f79616064 kernel: Add block index utility functions to C header REVERT: 0a0062b85a7 kernel: Add function to read block undo data from disk to C header REVERT: e49808a42d3 kernel: Add functions to read block from disk to C header REVERT: 2f54bd53745 kernel: Add function for copying block data to C header REVERT: c34ecbefbd8 kernel: Add functions for the block validation state to C header REVERT: 0b46337ebe3 kernel: Add validation interface to C header REVERT: 4c7a81a030e kernel: Add interrupt function to C header REVERT: edf1d56fc05 kernel: Add import blocks function to C header REVERT: 894b9c20447 kernel: Add chainstate load options for in-memory dbs in C header REVERT: 157de0eccd3 kernel: Add options for reindexing in C header REVERT: bdff17958b1 kernel: Add block validation to C header REVERT: c52ca9447fc kernel: Add chainstate loading when instantiating a ChainstateManager REVERT: 031a96dc6b7 kernel: Add chainstate manager option for setting worker threads REVERT: c2f03a11251 kernel: Add chainstate manager object to C header REVERT: 18ec1cc195b kernel: Add notifications context option to C header REVERT: e3b03745f93 kernel: Add chain params context option to C header REVERT: ef426234c07 kernel: Add kernel library context object REVERT: 2c5e6b55922 kernel: Add logging to kernel library C header REVERT: 20f1f67de07 kernel: Introduce initial kernel C header API git-subtree-dir: depend/bitcoin git-subtree-split: dcb6dd33f5fb68f2b363cdab237916278f89919b
…417e0b3b1b0 1417e0b3b1b0 kernel: Fix bitcoin-chainstate for windows 4f07590a8bd6 kernel: Add Purpose section to header documentation 58c01a82c163 kernel: Add pure kernel bitcoin-chainstate 0416a292f545 kernel: Add functions to get the block hash from a block 8d25dfd1b2a2 kernel: Add block index utility functions to C header eacf99dd3c28 kernel: Add function to read block undo data from disk to C header 3c012048c2f1 kernel: Add functions to read block from disk to C header 85f5264462e0 kernel: Add function for copying block data to C header f136ca589153 kernel: Add functions for the block validation state to C header 9d7e19ee522d kernel: Add validation interface to C header 51555301a882 kernel: Add interrupt function to C header 61c4ac9c8e1f kernel: Add import blocks function to C header 4153ab77084e kernel: Add chainstate load options for in-memory dbs in C header cb128288a0d9 kernel: Add options for reindexing in C header 7ead2a92be50 kernel: Add block validation to C header 9262ce715448 kernel: Add chainstate loading when instantiating a ChainstateManager 594b060da476 kernel: Add chainstate manager option for setting worker threads 7384b7325d5f kernel: Add chainstate manager object to C header 7920e23c22b8 kernel: Add notifications context option to C header c0a86769e784 kernel: Add chain params context option to C header 3769d12882f9 kernel: Add kernel library context object f7b435493bd7 kernel: Add logging to kernel library C header 62d0122c7ed0 kernel: Introduce initial kernel C header API 88b22acc3d6f Merge bitcoin/bitcoin#32528: rpc: Round verificationprogress to 1 for a recent tip aee7cec0db8f Merge bitcoin/bitcoin#32364: refactor: validation: mark CheckBlockIndex as const ce4600071243 Merge bitcoin/bitcoin#32509: qa: feature_framework_startup_failures.py fixes & improvements (#30660 follow-up) d21612fc4b77 Merge bitcoin/bitcoin#32404: log: print reason when writing chainstate 9bd9aee5a656 Merge bitcoin/bitcoin#32487: blocks: avoid recomputing block header hash in `ReadBlock` 4173805a15c1 Merge bitcoin/bitcoin#32623: test: Add missing ipc subtree to lint 012f347685b8 Merge bitcoin/bitcoin#31375: multiprocess: Add bitcoin wrapper executable 38ad8027a26f Merge bitcoin/bitcoin#32439: guix: accomodate migration to codeberg fa4b8b16c378 test: Add missing ipc subtree to lint f7cc7f6468af Merge bitcoin/bitcoin#32591: test: fix and augment block tests of invalid_txs 87860143be79 Merge bitcoin/bitcoin#32270: test: fix pushdata scripts c8d9baae942c guix: accomodate migration to codeberg 09ee8b7f2786 node: avoid recomputing block hash in `ReadBlock` 2bf173210fa1 test: exercise `ReadBlock` hash‑mismatch path fab1e02086ce refactor: Pass verification_progress into block tip notifications 638a4c0bd8b5 Merge bitcoin/bitcoin#32596: wallet, rpc, doc: various legacy wallet removal cleanups in RPCs 53e9b71b2fd5 log: print reason for why should_write was triggered in `FlushStateToDisk` e5cbea416b2f rpc: doc: remove redundant "descriptors" parameter in `createwallet` examples 7a05f941bb2c rpc: doc: drop descriptor wallet mentions in fast wallet rescan related RPCs db465a50e23d wallet, rpc: remove obsolete "keypoololdest" result field/code 2df824f4e62b Merge bitcoin/bitcoin#32586: ci: Downgrade DEBUG=1 to -D_GLIBCXX_ASSERTIONS in centos task 0a8ab559514f Merge bitcoin/bitcoin#32467: checkqueue: make the queue non-optional for CCheckQueueControl and drop legacy locking macro usage 8fcd68450523 test: ensure reason is checked for invalid blocks rejection 1a689a2c8871 test: fix block tests of invalid_txs d2c9fc84e171 Merge bitcoin/bitcoin#32533: test: properly check for per-tx sigops limit fa079538e32d ci: Downgrade DEBUG=1 to -D_GLIBCXX_ASSERTIONS in centos task 35bf3f88398d Merge bitcoin/bitcoin#32400: random: Use modern Windows randomness functions a42faa25d8f7 Merge bitcoin/bitcoin#32551: cmake: Remove `ENABLE_{SSE41,AVX2,X86_SHANI,ARM_SHANI}` from `bitcoin-build-config.h` 87ec923d3a7a Merge bitcoin/bitcoin#32475: wallet: Use `util::Error` throughout `AddWalletDescriptor` instead of returning `nullptr` for some errors 7763e86afa04 Merge bitcoin/bitcoin#32573: ci: Avoid && dropping errors 0a56ed1ac868 Merge bitcoin/bitcoin#32567: subprocess: Backport upstream changes 54e406a3055a Merge bitcoin/bitcoin#32459: qt: drop unused watch-only functionality ec8120469430 Merge bitcoin/bitcoin#31622: psbt: add non-default sighash types to PSBTs and unify sighash type match checking fab97f583f11 ci: Avoid && dropping errors 9a887baadebc Merge bitcoin/bitcoin#32344: Wallet: Fix Non-Ranged Descriptors with Range [0,0] Trigger Unexpected Wallet Errors in AddWalletDescriptor 26fba39bda47 Merge bitcoin/bitcoin#32466: threading: drop CSemaphore in favor of c++20 std::counting_semaphore 878556947b0d Merge bitcoin/bitcoin#32333: doc: Add missing top-level description to pruneblockchain RPC fd290730f530 validation: clean up and clarify CheckInputScripts logic fad009af49c4 Merge bitcoin/bitcoin#32520: Remove legacy `Parse(U)Int*` f66b14d2ecb0 test: fix pushdata scripts 0f9baba0fb6e Merge bitcoin/bitcoin#29868: Reintroduce external signer support for Windows cf2cbfac6599 Merge bitcoin/bitcoin#32553: wallet: Fix logging of wallet version bc4b04c5bfb4 Merge bitcoin/bitcoin#31864: doc: add missing copyright headers e63a7034f038 subprocess: Don't add an extra whitespace at end of Windows command line 800b7cc42ca6 cmake: Add missed `SSE41_CXXFLAGS` 028476e71fdc cmake: Remove `ENABLE_ARM_SHANI` from `bitcoin-build-config.h` 1e900528d245 cmake: Remove `ENABLE_X86_SHANI` from `bitcoin-build-config.h` 8689628e2e36 cmake: Remove `ENABLE_AVX2` from `bitcoin-build-config.h` a8e2342dca5e cmake: Remove `ENABLE_SSE41` from `bitcoin-build-config.h` fa76b378e4b2 rpc: Round verificationprogress to exactly 1 for a recent tip faf6304bdfdf test: Use mockable time in GuessVerificationProgress c7c3bfadfc6e doc: add & amend copyright headers f667000c83e7 contrib: remove outdated entries from copyright_header.py 0817f2d6cf52 doc: update MIT license URL 6854497b47ce contrib: remove GPL-3+ from debian/copyright af65fd1a3330 Merge bitcoin/bitcoin#32560: ci: Move DEBUG=1 to centos task 548f6b8cdef5 Merge bitcoin/bitcoin#32562: doc: remove // for ... comments 7c87a0e3fb1b Merge bitcoin/bitcoin#32477: lint: Check for missing trailing newline faf55fc80b11 doc: Remove ParseInt mentions in documentation 785e1407b0a3 wallet: Use util::Error throughout AddWalletDescriptor 1a3750789540 validation: use a lock for CCheckQueueControl c3b0e6c7f482 validation: make CCheckQueueControl's CCheckQueue non-optional 4c8c90b5567a validation: only create a CCheckQueueControl if it's actually going to be used 11fed833b3ed threading: add LOCK_ARGS macro 33f8f8ae4ced Merge bitcoin/bitcoin#30221: wallet: Ensure best block matches wallet scan state 7054d24f119a Merge bitcoin-core/gui#875: Use WitnessV0KeyHash in TestAddAddressesToSendBook 4272966d0234 Merge bitcoin/bitcoin#32423: rpc: Undeprecate rpcuser/rpcpassword, store all credentials hashed in memory 7193245cd667 doc: remove For ... comments 33332829333b refactor: Remove unused Parse(U)Int* 1b9cdc933f6c net: drop win32 ifdef 19ba499b1f38 init: cerrno is used on all platforms fa982f142544 Use WitnessV0KeyHash in TestAddAddressesToSendBook fa58d6cdab00 ci: Move DEBUG=1 to centos task ff1ee102c4ba Merge bitcoin/bitcoin#32561: doc: Adjust stale MSVC bug url fa330a5e38a8 doc: Adjust stale MSVC bug url 88791fb97bc3 Merge bitcoin/bitcoin#32544: scripted-diff: test: remove 'descriptors=True' argument for `createwallet` calls e8661aac752e wallet: drop watch-only things from interface e99188e7daa1 qt: drop unused watch-only functionality 4b2cd0b41ff4 test: check that creating a wallet does not log version info 39a483c8e9dc test: Check that the correct versions are logged on wallet load 359ecd370499 walletdb: Log the wallet version after it has been read from disk 86de8c166800 scripted-diff: test: remove 'descriptors=True' argument for `createwallet` calls 7710a31f0cb6 Merge bitcoin/bitcoin#32452: test: Remove legacy wallet RPC overloads b81e5076aa56 Merge bitcoin/bitcoin#32514: scripted-diff: Remove unused leading newline in RPC docs 3023d7e6ad52 Merge bitcoin/bitcoin#32534: Update leveldb subtree to latest upstream fa84e6c36cb0 bitcoin-tx: Reject + sign in MutateTxDel* face2519fac9 bitcoin-tx: Reject + sign in vout parsing fa8acaf0b993 bitcoin-tx: Reject + sign in replaceable parsing faff25a558ab bitcoin-tx: Reject + sign in locktime dddd9e5fe38b bitcoin-tx: Reject + sign in nversion parsing fab06ac03788 rest: Use SAFE_CHARS_URI in SanitizeString error msg c461d1528758 Merge bitcoin/bitcoin#32511: refactor: bdb removals b15c386933eb Merge bitcoin/bitcoin#32519: ci: Enable feature_init and wallet_reorgsrestore in valgrind task 7015052eba23 build: remove Wsuggest-override suppression from leveldb build 7bc64a8859c3 test: properly check for per-tx sigops limit 3f83c744ac28 Merge bitcoin/bitcoin#32526: fuzz: Delete wallet_notifications fa1f10a49e7c doc: Fix minor typos in rpc help 0769c8fc999f Update leveldb subtree to latest upstream e2c84b896fad Squashed 'src/leveldb/' changes from 4188247086..113db4962b 04c6c961b657 Merge bitcoin/bitcoin#32527: test: Remove unused verify_flags suppression 742b30549fc9 Merge bitcoin/bitcoin#32491: build: document why we check for `std::system` fab5a3c803c7 test: Remove unused verify_flags suppression c521192d8b9e Merge bitcoin/bitcoin#32485: Update minisketch subtree 3afde679c3b2 Merge bitcoin/bitcoin#32296: refactor: reenable `implicit-integer-sign-change` check for `serialize.h` 5af757bb7841 Merge bitcoin/bitcoin#32505: depends: bump to latest config.guess and config.sub c60455a6458c Merge bitcoin/bitcoin#32500: init: drop `-upnp` e230affaa321 Merge bitcoin/bitcoin#32396: cmake: Add application manifests when cross-compiling for Windows 51be79c42b7e Merge bitcoin/bitcoin#32238: qt, wallet: Convert uint256 to Txid f96ae941a1db Merge bitcoin/bitcoin#32525: build: Revert "Temporarily disable compiling `fuzz/utxo_snapshot.cpp` with MSVC fad2faf6c5d8 fuzz: Delete wallet_notifications bf950c4544d3 qa: Improve suppressed errors output 075352ec8e57 qa: assert_raises_message() - search in str(e) bd8ebbc4ab6a qa: Make --timeout-factor=0 result in a smaller factor fa2c66236267 build: Revert "Temporarily disable compiling `fuzz/utxo_snapshot.cpp` with MSVC" 8888bb499dec rest: Reject + sign in /blockhashbyheight/ fafd43c69192 test: Reject + sign when parsing regtest deployment params fa123afa0ef7 Reject + sign when checking -ipcfd fa479857ed23 Reject + sign in SplitHostPort fab4c2967d55 net: Reject + sign when parsing subnet mask fa89652e68fc init: Reject + sign in -*port parsing fa9c45577dfb cli: Reject + sign in -netinfo level parsing fa980413257e refactor: Use ToIntegral in CreateFromDump fa23ed7fc242 refactor: Use ToIntegral in ParseHDKeypath fa2be605fee4 ci: Enable feature_init and wallet_reorgsrestore in valgrind task 725c9f7780e0 Merge bitcoin/bitcoin#31895: doc: Improve `dependencies.md` bdc1cef1de84 Merge bitcoin/bitcoin#32507: ci: Exclude failing wallet_reorgsrestore.py from valgrind task for now fae840e94b79 rpc: Reject beginning newline in RPC docs e62423d6f151 doc: Improve dependencies.md documentation a3520f9d561e doc: Add dependency self-compilation info d1fdc84c5493 doc: Remove Linux Kernel from dep. table 135a0f0aa711 doc: Add missing top-level description to pruneblockchain RPC fa414eda0834 scripted-diff: Remove unused leading newline in RPC docs fafee8535839 remove unused GetDestinationForKey fac72fef27de remove unused GetAllDestinationsForKey fa91d57de36d remove unused AddrToPubKey 8f4fed7ec700 symbol-check: Add check for application manifest in Windows binaries 2bb6ab8f1baa ci: Add "Get bitcoind manifest" steps to Windows CI jobs 282b4913c7e4 cmake: Add application manifests when cross-compiling for Windows faecf158d997 remove unused Import* function signatures d8f05e7bf3ec qa: Fix dormant bug caused by multiple --tmpdir fa981b90f531 ci: Exclude failing wallet_reorgsrestore.py from valgrind task for now c779ee3a4044 Merge bitcoin/bitcoin#32492: test: add skip_if_running_under_valgrind() 89c7b6b97ab4 Merge bitcoin/bitcoin#32498: doc: remove Carls substitute server from Guix docs 6b4bcc162345 random: Use modern Windows randomness functions 31d3eebfb92a Merge bitcoin/bitcoin#32343: common: Close non-std fds before exec in RunCommandJSON 486bc9179072 depends: bump to latest config.sub 6880383427b4 depends: bump to latest config.guess 4b26ca0e2f1e Merge bitcoin/bitcoin#32502: wallet: Drop unused fFromMe from CWalletTx d5786bc19a9f Merge bitcoin/bitcoin#32490: refactor: Remove UB in prevector reverse iterators ee045b61efc1 rpc, psbt: Require sighashes match for descriptorprocesspsbt 2b7682c3729d psbt: use sighash type field to determine whether to remove non-witness utxos 28781b5f0670 psbt: Add sighash types to PSBT when not DEFAULT or ALL 15ce1bd73f80 psbt: Enforce sighash type of signatures matches psbt 1f71cd337ad7 wallet: Remove sighash type enforcement from FillPSBT 4c7d767e49b2 psbt: Check sighash types in SignPSBTInput and take sighash as optional a11825694856 script: Add IsPayToTaproot() d6001dcd4ada wallet: change FillPSBT to take sighash as optional e58b680923b1 psbt: Return PSBTError from SignPSBTInput 2adfd8153257 tests: Test PSBT sighash type mismatch 5a5d26d6123e psbt: Require ECDSA signatures to be validly encoded 53eb5593f0a1 Merge bitcoin/bitcoin#32305: test: add test for decoding PSBT with MuSig2 PSBT key types (BIP 373) e7a937237686 Merge bitcoin/bitcoin#32378: interfaces: refactor: move `Mining` and `BlockTemplate` implementation to miner 5bf91ba8800d wallet: Drop unused fFromMe from CWalletTx 30a94b1ab9ae test, wallet: Remove concurrent writes test b44b7c03fef0 wallet: Write best block record on unload 876a2585a8b6 wallet: Remove unnecessary database Close step on shutdown 98a1a5275c8c wallet: Remove chainStateFlushed 7fd3e1cf0c88 wallet, bench: Write a bestblock record in WalletMigration 6d3a8b195a82 wallet: Replace chainStateFlushed in loading with SetLastBlockProcessed 7bacabb204b6 wallet: Update best block record after block dis/connect 301993ebf7f8 init: drop -upnp 3b824169c776 doc: remove Carls substitute server from Guix docs f1d78a3087fb Merge bitcoin/bitcoin#31624: doc: warn that CheckBlock() underestimates sigops 516f0689b511 refactor: re-enable UBSan implicit-sign-change in serialize.h 5827e9350779 refactor: use consistent size type for serialization template parameters 62fc42d475df interfaces: refactor: move `waitTipChanged` implementation to miner c39ca9d4f7bc interfaces: move getTip implementation to miner 33dfbbdff69d Merge bitcoin/bitcoin#32483: test: fix two intermittent failures in wallet_basic.py 8a65f0389464 Merge bitcoin/bitcoin#32488: fuzz: Properly setup wallet in wallet_fees target 75a185ea3db3 test: add skip_if_running_under_valgrind() 8f4ba90b8ff4 build: document why we check for std::system faf9082a5f68 test: Fix whitespace in prevector_tests.cpp fa7f04c8a7b7 refactor: Remove UB in prevector reverse iterators fa427ffceeef fuzz: Properly setup wallet in wallet_fees target f9d8910539a2 Merge bitcoin/bitcoin#31080: fees: document non-monotonic estimation edge case 31650b458b6c Merge bitcoin/bitcoin#32386: mining: rename gbt_force and gbt_force_name bac43b957e5f Merge bitcoin/bitcoin#32312: test: Fix feature_pruning test after nTime typo fix c9ab10910cd7 Merge bitcoin/bitcoin#31444: cluster mempool: add txgraph diagrams/mining/eviction e7ad86e1ca3b test: fix another intermittent failure in wallet_basic.py 07350e204ded test: Fix intermittent failure in wallet_basic.py 46b533dfe6fc Update minisketch subtree to latest upstream bf25a0918f94 Squashed 'src/minisketch/' changes from d1e6bb8bbf..ea8f66b1ea 8309a9747a8d Merge bitcoin/bitcoin#32028: Update `secp256k1` subtree to latest master 720f201e6528 interfaces: refactor: move `waitNext` implementation to miner e6c2f4ce7a84 interfaces: refactor: move `submitSolution` implementation to miner 02d4bc776bbe interfaces: remove redundant coinbase fee check in `waitNext` fa9198af55df lint: Check for missing trailing newline fa2b2aa27c29 lint: Add archived notes to default excludes cbd8e3d51148 Merge bitcoin/bitcoin#32476: refactor: Remove unused HaveKey and HaveWatchOnly 915c1fa72c07 Update secp256k1 subtree to latest master c31fcaaad38b Squashed 'src/secp256k1/' changes from 0cdc758a56..4187a46649 fabdc5ad06bc Remove unused LegacyDataSPKM::HaveWatchOnly() fa7b7f796ac8 Remove HaveKey helper, unused after sethdseed removal 8673e8f01917 txgraph: Special-case singletons in chunk index (optimization) abdd9d35a34d txgraph: Skipping end of cluster has no impact (optimization) 604acc2c289f txgraph: Reuse discarded chunkindex entries (optimization) c734081454d7 txgraph: Introduce TxGraph::GetWorstMainChunk (feature) 394dbe21427e txgraph: Introduce BlockBuilder interface (feature) 883df3648ee9 txgraph: Generalize GetClusterRefs to support subsections (preparation) c28a602e007f txgraph: Introduce TxGraphImpl observer tracking (preparation) 9095d8ac1c31 txgraph: Maintain chunk index (preparation) 87e74e1242ec txgraph: abstract out transaction ordering (refactor) 2614fea17fe3 txgraph: Add GetMainStagingDiagrams function (feature) a5ac43d98d1a doc: Add release notes describing bitcoin wrapper executable 663a9cabf811 Merge bitcoin/bitcoin#32458: guix: move `*-check.py` scripts under contrib/guix/ 258bda80c009 doc: Mention bitcoin wrapper executable in documentation d2739d75c911 build: add bitcoin.exe to windows installer ba649c00063a ci: Run multiprocess tests through wrapper executable 29bdd743bb84 test: Support BITCOIN_CMD environment variable 9c8c68891b43 multiprocess: Add bitcoin wrapper executable 5076d20fdb70 util: Add cross-platform ExecVp and GetExePath functions 05765b8818cf Merge bitcoin/bitcoin#32472: doc: Fix typo d847e17c9656 doc: Fix typo 3edf400b1020 Merge bitcoin/bitcoin#32469: cmake: Allow `WITH_DBUS` on all Unix-like systems 59e09e0fb7b4 Merge bitcoin-core/gui#871: qt, docs: Unify term "clipboard" 46f79dde67e4 Merge bitcoin-core/gui#841: Decouple WalletModel from RPCExecutor 5b7ed460c7c1 cmake: Allow `WITH_DBUS` on all Unix-like systems 746ab19d5a13 Merge bitcoin/bitcoin#32446: build: simplify *ifaddr handling 6f7052a7b96f threading: semaphore: move CountingSemaphoreGrant to its own header fd1546989293 threading: semaphore: remove temporary convenience types 1f89e2a49a21 scripted-diff: threading: semaphore: use direct types rather than the temporary convenience ones f21365c4fc7f threading: replace CountingSemaphore with std::counting_semaphore 1acacfbad780 threading: make CountingSemaphore/CountingSemaphoreGrant template types e6ce5f9e7874 scripted-diff: rename CSemaphore and CSemaphoreGrant 793166d3810e wallet: change the write semaphore to a BinarySemaphore 6790ad27f157 scripted-diff: rename CSemaphoreGrant and CSemaphore for net d870bc94519a threading: add temporary semaphore aliases 19b1e177d673 Merge bitcoin/bitcoin#32155: miner: timelock the coinbase to the mined block's height 6c6ef58b0b22 Merge bitcoin/bitcoin#32436: test: refactor: negate signature-s using libsecp256k1 b104d4422770 test: Remove RPCOverloadWrapper 4d32c19516fd test: Replace importpubkey fe838dd391be test: Replace usage of addmultisigaddress d3142077794f test: Replace usage of importaddress fcc457573f9b test: Replace importprivkey with wallet_importprivkey 94c87bbbd06e test: Remove unnecessary importprivkey from wallet_createwallet 9a05b45da60d Merge bitcoin/bitcoin#32438: refactor: Removals after bdb removal e49a7274a214 rpc: Avoid join-split roundtrip for user:pass for auth credentials 98ff38a6f1a8 rpc: Perform HTTP user:pass split once in `RPCAuthorized` 879a17bcb1a5 rpc: Store all credentials hashed in memory 4ab9bedee9d8 rpc: Undeprecate rpcuser/rpcpassword, change message to security warning fa061bfcdb0c Remove create options from wallet tool fa2125e7b8e3 Remove unused IsSingleKey fab5e2a0948a doc: Remove note about bdb wallets eeeef88d46fe doc: fix typo in abortrescan rpc fa7e5c15a795 Remove unused LegacyDataSPKM::DeleteRecords() b070ce16966f Merge bitcoin/bitcoin#31360: depends: Avoid using helper variables in toolchain file ffff94947298 remove NotifyWatchonlyChanged fa62a013a558 remove dead flush() fa5f3e62c880 vcpkg: Remove bdb 415650cea94f guix: move *-check.py scripts under contrib/guix 5b8752198e97 Merge bitcoin/bitcoin#32454: tracing: fix invalid argument in mempool_monitor 31c5ebc40078 tracing: fix invalid argument in mempool_monitor ad5cd129f3cc Merge bitcoin/bitcoin#30660: qa: Verify clean shutdown on startup failure 7b816c4e00e2 threading: rename CSemaphore methods to match std::semaphore 1656f6dbba86 Merge bitcoin/bitcoin#32448: contrib: remove bdb exception from FORTIFY check a04f17a18824 doc: warn that CheckBlock() underestimates sigops ab878a7e7410 build: simplify *ifaddr handling 1b4ddb0c2d10 Merge bitcoin/bitcoin#32356: cmake: Respect user-provided configuration-specific flags 1ee698fde2e8 test: refactor: negate signature-s using libsecp256k1 f9dfe8d5e0d3 contrib: remove bdb exception from FORTIFY check 66c968b4b4a9 Merge bitcoin/bitcoin#32444: doc: swap "Docker image" for "container image" 646975295237 Merge bitcoin/bitcoin#32434: lint: Remove string exclusion from locale check 1372eb09c5d0 doc: swap "Docker image" for "container image" 03ebdd079302 Merge bitcoin/bitcoin#32437: crypto: disable ASan for sha256_sse4 with Clang 95bb305b96a8 Merge bitcoin/bitcoin#32429: docs: Improve `keypoolrefill` RPC docs 1b1b9f32cfdb Merge bitcoin/bitcoin#32440: test: remove bdb assert in tool_wallet.py e08e6567f2e7 test: remove assert_dump since it is not used anymore ff35a4b021e1 docs: Improve `keypoolrefill` RPC docs 4b2418675672 test: add test for decoding PSBT with MuSig2 PSBT key types (BIP 373) 8ba245cb8318 test: add constants for MuSig2 PSBT key types (BIP 373) 4b6dd9790b66 test: remove bdb assert in tool_wallet.py 97d383af6d54 Test updating non-ranged descriptor with [0,0] range succeeds 7343a1846ceb depends: Avoid using helper variables in toolchain file 0671d66a8ee0 wallet, refactor: Convert uint256 to Txid in wallet c8ed51e62be9 wallet, refactor: Convert uint256 to Txid in wallet interfaces b3214cefe6d8 qt, refactor: Convert uint256 to Txid in the GUI efac285a0d70 Merge bitcoin/bitcoin#28710: Remove the legacy wallet and BDB dependency fa24fdcb7f47 lint: Remove string exclusion from locale check 4e8ab5e00fa7 crypto: disable ASan for sha256_sse4 with Clang 6d5edfcc585b Merge bitcoin/bitcoin#32388: fuzz: Remove unused TimeoutExpired catch in fuzz runner de054df6dc32 contrib: Remove legacy wallet RPCs from bash completions 5dff04a1bba8 legacy spkm: Make IsMine() and CanProvide() private and migration only c0f3f3264ff7 wallet: Remove unused db functions 83af1a3cca7e wallet: Delete LegacySPKM 59d3e4ed34eb Merge bitcoin/bitcoin#32415: scripted-diff: adapt script error constant names in feature_taproot.py fffb272c2587 Merge bitcoin/bitcoin#29532: Refactor BnB tests 3bbdbc0a5e1b qt, docs: Unify term "clipboard" 8ede6dea0c55 wallet, rpc: Remove legacy wallet only RPCs 4de3cec28dfb test: rpcs disabled for descriptor wallets will be removed 84f671b01df4 test: Run multisig script limit test 810476f31e42 test: Remove unused options and variables, correct comments 04a7a7a28cdc build, wallet, doc: Remove BDB 44057fe38ccc Merge bitcoin/bitcoin#32287: build: Fix `macdeployqtplus` after switching to Qt 6 229943b51368 Merge bitcoin/bitcoin#32086: Shuffle depends instructions and recommend modern make for macOS 3e6ac5bf7727 refactor: validation: mark CheckBlockIndex as const 61a51eccbba1 validation: don't use GetAll() in CheckBlockIndex() edde96376a29 cmake: Respect user-provided configuration-specific flags 22cff32319de doc: recommend gmake for FreeBSD b645c520714c doc: recommend modern make for macOS depends 99e6490dc51a doc: shuffle depends instructions 1e0de7a6ba92 fees: document non-monotonic estimation edge case baa848b8d381 Merge bitcoin/bitcoin#32405: build: replace header checks with `__has_include` 3a18075aedd7 ci: Drop `-DENABLE_EXTERNAL_SIGNER=ON` configure option 719fa9f4ef68 build: Re-enable external signer support for Windows 6e5fc2bf9b18 test: Reintroduce Windows support in `system_tests/run_command` test 53ccb75f0c47 Merge bitcoin/bitcoin#32358: subprocess: Backport upstream changes fa2c5484296f Merge bitcoin/bitcoin#32417: doc: Explain that .gitignore is not for IDE-specific excludes fada115cbeaa doc: Explain that .gitignore is not for IDE-specific excludes b5f580c58025 scripted-diff: adapt script error constant names in feature_taproot.py eba5f9c4b63f Merge bitcoin/bitcoin#32403: test: remove Boost SIGCHLD workaround. e1f543823b30 build: replace header checks with __has_include 3add6ab9adcd test: remove Boost SIGCHLD workaround. cd95c9d6a7ec subprocess: check and handle fcntl(F_GETFD) failure b7288decdf53 subprocess: Proper implementation of wait() on Windows 7423214d8dee subprocess: Do not escape double quotes for command line arguments on Windows bb9ffea53fb0 subprocess: Explicitly define move constructor of Streams class 174bd43f2e46 subprocess: Avoid leaking POSIX name aliases beyond `subprocess.h` 7997b7656f99 subprocess: Fix cross-compiling with mingw toolchain 647630462f10 subprocess: Get Windows return code in wait() d3f511b4583b subprocess: Fix string_arg when used with rref 2fd3f2fec67a subprocess: Fix memory leaks 5b8046a6e893 Merge bitcoin/bitcoin#30611: validation: write chainstate to disk every hour fc6346dbc8dc Merge bitcoin/bitcoin#32389: doc: Fix test_bitcoin path a0eed55398f8 run_command: Enable close_fds option to avoid lingering fds c7c356a44865 cpp-subprocess: Iterate through /proc/self/fd for close_fds option on Linux 4f5e04da1350 Revert "remove unneeded close_fds option from cpp-subprocess" 6cbc28b8dd62 doc: Fix test_bitcoin path 85368aafa0d1 test: Run simple tests at various feerates d610951c1546 test: Recreate BnB iteration exhaustion test 2a1b2754f14a test: Remove redundant repeated test 4781f5c8be55 test: Recreate simple BnB failure tests a94030ae985b test: Recreate BnB clone skipping test 7db6f012c08c test: Move BnB feerate sensitivity tests 2bafc462610c test: Recreate simple BnB success tests e976bd304501 validation: add randomness to periodic write interval 2e2f41068128 refactor: replace m_last_write with m_next_write b557fa7a175f refactor: rename fDoFullFlush to should_write d73bd9fbe483 validation: write chainstate to disk every hour 68ac9f116c02 Merge bitcoin/bitcoin#32383: util: Remove `fsbridge::get_filesystem_error_message()` fa4804009ceb fuzz: Remove unused TimeoutExpired catch in fuzz runner 0750249289c0 mining: document gbt_rule_value helper 5e87c3ec094d scripted-diff: rename gbt_force and gbt_force_name 97eaadc3bf9f util: Remove `fsbridge::get_filesystem_error_message()` 14b8dfb2bd5e Merge bitcoin/bitcoin#31398: wallet: refactor: various master key encryption cleanups a60445cd04c8 Merge bitcoin/bitcoin#32355: Bugfix: Miner: Don't reuse block_reserved_weight for "block is full enough to give up" weight delta 2d5b4244147b Merge bitcoin/bitcoin#32351: test: avoid stack overflow in `FindChallenges` via manual iteration 0ed5f37afef1 Merge bitcoin/bitcoin#31014: net: Use GetAdaptersAddresses to get local addresses on Windows 7a4a2a38ea37 Merge bitcoin/bitcoin#27826: validation: log which peer sent us a header 4694732bc4c3 Merge bitcoin/bitcoin#32338: net: remove unnecessary check from AlreadyConnectedToAddress() 7db096121d37 Merge bitcoin/bitcoin#29039: versionbits refactoring 51d76634fb57 Merge bitcoin/bitcoin#32365: descriptors: Reject + sign while parsing unsigned c5e44a043563 Merge bitcoin/bitcoin#32369: test: Use the correct node for doubled keypath test 32d55e28af69 test: Use the correct node for doubled keypath test 65714c162c16 Merge bitcoin/bitcoin#32327: test: Add missing check for empty stderr in util tester a4eee6d50be0 Merge bitcoin/bitcoin#29124: test: Test that migration automatically repairs corrupted metadata with doubled derivation path af6cffa36d12 Merge bitcoin/bitcoin#32350: test: Slim down previous releases bdb check 33e6538b3076 Merge bitcoin/bitcoin#32360: test: Force named args for RPCOverloadWrapper optional args 3a29ba33dca6 Merge bitcoin/bitcoin#32357: depends: Fix cross-compiling `qt` package from macOS to Windows fa655da15987 test: [refactor] Use ToIntegral in CheckInferDescriptor fa55dd01df83 descriptors: Reject + sign when parsing multi threshold fa6f77ed3c15 descriptors: Reject + sign in ParseKeyPathNum 7e8ef959d063 refactor: Fix Sonar rule `cpp:S4998` - avoid unique_ptr const& as parameter e400ac53524d refactor: simplify repeated comparisons in `FindChallenges` f670836112c0 test: remove old recursive `FindChallenges_recursive` implementation b80d0bdee460 test: avoid stack overflow in `FindChallenges` via manual iteration fa48be3ba443 test: Force named args for RPCOverloadWrapper optional args aaaa45399ca3 test: Remove unused createwallet_passthrough d05481df644c refactor: validation: mark SnapshotBase as const f409444d0243 Merge bitcoin/bitcoin#32071: build: Drop option to disable hardening. cccc1f4e9190 test: Remove unused RPCOverloadWrapper is_cli field d62c2d82e14d Merge bitcoin/bitcoin#32353: doc: Fix fuzz test_runner.py path 10845cd7cc89 qa: Add feature_framework_startup_failures.py 35e57fbe336c depends: Fix cross-compiling `qt` package from macOS to Windows d2ac748e9e7a Merge bitcoin-core/gui#864: Crash fix, disconnect numBlocksChanged() signal during shutdown 524f981bb873 Bugfix: Miner: Don't reuse block_reserved_weight for "block is full enough to give up" weight delta 84de8c93e7d4 ci: Add `deploy` target for native macOS CI job fad57e9e0fe2 build: Fix `macdeployqtplus` after switching to Qt 6 de90b47ea098 Merge bitcoin-core/gui#868: Replace stray tfm::format to cerr with qWarning a58cb3b1c12c qa: sanity check mined block have their coinbase timelocked to height 8f2078af6a55 miner: timelock coinbase transactions 788aeebf3435 qa: use prev height as nLockTime for coinbase txs created in unit tests c76dbe9b8b6f qa: timelock coinbase transactions created in fuzz targets 9c94069d8b6c contrib: timelock coinbase transactions in signet miner a5f52cfcc400 qa: timelock coinbase transactions created in functional tests 61f238e84ac6 doc: Fix fuzz test_runner.py path c7e2b9e26444 tests: Test migration cleans up bad inactive chain derivation path fa58f40b898b test: Slim down previous releases bdb check f1b142856a4e test: Same addr, diff port is already connected 94e85a82a753 net: remove unnecessary check from AlreadyConnectedToAddress() 28e282ef9ae9 qa: assert_raises_message() - Stop assuming certain structure for exceptions 80e6ad9e3023 Merge bitcoin/bitcoin#31250: wallet: Disable creating and loading legacy wallets 971952588dae Merge bitcoin/bitcoin#32242: guix: Remove unused `file` package ff69046e664f Merge bitcoin/bitcoin#32215: depends: Fix cross-compiling on macOS 2ae1788dd46a Skip range verification for non-ranged desc 4eee328a9820 Merge bitcoin/bitcoin#32318: Fix failing util_time_GetTime test on Windows 71656bdfaa6b gui: crash fix, disconnect numBlocksChanged() signal during shutdown 3dbd50a576be Fix failing util_time_GetTime test on Windows edd46566bd66 qt: Replace stray tfm::format to cerr with qWarning 458720e5e98c Merge bitcoin/bitcoin#32336: test: Suppress upstream `-Wduplicate-decl-specifier` in bpfcc facb9b327b9d scripted-diff: Use bpf_cflags fa0c1baaf898 test: Add imports for util bpf_cflags 9efe54668858 Merge bitcoin/bitcoin#31835: validation: set BLOCK_FAILED_CHILD correctly bd158ab4e35c Merge bitcoin/bitcoin#32023: wallet: removed duplicate call to GetDescriptorScriptPubKeyMan 17bb63f9f9b0 wallet: Disallow loading legacy wallets 9f04e02ffaee wallet: Disallow creating legacy wallets 6b247279b72d wallet: Disallow legacy wallet creation from the wallet tool 5e93b1fd6c1e bench: Remove WalletLoadingLegacy benchmark 56f959d829e9 wallet: Remove wallettool salvage 7a41c939f05f wallet: Remove -format and bdb from wallet tool's createfromdump c847dee1488a test: remove legacy wallet functional tests 20a9173717b1 test: Remove legacy wallet tests from wallet_reindex.py 446d480cb22c test: Remove legacy wallet tests from wallet_backwards_compatibility.py aff80298d05c test: wallet_signer.py bdb will be removed f94f9399ac47 test: Remove legacy wallet unit tests d9ac9dbd8ef5 tests, gui: Use descriptors watchonly wallet for watchonly test 9a4c92eb9ac2 Merge bitcoin/bitcoin#32226: ci: switch to LLVM 20 in tidy job 82d1e94838ee Merge bitcoin/bitcoin#32310: test: Run all benchmarks in the sanity check dda2d4e17662 Merge bitcoin/bitcoin#32113: fuzz: enable running fuzz test cases in Debug mode faca46b0421b test: Run all benchmarks in the sanity check fadf12a56c29 test: Add missing check for empty stderr in util tester 08aa7fe23263 ci: clang-tidy 20 2b85d31bcc2f refactor: starts/ends_with changes for clang-tidy 20 3669ecd4ccd8 doc: Document fuzz build options c1d01f59acc2 fuzz: enable running fuzz test cases in Debug mode 1f639efca5e7 qa: Work around Python socket timeout issue 2aa63d511aff test: Use uninvolved pruned node in feature_pruning undo test 772ba7f9ce09 test: Fix nTimes typo in feature_pruning test 9b24a403fae4 qa: Only allow calling TestNode.stop() after connecting 6ad21b4c0114 qa: Include ignored errors in RPC connection timeout 879243e81fd5 qa refactor: wait_for_rpc_connection - Treat OSErrors the same 513e2020a9ac guix: Remove unused `file` package 938208d91a27 build: Resolve `@rpath` in `macdeployqtplus` abe43dfadd63 doc: release note for #27826 f9fa28788e63 Use LogBlockHeader for compact blocks bad7c9147931 Log which peer sent us a header 9d3e39c29c31 Log block header in net_processing d0cce4172c04 depends: Fix `mv` command compatibility with macOS 690f5da15a1e depends: Specify Objective C/C++ compilers for `native_qt` package 3c3548a70eed validation: clarify final |= BLOCK_FAILED_VALID in InvalidateBlock aac5488909f7 validation: correctly update BlockStatus for invalid block descendants 9e29653b424b test: check BlockStatus when InvalidateBlock is used c99667583dd9 validation: fix traversal condition to mark BLOCK_FAILED_CHILD 77e553ab6a0a build: refactor: hardening flags -> core_interface 00ba3ba30341 build: Drop option for disabling hardening f57db75e91de build: Use `-z noseparate-code` on NetBSD < 11.0 55b931934a34 removed duplicate calling of GetDescriptorScriptPubKeyMan e3014017bacf test: add IsActiveAfter tests for versionbits 60950f77c35e versionbits: docstrings for BIP9Info b9d4d5f66a5a net: Use GetAdaptersAddresses to get local addresses on Windows a8333fc9ff9a scripted-diff: wallet: rename plain and encrypted master key variables 5a92077fd531 wallet: refactor: dedup master key decryption 846545947cd3 wallet: refactor: dedup master key encryption / derivation rounds setting a6d9b415aa3a wallet: refactor: introduce `CMasterKey::DEFAULT_DERIVE_ITERATIONS` constant 62c209f50d9c wallet: doc: remove mentions of unavailable scrypt derivation method 7565563bc7a5 tests: refactor versionbits fuzz test 2e4e9b9608c7 tests: refactor versionbits unit test 525c00f91bb2 versionbits: Expose VersionBitsConditionChecker via impl header e74a7049b477 versionbits: Expose StateName function d00d1ed52c8e versionbits: Split out internal details into impl header 37b9b67a3955 versionbits: Simplify VersionBitsCache API 1198e7d2fd66 versionbits: Move BIP9 status logic for getblocktemplate to versionbits b1e967c3ec92 versionbits: Move getdeploymentinfo logic to versionbits 3bd32c20550e versionbits: Move WarningBits logic from validation to versionbits 5da119e5d0e6 versionbits: Change BIP9Stats to uint32_t types a679040ec19e consensus/params: Move version bits period/threshold to bip9 param 0ad7d7abdbcf test: chainstate write test for periodic chainstate flush e9d617095d4c versionbits: Remove params from AbstractThresholdConditionChecker 9bc41f1b48b2 versionbits: Use std::array instead of C-style arrays 002b792b9a85 gui: decouple WalletModel from RPCExecutor REVERT: 4a4eeb94339b kernel: Fix bitcoin-chainstate for windows REVERT: 9eb5d74b2d03 kernel: Add Purpose section to header documentation REVERT: 7cf01306523b kernel: Add pure kernel bitcoin-chainstate REVERT: 51aad49acdfe kernel: Add functions to get the block hash from a block REVERT: a6ed3dec4d1d kernel: Add block index utility functions to C header REVERT: 7aaefbbb3937 kernel: Add function to read block undo data from disk to C header REVERT: 9535ffadba5c kernel: Add functions to read block from disk to C header REVERT: 321ce88607fd kernel: Add function for copying block data to C header REVERT: a15d107250f8 kernel: Add functions for the block validation state to C header REVERT: f9f9a86402b1 kernel: Add validation interface to C header REVERT: bac152a4fbe5 kernel: Add interrupt function to C header REVERT: e1f204cb0de0 kernel: Add import blocks function to C header REVERT: 75f25fa1b0b4 kernel: Add chainstate load options for in-memory dbs in C header REVERT: 68acd5e0e904 kernel: Add options for reindexing in C header REVERT: 04be23481105 kernel: Add block validation to C header REVERT: 3cdc538d77d0 kernel: Add chainstate loading when instantiating a ChainstateManager REVERT: a5a47d95e597 kernel: Add chainstate manager option for setting worker threads REVERT: 5052b9bd823b kernel: Add chainstate manager object to C header REVERT: 82f4769656b1 kernel: Add notifications context option to C header REVERT: 7e32f6a9e897 kernel: Add chain params context option to C header REVERT: af442d0d6cb1 kernel: Add kernel library context object REVERT: e1a6c1b5b928 kernel: Add logging to kernel library C header REVERT: 3339e6ca6a5f kernel: Introduce initial kernel C header API git-subtree-dir: libbitcoinkernel-sys/bitcoin git-subtree-split: 1417e0b3b1b03dd014a3459c10a5ae7ab0c3687f
690a5dac22 kernel: Fix bitcoin-chainstate for windows 345d2ac841 kernel: Add Purpose section to header documentation 790b2baa7c kernel: Add pure kernel bitcoin-chainstate 78e4ca20aa kernel: Add functions to get the block hash from a block 4c0de2443d kernel: Add block index utility functions to C header d031c5871e kernel: Add function to read block undo data from disk to C header e10616b59b kernel: Add functions to read block from disk to C header 71e76017b8 kernel: Add function for copying block data to C header a015529dd4 kernel: Add functions for the block validation state to C header e5870b8253 kernel: Add validation interface to C header 24d56ecfba kernel: Add interrupt function to C header 98710edc97 kernel: Add import blocks function to C header 2b9382a5eb kernel: Add chainstate load options for in-memory dbs in C header 15dff3f0b5 kernel: Add options for reindexing in C header f2faf17904 kernel: Add block validation to C header 4cd4577fc8 kernel: Add chainstate loading when instantiating a ChainstateManager 7a40d4ddb2 kernel: Add chainstate manager option for setting worker threads 7bac421d18 kernel: Add chainstate manager object to C header fc83bef508 kernel: Add notifications context option to C header 76a0c97e0d kernel: Add chain params context option to C header a3cc9ec2dc kernel: Add kernel library context object d7230ea9b9 kernel: Add logging to kernel library C header 84680fe7ca kernel: Introduce initial kernel C header API 4b8ac9eacd Merge bitcoin/bitcoin#32680: ci: Rewrite test-each-commit as py script 157bbd0a07 Merge bitcoin/bitcoin#32425: config: allow setting -proxy per network ebec7bf389 Merge bitcoin/bitcoin#32572: doc: Remove stale sections in dev notes 011a8c5f01 Merge bitcoin/bitcoin#32696: doc: make `-DWITH_ZMQ=ON` explicit on `build-unix.md` fe39050a66 Merge bitcoin/bitcoin#32678: guix: warn and abort when SOURCE_DATE_EPOCH is set 692fe280c2 Merge bitcoin/bitcoin#32713: doc: fuzz: fix AFL++ link c1d4253d31 Merge bitcoin/bitcoin#32711: doc: add missing packages for BSDs (cmake, gmake, curl) to depends/README.md 89526deddf doc: add missing packages for BSDs (cmake, gmake, curl) to depends/README.md a39b7071cf doc: fuzz: fix AFL++ link dff208bd5a Merge bitcoin/bitcoin#32708: rpc, doc: update `listdescriptors` RCP help d978a43d05 Merge bitcoin/bitcoin#32408: tests: Expand HTTP coverage to assert libevent behavior f3bbc74664 Merge bitcoin/bitcoin#32406: policy: uncap datacarrier by default b44514b876 rpc, doc: update `listdescriptors` RCP help 32d4e92b9a doc: make `-DWITH_ZMQ=ON` explicit on `build-unix.md` e2174378aa Merge bitcoin/bitcoin#32539: init: Configure reachable networks before we start the RPC server 2053c43684 Merge bitcoin/bitcoin#32675: test: wallet: cover wallet passphrase with a null char fa9cfdf3be ci: [doc] fix url redirect fac60b9c48 ci: Rewrite test-each-commit as py script ae024137bd Merge bitcoin/bitcoin#32496: depends: drop `ltcg` for Windows Qt 6a2ff67909 Merge bitcoin/bitcoin#32679: doc: update tor docs to use bitcoind binary from path fd4399cb9c Merge bitcoin/bitcoin#32602: fuzz: Add target for coins database f94167512d Merge bitcoin/bitcoin#32676: test: apply microsecond precision to test framework logging 0dcb45290c Merge bitcoin/bitcoin#32607: rpc: Note in fundrawtransaction doc, fee rate is for package 4ce53495e5 doc: update tor docs to use bitcoind binary from path a5e98dc3ae Merge bitcoin/bitcoin#32651: cmake: Replace deprecated `qt6_add_translation` with `qt6_add_lrelease` 9653ebc053 depends: remove support for Windows Qt LTO builds 7cfbb8575e test: wallet: cover wallet passphrase with a null char 5c4a0f8009 guix: warn and abort when SOURCE_DATE_EPOCH is set 4af72d8b08 Merge bitcoin/bitcoin#32647: build: add -Wthread-safety-pointer a980918f51 Merge bitcoin/bitcoin#32568: depends: use "mkdir -p" when installing xproto ed179e0a65 test: apply microsecond precision to test framework logging e872a566f2 Merge bitcoin/bitcoin#32644: doc: miscellaneous changes e50312eab0 doc: fix typos c797e50dda ci: update codespell to 2.4.1 21ee656337 doc: Remove obselete link in notificator.cpp ee4406c04a doc: update URLs 2d819fa4df Merge bitcoin/bitcoin#29032: signet: omit commitment for some trivial challenges f999c3775c Merge bitcoin/bitcoin#32449: wallet: init, don't error out when loading legacy wallets f98e1aaf34 rpc: Note in fundrawtransaction doc, fee rate is for package 1c6602399b Merge bitcoin/bitcoin#32662: doc: Remove build instruction for running `clang-tidy` 4b1b36acb4 doc: Remove build instruction for running `clang-tidy` 9e105107bf Merge bitcoin/bitcoin#32656: depends: don't install & then delete sqlite pkgconf 72a5aa9b79 depends: don't install & then delete sqlite pkgconf 18cf727429 cmake: Replace deprecated `qt6_add_translation` with `qt6_add_lrelease` 83bfe1485c build: add -Wthread-safety-pointer e639ae0531 Update leveldb subtree to latest upstream 240a4fb95d Squashed 'src/leveldb/' changes from 113db4962b..aba469ad6a a189d63618 add release note for datacarriersize default change a141e1bf50 Add more OP_RETURN mempool acceptance functional tests 0b4048c733 datacarrier: deprecate startup arguments for future removal 63091b79e7 test: remove unnecessary -datacarriersize args from tests 9f36962b07 policy: uncap datacarrier by default 4b1d48a686 Merge bitcoin/bitcoin#32598: walletdb: Log additional exception error messages for corrupted wallets b933813386 Merge bitcoin/bitcoin#32619: wallet, rpc, gui: List legacy wallets with a message about migration 053bda5d9f Merge bitcoin/bitcoin#32460: fs: remove `_POSIX_C_SOURCE` defining 9393aeeca4 Merge bitcoin/bitcoin#32641: Update libmultiprocess subtree to fix clang-tidy errors 5471e29d05 Merge bitcoin/bitcoin#32304: test: test MAX_SCRIPT_SIZE for block validity 9f6565488f Merge commit '154af1eea1170f5626aa1c5f19cc77d1434bcc9d' into HEAD 154af1eea1 Squashed 'src/ipc/libmultiprocess/' changes from 35944ffd23fa..27c7e8e5a581 c540ede1cb Merge bitcoin/bitcoin#32633: windows: Use predefined `RC_INVOKED` macro instead of custom one cfc42ae5b7 fuzz: add a target for the coins database 55f1c2ac8b windows: Use predefined `RC_INVOKED` macro instead of custom one 14c16e8159 Merge bitcoin/bitcoin#32582: log: Additional compact block logging aad5938c49 Merge bitcoin/bitcoin#32516: test: add MAX_DISCONNECTED_TX_POOL_BYTES, chainlimits coverage 1062df81ee Merge bitcoin/bitcoin#32634: build: Add resource file and manifest to `bitcoin.exe` 83df64d749 log: Stats when fulfilling GETBLOCKTXN 370c592612 Merge bitcoin/bitcoin#32630: test: fix sync function in rpc_psbt.py dbb2d4c3d5 windows: Add application manifest to `bitcoin.exe` df82c2dc17 windows: Add resource file for `bitcoin.exe` 3733ed2dae log: Size of missing tx'es when reconstructing compact block 4df4df45d7 test: fix sync function in rpc_psbt.py 88b22acc3d Merge bitcoin/bitcoin#32528: rpc: Round verificationprogress to 1 for a recent tip aee7cec0db Merge bitcoin/bitcoin#32364: refactor: validation: mark CheckBlockIndex as const ce46000712 Merge bitcoin/bitcoin#32509: qa: feature_framework_startup_failures.py fixes & improvements (#30660 follow-up) d21612fc4b Merge bitcoin/bitcoin#32404: log: print reason when writing chainstate 84aa484d45 test: fix transaction_graph_test reorg test eaf44f3767 test: check chainlimits respects on reorg 47894367b5 functional test: add MAX_DISCONNECTED_TX_POOL_BYTES coverage 9bd9aee5a6 Merge bitcoin/bitcoin#32487: blocks: avoid recomputing block header hash in `ReadBlock` 4173805a15 Merge bitcoin/bitcoin#32623: test: Add missing ipc subtree to lint 012f347685 Merge bitcoin/bitcoin#31375: multiprocess: Add bitcoin wrapper executable 38ad8027a2 Merge bitcoin/bitcoin#32439: guix: accomodate migration to codeberg fa4b8b16c3 test: Add missing ipc subtree to lint f7cc7f6468 Merge bitcoin/bitcoin#32591: test: fix and augment block tests of invalid_txs 87860143be Merge bitcoin/bitcoin#32270: test: fix pushdata scripts c8d9baae94 guix: accomodate migration to codeberg f3a444c45f gui: Disallow loading legacy wallets 09955172f3 wallet, rpc: Give warning in listwalletdir for legacy wallets 09ee8b7f27 node: avoid recomputing block hash in `ReadBlock` 2bf173210f test: exercise `ReadBlock` hash‑mismatch path fab1e02086 refactor: Pass verification_progress into block tip notifications 638a4c0bd8 Merge bitcoin/bitcoin#32596: wallet, rpc, doc: various legacy wallet removal cleanups in RPCs 53e9b71b2f log: print reason for why should_write was triggered in `FlushStateToDisk` ad9a13fc42 walletdb: Log additional exception error messages for corrupted wallets 46e14630f7 fuzz: move the coins_view target's body into a standalone function 56d878c465 fuzz: avoid underflow in coins_view target e5cbea416b rpc: doc: remove redundant "descriptors" parameter in `createwallet` examples 7a05f941bb rpc: doc: drop descriptor wallet mentions in fast wallet rescan related RPCs db465a50e2 wallet, rpc: remove obsolete "keypoololdest" result field/code 36bcee05dc log: Log start of compact block initialization. 2df824f4e6 Merge bitcoin/bitcoin#32586: ci: Downgrade DEBUG=1 to -D_GLIBCXX_ASSERTIONS in centos task 0a8ab55951 Merge bitcoin/bitcoin#32467: checkqueue: make the queue non-optional for CCheckQueueControl and drop legacy locking macro usage 8fcd684505 test: ensure reason is checked for invalid blocks rejection 1a689a2c88 test: fix block tests of invalid_txs d2c9fc84e1 Merge bitcoin/bitcoin#32533: test: properly check for per-tx sigops limit fa079538e3 ci: Downgrade DEBUG=1 to -D_GLIBCXX_ASSERTIONS in centos task 35bf3f8839 Merge bitcoin/bitcoin#32400: random: Use modern Windows randomness functions a42faa25d8 Merge bitcoin/bitcoin#32551: cmake: Remove `ENABLE_{SSE41,AVX2,X86_SHANI,ARM_SHANI}` from `bitcoin-build-config.h` 24e5fd3bed fs: remove _POSIX_C_SOURCE defining f16c8c67bf tests: Expand HTTP coverage to assert libevent behavior fac00d4ed3 doc: Move CI-must-pass requirement into readme section fab79c1a25 doc: Clarify and move "hygienic commit" note fac8b05197 doc: Clarify strprintf size specifier note faaf34ad72 doc: Remove section about RPC alias via function pointer 2222d61e1c doc: Remove section about RPC arg names in table fa00b8c02c doc: Remove section about include guards fad6cd739b doc: Remove dev note section on includes fa6623d85a doc: Remove file name section 7777fb8bc7 doc: Remove shebang section faf65f0531 doc: Remove .gitignore section faf2094f25 doc: Remove note about removed ParsePrechecks 87ec923d3a Merge bitcoin/bitcoin#32475: wallet: Use `util::Error` throughout `AddWalletDescriptor` instead of returning `nullptr` for some errors 7763e86afa Merge bitcoin/bitcoin#32573: ci: Avoid && dropping errors 0a56ed1ac8 Merge bitcoin/bitcoin#32567: subprocess: Backport upstream changes 54e406a305 Merge bitcoin/bitcoin#32459: qt: drop unused watch-only functionality ec81204694 Merge bitcoin/bitcoin#31622: psbt: add non-default sighash types to PSBTs and unify sighash type match checking fab97f583f ci: Avoid && dropping errors 9a887baade Merge bitcoin/bitcoin#32344: Wallet: Fix Non-Ranged Descriptors with Range [0,0] Trigger Unexpected Wallet Errors in AddWalletDescriptor 26fba39bda Merge bitcoin/bitcoin#32466: threading: drop CSemaphore in favor of c++20 std::counting_semaphore 878556947b Merge bitcoin/bitcoin#32333: doc: Add missing top-level description to pruneblockchain RPC fd290730f5 validation: clean up and clarify CheckInputScripts logic fa69c5b170 doc: Remove -disablewallet from dev notes df9ebbf659 depends: use "mkdir -p" when installing xproto fad009af49 Merge bitcoin/bitcoin#32520: Remove legacy `Parse(U)Int*` f66b14d2ec test: fix pushdata scripts 0f9baba0fb Merge bitcoin/bitcoin#29868: Reintroduce external signer support for Windows cf2cbfac65 Merge bitcoin/bitcoin#32553: wallet: Fix logging of wallet version bc4b04c5bf Merge bitcoin/bitcoin#31864: doc: add missing copyright headers e63a7034f0 subprocess: Don't add an extra whitespace at end of Windows command line 800b7cc42c cmake: Add missed `SSE41_CXXFLAGS` 028476e71f cmake: Remove `ENABLE_ARM_SHANI` from `bitcoin-build-config.h` 1e900528d2 cmake: Remove `ENABLE_X86_SHANI` from `bitcoin-build-config.h` 8689628e2e cmake: Remove `ENABLE_AVX2` from `bitcoin-build-config.h` a8e2342dca cmake: Remove `ENABLE_SSE41` from `bitcoin-build-config.h` fa76b378e4 rpc: Round verificationprogress to exactly 1 for a recent tip faf6304bdf test: Use mockable time in GuessVerificationProgress c7c3bfadfc doc: add & amend copyright headers f667000c83 contrib: remove outdated entries from copyright_header.py 0817f2d6cf doc: update MIT license URL 6854497b47 contrib: remove GPL-3+ from debian/copyright af65fd1a33 Merge bitcoin/bitcoin#32560: ci: Move DEBUG=1 to centos task 548f6b8cde Merge bitcoin/bitcoin#32562: doc: remove // for ... comments 7c87a0e3fb Merge bitcoin/bitcoin#32477: lint: Check for missing trailing newline faf55fc80b doc: Remove ParseInt mentions in documentation 785e1407b0 wallet: Use util::Error throughout AddWalletDescriptor 1a37507895 validation: use a lock for CCheckQueueControl c3b0e6c7f4 validation: make CCheckQueueControl's CCheckQueue non-optional 4c8c90b556 validation: only create a CCheckQueueControl if it's actually going to be used 11fed833b3 threading: add LOCK_ARGS macro 33f8f8ae4c Merge bitcoin/bitcoin#30221: wallet: Ensure best block matches wallet scan state 7054d24f11 Merge bitcoin-core/gui#875: Use WitnessV0KeyHash in TestAddAddressesToSendBook 4272966d02 Merge bitcoin/bitcoin#32423: rpc: Undeprecate rpcuser/rpcpassword, store all credentials hashed in memory 7193245cd6 doc: remove For ... comments 3333282933 refactor: Remove unused Parse(U)Int* 1b9cdc933f net: drop win32 ifdef 19ba499b1f init: cerrno is used on all platforms fa982f1425 Use WitnessV0KeyHash in TestAddAddressesToSendBook fa58d6cdab ci: Move DEBUG=1 to centos task ff1ee102c4 Merge bitcoin/bitcoin#32561: doc: Adjust stale MSVC bug url fa330a5e38 doc: Adjust stale MSVC bug url 88791fb97b Merge bitcoin/bitcoin#32544: scripted-diff: test: remove 'descriptors=True' argument for `createwallet` calls e8661aac75 wallet: drop watch-only things from interface e99188e7da qt: drop unused watch-only functionality 6ee32aaaca test: signet tool genpsbt and solvepsbt commands 0a99d99fe4 signet: miner skips PSBT step for OP_TRUE cdfb70e5a6 signet: split decode_psbt miner helper 4b2cd0b41f test: check that creating a wallet does not log version info 39a483c8e9 test: Check that the correct versions are logged on wallet load 359ecd3704 walletdb: Log the wallet version after it has been read from disk 86de8c1668 scripted-diff: test: remove 'descriptors=True' argument for `createwallet` calls 7710a31f0c Merge bitcoin/bitcoin#32452: test: Remove legacy wallet RPC overloads b81e5076aa Merge bitcoin/bitcoin#32514: scripted-diff: Remove unused leading newline in RPC docs 3023d7e6ad Merge bitcoin/bitcoin#32534: Update leveldb subtree to latest upstream fa84e6c36c bitcoin-tx: Reject + sign in MutateTxDel* face2519fa bitcoin-tx: Reject + sign in vout parsing fa8acaf0b9 bitcoin-tx: Reject + sign in replaceable parsing faff25a558 bitcoin-tx: Reject + sign in locktime dddd9e5fe3 bitcoin-tx: Reject + sign in nversion parsing fab06ac037 rest: Use SAFE_CHARS_URI in SanitizeString error msg c461d15287 Merge bitcoin/bitcoin#32511: refactor: bdb removals 86e1111239 test: verify node skips loading legacy wallets during startup 12ff4be9c7 test: ensure -rpcallowip is compatible with RFC4193 c02bd3c187 config: Explain RFC4193 and CJDNS interaction in help and init error f728b6b111 init: Configure reachable networks before we start the RPC server b15c386933 Merge bitcoin/bitcoin#32519: ci: Enable feature_init and wallet_reorgsrestore in valgrind task 7015052eba build: remove Wsuggest-override suppression from leveldb build 7bc64a8859 test: properly check for per-tx sigops limit 3f83c744ac Merge bitcoin/bitcoin#32526: fuzz: Delete wallet_notifications fa1f10a49e doc: Fix minor typos in rpc help e2c84b896f Squashed 'src/leveldb/' changes from 4188247086..113db4962b 0769c8fc99 Update leveldb subtree to latest upstream 04c6c961b6 Merge bitcoin/bitcoin#32527: test: Remove unused verify_flags suppression 742b30549f Merge bitcoin/bitcoin#32491: build: document why we check for `std::system` fab5a3c803 test: Remove unused verify_flags suppression c521192d8b Merge bitcoin/bitcoin#32485: Update minisketch subtree 3afde679c3 Merge bitcoin/bitcoin#32296: refactor: reenable `implicit-integer-sign-change` check for `serialize.h` 5af757bb78 Merge bitcoin/bitcoin#32505: depends: bump to latest config.guess and config.sub c60455a645 Merge bitcoin/bitcoin#32500: init: drop `-upnp` e230affaa3 Merge bitcoin/bitcoin#32396: cmake: Add application manifests when cross-compiling for Windows 51be79c42b Merge bitcoin/bitcoin#32238: qt, wallet: Convert uint256 to Txid f96ae941a1 Merge bitcoin/bitcoin#32525: build: Revert "Temporarily disable compiling `fuzz/utxo_snapshot.cpp` with MSVC fad2faf6c5 fuzz: Delete wallet_notifications bf950c4544 qa: Improve suppressed errors output 075352ec8e qa: assert_raises_message() - search in str(e) bd8ebbc4ab qa: Make --timeout-factor=0 result in a smaller factor fa2c662362 build: Revert "Temporarily disable compiling `fuzz/utxo_snapshot.cpp` with MSVC" 8888bb499d rest: Reject + sign in /blockhashbyheight/ fafd43c691 test: Reject + sign when parsing regtest deployment params fa123afa0e Reject + sign when checking -ipcfd fa479857ed Reject + sign in SplitHostPort fab4c2967d net: Reject + sign when parsing subnet mask fa89652e68 init: Reject + sign in -*port parsing 9f94de5bb5 wallet: init, don't error out when loading legacy wallets fa9c45577d cli: Reject + sign in -netinfo level parsing fa98041325 refactor: Use ToIntegral in CreateFromDump fa23ed7fc2 refactor: Use ToIntegral in ParseHDKeypath fa2be605fe ci: Enable feature_init and wallet_reorgsrestore in valgrind task 725c9f7780 Merge bitcoin/bitcoin#31895: doc: Improve `dependencies.md` bdc1cef1de Merge bitcoin/bitcoin#32507: ci: Exclude failing wallet_reorgsrestore.py from valgrind task for now fae840e94b rpc: Reject beginning newline in RPC docs e62423d6f1 doc: Improve dependencies.md documentation a3520f9d56 doc: Add dependency self-compilation info d1fdc84c54 doc: Remove Linux Kernel from dep. table 135a0f0aa7 doc: Add missing top-level description to pruneblockchain RPC fa414eda08 scripted-diff: Remove unused leading newline in RPC docs fafee85358 remove unused GetDestinationForKey fac72fef27 remove unused GetAllDestinationsForKey fa91d57de3 remove unused AddrToPubKey 8f4fed7ec7 symbol-check: Add check for application manifest in Windows binaries 2bb6ab8f1b ci: Add "Get bitcoind manifest" steps to Windows CI jobs 282b4913c7 cmake: Add application manifests when cross-compiling for Windows faecf158d9 remove unused Import* function signatures d8f05e7bf3 qa: Fix dormant bug caused by multiple --tmpdir fa981b90f5 ci: Exclude failing wallet_reorgsrestore.py from valgrind task for now c779ee3a40 Merge bitcoin/bitcoin#32492: test: add skip_if_running_under_valgrind() 89c7b6b97a Merge bitcoin/bitcoin#32498: doc: remove Carls substitute server from Guix docs 6b4bcc1623 random: Use modern Windows randomness functions 31d3eebfb9 Merge bitcoin/bitcoin#32343: common: Close non-std fds before exec in RunCommandJSON 486bc91790 depends: bump to latest config.sub 6880383427 depends: bump to latest config.guess 4b26ca0e2f Merge bitcoin/bitcoin#32502: wallet: Drop unused fFromMe from CWalletTx d5786bc19a Merge bitcoin/bitcoin#32490: refactor: Remove UB in prevector reverse iterators ee045b61ef rpc, psbt: Require sighashes match for descriptorprocesspsbt 2b7682c372 psbt: use sighash type field to determine whether to remove non-witness utxos 28781b5f06 psbt: Add sighash types to PSBT when not DEFAULT or ALL 15ce1bd73f psbt: Enforce sighash type of signatures matches psbt 1f71cd337a wallet: Remove sighash type enforcement from FillPSBT 4c7d767e49 psbt: Check sighash types in SignPSBTInput and take sighash as optional a118256948 script: Add IsPayToTaproot() d6001dcd4a wallet: change FillPSBT to take sighash as optional e58b680923 psbt: Return PSBTError from SignPSBTInput 2adfd81532 tests: Test PSBT sighash type mismatch 5a5d26d612 psbt: Require ECDSA signatures to be validly encoded 53eb5593f0 Merge bitcoin/bitcoin#32305: test: add test for decoding PSBT with MuSig2 PSBT key types (BIP 373) e7a9372376 Merge bitcoin/bitcoin#32378: interfaces: refactor: move `Mining` and `BlockTemplate` implementation to miner 5bf91ba880 wallet: Drop unused fFromMe from CWalletTx 30a94b1ab9 test, wallet: Remove concurrent writes test b44b7c03fe wallet: Write best block record on unload 876a2585a8 wallet: Remove unnecessary database Close step on shutdown 98a1a5275c wallet: Remove chainStateFlushed 7fd3e1cf0c wallet, bench: Write a bestblock record in WalletMigration 6d3a8b195a wallet: Replace chainStateFlushed in loading with SetLastBlockProcessed 7bacabb204 wallet: Update best block record after block dis/connect 301993ebf7 init: drop -upnp 3b824169c7 doc: remove Carls substitute server from Guix docs f1d78a3087 Merge bitcoin/bitcoin#31624: doc: warn that CheckBlock() underestimates sigops 516f0689b5 refactor: re-enable UBSan implicit-sign-change in serialize.h 5827e93507 refactor: use consistent size type for serialization template parameters 62fc42d475 interfaces: refactor: move `waitTipChanged` implementation to miner c39ca9d4f7 interfaces: move getTip implementation to miner 33dfbbdff6 Merge bitcoin/bitcoin#32483: test: fix two intermittent failures in wallet_basic.py 8a65f03894 Merge bitcoin/bitcoin#32488: fuzz: Properly setup wallet in wallet_fees target 75a185ea3d test: add skip_if_running_under_valgrind() 8f4ba90b8f build: document why we check for std::system faf9082a5f test: Fix whitespace in prevector_tests.cpp fa7f04c8a7 refactor: Remove UB in prevector reverse iterators fa427ffcee fuzz: Properly setup wallet in wallet_fees target f9d8910539 Merge bitcoin/bitcoin#31080: fees: document non-monotonic estimation edge case 31650b458b Merge bitcoin/bitcoin#32386: mining: rename gbt_force and gbt_force_name bac43b957e Merge bitcoin/bitcoin#32312: test: Fix feature_pruning test after nTime typo fix c9ab10910c Merge bitcoin/bitcoin#31444: cluster mempool: add txgraph diagrams/mining/eviction e7ad86e1ca test: fix another intermittent failure in wallet_basic.py 07350e204d test: Fix intermittent failure in wallet_basic.py 46b533dfe6 Update minisketch subtree to latest upstream bf25a0918f Squashed 'src/minisketch/' changes from d1e6bb8bbf..ea8f66b1ea 8309a9747a Merge bitcoin/bitcoin#32028: Update `secp256k1` subtree to latest master 720f201e65 interfaces: refactor: move `waitNext` implementation to miner e6c2f4ce7a interfaces: refactor: move `submitSolution` implementation to miner 02d4bc776b interfaces: remove redundant coinbase fee check in `waitNext` fa9198af55 lint: Check for missing trailing newline fa2b2aa27c lint: Add archived notes to default excludes cbd8e3d511 Merge bitcoin/bitcoin#32476: refactor: Remove unused HaveKey and HaveWatchOnly 915c1fa72c Update secp256k1 subtree to latest master c31fcaaad3 Squashed 'src/secp256k1/' changes from 0cdc758a56..4187a46649 e98c51fcce doc: update tor.md to mention the new -proxy=addr:port=tor ca5781e23a config: allow setting -proxy per network fabdc5ad06 Remove unused LegacyDataSPKM::HaveWatchOnly() fa7b7f796a Remove HaveKey helper, unused after sethdseed removal 8673e8f019 txgraph: Special-case singletons in chunk index (optimization) abdd9d35a3 txgraph: Skipping end of cluster has no impact (optimization) 604acc2c28 txgraph: Reuse discarded chunkindex entries (optimization) c734081454 txgraph: Introduce TxGraph::GetWorstMainChunk (feature) 394dbe2142 txgraph: Introduce BlockBuilder interface (feature) 883df3648e txgraph: Generalize GetClusterRefs to support subsections (preparation) c28a602e00 txgraph: Introduce TxGraphImpl observer tracking (preparation) 9095d8ac1c txgraph: Maintain chunk index (preparation) 87e74e1242 txgraph: abstract out transaction ordering (refactor) 2614fea17f txgraph: Add GetMainStagingDiagrams function (feature) a5ac43d98d doc: Add release notes describing bitcoin wrapper executable 663a9cabf8 Merge bitcoin/bitcoin#32458: guix: move `*-check.py` scripts under contrib/guix/ 258bda80c0 doc: Mention bitcoin wrapper executable in documentation d2739d75c9 build: add bitcoin.exe to windows installer ba649c0006 ci: Run multiprocess tests through wrapper executable 29bdd743bb test: Support BITCOIN_CMD environment variable 9c8c68891b multiprocess: Add bitcoin wrapper executable 5076d20fdb util: Add cross-platform ExecVp and GetExePath functions 05765b8818 Merge bitcoin/bitcoin#32472: doc: Fix typo d847e17c96 doc: Fix typo 3edf400b10 Merge bitcoin/bitcoin#32469: cmake: Allow `WITH_DBUS` on all Unix-like systems 59e09e0fb7 Merge bitcoin-core/gui#871: qt, docs: Unify term "clipboard" 46f79dde67 Merge bitcoin-core/gui#841: Decouple WalletModel from RPCExecutor 5b7ed460c7 cmake: Allow `WITH_DBUS` on all Unix-like systems 746ab19d5a Merge bitcoin/bitcoin#32446: build: simplify *ifaddr handling 6f7052a7b9 threading: semaphore: move CountingSemaphoreGrant to its own header fd15469892 threading: semaphore: remove temporary convenience types 1f89e2a49a scripted-diff: threading: semaphore: use direct types rather than the temporary convenience ones f21365c4fc threading: replace CountingSemaphore with std::counting_semaphore 1acacfbad7 threading: make CountingSemaphore/CountingSemaphoreGrant template types e6ce5f9e78 scripted-diff: rename CSemaphore and CSemaphoreGrant 793166d381 wallet: change the write semaphore to a BinarySemaphore 6790ad27f1 scripted-diff: rename CSemaphoreGrant and CSemaphore for net d870bc9451 threading: add temporary semaphore aliases 19b1e177d6 Merge bitcoin/bitcoin#32155: miner: timelock the coinbase to the mined block's height 6c6ef58b0b Merge bitcoin/bitcoin#32436: test: refactor: negate signature-s using libsecp256k1 b104d44227 test: Remove RPCOverloadWrapper 4d32c19516 test: Replace importpubkey fe838dd391 test: Replace usage of addmultisigaddress d314207779 test: Replace usage of importaddress fcc457573f test: Replace importprivkey with wallet_importprivkey 94c87bbbd0 test: Remove unnecessary importprivkey from wallet_createwallet 9a05b45da6 Merge bitcoin/bitcoin#32438: refactor: Removals after bdb removal e49a7274a2 rpc: Avoid join-split roundtrip for user:pass for auth credentials 98ff38a6f1 rpc: Perform HTTP user:pass split once in `RPCAuthorized` 879a17bcb1 rpc: Store all credentials hashed in memory 4ab9bedee9 rpc: Undeprecate rpcuser/rpcpassword, change message to security warning fa061bfcdb Remove create options from wallet tool fa2125e7b8 Remove unused IsSingleKey fab5e2a094 doc: Remove note about bdb wallets eeeef88d46 doc: fix typo in abortrescan rpc fa7e5c15a7 Remove unused LegacyDataSPKM::DeleteRecords() b070ce1696 Merge bitcoin/bitcoin#31360: depends: Avoid using helper variables in toolchain file ffff949472 remove NotifyWatchonlyChanged fa62a013a5 remove dead flush() fa5f3e62c8 vcpkg: Remove bdb 415650cea9 guix: move *-check.py scripts under contrib/guix 5b8752198e Merge bitcoin/bitcoin#32454: tracing: fix invalid argument in mempool_monitor 31c5ebc400 tracing: fix invalid argument in mempool_monitor ad5cd129f3 Merge bitcoin/bitcoin#30660: qa: Verify clean shutdown on startup failure 7b816c4e00 threading: rename CSemaphore methods to match std::semaphore 1656f6dbba Merge bitcoin/bitcoin#32448: contrib: remove bdb exception from FORTIFY check a04f17a188 doc: warn that CheckBlock() underestimates sigops ab878a7e74 build: simplify *ifaddr handling 1b4ddb0c2d Merge bitcoin/bitcoin#32356: cmake: Respect user-provided configuration-specific flags 1ee698fde2 test: refactor: negate signature-s using libsecp256k1 f9dfe8d5e0 contrib: remove bdb exception from FORTIFY check 66c968b4b4 Merge bitcoin/bitcoin#32444: doc: swap "Docker image" for "container image" 6469752952 Merge bitcoin/bitcoin#32434: lint: Remove string exclusion from locale check 1372eb09c5 doc: swap "Docker image" for "container image" 03ebdd0793 Merge bitcoin/bitcoin#32437: crypto: disable ASan for sha256_sse4 with Clang 95bb305b96 Merge bitcoin/bitcoin#32429: docs: Improve `keypoolrefill` RPC docs 1b1b9f32cf Merge bitcoin/bitcoin#32440: test: remove bdb assert in tool_wallet.py e08e6567f2 test: remove assert_dump since it is not used anymore ff35a4b021 docs: Improve `keypoolrefill` RPC docs 4b24186756 test: add test for decoding PSBT with MuSig2 PSBT key types (BIP 373) 8ba245cb83 test: add constants for MuSig2 PSBT key types (BIP 373) 4b6dd9790b test: remove bdb assert in tool_wallet.py 97d383af6d Test updating non-ranged descriptor with [0,0] range succeeds 7343a1846c depends: Avoid using helper variables in toolchain file 0671d66a8e wallet, refactor: Convert uint256 to Txid in wallet c8ed51e62b wallet, refactor: Convert uint256 to Txid in wallet interfaces b3214cefe6 qt, refactor: Convert uint256 to Txid in the GUI efac285a0d Merge bitcoin/bitcoin#28710: Remove the legacy wallet and BDB dependency fa24fdcb7f lint: Remove string exclusion from locale check 4e8ab5e00f crypto: disable ASan for sha256_sse4 with Clang 6d5edfcc58 Merge bitcoin/bitcoin#32388: fuzz: Remove unused TimeoutExpired catch in fuzz runner de054df6dc contrib: Remove legacy wallet RPCs from bash completions 5dff04a1bb legacy spkm: Make IsMine() and CanProvide() private and migration only c0f3f3264f wallet: Remove unused db functions 83af1a3cca wallet: Delete LegacySPKM 59d3e4ed34 Merge bitcoin/bitcoin#32415: scripted-diff: adapt script error constant names in feature_taproot.py fffb272c25 Merge bitcoin/bitcoin#29532: Refactor BnB tests 3bbdbc0a5e qt, docs: Unify term "clipboard" 8ede6dea0c wallet, rpc: Remove legacy wallet only RPCs 4de3cec28d test: rpcs disabled for descriptor wallets will be removed 84f671b01d test: Run multisig script limit test 810476f31e test: Remove unused options and variables, correct comments 04a7a7a28c build, wallet, doc: Remove BDB 44057fe38c Merge bitcoin/bitcoin#32287: build: Fix `macdeployqtplus` after switching to Qt 6 229943b513 Merge bitcoin/bitcoin#32086: Shuffle depends instructions and recommend modern make for macOS 3e6ac5bf77 refactor: validation: mark CheckBlockIndex as const 61a51eccbb validation: don't use GetAll() in CheckBlockIndex() edde96376a cmake: Respect user-provided configuration-specific flags 22cff32319 doc: recommend gmake for FreeBSD b645c52071 doc: recommend modern make for macOS depends 99e6490dc5 doc: shuffle depends instructions 1e0de7a6ba fees: document non-monotonic estimation edge case baa848b8d3 Merge bitcoin/bitcoin#32405: build: replace header checks with `__has_include` 3a18075aed ci: Drop `-DENABLE_EXTERNAL_SIGNER=ON` configure option 719fa9f4ef build: Re-enable external signer support for Windows 6e5fc2bf9b test: Reintroduce Windows support in `system_tests/run_command` test 53ccb75f0c Merge bitcoin/bitcoin#32358: subprocess: Backport upstream changes fa2c548429 Merge bitcoin/bitcoin#32417: doc: Explain that .gitignore is not for IDE-specific excludes fada115cbe doc: Explain that .gitignore is not for IDE-specific excludes b5f580c580 scripted-diff: adapt script error constant names in feature_taproot.py eba5f9c4b6 Merge bitcoin/bitcoin#32403: test: remove Boost SIGCHLD workaround. e1f543823b build: replace header checks with __has_include 3add6ab9ad test: remove Boost SIGCHLD workaround. cd95c9d6a7 subprocess: check and handle fcntl(F_GETFD) failure b7288decdf subprocess: Proper implementation of wait() on Windows 7423214d8d subprocess: Do not escape double quotes for command line arguments on Windows bb9ffea53f subprocess: Explicitly define move constructor of Streams class 174bd43f2e subprocess: Avoid leaking POSIX name aliases beyond `subprocess.h` 7997b7656f subprocess: Fix cross-compiling with mingw toolchain 647630462f subprocess: Get Windows return code in wait() d3f511b458 subprocess: Fix string_arg when used with rref 2fd3f2fec6 subprocess: Fix memory leaks 5b8046a6e8 Merge bitcoin/bitcoin#30611: validation: write chainstate to disk every hour fc6346dbc8 Merge bitcoin/bitcoin#32389: doc: Fix test_bitcoin path a0eed55398 run_command: Enable close_fds option to avoid lingering fds c7c356a448 cpp-subprocess: Iterate through /proc/self/fd for close_fds option on Linux 4f5e04da13 Revert "remove unneeded close_fds option from cpp-subprocess" 6cbc28b8dd doc: Fix test_bitcoin path 85368aafa0 test: Run simple tests at various feerates d610951c15 test: Recreate BnB iteration exhaustion test 2a1b2754f1 test: Remove redundant repeated test 4781f5c8be test: Recreate simple BnB failure tests a94030ae98 test: Recreate BnB clone skipping test 7db6f012c0 test: Move BnB feerate sensitivity tests 2bafc46261 test: Recreate simple BnB success tests e976bd3045 validation: add randomness to periodic write interval 2e2f410681 refactor: replace m_last_write with m_next_write b557fa7a17 refactor: rename fDoFullFlush to should_write d73bd9fbe4 validation: write chainstate to disk every hour 68ac9f116c Merge bitcoin/bitcoin#32383: util: Remove `fsbridge::get_filesystem_error_message()` fa4804009c fuzz: Remove unused TimeoutExpired catch in fuzz runner 0750249289 mining: document gbt_rule_value helper 5e87c3ec09 scripted-diff: rename gbt_force and gbt_force_name 97eaadc3bf util: Remove `fsbridge::get_filesystem_error_message()` 14b8dfb2bd Merge bitcoin/bitcoin#31398: wallet: refactor: various master key encryption cleanups a60445cd04 Merge bitcoin/bitcoin#32355: Bugfix: Miner: Don't reuse block_reserved_weight for "block is full enough to give up" weight delta 2d5b424414 Merge bitcoin/bitcoin#32351: test: avoid stack overflow in `FindChallenges` via manual iteration 0ed5f37afe Merge bitcoin/bitcoin#31014: net: Use GetAdaptersAddresses to get local addresses on Windows 7a4a2a38ea Merge bitcoin/bitcoin#27826: validation: log which peer sent us a header 4694732bc4 Merge bitcoin/bitcoin#32338: net: remove unnecessary check from AlreadyConnectedToAddress() 7db096121d Merge bitcoin/bitcoin#29039: versionbits refactoring 51d76634fb Merge bitcoin/bitcoin#32365: descriptors: Reject + sign while parsing unsigned c5e44a0435 Merge bitcoin/bitcoin#32369: test: Use the correct node for doubled keypath test 32d55e28af test: Use the correct node for doubled keypath test 65714c162c Merge bitcoin/bitcoin#32327: test: Add missing check for empty stderr in util tester a4eee6d50b Merge bitcoin/bitcoin#29124: test: Test that migration automatically repairs corrupted metadata with doubled derivation path af6cffa36d Merge bitcoin/bitcoin#32350: test: Slim down previous releases bdb check 33e6538b30 Merge bitcoin/bitcoin#32360: test: Force named args for RPCOverloadWrapper optional args 3a29ba33dc Merge bitcoin/bitcoin#32357: depends: Fix cross-compiling `qt` package from macOS to Windows fa655da159 test: [refactor] Use ToIntegral in CheckInferDescriptor fa55dd01df descriptors: Reject + sign when parsing multi threshold fa6f77ed3c descriptors: Reject + sign in ParseKeyPathNum 7e8ef959d0 refactor: Fix Sonar rule `cpp:S4998` - avoid unique_ptr const& as parameter e400ac5352 refactor: simplify repeated comparisons in `FindChallenges` f670836112 test: remove old recursive `FindChallenges_recursive` implementation b80d0bdee4 test: avoid stack overflow in `FindChallenges` via manual iteration fa48be3ba4 test: Force named args for RPCOverloadWrapper optional args aaaa45399c test: Remove unused createwallet_passthrough d05481df64 refactor: validation: mark SnapshotBase as const f409444d02 Merge bitcoin/bitcoin#32071: build: Drop option to disable hardening. cccc1f4e91 test: Remove unused RPCOverloadWrapper is_cli field d62c2d82e1 Merge bitcoin/bitcoin#32353: doc: Fix fuzz test_runner.py path 10845cd7cc qa: Add feature_framework_startup_failures.py 35e57fbe33 depends: Fix cross-compiling `qt` package from macOS to Windows d2ac748e9e Merge bitcoin-core/gui#864: Crash fix, disconnect numBlocksChanged() signal during shutdown 524f981bb8 Bugfix: Miner: Don't reuse block_reserved_weight for "block is full enough to give up" weight delta 84de8c93e7 ci: Add `deploy` target for native macOS CI job fad57e9e0f build: Fix `macdeployqtplus` after switching to Qt 6 de90b47ea0 Merge bitcoin-core/gui#868: Replace stray tfm::format to cerr with qWarning a58cb3b1c1 qa: sanity check mined block have their coinbase timelocked to height 8f2078af6a miner: timelock coinbase transactions 788aeebf34 qa: use prev height as nLockTime for coinbase txs created in unit tests c76dbe9b8b qa: timelock coinbase transactions created in fuzz targets 9c94069d8b contrib: timelock coinbase transactions in signet miner a5f52cfcc4 qa: timelock coinbase transactions created in functional tests 61f238e84a doc: Fix fuzz test_runner.py path c7e2b9e264 tests: Test migration cleans up bad inactive chain derivation path fa58f40b89 test: Slim down previous releases bdb check f1b142856a test: Same addr, diff port is already connected 94e85a82a7 net: remove unnecessary check from AlreadyConnectedToAddress() 28e282ef9a qa: assert_raises_message() - Stop assuming certain structure for exceptions 80e6ad9e30 Merge bitcoin/bitcoin#31250: wallet: Disable creating and loading legacy wallets 971952588d Merge bitcoin/bitcoin#32242: guix: Remove unused `file` package ff69046e66 Merge bitcoin/bitcoin#32215: depends: Fix cross-compiling on macOS 2ae1788dd4 Skip range verification for non-ranged desc 4eee328a98 Merge bitcoin/bitcoin#32318: Fix failing util_time_GetTime test on Windows 71656bdfaa gui: crash fix, disconnect numBlocksChanged() signal during shutdown 3dbd50a576 Fix failing util_time_GetTime test on Windows edd46566bd qt: Replace stray tfm::format to cerr with qWarning 458720e5e9 Merge bitcoin/bitcoin#32336: test: Suppress upstream `-Wduplicate-decl-specifier` in bpfcc facb9b327b scripted-diff: Use bpf_cflags fa0c1baaf8 test: Add imports for util bpf_cflags 9efe546688 Merge bitcoin/bitcoin#31835: validation: set BLOCK_FAILED_CHILD correctly bd158ab4e3 Merge bitcoin/bitcoin#32023: wallet: removed duplicate call to GetDescriptorScriptPubKeyMan 17bb63f9f9 wallet: Disallow loading legacy wallets 9f04e02ffa wallet: Disallow creating legacy wallets 6b247279b7 wallet: Disallow legacy wallet creation from the wallet tool 5e93b1fd6c bench: Remove WalletLoadingLegacy benchmark 56f959d829 wallet: Remove wallettool salvage 7a41c939f0 wallet: Remove -format and bdb from wallet tool's createfromdump c847dee148 test: remove legacy wallet functional tests 20a9173717 test: Remove legacy wallet tests from wallet_reindex.py 446d480cb2 test: Remove legacy wallet tests from wallet_backwards_compatibility.py aff80298d0 test: wallet_signer.py bdb will be removed f94f9399ac test: Remove legacy wallet unit tests d9ac9dbd8e tests, gui: Use descriptors watchonly wallet for watchonly test 9a4c92eb9a Merge bitcoin/bitcoin#32226: ci: switch to LLVM 20 in tidy job 82d1e94838 Merge bitcoin/bitcoin#32310: test: Run all benchmarks in the sanity check dda2d4e176 Merge bitcoin/bitcoin#32113: fuzz: enable running fuzz test cases in Debug mode faca46b042 test: Run all benchmarks in the sanity check e5a00b2497 Merge bitcoin/bitcoin#32309: bench: close wallets after migration 8406a9f4f1 Merge bitcoin/bitcoin#32325: ci: Add missing -Wno-error=array-bounds to valgrind fuzz fadf12a56c test: Add missing check for empty stderr in util tester fa653cb416 ci: Add missing -Wno-error=array-bounds to valgrind fuzz 08aa7fe232 ci: clang-tidy 20 2b85d31bcc refactor: starts/ends_with changes for clang-tidy 20 96a5cd8000 Merge bitcoin/bitcoin#32293: doc: Add deps install notes for multiprocess 2844adc8ba Merge bitcoin/bitcoin#32308: ci: Drop no longer necessary `-Wno-error=array-bounds` cad39f86fb bench: ensure wallet migration benchmark runs exactly once c1f458aaa0 ci: re-enable all benchmark runs 1da11dbc44 bench: clean up migrated descriptor wallets via loader teardown 3669ecd4cc doc: Document fuzz build options c1d01f59ac fuzz: enable running fuzz test cases in Debug mode 06439a14c8 Merge bitcoin/bitcoin#31953: rpc: Allow fullrbf fee bump in (psbt)bumpfee 3e78ac6811 Merge bitcoin/bitcoin#31243: descriptor: Move filling of keys from `DescriptorImpl::MakeScripts` to `PubkeyProvider::GetPubKey` 728e86e3f3 Merge bitcoin/bitcoin#31640: tests: improves tapscript unit tests 1f639efca5 qa: Work around Python socket timeout issue e3d7533ac9 test: improves tapscript unit tests 2aa63d511a test: Use uninvolved pruned node in feature_pruning undo test 772ba7f9ce test: Fix nTimes typo in feature_pruning test b1ea542ae6 test: test MAX_SCRIPT_SIZE for block validity 9b24a403fa qa: Only allow calling TestNode.stop() after connecting 6ad21b4c01 qa: Include ignored errors in RPC connection timeout 879243e81f qa refactor: wait_for_rpc_connection - Treat OSErrors the same d91a746815 Merge bitcoin/bitcoin#32306: ci: Temporarily disable `WalletMigration` benchmark ff136d046a Merge bitcoin/bitcoin#32213: msvc: Update vcpkg manifest e34f12bdd4 ci: Drop no longer necessary `-Wno-error=array-bounds` 055254e212 Merge bitcoin/bitcoin#32300: feefrac: avoid integer overflow in temporary 33d40a6ad4 Merge bitcoin/bitcoin#32282: torcontrol: Fix addrOnion outdated comment 18a035145d ci: Temporarily disable `WalletMigration` benchmark c7b592fbd7 Merge bitcoin/bitcoin#31247: psbt: MuSig2 Fields e261eb8d50 tests: Add BIP 373 test vectors 26370c68d0 rpc: Include MuSig2 fields in decodepsbt ff3d460898 psbt: Implement un/ser of musig2 fields 5cb1241814 feefrac: avoid integer overflow in temporary 7f5a35cf4b doc: Add deps install notes for multiprocess 247e9de622 Merge bitcoin/bitcoin#32191: Make TxGraph fuzz tests more deterministic bfeacc18b3 Merge bitcoin/bitcoin#32154: fuzz: Avoid integer sanitizer warnings in policy_estimator target fa86190e6e rpc: Allow fullrbf fee bump 06f9ead9f9 Merge bitcoin/bitcoin#32271: doc: Document WITH_EXTERNAL_LIBMULTIPROCESS build option better 4a964868f8 Merge bitcoin/bitcoin#32288: ci: drop -priority-level from bench in win cross CI cd01c9a173 Merge bitcoin/bitcoin#32250: ci: Slim down lint image 513e2020a9 guix: Remove unused `file` package 27f11217ca ci: drop -priority-level from bench in win cross CI 7a3afe6787 Merge bitcoin/bitcoin#32281: bench: Fix WalletMigration benchmark e66e30c9e5 Merge bitcoin/bitcoin#31862: doc: Fix and clarify description of ZMQ message format b6282dbd45 Merge bitcoin/bitcoin#32079: test: Add test coverage for rpcwhitelistdefault when unset eb6b1003c1 Merge bitcoin/bitcoin#32286: test: Handle empty string returned by CLI as None in RPC tests 33df4aebae Merge bitcoin/bitcoin#31551: [IBD] batch block reads/writes during `AutoFile` serialization 679bb2aac2 Merge bitcoin/bitcoin#31958: rpc: add cli examples, update docs dfa2813e31 Merge bitcoin/bitcoin#32248: Remove support for RNDR/RNDRRS for aarch64 7912cd4125 bench: Fix WalletMigration benchmark 938208d91a build: Resolve `@rpath` in `macdeployqtplus` bcaa23a2b7 torcontrol: Fix addrOnion outdate comment a4041c77f0 test: Handle empty string returned by CLI as None in RPC tests abe43dfadd doc: release note for #27826 f9fa28788e Use LogBlockHeader for compact blocks bad7c91479 Log which peer sent us a header 9d3e39c29c Log block header in net_processing cdc32994fe Merge bitcoin/bitcoin#32272: [doc] archive 29.0 release notes faeb1babe2 ci: refactor: Use version id over version codename consistently 12dc507c4a [doc] archive 29.0 release notes acee5c59e6 descriptors: Have GetPrivKey fill keys directly 4b0303197e descriptors: Move FlatSigningProvider pubkey filling to GetPubKey 25a3b9b0f5 descriptors: Have GetPubKey fill origins directly 6268bde0af descriptor: Remove unused parent_info from BIP32PUbKeyProvider::GetPubKey 0ff072caa1 wallet, rpc: Only allow keypool import from single key descriptors 99a4ddf5ab Merge bitcoin/bitcoin#31785: Have createNewBlock() wait for tip, make rpc handle shutdown during long poll and wait methods 22770ce8cb Merge bitcoin/bitcoin#31282: refactor: Make node_id a const& in RemoveBlockRequest 9ccee9cd02 doc: Document WITH_EXTERNAL_LIBMULTIPROCESS build option better 8d801e3efb optimization: bulk serialization writes in `WriteBlockUndo` and `WriteBlock` 520965e293 optimization: bulk serialization reads in `UndoRead`, `ReadBlock` 5116655980 Merge bitcoin/bitcoin#32255: miniscript: Correct off-by-one assert guards (#31727 follow-up) 056cb3c0d2 refactor: clear up blockstorage/streams in preparation for optimization 67fcc64802 log: unify error messages for (read/write)[undo]block a4de160492 scripted-diff: shorten BLOCK_SERIALIZATION_HEADER_SIZE constant 6640dd52c9 Narrow scope of undofile write to avoid possible resource management issue 3197155f91 refactor: collect block read operations into try block 3693e4d6ee miniscript: Correct off-by-one assert guards 817edfb21e Merge bitcoin/bitcoin#32245: doc: Updates how to reproduce fuzz CI failure locally fae322a43a ci: Slim down lint image 3333273a8f ci: Bump lint imagefile FROM base 2835216ec0 txgraph: make GroupClusters use partition numbers directly (optimization) c72c8d5d45 txgraph: compare sequence numbers instead of Cluster* (bugfix) b2bb27f40c Merge bitcoin/bitcoin#31741: multiprocess: Add libmultiprocess git subtree 7749d929a0 Remove support for RNDR/RNDRRS for aarch64 on Linux a4fd565191 Merge bitcoin/bitcoin#31727: miniscript: convert non-critical asserts to CHECK_NONFATAL e364e6b509 Merge bitcoin/bitcoin#32176: net: Prevent accidental circuit sharing when using Tor stream isolation 8fe001d597 doc: Updates how to reproduce fuzz CI failure locally c58ae197a3 Merge bitcoin/bitcoin#32198: fuzz: Make p2p_headers_presync more deterministic e1dfa4faeb Merge bitcoin/bitcoin#32237: qt: Update SetHexDeprecated to FromHex b8cefeb221 Merge bitcoin/bitcoin#32149: wallet, migration: Fix empty wallet crash 874da961d0 Merge bitcoin/bitcoin#32240: feefrac test: avoid integer overflow (bugfix) faa3ce3199 fuzz: Avoid influence on the global RNG from peerman m_rng faf4c1b6fc fuzz: Disable unused validation interface and scheduler in p2p_headers_presync fafaca6cbc fuzz: Avoid setting the mock-time twice fad22149f4 refactor: Use MockableSteadyClock in ReportHeadersPresync fa9c38794e test: Introduce MockableSteadyClock::mock_time_point and ElapseSteady helper faf2d512c5 fuzz: Move global node id counter along with other global state fa98455e4b fuzz: Set ignore_incoming_txs in p2p_headers_presync faf2e238fb fuzz: Shuffle files before testing them 868816d962 refactor: Remove SetHexDeprecated 6b63218ec2 qt: Update SetHexDeprecated to FromHex bb92bb36f2 Merge bitcoin/bitcoin#32206: doc: Add fuzz based coverage report generation 021b4f72db Merge bitcoin/bitcoin#32216: bench: Match ConnectBlock tx output counts ff5b7b0b0a Merge bitcoin/bitcoin#32214: test: Remove fragile and ancient release 0.17 wallet test 873a45fba0 Merge bitcoin/bitcoin#32200: net: Add Tor extended SOCKS5 error codes 8d2ead2a86 Merge bitcoin/bitcoin#32185: coins: replace manual `CDBBatch` size estimation with LevelDB's native `ApproximateSize` ad0eee5492 Merge bitcoin/bitcoin#32139: test: remove strict restrictions on rpc_deprecated test a2bc330da8 feefrac test: avoid integer overflow (bugfix) 24d5033a62 Merge bitcoin/bitcoin#32114: test: Add encodable PUSHDATA1 examples to feature_taproot cfe025ff0e Merge bitcoin/bitcoin#30535: feefrac: add support for evaluating at given size 58914ab459 fuzz: assert min diff between FeeFrac and CFeeRate 0c6bcfd8f7 feefrac: support both rounding up and down for Evaluate ecf956ec9d feefrac: add support for evaluating at given size 7963aecead feefrac: add helper functions for 96-bit division 800c0dea9a feefrac: rework comments around Mul/MulFallback fcfe008db2 feefrac fuzz: use arith_uint256 instead of ad-hoc multiply 46ff4220bf arith_uint256: modernize comparison operators e419b0e17f refactor: Remove manual CDBBatch size estimation 8b5e19d8b5 refactor: Delegate to LevelDB for CDBBatch size estimation 751077c6e2 Coins: Add `kHeader` to `CDBBatch::size_estimate` 0dc74c92c0 Merge bitcoin/bitcoin#32212: test: Remove confusing and failing system time test 7677fde4c7 Add fuzz test coverage report generation c77e3107b8 refactor: rename leftover WriteBlockBench d42e82d650 Merge bitcoin/bitcoin#32218: ci: Merge master in test-each-commit task (take 2) 0f602c5693 wallet, migration: Fix crash on empty wallet fa10a1ded5 ci: Use GITHUB_BASE_REF over hard-coded master fa0d0be05c ci: Merge master in test-each-commit task (take 2) 65dcbec756 Merge bitcoin/bitcoin#32209: test: Preserve llvm profile path b34d49a27e Merge bitcoin/bitcoin#32203: ci: Merge master in test-each-commit task 924f25f6fc bench: Match ConnectBlock tx output counts d0cce4172c depends: Fix `mv` command compatibility with macOS 690f5da15a depends: Specify Objective C/C++ compilers for `native_qt` package c5a7ffd1e8 preserve llvm profile env fac978fb21 test: Remove fragile and ancient release 0.17 wallet test 42c13141b5 wallet, refactor: Decouple into HasLegacyRecords() c66f7dab33 Merge bitcoin/bitcoin#32211: doc: Amend Qt 6 dependency packages for Ubuntu ec81a72b36 net: Add randomized prefix to Tor stream isolation credentials d85895e5a7 build, msvc: Build only required `qtbase` features fe5a6dcc53 build, msvc: Update vcpkg manifest baseline fadf8f078e test: Remove confusing and failing system time test 2e751f559a doc: Amend Qt 6 dependency packages for Ubuntu df82a24508 Merge bitcoin-core/gui#863: refactor: Post Qt 6 cleanup 77dff373a6 Merge bitcoin/bitcoin#32182: ci: Switch to dynamic library linkage in native Windows job 99b9022844 Merge bitcoin/bitcoin#32177: TxGraph: Increase fuzz coverage 3aa58bea8e qt, refactor: Inline `GUIUtil::SplitSkipEmptyParts` function d1ec6db249 qt, refactor: Inline `GUIUtil::GetImage` function 4b36ab3a6a qt, refactor: Remove outdated Qt version-specific code faa807bdf8 ci: Merge master in test-each-commit task 7967fe5bfd ci: Switch to dynamic library linkage in native Windows job a2f28e4be9 Squashed 'src/ipc/libmultiprocess/' content from commit 35944ffd23fa 639279e86a Merge bitcoin/bitcoin#30997: build: Switch to Qt 6 babb9f5db6 depends: remove non-native libmultiprocess build 5d105fb8c3 depends: Switch libmultiprocess packages to use local git subtree 9b35518d2f depends, moveonly: split up int_get_build_id function 2d373e2707 lint: Add exclusions for libmultiprocess subtree e88ab394c1 doc: Update documentation to explain libmultiprocess subtree d4bc563982 cmake: Fix clang-tidy "no input files" errors abdf3cb645 cmake: Fix warnings from boost headers 8532fcb1c3 cmake: Fix ctest mptest "Unable to find executable" errors d597ab1dee cmake: Support building with libmultiprocess subtree 69f0d4adb7 scripted-diff: s/WITH_MULTIPROCESS/ENABLE_IPC/ in cmake 3f6fb40114 Merge commit 'a2f28e4be96e92079a219567cf20214996aefc53' as 'src/ipc/libmultiprocess' d6244f85c5 depends: Update libmultiprocess library to simplify cmake subtree build b639417b39 net: Add Tor extended SOCKS5 error codes f00345727b doc: Update `dependencies.md` for Qt 6 80b917991e build, msvc: Update `vcpkg.json` for Qt 6 30dd1f1644 ci: Update for Qt 6 629d292f4d test: Update sanitizer suppressions for Qt 6 551e13abf8 guix: Adjust for Qt 6 c3e9bd086c qt: Fix compiling for Windows ab399c4db2 depends: Add `native_qt` package 248613eb3e depends: Factor out Qt modules' details 0268f52a4c depends: Introduce customizable `$(package)_patches_path` variables 5e794e6202 depends: Bump `qt` package up to 6.7.3 6d4214925f cmake: Require Qt 6 to build GUI cfa7f70f6c Merge bitcoin/bitcoin#31933: doc: Add Clang/LLVM based coverage report generation 772996ac8b Merge bitcoin/bitcoin#32158: fuzz: Make partially_downloaded_block more deterministic 40de19164c Merge bitcoin/bitcoin#32118: fuzz: wallet: fix crypter target 5541f7ced7 Merge bitcoin/bitcoin#32187: refactor: Remove spurious virtual from final ~CZMQNotificationInterface 6f6f83a8ca Merge bitcoin/bitcoin#32193: test: fix spelling in Python code comment 16b084f88d Merge bitcoin/bitcoin#32194: ci, windows: Do not exclude `wallet_migration.py` in command line 4a679936bb ci, windows: Do not exclude `wallet_migration.py` in command line 449e2eb7e4 Merge bitcoin/bitcoin#32184: ci: Add workaround for vcpkg's `libevent` package 4774a0c923 test: fix spelling in Python code comment 459807d566 test: remove strict restrictions on rpc_deprecated c47f81e8ac net: Rename `_randomize_credentials` Proxy parameter to `tor_stream_isolation` 1a6fc04d81 Merge bitcoin/bitcoin#29500: test: create assert_not_equal util 6af68bb84b Merge bitcoin/bitcoin#32166: torcontrol: Define tor reply code as const to improve our maintainability 6593293e47 Merge bitcoin/bitcoin#32110: contrib: document asmap-tool commands more thoroughly c8ade107c8 Merge bitcoin/bitcoin#31806: fuzz: coinselection: cover `SetBumpFeeDiscount` fa69c42fdf refactor: Remove spurious virtual from final ~CZMQNotificationInterface ea36d2720a Merge bitcoin/bitcoin#31340: test: add missing segwitv1 test cases to `script_standard_tests` 80e47b1920 Merge bitcoin/bitcoin#32096: Move some tests and documentation from testnet3 to testnet4 30c59adda4 ci: Drop confusing comment ef00a28414 ci: Add workaround for vcpkg's libevent package 7bb83f6718 test: create assert_not_equal util and add to where imports are needed 2929da1dd5 test: Add coverage for rpcwhitelistdefault when unset fa51310121 contrib: Warn about using libFuzzer for coverage check fa17cdb191 test: Avoid script check worker threads while fuzzing fa900bb2dc contrib: Only print fuzz output on failure 74d9598bfb Merge bitcoin/bitcoin#32134: descriptors: Multipath/PR 22838 follow-ups a40bd374aa Get*Union: disallow nulltpr Refs 57433502e6 CountDistinctClusters: nullptrs disallowed 8bca0d325a TxGraphImpl::Compact: m_main_clusterset.m_removed is always empty 2c5cf987e9 TxGraphImpl::PullIn: only allowed when staging exists fa82fe2c73 contrib: Use -Xdemangler=llvm-cxxfilt in deterministic-*-coverage fa7e931130 contrib: Add optional parallelism to deterministic-fuzz-coverage 3358b1d105 Merge bitcoin/bitcoin#31176: ci: Test cross-built Windows executables on Windows natively 8e4a0ddd50 torcontrol: Add comment explaining Proxy credential randomization for Tor privacy f974359e21 test: Add encodable PUSHDATA1 examples to feature_taproot ec5c0b26ce torcontrol: Define tor reply code as const to improve maintainability 3c3548a70e validation: clarify final |= BLOCK_FAILED_VALID in InvalidateBlock aac5488909 validation: correctly update BlockStatus for invalid block descendants 9e29653b42 test: check BlockStatus when InvalidateBlock is used c99667583d validation: fix traversal condition to mark BLOCK_FAILED_CHILD 7a93544cdc doc: Fix and clarify description of ZMQ message format 56f271e9b9 descriptors refactor: Clarify multipath data relationships through local struct 7e974f474e descriptors refactor: Use range-for and limit scope of seen_multipath 3e167085ba test: Ensures test fails if witness is not hex 4c1906a500 Merge bitcoin/bitcoin#31992: cmake: Avoid fuzzer "multiple definition of `main'" errors 9acc25bcb6 Merge bitcoin/bitcoin#32153: wallet: remove redundant `Assert` call when block is disconnected 0a1e36effa Merge bitcoin/bitcoin#32151: Follow-ups for txgraph #31363 e3c4bb12ba Merge bitcoin/bitcoin#32058: test: get rid of redundant TODO tag 930b237f16 Merge bitcoin/bitcoin#31874: qa wallet: Activate dormant checks in wallet_multisig_descriptor_psbt.py a52b53926b clusterlin: add GetConnectedComponent 6afffba34e contrib: (asmap) add docs about encode and decode commands 67d5cc2a06 contrib: (asmap) add documentation on diff and diff-addrs commands e047b1deca contrib: (asmap) add diff-addrs example to README c7d5dcaa61 clusterlin: fix typos 777179bc27 txgraph: rename group_data in ApplyDependencies 74c23f80ab Merge bitcoin/bitcoin#32145: test: Add functional test for bitcoin-chainstate bcb316bd88 Merge bitcoin/bitcoin#32050: test: avoid treating hash results as integers fa6a007b8e fuzz: Avoid integer sanitizer warnings in policy_estimator target ae6b6ea296 wallet: remove redundant `Assert` call when block is disconnected a54baa8698 Merge bitcoin/bitcoin#32100: doc: clarify the documentation of `Assume` assertion b131e1bfc0 Merge bitcoin/bitcoin#32101: Accept unordered tracepoints in interface_usdt_utxocache.py 8cc601196b Merge bitcoin/bitcoin#32129: doc: Update comments for AreInputsStandard to match code 140f0d89bf Merge bitcoin/bitcoin#32027: cmake: Add `NO_CACHE_IF_FAILED` option for checking linker flags 5dd6ebc7e1 Merge bitcoin/bitcoin#32148: test: fix intermittent timeout in p2p_ibd_stalling.py b413b088ae Merge bitcoin/bitcoin#32141: fuzz: extract unsequenced operations with side-effects e563cb5c60 Merge bitcoin/bitcoin#31849: depends: set `CMAKE_*_COMPILER_TARGET` in toolchain 603fcc07d5 Merge bitcoin/bitcoin#31896: refactor: Remove redundant and confusing calls to IsArgSet 84bbb40558 Merge bitcoin/bitcoin#32132: build: Remove bitness suffix from Windows installer 6971d3a0f5 Merge bitcoin/bitcoin#32144: lint: Remove needless borrow to fix Clippy warning f1d129d963 Merge bitcoin/bitcoin#31363: cluster mempool: introduce TxGraph 9f35d4d070 test: fix intermittent timeout in p2p_ibd_stalling.py d065208f0f test: get rid of redundant TODO tag 248fdd88dc test: accept unordered tracepoints in... ca55613fd1 test: Add functional test for bitcoin-chainstate 32dcec269b rpc: update RPC help of `createpsbt` 931117a46f rpc: update the doc for `data` field in `outputs` argument aa7a898c23 doc: use testnet4 in developer docs 6c217d22fd test: use testnet4 in argsman test 7c200ece80 test: use testnet4 in key_io_valid.json d424bd5941 test: drop unused testnet3 magic bytes 8cfc09fafe test: cover testnet4 magic in assumeutxo.py 4281e3603a zmq: use testnet4 in zmq_sub.py example 3f9c716e7f test: Fix docstring for cmake migration 52ede28a8a doc: Update comments for AreInputsStandard to match code 35d17cd5ee qa wallet: Actually make use of expressions b96f1a696a add clang/llvm based coverage report generation e3ce2bd982 Remove needless borrow to fix Clippy warning c0b7159de4 Merge bitcoin/bitcoin#32122: fuzz: Fix off-by-one in package_rbf target b1de59e896 fuzz: extract unsequenced operations with side-effects 99a92efdd9 descriptors doc: Correct Markdown format + wording dfb7d58108 Merge bitcoin/bitcoin#31897: mining: drop unused -nFees and sigops from CBlockTemplate 535b874707 test: Combine rpcwhitelistdefault functions 0000fb3fd9 doc: Remove outdated and stale todo comment fa2b529f92 refactor: Remove redundant call to IsArgSet fa29842c1f refactor: Remove IsArgSet guard when fallback value is provided 2b6ce9254d test: Update permissions and string formatting fa5674c264 fuzz: Fix off-by-one in package_rbf target 1d281daf86 Merge bitcoin/bitcoin#32095: doc: clarify that testnet min-difficulty is not optional a0d737cd7a Merge bitcoin/bitcoin#32073: net: Block v2->v1 transport downgrade if !fNetworkActive 77e553ab6a build: refactor: hardening flags -> core_interface 00ba3ba303 build: Drop option for disabling hardening f57db75e91 build: Use `-z noseparate-code` on NetBSD < 11.0 b3162d10ea Merge bitcoin/bitcoin#31656: test: Add expected result assertions 5f3848c63b Merge bitcoin/bitcoin#31278: wallet, rpc: deprecate settxfee and paytxfee 329a0dcdaf doc: clarify the documentation of `Assume` fb2b05b125 build: Remove bitness suffix from Windows installer b2ea365648 txgraph: Add Get{Ancestors,Descendants}Union functions (feature) 54bceddd3a txgraph: Multiple inputs to Get{Ancestors,Descendant}Refs (preparation) aded047019 txgraph: Add CountDistinctClusters function (feature) b685d322c9 txgraph: Add DoWork function (feature) 295a1ca8bb txgraph: Expose ability to compare transactions (feature) 22c68cd153 txgraph: Allow Refs to outlive the TxGraph (feature) 82fa3573e1 txgraph: Destroying Ref means removing transaction (feature) 6b037ceddf txgraph: Cache oversizedness of graphs (optimization) 8c70688965 txgraph: Add staging support (feature) c99c7300b4 txgraph: Abstract out ClearLocator (refactor) 34aa3da5ad txgraph: Group per-graph data in ClusterSet (refactor) 36dd5edca5 txgraph: Special-case removal of tail of cluster (Optimization) 5801e0fb2b txgraph: Delay chunking while sub-acceptable (optimization) 57f5499882 txgraph: Avoid looking up the same child cluster repeatedly (optimization) 1171953ac6 txgraph: Avoid representative lookup for each dependency (optimization) 64f69ec8c3 txgraph: Make max cluster count configurable and "oversize" state (feature) 1d27b74c8e txgraph: Add GetChunkFeerate function (feature) c80aecc24d txgraph: Avoid per-group vectors for clusters & dependencies (optimization) ee57e93099 txgraph: Add internal sanity check function (tests) 05abf336f9 txgraph: Add simulation fuzz test (tests) 8ad3ed2681 txgraph: Add initial version (feature) 6eab3b2d73 feefrac: Introduce tagged wrappers to distinguish vsize/WU rates d449773899 scripted-diff: (refactor) ClusterIndex -> DepGraphIndex bfeb69f6e0 clusterlin: Make IsAcyclic() a DepGraph member function 0aa874a357 clusterlin: Add FixLinearization function + fuzz test 55b931934a removed duplicate calling of GetDescriptorScriptPubKeyMan 05117e6e17 rpc: clarify longpoll behavior 5315278e7c Have createNewBlock() wait for a tip 8284229a28 refactor: deduplicate anchor witness program bytes (`0x4e,0x73`) 41f2f058d0 test: add missing segwitv1 test cases to `script_standard_tests` 770d39a376 Merge bitcoin/bitcoin#31887: CLI cleanups a203928693 Merge bitcoin/bitcoin#30538: Doc: add a comment referencing past vulnerability next to where it was fixed b9c281011b Merge bitcoin/bitcoin#31689: Benchmark Chainstate::ConnectBlock duration 963355037f depends: set CMAKE_*_COMPILER_TARGET in toolchain af3dee0b8d Merge bitcoin/bitcoin#32074: contrib: Make deterministic-coverage error messages more readable 0ff66b1c4a fuzz: coinselection: cover `SetBumpFeeDiscount` 28dc118001 fuzz: wallet: fix crypter target 8046759305 Merge bitcoin/bitcoin#31870: fuzz: split `coinselection` harness 2db00278ea Merge bitcoin/bitcoin#31910: qa: fix an off-by-one in utxo snapshot fuzz target and sanity check its snapshot data c9a61509ba Merge bitcoin/bitcoin#31979: torcontrol: Limit reconnect timeout to max seconds and log delay in whole seconds b43cfa20fd Merge bitcoin/bitcoin#30142: doc: add guidance for RPC to developer notes 85feb094d4 Merge bitcoin/bitcoin#32092: test: Fix intermittent issue in p2p_orphan_handling.py b858b72903 Merge bitcoin/bitcoin#31841: fuzz: Use immediate task runner to increase fuzz stability fa7a40d952 contrib: Print deterministic-coverage runs fa751639fb contrib: Make deterministic-coverage error messages more readable 998386d446 Merge bitcoin/bitcoin#31866: test, refactor: Add TestNode.binaries to hold binary paths aa87e0b446 Merge bitcoin/bitcoin#31519: refactor: Use std::span over Span ef525e8b7c Merge bitcoin/bitcoin#31457: fuzz: Speed up *_package_eval fuzz targets a bit 7d76c9725c Merge bitcoin/bitcoin#31766: leveldb: pull upstream C++23 changes 780bcf80b5 Merge bitcoin/bitcoin#32091: test: replace assert with assert_equal and assert_greater_than c6eca6f396 doc: add guidance for RPC to developer notes fa310cc6f4 test: Fix intermittent issue in p2p_orphan_handling.py 25b56fd9b4 ci: Test cross-built Windows executables on Windows natively 288481aabd doc: clarify that testnet min-difficulty is not optional e568c1dd13 Merge bitcoin/bitcoin#32088: test: switch wallet_crosschain.py to signet and drop testnet4 e8f6a48e31 Merge bitcoin/bitcoin#32057: test: avoid disk space warning for non-regtest 387385ba1e test: replace assert with assert_equal and assert_greater_than 223fc24c4e Merge bitcoin/bitcoin#31603: descriptor: check whitespace in keys within fragments d190f0facc test, contrib: Fix signer/miner command line escaping 0d2eefca8b test, refactor: Add TestNode.binaries to hold binary paths 3501bca8c7 ci: Move "Windows cross" job from Cirrus CI to GHA CI f8619196ce ci: Use `bash` by default for all platforms d61a847af0 Merge bitcoin/bitcoin#32019: cmake: Check for `makensis` and `zip` tools before using them for optional `deploy` targets cec14ee47d test: switch wallet_crosschain.py to signet 9c2951541c test: drop testnet4 from wallet_crosschain.py 14fec6380d Merge bitcoin/bitcoin#32059: test: Update coverage.cpp to drop linux restriction ece0b41da6 Merge bitcoin/bitcoin#32087: ci: Drop ENABLE_HARDENING=OFF from clang-tidy c9b633d119 Merge bitcoin/bitcoin#31948: ci: [lint] Use Cirrus dockerfile cache 6245c23504 Merge bitcoin/bitcoin#32083: doc: shallow clone `qa-assets` 6869fb4170 net: Block v2->v1 transport downgrade if !CConnman::fNetworkActive 257fd27e4b Merge bitcoin/bitcoin#32033: test: Check datadir cleanup after assumeutxo was successful 6f9f415a4f doc: shallow clone qa-assets db2c57ae9e Merge bitcoin-core/gui#858: qt: doc: adapt outdated binary paths to CMake changes c8fab35617 ci: remove -Wno-error=deprecated-declarations from ASAN a130bbd154 Squashed 'src/leveldb/' changes from 04b5790928..4188247086 24fd0235e4 Update leveldb subtree to latest upstream a799415d84 Merge bitcoin/bitcoin#31904: refactor: modernize outdated trait patterns using helper aliases (C++14/C++17) 5f4422d68d Merge bitcoin/bitcoin#32010: qa: Fix TxIndex race conditions 52482cb244 test: Check datadir cleanup after assumeutxo was successful 7ebc458a8c qt: doc: adapt outdated binary paths to CMake changes cd8089c20b Merge bitcoin/bitcoin#32069: test: fix intermittent failure in wallet_reorgsrestore.py 70a0ee89c6 Me…
Note that this is being reverted in #33063. |
…RunCommandJSON" faa1c3e Revert "Merge #32343: common: Close non-std fds before exec in RunCommandJSON" (MarcoFalke) Pull request description: After a fork() in a multithreaded program, the child can safely call only async-signal-safe functions (see [signal-safety(7)](https://www.man7.org/linux/man-pages/man7/signal-safety.7.html)) until such time as it calls execv. The standard library (`std` namespace) is not async-signal-safe. Also, `throw`, isn't. There was an alternative implementation using `readdir` (#32529), but that isn't async-signal-safe either, and that implementation was still using `throw`. So temporarily revert this feature. A follow-up in the future can add it back, using only async-signal-safe functions, or by using a different approach. Fixes #32524 Fixes #33015 Fixes #32855 For reference, a failure can manifest in the GCC debug mode: * While `fork`ing, a debug mode mutex is held (by any other thread). * The `fork`ed child tries to use the stdard libary before `execv` and deadlocks. This may look like the following: ``` (gdb) thread apply all bt Thread 1 (Thread 0xf58f4b40 (LWP 774911) "b-httpworker.2"): #0 0xf7f4f589 in __kernel_vsyscall () #1 0xf79e467e in ?? () from /lib32/libc.so.6 #2 0xf79eb582 in pthread_mutex_lock () from /lib32/libc.so.6 #3 0xf7d93bf2 in ?? () from /lib32/libstdc++.so.6 #4 0xf7d93f36 in __gnu_debug::_Safe_iterator_base::_M_attach(__gnu_debug::_Safe_sequence_base*, bool) () from /lib32/libstdc++.so.6 #5 0x5668810a in __gnu_debug::_Safe_iterator_base::_Safe_iterator_base (this=0xf58f13ac, __seq=0xf58f13f8, __constant=false) at /bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/debug/safe_base.h:91 #6 0x56ddfb50 in __gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<int*, std::__cxx1998::vector<int, std::allocator<int> > >, std::__debug::vector<int, std::allocator<int> >, std::forward_iterator_tag>::_Safe_iterator (this=0xf58f13a8, __i=3, __seq=0xf58f13f8) at /bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/debug/safe_iterator.h:162 #7 0x56ddfacb in __gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<int*, std::__cxx1998::vector<int, std::allocator<int> > >, std::__debug::vector<int, std::allocator<int> >, std::bidirectional_iterator_tag>::_Safe_iterator (this=0xf58f13a8, __i=3, __seq=0xf58f13f8) at /bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/debug/safe_iterator.h:539 #8 0x56ddfa5b in __gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<int*, std::__cxx1998::vector<int, std::allocator<int> > >, std::__debug::vector<int, std::allocator<int> >, std::random_access_iterator_tag>::_Safe_iterator (this=0xf58f13a8, __i=3, __seq=0xf58f13f8) at /bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/debug/safe_iterator.h:687 #9 0x56ddd3f6 in std::__debug::vector<int, std::allocator<int> >::begin (this=0xf58f13f8) at /bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/debug/vector:300 #10 0x57d83701 in subprocess::detail::Child::execute_child (this=0xf58f156c) at ./util/subprocess.h:1372 #11 0x57d80a7c in subprocess::Popen::execute_process (this=0xf58f1cd8) at ./util/subprocess.h:1231 #12 0x57d6d2b4 in subprocess::Popen::Popen<subprocess::input, subprocess::output, subprocess::error, subprocess::close_fds> (this=0xf58f1cd8, cmd_args="fake.py enumerate", args=..., args=..., args=..., args=...) at ./util/subprocess.h:964 #13 0x57d6b597 in RunCommandParseJSON (str_command="fake.py enumerate", str_std_in="") at ./common/run_command.cpp:27 #14 0x57a90547 in ExternalSigner::Enumerate (command="fake.py", signers=std::__debug::vector of length 0, capacity 0, chain="regtest") at ./external_signer.cpp:28 #15 0x56defdab in enumeratesigners()::$_0::operator()(RPCHelpMan const&, JSONRPCRequest const&) const (this=0xf58f2ba0, self=..., request=...) at ./rpc/external_signer.cpp:51 ... (truncated, only one thread exists) ``` ACKs for top commit: fanquake: ACK faa1c3e darosior: ACK faa1c3e Tree-SHA512: 602da5f2eba08d7fe01ba19baf411e287ae27fe2d4b82f41734e05b7b1d938ce94cc0041e86ba677284fa92838e96ebee687023ff28047e2b036fd9a53567e0a
…f1a28fa3f98 cf1a28fa3f98 kernel: Fix bitcoin-chainstate for windows dde03b676bea kernel: Add Purpose section to header documentation 6e4460579cb1 kernel: Add pure kernel bitcoin-chainstate 3895b9e9a29c kernel: Add functions to get the block hash from a block cec2f27c4573 kernel: Add block index utility functions to C header ae9e296b6bec kernel: Add function to read block undo data from disk to C header 1c1efa20baed kernel: Add functions to read block from disk to C header ffdeaa8b749b kernel: Add function for copying block data to C header 6145f14e5cf5 kernel: Add functions for the block validation state to C header 0a9b0d129469 kernel: Add validation interface to C header 907b0a5390fd kernel: Add interrupt function to C header 68812ede5042 kernel: Add import blocks function to C header bd2e516d1771 kernel: Add chainstate load options for in-memory dbs in C header a5b2d02ebe05 kernel: Add options for reindexing in C header e6c7ac508b29 kernel: Add block validation to C header 28f2c5d14ec8 kernel: Add chainstate loading when instantiating a ChainstateManager 2f51e1627a23 kernel: Add chainstate manager option for setting worker threads 237082b66424 kernel: Add chainstate manager object to C header 414f92931154 kernel: Add notifications context option to C header de523cbd6f82 kernel: Add chain params context option to C header 503bfcd1486e kernel: Add kernel library context object ba82693907d1 kernel: Add logging to kernel library C header 9b1d963a1dda kernel: Introduce initial kernel C header API fdbade6f8ded kernel: create monolithic kernel static library 75a5c8258ec5 Merge bitcoin/bitcoin#33063: util: Revert "common: Close non-std fds before exec in RunCommandJSON" 3b188b8b3dae Merge bitcoin/bitcoin#31576: test: Move `script_assets_tests` into its own suite 2e97541396b9 Merge bitcoin/bitcoin#32944: wallet: Remove `upgradewallet` RPC b08041cac863 Merge bitcoin/bitcoin#32845: rpc, test: Fix JSON parsing errors in unloadwallet and getdescriptoractivity RPCs fc162299f0cc Merge bitcoin/bitcoin#32994: p2p: rename GetAddresses -> GetAddressesUnsafe 633d8ea17b9f Merge bitcoin/bitcoin#32970: ci: Enable more shellcheck faa1c3e80d95 Revert "Merge bitcoin/bitcoin#32343: common: Close non-std fds before exec in RunCommandJSON" 6cdc5a90cffe Merge bitcoin/bitcoin#32967: log: [refactor] Use info level for init logs 443c32a3e686 Merge bitcoin/bitcoin#32822: fuzz: Make process_message(s) more deterministic face8123fdc1 log: [refactor] Use info level for init logs fa183761cb09 log: Remove function name from init logs 5ad79b203505 Merge bitcoin/bitcoin#32593: wallet, rpc: Move (Un)LockCoin WalletBatch creation out of RPC e17fb86382ea Merge bitcoin/bitcoin#32888: ci: Use optimized Debug build type in test-each-commit fd3d80c209e5 Merge bitcoin/bitcoin#33047: test: check proper OP_2ROT behavior 1119ac51f0c8 Merge bitcoin/bitcoin#33040: doc: update headers and remove manual TOCs e2f2df0ead81 Merge bitcoin/bitcoin#32984: wallet: Set migrated wallet name only on success 16f7b43b6808 Merge bitcoin/bitcoin#33049: doc: Fix typos in asmap README b59dc21847d3 doc: Fix typos in asmap README ca38cf701dc6 doc: fix a few obvious typos in the affected files ddab466e0d95 doc: remove manual TOCs 26a3730711c7 doc: unify `developer-notes` and `productivity` header styles eb137184482c Merge bitcoin/bitcoin#31179: RPC: Add reserve member function to `UniValue` and use it in `blockToJSON` function b94c6356a29b test: check proper OP_2ROT behavior 73e754bd01b0 Merge bitcoin/bitcoin#33001: test: Do not pass tests on unhandled exceptions cfb859e82edf Merge bitcoin/bitcoin#33037: doc: Add release notes for 32521 (MAX_TX_LEGACY_SIGOPS) afd3b34dc5e2 Merge bitcoin/bitcoin#33004: Enable `-natpmp` by default 49bbf9ff28f8 Merge bitcoin/bitcoin#33036: Update secp256k1 subtree to latest master c5c1960f9350 doc: Add release notes for changes in RPCs 90fd5acbe57e rpc, test: Fix error message in getdescriptoractivity 39fef1d20367 test: Add missing logging info for each test 53ac704efd66 rpc, test: Fix error message in unloadwallet 1fc3a8e8e7ae rpc, test: Add EnsureUniqueWalletName tests 900bb53905aa Merge bitcoin/bitcoin#32990: wallet: remove outdated `pszSkip` arg of database `Rewrite` func c8ec423719aa Merge bitcoin/bitcoin#33020: test: delete commented-out tests and add a test case in wallet_signer 09f004bd9fec Merge bitcoin/bitcoin#32945: tests: speed up coins_tests by parallelizing 5d98fc755963 Merge bitcoin/bitcoin#33030: test: check tx is final when there is no locktime b635bc089629 rpc, util: Add EnsureUniqueWalletName da318fe53fa9 test: delete commented out tests 6d80e999a064 test: external signer returns invalid JSON response 065e42976a70 test: IsFinalTx returns true when there is no locktime 1cb23997033c doc: clarify the GetAddresses/GetAddressesUnsafe documentation e5a7dfd79f61 p2p: rename GetAddresses -> GetAddressesUnsafe faa2f3b1afe7 doc: Add release notes for 32521 (MAX_TX_LEGACY_SIGOPS) 336b8be37b22 Update secp256k1 subtree to latest master 5600e6fc4bb4 Squashed 'src/secp256k1/' changes from 4187a46649..b9313c6e1a 06ab3a394ade tests: speed up coins_tests by parallelizing 7129c9ea8e95 Merge bitcoin/bitcoin#32827: mempool: Avoid needless vtx iteration during IBD 11c6a864c9ee Merge bitcoin/bitcoin#33007: test: fix `ReadTopologicalSet` unsigned integer overflow 9bc33432e214 Merge bitcoin/bitcoin#32999: ci: Use APT_LLVM_V in msan task 5878f35446ae Merge bitcoin/bitcoin#31144: [IBD] multi-byte block obfuscation 249889bee6b8 orphanage: avoid vtx iteration when no orphans 41ad2be4340d mempool: Avoid expensive loop in `removeForBlock` during IBD e9edd43a9592 Merge bitcoin/bitcoin#32521: policy: make pathological transactions packed with legacy sigops non-standard 80067ac111c2 Merge bitcoin/bitcoin#31829: p2p: improve TxOrphanage denial of service bounds 31c4e77a256c test: fix ReadTopologicalSet unsigned integer overflow 672c85cb1ea0 Merge bitcoin/bitcoin#32868: test: refactor: overhaul block hash determination for `CBlock{,Header}` objects fa1a14a13a15 fuzz: Reset chainman state in process_message(s) targets fa9a3de09b4c fuzz: DisableNextWrite aeeeeec9f749 fuzz: Reset dirty connman state in process_message(s) targets fa11eea4059a fuzz: Avoid non-determinism in process_message(s) target (PeerMan) faa3e684118b test: Log KeyboardInterrupt as exception b2d07f872c58 Add release notes for -natpmp enabled by default 3fc660d26719 mapport: turn -natpmp to on by default fa30b34026f7 test: Do not pass tests on unhandled exceptions 96da68a38fa2 qa: functional test a transaction running into the legacy sigop limit 367147954d16 qa: unit test standardness of inputs packed with legacy sigops 5863315e33ba policy: make pathological transactions packed with legacy sigops non-standard. 5fa34951ead2 test: avoid unneeded block header hash -> integer conversions 2118301d77c2 test: rename CBlockHeader `.hash` -> `.hash_hex` for consistency 23be0ec2f074 test: rename CBlockHeader `.rehash()`/`.sha256` -> `.hash_int` for consistency 8b09cc350afa test: remove bare CBlockHeader `.rehash()`/`.calc_sha256()` calls 0716382c20a6 test: remove header hash caching in CBlockHeader class 0f044e82bd5f test: avoid direct block header modification in feature_block.py f3c791d2e391 test: refactor: dedup `CBlockHeader` serialization fad040a5787a ci: Use APT_LLVM_V in msan task 060695c22ae7 test: Failed load after migrate should restore backup 248b6a27c351 optimization: peel align-head and unroll body to 64 bytes e7114fc6dc34 optimization: migrate fixed-size obfuscation from `std::vector<std::byte>` to `uint64_t` 478d40afc6fa refactor: encapsulate `vector`/`array` keys into `Obfuscation` 377aab8e5a8d refactor: move `util::Xor` to `Obfuscation().Xor` fa5d296e3beb refactor: prepare mempool_persist for obfuscation key change 6bbf2d9311b4 refactor: prepare `DBWrapper` for obfuscation key change 0b8bec8aa626 scripted-diff: unify xor-vs-obfuscation nomenclature 972697976c02 bench: make ObfuscationBench more representative 618a30e326e9 test: compare util::Xor with randomized inputs against simple impl a5141cd39ecb test: make sure dbwrapper obfuscation key is never obfuscated 54ab0bd64c36 refactor: commit to 8 byte obfuscation keys 7aa557a37b73 random: add fixed-size `std::array` generation 9f713b83dcf7 Merge bitcoin/bitcoin#32837: depends: fix libevent `_WIN32_WINNT` usage 2dfeb6668cb2 wallet: remove outdated `pszSkip` arg of database `Rewrite` func 8a4cfddf23a4 wallet: Set migrated wallet name only on success d89c6fa4a718 wallet: Remove `upgradewallet` RPC 184159e4f30c Merge bitcoin/bitcoin#32922: test: use notarized v28.2 binaries and fix macOS detection 5d17e64a0290 Merge bitcoin/bitcoin#32677: test: headers sync timeout 0087ba409b36 Merge bitcoin/bitcoin#32968: test: fix intermittent failure in rpc_invalidateblock.py 50024620b909 [bench] worst case LimitOrphans and EraseForBlock 45c7a4b56d28 [functional test] orphan resolution works in the presence of DoSy peers 835f5c77cdee [prep/test] restart instead of bumpmocktime between p2p_orphan_handling subtests b113877545a1 [fuzz] Add simulation fuzz test for TxOrphanage 03aaaedc6daf [prep] Return the made-reconsiderable announcements in AddChildrenToWorkSet ea29c4371e86 [p2p] bump DEFAULT_MAX_ORPHANAGE_LATENCY_SCORE to 3,000 24afee8d8f94 [fuzz] TxOrphanage protects peers that don't go over limit a2878cfb4ae2 [unit test] strengthen GetChildrenFromSamePeer tests: results are in recency order 7ce3b7ee579c [unit test] basic TxOrphanage eviction and protection 4d23d1d7e7fa [cleanup] remove unused rng param from LimitOrphans 067365d2a8a4 [p2p] overhaul TxOrphanage with smarter limits 1a41e7962db3 [refactor] create aliases for TxOrphanage Count and Usage b50bd72c42bc [prep] change return type of EraseTx to bool 3da6d7f8f6fc [prep/refactor] make TxOrphanage a virtual class implemented by TxOrphanageImpl 77ebe8f28012 [prep/test] have TxOrphanage remember its own limits in LimitOrphans d0af4239b7f0 [prep/refactor] move DEFAULT_MAX_ORPHAN_TRANSACTIONS to txorphanage.h 51365225b898 [prep/config] remove -maxorphantx 8dd24c29aec8 [prep/test] modify test to not access TxOrphanage internals b53fab1467fd Merge bitcoin/bitcoin#32948: refactor: cleanup index logging fa1fd074685c ci: Enable more shellcheck 61e800e75cff test: headers sync timeout 28416f367a5d test: fix intermittent failure in rpc_invalidateblock.py e72cb20c3fb7 Merge bitcoin/bitcoin#32943: depends: Force `CMAKE_EXPORT_NO_PACKAGE_REGISTRY=TRUE` 97fb46d0a081 Merge bitcoin/bitcoin#32880: ci: Avoid cd into build dir 69b9ad02da89 Merge bitcoin/bitcoin#32954: cmake: Drop no longer necessary "cmakeMinimumRequired" object faa3171ff22f ci: Use optimized Debug build type in test-each-commit fa21c3401e15 ci: [doc] reword debug log message 12a6959892cb cmake: Drop no longer necessary "cmakeMinimumRequired" object 44f532782445 [fuzz] add SeedRandomStateForTest(SeedRand::ZEROS) to txorphan 15a4ec906976 [prep/rpc] remove entry and expiry time from getorphantxs 08e58fa91198 [prep/refactor] move txorphanage to node namespace and directory bb91d23fa956 [txorphanage] change type of usage to int64_t c18bf0bd9be6 refactor: cleanup index logging f5647c6c5ae8 depends: fix libevent _WIN32_WINNT usage 44f3bae300dc depends: Force `CMAKE_EXPORT_NO_PACKAGE_REGISTRY=TRUE` fad191ff48b1 ci: Avoid cd into build dir 4bb4c865999b test: document HOST for get_previous_releases.py 609203d5075c test: stop signing previous releases >= v28.2 c6dc2c29f828 test: replace v28.0 with notarized v28.2 5bd73d96a3a7 test: fix macOS detection c40dbbbf7707 test: Move `script_assets_tests` into its own suite 6135e0553e6e wallet, rpc: Move (Un)LockCoin WalletBatch creation out of RPC 5d82d92aff7c rpc: reserve space for `UniValue` variables in `blockToJSON` 6a506d5c37d1 UniValue: add reserve member function bd461195f4b3 bench: support benching all verbosity of `BlockToJson` REVERT: 1ffc1c9d94b1 kernel: Fix bitcoin-chainstate for windows REVERT: 686c4108cc1d kernel: Add Purpose section to header documentation REVERT: 8d47a4073120 kernel: Add pure kernel bitcoin-chainstate REVERT: ba84650882f1 kernel: Add functions to get the block hash from a block REVERT: a4217273422b kernel: Add block index utility functions to C header REVERT: aedbe73cf096 kernel: Add function to read block undo data from disk to C header REVERT: 109dda0845d8 kernel: Add functions to read block from disk to C header REVERT: 3e24c34ad481 kernel: Add function for copying block data to C header REVERT: 9ab3d14c1d15 kernel: Add functions for the block validation state to C header REVERT: 4408228f8556 kernel: Add validation interface to C header REVERT: 0c3054ef4b6e kernel: Add interrupt function to C header REVERT: 45895c4ac778 kernel: Add import blocks function to C header REVERT: 994c869ba238 kernel: Add chainstate load options for in-memory dbs in C header REVERT: b4ad47e31268 kernel: Add options for reindexing in C header REVERT: 591b28d61548 kernel: Add block validation to C header REVERT: a1fe6b4264bf kernel: Add chainstate loading when instantiating a ChainstateManager REVERT: 0cf99f827e48 kernel: Add chainstate manager option for setting worker threads REVERT: c18b35135c75 kernel: Add chainstate manager object to C header REVERT: 1de2db7eacde kernel: Add notifications context option to C header REVERT: b1e6a28d17c6 kernel: Add chain params context option to C header REVERT: 369cfd3f6c4f kernel: Add kernel library context object REVERT: f9e13dbb1ade kernel: Add logging to kernel library C header REVERT: ce1288828783 kernel: Introduce initial kernel C header API git-subtree-dir: libbitcoinkernel-sys/bitcoin git-subtree-split: cf1a28fa3f985e3836652b8ad2c3bc35f04fec6d
…06c4276cf7a 506c4276cf7a Merge branch 'monolithic-kernel-lib' into kernelApi_symbols fdbade6f8ded kernel: create monolithic kernel static library 75a5c8258ec5 Merge bitcoin/bitcoin#33063: util: Revert "common: Close non-std fds before exec in RunCommandJSON" 3b188b8b3dae Merge bitcoin/bitcoin#31576: test: Move `script_assets_tests` into its own suite 2e97541396b9 Merge bitcoin/bitcoin#32944: wallet: Remove `upgradewallet` RPC b08041cac863 Merge bitcoin/bitcoin#32845: rpc, test: Fix JSON parsing errors in unloadwallet and getdescriptoractivity RPCs fc162299f0cc Merge bitcoin/bitcoin#32994: p2p: rename GetAddresses -> GetAddressesUnsafe 633d8ea17b9f Merge bitcoin/bitcoin#32970: ci: Enable more shellcheck faa1c3e80d95 Revert "Merge bitcoin/bitcoin#32343: common: Close non-std fds before exec in RunCommandJSON" 6cdc5a90cffe Merge bitcoin/bitcoin#32967: log: [refactor] Use info level for init logs 443c32a3e686 Merge bitcoin/bitcoin#32822: fuzz: Make process_message(s) more deterministic face8123fdc1 log: [refactor] Use info level for init logs fa183761cb09 log: Remove function name from init logs 5ad79b203505 Merge bitcoin/bitcoin#32593: wallet, rpc: Move (Un)LockCoin WalletBatch creation out of RPC e17fb86382ea Merge bitcoin/bitcoin#32888: ci: Use optimized Debug build type in test-each-commit fd3d80c209e5 Merge bitcoin/bitcoin#33047: test: check proper OP_2ROT behavior 1119ac51f0c8 Merge bitcoin/bitcoin#33040: doc: update headers and remove manual TOCs e2f2df0ead81 Merge bitcoin/bitcoin#32984: wallet: Set migrated wallet name only on success 16f7b43b6808 Merge bitcoin/bitcoin#33049: doc: Fix typos in asmap README b59dc21847d3 doc: Fix typos in asmap README ca38cf701dc6 doc: fix a few obvious typos in the affected files ddab466e0d95 doc: remove manual TOCs 26a3730711c7 doc: unify `developer-notes` and `productivity` header styles eb137184482c Merge bitcoin/bitcoin#31179: RPC: Add reserve member function to `UniValue` and use it in `blockToJSON` function b94c6356a29b test: check proper OP_2ROT behavior 73e754bd01b0 Merge bitcoin/bitcoin#33001: test: Do not pass tests on unhandled exceptions cfb859e82edf Merge bitcoin/bitcoin#33037: doc: Add release notes for 32521 (MAX_TX_LEGACY_SIGOPS) afd3b34dc5e2 Merge bitcoin/bitcoin#33004: Enable `-natpmp` by default 49bbf9ff28f8 Merge bitcoin/bitcoin#33036: Update secp256k1 subtree to latest master c5c1960f9350 doc: Add release notes for changes in RPCs 90fd5acbe57e rpc, test: Fix error message in getdescriptoractivity 39fef1d20367 test: Add missing logging info for each test 53ac704efd66 rpc, test: Fix error message in unloadwallet 1fc3a8e8e7ae rpc, test: Add EnsureUniqueWalletName tests 900bb53905aa Merge bitcoin/bitcoin#32990: wallet: remove outdated `pszSkip` arg of database `Rewrite` func c8ec423719aa Merge bitcoin/bitcoin#33020: test: delete commented-out tests and add a test case in wallet_signer 09f004bd9fec Merge bitcoin/bitcoin#32945: tests: speed up coins_tests by parallelizing 5d98fc755963 Merge bitcoin/bitcoin#33030: test: check tx is final when there is no locktime b635bc089629 rpc, util: Add EnsureUniqueWalletName da318fe53fa9 test: delete commented out tests 6d80e999a064 test: external signer returns invalid JSON response 065e42976a70 test: IsFinalTx returns true when there is no locktime 1cb23997033c doc: clarify the GetAddresses/GetAddressesUnsafe documentation e5a7dfd79f61 p2p: rename GetAddresses -> GetAddressesUnsafe faa2f3b1afe7 doc: Add release notes for 32521 (MAX_TX_LEGACY_SIGOPS) 336b8be37b22 Update secp256k1 subtree to latest master 5600e6fc4bb4 Squashed 'src/secp256k1/' changes from 4187a46649..b9313c6e1a 06ab3a394ade tests: speed up coins_tests by parallelizing 7129c9ea8e95 Merge bitcoin/bitcoin#32827: mempool: Avoid needless vtx iteration during IBD 11c6a864c9ee Merge bitcoin/bitcoin#33007: test: fix `ReadTopologicalSet` unsigned integer overflow 9bc33432e214 Merge bitcoin/bitcoin#32999: ci: Use APT_LLVM_V in msan task 5878f35446ae Merge bitcoin/bitcoin#31144: [IBD] multi-byte block obfuscation 249889bee6b8 orphanage: avoid vtx iteration when no orphans 41ad2be4340d mempool: Avoid expensive loop in `removeForBlock` during IBD e9edd43a9592 Merge bitcoin/bitcoin#32521: policy: make pathological transactions packed with legacy sigops non-standard 80067ac111c2 Merge bitcoin/bitcoin#31829: p2p: improve TxOrphanage denial of service bounds 31c4e77a256c test: fix ReadTopologicalSet unsigned integer overflow 672c85cb1ea0 Merge bitcoin/bitcoin#32868: test: refactor: overhaul block hash determination for `CBlock{,Header}` objects fa1a14a13a15 fuzz: Reset chainman state in process_message(s) targets fa9a3de09b4c fuzz: DisableNextWrite aeeeeec9f749 fuzz: Reset dirty connman state in process_message(s) targets fa11eea4059a fuzz: Avoid non-determinism in process_message(s) target (PeerMan) faa3e684118b test: Log KeyboardInterrupt as exception b2d07f872c58 Add release notes for -natpmp enabled by default 3fc660d26719 mapport: turn -natpmp to on by default fa30b34026f7 test: Do not pass tests on unhandled exceptions 96da68a38fa2 qa: functional test a transaction running into the legacy sigop limit 367147954d16 qa: unit test standardness of inputs packed with legacy sigops 5863315e33ba policy: make pathological transactions packed with legacy sigops non-standard. 5fa34951ead2 test: avoid unneeded block header hash -> integer conversions 2118301d77c2 test: rename CBlockHeader `.hash` -> `.hash_hex` for consistency 23be0ec2f074 test: rename CBlockHeader `.rehash()`/`.sha256` -> `.hash_int` for consistency 8b09cc350afa test: remove bare CBlockHeader `.rehash()`/`.calc_sha256()` calls 0716382c20a6 test: remove header hash caching in CBlockHeader class 0f044e82bd5f test: avoid direct block header modification in feature_block.py f3c791d2e391 test: refactor: dedup `CBlockHeader` serialization fad040a5787a ci: Use APT_LLVM_V in msan task 060695c22ae7 test: Failed load after migrate should restore backup 248b6a27c351 optimization: peel align-head and unroll body to 64 bytes e7114fc6dc34 optimization: migrate fixed-size obfuscation from `std::vector<std::byte>` to `uint64_t` 478d40afc6fa refactor: encapsulate `vector`/`array` keys into `Obfuscation` 377aab8e5a8d refactor: move `util::Xor` to `Obfuscation().Xor` fa5d296e3beb refactor: prepare mempool_persist for obfuscation key change 6bbf2d9311b4 refactor: prepare `DBWrapper` for obfuscation key change 0b8bec8aa626 scripted-diff: unify xor-vs-obfuscation nomenclature 972697976c02 bench: make ObfuscationBench more representative 618a30e326e9 test: compare util::Xor with randomized inputs against simple impl a5141cd39ecb test: make sure dbwrapper obfuscation key is never obfuscated 54ab0bd64c36 refactor: commit to 8 byte obfuscation keys 7aa557a37b73 random: add fixed-size `std::array` generation 9f713b83dcf7 Merge bitcoin/bitcoin#32837: depends: fix libevent `_WIN32_WINNT` usage 2dfeb6668cb2 wallet: remove outdated `pszSkip` arg of database `Rewrite` func 8a4cfddf23a4 wallet: Set migrated wallet name only on success d89c6fa4a718 wallet: Remove `upgradewallet` RPC 184159e4f30c Merge bitcoin/bitcoin#32922: test: use notarized v28.2 binaries and fix macOS detection 5d17e64a0290 Merge bitcoin/bitcoin#32677: test: headers sync timeout 0087ba409b36 Merge bitcoin/bitcoin#32968: test: fix intermittent failure in rpc_invalidateblock.py 50024620b909 [bench] worst case LimitOrphans and EraseForBlock 45c7a4b56d28 [functional test] orphan resolution works in the presence of DoSy peers 835f5c77cdee [prep/test] restart instead of bumpmocktime between p2p_orphan_handling subtests b113877545a1 [fuzz] Add simulation fuzz test for TxOrphanage 03aaaedc6daf [prep] Return the made-reconsiderable announcements in AddChildrenToWorkSet ea29c4371e86 [p2p] bump DEFAULT_MAX_ORPHANAGE_LATENCY_SCORE to 3,000 24afee8d8f94 [fuzz] TxOrphanage protects peers that don't go over limit a2878cfb4ae2 [unit test] strengthen GetChildrenFromSamePeer tests: results are in recency order 7ce3b7ee579c [unit test] basic TxOrphanage eviction and protection 4d23d1d7e7fa [cleanup] remove unused rng param from LimitOrphans 067365d2a8a4 [p2p] overhaul TxOrphanage with smarter limits 1a41e7962db3 [refactor] create aliases for TxOrphanage Count and Usage b50bd72c42bc [prep] change return type of EraseTx to bool 3da6d7f8f6fc [prep/refactor] make TxOrphanage a virtual class implemented by TxOrphanageImpl 77ebe8f28012 [prep/test] have TxOrphanage remember its own limits in LimitOrphans d0af4239b7f0 [prep/refactor] move DEFAULT_MAX_ORPHAN_TRANSACTIONS to txorphanage.h 51365225b898 [prep/config] remove -maxorphantx 8dd24c29aec8 [prep/test] modify test to not access TxOrphanage internals b53fab1467fd Merge bitcoin/bitcoin#32948: refactor: cleanup index logging fa1fd074685c ci: Enable more shellcheck 61e800e75cff test: headers sync timeout 28416f367a5d test: fix intermittent failure in rpc_invalidateblock.py e72cb20c3fb7 Merge bitcoin/bitcoin#32943: depends: Force `CMAKE_EXPORT_NO_PACKAGE_REGISTRY=TRUE` 97fb46d0a081 Merge bitcoin/bitcoin#32880: ci: Avoid cd into build dir 69b9ad02da89 Merge bitcoin/bitcoin#32954: cmake: Drop no longer necessary "cmakeMinimumRequired" object faa3171ff22f ci: Use optimized Debug build type in test-each-commit fa21c3401e15 ci: [doc] reword debug log message 12a6959892cb cmake: Drop no longer necessary "cmakeMinimumRequired" object 44f532782445 [fuzz] add SeedRandomStateForTest(SeedRand::ZEROS) to txorphan 15a4ec906976 [prep/rpc] remove entry and expiry time from getorphantxs 08e58fa91198 [prep/refactor] move txorphanage to node namespace and directory bb91d23fa956 [txorphanage] change type of usage to int64_t c18bf0bd9be6 refactor: cleanup index logging f5647c6c5ae8 depends: fix libevent _WIN32_WINNT usage 44f3bae300dc depends: Force `CMAKE_EXPORT_NO_PACKAGE_REGISTRY=TRUE` fad191ff48b1 ci: Avoid cd into build dir 4bb4c865999b test: document HOST for get_previous_releases.py 609203d5075c test: stop signing previous releases >= v28.2 c6dc2c29f828 test: replace v28.0 with notarized v28.2 5bd73d96a3a7 test: fix macOS detection c40dbbbf7707 test: Move `script_assets_tests` into its own suite 6135e0553e6e wallet, rpc: Move (Un)LockCoin WalletBatch creation out of RPC 5d82d92aff7c rpc: reserve space for `UniValue` variables in `blockToJSON` 6a506d5c37d1 UniValue: add reserve member function bd461195f4b3 bench: support benching all verbosity of `BlockToJson` git-subtree-dir: libbitcoinkernel-sys/bitcoin git-subtree-split: 506c4276cf7a2b775265646e2b593262bd18c0ec
…1f4c885b0 641f4c885b0 Add BlockReader fucntionality to kernel library 2c792833836 Add directory lcoking and read-only mode to BlockTreeStore 357cdb12cdd Flush disk writes when not in initial block download 11ffa7948c5 Remove block_tree_db_in_memory parameter after flat-file migration 7b3c7268728 blockstorage: Remove BlockTreeDB dead code 4d66896d1a2 kernel: Add assumed header store to chainparams 08d1848c81b kernel: Remove block tree db params c2e72c134d2 blockstorage: Replace BlockTreeDB with BlockTreeStore 1559ec22ac2 fuzz: Use BlockTreeStore in block index fuzz test 32bb39bad1d kernel: Add blocktreestorage module 6a9fdf7ae58 kernel: Fix bitcoin-chainstate for windows f6524514e33 kernel: Add Purpose section to header documentation 4ae2cfb4e27 kernel: Allowing reducing exports a1c072eb393 kernel: Add pure kernel bitcoin-chainstate 136fc5b3f0d kernel: Add functions to get the block hash from a block 3791a272053 kernel: Add block index utility functions to C header 1236c88392a kernel: Add function to read block undo data from disk to C header bf340b140ff kernel: Add functions to read block from disk to C header 173e621fa10 kernel: Add function for copying block data to C header 8f717b62a56 kernel: Add functions for the block validation state to C header 4353ddcd6d2 kernel: Add validation interface to C header 037bc7c5109 kernel: Add interrupt function to C header 4cc133ba101 kernel: Add import blocks function to C header 88ea62fc269 kernel: Add chainstate load options for in-memory dbs in C header 8c5fcdc65d1 kernel: Add options for reindexing in C header d2181ddcb78 kernel: Add block validation to C header 0f50066b6fc kernel: Add chainstate loading when instantiating a ChainstateManager e1486618c04 kernel: Add chainstate manager option for setting worker threads 0bf8f0e583a kernel: Add chainstate manager object to C header 89b4b0100ed kernel: Add notifications context option to C header c229caf460e kernel: Add chain params context option to C header 052bedb4075 kernel: Add kernel library context object a25e2f76092 kernel: Add logging to kernel library C header 0a9b1793134 kernel: Introduce initial kernel C header API 00604296e17 Merge bitcoin/bitcoin#32866: doc: add note for watch-only wallet migration 91058877ff7 Merge bitcoin/bitcoin#32273: wallet: Fix relative path backup during migration. 6b99670e3c0 Merge bitcoin/bitcoin#33075: doc: Add legacy wallet removal release notes 2cef200340f Merge bitcoin/bitcoin#28944: wallet, rpc: add anti-fee-sniping to `send` and `sendall` 932e993b37c Merge bitcoin/bitcoin#33073: guix: warn SOURCE_DATE_EPOCH set in guix-codesign 0bed946e5d1 Merge bitcoin/bitcoin#33079: ci: limit max stack size to 512 KiB 28ec91c30e2 Merge bitcoin/bitcoin#33088: doc: move `cmake -B build -LH` up in Unix build docs 2f410ad78c7 Merge bitcoin/bitcoin#32263: cluster mempool: add TxGraph work controls 6757052fc43 doc: move `cmake -B build -LH` up in Unix build docs 953c90d7649 Merge bitcoin/bitcoin#33086: contrib: [tracing] fix pointer argument handling in mempool_monitor.py 5888b4a2a55 doc: add note for watch-only wallet migration 3b23f95e346 ci: limit max stack size to 512 KiB 2931a874776 ci: limit stack size to 512kb in native macOS jobs 3724e9b40a6 Merge bitcoin/bitcoin#32973: validation: docs and cleanups for MemPoolAccept coins views 0ce041ea88d tracing: fix pointer argument handling in mempool_monitor.py 321984705db Merge bitcoin/bitcoin#32279: [IBD] prevector: store `P2WSH`/`P2TR`/`P2PK` scripts inline fa45ccc15df doc: Add legacy wallet removal release notes 2a97ff466d3 Merge bitcoin/bitcoin#29954: RPC: Return `permitbaremultisig` and `maxdatacarriersize` in `getmempoolinfo` fd068257e07 Merge bitcoin/bitcoin#33065: rpc, wallet: replace remaining hardcoded output types with `FormatAllOutputTypes` 9cafdf8941a Merge bitcoin/bitcoin#33064: test: fix RPC coverage check c8309198f81 Merge bitcoin/bitcoin#33070: doc/zmq: fix unix socket path example 1bed0f734b3 guix: warn SOURCE_DATE_EPOCH set in guix-codesign 1c10b7351e1 RPC: Return permitbaremultisig and maxdatacarriersize in getmempoolinfo e83699a626b doc/zmq: fix unix socket path example 8aed477c332 test: fix RPC coverage check 2630b64f810 test: add abortrescan RPC test 75a5c8258ec Merge bitcoin/bitcoin#33063: util: Revert "common: Close non-std fds before exec in RunCommandJSON" d5104cfbaeb prevector: store `P2WSH`/`P2TR`/`P2PK` scripts inline 52121506b2a test: assert `CScript` allocation characteristics 65ac7f6d4d1 refactor: modernize `CScriptBase` definition 756da2a994c refactor: extract `STATIC_SIZE` constant to prevector 251d0208468 init, wallet: replace hardcoded output types with `FormatAllOutputTypes` 3b188b8b3da Merge bitcoin/bitcoin#31576: test: Move `script_assets_tests` into its own suite 2e97541396b Merge bitcoin/bitcoin#32944: wallet: Remove `upgradewallet` RPC b08041cac86 Merge bitcoin/bitcoin#32845: rpc, test: Fix JSON parsing errors in unloadwallet and getdescriptoractivity RPCs e3ba0757a94 rpc, wallet: replace remaining hardcoded output types with `FormatAllOutputTypes` fc162299f0c Merge bitcoin/bitcoin#32994: p2p: rename GetAddresses -> GetAddressesUnsafe 633d8ea17b9 Merge bitcoin/bitcoin#32970: ci: Enable more shellcheck faa1c3e80d9 Revert "Merge bitcoin/bitcoin#32343: common: Close non-std fds before exec in RunCommandJSON" 6cdc5a90cff Merge bitcoin/bitcoin#32967: log: [refactor] Use info level for init logs 443c32a3e68 Merge bitcoin/bitcoin#32822: fuzz: Make process_message(s) more deterministic face8123fdc log: [refactor] Use info level for init logs fa183761cb0 log: Remove function name from init logs 5ad79b20350 Merge bitcoin/bitcoin#32593: wallet, rpc: Move (Un)LockCoin WalletBatch creation out of RPC e17fb86382e Merge bitcoin/bitcoin#32888: ci: Use optimized Debug build type in test-each-commit fd3d80c209e Merge bitcoin/bitcoin#33047: test: check proper OP_2ROT behavior 1119ac51f0c Merge bitcoin/bitcoin#33040: doc: update headers and remove manual TOCs e2f2df0ead8 Merge bitcoin/bitcoin#32984: wallet: Set migrated wallet name only on success 16f7b43b680 Merge bitcoin/bitcoin#33049: doc: Fix typos in asmap README b59dc21847d doc: Fix typos in asmap README ca38cf701dc doc: fix a few obvious typos in the affected files ddab466e0d9 doc: remove manual TOCs 26a3730711c doc: unify `developer-notes` and `productivity` header styles eb137184482 Merge bitcoin/bitcoin#31179: RPC: Add reserve member function to `UniValue` and use it in `blockToJSON` function b94c6356a29 test: check proper OP_2ROT behavior 73e754bd01b Merge bitcoin/bitcoin#33001: test: Do not pass tests on unhandled exceptions cfb859e82ed Merge bitcoin/bitcoin#33037: doc: Add release notes for 32521 (MAX_TX_LEGACY_SIGOPS) afd3b34dc5e Merge bitcoin/bitcoin#33004: Enable `-natpmp` by default 49bbf9ff28f Merge bitcoin/bitcoin#33036: Update secp256k1 subtree to latest master c5c1960f935 doc: Add release notes for changes in RPCs 90fd5acbe57 rpc, test: Fix error message in getdescriptoractivity 39fef1d2036 test: Add missing logging info for each test 53ac704efd6 rpc, test: Fix error message in unloadwallet 1fc3a8e8e7a rpc, test: Add EnsureUniqueWalletName tests 900bb53905a Merge bitcoin/bitcoin#32990: wallet: remove outdated `pszSkip` arg of database `Rewrite` func c8ec423719a Merge bitcoin/bitcoin#33020: test: delete commented-out tests and add a test case in wallet_signer 09f004bd9fe Merge bitcoin/bitcoin#32945: tests: speed up coins_tests by parallelizing 5d98fc75596 Merge bitcoin/bitcoin#33030: test: check tx is final when there is no locktime b635bc08962 rpc, util: Add EnsureUniqueWalletName da318fe53fa test: delete commented out tests 6d80e999a06 test: external signer returns invalid JSON response 065e42976a7 test: IsFinalTx returns true when there is no locktime 1cb23997033 doc: clarify the GetAddresses/GetAddressesUnsafe documentation e5a7dfd79f6 p2p: rename GetAddresses -> GetAddressesUnsafe faa2f3b1afe doc: Add release notes for 32521 (MAX_TX_LEGACY_SIGOPS) 336b8be37b2 Update secp256k1 subtree to latest master 5600e6fc4bb Squashed 'src/secp256k1/' changes from 4187a46649..b9313c6e1a 06ab3a394ad tests: speed up coins_tests by parallelizing 7129c9ea8e9 Merge bitcoin/bitcoin#32827: mempool: Avoid needless vtx iteration during IBD 11c6a864c9e Merge bitcoin/bitcoin#33007: test: fix `ReadTopologicalSet` unsigned integer overflow 9bc33432e21 Merge bitcoin/bitcoin#32999: ci: Use APT_LLVM_V in msan task 5878f35446a Merge bitcoin/bitcoin#31144: [IBD] multi-byte block obfuscation 249889bee6b orphanage: avoid vtx iteration when no orphans 41ad2be4340 mempool: Avoid expensive loop in `removeForBlock` during IBD e9edd43a959 Merge bitcoin/bitcoin#32521: policy: make pathological transactions packed with legacy sigops non-standard 80067ac111c Merge bitcoin/bitcoin#31829: p2p: improve TxOrphanage denial of service bounds 31c4e77a256 test: fix ReadTopologicalSet unsigned integer overflow 672c85cb1ea Merge bitcoin/bitcoin#32868: test: refactor: overhaul block hash determination for `CBlock{,Header}` objects fa1a14a13a1 fuzz: Reset chainman state in process_message(s) targets fa9a3de09b4 fuzz: DisableNextWrite aeeeeec9f74 fuzz: Reset dirty connman state in process_message(s) targets fa11eea4059 fuzz: Avoid non-determinism in process_message(s) target (PeerMan) faa3e684118 test: Log KeyboardInterrupt as exception b2d07f872c5 Add release notes for -natpmp enabled by default 3fc660d2671 mapport: turn -natpmp to on by default fa30b34026f test: Do not pass tests on unhandled exceptions 96da68a38fa qa: functional test a transaction running into the legacy sigop limit 367147954d1 qa: unit test standardness of inputs packed with legacy sigops 5863315e33b policy: make pathological transactions packed with legacy sigops non-standard. 5fa34951ead test: avoid unneeded block header hash -> integer conversions 2118301d77c test: rename CBlockHeader `.hash` -> `.hash_hex` for consistency 23be0ec2f07 test: rename CBlockHeader `.rehash()`/`.sha256` -> `.hash_int` for consistency 8b09cc350af test: remove bare CBlockHeader `.rehash()`/`.calc_sha256()` calls 0716382c20a test: remove header hash caching in CBlockHeader class 0f044e82bd5 test: avoid direct block header modification in feature_block.py f3c791d2e39 test: refactor: dedup `CBlockHeader` serialization fad040a5787 ci: Use APT_LLVM_V in msan task 76fe0e59ec4 test: Migration of a wallet ending in `../` f0bb3d50fef test: Migration of a wallet ending in `/` 41faef5f80d test: Migration fail recovery w/ `../` in path 63c6d364376 test: Migration of a wallet with `../` in path. 70f1c99c901 wallet: Fix migration of wallets with pathnames. f6ee59b6e29 wallet: migration: Make backup in walletdir e22c3599c67 test: wallet: Check direct file backup name. 060695c22ae test: Failed load after migrate should restore backup 248b6a27c35 optimization: peel align-head and unroll body to 64 bytes e7114fc6dc3 optimization: migrate fixed-size obfuscation from `std::vector<std::byte>` to `uint64_t` 478d40afc6f refactor: encapsulate `vector`/`array` keys into `Obfuscation` 377aab8e5a8 refactor: move `util::Xor` to `Obfuscation().Xor` fa5d296e3be refactor: prepare mempool_persist for obfuscation key change 6bbf2d9311b refactor: prepare `DBWrapper` for obfuscation key change 0b8bec8aa62 scripted-diff: unify xor-vs-obfuscation nomenclature 972697976c0 bench: make ObfuscationBench more representative 618a30e326e test: compare util::Xor with randomized inputs against simple impl a5141cd39ec test: make sure dbwrapper obfuscation key is never obfuscated 54ab0bd64c3 refactor: commit to 8 byte obfuscation keys 7aa557a37b7 random: add fixed-size `std::array` generation b6d4688f77d [doc] reword comments in test_mid_package_replacement f3a613aa5bb [cleanup] delete brittle test_mid_package_eviction 9f713b83dcf Merge bitcoin/bitcoin#32837: depends: fix libevent `_WIN32_WINNT` usage 2dfeb6668cb wallet: remove outdated `pszSkip` arg of database `Rewrite` func 8a4cfddf23a wallet: Set migrated wallet name only on success d89c6fa4a71 wallet: Remove `upgradewallet` RPC 184159e4f30 Merge bitcoin/bitcoin#32922: test: use notarized v28.2 binaries and fix macOS detection 5d17e64a029 Merge bitcoin/bitcoin#32677: test: headers sync timeout 0087ba409b3 Merge bitcoin/bitcoin#32968: test: fix intermittent failure in rpc_invalidateblock.py 50024620b90 [bench] worst case LimitOrphans and EraseForBlock 45c7a4b56d2 [functional test] orphan resolution works in the presence of DoSy peers 835f5c77cde [prep/test] restart instead of bumpmocktime between p2p_orphan_handling subtests b113877545a [fuzz] Add simulation fuzz test for TxOrphanage 03aaaedc6da [prep] Return the made-reconsiderable announcements in AddChildrenToWorkSet ea29c4371e8 [p2p] bump DEFAULT_MAX_ORPHANAGE_LATENCY_SCORE to 3,000 24afee8d8f9 [fuzz] TxOrphanage protects peers that don't go over limit a2878cfb4ae [unit test] strengthen GetChildrenFromSamePeer tests: results are in recency order 7ce3b7ee579 [unit test] basic TxOrphanage eviction and protection 4d23d1d7e7f [cleanup] remove unused rng param from LimitOrphans 067365d2a8a [p2p] overhaul TxOrphanage with smarter limits 1a41e7962db [refactor] create aliases for TxOrphanage Count and Usage b50bd72c42b [prep] change return type of EraseTx to bool 3da6d7f8f6f [prep/refactor] make TxOrphanage a virtual class implemented by TxOrphanageImpl 77ebe8f2801 [prep/test] have TxOrphanage remember its own limits in LimitOrphans d0af4239b7f [prep/refactor] move DEFAULT_MAX_ORPHAN_TRANSACTIONS to txorphanage.h 51365225b89 [prep/config] remove -maxorphantx 8dd24c29aec [prep/test] modify test to not access TxOrphanage internals c3cd7fcb2cd [doc] remove references to now-nonexistent Finalize() function d8140f5f050 don't make a copy of m_non_base_coins 98ba2b1db2e [doc] MemPoolAccept coins views ba02c30b8a6 [doc] always CleanupTemporaryCoins after a mempool trim b53fab1467f Merge bitcoin/bitcoin#32948: refactor: cleanup index logging 62ed1f92eff txgraph: check that DoWork finds optimal if given high budget (tests) f3c2fc867fc txgraph: add work limit to DoWork(), try optimal (feature) fa1fd074685 ci: Enable more shellcheck e96b00d99eb txgraph: make number of acceptable iterations configurable (feature) cfe9958852b txgraph: track amount of work done in linearization (preparation) 6ba316eaa03 txgraph: 1-or-2-tx split-off clusters are optimal (optimization) fad0eb091e5 txgraph: reset quality when merging clusters (bugfix) 61e800e75cf test: headers sync timeout 28416f367a5 test: fix intermittent failure in rpc_invalidateblock.py e72cb20c3fb Merge bitcoin/bitcoin#32943: depends: Force `CMAKE_EXPORT_NO_PACKAGE_REGISTRY=TRUE` 97fb46d0a08 Merge bitcoin/bitcoin#32880: ci: Avoid cd into build dir 69b9ad02da8 Merge bitcoin/bitcoin#32954: cmake: Drop no longer necessary "cmakeMinimumRequired" object faa3171ff22 ci: Use optimized Debug build type in test-each-commit fa21c3401e1 ci: [doc] reword debug log message 12a6959892c cmake: Drop no longer necessary "cmakeMinimumRequired" object 44f53278244 [fuzz] add SeedRandomStateForTest(SeedRand::ZEROS) to txorphan 15a4ec90697 [prep/rpc] remove entry and expiry time from getorphantxs 08e58fa9119 [prep/refactor] move txorphanage to node namespace and directory bb91d23fa95 [txorphanage] change type of usage to int64_t c18bf0bd9be refactor: cleanup index logging f5647c6c5ae depends: fix libevent _WIN32_WINNT usage 44f3bae300d depends: Force `CMAKE_EXPORT_NO_PACKAGE_REGISTRY=TRUE` fad191ff48b ci: Avoid cd into build dir 4bb4c865999 test: document HOST for get_previous_releases.py 609203d5075 test: stop signing previous releases >= v28.2 c6dc2c29f82 test: replace v28.0 with notarized v28.2 5bd73d96a3a test: fix macOS detection aac0b6dd79b test: test sendall and send do anti-fee-sniping 20802c7b65f wallet, rpc: add anti-fee-sniping to `send` and `sendall` c40dbbbf770 test: Move `script_assets_tests` into its own suite 6135e0553e6 wallet, rpc: Move (Un)LockCoin WalletBatch creation out of RPC 5d82d92aff7 rpc: reserve space for `UniValue` variables in `blockToJSON` 6a506d5c37d UniValue: add reserve member function bd461195f4b bench: support benching all verbosity of `BlockToJson` REVERT: 3d6b3fd8f65 kernel: Fix bitcoin-chainstate for windows REVERT: ec099435dda kernel: Add Purpose section to header documentation REVERT: 832689c68b5 kernel: Allowing reducing exports REVERT: 969a8110a56 kernel: Add pure kernel bitcoin-chainstate REVERT: 88e2f3001b6 kernel: Add functions to get the block hash from a block REVERT: de4a96b341f kernel: Add block index utility functions to C header REVERT: c3582e16a77 kernel: Add function to read block undo data from disk to C header REVERT: 183b53c981e kernel: Add functions to read block from disk to C header REVERT: d3557068694 kernel: Add function for copying block data to C header REVERT: 3ac26a9911a kernel: Add functions for the block validation state to C header REVERT: eb9a90ff5cc kernel: Add validation interface to C header REVERT: 451558a160a kernel: Add interrupt function to C header REVERT: 55e36cf39fd kernel: Add import blocks function to C header REVERT: 3671c91fd59 kernel: Add chainstate load options for in-memory dbs in C header REVERT: 128415b1b75 kernel: Add options for reindexing in C header REVERT: add8205e8e9 kernel: Add block validation to C header REVERT: 1404b97942c kernel: Add chainstate loading when instantiating a ChainstateManager REVERT: 76d73226d99 kernel: Add chainstate manager option for setting worker threads REVERT: 6de50dca962 kernel: Add chainstate manager object to C header REVERT: 477df9b640e kernel: Add notifications context option to C header REVERT: c3868780f52 kernel: Add chain params context option to C header REVERT: 649bd3fd565 kernel: Add kernel library context object REVERT: b7e24e1547a kernel: Add logging to kernel library C header REVERT: c1536041e43 kernel: Introduce initial kernel C header API git-subtree-dir: libbitcoinkernel-sys/bitcoin git-subtree-split: 641f4c885b0a09b2d496f17fa2b210e488849557
…e8003578e72 ce8003578e72 kernel: Fix bitcoin-chainstate for windows 9ebe4a83a937 kernel: Add Purpose section to header documentation 10d2432218eb kernel: Allowing reducing exports e04b1e1f5284 kernel: Add pure kernel bitcoin-chainstate e0f98a533cd6 kernel: Add functions to get the block hash from a block af1c5e349550 kernel: Add block index utility functions to C header fd60e50badc5 kernel: Add function to read block undo data from disk to C header f507d230bba3 kernel: Add functions to read block from disk to C header 1480dd9f41fc kernel: Add function for copying block data to C header 26f484b94e66 kernel: Add functions for the block validation state to C header 8c286be14aff kernel: Add validation interface to C header 6d733019bba6 kernel: Add interrupt function to C header c917663b0b51 kernel: Add import blocks function to C header 9c2496406f7e kernel: Add chainstate load options for in-memory dbs in C header 393329899d90 kernel: Add options for reindexing in C header 107156b9362e kernel: Add block validation to C header b83c0d3ba499 kernel: Add chainstate loading when instantiating a ChainstateManager c3279239c75f kernel: Add chainstate manager option for setting worker threads f7a2c3c600e5 kernel: Add chainstate manager object to C header 5e8b57622c33 kernel: Add notifications context option to C header 56298e76271a kernel: Add chain params context option to C header 9bade37d97d7 kernel: Add kernel library context object 9859726fbd6b kernel: Add logging to kernel library C header 6dd7a4fcab08 kernel: Introduce initial kernel C header API cf15d45192e0 Merge bitcoin/bitcoin#33044: contrib: drop use of `PermissionsStartOnly` & `Group=` d7ed47fb80af Merge bitcoin/bitcoin#33077: kernel: create monolithic kernel static library 38e6ea9f3a6b Merge bitcoin/bitcoin#33101: cmake: Proactively avoid use of `SECP256K1_DISABLE_SHARED` c92115dcb219 Merge bitcoin/bitcoin#33119: rpc: Fix 'getdescriptoractivity' RPCHelpMan, add test to verify fix 1dab8d0635b3 Merge bitcoin/bitcoin#33113: refactor: Use immediate lambda to work around GCC bug 117966 45bdbb13174f Merge bitcoin/bitcoin#33122: test: remove duplicated code in test/functional/wallet_migration.py a45cc17d3443 Merge bitcoin/bitcoin#33115: cmake: Switch to generated `ts_files.cmake` file b90da9c2e959 Merge bitcoin/bitcoin#33138: ci: Pass CI_FAILFAST_TEST_LEAVE_DANGLING into container fa1d2f63803e ci: Pass CI_FAILFAST_TEST_LEAVE_DANGLING into container fd813bf863b1 Merge bitcoin/bitcoin#33002: ci: Only pass documented env vars 9617a42fdb6f Merge bitcoin/bitcoin#32581: allocators: Apply manual ASan poisoning to `PoolResource` 33e7fc51f43d Merge bitcoin/bitcoin#33133: rpc: fix getpeerinfo ping duration unit docs 1252eeb997df rpc: fix getpeerinfo ping duration unit docs 6a7c0d3f8749 test: refactor to remove duplicated test code d1b583181dcc Merge bitcoin/bitcoin#32654: init: make `-blockmaxweight` startup option debug only 50a92cd56fab Merge bitcoin/bitcoin#33060: test: Slay BnB Mutants 643bacd124f5 Merge bitcoin/bitcoin#33058: test: add assertions to SRD max weight test eeb0b31e3a4b Merge bitcoin/bitcoin#32941: p2p: TxOrphanage revamp cleanups c0642e558a02 [fuzz] fix latency score check in txorphan_protected 0cb1ed2b7c63 Merge bitcoin/bitcoin#33132: fuzz: txgraph: fix `real_is_optimal` flag propagation in `CommitStaging` a26fbee38f95 qt: Translations update 444dcb2f9944 fuzz: txgraph: fix `real_is_optimal` flag propagation in `CommitStaging` 83a2216f5278 Merge bitcoin/bitcoin#33118: test: fix anti-fee-sniping off-by-one error 3543bfdfec34 test: Fix 'getdescriptoractivity' RPCHelpMan, add test to verify 'spend_vin' is the correct field e07e2532b4d7 test: fix anti-fee-sniping off-by-one error c7a24c305255 ci: Re-enable DEBUG=1 in centos task 3d4d4f0d92d4 scripted-diff: rename "ann" variables to "latency_score" 3b9244892382 [doc] comment fixups for orphanage changes 1384dbaf6d0b [config] emit warning for -maxorphantx, but allow it to be set b10c55b298d4 fix up TxOrphanage lower_bound sanity checks cfd71c67043a scripted-diff: rename TxOrphanage outpoints index edb97bb3f151 [logging] add logs for inner loop of LimitOrphans 8a58d0e87d70 scripted-diff: rename OrphanTxBase to OrphanInfo cc50f2f0df6e [cleanup] replace TxOrphanage::Size() with CountUniqueOrphans ed24e0169690 [optimization] Maintain at most 1 reconsiderable announcement per wtxid af7402ccfa7f [refactor] make TxOrphanage keep itself trimmed d1fac25ff3c3 [doc] 31829 release note 75ed673193c5 Merge bitcoin/bitcoin#33048: test: reduce runtime of p2p_opportunistic_1p1c.py ca04eebd7282 cmake: Switch to generated `ts_files.cmake` file 95341de6ca65 cmake, refactor: Move handling of Qt TS files into `locale` directory 24246c3deb8d Merge bitcoin/bitcoin#31385: package validation: relax the package-not-child-with-unconfirmed-parents rule b8025b30cc42 Merge bitcoin/bitcoin#32559: doc: add alpine build instructions 18d1071dd124 init: replace deprecated PermissionsStartOnly systemd directive 1caaf650436e init: remove Group= as it will default to the user's default group a7bafb3e0504 refactor: Use immediate lambda to work around GCC bug 117966 b093a19ae2ef cmake: Proactively avoid use of `SECP256K1_DISABLE_SHARED` eb59a192d9ca cmake, refactor: Encapsulate adding secp256k1 subtree in function 4f27e8ca4d2a Merge bitcoin/bitcoin#33083: qa: test that we do not disconnect a peer for submitting an invalid compact block bfc9d951292a Merge bitcoin/bitcoin#33104: test: Perform backup filename checks in migrate_and_get_rpc in wallet_migration.py 8712e074bb54 Merge bitcoin/bitcoin#33093: refactor: remove unused `ser_writedata16be` and `ser_readdata16be` 5ee4e7966957 Merge bitcoin/bitcoin#31244: descriptors: MuSig2 4b80147feb97 test: Perform backup filename checks in migrate_and_get_rpc aef2dbb40276 Merge bitcoin/bitcoin#33099: ci: allow for any libc++ intrumentation & use it for TSAN 8283af13fe86 Merge bitcoin/bitcoin#32584: depends: hard-code necessary c(xx)flags rather than setting them per-host 547c64814d07 Merge bitcoin/bitcoin#32987: init: [gui] Avoid UB/crash in InitAndLoadChainstate e6bfd95d5012 Merge bitcoin-core/gui#881: Move `FreespaceChecker` class into its own module 8a94cf8efebc Merge bitcoin/bitcoin#30635: rpc: add optional blockhash to waitfornewblock, unhide wait methods in help dc78ed214061 Merge bitcoin/bitcoin#33005: refactor: GenTxid type safety followups 3cb65ffa83d4 Merge bitcoin/bitcoin#33100: ci: remove `ninja-build` from MSAN jobs 7aa5b67132df ci: remove DEBUG_LOCKORDER from TSAN job b09af2ce5081 ci: instrument libc++ in TSAN job 6653cafd0b70 ci: allow libc++ instrumentation other than msan 3333d3f75f89 ci: Only pass documented env vars 3fe3fdb02b5c Merge bitcoin/bitcoin#33102: fuzz: cover BanMan::IsDiscouraged c2ed576d2caf fuzz: cover BanMan::IsDiscouraged 3a03f075606b qt: Avoid header circular dependency cab6736b701f ci: remove ninja-build from MSAN jobs 0431a690c3a4 cleanup: remove unused `ser_writedata16be` and `ser_readdata16be` 00604296e178 Merge bitcoin/bitcoin#32866: doc: add note for watch-only wallet migration 91058877ff78 Merge bitcoin/bitcoin#32273: wallet: Fix relative path backup during migration. 6b99670e3c08 Merge bitcoin/bitcoin#33075: doc: Add legacy wallet removal release notes 2cef200340f4 Merge bitcoin/bitcoin#28944: wallet, rpc: add anti-fee-sniping to `send` and `sendall` 932e993b37c4 Merge bitcoin/bitcoin#33073: guix: warn SOURCE_DATE_EPOCH set in guix-codesign 0bed946e5d16 Merge bitcoin/bitcoin#33079: ci: limit max stack size to 512 KiB 28ec91c30e23 Merge bitcoin/bitcoin#33088: doc: move `cmake -B build -LH` up in Unix build docs c15743811685 qa: test that we do disconnect upon a second invalid compact block being announced 2f410ad78c76 Merge bitcoin/bitcoin#32263: cluster mempool: add TxGraph work controls 6757052fc439 doc: move `cmake -B build -LH` up in Unix build docs 9954d6c83338 depends: hard-code necessary c(xx)flags rather than setting them per-host 953c90d7649c Merge bitcoin/bitcoin#33086: contrib: [tracing] fix pointer argument handling in mempool_monitor.py 5888b4a2a556 doc: add note for watch-only wallet migration 3b23f95e3463 ci: limit max stack size to 512 KiB 2931a8747760 ci: limit stack size to 512kb in native macOS jobs 3724e9b40a69 Merge bitcoin/bitcoin#32973: validation: docs and cleanups for MemPoolAccept coins views 0ce041ea88db tracing: fix pointer argument handling in mempool_monitor.py 25884bd89684 qt, refactor: Move `FreespaceChecker` class into its own module fb2dcbb160bd qa: test cached failure for compact block f12d8b104e0e qa: test a compact block with an invalid transaction d6c37b28a782 qa: remove unnecessary tx removal from compact block 321984705dbc Merge bitcoin/bitcoin#32279: [IBD] prevector: store `P2WSH`/`P2TR`/`P2PK` scripts inline 94b39ce73831 refactor: Change `m_tx_inventory_to_send` from `std::set<GenTxid>` to `std::set<Wtxid>` fa45ccc15dfc doc: Add legacy wallet removal release notes 2a97ff466d32 Merge bitcoin/bitcoin#29954: RPC: Return `permitbaremultisig` and `maxdatacarriersize` in `getmempoolinfo` fd068257e078 Merge bitcoin/bitcoin#33065: rpc, wallet: replace remaining hardcoded output types with `FormatAllOutputTypes` 9cafdf8941a9 Merge bitcoin/bitcoin#33064: test: fix RPC coverage check fdbade6f8ded kernel: create monolithic kernel static library c8309198f812 Merge bitcoin/bitcoin#33070: doc/zmq: fix unix socket path example 1bed0f734b3f guix: warn SOURCE_DATE_EPOCH set in guix-codesign cc33e4578946 test: improve assertion for SRD max weight test 1c10b7351e19 RPC: Return permitbaremultisig and maxdatacarriersize in getmempoolinfo e83699a626b8 doc/zmq: fix unix socket path example 8aed477c3322 test: fix RPC coverage check 2630b64f8100 test: add abortrescan RPC test 75a5c8258ec5 Merge bitcoin/bitcoin#33063: util: Revert "common: Close non-std fds before exec in RunCommandJSON" d5104cfbaeb8 prevector: store `P2WSH`/`P2TR`/`P2PK` scripts inline 52121506b2a3 test: assert `CScript` allocation characteristics 65ac7f6d4d1e refactor: modernize `CScriptBase` definition 756da2a994c5 refactor: extract `STATIC_SIZE` constant to prevector 251d02084688 init, wallet: replace hardcoded output types with `FormatAllOutputTypes` 3b188b8b3dae Merge bitcoin/bitcoin#31576: test: Move `script_assets_tests` into its own suite 2e97541396b9 Merge bitcoin/bitcoin#32944: wallet: Remove `upgradewallet` RPC b08041cac863 Merge bitcoin/bitcoin#32845: rpc, test: Fix JSON parsing errors in unloadwallet and getdescriptoractivity RPCs a3cf623364e8 test: Test max_selection_weight edge cases 57fe8acc8a84 test: Check max_weight_exceeded error e3ba0757a941 rpc, wallet: replace remaining hardcoded output types with `FormatAllOutputTypes` fc162299f0cc Merge bitcoin/bitcoin#32994: p2p: rename GetAddresses -> GetAddressesUnsafe 633d8ea17b9f Merge bitcoin/bitcoin#32970: ci: Enable more shellcheck faa1c3e80d95 Revert "Merge bitcoin/bitcoin#32343: common: Close non-std fds before exec in RunCommandJSON" 6cdc5a90cffe Merge bitcoin/bitcoin#32967: log: [refactor] Use info level for init logs 443c32a3e686 Merge bitcoin/bitcoin#32822: fuzz: Make process_message(s) more deterministic face8123fdc1 log: [refactor] Use info level for init logs fa183761cb09 log: Remove function name from init logs 5ad79b203505 Merge bitcoin/bitcoin#32593: wallet, rpc: Move (Un)LockCoin WalletBatch creation out of RPC ea17a9423fb4 [doc] release note for relaxing requirement of all unconfirmed parents present 12f48d5ed302 test: add chained 1p1c propagation test 525be56741cf [unit test] package submission 2p1c with 1 parent missing f24771af0581 relax child-with-unconfirmed-parents rule e17fb86382ea Merge bitcoin/bitcoin#32888: ci: Use optimized Debug build type in test-each-commit fd3d80c209e5 Merge bitcoin/bitcoin#33047: test: check proper OP_2ROT behavior 1119ac51f0c8 Merge bitcoin/bitcoin#33040: doc: update headers and remove manual TOCs e2f2df0ead81 Merge bitcoin/bitcoin#32984: wallet: Set migrated wallet name only on success 16f7b43b6808 Merge bitcoin/bitcoin#33049: doc: Fix typos in asmap README b59dc21847d3 doc: Fix typos in asmap README ca38cf701dc6 doc: fix a few obvious typos in the affected files ddab466e0d95 doc: remove manual TOCs 26a3730711c7 doc: unify `developer-notes` and `productivity` header styles eb137184482c Merge bitcoin/bitcoin#31179: RPC: Add reserve member function to `UniValue` and use it in `blockToJSON` function eb65f57f319d [test] setmocktime instead of waiting in 1p1c tests 70772dd4693b [test] cut the number of transactions involved in 1p1c DoS tests b94c6356a29b test: check proper OP_2ROT behavior 73e754bd01b0 Merge bitcoin/bitcoin#33001: test: Do not pass tests on unhandled exceptions a9819b0e9d3c refactor: Change `FindTxForGetData` to take GenTxid instead of CInv d588575ed1e6 refactor: miscellaneous GenTxid followups cfb859e82edf Merge bitcoin/bitcoin#33037: doc: Add release notes for 32521 (MAX_TX_LEGACY_SIGOPS) afd3b34dc5e2 Merge bitcoin/bitcoin#33004: Enable `-natpmp` by default 49bbf9ff28f8 Merge bitcoin/bitcoin#33036: Update secp256k1 subtree to latest master c5c1960f9350 doc: Add release notes for changes in RPCs 90fd5acbe57e rpc, test: Fix error message in getdescriptoractivity 39fef1d20367 test: Add missing logging info for each test 53ac704efd66 rpc, test: Fix error message in unloadwallet 1fc3a8e8e7ae rpc, test: Add EnsureUniqueWalletName tests 900bb53905aa Merge bitcoin/bitcoin#32990: wallet: remove outdated `pszSkip` arg of database `Rewrite` func c8ec423719aa Merge bitcoin/bitcoin#33020: test: delete commented-out tests and add a test case in wallet_signer 09f004bd9fec Merge bitcoin/bitcoin#32945: tests: speed up coins_tests by parallelizing 5d98fc755963 Merge bitcoin/bitcoin#33030: test: check tx is final when there is no locktime b635bc089629 rpc, util: Add EnsureUniqueWalletName da318fe53fa9 test: delete commented out tests 6d80e999a064 test: external signer returns invalid JSON response 065e42976a70 test: IsFinalTx returns true when there is no locktime 1cb23997033c doc: clarify the GetAddresses/GetAddressesUnsafe documentation e5a7dfd79f61 p2p: rename GetAddresses -> GetAddressesUnsafe faa2f3b1afe7 doc: Add release notes for 32521 (MAX_TX_LEGACY_SIGOPS) 336b8be37b22 Update secp256k1 subtree to latest master 5600e6fc4bb4 Squashed 'src/secp256k1/' changes from 4187a46649..b9313c6e1a 06ab3a394ade tests: speed up coins_tests by parallelizing 7129c9ea8e95 Merge bitcoin/bitcoin#32827: mempool: Avoid needless vtx iteration during IBD 11c6a864c9ee Merge bitcoin/bitcoin#33007: test: fix `ReadTopologicalSet` unsigned integer overflow 9bc33432e214 Merge bitcoin/bitcoin#32999: ci: Use APT_LLVM_V in msan task 5878f35446ae Merge bitcoin/bitcoin#31144: [IBD] multi-byte block obfuscation 249889bee6b8 orphanage: avoid vtx iteration when no orphans 41ad2be4340d mempool: Avoid expensive loop in `removeForBlock` during IBD e9edd43a9592 Merge bitcoin/bitcoin#32521: policy: make pathological transactions packed with legacy sigops non-standard 80067ac111c2 Merge bitcoin/bitcoin#31829: p2p: improve TxOrphanage denial of service bounds 31c4e77a256c test: fix ReadTopologicalSet unsigned integer overflow 672c85cb1ea0 Merge bitcoin/bitcoin#32868: test: refactor: overhaul block hash determination for `CBlock{,Header}` objects fa1a14a13a15 fuzz: Reset chainman state in process_message(s) targets fa9a3de09b4c fuzz: DisableNextWrite aeeeeec9f749 fuzz: Reset dirty connman state in process_message(s) targets fa11eea4059a fuzz: Avoid non-determinism in process_message(s) target (PeerMan) faa3e684118b test: Log KeyboardInterrupt as exception fac90e5261b8 test: Check that the GUI interactive reindex works b2d07f872c58 Add release notes for -natpmp enabled by default 3fc660d26719 mapport: turn -natpmp to on by default fa30b34026f7 test: Do not pass tests on unhandled exceptions 96da68a38fa2 qa: functional test a transaction running into the legacy sigop limit 367147954d16 qa: unit test standardness of inputs packed with legacy sigops 5863315e33ba policy: make pathological transactions packed with legacy sigops non-standard. 5fa34951ead2 test: avoid unneeded block header hash -> integer conversions 2118301d77c2 test: rename CBlockHeader `.hash` -> `.hash_hex` for consistency 23be0ec2f074 test: rename CBlockHeader `.rehash()`/`.sha256` -> `.hash_int` for consistency 8b09cc350afa test: remove bare CBlockHeader `.rehash()`/`.calc_sha256()` calls 0716382c20a6 test: remove header hash caching in CBlockHeader class 0f044e82bd5f test: avoid direct block header modification in feature_block.py f3c791d2e391 test: refactor: dedup `CBlockHeader` serialization fad040a5787a ci: Use APT_LLVM_V in msan task 76fe0e59ec4a test: Migration of a wallet ending in `../` f0bb3d50fef0 test: Migration of a wallet ending in `/` 41faef5f80d6 test: Migration fail recovery w/ `../` in path 63c6d3643769 test: Migration of a wallet with `../` in path. 70f1c99c901d wallet: Fix migration of wallets with pathnames. f6ee59b6e299 wallet: migration: Make backup in walletdir e22c3599c677 test: wallet: Check direct file backup name. 060695c22ae7 test: Failed load after migrate should restore backup 248b6a27c351 optimization: peel align-head and unroll body to 64 bytes e7114fc6dc34 optimization: migrate fixed-size obfuscation from `std::vector<std::byte>` to `uint64_t` 478d40afc6fa refactor: encapsulate `vector`/`array` keys into `Obfuscation` 377aab8e5a8d refactor: move `util::Xor` to `Obfuscation().Xor` fa5d296e3beb refactor: prepare mempool_persist for obfuscation key change 6bbf2d9311b4 refactor: prepare `DBWrapper` for obfuscation key change 0b8bec8aa626 scripted-diff: unify xor-vs-obfuscation nomenclature 972697976c02 bench: make ObfuscationBench more representative 618a30e326e9 test: compare util::Xor with randomized inputs against simple impl a5141cd39ecb test: make sure dbwrapper obfuscation key is never obfuscated 54ab0bd64c36 refactor: commit to 8 byte obfuscation keys 7aa557a37b73 random: add fixed-size `std::array` generation b6d4688f77df [doc] reword comments in test_mid_package_replacement f3a613aa5bb7 [cleanup] delete brittle test_mid_package_eviction 9f713b83dcf7 Merge bitcoin/bitcoin#32837: depends: fix libevent `_WIN32_WINNT` usage 2dfeb6668cb2 wallet: remove outdated `pszSkip` arg of database `Rewrite` func faaaddaaf8e5 init: [gui] Avoid UB/crash in InitAndLoadChainstate 8a4cfddf23a4 wallet: Set migrated wallet name only on success 4f502baf8f64 doc: add alpine depends build instructions d89c6fa4a718 wallet: Remove `upgradewallet` RPC 184159e4f30c Merge bitcoin/bitcoin#32922: test: use notarized v28.2 binaries and fix macOS detection 5d17e64a0290 Merge bitcoin/bitcoin#32677: test: headers sync timeout 0087ba409b36 Merge bitcoin/bitcoin#32968: test: fix intermittent failure in rpc_invalidateblock.py 50024620b909 [bench] worst case LimitOrphans and EraseForBlock 45c7a4b56d28 [functional test] orphan resolution works in the presence of DoSy peers 835f5c77cdee [prep/test] restart instead of bumpmocktime between p2p_orphan_handling subtests b113877545a1 [fuzz] Add simulation fuzz test for TxOrphanage 03aaaedc6daf [prep] Return the made-reconsiderable announcements in AddChildrenToWorkSet ea29c4371e86 [p2p] bump DEFAULT_MAX_ORPHANAGE_LATENCY_SCORE to 3,000 24afee8d8f94 [fuzz] TxOrphanage protects peers that don't go over limit a2878cfb4ae2 [unit test] strengthen GetChildrenFromSamePeer tests: results are in recency order 7ce3b7ee579c [unit test] basic TxOrphanage eviction and protection 4d23d1d7e7fa [cleanup] remove unused rng param from LimitOrphans 067365d2a8a4 [p2p] overhaul TxOrphanage with smarter limits 1a41e7962db3 [refactor] create aliases for TxOrphanage Count and Usage b50bd72c42bc [prep] change return type of EraseTx to bool 3da6d7f8f6fc [prep/refactor] make TxOrphanage a virtual class implemented by TxOrphanageImpl 77ebe8f28012 [prep/test] have TxOrphanage remember its own limits in LimitOrphans d0af4239b7f0 [prep/refactor] move DEFAULT_MAX_ORPHAN_TRANSACTIONS to txorphanage.h 51365225b898 [prep/config] remove -maxorphantx 8dd24c29aec8 [prep/test] modify test to not access TxOrphanage internals c3cd7fcb2cd9 [doc] remove references to now-nonexistent Finalize() function d8140f5f0500 don't make a copy of m_non_base_coins 98ba2b1db2eb [doc] MemPoolAccept coins views ba02c30b8a63 [doc] always CleanupTemporaryCoins after a mempool trim b53fab1467fd Merge bitcoin/bitcoin#32948: refactor: cleanup index logging 62ed1f92efff txgraph: check that DoWork finds optimal if given high budget (tests) f3c2fc867fc4 txgraph: add work limit to DoWork(), try optimal (feature) fa1fd074685c ci: Enable more shellcheck e96b00d99ebe txgraph: make number of acceptable iterations configurable (feature) cfe9958852be txgraph: track amount of work done in linearization (preparation) 6ba316eaa032 txgraph: 1-or-2-tx split-off clusters are optimal (optimization) fad0eb091e58 txgraph: reset quality when merging clusters (bugfix) 61e800e75cff test: headers sync timeout 28416f367a5d test: fix intermittent failure in rpc_invalidateblock.py e72cb20c3fb7 Merge bitcoin/bitcoin#32943: depends: Force `CMAKE_EXPORT_NO_PACKAGE_REGISTRY=TRUE` 97fb46d0a081 Merge bitcoin/bitcoin#32880: ci: Avoid cd into build dir 69b9ad02da89 Merge bitcoin/bitcoin#32954: cmake: Drop no longer necessary "cmakeMinimumRequired" object faa3171ff22f ci: Use optimized Debug build type in test-each-commit fa21c3401e15 ci: [doc] reword debug log message 12a6959892cb cmake: Drop no longer necessary "cmakeMinimumRequired" object 44f532782445 [fuzz] add SeedRandomStateForTest(SeedRand::ZEROS) to txorphan 15a4ec906976 [prep/rpc] remove entry and expiry time from getorphantxs 08e58fa91198 [prep/refactor] move txorphanage to node namespace and directory bb91d23fa956 [txorphanage] change type of usage to int64_t c18bf0bd9be6 refactor: cleanup index logging f5647c6c5ae8 depends: fix libevent _WIN32_WINNT usage 44f3bae300dc depends: Force `CMAKE_EXPORT_NO_PACKAGE_REGISTRY=TRUE` fad191ff48b1 ci: Avoid cd into build dir 4bb4c865999b test: document HOST for get_previous_releases.py 609203d5075c test: stop signing previous releases >= v28.2 c6dc2c29f828 test: replace v28.0 with notarized v28.2 5bd73d96a3a7 test: fix macOS detection aac0b6dd79b0 test: test sendall and send do anti-fee-sniping 20802c7b65f4 wallet, rpc: add anti-fee-sniping to `send` and `sendall` 5fe7915c865a doc: Add musig() example d576079ab470 tests: Test musig() parsing a53924bee321 descriptor: Parse musig() key expressions 9473e9606ce7 descriptors: Move DeriveType parsing into its own function 4af0dca096ca descriptor: Add MuSigPubkeyProvider c40dbbbf7707 test: Move `script_assets_tests` into its own suite d00d95437dd1 Add MuSig2 Keyagg Cache helper functions 8ecea91bf296 sign: Add GetMuSig2ParticipantPubkeys to SigningProvider fac0ee0bfc91 build: Enable secp256k1 musig module 1894f9750320 descriptors: Add PubkeyProvider::IsBIP32() 12bc1d0b1e96 util/string: Allow Split to include the separator 88113125716c script/parsing: Allow Const to not skip the found constant e017ef3c7eb7 init: make `-blockmaxweight` startup option debug-only 6135e0553e6e wallet, rpc: Move (Un)LockCoin WalletBatch creation out of RPC ad132761fc49 [allocators] Apply manual ASan poisoning to PoolResource 5fe4c66462e6 XOnlyPubKey: Add GetCPubKeys 5332082d0099 doc: add alpine build instructions c6e2c31c5512 rpc: unhide waitfor{block,newblock,blockheight} 0786b7509acd rpc: add optional blockhash to waitfornewblock 5d82d92aff7c rpc: reserve space for `UniValue` variables in `blockToJSON` 6a506d5c37d1 UniValue: add reserve member function bd461195f4b3 bench: support benching all verbosity of `BlockToJson` REVERT: 3d6b3fd8f65e kernel: Fix bitcoin-chainstate for windows REVERT: ec099435dda4 kernel: Add Purpose section to header documentation REVERT: 832689c68b5a kernel: Allowing reducing exports REVERT: 969a8110a567 kernel: Add pure kernel bitcoin-chainstate REVERT: 88e2f3001b65 kernel: Add functions to get the block hash from a block REVERT: de4a96b341f9 kernel: Add block index utility functions to C header REVERT: c3582e16a774 kernel: Add function to read block undo data from disk to C header REVERT: 183b53c981e6 kernel: Add functions to read block from disk to C header REVERT: d35570686946 kernel: Add function for copying block data to C header REVERT: 3ac26a9911a6 kernel: Add functions for the block validation state to C header REVERT: eb9a90ff5cc0 kernel: Add validation interface to C header REVERT: 451558a160a2 kernel: Add interrupt function to C header REVERT: 55e36cf39fdf kernel: Add import blocks function to C header REVERT: 3671c91fd593 kernel: Add chainstate load options for in-memory dbs in C header REVERT: 128415b1b753 kernel: Add options for reindexing in C header REVERT: add8205e8e93 kernel: Add block validation to C header REVERT: 1404b97942ca kernel: Add chainstate loading when instantiating a ChainstateManager REVERT: 76d73226d99d kernel: Add chainstate manager option for setting worker threads REVERT: 6de50dca962f kernel: Add chainstate manager object to C header REVERT: 477df9b640e8 kernel: Add notifications context option to C header REVERT: c3868780f525 kernel: Add chain params context option to C header REVERT: 649bd3fd565e kernel: Add kernel library context object REVERT: b7e24e1547ad kernel: Add logging to kernel library C header REVERT: c1536041e434 kernel: Introduce initial kernel C header API git-subtree-dir: libbitcoinkernel-sys/bitcoin git-subtree-split: ce8003578e725cf3c64a0f3e1447459e26955a3d
…c498e1485 82c498e1485 Add BlockReader fucntionality to kernel library 2c792833836 Add directory lcoking and read-only mode to BlockTreeStore 357cdb12cdd Flush disk writes when not in initial block download 11ffa7948c5 Remove block_tree_db_in_memory parameter after flat-file migration 7b3c7268728 blockstorage: Remove BlockTreeDB dead code 4d66896d1a2 kernel: Add assumed header store to chainparams 08d1848c81b kernel: Remove block tree db params c2e72c134d2 blockstorage: Replace BlockTreeDB with BlockTreeStore 1559ec22ac2 fuzz: Use BlockTreeStore in block index fuzz test 32bb39bad1d kernel: Add blocktreestorage module 6a9fdf7ae58 kernel: Fix bitcoin-chainstate for windows f6524514e33 kernel: Add Purpose section to header documentation 4ae2cfb4e27 kernel: Allowing reducing exports a1c072eb393 kernel: Add pure kernel bitcoin-chainstate 136fc5b3f0d kernel: Add functions to get the block hash from a block 3791a272053 kernel: Add block index utility functions to C header 1236c88392a kernel: Add function to read block undo data from disk to C header bf340b140ff kernel: Add functions to read block from disk to C header 173e621fa10 kernel: Add function for copying block data to C header 8f717b62a56 kernel: Add functions for the block validation state to C header 4353ddcd6d2 kernel: Add validation interface to C header 037bc7c5109 kernel: Add interrupt function to C header 4cc133ba101 kernel: Add import blocks function to C header 88ea62fc269 kernel: Add chainstate load options for in-memory dbs in C header 8c5fcdc65d1 kernel: Add options for reindexing in C header d2181ddcb78 kernel: Add block validation to C header 0f50066b6fc kernel: Add chainstate loading when instantiating a ChainstateManager e1486618c04 kernel: Add chainstate manager option for setting worker threads 0bf8f0e583a kernel: Add chainstate manager object to C header 89b4b0100ed kernel: Add notifications context option to C header c229caf460e kernel: Add chain params context option to C header 052bedb4075 kernel: Add kernel library context object a25e2f76092 kernel: Add logging to kernel library C header 0a9b1793134 kernel: Introduce initial kernel C header API 00604296e17 Merge bitcoin/bitcoin#32866: doc: add note for watch-only wallet migration 91058877ff7 Merge bitcoin/bitcoin#32273: wallet: Fix relative path backup during migration. 6b99670e3c0 Merge bitcoin/bitcoin#33075: doc: Add legacy wallet removal release notes 2cef200340f Merge bitcoin/bitcoin#28944: wallet, rpc: add anti-fee-sniping to `send` and `sendall` 932e993b37c Merge bitcoin/bitcoin#33073: guix: warn SOURCE_DATE_EPOCH set in guix-codesign 0bed946e5d1 Merge bitcoin/bitcoin#33079: ci: limit max stack size to 512 KiB 28ec91c30e2 Merge bitcoin/bitcoin#33088: doc: move `cmake -B build -LH` up in Unix build docs 2f410ad78c7 Merge bitcoin/bitcoin#32263: cluster mempool: add TxGraph work controls 6757052fc43 doc: move `cmake -B build -LH` up in Unix build docs 953c90d7649 Merge bitcoin/bitcoin#33086: contrib: [tracing] fix pointer argument handling in mempool_monitor.py 5888b4a2a55 doc: add note for watch-only wallet migration 3b23f95e346 ci: limit max stack size to 512 KiB 2931a874776 ci: limit stack size to 512kb in native macOS jobs 3724e9b40a6 Merge bitcoin/bitcoin#32973: validation: docs and cleanups for MemPoolAccept coins views 0ce041ea88d tracing: fix pointer argument handling in mempool_monitor.py 321984705db Merge bitcoin/bitcoin#32279: [IBD] prevector: store `P2WSH`/`P2TR`/`P2PK` scripts inline fa45ccc15df doc: Add legacy wallet removal release notes 2a97ff466d3 Merge bitcoin/bitcoin#29954: RPC: Return `permitbaremultisig` and `maxdatacarriersize` in `getmempoolinfo` fd068257e07 Merge bitcoin/bitcoin#33065: rpc, wallet: replace remaining hardcoded output types with `FormatAllOutputTypes` 9cafdf8941a Merge bitcoin/bitcoin#33064: test: fix RPC coverage check c8309198f81 Merge bitcoin/bitcoin#33070: doc/zmq: fix unix socket path example 1bed0f734b3 guix: warn SOURCE_DATE_EPOCH set in guix-codesign 1c10b7351e1 RPC: Return permitbaremultisig and maxdatacarriersize in getmempoolinfo e83699a626b doc/zmq: fix unix socket path example 8aed477c332 test: fix RPC coverage check 2630b64f810 test: add abortrescan RPC test 75a5c8258ec Merge bitcoin/bitcoin#33063: util: Revert "common: Close non-std fds before exec in RunCommandJSON" d5104cfbaeb prevector: store `P2WSH`/`P2TR`/`P2PK` scripts inline 52121506b2a test: assert `CScript` allocation characteristics 65ac7f6d4d1 refactor: modernize `CScriptBase` definition 756da2a994c refactor: extract `STATIC_SIZE` constant to prevector 251d0208468 init, wallet: replace hardcoded output types with `FormatAllOutputTypes` 3b188b8b3da Merge bitcoin/bitcoin#31576: test: Move `script_assets_tests` into its own suite 2e97541396b Merge bitcoin/bitcoin#32944: wallet: Remove `upgradewallet` RPC b08041cac86 Merge bitcoin/bitcoin#32845: rpc, test: Fix JSON parsing errors in unloadwallet and getdescriptoractivity RPCs e3ba0757a94 rpc, wallet: replace remaining hardcoded output types with `FormatAllOutputTypes` fc162299f0c Merge bitcoin/bitcoin#32994: p2p: rename GetAddresses -> GetAddressesUnsafe 633d8ea17b9 Merge bitcoin/bitcoin#32970: ci: Enable more shellcheck faa1c3e80d9 Revert "Merge bitcoin/bitcoin#32343: common: Close non-std fds before exec in RunCommandJSON" 6cdc5a90cff Merge bitcoin/bitcoin#32967: log: [refactor] Use info level for init logs 443c32a3e68 Merge bitcoin/bitcoin#32822: fuzz: Make process_message(s) more deterministic face8123fdc log: [refactor] Use info level for init logs fa183761cb0 log: Remove function name from init logs 5ad79b20350 Merge bitcoin/bitcoin#32593: wallet, rpc: Move (Un)LockCoin WalletBatch creation out of RPC e17fb86382e Merge bitcoin/bitcoin#32888: ci: Use optimized Debug build type in test-each-commit fd3d80c209e Merge bitcoin/bitcoin#33047: test: check proper OP_2ROT behavior 1119ac51f0c Merge bitcoin/bitcoin#33040: doc: update headers and remove manual TOCs e2f2df0ead8 Merge bitcoin/bitcoin#32984: wallet: Set migrated wallet name only on success 16f7b43b680 Merge bitcoin/bitcoin#33049: doc: Fix typos in asmap README b59dc21847d doc: Fix typos in asmap README ca38cf701dc doc: fix a few obvious typos in the affected files ddab466e0d9 doc: remove manual TOCs 26a3730711c doc: unify `developer-notes` and `productivity` header styles eb137184482 Merge bitcoin/bitcoin#31179: RPC: Add reserve member function to `UniValue` and use it in `blockToJSON` function b94c6356a29 test: check proper OP_2ROT behavior 73e754bd01b Merge bitcoin/bitcoin#33001: test: Do not pass tests on unhandled exceptions cfb859e82ed Merge bitcoin/bitcoin#33037: doc: Add release notes for 32521 (MAX_TX_LEGACY_SIGOPS) afd3b34dc5e Merge bitcoin/bitcoin#33004: Enable `-natpmp` by default 49bbf9ff28f Merge bitcoin/bitcoin#33036: Update secp256k1 subtree to latest master c5c1960f935 doc: Add release notes for changes in RPCs 90fd5acbe57 rpc, test: Fix error message in getdescriptoractivity 39fef1d2036 test: Add missing logging info for each test 53ac704efd6 rpc, test: Fix error message in unloadwallet 1fc3a8e8e7a rpc, test: Add EnsureUniqueWalletName tests 900bb53905a Merge bitcoin/bitcoin#32990: wallet: remove outdated `pszSkip` arg of database `Rewrite` func c8ec423719a Merge bitcoin/bitcoin#33020: test: delete commented-out tests and add a test case in wallet_signer 09f004bd9fe Merge bitcoin/bitcoin#32945: tests: speed up coins_tests by parallelizing 5d98fc75596 Merge bitcoin/bitcoin#33030: test: check tx is final when there is no locktime b635bc08962 rpc, util: Add EnsureUniqueWalletName da318fe53fa test: delete commented out tests 6d80e999a06 test: external signer returns invalid JSON response 065e42976a7 test: IsFinalTx returns true when there is no locktime 1cb23997033 doc: clarify the GetAddresses/GetAddressesUnsafe documentation e5a7dfd79f6 p2p: rename GetAddresses -> GetAddressesUnsafe faa2f3b1afe doc: Add release notes for 32521 (MAX_TX_LEGACY_SIGOPS) 336b8be37b2 Update secp256k1 subtree to latest master 5600e6fc4bb Squashed 'src/secp256k1/' changes from 4187a46649..b9313c6e1a 06ab3a394ad tests: speed up coins_tests by parallelizing 7129c9ea8e9 Merge bitcoin/bitcoin#32827: mempool: Avoid needless vtx iteration during IBD 11c6a864c9e Merge bitcoin/bitcoin#33007: test: fix `ReadTopologicalSet` unsigned integer overflow 9bc33432e21 Merge bitcoin/bitcoin#32999: ci: Use APT_LLVM_V in msan task 5878f35446a Merge bitcoin/bitcoin#31144: [IBD] multi-byte block obfuscation 249889bee6b orphanage: avoid vtx iteration when no orphans 41ad2be4340 mempool: Avoid expensive loop in `removeForBlock` during IBD e9edd43a959 Merge bitcoin/bitcoin#32521: policy: make pathological transactions packed with legacy sigops non-standard 80067ac111c Merge bitcoin/bitcoin#31829: p2p: improve TxOrphanage denial of service bounds 31c4e77a256 test: fix ReadTopologicalSet unsigned integer overflow 672c85cb1ea Merge bitcoin/bitcoin#32868: test: refactor: overhaul block hash determination for `CBlock{,Header}` objects fa1a14a13a1 fuzz: Reset chainman state in process_message(s) targets fa9a3de09b4 fuzz: DisableNextWrite aeeeeec9f74 fuzz: Reset dirty connman state in process_message(s) targets fa11eea4059 fuzz: Avoid non-determinism in process_message(s) target (PeerMan) faa3e684118 test: Log KeyboardInterrupt as exception b2d07f872c5 Add release notes for -natpmp enabled by default 3fc660d2671 mapport: turn -natpmp to on by default fa30b34026f test: Do not pass tests on unhandled exceptions 96da68a38fa qa: functional test a transaction running into the legacy sigop limit 367147954d1 qa: unit test standardness of inputs packed with legacy sigops 5863315e33b policy: make pathological transactions packed with legacy sigops non-standard. 5fa34951ead test: avoid unneeded block header hash -> integer conversions 2118301d77c test: rename CBlockHeader `.hash` -> `.hash_hex` for consistency 23be0ec2f07 test: rename CBlockHeader `.rehash()`/`.sha256` -> `.hash_int` for consistency 8b09cc350af test: remove bare CBlockHeader `.rehash()`/`.calc_sha256()` calls 0716382c20a test: remove header hash caching in CBlockHeader class 0f044e82bd5 test: avoid direct block header modification in feature_block.py f3c791d2e39 test: refactor: dedup `CBlockHeader` serialization fad040a5787 ci: Use APT_LLVM_V in msan task 76fe0e59ec4 test: Migration of a wallet ending in `../` f0bb3d50fef test: Migration of a wallet ending in `/` 41faef5f80d test: Migration fail recovery w/ `../` in path 63c6d364376 test: Migration of a wallet with `../` in path. 70f1c99c901 wallet: Fix migration of wallets with pathnames. f6ee59b6e29 wallet: migration: Make backup in walletdir e22c3599c67 test: wallet: Check direct file backup name. 060695c22ae test: Failed load after migrate should restore backup 248b6a27c35 optimization: peel align-head and unroll body to 64 bytes e7114fc6dc3 optimization: migrate fixed-size obfuscation from `std::vector<std::byte>` to `uint64_t` 478d40afc6f refactor: encapsulate `vector`/`array` keys into `Obfuscation` 377aab8e5a8 refactor: move `util::Xor` to `Obfuscation().Xor` fa5d296e3be refactor: prepare mempool_persist for obfuscation key change 6bbf2d9311b refactor: prepare `DBWrapper` for obfuscation key change 0b8bec8aa62 scripted-diff: unify xor-vs-obfuscation nomenclature 972697976c0 bench: make ObfuscationBench more representative 618a30e326e test: compare util::Xor with randomized inputs against simple impl a5141cd39ec test: make sure dbwrapper obfuscation key is never obfuscated 54ab0bd64c3 refactor: commit to 8 byte obfuscation keys 7aa557a37b7 random: add fixed-size `std::array` generation b6d4688f77d [doc] reword comments in test_mid_package_replacement f3a613aa5bb [cleanup] delete brittle test_mid_package_eviction 9f713b83dcf Merge bitcoin/bitcoin#32837: depends: fix libevent `_WIN32_WINNT` usage 2dfeb6668cb wallet: remove outdated `pszSkip` arg of database `Rewrite` func 8a4cfddf23a wallet: Set migrated wallet name only on success d89c6fa4a71 wallet: Remove `upgradewallet` RPC 184159e4f30 Merge bitcoin/bitcoin#32922: test: use notarized v28.2 binaries and fix macOS detection 5d17e64a029 Merge bitcoin/bitcoin#32677: test: headers sync timeout 0087ba409b3 Merge bitcoin/bitcoin#32968: test: fix intermittent failure in rpc_invalidateblock.py 50024620b90 [bench] worst case LimitOrphans and EraseForBlock 45c7a4b56d2 [functional test] orphan resolution works in the presence of DoSy peers 835f5c77cde [prep/test] restart instead of bumpmocktime between p2p_orphan_handling subtests b113877545a [fuzz] Add simulation fuzz test for TxOrphanage 03aaaedc6da [prep] Return the made-reconsiderable announcements in AddChildrenToWorkSet ea29c4371e8 [p2p] bump DEFAULT_MAX_ORPHANAGE_LATENCY_SCORE to 3,000 24afee8d8f9 [fuzz] TxOrphanage protects peers that don't go over limit a2878cfb4ae [unit test] strengthen GetChildrenFromSamePeer tests: results are in recency order 7ce3b7ee579 [unit test] basic TxOrphanage eviction and protection 4d23d1d7e7f [cleanup] remove unused rng param from LimitOrphans 067365d2a8a [p2p] overhaul TxOrphanage with smarter limits 1a41e7962db [refactor] create aliases for TxOrphanage Count and Usage b50bd72c42b [prep] change return type of EraseTx to bool 3da6d7f8f6f [prep/refactor] make TxOrphanage a virtual class implemented by TxOrphanageImpl 77ebe8f2801 [prep/test] have TxOrphanage remember its own limits in LimitOrphans d0af4239b7f [prep/refactor] move DEFAULT_MAX_ORPHAN_TRANSACTIONS to txorphanage.h 51365225b89 [prep/config] remove -maxorphantx 8dd24c29aec [prep/test] modify test to not access TxOrphanage internals c3cd7fcb2cd [doc] remove references to now-nonexistent Finalize() function d8140f5f050 don't make a copy of m_non_base_coins 98ba2b1db2e [doc] MemPoolAccept coins views ba02c30b8a6 [doc] always CleanupTemporaryCoins after a mempool trim b53fab1467f Merge bitcoin/bitcoin#32948: refactor: cleanup index logging 62ed1f92eff txgraph: check that DoWork finds optimal if given high budget (tests) f3c2fc867fc txgraph: add work limit to DoWork(), try optimal (feature) fa1fd074685 ci: Enable more shellcheck e96b00d99eb txgraph: make number of acceptable iterations configurable (feature) cfe9958852b txgraph: track amount of work done in linearization (preparation) 6ba316eaa03 txgraph: 1-or-2-tx split-off clusters are optimal (optimization) fad0eb091e5 txgraph: reset quality when merging clusters (bugfix) 61e800e75cf test: headers sync timeout 28416f367a5 test: fix intermittent failure in rpc_invalidateblock.py e72cb20c3fb Merge bitcoin/bitcoin#32943: depends: Force `CMAKE_EXPORT_NO_PACKAGE_REGISTRY=TRUE` 97fb46d0a08 Merge bitcoin/bitcoin#32880: ci: Avoid cd into build dir 69b9ad02da8 Merge bitcoin/bitcoin#32954: cmake: Drop no longer necessary "cmakeMinimumRequired" object faa3171ff22 ci: Use optimized Debug build type in test-each-commit fa21c3401e1 ci: [doc] reword debug log message 12a6959892c cmake: Drop no longer necessary "cmakeMinimumRequired" object 44f53278244 [fuzz] add SeedRandomStateForTest(SeedRand::ZEROS) to txorphan 15a4ec90697 [prep/rpc] remove entry and expiry time from getorphantxs 08e58fa9119 [prep/refactor] move txorphanage to node namespace and directory bb91d23fa95 [txorphanage] change type of usage to int64_t c18bf0bd9be refactor: cleanup index logging f5647c6c5ae depends: fix libevent _WIN32_WINNT usage 44f3bae300d depends: Force `CMAKE_EXPORT_NO_PACKAGE_REGISTRY=TRUE` fad191ff48b ci: Avoid cd into build dir 4bb4c865999 test: document HOST for get_previous_releases.py 609203d5075 test: stop signing previous releases >= v28.2 c6dc2c29f82 test: replace v28.0 with notarized v28.2 5bd73d96a3a test: fix macOS detection aac0b6dd79b test: test sendall and send do anti-fee-sniping 20802c7b65f wallet, rpc: add anti-fee-sniping to `send` and `sendall` c40dbbbf770 test: Move `script_assets_tests` into its own suite 6135e0553e6 wallet, rpc: Move (Un)LockCoin WalletBatch creation out of RPC 5d82d92aff7 rpc: reserve space for `UniValue` variables in `blockToJSON` 6a506d5c37d UniValue: add reserve member function bd461195f4b bench: support benching all verbosity of `BlockToJson` REVERT: 3d6b3fd8f65 kernel: Fix bitcoin-chainstate for windows REVERT: ec099435dda kernel: Add Purpose section to header documentation REVERT: 832689c68b5 kernel: Allowing reducing exports REVERT: 969a8110a56 kernel: Add pure kernel bitcoin-chainstate REVERT: 88e2f3001b6 kernel: Add functions to get the block hash from a block REVERT: de4a96b341f kernel: Add block index utility functions to C header REVERT: c3582e16a77 kernel: Add function to read block undo data from disk to C header REVERT: 183b53c981e kernel: Add functions to read block from disk to C header REVERT: d3557068694 kernel: Add function for copying block data to C header REVERT: 3ac26a9911a kernel: Add functions for the block validation state to C header REVERT: eb9a90ff5cc kernel: Add validation interface to C header REVERT: 451558a160a kernel: Add interrupt function to C header REVERT: 55e36cf39fd kernel: Add import blocks function to C header REVERT: 3671c91fd59 kernel: Add chainstate load options for in-memory dbs in C header REVERT: 128415b1b75 kernel: Add options for reindexing in C header REVERT: add8205e8e9 kernel: Add block validation to C header REVERT: 1404b97942c kernel: Add chainstate loading when instantiating a ChainstateManager REVERT: 76d73226d99 kernel: Add chainstate manager option for setting worker threads REVERT: 6de50dca962 kernel: Add chainstate manager object to C header REVERT: 477df9b640e kernel: Add notifications context option to C header REVERT: c3868780f52 kernel: Add chain params context option to C header REVERT: 649bd3fd565 kernel: Add kernel library context object REVERT: b7e24e1547a kernel: Add logging to kernel library C header REVERT: c1536041e43 kernel: Introduce initial kernel C header API git-subtree-dir: libbitcoinkernel-sys/bitcoin git-subtree-split: 82c498e14858006a18833bf30d6571bd0bf7859c
…8687aaafa 0f8687aaafa Add BlockReader fucntionality to kernel library 2c792833836 Add directory lcoking and read-only mode to BlockTreeStore 357cdb12cdd Flush disk writes when not in initial block download 11ffa7948c5 Remove block_tree_db_in_memory parameter after flat-file migration 7b3c7268728 blockstorage: Remove BlockTreeDB dead code 4d66896d1a2 kernel: Add assumed header store to chainparams 08d1848c81b kernel: Remove block tree db params c2e72c134d2 blockstorage: Replace BlockTreeDB with BlockTreeStore 1559ec22ac2 fuzz: Use BlockTreeStore in block index fuzz test 32bb39bad1d kernel: Add blocktreestorage module 6a9fdf7ae58 kernel: Fix bitcoin-chainstate for windows f6524514e33 kernel: Add Purpose section to header documentation 4ae2cfb4e27 kernel: Allowing reducing exports a1c072eb393 kernel: Add pure kernel bitcoin-chainstate 136fc5b3f0d kernel: Add functions to get the block hash from a block 3791a272053 kernel: Add block index utility functions to C header 1236c88392a kernel: Add function to read block undo data from disk to C header bf340b140ff kernel: Add functions to read block from disk to C header 173e621fa10 kernel: Add function for copying block data to C header 8f717b62a56 kernel: Add functions for the block validation state to C header 4353ddcd6d2 kernel: Add validation interface to C header 037bc7c5109 kernel: Add interrupt function to C header 4cc133ba101 kernel: Add import blocks function to C header 88ea62fc269 kernel: Add chainstate load options for in-memory dbs in C header 8c5fcdc65d1 kernel: Add options for reindexing in C header d2181ddcb78 kernel: Add block validation to C header 0f50066b6fc kernel: Add chainstate loading when instantiating a ChainstateManager e1486618c04 kernel: Add chainstate manager option for setting worker threads 0bf8f0e583a kernel: Add chainstate manager object to C header 89b4b0100ed kernel: Add notifications context option to C header c229caf460e kernel: Add chain params context option to C header 052bedb4075 kernel: Add kernel library context object a25e2f76092 kernel: Add logging to kernel library C header 0a9b1793134 kernel: Introduce initial kernel C header API 00604296e17 Merge bitcoin/bitcoin#32866: doc: add note for watch-only wallet migration 91058877ff7 Merge bitcoin/bitcoin#32273: wallet: Fix relative path backup during migration. 6b99670e3c0 Merge bitcoin/bitcoin#33075: doc: Add legacy wallet removal release notes 2cef200340f Merge bitcoin/bitcoin#28944: wallet, rpc: add anti-fee-sniping to `send` and `sendall` 932e993b37c Merge bitcoin/bitcoin#33073: guix: warn SOURCE_DATE_EPOCH set in guix-codesign 0bed946e5d1 Merge bitcoin/bitcoin#33079: ci: limit max stack size to 512 KiB 28ec91c30e2 Merge bitcoin/bitcoin#33088: doc: move `cmake -B build -LH` up in Unix build docs 2f410ad78c7 Merge bitcoin/bitcoin#32263: cluster mempool: add TxGraph work controls 6757052fc43 doc: move `cmake -B build -LH` up in Unix build docs 953c90d7649 Merge bitcoin/bitcoin#33086: contrib: [tracing] fix pointer argument handling in mempool_monitor.py 5888b4a2a55 doc: add note for watch-only wallet migration 3b23f95e346 ci: limit max stack size to 512 KiB 2931a874776 ci: limit stack size to 512kb in native macOS jobs 3724e9b40a6 Merge bitcoin/bitcoin#32973: validation: docs and cleanups for MemPoolAccept coins views 0ce041ea88d tracing: fix pointer argument handling in mempool_monitor.py 321984705db Merge bitcoin/bitcoin#32279: [IBD] prevector: store `P2WSH`/`P2TR`/`P2PK` scripts inline fa45ccc15df doc: Add legacy wallet removal release notes 2a97ff466d3 Merge bitcoin/bitcoin#29954: RPC: Return `permitbaremultisig` and `maxdatacarriersize` in `getmempoolinfo` fd068257e07 Merge bitcoin/bitcoin#33065: rpc, wallet: replace remaining hardcoded output types with `FormatAllOutputTypes` 9cafdf8941a Merge bitcoin/bitcoin#33064: test: fix RPC coverage check c8309198f81 Merge bitcoin/bitcoin#33070: doc/zmq: fix unix socket path example 1bed0f734b3 guix: warn SOURCE_DATE_EPOCH set in guix-codesign 1c10b7351e1 RPC: Return permitbaremultisig and maxdatacarriersize in getmempoolinfo e83699a626b doc/zmq: fix unix socket path example 8aed477c332 test: fix RPC coverage check 2630b64f810 test: add abortrescan RPC test 75a5c8258ec Merge bitcoin/bitcoin#33063: util: Revert "common: Close non-std fds before exec in RunCommandJSON" d5104cfbaeb prevector: store `P2WSH`/`P2TR`/`P2PK` scripts inline 52121506b2a test: assert `CScript` allocation characteristics 65ac7f6d4d1 refactor: modernize `CScriptBase` definition 756da2a994c refactor: extract `STATIC_SIZE` constant to prevector 251d0208468 init, wallet: replace hardcoded output types with `FormatAllOutputTypes` 3b188b8b3da Merge bitcoin/bitcoin#31576: test: Move `script_assets_tests` into its own suite 2e97541396b Merge bitcoin/bitcoin#32944: wallet: Remove `upgradewallet` RPC b08041cac86 Merge bitcoin/bitcoin#32845: rpc, test: Fix JSON parsing errors in unloadwallet and getdescriptoractivity RPCs e3ba0757a94 rpc, wallet: replace remaining hardcoded output types with `FormatAllOutputTypes` fc162299f0c Merge bitcoin/bitcoin#32994: p2p: rename GetAddresses -> GetAddressesUnsafe 633d8ea17b9 Merge bitcoin/bitcoin#32970: ci: Enable more shellcheck faa1c3e80d9 Revert "Merge bitcoin/bitcoin#32343: common: Close non-std fds before exec in RunCommandJSON" 6cdc5a90cff Merge bitcoin/bitcoin#32967: log: [refactor] Use info level for init logs 443c32a3e68 Merge bitcoin/bitcoin#32822: fuzz: Make process_message(s) more deterministic face8123fdc log: [refactor] Use info level for init logs fa183761cb0 log: Remove function name from init logs 5ad79b20350 Merge bitcoin/bitcoin#32593: wallet, rpc: Move (Un)LockCoin WalletBatch creation out of RPC e17fb86382e Merge bitcoin/bitcoin#32888: ci: Use optimized Debug build type in test-each-commit fd3d80c209e Merge bitcoin/bitcoin#33047: test: check proper OP_2ROT behavior 1119ac51f0c Merge bitcoin/bitcoin#33040: doc: update headers and remove manual TOCs e2f2df0ead8 Merge bitcoin/bitcoin#32984: wallet: Set migrated wallet name only on success 16f7b43b680 Merge bitcoin/bitcoin#33049: doc: Fix typos in asmap README b59dc21847d doc: Fix typos in asmap README ca38cf701dc doc: fix a few obvious typos in the affected files ddab466e0d9 doc: remove manual TOCs 26a3730711c doc: unify `developer-notes` and `productivity` header styles eb137184482 Merge bitcoin/bitcoin#31179: RPC: Add reserve member function to `UniValue` and use it in `blockToJSON` function b94c6356a29 test: check proper OP_2ROT behavior 73e754bd01b Merge bitcoin/bitcoin#33001: test: Do not pass tests on unhandled exceptions cfb859e82ed Merge bitcoin/bitcoin#33037: doc: Add release notes for 32521 (MAX_TX_LEGACY_SIGOPS) afd3b34dc5e Merge bitcoin/bitcoin#33004: Enable `-natpmp` by default 49bbf9ff28f Merge bitcoin/bitcoin#33036: Update secp256k1 subtree to latest master c5c1960f935 doc: Add release notes for changes in RPCs 90fd5acbe57 rpc, test: Fix error message in getdescriptoractivity 39fef1d2036 test: Add missing logging info for each test 53ac704efd6 rpc, test: Fix error message in unloadwallet 1fc3a8e8e7a rpc, test: Add EnsureUniqueWalletName tests 900bb53905a Merge bitcoin/bitcoin#32990: wallet: remove outdated `pszSkip` arg of database `Rewrite` func c8ec423719a Merge bitcoin/bitcoin#33020: test: delete commented-out tests and add a test case in wallet_signer 09f004bd9fe Merge bitcoin/bitcoin#32945: tests: speed up coins_tests by parallelizing 5d98fc75596 Merge bitcoin/bitcoin#33030: test: check tx is final when there is no locktime b635bc08962 rpc, util: Add EnsureUniqueWalletName da318fe53fa test: delete commented out tests 6d80e999a06 test: external signer returns invalid JSON response 065e42976a7 test: IsFinalTx returns true when there is no locktime 1cb23997033 doc: clarify the GetAddresses/GetAddressesUnsafe documentation e5a7dfd79f6 p2p: rename GetAddresses -> GetAddressesUnsafe faa2f3b1afe doc: Add release notes for 32521 (MAX_TX_LEGACY_SIGOPS) 336b8be37b2 Update secp256k1 subtree to latest master 5600e6fc4bb Squashed 'src/secp256k1/' changes from 4187a46649..b9313c6e1a 06ab3a394ad tests: speed up coins_tests by parallelizing 7129c9ea8e9 Merge bitcoin/bitcoin#32827: mempool: Avoid needless vtx iteration during IBD 11c6a864c9e Merge bitcoin/bitcoin#33007: test: fix `ReadTopologicalSet` unsigned integer overflow 9bc33432e21 Merge bitcoin/bitcoin#32999: ci: Use APT_LLVM_V in msan task 5878f35446a Merge bitcoin/bitcoin#31144: [IBD] multi-byte block obfuscation 249889bee6b orphanage: avoid vtx iteration when no orphans 41ad2be4340 mempool: Avoid expensive loop in `removeForBlock` during IBD e9edd43a959 Merge bitcoin/bitcoin#32521: policy: make pathological transactions packed with legacy sigops non-standard 80067ac111c Merge bitcoin/bitcoin#31829: p2p: improve TxOrphanage denial of service bounds 31c4e77a256 test: fix ReadTopologicalSet unsigned integer overflow 672c85cb1ea Merge bitcoin/bitcoin#32868: test: refactor: overhaul block hash determination for `CBlock{,Header}` objects fa1a14a13a1 fuzz: Reset chainman state in process_message(s) targets fa9a3de09b4 fuzz: DisableNextWrite aeeeeec9f74 fuzz: Reset dirty connman state in process_message(s) targets fa11eea4059 fuzz: Avoid non-determinism in process_message(s) target (PeerMan) faa3e684118 test: Log KeyboardInterrupt as exception b2d07f872c5 Add release notes for -natpmp enabled by default 3fc660d2671 mapport: turn -natpmp to on by default fa30b34026f test: Do not pass tests on unhandled exceptions 96da68a38fa qa: functional test a transaction running into the legacy sigop limit 367147954d1 qa: unit test standardness of inputs packed with legacy sigops 5863315e33b policy: make pathological transactions packed with legacy sigops non-standard. 5fa34951ead test: avoid unneeded block header hash -> integer conversions 2118301d77c test: rename CBlockHeader `.hash` -> `.hash_hex` for consistency 23be0ec2f07 test: rename CBlockHeader `.rehash()`/`.sha256` -> `.hash_int` for consistency 8b09cc350af test: remove bare CBlockHeader `.rehash()`/`.calc_sha256()` calls 0716382c20a test: remove header hash caching in CBlockHeader class 0f044e82bd5 test: avoid direct block header modification in feature_block.py f3c791d2e39 test: refactor: dedup `CBlockHeader` serialization fad040a5787 ci: Use APT_LLVM_V in msan task 76fe0e59ec4 test: Migration of a wallet ending in `../` f0bb3d50fef test: Migration of a wallet ending in `/` 41faef5f80d test: Migration fail recovery w/ `../` in path 63c6d364376 test: Migration of a wallet with `../` in path. 70f1c99c901 wallet: Fix migration of wallets with pathnames. f6ee59b6e29 wallet: migration: Make backup in walletdir e22c3599c67 test: wallet: Check direct file backup name. 060695c22ae test: Failed load after migrate should restore backup 248b6a27c35 optimization: peel align-head and unroll body to 64 bytes e7114fc6dc3 optimization: migrate fixed-size obfuscation from `std::vector<std::byte>` to `uint64_t` 478d40afc6f refactor: encapsulate `vector`/`array` keys into `Obfuscation` 377aab8e5a8 refactor: move `util::Xor` to `Obfuscation().Xor` fa5d296e3be refactor: prepare mempool_persist for obfuscation key change 6bbf2d9311b refactor: prepare `DBWrapper` for obfuscation key change 0b8bec8aa62 scripted-diff: unify xor-vs-obfuscation nomenclature 972697976c0 bench: make ObfuscationBench more representative 618a30e326e test: compare util::Xor with randomized inputs against simple impl a5141cd39ec test: make sure dbwrapper obfuscation key is never obfuscated 54ab0bd64c3 refactor: commit to 8 byte obfuscation keys 7aa557a37b7 random: add fixed-size `std::array` generation b6d4688f77d [doc] reword comments in test_mid_package_replacement f3a613aa5bb [cleanup] delete brittle test_mid_package_eviction 9f713b83dcf Merge bitcoin/bitcoin#32837: depends: fix libevent `_WIN32_WINNT` usage 2dfeb6668cb wallet: remove outdated `pszSkip` arg of database `Rewrite` func 8a4cfddf23a wallet: Set migrated wallet name only on success d89c6fa4a71 wallet: Remove `upgradewallet` RPC 184159e4f30 Merge bitcoin/bitcoin#32922: test: use notarized v28.2 binaries and fix macOS detection 5d17e64a029 Merge bitcoin/bitcoin#32677: test: headers sync timeout 0087ba409b3 Merge bitcoin/bitcoin#32968: test: fix intermittent failure in rpc_invalidateblock.py 50024620b90 [bench] worst case LimitOrphans and EraseForBlock 45c7a4b56d2 [functional test] orphan resolution works in the presence of DoSy peers 835f5c77cde [prep/test] restart instead of bumpmocktime between p2p_orphan_handling subtests b113877545a [fuzz] Add simulation fuzz test for TxOrphanage 03aaaedc6da [prep] Return the made-reconsiderable announcements in AddChildrenToWorkSet ea29c4371e8 [p2p] bump DEFAULT_MAX_ORPHANAGE_LATENCY_SCORE to 3,000 24afee8d8f9 [fuzz] TxOrphanage protects peers that don't go over limit a2878cfb4ae [unit test] strengthen GetChildrenFromSamePeer tests: results are in recency order 7ce3b7ee579 [unit test] basic TxOrphanage eviction and protection 4d23d1d7e7f [cleanup] remove unused rng param from LimitOrphans 067365d2a8a [p2p] overhaul TxOrphanage with smarter limits 1a41e7962db [refactor] create aliases for TxOrphanage Count and Usage b50bd72c42b [prep] change return type of EraseTx to bool 3da6d7f8f6f [prep/refactor] make TxOrphanage a virtual class implemented by TxOrphanageImpl 77ebe8f2801 [prep/test] have TxOrphanage remember its own limits in LimitOrphans d0af4239b7f [prep/refactor] move DEFAULT_MAX_ORPHAN_TRANSACTIONS to txorphanage.h 51365225b89 [prep/config] remove -maxorphantx 8dd24c29aec [prep/test] modify test to not access TxOrphanage internals c3cd7fcb2cd [doc] remove references to now-nonexistent Finalize() function d8140f5f050 don't make a copy of m_non_base_coins 98ba2b1db2e [doc] MemPoolAccept coins views ba02c30b8a6 [doc] always CleanupTemporaryCoins after a mempool trim b53fab1467f Merge bitcoin/bitcoin#32948: refactor: cleanup index logging 62ed1f92eff txgraph: check that DoWork finds optimal if given high budget (tests) f3c2fc867fc txgraph: add work limit to DoWork(), try optimal (feature) fa1fd074685 ci: Enable more shellcheck e96b00d99eb txgraph: make number of acceptable iterations configurable (feature) cfe9958852b txgraph: track amount of work done in linearization (preparation) 6ba316eaa03 txgraph: 1-or-2-tx split-off clusters are optimal (optimization) fad0eb091e5 txgraph: reset quality when merging clusters (bugfix) 61e800e75cf test: headers sync timeout 28416f367a5 test: fix intermittent failure in rpc_invalidateblock.py e72cb20c3fb Merge bitcoin/bitcoin#32943: depends: Force `CMAKE_EXPORT_NO_PACKAGE_REGISTRY=TRUE` 97fb46d0a08 Merge bitcoin/bitcoin#32880: ci: Avoid cd into build dir 69b9ad02da8 Merge bitcoin/bitcoin#32954: cmake: Drop no longer necessary "cmakeMinimumRequired" object faa3171ff22 ci: Use optimized Debug build type in test-each-commit fa21c3401e1 ci: [doc] reword debug log message 12a6959892c cmake: Drop no longer necessary "cmakeMinimumRequired" object 44f53278244 [fuzz] add SeedRandomStateForTest(SeedRand::ZEROS) to txorphan 15a4ec90697 [prep/rpc] remove entry and expiry time from getorphantxs 08e58fa9119 [prep/refactor] move txorphanage to node namespace and directory bb91d23fa95 [txorphanage] change type of usage to int64_t c18bf0bd9be refactor: cleanup index logging f5647c6c5ae depends: fix libevent _WIN32_WINNT usage 44f3bae300d depends: Force `CMAKE_EXPORT_NO_PACKAGE_REGISTRY=TRUE` fad191ff48b ci: Avoid cd into build dir 4bb4c865999 test: document HOST for get_previous_releases.py 609203d5075 test: stop signing previous releases >= v28.2 c6dc2c29f82 test: replace v28.0 with notarized v28.2 5bd73d96a3a test: fix macOS detection aac0b6dd79b test: test sendall and send do anti-fee-sniping 20802c7b65f wallet, rpc: add anti-fee-sniping to `send` and `sendall` c40dbbbf770 test: Move `script_assets_tests` into its own suite 6135e0553e6 wallet, rpc: Move (Un)LockCoin WalletBatch creation out of RPC 5d82d92aff7 rpc: reserve space for `UniValue` variables in `blockToJSON` 6a506d5c37d UniValue: add reserve member function bd461195f4b bench: support benching all verbosity of `BlockToJson` REVERT: 3d6b3fd8f65 kernel: Fix bitcoin-chainstate for windows REVERT: ec099435dda kernel: Add Purpose section to header documentation REVERT: 832689c68b5 kernel: Allowing reducing exports REVERT: 969a8110a56 kernel: Add pure kernel bitcoin-chainstate REVERT: 88e2f3001b6 kernel: Add functions to get the block hash from a block REVERT: de4a96b341f kernel: Add block index utility functions to C header REVERT: c3582e16a77 kernel: Add function to read block undo data from disk to C header REVERT: 183b53c981e kernel: Add functions to read block from disk to C header REVERT: d3557068694 kernel: Add function for copying block data to C header REVERT: 3ac26a9911a kernel: Add functions for the block validation state to C header REVERT: eb9a90ff5cc kernel: Add validation interface to C header REVERT: 451558a160a kernel: Add interrupt function to C header REVERT: 55e36cf39fd kernel: Add import blocks function to C header REVERT: 3671c91fd59 kernel: Add chainstate load options for in-memory dbs in C header REVERT: 128415b1b75 kernel: Add options for reindexing in C header REVERT: add8205e8e9 kernel: Add block validation to C header REVERT: 1404b97942c kernel: Add chainstate loading when instantiating a ChainstateManager REVERT: 76d73226d99 kernel: Add chainstate manager option for setting worker threads REVERT: 6de50dca962 kernel: Add chainstate manager object to C header REVERT: 477df9b640e kernel: Add notifications context option to C header REVERT: c3868780f52 kernel: Add chain params context option to C header REVERT: 649bd3fd565 kernel: Add kernel library context object REVERT: b7e24e1547a kernel: Add logging to kernel library C header REVERT: c1536041e43 kernel: Introduce initial kernel C header API git-subtree-dir: libbitcoinkernel-sys/bitcoin git-subtree-split: 0f8687aaafa5429c06d4848eadf3ce779761f9b7
35fced5df7 kernel: Fix bitcoin-chainstate for windows c164264fd8 kernel: Add Purpose section to header documentation 9096c35c05 kernel: Allowing reducing exports 6d0d4b2507 kernel: Add pure kernel bitcoin-chainstate ccd85f0333 kernel: Add functions to get the block hash from a block 925f21c37b kernel: Add block index utility functions to C header b7441841c9 kernel: Add function to read block undo data from disk to C header bc0e6f098e kernel: Add functions to read block from disk to C header 5120302f96 kernel: Add function for copying block data to C header 718ccee732 kernel: Add functions for the block validation state to C header eb363ab30e kernel: Add validation interface to C header 246886c6ea kernel: Add interrupt function to C header f3b34ca457 kernel: Add import blocks function to C header fe08857d52 kernel: Add chainstate load options for in-memory dbs in C header f93f171e01 kernel: Add options for reindexing in C header dca7b4c26e kernel: Add block validation to C header f031e9ce03 kernel: Add chainstate loading when instantiating a ChainstateManager 3cb99f73ec kernel: Add chainstate manager option for setting worker threads 9454ad8512 kernel: Add chainstate manager object to C header 3bead9ebdd kernel: Add notifications context option to C header dda805dfb6 kernel: Add chain params context option to C header ea5334925d kernel: Add kernel library context object 36fafbaef9 kernel: Add logging to kernel library C header d28eef5cf2 kernel: Introduce initial kernel C header API daca51bf80 Merge bitcoin/bitcoin#32750: refactor: CFeeRate encapsulates FeeFrac internally f679bad605 Merge bitcoin/bitcoin#33105: validation: detect witness stripping without re-running Script checks 63d604af05 Merge bitcoin/bitcoin#33152: Release: Prepare "Open Transifex translations for v30.0" step 27aefac425 validation: detect witness stripping without re-running Script checks 2907b58834 policy: introduce a helper to detect whether a transaction spends Segwit outputs 26e9db2df0 Merge bitcoin/bitcoin#31886: cli: return local services in -netinfo 2bb06bcaf2 Merge bitcoin/bitcoin#31679: cmake: Install internal binaries to <prefix>/libexec/ 6a2bb0fd83 Merge bitcoin/bitcoin#33151: subtree: update crc32c subtree 656e16aa5e qt: Update the `src/qt/locale/bitcoin_en.xlf` translation source file a0eaa44925 Fix typos b43b8be782 Merge bitcoin/bitcoin#33125: ci: Use mlc `v1` and fix typos 8d4aaaec49 Update Transifex slug for 30.x 8ef8dd6871 Update crc32c subtree to latest upstream master 9a5d29711a Squashed 'src/crc32c/' changes from b60d2b7334..efb8ea04e4 f28a94b40e ci: update shellcheck to v0.11.0 e46af30441 ci: update mlc to v1 7d60c0eb69 fix typo 49f2f3c89f doc: fix typos d818340e7e test: Rename shuffled_indeces to shuffled_indices 96f8673b87 doc: fix typos d767503b6a Merge bitcoin/bitcoin#33039: refactor,test: follow-ups to multi-byte block obfuscation cf15d45192 Merge bitcoin/bitcoin#33044: contrib: drop use of `PermissionsStartOnly` & `Group=` d7ed47fb80 Merge bitcoin/bitcoin#33077: kernel: create monolithic kernel static library 38e6ea9f3a Merge bitcoin/bitcoin#33101: cmake: Proactively avoid use of `SECP256K1_DISABLE_SHARED` c92115dcb2 Merge bitcoin/bitcoin#33119: rpc: Fix 'getdescriptoractivity' RPCHelpMan, add test to verify fix 1dab8d0635 Merge bitcoin/bitcoin#33113: refactor: Use immediate lambda to work around GCC bug 117966 45bdbb1317 Merge bitcoin/bitcoin#33122: test: remove duplicated code in test/functional/wallet_migration.py a45cc17d34 Merge bitcoin/bitcoin#33115: cmake: Switch to generated `ts_files.cmake` file b90da9c2e9 Merge bitcoin/bitcoin#33138: ci: Pass CI_FAILFAST_TEST_LEAVE_DANGLING into container fa1d2f6380 ci: Pass CI_FAILFAST_TEST_LEAVE_DANGLING into container fd813bf863 Merge bitcoin/bitcoin#33002: ci: Only pass documented env vars 9617a42fdb Merge bitcoin/bitcoin#32581: allocators: Apply manual ASan poisoning to `PoolResource` 33e7fc51f4 Merge bitcoin/bitcoin#33133: rpc: fix getpeerinfo ping duration unit docs 721a051320 test: add coverage for -netinfo header and local services f7d2db28e9 netinfo: return shortened services, if peers list requested 4489ab526a netinfo: return local services in the default report 1252eeb997 rpc: fix getpeerinfo ping duration unit docs eb073209db qa: test witness stripping in p2p_segwit 6a7c0d3f87 test: refactor to remove duplicated test code d1b583181d Merge bitcoin/bitcoin#32654: init: make `-blockmaxweight` startup option debug only 50a92cd56f Merge bitcoin/bitcoin#33060: test: Slay BnB Mutants 643bacd124 Merge bitcoin/bitcoin#33058: test: add assertions to SRD max weight test eeb0b31e3a Merge bitcoin/bitcoin#32941: p2p: TxOrphanage revamp cleanups c0642e558a [fuzz] fix latency score check in txorphan_protected 0cb1ed2b7c Merge bitcoin/bitcoin#33132: fuzz: txgraph: fix `real_is_optimal` flag propagation in `CommitStaging` a26fbee38f qt: Translations update 444dcb2f99 fuzz: txgraph: fix `real_is_optimal` flag propagation in `CommitStaging` 83a2216f52 Merge bitcoin/bitcoin#33118: test: fix anti-fee-sniping off-by-one error 3543bfdfec test: Fix 'getdescriptoractivity' RPCHelpMan, add test to verify 'spend_vin' is the correct field e07e2532b4 test: fix anti-fee-sniping off-by-one error c7a24c3052 ci: Re-enable DEBUG=1 in centos task 3d4d4f0d92 scripted-diff: rename "ann" variables to "latency_score" 3b92448923 [doc] comment fixups for orphanage changes 1384dbaf6d [config] emit warning for -maxorphantx, but allow it to be set b10c55b298 fix up TxOrphanage lower_bound sanity checks cfd71c6704 scripted-diff: rename TxOrphanage outpoints index edb97bb3f1 [logging] add logs for inner loop of LimitOrphans 8a58d0e87d scripted-diff: rename OrphanTxBase to OrphanInfo cc50f2f0df [cleanup] replace TxOrphanage::Size() with CountUniqueOrphans ed24e01696 [optimization] Maintain at most 1 reconsiderable announcement per wtxid af7402ccfa [refactor] make TxOrphanage keep itself trimmed d1fac25ff3 [doc] 31829 release note 75ed673193 Merge bitcoin/bitcoin#33048: test: reduce runtime of p2p_opportunistic_1p1c.py ca04eebd72 cmake: Switch to generated `ts_files.cmake` file 95341de6ca cmake, refactor: Move handling of Qt TS files into `locale` directory 24246c3deb Merge bitcoin/bitcoin#31385: package validation: relax the package-not-child-with-unconfirmed-parents rule b8025b30cc Merge bitcoin/bitcoin#32559: doc: add alpine build instructions 18d1071dd1 init: replace deprecated PermissionsStartOnly systemd directive 1caaf65043 init: remove Group= as it will default to the user's default group a7bafb3e05 refactor: Use immediate lambda to work around GCC bug 117966 b093a19ae2 cmake: Proactively avoid use of `SECP256K1_DISABLE_SHARED` eb59a192d9 cmake, refactor: Encapsulate adding secp256k1 subtree in function 4f27e8ca4d Merge bitcoin/bitcoin#33083: qa: test that we do not disconnect a peer for submitting an invalid compact block bfc9d95129 Merge bitcoin/bitcoin#33104: test: Perform backup filename checks in migrate_and_get_rpc in wallet_migration.py 8712e074bb Merge bitcoin/bitcoin#33093: refactor: remove unused `ser_writedata16be` and `ser_readdata16be` 5ee4e79669 Merge bitcoin/bitcoin#31244: descriptors: MuSig2 4b80147feb test: Perform backup filename checks in migrate_and_get_rpc aef2dbb402 Merge bitcoin/bitcoin#33099: ci: allow for any libc++ intrumentation & use it for TSAN 8283af13fe Merge bitcoin/bitcoin#32584: depends: hard-code necessary c(xx)flags rather than setting them per-host 547c64814d Merge bitcoin/bitcoin#32987: init: [gui] Avoid UB/crash in InitAndLoadChainstate e6bfd95d50 Merge bitcoin-core/gui#881: Move `FreespaceChecker` class into its own module 8a94cf8efe Merge bitcoin/bitcoin#30635: rpc: add optional blockhash to waitfornewblock, unhide wait methods in help dc78ed2140 Merge bitcoin/bitcoin#33005: refactor: GenTxid type safety followups 3cb65ffa83 Merge bitcoin/bitcoin#33100: ci: remove `ninja-build` from MSAN jobs 7aa5b67132 ci: remove DEBUG_LOCKORDER from TSAN job b09af2ce50 ci: instrument libc++ in TSAN job 6653cafd0b ci: allow libc++ instrumentation other than msan 3333d3f75f ci: Only pass documented env vars 3fe3fdb02b Merge bitcoin/bitcoin#33102: fuzz: cover BanMan::IsDiscouraged c2ed576d2c fuzz: cover BanMan::IsDiscouraged 3a03f07560 qt: Avoid header circular dependency cab6736b70 ci: remove ninja-build from MSAN jobs 0431a690c3 cleanup: remove unused `ser_writedata16be` and `ser_readdata16be` 00604296e1 Merge bitcoin/bitcoin#32866: doc: add note for watch-only wallet migration 91058877ff Merge bitcoin/bitcoin#32273: wallet: Fix relative path backup during migration. 6b99670e3c Merge bitcoin/bitcoin#33075: doc: Add legacy wallet removal release notes 2cef200340 Merge bitcoin/bitcoin#28944: wallet, rpc: add anti-fee-sniping to `send` and `sendall` 932e993b37 Merge bitcoin/bitcoin#33073: guix: warn SOURCE_DATE_EPOCH set in guix-codesign 0bed946e5d Merge bitcoin/bitcoin#33079: ci: limit max stack size to 512 KiB 28ec91c30e Merge bitcoin/bitcoin#33088: doc: move `cmake -B build -LH` up in Unix build docs c157438116 qa: test that we do disconnect upon a second invalid compact block being announced 2f410ad78c Merge bitcoin/bitcoin#32263: cluster mempool: add TxGraph work controls 6757052fc4 doc: move `cmake -B build -LH` up in Unix build docs 9954d6c833 depends: hard-code necessary c(xx)flags rather than setting them per-host 953c90d764 Merge bitcoin/bitcoin#33086: contrib: [tracing] fix pointer argument handling in mempool_monitor.py 5888b4a2a5 doc: add note for watch-only wallet migration 3b23f95e34 ci: limit max stack size to 512 KiB 2931a87477 ci: limit stack size to 512kb in native macOS jobs 3724e9b40a Merge bitcoin/bitcoin#32973: validation: docs and cleanups for MemPoolAccept coins views 0ce041ea88 tracing: fix pointer argument handling in mempool_monitor.py 25884bd896 qt, refactor: Move `FreespaceChecker` class into its own module fb2dcbb160 qa: test cached failure for compact block f12d8b104e qa: test a compact block with an invalid transaction d6c37b28a7 qa: remove unnecessary tx removal from compact block 321984705d Merge bitcoin/bitcoin#32279: [IBD] prevector: store `P2WSH`/`P2TR`/`P2PK` scripts inline 94b39ce738 refactor: Change `m_tx_inventory_to_send` from `std::set<GenTxid>` to `std::set<Wtxid>` fa45ccc15d doc: Add legacy wallet removal release notes 2a97ff466d Merge bitcoin/bitcoin#29954: RPC: Return `permitbaremultisig` and `maxdatacarriersize` in `getmempoolinfo` fd068257e0 Merge bitcoin/bitcoin#33065: rpc, wallet: replace remaining hardcoded output types with `FormatAllOutputTypes` 9cafdf8941 Merge bitcoin/bitcoin#33064: test: fix RPC coverage check fdbade6f8d kernel: create monolithic kernel static library c8309198f8 Merge bitcoin/bitcoin#33070: doc/zmq: fix unix socket path example 1bed0f734b guix: warn SOURCE_DATE_EPOCH set in guix-codesign cc33e45789 test: improve assertion for SRD max weight test 1c10b7351e RPC: Return permitbaremultisig and maxdatacarriersize in getmempoolinfo e83699a626 doc/zmq: fix unix socket path example 8aed477c33 test: fix RPC coverage check 2630b64f81 test: add abortrescan RPC test 75a5c8258e Merge bitcoin/bitcoin#33063: util: Revert "common: Close non-std fds before exec in RunCommandJSON" d5104cfbae prevector: store `P2WSH`/`P2TR`/`P2PK` scripts inline 52121506b2 test: assert `CScript` allocation characteristics 65ac7f6d4d refactor: modernize `CScriptBase` definition 756da2a994 refactor: extract `STATIC_SIZE` constant to prevector 251d020846 init, wallet: replace hardcoded output types with `FormatAllOutputTypes` 3b188b8b3d Merge bitcoin/bitcoin#31576: test: Move `script_assets_tests` into its own suite 2e97541396 Merge bitcoin/bitcoin#32944: wallet: Remove `upgradewallet` RPC b08041cac8 Merge bitcoin/bitcoin#32845: rpc, test: Fix JSON parsing errors in unloadwallet and getdescriptoractivity RPCs a3cf623364 test: Test max_selection_weight edge cases 57fe8acc8a test: Check max_weight_exceeded error e3ba0757a9 rpc, wallet: replace remaining hardcoded output types with `FormatAllOutputTypes` fc162299f0 Merge bitcoin/bitcoin#32994: p2p: rename GetAddresses -> GetAddressesUnsafe 633d8ea17b Merge bitcoin/bitcoin#32970: ci: Enable more shellcheck faa1c3e80d Revert "Merge bitcoin/bitcoin#32343: common: Close non-std fds before exec in RunCommandJSON" 6cdc5a90cf Merge bitcoin/bitcoin#32967: log: [refactor] Use info level for init logs 443c32a3e6 Merge bitcoin/bitcoin#32822: fuzz: Make process_message(s) more deterministic face8123fd log: [refactor] Use info level for init logs fa183761cb log: Remove function name from init logs 5ad79b2035 Merge bitcoin/bitcoin#32593: wallet, rpc: Move (Un)LockCoin WalletBatch creation out of RPC ea17a9423f [doc] release note for relaxing requirement of all unconfirmed parents present 12f48d5ed3 test: add chained 1p1c propagation test 525be56741 [unit test] package submission 2p1c with 1 parent missing f24771af05 relax child-with-unconfirmed-parents rule e17fb86382 Merge bitcoin/bitcoin#32888: ci: Use optimized Debug build type in test-each-commit fd3d80c209 Merge bitcoin/bitcoin#33047: test: check proper OP_2ROT behavior 1119ac51f0 Merge bitcoin/bitcoin#33040: doc: update headers and remove manual TOCs e2f2df0ead Merge bitcoin/bitcoin#32984: wallet: Set migrated wallet name only on success 16f7b43b68 Merge bitcoin/bitcoin#33049: doc: Fix typos in asmap README b59dc21847 doc: Fix typos in asmap README ca38cf701d doc: fix a few obvious typos in the affected files ddab466e0d doc: remove manual TOCs 26a3730711 doc: unify `developer-notes` and `productivity` header styles eb13718448 Merge bitcoin/bitcoin#31179: RPC: Add reserve member function to `UniValue` and use it in `blockToJSON` function 86e3a0a8cb refactor: standardize obfuscation memory alignment 13f00345c0 refactor: write `Obfuscation` object when new key is generated in dbwrapper eb65f57f31 [test] setmocktime instead of waiting in 1p1c tests 70772dd469 [test] cut the number of transactions involved in 1p1c DoS tests b94c6356a2 test: check proper OP_2ROT behavior 73e754bd01 Merge bitcoin/bitcoin#33001: test: Do not pass tests on unhandled exceptions a9819b0e9d refactor: Change `FindTxForGetData` to take GenTxid instead of CInv d588575ed1 refactor: miscellaneous GenTxid followups cfb859e82e Merge bitcoin/bitcoin#33037: doc: Add release notes for 32521 (MAX_TX_LEGACY_SIGOPS) afd3b34dc5 Merge bitcoin/bitcoin#33004: Enable `-natpmp` by default 49bbf9ff28 Merge bitcoin/bitcoin#33036: Update secp256k1 subtree to latest master c5c1960f93 doc: Add release notes for changes in RPCs 90fd5acbe5 rpc, test: Fix error message in getdescriptoractivity 39fef1d203 test: Add missing logging info for each test 53ac704efd rpc, test: Fix error message in unloadwallet 1fc3a8e8e7 rpc, test: Add EnsureUniqueWalletName tests 900bb53905 Merge bitcoin/bitcoin#32990: wallet: remove outdated `pszSkip` arg of database `Rewrite` func c8ec423719 Merge bitcoin/bitcoin#33020: test: delete commented-out tests and add a test case in wallet_signer 09f004bd9f Merge bitcoin/bitcoin#32945: tests: speed up coins_tests by parallelizing 5d98fc7559 Merge bitcoin/bitcoin#33030: test: check tx is final when there is no locktime e5b1b7c557 refactor: rename `OBFUSCATION_KEY_KEY` 298bf95105 refactor: simplify `Obfuscation::HexKey` 2dea045425 test: make `obfuscation_serialize` more thorough a17d8202c3 test: merge xor_roundtrip_random_chunks and xor_bytes_reference b635bc0896 rpc, util: Add EnsureUniqueWalletName da318fe53f test: delete commented out tests 6d80e999a0 test: external signer returns invalid JSON response 065e42976a test: IsFinalTx returns true when there is no locktime 1cb2399703 doc: clarify the GetAddresses/GetAddressesUnsafe documentation e5a7dfd79f p2p: rename GetAddresses -> GetAddressesUnsafe faa2f3b1af doc: Add release notes for 32521 (MAX_TX_LEGACY_SIGOPS) 336b8be37b Update secp256k1 subtree to latest master 5600e6fc4b Squashed 'src/secp256k1/' changes from 4187a46649..b9313c6e1a 06ab3a394a tests: speed up coins_tests by parallelizing 7129c9ea8e Merge bitcoin/bitcoin#32827: mempool: Avoid needless vtx iteration during IBD 11c6a864c9 Merge bitcoin/bitcoin#33007: test: fix `ReadTopologicalSet` unsigned integer overflow 9bc33432e2 Merge bitcoin/bitcoin#32999: ci: Use APT_LLVM_V in msan task 5878f35446 Merge bitcoin/bitcoin#31144: [IBD] multi-byte block obfuscation 249889bee6 orphanage: avoid vtx iteration when no orphans 41ad2be434 mempool: Avoid expensive loop in `removeForBlock` during IBD e9edd43a95 Merge bitcoin/bitcoin#32521: policy: make pathological transactions packed with legacy sigops non-standard 80067ac111 Merge bitcoin/bitcoin#31829: p2p: improve TxOrphanage denial of service bounds 31c4e77a25 test: fix ReadTopologicalSet unsigned integer overflow 672c85cb1e Merge bitcoin/bitcoin#32868: test: refactor: overhaul block hash determination for `CBlock{,Header}` objects fa1a14a13a fuzz: Reset chainman state in process_message(s) targets fa9a3de09b fuzz: DisableNextWrite aeeeeec9f7 fuzz: Reset dirty connman state in process_message(s) targets fa11eea405 fuzz: Avoid non-determinism in process_message(s) target (PeerMan) faa3e68411 test: Log KeyboardInterrupt as exception fac90e5261 test: Check that the GUI interactive reindex works b2d07f872c Add release notes for -natpmp enabled by default 3fc660d267 mapport: turn -natpmp to on by default fa30b34026 test: Do not pass tests on unhandled exceptions 96da68a38f qa: functional test a transaction running into the legacy sigop limit 367147954d qa: unit test standardness of inputs packed with legacy sigops 5863315e33 policy: make pathological transactions packed with legacy sigops non-standard. 5fa34951ea test: avoid unneeded block header hash -> integer conversions 2118301d77 test: rename CBlockHeader `.hash` -> `.hash_hex` for consistency 23be0ec2f0 test: rename CBlockHeader `.rehash()`/`.sha256` -> `.hash_int` for consistency 8b09cc350a test: remove bare CBlockHeader `.rehash()`/`.calc_sha256()` calls 0716382c20 test: remove header hash caching in CBlockHeader class 0f044e82bd test: avoid direct block header modification in feature_block.py f3c791d2e3 test: refactor: dedup `CBlockHeader` serialization fad040a578 ci: Use APT_LLVM_V in msan task 76fe0e59ec test: Migration of a wallet ending in `../` f0bb3d50fe test: Migration of a wallet ending in `/` 41faef5f80 test: Migration fail recovery w/ `../` in path 63c6d36437 test: Migration of a wallet with `../` in path. 70f1c99c90 wallet: Fix migration of wallets with pathnames. f6ee59b6e2 wallet: migration: Make backup in walletdir e22c3599c6 test: wallet: Check direct file backup name. 060695c22a test: Failed load after migrate should restore backup 248b6a27c3 optimization: peel align-head and unroll body to 64 bytes e7114fc6dc optimization: migrate fixed-size obfuscation from `std::vector<std::byte>` to `uint64_t` 478d40afc6 refactor: encapsulate `vector`/`array` keys into `Obfuscation` 377aab8e5a refactor: move `util::Xor` to `Obfuscation().Xor` fa5d296e3b refactor: prepare mempool_persist for obfuscation key change 6bbf2d9311 refactor: prepare `DBWrapper` for obfuscation key change 0b8bec8aa6 scripted-diff: unify xor-vs-obfuscation nomenclature 972697976c bench: make ObfuscationBench more representative 618a30e326 test: compare util::Xor with randomized inputs against simple impl a5141cd39e test: make sure dbwrapper obfuscation key is never obfuscated 54ab0bd64c refactor: commit to 8 byte obfuscation keys 7aa557a37b random: add fixed-size `std::array` generation b6d4688f77 [doc] reword comments in test_mid_package_replacement f3a613aa5b [cleanup] delete brittle test_mid_package_eviction 9f713b83dc Merge bitcoin/bitcoin#32837: depends: fix libevent `_WIN32_WINNT` usage 2dfeb6668c wallet: remove outdated `pszSkip` arg of database `Rewrite` func faaaddaaf8 init: [gui] Avoid UB/crash in InitAndLoadChainstate 8a4cfddf23 wallet: Set migrated wallet name only on success 4f502baf8f doc: add alpine depends build instructions d89c6fa4a7 wallet: Remove `upgradewallet` RPC 184159e4f3 Merge bitcoin/bitcoin#32922: test: use notarized v28.2 binaries and fix macOS detection 5d17e64a02 Merge bitcoin/bitcoin#32677: test: headers sync timeout 0087ba409b Merge bitcoin/bitcoin#32968: test: fix intermittent failure in rpc_invalidateblock.py 50024620b9 [bench] worst case LimitOrphans and EraseForBlock 45c7a4b56d [functional test] orphan resolution works in the presence of DoSy peers 835f5c77cd [prep/test] restart instead of bumpmocktime between p2p_orphan_handling subtests b113877545 [fuzz] Add simulation fuzz test for TxOrphanage 03aaaedc6d [prep] Return the made-reconsiderable announcements in AddChildrenToWorkSet ea29c4371e [p2p] bump DEFAULT_MAX_ORPHANAGE_LATENCY_SCORE to 3,000 24afee8d8f [fuzz] TxOrphanage protects peers that don't go over limit a2878cfb4a [unit test] strengthen GetChildrenFromSamePeer tests: results are in recency order 7ce3b7ee57 [unit test] basic TxOrphanage eviction and protection 4d23d1d7e7 [cleanup] remove unused rng param from LimitOrphans 067365d2a8 [p2p] overhaul TxOrphanage with smarter limits 1a41e7962d [refactor] create aliases for TxOrphanage Count and Usage b50bd72c42 [prep] change return type of EraseTx to bool 3da6d7f8f6 [prep/refactor] make TxOrphanage a virtual class implemented by TxOrphanageImpl 77ebe8f280 [prep/test] have TxOrphanage remember its own limits in LimitOrphans d0af4239b7 [prep/refactor] move DEFAULT_MAX_ORPHAN_TRANSACTIONS to txorphanage.h 51365225b8 [prep/config] remove -maxorphantx 8dd24c29ae [prep/test] modify test to not access TxOrphanage internals c3cd7fcb2c [doc] remove references to now-nonexistent Finalize() function d8140f5f05 don't make a copy of m_non_base_coins 98ba2b1db2 [doc] MemPoolAccept coins views ba02c30b8a [doc] always CleanupTemporaryCoins after a mempool trim b53fab1467 Merge bitcoin/bitcoin#32948: refactor: cleanup index logging 62ed1f92ef txgraph: check that DoWork finds optimal if given high budget (tests) f3c2fc867f txgraph: add work limit to DoWork(), try optimal (feature) fa1fd07468 ci: Enable more shellcheck e96b00d99e txgraph: make number of acceptable iterations configurable (feature) cfe9958852 txgraph: track amount of work done in linearization (preparation) 6ba316eaa0 txgraph: 1-or-2-tx split-off clusters are optimal (optimization) fad0eb091e txgraph: reset quality when merging clusters (bugfix) 61e800e75c test: headers sync timeout 28416f367a test: fix intermittent failure in rpc_invalidateblock.py e72cb20c3f Merge bitcoin/bitcoin#32943: depends: Force `CMAKE_EXPORT_NO_PACKAGE_REGISTRY=TRUE` 97fb46d0a0 Merge bitcoin/bitcoin#32880: ci: Avoid cd into build dir 69b9ad02da Merge bitcoin/bitcoin#32954: cmake: Drop no longer necessary "cmakeMinimumRequired" object faa3171ff2 ci: Use optimized Debug build type in test-each-commit fa21c3401e ci: [doc] reword debug log message 12a6959892 cmake: Drop no longer necessary "cmakeMinimumRequired" object 44f5327824 [fuzz] add SeedRandomStateForTest(SeedRand::ZEROS) to txorphan 15a4ec9069 [prep/rpc] remove entry and expiry time from getorphantxs 08e58fa911 [prep/refactor] move txorphanage to node namespace and directory bb91d23fa9 [txorphanage] change type of usage to int64_t c18bf0bd9b refactor: cleanup index logging f5647c6c5a depends: fix libevent _WIN32_WINNT usage 44f3bae300 depends: Force `CMAKE_EXPORT_NO_PACKAGE_REGISTRY=TRUE` fad191ff48 ci: Avoid cd into build dir 4bb4c86599 test: document HOST for get_previous_releases.py 609203d507 test: stop signing previous releases >= v28.2 c6dc2c29f8 test: replace v28.0 with notarized v28.2 5bd73d96a3 test: fix macOS detection d3b8a54a81 Refactor CFeeRate to use FeeFrac internally f49840dd90 doc: Fix typo in files.md f5cf0b1ccc bitcoin wrapper: improve help output aac0b6dd79 test: test sendall and send do anti-fee-sniping 20802c7b65 wallet, rpc: add anti-fee-sniping to `send` and `sendall` 5fe7915c86 doc: Add musig() example d576079ab4 tests: Test musig() parsing a53924bee3 descriptor: Parse musig() key expressions 9473e9606c descriptors: Move DeriveType parsing into its own function 4af0dca096 descriptor: Add MuSigPubkeyProvider c40dbbbf77 test: Move `script_assets_tests` into its own suite d00d95437d Add MuSig2 Keyagg Cache helper functions 8ecea91bf2 sign: Add GetMuSig2ParticipantPubkeys to SigningProvider fac0ee0bfc build: Enable secp256k1 musig module 1894f97503 descriptors: Add PubkeyProvider::IsBIP32() 12bc1d0b1e util/string: Allow Split to include the separator 8811312571 script/parsing: Allow Const to not skip the found constant e017ef3c7e init: make `-blockmaxweight` startup option debug-only 6135e0553e wallet, rpc: Move (Un)LockCoin WalletBatch creation out of RPC c810b168b8 doc: Add description of installed files to files.md 94ffd01a02 doc: Add release notes describing libexec/ binaries cd97905ebc cmake: Move internal binaries from bin/ to libexec/ ad132761fc [allocators] Apply manual ASan poisoning to PoolResource 5fe4c66462 XOnlyPubKey: Add GetCPubKeys 5332082d00 doc: add alpine build instructions c6e2c31c55 rpc: unhide waitfor{block,newblock,blockheight} 0786b7509a rpc: add optional blockhash to waitfornewblock 5d82d92aff rpc: reserve space for `UniValue` variables in `blockToJSON` 6a506d5c37 UniValue: add reserve member function bd461195f4 bench: support benching all verbosity of `BlockToJson` REVERT: 1ffc1c9d94 kernel: Fix bitcoin-chainstate for windows REVERT: 686c4108cc kernel: Add Purpose section to header documentation REVERT: 8d47a40731 kernel: Add pure kernel bitcoin-chainstate REVERT: ba84650882 kernel: Add functions to get the block hash from a block REVERT: a421727342 kernel: Add block index utility functions to C header REVERT: aedbe73cf0 kernel: Add function to read block undo data from disk to C header REVERT: 109dda0845 kernel: Add functions to read block from disk to C header REVERT: 3e24c34ad4 kernel: Add function for copying block data to C header REVERT: 9ab3d14c1d kernel: Add functions for the block validation state to C header REVERT: 4408228f85 kernel: Add validation interface to C header REVERT: 0c3054ef4b kernel: Add interrupt function to C header REVERT: 45895c4ac7 kernel: Add import blocks function to C header REVERT: 994c869ba2 kernel: Add chainstate load options for in-memory dbs in C header REVERT: b4ad47e312 kernel: Add options for reindexing in C header REVERT: 591b28d615 kernel: Add block validation to C header REVERT: a1fe6b4264 kernel: Add chainstate loading when instantiating a ChainstateManager REVERT: 0cf99f827e kernel: Add chainstate manager option for setting worker threads REVERT: c18b35135c kernel: Add chainstate manager object to C header REVERT: 1de2db7eac kernel: Add notifications context option to C header REVERT: b1e6a28d17 kernel: Add chain params context option to C header REVERT: 369cfd3f6c kernel: Add kernel library context object REVERT: f9e13dbb1a kernel: Add logging to kernel library C header REVERT: ce12888287 kernel: Introduce initial kernel C header API git-subtree-dir: depend/bitcoin git-subtree-split: 35fced5df783bc79720d8a74b89a5a0a62ebab72
bce88ae28a kernel: Fix bitcoin-chainstate for windows 3a7e9f0eaf kernel: Add Purpose section to header documentation 5bae79ace5 kernel: Allowing reducing exports d0308a2489 kernel: Add pure kernel bitcoin-chainstate 05a569070c kernel: Add functions to get the block hash from a block 8566ec6e83 kernel: Add block index utility functions to C header b4d0e80f84 kernel: Add function to read block undo data from disk to C header 488999ac77 kernel: Add functions to read block from disk to C header 3dc76bb7f7 kernel: Add function for copying block data to C header 6151b45a42 kernel: Add functions for the block validation state to C header 5d00432f27 kernel: Add validation interface to C header facf209aee kernel: Add interrupt function to C header 129f553e4e kernel: Add import blocks function to C header f7ed7b944d kernel: Add chainstate load options for in-memory dbs in C header 67d9f53a98 kernel: Add options for reindexing in C header ebc826319f kernel: Add block validation to C header 511a1c8a78 kernel: Add chainstate loading when instantiating a ChainstateManager aad295899e kernel: Add chainstate manager option for setting worker threads c701cb2405 kernel: Add chainstate manager object to C header 1df8b87602 kernel: Add notifications context option to C header 571c1a2acb kernel: Add chain params context option to C header a2cab9f1cd kernel: Add kernel library context object 944ef6b630 kernel: Add logging to kernel library C header d0cb841fba kernel: Introduce initial kernel C header API 04c115dfde Merge bitcoin/bitcoin#33078: kernel: improve BlockChecked ownership semantics bc797d2271 Merge bitcoin/bitcoin#33154: test: use local `CBlockIndex` in block read hash mismatch check d3c58a5be9 Merge bitcoin/bitcoin#33193: Release: Prepare "Translation string freeze" step 9cf7b3d90c Merge bitcoin/bitcoin#33211: test: modify logging_filesize_rate_limit params f5f853d952 Merge bitcoin/bitcoin#32878: index: fix wrong assert of current_tip == m_best_block_index 5dda364c4b test: modify logging_filesize_rate_limit params 0df2c3c42e qt: Update `src/qt/locale/bitcoin_en.xlf` translation source file 22e689587a Merge bitcoin/bitcoin#33209: cmake: Drop python dependency for translate be356fc49b Merge bitcoin/bitcoin#32896: wallet, rpc: add v3 transaction creation and wallet support 3c4a109aa8 cmake: Drop python dependency for translate f58de8749e Merge bitcoin/bitcoin#32345: ipc: Handle unclean shutdowns better d31dc8f818 Merge bitcoin/bitcoin#33200: cmake: Introduce translate.cmake script for translate target 05255d5d1e cmake: Drop dependency on sed for translate target d5054beca5 cmake: Introduce translate.cmake script for translate target 57e8f34fe2 Merge bitcoin/bitcoin#32977: wallet: Remove wallet version and several legacy related functions 97593c1fd3 Merge bitcoin/bitcoin#32975: assumevalid: log every script validation state change 5c8bf7b39e doc: add release notes for version 3 transactions 4ef8065a5e test: add truc wallet tests 5d932e14db test: extract `bulk_vout` from `bulk_tx` so it can be used by wallet tests 2cb473d9f2 rpc: Support version 3 transaction creation 4c20343b4d rpc: Add transaction min standard version parameter c5a2d08011 wallet: don't return utxos from multiple truc txs in AvailableCoins da8748ad62 wallet: limit v3 tx weight in coin selection 85c5410615 wallet: mark unconfirmed v3 siblings as mempool conflicts 0804fc3cb1 wallet: throw error at conflicting tx versions in pre-selected inputs cc155226fe wallet: set m_version in coin control to default value 2e9617664e wallet: don't include unconfirmed v3 txs with children in available coins ec2676becd wallet: unconfirmed ancestors and descendants are always truc 7b4a1350df Merge bitcoin/bitcoin#33183: validation: rename block script verification error from "mandatory" to "block" c99f5c5e1b Merge bitcoin/bitcoin#33106: policy: lower the default blockmintxfee, incrementalrelayfee, minrelaytxfee 578b512bdd Merge bitcoin/bitcoin#33011: log: rate limiting followups 8405fdb06e Merge bitcoin/bitcoin#33169: interfaces, chain, refactor: Remove unused getTipLocator and incaccurate getActiveChainLocator c0d91fc69c Add release note for #33050 and #33183 error string changes e17b5da0d6 Merge bitcoin/bitcoin#33179: doc: update wallet build instruction 9b1a7c3e8d Merge bitcoin/bitcoin#33116: refactor: Convert uint256 to Txid b3f781a0ef contrib: adapt max reject string size in tracing demo 9a04635432 scripted-diff: validation: rename mandatory errors into block errors dbf8b0980b Merge bitcoin/bitcoin#33171: ci: Update `actions/checkout` version d6887f0cec Merge bitcoin/bitcoin#33178: guix: increase maximum allowed (runtime) GCC to 7 2b00030af8 interfaces, chain, refactor: Remove inaccurate getActiveChainLocator 110a0f405c interfaces, chain, refactor: Remove unused getTipLocator dadf15f88c Merge bitcoin/bitcoin#33050: net, validation: don't punish peers for consensus-invalid txs cb173b8e93 test: use local `CBlockIndex` in block read hash mismatch test to avoid data race 73972d5617 Merge bitcoin/bitcoin#31296: wallet: Translate [default wallet] string in progress messages 67e186deb0 doc: update wallet build instruction 5c74a0b397 config: add DEBUG_ONLY -logratelimit 9f3b017bcc test: logging_filesize_rate_limit improvements 350193e5e2 test: don't leak log category mask across tests 05d7c22479 test: add ReadDebugLogLines helper function 3d630c2544 log: make m_limiter a shared_ptr ec484bd5ce Merge bitcoin/bitcoin#31453: util: detect and warn when using exFAT on MacOS 776a163374 guix: increase maximum allowed (runtime) GCC to 7 ba84a25dee [doc] update mempool-replacements.md for incremental relay feerate change 273e600e65 Merge bitcoin/bitcoin#33021: test/refactor: revive test verifying that `GetCoinsCacheSizeState` switches from OK→LARGE→CRITICAL 18720bc5d5 [doc] release note for min feerate changes 6da5de58ca [policy] lower default minrelaytxfee and incrementalrelayfee to 100sat/kvB 2e515d2897 [prep/test] make wallet_fundrawtransaction's minrelaytxfee assumption explicit 457cfb61b5 [prep/util] help MockMempoolMinFee handle more precise feerates 3eab8b7240 [prep/test] replace magic number 1000 with respective feerate vars 5f2df0ef78 [miner] lower default -blockmintxfee to 1sat/kvB d6213d6aa1 [doc] assert that default min relay feerate and incremental are the same 1fbee5d7b6 [test] explicitly check default -minrelaytxfee and -incrementalrelayfee 72dc18467d [test] RBF rule 4 for various incrementalrelayfee settings 85f498893f [test] check bypass of minrelay for various minrelaytxfee settings e5f896bb1f [test] check miner doesn't select 0fee transactions de0675f9de refactor: Move `transaction_identifier.h` to primitives 6f068f65de Remove implicit uint256 conversion and comparison 9c24cda72e refactor: Convert remaining instances from uint256 to Txid d2ecd6815d policy, refactor: Convert uint256 to Txid f6c0d1d231 mempool, refactor: Convert uint256 to Txid aeb0f78330 refactor: Convert `mini_miner` from uint256 to Txid 326f244724 refactor: Convert RPCs and `merkleblock` from uint256 to Txid 41642d43b3 Merge bitcoin/bitcoin#33162: test: fix scripts in `blockfilter_basic_test` f83c01d882 ci: Update `actions/checkout` version a27430e259 Merge bitcoin/bitcoin#32473: Introduce per-txin sighash midstate cache for legacy/p2sh/segwitv0 scripts 34b366fa2c Merge bitcoin/bitcoin#33155: contrib: drop `bitcoin-util` exception from FORTIFY check ca64b71ed5 test: fix scripts in `blockfilter_basic_test` daca51bf80 Merge bitcoin/bitcoin#32750: refactor: CFeeRate encapsulates FeeFrac internally fab2980bdc assumevalid: log every script validation state change e8f9c37a3b log: clean up LogPrintStr_ and Reset, prefix all logs with "[*]" when there are suppressions 3c7cae49b6 log: change LogLimitStats to struct LogRateLimiter::Stats 876dbdfb47 tests: drop expect_disconnect behaviour for tx relay b29ae9efdf validation: only check input scripts once 266dd0e10d net_processing: drop MaybePunishNodeForTx db3228042b util: detect and warn when using exFAT on macOS f679bad605 Merge bitcoin/bitcoin#33105: validation: detect witness stripping without re-running Script checks 63d604af05 Merge bitcoin/bitcoin#33152: Release: Prepare "Open Transifex translations for v30.0" step 27aefac425 validation: detect witness stripping without re-running Script checks 2907b58834 policy: introduce a helper to detect whether a transaction spends Segwit outputs 4bff4ce561 contrib: drop bitcoin-util exception from FORTIFY check 26e9db2df0 Merge bitcoin/bitcoin#31886: cli: return local services in -netinfo 2bb06bcaf2 Merge bitcoin/bitcoin#31679: cmake: Install internal binaries to <prefix>/libexec/ 6a2bb0fd83 Merge bitcoin/bitcoin#33151: subtree: update crc32c subtree 656e16aa5e qt: Update the `src/qt/locale/bitcoin_en.xlf` translation source file a0eaa44925 Fix typos b43b8be782 Merge bitcoin/bitcoin#33125: ci: Use mlc `v1` and fix typos 8d4aaaec49 Update Transifex slug for 30.x 8ef8dd6871 Update crc32c subtree to latest upstream master 9a5d29711a Squashed 'src/crc32c/' changes from b60d2b7334..efb8ea04e4 f28a94b40e ci: update shellcheck to v0.11.0 e46af30441 ci: update mlc to v1 7d60c0eb69 fix typo 49f2f3c89f doc: fix typos d818340e7e test: Rename shuffled_indeces to shuffled_indices 96f8673b87 doc: fix typos d767503b6a Merge bitcoin/bitcoin#33039: refactor,test: follow-ups to multi-byte block obfuscation cf15d45192 Merge bitcoin/bitcoin#33044: contrib: drop use of `PermissionsStartOnly` & `Group=` 83950275ed qa: unit test sighash caching b221aa80a0 qa: simple differential fuzzing for sighash with/without caching 92af9f74d7 script: (optimization) introduce sighash midstate caching 8f3ddb0bcc script: (refactor) prepare for introducing sighash midstate cache 9014d4016a tests: add sighash caching tests to feature_taproot d7ed47fb80 Merge bitcoin/bitcoin#33077: kernel: create monolithic kernel static library 38e6ea9f3a Merge bitcoin/bitcoin#33101: cmake: Proactively avoid use of `SECP256K1_DISABLE_SHARED` c92115dcb2 Merge bitcoin/bitcoin#33119: rpc: Fix 'getdescriptoractivity' RPCHelpMan, add test to verify fix 1dab8d0635 Merge bitcoin/bitcoin#33113: refactor: Use immediate lambda to work around GCC bug 117966 45bdbb1317 Merge bitcoin/bitcoin#33122: test: remove duplicated code in test/functional/wallet_migration.py a45cc17d34 Merge bitcoin/bitcoin#33115: cmake: Switch to generated `ts_files.cmake` file b90da9c2e9 Merge bitcoin/bitcoin#33138: ci: Pass CI_FAILFAST_TEST_LEAVE_DANGLING into container fa1d2f6380 ci: Pass CI_FAILFAST_TEST_LEAVE_DANGLING into container fd813bf863 Merge bitcoin/bitcoin#33002: ci: Only pass documented env vars 49b3d3a92a Clean up `FindTxForGetData` 9617a42fdb Merge bitcoin/bitcoin#32581: allocators: Apply manual ASan poisoning to `PoolResource` 33e7fc51f4 Merge bitcoin/bitcoin#33133: rpc: fix getpeerinfo ping duration unit docs 721a051320 test: add coverage for -netinfo header and local services f7d2db28e9 netinfo: return shortened services, if peers list requested 4489ab526a netinfo: return local services in the default report 1252eeb997 rpc: fix getpeerinfo ping duration unit docs eb073209db qa: test witness stripping in p2p_segwit 6a7c0d3f87 test: refactor to remove duplicated test code d1b583181d Merge bitcoin/bitcoin#32654: init: make `-blockmaxweight` startup option debug only 50a92cd56f Merge bitcoin/bitcoin#33060: test: Slay BnB Mutants 2581258ec2 ipc: Handle bitcoin-wallet disconnections 2160995916 ipc: Add Ctrl-C handler for spawned subprocesses 0c28068ceb doc: Improve IPC interface comments 7f65aac78b ipc: Avoid waiting for clients to disconnect when shutting down 6eb09fd614 test: Add unit test coverage for Init and Shutdown code 9a9fb19536 ipc: Use EventLoopRef instead of addClient/removeClient 5c45bc989b Merge commit 'e886c65b6b37aaaf5d22ca68bc14e55d8ec78212' into pr/ipc-stop-base e886c65b6b Squashed 'src/ipc/libmultiprocess/' changes from 27c7e8e5a581..b4120d34bad2 643bacd124 Merge bitcoin/bitcoin#33058: test: add assertions to SRD max weight test eeb0b31e3a Merge bitcoin/bitcoin#32941: p2p: TxOrphanage revamp cleanups c0642e558a [fuzz] fix latency score check in txorphan_protected 0cb1ed2b7c Merge bitcoin/bitcoin#33132: fuzz: txgraph: fix `real_is_optimal` flag propagation in `CommitStaging` a26fbee38f qt: Translations update 444dcb2f99 fuzz: txgraph: fix `real_is_optimal` flag propagation in `CommitStaging` 83a2216f52 Merge bitcoin/bitcoin#33118: test: fix anti-fee-sniping off-by-one error 3543bfdfec test: Fix 'getdescriptoractivity' RPCHelpMan, add test to verify 'spend_vin' is the correct field e07e2532b4 test: fix anti-fee-sniping off-by-one error c7a24c3052 ci: Re-enable DEBUG=1 in centos task 3aef38f44b test: exercise index reorg assertion failure acf50233cd index: fix wrong assert of current_tip == m_best_block_index 3d4d4f0d92 scripted-diff: rename "ann" variables to "latency_score" 3b92448923 [doc] comment fixups for orphanage changes 1384dbaf6d [config] emit warning for -maxorphantx, but allow it to be set b10c55b298 fix up TxOrphanage lower_bound sanity checks cfd71c6704 scripted-diff: rename TxOrphanage outpoints index edb97bb3f1 [logging] add logs for inner loop of LimitOrphans 8a58d0e87d scripted-diff: rename OrphanTxBase to OrphanInfo cc50f2f0df [cleanup] replace TxOrphanage::Size() with CountUniqueOrphans ed24e01696 [optimization] Maintain at most 1 reconsiderable announcement per wtxid af7402ccfa [refactor] make TxOrphanage keep itself trimmed d1fac25ff3 [doc] 31829 release note 75ed673193 Merge bitcoin/bitcoin#33048: test: reduce runtime of p2p_opportunistic_1p1c.py ca04eebd72 cmake: Switch to generated `ts_files.cmake` file 95341de6ca cmake, refactor: Move handling of Qt TS files into `locale` directory 24246c3deb Merge bitcoin/bitcoin#31385: package validation: relax the package-not-child-with-unconfirmed-parents rule b8025b30cc Merge bitcoin/bitcoin#32559: doc: add alpine build instructions 18d1071dd1 init: replace deprecated PermissionsStartOnly systemd directive 1caaf65043 init: remove Group= as it will default to the user's default group 1d9f1cb4bd kernel: improve BlockChecked ownership semantics a7bafb3e05 refactor: Use immediate lambda to work around GCC bug 117966 b093a19ae2 cmake: Proactively avoid use of `SECP256K1_DISABLE_SHARED` eb59a192d9 cmake, refactor: Encapsulate adding secp256k1 subtree in function 4f27e8ca4d Merge bitcoin/bitcoin#33083: qa: test that we do not disconnect a peer for submitting an invalid compact block bfc9d95129 Merge bitcoin/bitcoin#33104: test: Perform backup filename checks in migrate_and_get_rpc in wallet_migration.py 8712e074bb Merge bitcoin/bitcoin#33093: refactor: remove unused `ser_writedata16be` and `ser_readdata16be` 5ee4e79669 Merge bitcoin/bitcoin#31244: descriptors: MuSig2 4b80147feb test: Perform backup filename checks in migrate_and_get_rpc aef2dbb402 Merge bitcoin/bitcoin#33099: ci: allow for any libc++ intrumentation & use it for TSAN 8283af13fe Merge bitcoin/bitcoin#32584: depends: hard-code necessary c(xx)flags rather than setting them per-host 547c64814d Merge bitcoin/bitcoin#32987: init: [gui] Avoid UB/crash in InitAndLoadChainstate e6bfd95d50 Merge bitcoin-core/gui#881: Move `FreespaceChecker` class into its own module 8a94cf8efe Merge bitcoin/bitcoin#30635: rpc: add optional blockhash to waitfornewblock, unhide wait methods in help dc78ed2140 Merge bitcoin/bitcoin#33005: refactor: GenTxid type safety followups 3cb65ffa83 Merge bitcoin/bitcoin#33100: ci: remove `ninja-build` from MSAN jobs 7aa5b67132 ci: remove DEBUG_LOCKORDER from TSAN job b09af2ce50 ci: instrument libc++ in TSAN job 6653cafd0b ci: allow libc++ instrumentation other than msan 3333d3f75f ci: Only pass documented env vars 3fe3fdb02b Merge bitcoin/bitcoin#33102: fuzz: cover BanMan::IsDiscouraged c2ed576d2c fuzz: cover BanMan::IsDiscouraged 3a03f07560 qt: Avoid header circular dependency cab6736b70 ci: remove ninja-build from MSAN jobs 0431a690c3 cleanup: remove unused `ser_writedata16be` and `ser_readdata16be` 00604296e1 Merge bitcoin/bitcoin#32866: doc: add note for watch-only wallet migration 91058877ff Merge bitcoin/bitcoin#32273: wallet: Fix relative path backup during migration. 6b99670e3c Merge bitcoin/bitcoin#33075: doc: Add legacy wallet removal release notes 2cef200340 Merge bitcoin/bitcoin#28944: wallet, rpc: add anti-fee-sniping to `send` and `sendall` 932e993b37 Merge bitcoin/bitcoin#33073: guix: warn SOURCE_DATE_EPOCH set in guix-codesign 0bed946e5d Merge bitcoin/bitcoin#33079: ci: limit max stack size to 512 KiB 28ec91c30e Merge bitcoin/bitcoin#33088: doc: move `cmake -B build -LH` up in Unix build docs c157438116 qa: test that we do disconnect upon a second invalid compact block being announced 2f410ad78c Merge bitcoin/bitcoin#32263: cluster mempool: add TxGraph work controls 6757052fc4 doc: move `cmake -B build -LH` up in Unix build docs 9954d6c833 depends: hard-code necessary c(xx)flags rather than setting them per-host 953c90d764 Merge bitcoin/bitcoin#33086: contrib: [tracing] fix pointer argument handling in mempool_monitor.py 5888b4a2a5 doc: add note for watch-only wallet migration 3b23f95e34 ci: limit max stack size to 512 KiB 2931a87477 ci: limit stack size to 512kb in native macOS jobs 3724e9b40a Merge bitcoin/bitcoin#32973: validation: docs and cleanups for MemPoolAccept coins views 0ce041ea88 tracing: fix pointer argument handling in mempool_monitor.py 25884bd896 qt, refactor: Move `FreespaceChecker` class into its own module fb2dcbb160 qa: test cached failure for compact block f12d8b104e qa: test a compact block with an invalid transaction d6c37b28a7 qa: remove unnecessary tx removal from compact block 554befd873 test: revive `getcoinscachesizestate` 64ed0fa6b7 refactor: modernize `LargeCoinsCacheThreshold` 1b40dc02a6 refactor: extract `LargeCoinsCacheThreshold` from `GetCoinsCacheSizeState` 321984705d Merge bitcoin/bitcoin#32279: [IBD] prevector: store `P2WSH`/`P2TR`/`P2PK` scripts inline 94b39ce738 refactor: Change `m_tx_inventory_to_send` from `std::set<GenTxid>` to `std::set<Wtxid>` fa45ccc15d doc: Add legacy wallet removal release notes 8319a13468 log: clarify RATELIMIT_MAX_BYTES comment, use RATELIMIT_WINDOW 5f70bc80df log: remove const qualifier from arguments in LogPrintFormatInternal b8e92fb3d4 log: avoid double hashing in SourceLocationHasher 616bc22f13 test: remove noexcept(false) comment in ~DebugLogHelper 2a97ff466d Merge bitcoin/bitcoin#29954: RPC: Return `permitbaremultisig` and `maxdatacarriersize` in `getmempoolinfo` fd068257e0 Merge bitcoin/bitcoin#33065: rpc, wallet: replace remaining hardcoded output types with `FormatAllOutputTypes` 9ba1fff29e kernel: refactor: ConnectTip to pass block pointer by value 9cafdf8941 Merge bitcoin/bitcoin#33064: test: fix RPC coverage check fdbade6f8d kernel: create monolithic kernel static library c8309198f8 Merge bitcoin/bitcoin#33070: doc/zmq: fix unix socket path example 1bed0f734b guix: warn SOURCE_DATE_EPOCH set in guix-codesign cc33e45789 test: improve assertion for SRD max weight test 1c10b7351e RPC: Return permitbaremultisig and maxdatacarriersize in getmempoolinfo e83699a626 doc/zmq: fix unix socket path example 8aed477c33 test: fix RPC coverage check 2630b64f81 test: add abortrescan RPC test 75a5c8258e Merge bitcoin/bitcoin#33063: util: Revert "common: Close non-std fds before exec in RunCommandJSON" d5104cfbae prevector: store `P2WSH`/`P2TR`/`P2PK` scripts inline 52121506b2 test: assert `CScript` allocation characteristics 65ac7f6d4d refactor: modernize `CScriptBase` definition 756da2a994 refactor: extract `STATIC_SIZE` constant to prevector 251d020846 init, wallet: replace hardcoded output types with `FormatAllOutputTypes` 60d1042b9a wallet: Remove unused `WalletFeature` enums 66de58208a wallet: Remove `CWallet::nWalletVersion` and related functions 3b188b8b3d Merge bitcoin/bitcoin#31576: test: Move `script_assets_tests` into its own suite 7cda3d0f5b wallet: Remove `IsFeatureSupported()` and `CanSupportFeature()` ba01585229 wallet: `MigrateToDescriptor` no longer calls `CanSupportFeature` 63acee2797 wallet: Remove `GetClosestWalletFeature()` e27da3150b wallet: Remove `GetVersion()` 2e97541396 Merge bitcoin/bitcoin#32944: wallet: Remove `upgradewallet` RPC b08041cac8 Merge bitcoin/bitcoin#32845: rpc, test: Fix JSON parsing errors in unloadwallet and getdescriptoractivity RPCs a3cf623364 test: Test max_selection_weight edge cases 57fe8acc8a test: Check max_weight_exceeded error e3ba0757a9 rpc, wallet: replace remaining hardcoded output types with `FormatAllOutputTypes` fc162299f0 Merge bitcoin/bitcoin#32994: p2p: rename GetAddresses -> GetAddressesUnsafe 633d8ea17b Merge bitcoin/bitcoin#32970: ci: Enable more shellcheck faa1c3e80d Revert "Merge bitcoin/bitcoin#32343: common: Close non-std fds before exec in RunCommandJSON" 6cdc5a90cf Merge bitcoin/bitcoin#32967: log: [refactor] Use info level for init logs 443c32a3e6 Merge bitcoin/bitcoin#32822: fuzz: Make process_message(s) more deterministic face8123fd log: [refactor] Use info level for init logs fa183761cb log: Remove function name from init logs 5ad79b2035 Merge bitcoin/bitcoin#32593: wallet, rpc: Move (Un)LockCoin WalletBatch creation out of RPC ea17a9423f [doc] release note for relaxing requirement of all unconfirmed parents present 12f48d5ed3 test: add chained 1p1c propagation test 525be56741 [unit test] package submission 2p1c with 1 parent missing f24771af05 relax child-with-unconfirmed-parents rule e17fb86382 Merge bitcoin/bitcoin#32888: ci: Use optimized Debug build type in test-each-commit fd3d80c209 Merge bitcoin/bitcoin#33047: test: check proper OP_2ROT behavior 1119ac51f0 Merge bitcoin/bitcoin#33040: doc: update headers and remove manual TOCs e2f2df0ead Merge bitcoin/bitcoin#32984: wallet: Set migrated wallet name only on success 16f7b43b68 Merge bitcoin/bitcoin#33049: doc: Fix typos in asmap README b59dc21847 doc: Fix typos in asmap README ca38cf701d doc: fix a few obvious typos in the affected files ddab466e0d doc: remove manual TOCs 26a3730711 doc: unify `developer-notes` and `productivity` header styles eb13718448 Merge bitcoin/bitcoin#31179: RPC: Add reserve member function to `UniValue` and use it in `blockToJSON` function 86e3a0a8cb refactor: standardize obfuscation memory alignment 13f00345c0 refactor: write `Obfuscation` object when new key is generated in dbwrapper eb65f57f31 [test] setmocktime instead of waiting in 1p1c tests 70772dd469 [test] cut the number of transactions involved in 1p1c DoS tests b94c6356a2 test: check proper OP_2ROT behavior 73e754bd01 Merge bitcoin/bitcoin#33001: test: Do not pass tests on unhandled exceptions a9819b0e9d refactor: Change `FindTxForGetData` to take GenTxid instead of CInv d588575ed1 refactor: miscellaneous GenTxid followups cfb859e82e Merge bitcoin/bitcoin#33037: doc: Add release notes for 32521 (MAX_TX_LEGACY_SIGOPS) afd3b34dc5 Merge bitcoin/bitcoin#33004: Enable `-natpmp` by default 49bbf9ff28 Merge bitcoin/bitcoin#33036: Update secp256k1 subtree to latest master c5c1960f93 doc: Add release notes for changes in RPCs 90fd5acbe5 rpc, test: Fix error message in getdescriptoractivity 39fef1d203 test: Add missing logging info for each test 53ac704efd rpc, test: Fix error message in unloadwallet 1fc3a8e8e7 rpc, test: Add EnsureUniqueWalletName tests 900bb53905 Merge bitcoin/bitcoin#32990: wallet: remove outdated `pszSkip` arg of database `Rewrite` func c8ec423719 Merge bitcoin/bitcoin#33020: test: delete commented-out tests and add a test case in wallet_signer 09f004bd9f Merge bitcoin/bitcoin#32945: tests: speed up coins_tests by parallelizing 5d98fc7559 Merge bitcoin/bitcoin#33030: test: check tx is final when there is no locktime e5b1b7c557 refactor: rename `OBFUSCATION_KEY_KEY` 298bf95105 refactor: simplify `Obfuscation::HexKey` 2dea045425 test: make `obfuscation_serialize` more thorough a17d8202c3 test: merge xor_roundtrip_random_chunks and xor_bytes_reference b635bc0896 rpc, util: Add EnsureUniqueWalletName da318fe53f test: delete commented out tests 6d80e999a0 test: external signer returns invalid JSON response 065e42976a test: IsFinalTx returns true when there is no locktime 1cb2399703 doc: clarify the GetAddresses/GetAddressesUnsafe documentation e5a7dfd79f p2p: rename GetAddresses -> GetAddressesUnsafe faa2f3b1af doc: Add release notes for 32521 (MAX_TX_LEGACY_SIGOPS) 336b8be37b Update secp256k1 subtree to latest master 5600e6fc4b Squashed 'src/secp256k1/' changes from 4187a46649..b9313c6e1a 06ab3a394a tests: speed up coins_tests by parallelizing 7129c9ea8e Merge bitcoin/bitcoin#32827: mempool: Avoid needless vtx iteration during IBD 11c6a864c9 Merge bitcoin/bitcoin#33007: test: fix `ReadTopologicalSet` unsigned integer overflow 9bc33432e2 Merge bitcoin/bitcoin#32999: ci: Use APT_LLVM_V in msan task 5878f35446 Merge bitcoin/bitcoin#31144: [IBD] multi-byte block obfuscation 249889bee6 orphanage: avoid vtx iteration when no orphans 41ad2be434 mempool: Avoid expensive loop in `removeForBlock` during IBD e9edd43a95 Merge bitcoin/bitcoin#32521: policy: make pathological transactions packed with legacy sigops non-standard 80067ac111 Merge bitcoin/bitcoin#31829: p2p: improve TxOrphanage denial of service bounds 31c4e77a25 test: fix ReadTopologicalSet unsigned integer overflow 672c85cb1e Merge bitcoin/bitcoin#32868: test: refactor: overhaul block hash determination for `CBlock{,Header}` objects fa1a14a13a fuzz: Reset chainman state in process_message(s) targets fa9a3de09b fuzz: DisableNextWrite aeeeeec9f7 fuzz: Reset dirty connman state in process_message(s) targets fa11eea405 fuzz: Avoid non-determinism in process_message(s) target (PeerMan) faa3e68411 test: Log KeyboardInterrupt as exception fac90e5261 test: Check that the GUI interactive reindex works b2d07f872c Add release notes for -natpmp enabled by default 3fc660d267 mapport: turn -natpmp to on by default fa30b34026 test: Do not pass tests on unhandled exceptions 96da68a38f qa: functional test a transaction running into the legacy sigop limit 367147954d qa: unit test standardness of inputs packed with legacy sigops 5863315e33 policy: make pathological transactions packed with legacy sigops non-standard. 5fa34951ea test: avoid unneeded block header hash -> integer conversions 2118301d77 test: rename CBlockHeader `.hash` -> `.hash_hex` for consistency 23be0ec2f0 test: rename CBlockHeader `.rehash()`/`.sha256` -> `.hash_int` for consistency 8b09cc350a test: remove bare CBlockHeader `.rehash()`/`.calc_sha256()` calls 0716382c20 test: remove header hash caching in CBlockHeader class 0f044e82bd test: avoid direct block header modification in feature_block.py f3c791d2e3 test: refactor: dedup `CBlockHeader` serialization fad040a578 ci: Use APT_LLVM_V in msan task 76fe0e59ec test: Migration of a wallet ending in `../` f0bb3d50fe test: Migration of a wallet ending in `/` 41faef5f80 test: Migration fail recovery w/ `../` in path 63c6d36437 test: Migration of a wallet with `../` in path. 70f1c99c90 wallet: Fix migration of wallets with pathnames. f6ee59b6e2 wallet: migration: Make backup in walletdir e22c3599c6 test: wallet: Check direct file backup name. 060695c22a test: Failed load after migrate should restore backup 248b6a27c3 optimization: peel align-head and unroll body to 64 bytes e7114fc6dc optimization: migrate fixed-size obfuscation from `std::vector<std::byte>` to `uint64_t` 478d40afc6 refactor: encapsulate `vector`/`array` keys into `Obfuscation` 377aab8e5a refactor: move `util::Xor` to `Obfuscation().Xor` fa5d296e3b refactor: prepare mempool_persist for obfuscation key change 6bbf2d9311 refactor: prepare `DBWrapper` for obfuscation key change 0b8bec8aa6 scripted-diff: unify xor-vs-obfuscation nomenclature 972697976c bench: make ObfuscationBench more representative 618a30e326 test: compare util::Xor with randomized inputs against simple impl a5141cd39e test: make sure dbwrapper obfuscation key is never obfuscated 54ab0bd64c refactor: commit to 8 byte obfuscation keys 7aa557a37b random: add fixed-size `std::array` generation b6d4688f77 [doc] reword comments in test_mid_package_replacement f3a613aa5b [cleanup] delete brittle test_mid_package_eviction 9f713b83dc Merge bitcoin/bitcoin#32837: depends: fix libevent `_WIN32_WINNT` usage 2dfeb6668c wallet: remove outdated `pszSkip` arg of database `Rewrite` func faaaddaaf8 init: [gui] Avoid UB/crash in InitAndLoadChainstate 8a4cfddf23 wallet: Set migrated wallet name only on success 4f502baf8f doc: add alpine depends build instructions d89c6fa4a7 wallet: Remove `upgradewallet` RPC 184159e4f3 Merge bitcoin/bitcoin#32922: test: use notarized v28.2 binaries and fix macOS detection 5d17e64a02 Merge bitcoin/bitcoin#32677: test: headers sync timeout 0087ba409b Merge bitcoin/bitcoin#32968: test: fix intermittent failure in rpc_invalidateblock.py 50024620b9 [bench] worst case LimitOrphans and EraseForBlock 45c7a4b56d [functional test] orphan resolution works in the presence of DoSy peers 835f5c77cd [prep/test] restart instead of bumpmocktime between p2p_orphan_handling subtests b113877545 [fuzz] Add simulation fuzz test for TxOrphanage 03aaaedc6d [prep] Return the made-reconsiderable announcements in AddChildrenToWorkSet ea29c4371e [p2p] bump DEFAULT_MAX_ORPHANAGE_LATENCY_SCORE to 3,000 24afee8d8f [fuzz] TxOrphanage protects peers that don't go over limit a2878cfb4a [unit test] strengthen GetChildrenFromSamePeer tests: results are in recency order 7ce3b7ee57 [unit test] basic TxOrphanage eviction and protection 4d23d1d7e7 [cleanup] remove unused rng param from LimitOrphans 067365d2a8 [p2p] overhaul TxOrphanage with smarter limits 1a41e7962d [refactor] create aliases for TxOrphanage Count and Usage b50bd72c42 [prep] change return type of EraseTx to bool 3da6d7f8f6 [prep/refactor] make TxOrphanage a virtual class implemented by TxOrphanageImpl 77ebe8f280 [prep/test] have TxOrphanage remember its own limits in LimitOrphans d0af4239b7 [prep/refactor] move DEFAULT_MAX_ORPHAN_TRANSACTIONS to txorphanage.h 51365225b8 [prep/config] remove -maxorphantx 8dd24c29ae [prep/test] modify test to not access TxOrphanage internals c3cd7fcb2c [doc] remove references to now-nonexistent Finalize() function d8140f5f05 don't make a copy of m_non_base_coins 98ba2b1db2 [doc] MemPoolAccept coins views ba02c30b8a [doc] always CleanupTemporaryCoins after a mempool trim b53fab1467 Merge bitcoin/bitcoin#32948: refactor: cleanup index logging 62ed1f92ef txgraph: check that DoWork finds optimal if given high budget (tests) f3c2fc867f txgraph: add work limit to DoWork(), try optimal (feature) fa1fd07468 ci: Enable more shellcheck e96b00d99e txgraph: make number of acceptable iterations configurable (feature) cfe9958852 txgraph: track amount of work done in linearization (preparation) 6ba316eaa0 txgraph: 1-or-2-tx split-off clusters are optimal (optimization) fad0eb091e txgraph: reset quality when merging clusters (bugfix) 61e800e75c test: headers sync timeout 28416f367a test: fix intermittent failure in rpc_invalidateblock.py e72cb20c3f Merge bitcoin/bitcoin#32943: depends: Force `CMAKE_EXPORT_NO_PACKAGE_REGISTRY=TRUE` 97fb46d0a0 Merge bitcoin/bitcoin#32880: ci: Avoid cd into build dir 69b9ad02da Merge bitcoin/bitcoin#32954: cmake: Drop no longer necessary "cmakeMinimumRequired" object 7566b40bd2 Merge bitcoin/bitcoin#32961: fix spelling in tor.md docs faa3171ff2 ci: Use optimized Debug build type in test-each-commit fa21c3401e ci: [doc] reword debug log message 84ef5524d5 fix spelling in tor.md docs 12a6959892 cmake: Drop no longer necessary "cmakeMinimumRequired" object 6a13a6106e Merge bitcoin/bitcoin#32937: Enable `-Werror=dev` in CI & Guix 44f5327824 [fuzz] add SeedRandomStateForTest(SeedRand::ZEROS) to txorphan 15a4ec9069 [prep/rpc] remove entry and expiry time from getorphantxs 08e58fa911 [prep/refactor] move txorphanage to node namespace and directory bb91d23fa9 [txorphanage] change type of usage to int64_t 23e15d40b9 Merge bitcoin/bitcoin#32631: refactor: Convert GenTxid to `std::variant` 8ffbd7b778 Merge bitcoin/bitcoin#32940: cmake: Use newer signature of `qt6_add_lrelease` when available 80ce513766 Merge bitcoin/bitcoin#32933: log: Properly log warnings with warn loglevel in addrdb c18bf0bd9b refactor: cleanup index logging 8f766f39df ci: enable -Werror=dev 7b420ca834 guix: configure with -Werror=dev 44097ddb19 cmake: enable -Werror=dev in dev-mode preset 12fb00fd42 Merge bitcoin/bitcoin#32927: fuzz: Add missing calls to `SetMockTime` for determinism f5647c6c5a depends: fix libevent _WIN32_WINNT usage 3c1418666b Merge bitcoin/bitcoin#32930: Resolve guix non-determinism with emplace_back instead of push_back bad998b7c0 Merge bitcoin/bitcoin#32921: test: less ambiguous error if bitcoind is missing 7f28e80329 Merge bitcoin/bitcoin#32758: wallet: remove dead code in legacy wallet migration 5ef0d4897b Merge bitcoin/bitcoin#30605: Cluster linearization: separate tests from tests-of-tests f43571010e Resolve guix non-determinism with emplace_back instead of push_back 44f3bae300 depends: Force `CMAKE_EXPORT_NO_PACKAGE_REGISTRY=TRUE` 94931656b5 cmake: Use newer signature of `qt6_add_lrelease` when available fad191ff48 ci: Avoid cd into build dir b80ead8a71 Merge bitcoin/bitcoin#32890: bench: Avoid tmp files in pwd c4f90900b5 Merge bitcoin/bitcoin#32932: test: Add missing convert_to_json_for_cli fa894b0f3e log: Properly log warnings with warn loglevel in addrdb 83ae7802fe Merge bitcoin/bitcoin#32881: test: Turn rpcauth.py test into functional test fa0528479d test: Add missing convert_to_json_for_cli a40e953658 Merge bitcoin/bitcoin#30479: validation: Add eligible ancestors of reconsidered block to setBlockIndexCandidates 1ca62edd85 Merge bitcoin/bitcoin#32580: wallet, test: best block locator matches scan state follow-ups 2cad7226c2 Merge bitcoin/bitcoin#32799: mempool: use `FeeFrac` for ancestor/descendant score comparators 2d59977601 Merge bitcoin/bitcoin#32604: log: Mitigate disk filling attacks by rate limiting LogPrintf, LogInfo, LogWarning, LogError 4c772cbd83 doc: add release notes for new rate limiting logging behavior d541409a64 log: Add rate limiting to LogPrintf, LogInfo, LogWarning, LogError, LogPrintLevel a6a35cc0c2 log: use std::source_location in place of __func__, __FILE__, __LINE__ afb9e39ec5 log: introduce LogRateLimiter, LogLimitStats, Status df7972a6cf test: Mark ~DebugLogHelper as noexcept(false) fa8862723c fuzz: CheckGlobals in init fa26bfde98 test: Avoid resetting mocktime in testing setup fa6b45fa8e Add SetMockTime for time_point types a60f863d3e scripted-diff: Replace GenTxidVariant with GenTxid c8ba199598 Remove old GenTxid class 072a198ea4 Convert remaining instances of GenTxid to GenTxidVariant 1b528391c7 Convert `txrequest` to GenTxidVariant bde4579b07 Convert `txdownloadman_impl` to GenTxidVariant c876a892ec Replace GenTxid with Txid/Wtxid overloads in `txmempool` de858ce2be move-only: make GetInfo a private CTxMemPool member 4bb4c86599 test: document HOST for get_previous_releases.py 609203d507 test: stop signing previous releases >= v28.2 c6dc2c29f8 test: replace v28.0 with notarized v28.2 5bd73d96a3 test: fix macOS detection eee473d9f3 Convert `CompareInvMempoolOrder` to GenTxidVariant b7e9dc8e46 Merge bitcoin/bitcoin#32884: rest: replace `rf_names[0].rf` by `RESTResponseFormat::UNDEF` fa4d68cf97 Turn rpcauth.py test into functional test 83bb414557 test: less ambiguous error if bitcoind is missing 150b5c99ca wallet: replace `reload_wallet` with inline functionality 927055e42a Merge bitcoin/bitcoin#32893: doc: fix `BlockConnected` incorrect comment a8bff38236 Merge bitcoin/bitcoin#32862: rpc: use CScheduler for relocking wallet and remove RPCTimer 21b42f3c55 Merge bitcoin/bitcoin#32660: rpc: Use type-safe exception to pass RPC help 528f79f010 Merge bitcoin/bitcoin#32835: test: fix feature_init.py intermittencies fc543f94a9 Merge bitcoin/bitcoin#32385: test: refactor out same-txid-diff-wtxid tx to reuse in other tests 09add84fc5 Merge bitcoin/bitcoin#32618: wallet: Remove ISMINE_WATCHONLY and watchonly from RPCs 87ab69155d Merge bitcoin/bitcoin#31553: cluster mempool: add TxGraph reorg functionality 4e69aa5701 doc: fix `BlockConnected` incorrect comment d33c111448 Merge bitcoin/bitcoin#32829: threading: use correct mutex name in reverse_lock fatal error messages de4eef52d1 threading: use correct mutex name in reverse_lock fatal error messages fa2fbaa4a2 bench: Avoid tmp files in pwd d3b8a54a81 Refactor CFeeRate to use FeeFrac internally 6d19815cd4 rest: replace `rf_names[0].rf` by `RESTResponseFormat::UNDEF` for code clarity f49840dd90 doc: Fix typo in files.md 4207d9bf82 test: feature_init, ensure indexes are synced prior to perturbing files e3f416dbf7 Merge bitcoin/bitcoin#32463: test: fix an incorrect `feature_fee_estimation.py` subtest ea4285775e Merge bitcoin/bitcoin#29307: util: explicitly close all AutoFiles that have been written f5cf0b1ccc bitcoin wrapper: improve help output 51ccc71b1b Merge bitcoin/bitcoin#32858: doc: Add workaround for vcpkg issue with paths with embedded spaces fcfd3db563 remove RPCTimerInterface and RPCRunLater 8a1765795f use WalletContext scheduler for walletpassphrase callback 927e9b220f Merge bitcoin/bitcoin#32716: depends: Override host compilers for FreeBSD and OpenBSD c7fe8abb5f Merge bitcoin/bitcoin#31233: cmake: Improve Python robustness and test usability 6251949443 Merge bitcoin/bitcoin#32290: test: allow all functional tests to be run or skipped with --usecli 0f86da382d wallet: remove dead code in legacy wallet migration 49d5f1f2c6 Merge bitcoin/bitcoin#32850: test: check P2SH sigop count for coinbase tx abd07cf733 test: feature_init, only init what's needed per perturbation/deletion round 1927432354 Merge bitcoin/bitcoin#32859: functional test: correctly detect nonstd TRUC tx vsize in feature_taproot 68ca13e1f9 Merge bitcoin/bitcoin#32823: test: Fix wait_for_getheaders() call in test_outbound_eviction_blocks_relay_only() 35cae56a92 Merge bitcoin/bitcoin#31423: wallet: migration, avoid creating spendable wallet from a watch-only legacy wallet 1632fc104b txgraph: Track multiple potential would-be clusters in Trim (improvement) 4608df37e0 txgraph: add Trim benchmark (benchmark) 9c436ff01c txgraph: add fuzz test scenario that avoids cycles inside Trim() (tests) 938e86f8fe txgraph: add unit test for TxGraph::Trim (tests) a04e205ab0 txgraph: Add ability to trim oversized clusters (feature) eabcd0eb6f txgraph: remove unnecessary m_group_oversized (simplification) 19b14e61ea txgraph: Permit transactions that exceed cluster size limit (feature) c4287b9b71 txgraph: Add ability to configure maximum cluster size/weight (feature) f0524cda39 functional test: correctly detect nonstd TRUC tx vsize in feature_taproot 0a1af4418e doc: Add workaround for vcpkg issue with paths with embedded spaces a92e8b10a5 Merge bitcoin/bitcoin#32564: miniscript, refactor: Make `operator""_mst` `consteval` (re-take) bf75c9964f Merge bitcoin/bitcoin#32828: build, docs: Fix Boost-related issues on NetBSD 7fa9b58bd9 Merge bitcoin/bitcoin#32841: feature_taproot: sample tx version border values more 1b5c545e82 wallet, test: best block locator matches scan state follow-ups fa33592898 Merge bitcoin/bitcoin#32723: Refactor: Redefine CTransaction equality to include witness data ce000c8ee0 Merge bitcoin/bitcoin#32219: test: enabling wallet migration functional test on windows f33154c464 Merge bitcoin/bitcoin#32432: wallet, rpc: Use `OUTPUT_TYPES` to describe the output types instead of hardcoding them fa9b1e3544 Merge bitcoin/bitcoin#32846: doc: clarify that the "-j N" goes after the "--build build" part b1a8ac07e9 doc: Release note for removed watchonly parameters and results 15710869e1 wallet: Remove ISMINE_WATCH_ONLY 4439bf4b41 wallet, spend: Remove fWatchOnly from CCoinControl 1337c72198 wallet, rpc: Remove watchonly from RPCs e81d95d435 wallet: Remove watchonly balances d20dc9c6aa wallet: Wallets without private keys cannot grind R 9991f49c38 test: Watchonly wallets should estimate larger size d6aaffcb11 test: check P2SH sigop count for coinbase tx b1821d8dd3 Merge bitcoin/bitcoin#27286: wallet: Keep track of the wallet's own transaction outputs in memory 0e9f409db3 doc: clarify that the "-j N" goes after the "--build build" part 67dc7523f3 cmake, test: Disable tests instead of ignoring them bb9157db5d cmake, refactor: Switch to `Python3::Interpreter` imported target ed7a841f82 Merge bitcoin/bitcoin#32816: contrib: correct variable name in p2p_monitor.py 2ae5154dd8 Merge bitcoin/bitcoin#32842: doc: add `/spenttxouts` to REST-interface.md 243553d590 refactor: replace get_iter_from_wtxid with GetIter(const Wtxid&) fcf92fd640 refactor: make CTxMemPool::GetIter strongly typed 23a00fcf57 Merge bitcoin/bitcoin#32783: doc: Add fetching single PRs from upstream to productivity.md dd99cedc0b doc: add `/spenttxouts` to REST-interface.md 4be81e9746 feature_taproot: sample tx version border values more 6e5b67a370 Merge bitcoin/bitcoin#32697: test: Turn util/test_runner into functional test fb2c16cf7b Merge bitcoin/bitcoin#32826: p2p: add more bad ports f5f3e1f263 Merge bitcoin/bitcoin#32646: p2p: Add witness mutation check inside FillBlock a763497b1d Merge bitcoin/bitcoin#32834: test: Use msg_generic in p2p_ping.py fa3f100010 test: Use msg_generic in p2p_ping.py 33480573cb Merge bitcoin/bitcoin#32833: test: Add `msgtype` to `msg_generic` slots 9501738e1c Merge bitcoin/bitcoin#32825: rest: rename `strURIPart` to `uri_part` 5a5ddbd789 build: Add workaround for NetBSD bug in `Boost::headers` target 6967e8e8ab add more bad p2p ports 7dc43ea503 test: Add msgtype to msg_generic slots 4eb3cee919 doc: Update NetBSD Build Guide 856f4235b1 scripted-diff: rest: rename `strURIPart` -> `uri_part` b3bb4031ab Merge bitcoin/bitcoin#32540: rest: fetch spent transaction outputs by blockhash 3086c21df4 Merge bitcoin/bitcoin#32243: test: added fuzz coverage for consensus/merkle.cpp 319ff58bbd Merge bitcoin/bitcoin#32638: blocks: force hash validations on disk read ec004cdb86 test: Use rehash() in outbound eviction block-relay 26598ed21e test: Clarify roles in outbound eviction comments 689318ccd9 Merge bitcoin/bitcoin#32667: build: Find Boost in config mode 4a3475a43e Merge bitcoin/bitcoin#32819: Add release note for #32530 558f0880a8 Add release note for #32530 c43cc48aaa Merge bitcoin/bitcoin#32530: node: cap `-maxmempool` and `-dbcache` values for 32-bit 4145a9463a Merge bitcoin/bitcoin#32731: depends: Build `qt` package for FreeBSD hosts 14653b869b build: Find Boost in config mode 67ea4b9994 Merge bitcoin/bitcoin#32814: cmake: Explicitly specify `Boost_ROOT` for Homebrew's package 5170ec1ae3 Merge bitcoin/bitcoin#32665: depends: Bump boost to 1.88.0 and use new CMake buildsystem 8fafb81320 Merge bitcoin/bitcoin#32805: cmake: Use `HINTS` instead of `PATHS` in `find_*` commands 6bb38bf37f Update p2p_monitor.py 9b75cfda4d test: retain the intended behavior of `feature_fee_estimation.py` nodes 5c1236f04a test: fix incorrect subtest in `feature_fee_estimation.py` e5f9218b6a Merge bitcoin/bitcoin#32742: test: fix catchup loop in outbound eviction functional test 11d28f21bb Implement GenTxid as a variant 215e5999e2 wallet: Remove unused CachedTxGet{Available,Immature}Credit 49675de035 wallet: Have GetDebit use the wallet's TXO set 17d453cb3a wallet: Recompute wallet TXOs after descriptor migration 764016eb22 wallet: Retrieve TXO directly in FetchSelectedInputs c1801b78f1 wallet: Use wallet's TXO set in AvailableCoins dde7cbe105 wallet: Change balance calculation to use m_txos 96e7a89c5e wallet: Recalculate the wallet's txos after any imports ae888c38d0 wallet: Exit IsTrustedTx early if wtx is already in trusted_parents ae0876ec42 wallet: Keep track of transaction outputs owned by the wallet 0f269bc48c walletdb: Load Txs last 5cc32ee2a7 test: Test for balance update due to untracked output becoming spendable 8222341d4f wallet: MarkDirty after AddWalletDescriptor e02f2d331c bench: Have AvailableCoins benchmark include a lot of unrelated utxos f27898c8bf Merge bitcoin/bitcoin#32721: wallet, rpc: Remove deprecated balances from getwalletinfo and getunconfirmedbalance 8578fabb95 Merge bitcoin/bitcoin#32597: wallet: Always set descriptor cache upgraded flag for new wallets 941b8f54c0 ci: run get_previous_releases as part of test cross win job 5e2182140b test: increment mocked time for migrating wallet backups 5174565802 ci: disable feature_unsupported_utxo_db functional test 3dc90d69a6 test: remove mempool.dat before copying 67a6b20d50 test: add windows support to get previous releases script 01f9081955 Merge bitcoin/bitcoin#32768: wallet: Remove `CWalletTx::fTimeReceivedIsTxTime` c1d8a542b4 Merge bitcoin/bitcoin#32727: doc: add release notes for #32425 1a1b478ca3 scripted-diff: rename tarball to archive 4f06dc8484 test: remove building from source from get prev releases script 45b1d39757 doc: Add fetching single PRs from upstream 8800b5acc1 cmake: Explicitly specify `Boost_ROOT` for Homebrew's package b9a2e8ee96 doc: add release notes for https://github.com/bitcoin/bitcoin/pull/32425 aac0b6dd79 test: test sendall and send do anti-fee-sniping 20802c7b65 wallet, rpc: add anti-fee-sniping to `send` and `sendall` 6c2538d5bf depends: Bump boost to 1.88.0 and use new CMake buildsystem 7d5a6d1739 Merge bitcoin/bitcoin#32798: build: add root dir to CMAKE_PREFIX_PATH in toolchain a34fb9ad6c miniscript: Make `operator""_mst` `consteval` 14052162b1 Revert "miniscript: make operator_mst consteval" 5fe7915c86 doc: Add musig() example d576079ab4 tests: Test musig() parsing a53924bee3 descriptor: Parse musig() key expressions 9473e9606c descriptors: Move DeriveType parsing into its own function 4af0dca096 descriptor: Add MuSigPubkeyProvider ead4468748 cmake: Use `HINTS` instead of `PATHS` in `find_*` commands ad654a4807 Merge bitcoin/bitcoin#32767: ci: Allow running CI in worktrees 67e6746dc8 Merge bitcoin/bitcoin#32780: lsan: add more Qt suppressions e27a94596f build: add root dir to CMAKE_PREFIX_PATH 173394d951 depends: Build `qt` package for FreeBSD hosts 922adf66ac mempool: use `FeeFrac` for calculating regular score 3322b3a059 mempool: use `FeeFrac` for calculating ancestor score ac9c113bd2 mempool: use `FeeFrac` for calculating descendant score e95bfc1d53 Merge bitcoin/bitcoin#32797: doc: archive 28.2 release notes 666016e56b ci: use --usecli in one of the CI jobs 7ea248a020 test: Disable several (sub)tests with cli f420b6356b test: skip subtests that check for wrong types with cli 6530d0015b test: add function to convert to json for height_or_hash params 54d28722ba test: Don't send empty named args with cli cca422060e test: convert tuple to json for cli af34e98086 test: make rpc_psbt.py usable with --usecli 8f8ce9e174 test: rename .rpc to ._rpc and remove unnecessary uses 5b08885986 test: enable functional tests with large rpc args for cli 7d5352ac73 test: use -stdin for large rpc commands 6c364e0c10 test: Enable various tests for usage with cli 907842363c doc: archive 28.2 release notes c5849663ba Merge bitcoin/bitcoin#32771: contrib: tracing: Fix read of `pmsg_type` in p2p_monitor.py 8a36a471e6 Merge bitcoin/bitcoin#32781: refactor: modernize deprecated ipc headers ed060e01e7 Merge bitcoin/bitcoin#32725: test: round difficulty and networkhashps daf393b3f1 Merge bitcoin/bitcoin#32642: test: update BIP340 test vectors and implementation (variable-length messages) 482d255376 Merge bitcoin/bitcoin#32736: wallet: Correct dir iteration error handling c40dbbbf77 test: Move `script_assets_tests` into its own suite 74b7e9c7db refactor: modernize deprecated ipc headers 154b98a7aa Merge bitcoin/bitcoin#32772: fuzz: wallet: remove `FundTx` from `FuzzedWallet` fa183045a1 Merge bitcoin/bitcoin#32765: test: Fix list index out of range error in feature_bip68_sequence.py 5be31b20e5 lsan: add more Qt suppressions e18322eff2 Merge bitcoin/bitcoin#32774: doc: Explain how to fetch commits directly b861419254 Merge bitcoin/bitcoin#32777: doc: fix Transifex 404s 79afe6b7c0 Merge bitcoin/bitcoin#32776: doc: taproot became always active in v24.0 (doc/bips.md) 53a996f122 doc: fix transifex 404s 8ee8a951c2 doc: taproot became always active in v24.0 fa21631595 test: Use self.log fa346f7797 test: Move error string into exception fa1986181f test: Remove useless catch-throw fa94fd53c9 doc: Explain how to fetch commits directly 9a7eece5a4 Merge bitcoin/bitcoin#31981: Add checkBlock() to Mining interface 8cc9845b8d wallet, rpc: Use `OUTPUT_TYPES` to describe the output types instead of hardcoding them 3473986fe1 contrib: tracing: Correctly read msg type in p2p_monitor.py cd1ae1b4df fuzz: wallet: remove FundTx from FuzzedWallet fa68dcb207 ci: Add missing errexit to lint CI install fa535a6de7 ci: Allow running CI in worktrees faf6a04597 ci: Clean UID/GID mismatch 9eb2c82e7c walletdb: Remove unused upgraded_txs c668033709 wallet: Remove unused fTimeReceivedIsTxTime 5e6dbfd14e Merge bitcoin/bitcoin#32465: thread-safety: fix annotations with REVERSE_LOCK e285e691b7 test: Fix list index out of range error in feature_bip68_sequence.py 1be688f575 Merge bitcoin/bitcoin#32682: wallet: have external signer use PSBT error code EXTERNAL_SIGNER_NOT_FOUND a201a99f8c thread-safety: fix annotations with REVERSE_LOCK 26747d9f3e Merge bitcoin/bitcoin#32760: depends: capnp 1.2.0 c10e382d2a flatfile: check whether the file has been closed successfully 4bb5dd78ea util: check that a file has been closed before ~AutoFile() is called 8bb34f07df Explicitly close all AutoFiles that have been written a69c4098b2 rpc: take ownership of the file by WriteUTXOSnapshot() c7eaac326a depends: capnp 1.2.0 afaaba69ed test: refactor out same-txid-diff-wtxid tx to reuse in other tests 084eee0291 Merge bitcoin/bitcoin#32743: refactor: use `std::vector<std::byte>` for `BlockManager::ReadRawBlock()` c48846ec41 doc: add release notes for #32540 d7fca5c171 clusterlin: add big comment explaning the relation between tests b64e61d2de clusterlin: abstract try-permutations into ExhaustiveLinearize function 1fa55a64ed clusterlin tests: verify that chunks are minimal da23ecef29 clusterlin tests: support non-empty ReadTopologicalSubset() 94f3e17c33 clusterlin tests: compare with fuzz-provided linearizations 5f92ebee0d clusterlin tests: compare with fuzz-provided topological sets 6e37824ac3 clusterlin tests: optimize clusterlin_simple_linearize 98c1c88b6f clusterlin tests: separate testing of SimpleLinearize and Linearize 10e90f7aef clusterlin tests: make SimpleCandidateFinder always find connected a38c38951e clusterlin tests: separate testing of Search- and SimpleCandidateFinder 77a432ee70 clusterlin tests: count SimpleCandidateFinder iterations better a18e572328 test: more template verification tests 10c908808f test: move gbt proposal mode tests to new file 94959b8dee Add checkBlock to Mining interface 6077157531 ipc: drop BlockValidationState special handling 74690f4ed8 validation: refactor TestBlockValidity 2def858473 Merge bitcoin/bitcoin#32481: wallet, refactor: Remove Legacy wallet unused warnings and errors 287cd04a32 Merge bitcoin/bitcoin#32594: wallet, rpc: Return normalized descriptor in parent_descs fd74d609be Merge bitcoin/bitcoin#32620: wallet: Fix wallet interface detection of encrypted wallets 6ecb9fc65f chore: use `std::vector<std::byte>` for `BlockManager::ReadRawBlock()` 65b26507b8 Merge bitcoin/bitcoin#32746: test: remove unnecessary m_best_header setting hack in feature_assumeutxo.py 3e81684426 Merge bitcoin/bitcoin#32739: tsan: remove note about dropping Qt wildcards b8eb17792e Merge bitcoin/bitcoin#32175: fuzz: doc: add info about `afl-system-config` for macOS 206bc05e62 test: remove unnecessary m_best_header setting hack in feature_assumeutxo.py 272cd09b79 log: Use warning level while scanning wallet dir 1777644367 qa, wallet: Verify warning when failing to scan 893e51ffeb wallet: Correct dir iteration error handling 52e6e93c3f Merge bitcoin/bitcoin#32693: depends: fix cmake compatibility error for freetype fa2f1c55b7 move-only util data to test/functional/data/util faa18bf287 test: Turn util/test_runner into functional test fa955154c7 test: Add missing skip_if_no_bitcoin_tx 9341b5333a blockstorage: make block read hash checks explicit 2371b9f4ee test/bench: verify hash in `ComputeFilter` reads 5d235d50d6 net: assert block hash in `ProcessGetBlockData` and `ProcessMessage` 5db0a4a2db tsan: remove note about dropping Qt wildcards d91c718a68 Merge bitcoin/bitcoin#32717: doc: Update Qt 6 packages on FreeBSD fac9db6eb0 test: Add missing tx util to Binaries fa91835ec6 test: Use lowercase env var as attribute name fac49094cd test: Remove duplicate ConfigParser 9dfc61d95f test: detect no external signer connected dd8447f70f test: fix catchup loop in outbound eviction functional test 19765dca19 Merge bitcoin/bitcoin#32694: index: move disk read lookups to base class 8cc3ac6c23 validation: Don't use IsValid() to filter for invalid blocks 86d98b94e5 test: verify that ancestors of a reconsidered block can become the chain tip 3c39a55e64 validation: Add ancestors of reconsiderblock to setBlockIndexCandidates 1df96f5931 doc: Update Qt 6 packages on FreeBSD d7c37906e7 build: patch cmake min version on freetype fa946520d2 refactor: Use structured binding for-loop eeeec1579e rpc: Use type-safe exception to pass RPC help 5757de4ddd Merge bitcoin/bitcoin#32673: clang-tidy: Apply modernize-deprecated-headers 1473f69924 Merge bitcoin/bitcoin#32421: test: refactor: overhaul (w)txid determination for `CTransaction` objects 7c0cfce20d Merge bitcoin/bitcoin#31405: validation: stricter internal handling of invalid blocks d00d95437d Add MuSig2 Keyagg Cache helper functions 8ecea91bf2 sign: Add GetMuSig2ParticipantPubkeys to SigningProvider fac0ee0bfc build: Enable secp256k1 musig module 1894f97503 descriptors: Add PubkeyProvider::IsBIP32() 12bc1d0b1e util/string: Allow Split to include the separator 8811312571 script/parsing: Allow Const to not skip the found constant 851f540d0e Merge bitcoin/bitcoin#32703: test: Explain how to reproduce zmq:: upstream race 5af5e9791d Merge bitcoin/bitcoin#32690: depends: fix multiprocess build on OpenBSD (apply capnp patch, correct SHA256SUM command) fed41b75fb Merge bitcoin/bitcoin#32431: deps: Bump lief to 0.16.6 e017ef3c7e init: make `-blockmaxweight` startup option debug-only 578ea3eedb test: round difficulty and networkhashps c8abd97281 Merge bitcoin/bitcoin#32719: doc, windows: CompanyName "Bitcoin" => "Bitcoin Core project" 029ba1a21d index: remove CBlockIndex access from CustomAppend() 91b7ab6c69 refactor: index, simplify CopyHeightIndexToHashIndex to process single block 4f56c9145a refactor: contrib: Move FORTIFY check to BASE_ELF f6d25e8a2d contrib: Re-enable FORTIFY check for RISCV 765922d802 deps: bump lief to 0.16.6 4b8ac9eacd Merge bitcoin/bitcoin#32680: ci: Rewrite test-each-commit as py script 4ef6253017 test: avoid unneeded (w)txid hex -> integer conversions 472f3770ae scripted-diff: test: rename CTransaction `.getwtxid()` -> `wtxid_hex` for consistency 81af4334e8 test: rename CTransaction `.sha256` -> `.txid_int` for consistency ce83924237 test: rename CTransaction `.rehash()`/`.hash` -> `.txid_hex` for consistency 6efbd1e1dc refactor: CTransaction equality should consider witness data cbf9b2dab1 mempool: codify existing assumption about duplicate txids during removal c3fe85e2d6 wallet, rpc, test: Remove deprecated getunconfirmedbalance 0ec255139b wallet, rpc: Remove deprecated balances from getwalletinfo e9331cd6ab wallet: IsEquivalentTo should strip witness data in addition to scriptsigs 157bbd0a07 Merge bitcoin/bitcoin#32425: config: allow setting -proxy per network ebec7bf389 Merge bitcoin/bitcoin#32572: doc: Remove stale sections in dev notes ce90f0c99f rpc, wallet, refactor: Remove non-descriptor errors 573bcd75d7 wallet, refactor: Remove unused SetupGeneration 5431f2dc21 wallet, refactor: Remove Legacy warnings and errors 6f1392cc42 indexes, refactor: Remove remaining CBlockIndex* uses in index Rewind methods 0a248708dc indexes, refactor: Stop requiring CBlockIndex type to call IsBIP30Unspendable 011a8c5f01 Merge bitcoin/bitcoin#32696: doc: make `-DWITH_ZMQ=ON` explicit on `build-unix.md` fe39050a66 Merge bitcoin/bitcoin#32678: guix: warn and abort when SOURCE_DATE_EPOCH is set 692fe280c2 Merge bitcoin/bitcoin#32713: doc: fuzz: fix AFL++ link 28299ce776 p2p: remove vestigial READ_STATUS_CHECKBLOCK_FAILED bac9ee4830 p2p: Add witness mutation check inside FillBlock 4f10a57671 depends: Override host compilers for FreeBSD and OpenBSD 239fc4d62e doc, windows: CompanyName "Bitcoin" => "Bitcoin Core project" c1d4253d31 Merge bitcoin/bitcoin#32711: doc: add missing packages for BSDs (cmake, gmake, curl) to depends/README.md 89526deddf doc: add missing packages for BSDs (cmake, gmake, curl) to depends/README.md a39b7071cf doc: fuzz: fix AFL++ link dff208bd5a Merge bitcoin/bitcoin#32708: rpc, doc: update `listdescriptors` RCP help d978a43d05 Merge bitcoin/bitcoin#32408: tests: Expand HTTP coverage to assert libevent behavior e9cdaefb0a test: introduce and use CTransaction `.wtxid_int` property 9b3dce24a3 test: remove bare CTransaction `.rehash()`/`.calc_sha256()` calls a2724e3ea3 test: remove txid caching in CTransaction class fa0b766f43 test: Remove intermittent and presumed fixed tsan race suppressions f3bbc74664 Merge bitcoin/bitcoin#32406: policy: uncap datacarrier by default b44514b876 rpc, doc: update `listdescriptors` RCP help fa4b659dcd test: Explain how to reproduce zmq:: upstream race d4e212e8a6 rest: fetch spent transaction outputs by blockhash 32d4e92b9a doc: make `-DWITH_ZMQ=ON` explicit on `build-unix.md` e2174378aa Merge bitcoin/bitcoin#32539: init: Configure reachable networks before we start the RPC server 2053c43684 Merge bitcoin/bitcoin#32675: test: wallet: cover wallet passphrase with a null char 331a25cb16 test: indexes, avoid creating threads when sync runs synchronously 95969bc58a test: added fuzz coverage to consensus/merkle.cpp f6b782f3aa doc: Improve m_best_header documentation ee673b9aa0 validation: remove m_failed_blocks ed764ea2b4 validation: Add more checks to CheckBlockIndex() 9a70883002 validation: in invalidateblock, calculate m_best_header right away 8e39f2d20d validation: in invalidateblock, mark children as invalid right away 4c29326183 validation: cache all headers with enough PoW in invalidateblock 15fa5b5a90 validation: call InvalidBlockFound also from AcceptBlock fa9cfdf3be ci: [doc] fix url redirect fac60b9c48 ci: Rewrite test-each-commit as py script 8713e8060d depends: fix SHA256SUM command on OpenBSD (use GNU mode output) 2d938720bd depends: add patch to fix capnp build on OpenBSD 0a4ee93529 wallet: use PSBTError::EXTERNAL_SIGNER_NOT_FOUND 8ba2f9b7c8 refactor: use util::Result for GetExternalSigner() ae024137bd Merge bitcoin/bitcoin#32496: depends: drop `ltcg` for Windows Qt 6a2ff67909 Merge bitcoin/bitcoin#32679: doc: update tor docs to use bitcoind binary from path fd4399cb9c Merge bitcoin/bitcoin#32602: fuzz: Add target for coins database 130a922980 wallet, interfaces: Use BERKELEY_RO in isEncrypted f94167512d Merge bitcoin/bitcoin#32676: test: apply microsecond precision to test framework logging 0dcb45290c Merge bitcoin/bitcoin#32607: rpc: Note in fundrawtransaction doc, fee rate is for package 4ce53495e5 doc: update tor docs to use bitcoind binary from path a5e98dc3ae Merge bitcoin/bitcoin#32651: cmake: Replace deprecated `qt6_add_translation` with `qt6_add_lrelease` 9653ebc053 depends: remove support for Windows Qt LTO builds 7cfbb8575e test: wallet: cover wallet passphrase with a null char 5c4a0f8009 guix: warn and abort when SOURCE_DATE_EPOCH is set 4af72d8b08 Merge bitcoin/bitcoin#32647: build: add -Wthread-safety-pointer a980918f51 Merge bitcoin/bitcoin#32568: depends: use "mkdir -p" when installing xproto ed179e0a65 test: apply microsecond precision to test framework logging fa9ca13f35 refactor: Sort includes of touched source files facb152697 scripted-diff: Bump copyright headers after include changes fae71d30f7 clang-tidy: Apply modernize-deprecated-headers e872a566f2 Merge bitcoin/bitcoin#32644: doc: miscellaneous changes e50312eab0 doc: fix typos c797e50dda ci: update codespell to 2.4.1 21ee656337 doc: Remove obselete link in notificator.cpp ee4406c04a doc: update URLs 2d819fa4df Merge bitcoin/bitcoin#29032: signet: omit commitment for some trivial challenges f999c3775c Merge bitcoin/bitcoin#32449: wallet: init, don't error out when loading legacy wallets 6135e0553e wallet, rpc: Move (Un)LockCoin WalletBatch creation out of RPC 0def84d407 test: Verify parent_desc in RPCs f98e1aaf34 rpc: Note in fundrawtransaction doc, fee rate is for package db225cea56 wallet, refactor: Replace GetDisplayName() with LogName() 1c6602399b Merge bitcoin/bitcoin#32662: doc: Remove build instruction for running `clang-tidy` 01737883b3 wallet: Translate [default wallet] string in progress messages 4b1b36acb4 doc: Remove build instruction for running `clang-tidy` 9e105107bf Merge bitcoin/bitcoin#32656: depends: don't install & then delete sqlite pkgconf 72a5aa9b79 depends: don't install & then delete sqlite pkgconf 18cf727429 cmake: Replace deprecated `qt6_add_translation` with `qt6_add_lrelease` 83bfe1485c build: add -Wthread-safety-pointer e639ae0531 Update leveldb subtree to latest upstream 240a4fb95d Squashed 'src/leveldb/' changes from 113db4962b..aba469ad6a a189d63618 add release note for datacarriersize default change a141e1bf50 Add more OP_RETURN mempool acceptance functional tests 0b4048c733 datacarrier: deprecate startup arguments for future removal 63091b79e7 test: remove unnecessary -datacarriersize args from tests 9f36962b07 policy: uncap datacarrier by default 4b1d48a686 Merge bitcoin/bitcoin#32598: walletdb: Log additional exception error messages for corrupted wallets b933813386 Merge bitcoin/bitcoin#32619: wallet, rpc, gui: List legacy wallets with a message about migration 053bda5d9f Merge bitcoin/bitcoin#32460: fs: remove `_POSIX_C_SOURCE` defining 9393aeeca4 Merge bitcoin/bitcoin#32641: Update libmultiprocess subtree to fix clang-tidy errors b184f5c87c test: update BIP340 test vectors and implementation (variable-length messages) 5471e29d05 Merge bitcoin/bitcoin#32304: test: test MAX_SCRIPT_SIZE for block validity 154af1eea1 Squashed 'src/ipc/libmultiprocess/' changes from 35944ffd23fa..27c7e8e5a581 9f6565488f Merge commit '154af1eea1170f5626aa1c5f19cc77d1434bcc9d' into HEAD c810b168b8 doc: Add description of installed files to files.md c540ede1cb Merge bitcoin/bitcoin#32633: windows: Use predefined `RC_INVOKED` macro instead of custom one 94ffd01a02 doc: Add release notes describing libexec/ binaries cd97905ebc cmake: Move internal binaries from bin/ to libexec/ cfc42ae5b7 fuzz: add a target for the coins database 55f1c2ac8b windows: Use predefined `RC_INVOKED` macro instead of custom one 14c16e8159 Merge bitcoin/bitcoin#32582: log: Additional compact block logging aad5938c49 Merge bitcoin/bitcoin#32516: test: add MAX_DISCONNECTED_TX_POOL_BYTES, chainlimits coverage 1062df81ee Merge bitcoin/bitcoin#32634: build: Add resource file and manifest to `bitcoin.exe` b789907346 wallet: migration, avoid creating spendable wallet from a watch-only legacy wallet 83df64d749 log: Stats when fulfilling GETBLOCKTXN 370c592612 Merge bitcoin/bitcoin#32630: test: fix sync function in rpc_psbt.py dbb2d4c3d5 windows: Add application manifest to `bitcoin.exe` df82c2dc17 windows: Add resource file for `bitcoin.exe` 3733ed2dae log: Size of missing tx'es when reconstructing compact block 4df4df45d7 test: fix sync function in rpc_psbt.py e86d71b749 wallet: refactor, dedup wallet re-loading code 1de423e0a0 wallet: introduce method to return all db created files d04f6a97ba refactor: remove sqlite dir path back-and-forth conversion 88b22acc3d Merge bitcoin/bitcoin#32528: rpc: Round verificationprogress to 1 for a recent tip aee7cec0db Merge bitcoin/bitcoin#32364: refactor: validation: mark CheckBlockIndex as const ce46000712 Merge bitcoin/bitcoin#32509: qa: feature_framework_startup_failures.py fixes & improvements (#30660 follow-up) d21612fc4b Merge bitcoin/bitcoin#32404: log: print reason when writing chainstate 84aa484d45 test: fix transaction_graph_test reorg test eaf44f3767 test: check chainlimits respects on reorg 47894367b5 functional test: add MAX_DISCONNECTED_TX_POOL_BYTES coverage 9bd9aee5a6 Merge bitcoin/bitcoin#32487: blocks: avoid recomputing block header hash in `ReadBlock` 4173805a15 Merge bitcoin/bitcoin#32623: test: Add missing ipc subtree to lint 012f347685 Merge bitcoin/bitcoin#31375: multiprocess: Add bitcoin wrapper executable 2554cee988 test: Enable default wallet for wallet_descriptor.py 3fc9d9f241 wallet, rpc: Push the normalized parent descriptor 38ad8027a2 Merge bitcoin/bitcoin#32439: guix: accomodate migration to codeberg fa4b8b16c3 test: Add missing ipc subtree to lint f7cc7f6468 Merge bitcoin/bitcoin#32591: test: fix and augment block tests of invalid_txs 87860143be Merge bitcoin/bitcoin#32270: test: fix pushdata scripts c8d9baae94 guix: accomodate migration to codeberg f3a444c45f gui: Disallow loading legacy wallets 09955172f3 wallet, rpc: Give warning in listwalletdir for legacy wallets 09ee8b7f27 node: avoid recomputing block hash in `ReadBlock` 2bf173210f test: exercise `ReadBlock` hash‑mismatch path fab1e02086 refactor: Pass verification_progress into block tip notifications 638a4c0bd8 Merge bitcoin/bitcoin#32596: wallet, rpc, doc: various legacy wallet removal cleanups in RPCs 53e9b71b2f log: print reason for why should_write was triggered in `FlushStateToDisk`…
Picks up stale #30756, while addressing my fallback comment (#30756 (comment)).