-
Notifications
You must be signed in to change notification settings - Fork 37.7k
validation: Add eligible ancestors of reconsidered block to setBlockIndexCandidates #30479
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/30479. 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. ConflictsNo conflicts as of last run. |
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 4a76a83
This has been the behaviour since reconsiderblock was introduced ~10 years ago 9b0a8d3#diff-34d21af3c614ea3cee120df276c9c4ae95053830d7f1d3deaf009a4625409ad2R2176 .
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.
tested ACK 4a76a83.
makes sense that setBlockIndexCandidates
should ideally contain all block indices with as much/more work than current tip regardless of whether it is an ancestor/descendant.
I've tested it by demonstrating a situation where the chain tip doesn't get correctly updated on master - stratospher@57959f9, feel free to cherry-pick if useful.
4a76a83
to
adcbb2a
Compare
|
reACK adcbb2a. nice catch regarding |
adcbb2a
to
8390c78
Compare
Looks like there is a intermittent failure in the added test - I'll look into it soon. |
8390c78
to
843f786
Compare
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.
Re-ACK 843f786
843f786
to
b10efeb
Compare
When we call reconsiderblock for some block, ResetBlockFailureFlags puts the descendants of that block into setBlockIndexCandidates (if they meet the criteria, i.e. have more work than the tip etc.) We also clear the failure flags of the ancestors, but we never put any of those into setBlockIndexCandidates this is wrong and could lead to failures in CheckBlockIndex().
…ain tip when we reconsiderblock, previously only block and it's descendants were considered as chain tip candidates/inserted into setBlockIndexCandidates ex: on this chain, with block 4 invalidated 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> header 7 blocks 4, 5, 6, header 7 have BLOCK_FAILED_* flags set previously: - if we reconsiderblock header 7, the chain would have all the BLOCK_FAILED_* flags cleared but would report chain tip as block 3. - after restart, it reports correct chain tip block 6. now: - if we reconsiderblock header 7, the correct chain tip block 6 is reported since ancestors are also considered as chain tip candidates/inserted into setBlockIndexCandidates. Co-authored-by: Martin Zumsande <mzumsande@gmail.com>
IsValid() also returns false for blocks that have not been validated yet up to the default validity level of BLOCK_VALID_TRANSACTIONS but are not marked as invalid - e.g. if we only know the header. Here, we specifically want to filter for invalid blocks. Also removes the default arg from IsValid() which is now unused outside of tests, to prevent this kind of misuse for the future. Co-authored-by: TheCharlatan <seb.kung@gmail.com>
b10efeb
to
8cc3ac6
Compare
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.
Re-ACK 8cc3ac6
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.
reACK 8cc3ac6.
ACK 8cc3ac6 |
1ffc1c9d94 kernel: Fix bitcoin-chainstate for windows 686c4108cc kernel: Add Purpose section to header documentation 8d47a40731 kernel: Add pure kernel bitcoin-chainstate ba84650882 kernel: Add functions to get the block hash from a block a421727342 kernel: Add block index utility functions to C header aedbe73cf0 kernel: Add function to read block undo data from disk to C header 109dda0845 kernel: Add functions to read block from disk to C header 3e24c34ad4 kernel: Add function for copying block data to C header 9ab3d14c1d kernel: Add functions for the block validation state to C header 4408228f85 kernel: Add validation interface to C header 0c3054ef4b kernel: Add interrupt function to C header 45895c4ac7 kernel: Add import blocks function to C header 994c869ba2 kernel: Add chainstate load options for in-memory dbs in C header b4ad47e312 kernel: Add options for reindexing in C header 591b28d615 kernel: Add block validation to C header a1fe6b4264 kernel: Add chainstate loading when instantiating a ChainstateManager 0cf99f827e kernel: Add chainstate manager option for setting worker threads c18b35135c kernel: Add chainstate manager object to C header 1de2db7eac kernel: Add notifications context option to C header b1e6a28d17 kernel: Add chain params context option to C header 369cfd3f6c kernel: Add kernel library context object f9e13dbb1a kernel: Add logging to kernel library C header ce12888287 kernel: Introduce initial kernel C header API 7566b40bd2 Merge bitcoin/bitcoin#32961: fix spelling in tor.md docs 84ef5524d5 fix spelling in tor.md docs 6a13a6106e Merge bitcoin/bitcoin#32937: Enable `-Werror=dev` in CI & Guix 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 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 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 94931656b5 cmake: Use newer signature of `qt6_add_lrelease` when available 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 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 6d19815cd4 rest: replace `rf_names[0].rf` by `RESTResponseFormat::UNDEF` for code clarity 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 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 bitcoin/bitcoin#32425 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" 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 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 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 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 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 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 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" 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 fa4b659dcd test: Explain how to reproduce zmq:: upstream race d4e212e8a6 rest: fetch spent transaction outputs by blockhash 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 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() 130a922980 wallet, interfaces: Use BERKELEY_RO in isEncrypted fa9ca13f35 refactor: Sort includes of touched source files facb152697 scripted-diff: Bump copyright headers after include changes fae71d30f7 clang-tidy: Apply modernize-deprecated-headers 0def84d407 test: Verify parent_desc in RPCs b184f5c87c test: update BIP340 test vectors and implementation (variable-length messages) b789907346 wallet: migration, avoid creating spendable wallet from a watch-only legacy wallet 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 2554cee988 test: Enable default wallet for wallet_descriptor.py 3fc9d9f241 wallet, rpc: Push the normalized parent descriptor 47237cd193 wallet, rpc: Output wallet flags in getwalletinfo bc2a26b296 wallet: Add GetWalletFlags 69f588a99a wallet: Set upgraded descriptor cache flag for newly created wallets 9f8e7b0b3b node: cap -dbcache to 1GiB on 32-bit architectures 2c43b6adeb init: cap -maxmempool to 500 MB on 32-bit systems aeea5f0ec1 thread-safety: add missing lock annotation 832c57a534 thread-safety: modernize thread safety macros 61ea5f348d fuzz: doc: add info about `afl-system-config` for macOS REVERT: d9e030d563 kernel: Fix bitcoin-chainstate for windows REVERT: cc4ac564cc kernel: Add Purpose section to header documentation REVERT: bfdf605296 kernel: Add pure kernel bitcoin-chainstate REVERT: 35099f39b7 kernel: Add functions to get the block hash from a block REVERT: fae94070a7 kernel: Add block index utility functions to C header REVERT: d5d3778597 kernel: Add function to read block undo data from disk to C header REVERT: 43f6039b7b kernel: Add functions to read block from disk to C header REVERT: 54cdfcdc68 kernel: Add function for copying block data to C header REVERT: 18cab45358 kernel: Add functions for the block validation state to C header REVERT: 033e86a06c kernel: Add validation interface to C header REVERT: 9398f9ea4e kernel: Add interrupt function to C header REVERT: 86340a4905 kernel: Add import blocks function to C header REVERT: f11dc01bba kernel: Add chainstate load options for in-memory dbs in C header REVERT: be9fc18dd5 kernel: Add options for reindexing in C header REVERT: 7947a9b500 kernel: Add block validation to C header REVERT: d5ace1f8ea kernel: Add chainstate loading when instantiating a ChainstateManager REVERT: 47ff652cf0 kernel: Add chainstate manager option for setting worker threads REVERT: 106898e0c2 kernel: Add chainstate manager object to C header REVERT: 3eadf1ccbe kernel: Add notifications context option to C header REVERT: 98b1454a98 kernel: Add chain params context option to C header REVERT: ca8d6ee344 kernel: Add kernel library context object REVERT: 96f5ebe977 kernel: Add logging to kernel library C header REVERT: 906a197481 kernel: Introduce initial kernel C header API git-subtree-dir: depend/bitcoin git-subtree-split: 1ffc1c9d94b16cdbfb92a26d0f0e75451efad4fe
…ffc1c9d94b1 1ffc1c9d94b1 kernel: Fix bitcoin-chainstate for windows 686c4108cc1d kernel: Add Purpose section to header documentation 8d47a4073120 kernel: Add pure kernel bitcoin-chainstate ba84650882f1 kernel: Add functions to get the block hash from a block a4217273422b kernel: Add block index utility functions to C header aedbe73cf096 kernel: Add function to read block undo data from disk to C header 109dda0845d8 kernel: Add functions to read block from disk to C header 3e24c34ad481 kernel: Add function for copying block data to C header 9ab3d14c1d15 kernel: Add functions for the block validation state to C header 4408228f8556 kernel: Add validation interface to C header 0c3054ef4b6e kernel: Add interrupt function to C header 45895c4ac778 kernel: Add import blocks function to C header 994c869ba238 kernel: Add chainstate load options for in-memory dbs in C header b4ad47e31268 kernel: Add options for reindexing in C header 591b28d61548 kernel: Add block validation to C header a1fe6b4264bf kernel: Add chainstate loading when instantiating a ChainstateManager 0cf99f827e48 kernel: Add chainstate manager option for setting worker threads c18b35135c75 kernel: Add chainstate manager object to C header 1de2db7eacde kernel: Add notifications context option to C header b1e6a28d17c6 kernel: Add chain params context option to C header 369cfd3f6c4f kernel: Add kernel library context object f9e13dbb1ade kernel: Add logging to kernel library C header ce1288828783 kernel: Introduce initial kernel C header API 7566b40bd230 Merge bitcoin/bitcoin#32961: fix spelling in tor.md docs 84ef5524d5ab fix spelling in tor.md docs 6a13a6106e3c Merge bitcoin/bitcoin#32937: Enable `-Werror=dev` in CI & Guix 23e15d40b96a Merge bitcoin/bitcoin#32631: refactor: Convert GenTxid to `std::variant` 8ffbd7b77860 Merge bitcoin/bitcoin#32940: cmake: Use newer signature of `qt6_add_lrelease` when available 80ce5137663d Merge bitcoin/bitcoin#32933: log: Properly log warnings with warn loglevel in addrdb 8f766f39df3e ci: enable -Werror=dev 7b420ca8341a guix: configure with -Werror=dev 44097ddb1913 cmake: enable -Werror=dev in dev-mode preset 12fb00fd4228 Merge bitcoin/bitcoin#32927: fuzz: Add missing calls to `SetMockTime` for determinism 3c1418666bfa Merge bitcoin/bitcoin#32930: Resolve guix non-determinism with emplace_back instead of push_back bad998b7c040 Merge bitcoin/bitcoin#32921: test: less ambiguous error if bitcoind is missing 7f28e8032987 Merge bitcoin/bitcoin#32758: wallet: remove dead code in legacy wallet migration 5ef0d4897be4 Merge bitcoin/bitcoin#30605: Cluster linearization: separate tests from tests-of-tests f43571010e38 Resolve guix non-determinism with emplace_back instead of push_back 94931656b52f cmake: Use newer signature of `qt6_add_lrelease` when available b80ead8a7182 Merge bitcoin/bitcoin#32890: bench: Avoid tmp files in pwd c4f90900b55f Merge bitcoin/bitcoin#32932: test: Add missing convert_to_json_for_cli fa894b0f3e13 log: Properly log warnings with warn loglevel in addrdb 83ae7802fe14 Merge bitcoin/bitcoin#32881: test: Turn rpcauth.py test into functional test fa0528479d5e test: Add missing convert_to_json_for_cli a40e9536588c Merge bitcoin/bitcoin#30479: validation: Add eligible ancestors of reconsidered block to setBlockIndexCandidates 1ca62edd85b1 Merge bitcoin/bitcoin#32580: wallet, test: best block locator matches scan state follow-ups 2cad7226c2d0 Merge bitcoin/bitcoin#32799: mempool: use `FeeFrac` for ancestor/descendant score comparators 2d59977601ea Merge bitcoin/bitcoin#32604: log: Mitigate disk filling attacks by rate limiting LogPrintf, LogInfo, LogWarning, LogError 4c772cbd83e5 doc: add release notes for new rate limiting logging behavior d541409a64c6 log: Add rate limiting to LogPrintf, LogInfo, LogWarning, LogError, LogPrintLevel a6a35cc0c23d log: use std::source_location in place of __func__, __FILE__, __LINE__ afb9e39ec555 log: introduce LogRateLimiter, LogLimitStats, Status df7972a6cfd9 test: Mark ~DebugLogHelper as noexcept(false) fa8862723c14 fuzz: CheckGlobals in init fa26bfde988b test: Avoid resetting mocktime in testing setup fa6b45fa8ec8 Add SetMockTime for time_point types a60f863d3e27 scripted-diff: Replace GenTxidVariant with GenTxid c8ba19959863 Remove old GenTxid class 072a198ea4bc Convert remaining instances of GenTxid to GenTxidVariant 1b528391c794 Convert `txrequest` to GenTxidVariant bde4579b0780 Convert `txdownloadman_impl` to GenTxidVariant c876a892ec0b Replace GenTxid with Txid/Wtxid overloads in `txmempool` de858ce2bea8 move-only: make GetInfo a private CTxMemPool member eee473d9f301 Convert `CompareInvMempoolOrder` to GenTxidVariant b7e9dc8e468b Merge bitcoin/bitcoin#32884: rest: replace `rf_names[0].rf` by `RESTResponseFormat::UNDEF` fa4d68cf97b6 Turn rpcauth.py test into functional test 83bb41455715 test: less ambiguous error if bitcoind is missing 150b5c99ca11 wallet: replace `reload_wallet` with inline functionality 927055e42afb Merge bitcoin/bitcoin#32893: doc: fix `BlockConnected` incorrect comment a8bff38236ac Merge bitcoin/bitcoin#32862: rpc: use CScheduler for relocking wallet and remove RPCTimer 21b42f3c5569 Merge bitcoin/bitcoin#32660: rpc: Use type-safe exception to pass RPC help 528f79f010d1 Merge bitcoin/bitcoin#32835: test: fix feature_init.py intermittencies fc543f94a9c3 Merge bitcoin/bitcoin#32385: test: refactor out same-txid-diff-wtxid tx to reuse in other tests 09add84fc5ad Merge bitcoin/bitcoin#32618: wallet: Remove ISMINE_WATCHONLY and watchonly from RPCs 87ab69155d94 Merge bitcoin/bitcoin#31553: cluster mempool: add TxGraph reorg functionality 4e69aa5701a2 doc: fix `BlockConnected` incorrect comment d33c111448ac Merge bitcoin/bitcoin#32829: threading: use correct mutex name in reverse_lock fatal error messages de4eef52d123 threading: use correct mutex name in reverse_lock fatal error messages fa2fbaa4a29f bench: Avoid tmp files in pwd 6d19815cd440 rest: replace `rf_names[0].rf` by `RESTResponseFormat::UNDEF` for code clarity 4207d9bf823b test: feature_init, ensure indexes are synced prior to perturbing files e3f416dbf763 Merge bitcoin/bitcoin#32463: test: fix an incorrect `feature_fee_estimation.py` subtest ea4285775e61 Merge bitcoin/bitcoin#29307: util: explicitly close all AutoFiles that have been written 51ccc71b1bf9 Merge bitcoin/bitcoin#32858: doc: Add workaround for vcpkg issue with paths with embedded spaces fcfd3db563e8 remove RPCTimerInterface and RPCRunLater 8a1765795fd3 use WalletContext scheduler for walletpassphrase callback 927e9b220f17 Merge bitcoin/bitcoin#32716: depends: Override host compilers for FreeBSD and OpenBSD c7fe8abb5f38 Merge bitcoin/bitcoin#31233: cmake: Improve Python robustness and test usability 625194944333 Merge bitcoin/bitcoin#32290: test: allow all functional tests to be run or skipped with --usecli 0f86da382d3f wallet: remove dead code in legacy wallet migration 49d5f1f2c6d2 Merge bitcoin/bitcoin#32850: test: check P2SH sigop count for coinbase tx abd07cf7332e test: feature_init, only init what's needed per perturbation/deletion round 192743235493 Merge bitcoin/bitcoin#32859: functional test: correctly detect nonstd TRUC tx vsize in feature_taproot 68ca13e1f96a Merge bitcoin/bitcoin#32823: test: Fix wait_for_getheaders() call in test_outbound_eviction_blocks_relay_only() 35cae56a9292 Merge bitcoin/bitcoin#31423: wallet: migration, avoid creating spendable wallet from a watch-only legacy wallet 1632fc104be8 txgraph: Track multiple potential would-be clusters in Trim (improvement) 4608df37e02a txgraph: add Trim benchmark (benchmark) 9c436ff01cff txgraph: add fuzz test scenario that avoids cycles inside Trim() (tests) 938e86f8fecd txgraph: add unit test for TxGraph::Trim (tests) a04e205ab03e txgraph: Add ability to trim oversized clusters (feature) eabcd0eb6fca txgraph: remove unnecessary m_group_oversized (simplification) 19b14e61eae7 txgraph: Permit transactions that exceed cluster size limit (feature) c4287b9b71c6 txgraph: Add ability to configure maximum cluster size/weight (feature) f0524cda3995 functional test: correctly detect nonstd TRUC tx vsize in feature_taproot 0a1af4418ed2 doc: Add workaround for vcpkg issue with paths with embedded spaces a92e8b10a5fb Merge bitcoin/bitcoin#32564: miniscript, refactor: Make `operator""_mst` `consteval` (re-take) bf75c9964fb2 Merge bitcoin/bitcoin#32828: build, docs: Fix Boost-related issues on NetBSD 7fa9b58bd907 Merge bitcoin/bitcoin#32841: feature_taproot: sample tx version border values more 1b5c545e82fe wallet, test: best block locator matches scan state follow-ups fa3359289883 Merge bitcoin/bitcoin#32723: Refactor: Redefine CTransaction equality to include witness data ce000c8ee02a Merge bitcoin/bitcoin#32219: test: enabling wallet migration functional test on windows f33154c464b3 Merge bitcoin/bitcoin#32432: wallet, rpc: Use `OUTPUT_TYPES` to describe the output types instead of hardcoding them fa9b1e354444 Merge bitcoin/bitcoin#32846: doc: clarify that the "-j N" goes after the "--build build" part b1a8ac07e91d doc: Release note for removed watchonly parameters and results 15710869e19e wallet: Remove ISMINE_WATCH_ONLY 4439bf4b41a6 wallet, spend: Remove fWatchOnly from CCoinControl 1337c72198a7 wallet, rpc: Remove watchonly from RPCs e81d95d43574 wallet: Remove watchonly balances d20dc9c6aae0 wallet: Wallets without private keys cannot grind R 9991f49c38c0 test: Watchonly wallets should estimate larger size d6aaffcb11ad test: check P2SH sigop count for coinbase tx b1821d8dd39f Merge bitcoin/bitcoin#27286: wallet: Keep track of the wallet's own transaction outputs in memory 0e9f409db3b7 doc: clarify that the "-j N" goes after the "--build build" part 67dc7523f3e1 cmake, test: Disable tests instead of ignoring them bb9157db5d39 cmake, refactor: Switch to `Python3::Interpreter` imported target ed7a841f82f9 Merge bitcoin/bitcoin#32816: contrib: correct variable name in p2p_monitor.py 2ae5154dd860 Merge bitcoin/bitcoin#32842: doc: add `/spenttxouts` to REST-interface.md 243553d59071 refactor: replace get_iter_from_wtxid with GetIter(const Wtxid&) fcf92fd640ea refactor: make CTxMemPool::GetIter strongly typed 23a00fcf571f Merge bitcoin/bitcoin#32783: doc: Add fetching single PRs from upstream to productivity.md dd99cedc0bfe doc: add `/spenttxouts` to REST-interface.md 4be81e9746e9 feature_taproot: sample tx version border values more 6e5b67a370bb Merge bitcoin/bitcoin#32697: test: Turn util/test_runner into functional test fb2c16cf7bfb Merge bitcoin/bitcoin#32826: p2p: add more bad ports f5f3e1f26328 Merge bitcoin/bitcoin#32646: p2p: Add witness mutation check inside FillBlock a763497b1d66 Merge bitcoin/bitcoin#32834: test: Use msg_generic in p2p_ping.py fa3f100010f1 test: Use msg_generic in p2p_ping.py 33480573cbd8 Merge bitcoin/bitcoin#32833: test: Add `msgtype` to `msg_generic` slots 9501738e1cbd Merge bitcoin/bitcoin#32825: rest: rename `strURIPart` to `uri_part` 5a5ddbd78922 build: Add workaround for NetBSD bug in `Boost::headers` target 6967e8e8abbc add more bad p2p ports 7dc43ea503a2 test: Add msgtype to msg_generic slots 4eb3cee919ed doc: Update NetBSD Build Guide 856f4235b1ae scripted-diff: rest: rename `strURIPart` -> `uri_part` b3bb4031ab32 Merge bitcoin/bitcoin#32540: rest: fetch spent transaction outputs by blockhash 3086c21df4a2 Merge bitcoin/bitcoin#32243: test: added fuzz coverage for consensus/merkle.cpp 319ff58bbd58 Merge bitcoin/bitcoin#32638: blocks: force hash validations on disk read ec004cdb86e6 test: Use rehash() in outbound eviction block-relay 26598ed21ea7 test: Clarify roles in outbound eviction comments 689318ccd9c2 Merge bitcoin/bitcoin#32667: build: Find Boost in config mode 4a3475a43e80 Merge bitcoin/bitcoin#32819: Add release note for #32530 558f0880a8f3 Add release note for #32530 c43cc48aaaaa Merge bitcoin/bitcoin#32530: node: cap `-maxmempool` and `-dbcache` values for 32-bit 4145a9463a58 Merge bitcoin/bitcoin#32731: depends: Build `qt` package for FreeBSD hosts 14653b869b91 build: Find Boost in config mode 67ea4b9994e6 Merge bitcoin/bitcoin#32814: cmake: Explicitly specify `Boost_ROOT` for Homebrew's package 5170ec1ae35d Merge bitcoin/bitcoin#32665: depends: Bump boost to 1.88.0 and use new CMake buildsystem 8fafb81320dd Merge bitcoin/bitcoin#32805: cmake: Use `HINTS` instead of `PATHS` in `find_*` commands 6bb38bf37fd8 Update p2p_monitor.py 9b75cfda4d62 test: retain the intended behavior of `feature_fee_estimation.py` nodes 5c1236f04a24 test: fix incorrect subtest in `feature_fee_estimation.py` e5f9218b6afb Merge bitcoin/bitcoin#32742: test: fix catchup loop in outbound eviction functional test 11d28f21bb8f Implement GenTxid as a variant 215e5999e207 wallet: Remove unused CachedTxGet{Available,Immature}Credit 49675de035e7 wallet: Have GetDebit use the wallet's TXO set 17d453cb3a6f wallet: Recompute wallet TXOs after descriptor migration 764016eb2259 wallet: Retrieve TXO directly in FetchSelectedInputs c1801b78f1c1 wallet: Use wallet's TXO set in AvailableCoins dde7cbe105ba wallet: Change balance calculation to use m_txos 96e7a89c5e0b wallet: Recalculate the wallet's txos after any imports ae888c38d080 wallet: Exit IsTrustedTx early if wtx is already in trusted_parents ae0876ec4273 wallet: Keep track of transaction outputs owned by the wallet 0f269bc48c39 walletdb: Load Txs last 5cc32ee2a7ad test: Test for balance update due to untracked output becoming spendable 8222341d4f9c wallet: MarkDirty after AddWalletDescriptor e02f2d331ce6 bench: Have AvailableCoins benchmark include a lot of unrelated utxos f27898c8bfe3 Merge bitcoin/bitcoin#32721: wallet, rpc: Remove deprecated balances from getwalletinfo and getunconfirmedbalance 8578fabb95fa Merge bitcoin/bitcoin#32597: wallet: Always set descriptor cache upgraded flag for new wallets 941b8f54c0d3 ci: run get_previous_releases as part of test cross win job 5e2182140bcd test: increment mocked time for migrating wallet backups 5174565802f4 ci: disable feature_unsupported_utxo_db functional test 3dc90d69a64f test: remove mempool.dat before copying 67a6b20d5030 test: add windows support to get previous releases script 01f908195589 Merge bitcoin/bitcoin#32768: wallet: Remove `CWalletTx::fTimeReceivedIsTxTime` c1d8a542b46c Merge bitcoin/bitcoin#32727: doc: add release notes for #32425 1a1b478ca31b scripted-diff: rename tarball to archive 4f06dc848460 test: remove building from source from get prev releases script 45b1d3975766 doc: Add fetching single PRs from upstream 8800b5acc1ef cmake: Explicitly specify `Boost_ROOT` for Homebrew's package b9a2e8ee965d doc: add release notes for bitcoin/bitcoin#32425 6c2538d5bfea depends: Bump boost to 1.88.0 and use new CMake buildsystem 7d5a6d17398a Merge bitcoin/bitcoin#32798: build: add root dir to CMAKE_PREFIX_PATH in toolchain a34fb9ad6c6c miniscript: Make `operator""_mst` `consteval` 14052162b19a Revert "miniscript: make operator_mst consteval" ead44687483e cmake: Use `HINTS` instead of `PATHS` in `find_*` commands ad654a4807cd Merge bitcoin/bitcoin#32767: ci: Allow running CI in worktrees 67e6746dc87a Merge bitcoin/bitcoin#32780: lsan: add more Qt suppressions e27a94596f2a build: add root dir to CMAKE_PREFIX_PATH 173394d9511e depends: Build `qt` package for FreeBSD hosts 922adf66ac74 mempool: use `FeeFrac` for calculating regular score 3322b3a05954 mempool: use `FeeFrac` for calculating ancestor score ac9c113bd2a2 mempool: use `FeeFrac` for calculating descendant score e95bfc1d537e Merge bitcoin/bitcoin#32797: doc: archive 28.2 release notes 666016e56b28 ci: use --usecli in one of the CI jobs 7ea248a02099 test: Disable several (sub)tests with cli f420b6356b6f test: skip subtests that check for wrong types with cli 6530d0015b95 test: add function to convert to json for height_or_hash params 54d28722baea test: Don't send empty named args with cli cca422060e96 test: convert tuple to json for cli af34e980866e test: make rpc_psbt.py usable with --usecli 8f8ce9e1740d test: rename .rpc to ._rpc and remove unnecessary uses 5b0888598632 test: enable functional tests with large rpc args for cli 7d5352ac7373 test: use -stdin for large rpc commands 6c364e0c10de test: Enable various tests for usage with cli 907842363c64 doc: archive 28.2 release notes c5849663baa9 Merge bitcoin/bitcoin#32771: contrib: tracing: Fix read of `pmsg_type` in p2p_monitor.py 8a36a471e652 Merge bitcoin/bitcoin#32781: refactor: modernize deprecated ipc headers ed060e01e756 Merge bitcoin/bitcoin#32725: test: round difficulty and networkhashps daf393b3f15d Merge bitcoin/bitcoin#32642: test: update BIP340 test vectors and implementation (variable-length messages) 482d2553764e Merge bitcoin/bitcoin#32736: wallet: Correct dir iteration error handling 74b7e9c7dbf7 refactor: modernize deprecated ipc headers 154b98a7aaae Merge bitcoin/bitcoin#32772: fuzz: wallet: remove `FundTx` from `FuzzedWallet` fa183045a1ea Merge bitcoin/bitcoin#32765: test: Fix list index out of range error in feature_bip68_sequence.py 5be31b20e54e lsan: add more Qt suppressions e18322eff274 Merge bitcoin/bitcoin#32774: doc: Explain how to fetch commits directly b86141925416 Merge bitcoin/bitcoin#32777: doc: fix Transifex 404s 79afe6b7c092 Merge bitcoin/bitcoin#32776: doc: taproot became always active in v24.0 (doc/bips.md) 53a996f12266 doc: fix transifex 404s 8ee8a951c205 doc: taproot became always active in v24.0 fa2163159511 test: Use self.log fa346f7797ae test: Move error string into exception fa1986181f24 test: Remove useless catch-throw fa94fd53c996 doc: Explain how to fetch commits directly 9a7eece5a4a1 Merge bitcoin/bitcoin#31981: Add checkBlock() to Mining interface 8cc9845b8ddf wallet, rpc: Use `OUTPUT_TYPES` to describe the output types instead of hardcoding them 3473986fe10e contrib: tracing: Correctly read msg type in p2p_monitor.py cd1ae1b4dfdb fuzz: wallet: remove FundTx from FuzzedWallet fa68dcb207c3 ci: Add missing errexit to lint CI install fa535a6de7a0 ci: Allow running CI in worktrees faf6a0459749 ci: Clean UID/GID mismatch 9eb2c82e7c91 walletdb: Remove unused upgraded_txs c66803370988 wallet: Remove unused fTimeReceivedIsTxTime 5e6dbfd14ea9 Merge bitcoin/bitcoin#32465: thread-safety: fix annotations with REVERSE_LOCK e285e691b7a3 test: Fix list index out of range error in feature_bip68_sequence.py 1be688f57515 Merge bitcoin/bitcoin#32682: wallet: have external signer use PSBT error code EXTERNAL_SIGNER_NOT_FOUND a201a99f8cf5 thread-safety: fix annotations with REVERSE_LOCK 26747d9f3e3f Merge bitcoin/bitcoin#32760: depends: capnp 1.2.0 c10e382d2a3b flatfile: check whether the file has been closed successfully 4bb5dd78ea4b util: check that a file has been closed before ~AutoFile() is called 8bb34f07df9a Explicitly close all AutoFiles that have been written a69c4098b273 rpc: take ownership of the file by WriteUTXOSnapshot() c7eaac326ac2 depends: capnp 1.2.0 afaaba69eddd test: refactor out same-txid-diff-wtxid tx to reuse in other tests 084eee029199 Merge bitcoin/bitcoin#32743: refactor: use `std::vector<std::byte>` for `BlockManager::ReadRawBlock()` c48846ec4169 doc: add release notes for #32540 d7fca5c171f4 clusterlin: add big comment explaning the relation between tests b64e61d2de65 clusterlin: abstract try-permutations into ExhaustiveLinearize function 1fa55a64ed18 clusterlin tests: verify that chunks are minimal da23ecef29b7 clusterlin tests: support non-empty ReadTopologicalSubset() 94f3e17c33e6 clusterlin tests: compare with fuzz-provided linearizations 5f92ebee0d24 clusterlin tests: compare with fuzz-provided topological sets 6e37824ac390 clusterlin tests: optimize clusterlin_simple_linearize 98c1c88b6f8d clusterlin tests: separate testing of SimpleLinearize and Linearize 10e90f7aef9c clusterlin tests: make SimpleCandidateFinder always find connected a38c38951e10 clusterlin tests: separate testing of Search- and SimpleCandidateFinder 77a432ee704b clusterlin tests: count SimpleCandidateFinder iterations better a18e57232867 test: more template verification tests 10c908808fb8 test: move gbt proposal mode tests to new file 94959b8deedc Add checkBlock to Mining interface 6077157531c1 ipc: drop BlockValidationState special handling 74690f4ed82b validation: refactor TestBlockValidity 2def85847318 Merge bitcoin/bitcoin#32481: wallet, refactor: Remove Legacy wallet unused warnings and errors 287cd04a32df Merge bitcoin/bitcoin#32594: wallet, rpc: Return normalized descriptor in parent_descs fd74d609bed9 Merge bitcoin/bitcoin#32620: wallet: Fix wallet interface detection of encrypted wallets 6ecb9fc65f9a chore: use `std::vector<std::byte>` for `BlockManager::ReadRawBlock()` 65b26507b84a Merge bitcoin/bitcoin#32746: test: remove unnecessary m_best_header setting hack in feature_assumeutxo.py 3e8168442692 Merge bitcoin/bitcoin#32739: tsan: remove note about dropping Qt wildcards b8eb17792e0c Merge bitcoin/bitcoin#32175: fuzz: doc: add info about `afl-system-config` for macOS 206bc05e62c6 test: remove unnecessary m_best_header setting hack in feature_assumeutxo.py 272cd09b796a log: Use warning level while scanning wallet dir 17776443675d qa, wallet: Verify warning when failing to scan 893e51ffeb05 wallet: Correct dir iteration error handling 52e6e93c3f60 Merge bitcoin/bitcoin#32693: depends: fix cmake compatibility error for freetype fa2f1c55b7da move-only util data to test/functional/data/util faa18bf287fc test: Turn util/test_runner into functional test fa955154c773 test: Add missing skip_if_no_bitcoin_tx 9341b5333ad5 blockstorage: make block read hash checks explicit 2371b9f4ee0b test/bench: verify hash in `ComputeFilter` reads 5d235d50d6dd net: assert block hash in `ProcessGetBlockData` and `ProcessMessage` 5db0a4a2db20 tsan: remove note about dropping Qt wildcards d91c718a686a Merge bitcoin/bitcoin#32717: doc: Update Qt 6 packages on FreeBSD fac9db6eb0c6 test: Add missing tx util to Binaries fa91835ec6ad test: Use lowercase env var as attribute name fac49094cdb1 test: Remove duplicate ConfigParser 9dfc61d95f00 test: detect no external signer connected dd8447f70faf test: fix catchup loop in outbound eviction functional test 19765dca197a Merge bitcoin/bitcoin#32694: index: move disk read lookups to base class 8cc3ac6c2328 validation: Don't use IsValid() to filter for invalid blocks 86d98b94e546 test: verify that ancestors of a reconsidered block can become the chain tip 3c39a55e64be validation: Add ancestors of reconsiderblock to setBlockIndexCandidates 1df96f59316c doc: Update Qt 6 packages on FreeBSD d7c37906e7b1 build: patch cmake min version on freetype fa946520d229 refactor: Use structured binding for-loop eeeec1579ec5 rpc: Use type-safe exception to pass RPC help 5757de4ddd37 Merge bitcoin/bitcoin#32673: clang-tidy: Apply modernize-deprecated-headers 1473f69924bc Merge bitcoin/bitcoin#32421: test: refactor: overhaul (w)txid determination for `CTransaction` objects 7c0cfce20df9 Merge bitcoin/bitcoin#31405: validation: stricter internal handling of invalid blocks 851f540d0e03 Merge bitcoin/bitcoin#32703: test: Explain how to reproduce zmq:: upstream race 5af5e9791dc9 Merge bitcoin/bitcoin#32690: depends: fix multiprocess build on OpenBSD (apply capnp patch, correct SHA256SUM command) fed41b75fbfa Merge bitcoin/bitcoin#32431: deps: Bump lief to 0.16.6 578ea3eedb28 test: round difficulty and networkhashps c8abd972818f Merge bitcoin/bitcoin#32719: doc, windows: CompanyName "Bitcoin" => "Bitcoin Core project" 029ba1a21d57 index: remove CBlockIndex access from CustomAppend() 91b7ab6c6926 refactor: index, simplify CopyHeightIndexToHashIndex to process single block 4f56c9145a60 refactor: contrib: Move FORTIFY check to BASE_ELF f6d25e8a2dd3 contrib: Re-enable FORTIFY check for RISCV 765922d8022d deps: bump lief to 0.16.6 4ef625301767 test: avoid unneeded (w)txid hex -> integer conversions 472f3770aec8 scripted-diff: test: rename CTransaction `.getwtxid()` -> `wtxid_hex` for consistency 81af4334e8f9 test: rename CTransaction `.sha256` -> `.txid_int` for consistency ce8392423712 test: rename CTransaction `.rehash()`/`.hash` -> `.txid_hex` for consistency 6efbd1e1dcdf refactor: CTransaction equality should consider witness data cbf9b2dab1d8 mempool: codify existing assumption about duplicate txids during removal c3fe85e2d6dd wallet, rpc, test: Remove deprecated getunconfirmedbalance 0ec255139be3 wallet, rpc: Remove deprecated balances from getwalletinfo e9331cd6ab2c wallet: IsEquivalentTo should strip witness data in addition to scriptsigs ce90f0c99fde rpc, wallet, refactor: Remove non-descriptor errors 573bcd75d7b6 wallet, refactor: Remove unused SetupGeneration 5431f2dc2159 wallet, refactor: Remove Legacy warnings and errors 6f1392cc42cd indexes, refactor: Remove remaining CBlockIndex* uses in index Rewind methods 0a248708dc9d indexes, refactor: Stop requiring CBlockIndex type to call IsBIP30Unspendable 28299ce77636 p2p: remove vestigial READ_STATUS_CHECKBLOCK_FAILED bac9ee483066 p2p: Add witness mutation check inside FillBlock 4f10a57671c1 depends: Override host compilers for FreeBSD and OpenBSD 239fc4d62e73 doc, windows: CompanyName "Bitcoin" => "Bitcoin Core project" e9cdaefb0a80 test: introduce and use CTransaction `.wtxid_int` property 9b3dce24a333 test: remove bare CTransaction `.rehash()`/`.calc_sha256()` calls a2724e3ea392 test: remove txid caching in CTransaction class fa0b766f43df test: Remove intermittent and presumed fixed tsan race suppressions fa4b659dcd03 test: Explain how to reproduce zmq:: upstream race d4e212e8a69e rest: fetch spent transaction outputs by blockhash 331a25cb1663 test: indexes, avoid creating threads when sync runs synchronously 95969bc58ae0 test: added fuzz coverage to consensus/merkle.cpp f6b782f3aad4 doc: Improve m_best_header documentation ee673b9aa015 validation: remove m_failed_blocks ed764ea2b4ed validation: Add more checks to CheckBlockIndex() 9a70883002e1 validation: in invalidateblock, calculate m_best_header right away 8e39f2d20d09 validation: in invalidateblock, mark children as invalid right away 4c29326183ba validation: cache all headers with enough PoW in invalidateblock 15fa5b5a908d validation: call InvalidBlockFound also from AcceptBlock 8713e8060d50 depends: fix SHA256SUM command on OpenBSD (use GNU mode output) 2d938720bd67 depends: add patch to fix capnp build on OpenBSD 0a4ee93529d6 wallet: use PSBTError::EXTERNAL_SIGNER_NOT_FOUND 8ba2f9b7c8a6 refactor: use util::Result for GetExternalSigner() 130a92298077 wallet, interfaces: Use BERKELEY_RO in isEncrypted fa9ca13f35be refactor: Sort includes of touched source files facb152697b8 scripted-diff: Bump copyright headers after include changes fae71d30f722 clang-tidy: Apply modernize-deprecated-headers 0def84d407fa test: Verify parent_desc in RPCs b184f5c87c41 test: update BIP340 test vectors and implementation (variable-length messages) b78990734621 wallet: migration, avoid creating spendable wallet from a watch-only legacy wallet e86d71b749c0 wallet: refactor, dedup wallet re-loading code 1de423e0a08b wallet: introduce method to return all db created files d04f6a97ba9a refactor: remove sqlite dir path back-and-forth conversion 2554cee988fb test: Enable default wallet for wallet_descriptor.py 3fc9d9f241a4 wallet, rpc: Push the normalized parent descriptor 47237cd19380 wallet, rpc: Output wallet flags in getwalletinfo bc2a26b29623 wallet: Add GetWalletFlags 69f588a99a7a wallet: Set upgraded descriptor cache flag for newly created wallets 9f8e7b0b3b78 node: cap -dbcache to 1GiB on 32-bit architectures 2c43b6adebbf init: cap -maxmempool to 500 MB on 32-bit systems aeea5f0ec112 thread-safety: add missing lock annotation 832c57a53410 thread-safety: modernize thread safety macros 61ea5f348da7 fuzz: doc: add info about `afl-system-config` for macOS REVERT: 690a5dac223e kernel: Fix bitcoin-chainstate for windows REVERT: 345d2ac84162 kernel: Add Purpose section to header documentation REVERT: 790b2baa7ce2 kernel: Add pure kernel bitcoin-chainstate REVERT: 78e4ca20aae6 kernel: Add functions to get the block hash from a block REVERT: 4c0de2443d8a kernel: Add block index utility functions to C header REVERT: d031c5871e47 kernel: Add function to read block undo data from disk to C header REVERT: e10616b59b13 kernel: Add functions to read block from disk to C header REVERT: 71e76017b8c4 kernel: Add function for copying block data to C header REVERT: a015529dd449 kernel: Add functions for the block validation state to C header REVERT: e5870b8253f8 kernel: Add validation interface to C header REVERT: 24d56ecfbae4 kernel: Add interrupt function to C header REVERT: 98710edc97ae kernel: Add import blocks function to C header REVERT: 2b9382a5ebc2 kernel: Add chainstate load options for in-memory dbs in C header REVERT: 15dff3f0b5d5 kernel: Add options for reindexing in C header REVERT: f2faf1790484 kernel: Add block validation to C header REVERT: 4cd4577fc82b kernel: Add chainstate loading when instantiating a ChainstateManager REVERT: 7a40d4ddb23a kernel: Add chainstate manager option for setting worker threads REVERT: 7bac421d186a kernel: Add chainstate manager object to C header REVERT: fc83bef50833 kernel: Add notifications context option to C header REVERT: 76a0c97e0df6 kernel: Add chain params context option to C header REVERT: a3cc9ec2dc7d kernel: Add kernel library context object REVERT: d7230ea9b9ee kernel: Add logging to kernel library C header REVERT: 84680fe7ca33 kernel: Introduce initial kernel C header API git-subtree-dir: libbitcoinkernel-sys/bitcoin git-subtree-split: 1ffc1c9d94b16cdbfb92a26d0f0e75451efad4fe
…2a253b372a6 62a253b372a6 add kernel process new block headers 1ffc1c9d94b1 kernel: Fix bitcoin-chainstate for windows 686c4108cc1d kernel: Add Purpose section to header documentation 8d47a4073120 kernel: Add pure kernel bitcoin-chainstate ba84650882f1 kernel: Add functions to get the block hash from a block a4217273422b kernel: Add block index utility functions to C header aedbe73cf096 kernel: Add function to read block undo data from disk to C header 109dda0845d8 kernel: Add functions to read block from disk to C header 3e24c34ad481 kernel: Add function for copying block data to C header 9ab3d14c1d15 kernel: Add functions for the block validation state to C header 4408228f8556 kernel: Add validation interface to C header 0c3054ef4b6e kernel: Add interrupt function to C header 45895c4ac778 kernel: Add import blocks function to C header 994c869ba238 kernel: Add chainstate load options for in-memory dbs in C header b4ad47e31268 kernel: Add options for reindexing in C header 591b28d61548 kernel: Add block validation to C header a1fe6b4264bf kernel: Add chainstate loading when instantiating a ChainstateManager 0cf99f827e48 kernel: Add chainstate manager option for setting worker threads c18b35135c75 kernel: Add chainstate manager object to C header 1de2db7eacde kernel: Add notifications context option to C header b1e6a28d17c6 kernel: Add chain params context option to C header 369cfd3f6c4f kernel: Add kernel library context object f9e13dbb1ade kernel: Add logging to kernel library C header ce1288828783 kernel: Introduce initial kernel C header API 7566b40bd230 Merge bitcoin/bitcoin#32961: fix spelling in tor.md docs 84ef5524d5ab fix spelling in tor.md docs 6a13a6106e3c Merge bitcoin/bitcoin#32937: Enable `-Werror=dev` in CI & Guix 23e15d40b96a Merge bitcoin/bitcoin#32631: refactor: Convert GenTxid to `std::variant` 8ffbd7b77860 Merge bitcoin/bitcoin#32940: cmake: Use newer signature of `qt6_add_lrelease` when available 80ce5137663d Merge bitcoin/bitcoin#32933: log: Properly log warnings with warn loglevel in addrdb 8f766f39df3e ci: enable -Werror=dev 7b420ca8341a guix: configure with -Werror=dev 44097ddb1913 cmake: enable -Werror=dev in dev-mode preset 12fb00fd4228 Merge bitcoin/bitcoin#32927: fuzz: Add missing calls to `SetMockTime` for determinism 3c1418666bfa Merge bitcoin/bitcoin#32930: Resolve guix non-determinism with emplace_back instead of push_back bad998b7c040 Merge bitcoin/bitcoin#32921: test: less ambiguous error if bitcoind is missing 7f28e8032987 Merge bitcoin/bitcoin#32758: wallet: remove dead code in legacy wallet migration 5ef0d4897be4 Merge bitcoin/bitcoin#30605: Cluster linearization: separate tests from tests-of-tests f43571010e38 Resolve guix non-determinism with emplace_back instead of push_back 94931656b52f cmake: Use newer signature of `qt6_add_lrelease` when available b80ead8a7182 Merge bitcoin/bitcoin#32890: bench: Avoid tmp files in pwd c4f90900b55f Merge bitcoin/bitcoin#32932: test: Add missing convert_to_json_for_cli fa894b0f3e13 log: Properly log warnings with warn loglevel in addrdb 83ae7802fe14 Merge bitcoin/bitcoin#32881: test: Turn rpcauth.py test into functional test fa0528479d5e test: Add missing convert_to_json_for_cli a40e9536588c Merge bitcoin/bitcoin#30479: validation: Add eligible ancestors of reconsidered block to setBlockIndexCandidates 1ca62edd85b1 Merge bitcoin/bitcoin#32580: wallet, test: best block locator matches scan state follow-ups 2cad7226c2d0 Merge bitcoin/bitcoin#32799: mempool: use `FeeFrac` for ancestor/descendant score comparators 2d59977601ea Merge bitcoin/bitcoin#32604: log: Mitigate disk filling attacks by rate limiting LogPrintf, LogInfo, LogWarning, LogError 4c772cbd83e5 doc: add release notes for new rate limiting logging behavior d541409a64c6 log: Add rate limiting to LogPrintf, LogInfo, LogWarning, LogError, LogPrintLevel a6a35cc0c23d log: use std::source_location in place of __func__, __FILE__, __LINE__ afb9e39ec555 log: introduce LogRateLimiter, LogLimitStats, Status df7972a6cfd9 test: Mark ~DebugLogHelper as noexcept(false) fa8862723c14 fuzz: CheckGlobals in init fa26bfde988b test: Avoid resetting mocktime in testing setup fa6b45fa8ec8 Add SetMockTime for time_point types a60f863d3e27 scripted-diff: Replace GenTxidVariant with GenTxid c8ba19959863 Remove old GenTxid class 072a198ea4bc Convert remaining instances of GenTxid to GenTxidVariant 1b528391c794 Convert `txrequest` to GenTxidVariant bde4579b0780 Convert `txdownloadman_impl` to GenTxidVariant c876a892ec0b Replace GenTxid with Txid/Wtxid overloads in `txmempool` de858ce2bea8 move-only: make GetInfo a private CTxMemPool member eee473d9f301 Convert `CompareInvMempoolOrder` to GenTxidVariant b7e9dc8e468b Merge bitcoin/bitcoin#32884: rest: replace `rf_names[0].rf` by `RESTResponseFormat::UNDEF` fa4d68cf97b6 Turn rpcauth.py test into functional test 83bb41455715 test: less ambiguous error if bitcoind is missing 150b5c99ca11 wallet: replace `reload_wallet` with inline functionality 927055e42afb Merge bitcoin/bitcoin#32893: doc: fix `BlockConnected` incorrect comment a8bff38236ac Merge bitcoin/bitcoin#32862: rpc: use CScheduler for relocking wallet and remove RPCTimer 21b42f3c5569 Merge bitcoin/bitcoin#32660: rpc: Use type-safe exception to pass RPC help 528f79f010d1 Merge bitcoin/bitcoin#32835: test: fix feature_init.py intermittencies fc543f94a9c3 Merge bitcoin/bitcoin#32385: test: refactor out same-txid-diff-wtxid tx to reuse in other tests 09add84fc5ad Merge bitcoin/bitcoin#32618: wallet: Remove ISMINE_WATCHONLY and watchonly from RPCs 87ab69155d94 Merge bitcoin/bitcoin#31553: cluster mempool: add TxGraph reorg functionality 4e69aa5701a2 doc: fix `BlockConnected` incorrect comment d33c111448ac Merge bitcoin/bitcoin#32829: threading: use correct mutex name in reverse_lock fatal error messages de4eef52d123 threading: use correct mutex name in reverse_lock fatal error messages fa2fbaa4a29f bench: Avoid tmp files in pwd 6d19815cd440 rest: replace `rf_names[0].rf` by `RESTResponseFormat::UNDEF` for code clarity 4207d9bf823b test: feature_init, ensure indexes are synced prior to perturbing files e3f416dbf763 Merge bitcoin/bitcoin#32463: test: fix an incorrect `feature_fee_estimation.py` subtest ea4285775e61 Merge bitcoin/bitcoin#29307: util: explicitly close all AutoFiles that have been written 51ccc71b1bf9 Merge bitcoin/bitcoin#32858: doc: Add workaround for vcpkg issue with paths with embedded spaces fcfd3db563e8 remove RPCTimerInterface and RPCRunLater 8a1765795fd3 use WalletContext scheduler for walletpassphrase callback 927e9b220f17 Merge bitcoin/bitcoin#32716: depends: Override host compilers for FreeBSD and OpenBSD c7fe8abb5f38 Merge bitcoin/bitcoin#31233: cmake: Improve Python robustness and test usability 625194944333 Merge bitcoin/bitcoin#32290: test: allow all functional tests to be run or skipped with --usecli 0f86da382d3f wallet: remove dead code in legacy wallet migration 49d5f1f2c6d2 Merge bitcoin/bitcoin#32850: test: check P2SH sigop count for coinbase tx abd07cf7332e test: feature_init, only init what's needed per perturbation/deletion round 192743235493 Merge bitcoin/bitcoin#32859: functional test: correctly detect nonstd TRUC tx vsize in feature_taproot 68ca13e1f96a Merge bitcoin/bitcoin#32823: test: Fix wait_for_getheaders() call in test_outbound_eviction_blocks_relay_only() 35cae56a9292 Merge bitcoin/bitcoin#31423: wallet: migration, avoid creating spendable wallet from a watch-only legacy wallet 1632fc104be8 txgraph: Track multiple potential would-be clusters in Trim (improvement) 4608df37e02a txgraph: add Trim benchmark (benchmark) 9c436ff01cff txgraph: add fuzz test scenario that avoids cycles inside Trim() (tests) 938e86f8fecd txgraph: add unit test for TxGraph::Trim (tests) a04e205ab03e txgraph: Add ability to trim oversized clusters (feature) eabcd0eb6fca txgraph: remove unnecessary m_group_oversized (simplification) 19b14e61eae7 txgraph: Permit transactions that exceed cluster size limit (feature) c4287b9b71c6 txgraph: Add ability to configure maximum cluster size/weight (feature) f0524cda3995 functional test: correctly detect nonstd TRUC tx vsize in feature_taproot 0a1af4418ed2 doc: Add workaround for vcpkg issue with paths with embedded spaces a92e8b10a5fb Merge bitcoin/bitcoin#32564: miniscript, refactor: Make `operator""_mst` `consteval` (re-take) bf75c9964fb2 Merge bitcoin/bitcoin#32828: build, docs: Fix Boost-related issues on NetBSD 7fa9b58bd907 Merge bitcoin/bitcoin#32841: feature_taproot: sample tx version border values more 1b5c545e82fe wallet, test: best block locator matches scan state follow-ups fa3359289883 Merge bitcoin/bitcoin#32723: Refactor: Redefine CTransaction equality to include witness data ce000c8ee02a Merge bitcoin/bitcoin#32219: test: enabling wallet migration functional test on windows f33154c464b3 Merge bitcoin/bitcoin#32432: wallet, rpc: Use `OUTPUT_TYPES` to describe the output types instead of hardcoding them fa9b1e354444 Merge bitcoin/bitcoin#32846: doc: clarify that the "-j N" goes after the "--build build" part b1a8ac07e91d doc: Release note for removed watchonly parameters and results 15710869e19e wallet: Remove ISMINE_WATCH_ONLY 4439bf4b41a6 wallet, spend: Remove fWatchOnly from CCoinControl 1337c72198a7 wallet, rpc: Remove watchonly from RPCs e81d95d43574 wallet: Remove watchonly balances d20dc9c6aae0 wallet: Wallets without private keys cannot grind R 9991f49c38c0 test: Watchonly wallets should estimate larger size d6aaffcb11ad test: check P2SH sigop count for coinbase tx b1821d8dd39f Merge bitcoin/bitcoin#27286: wallet: Keep track of the wallet's own transaction outputs in memory 0e9f409db3b7 doc: clarify that the "-j N" goes after the "--build build" part 67dc7523f3e1 cmake, test: Disable tests instead of ignoring them bb9157db5d39 cmake, refactor: Switch to `Python3::Interpreter` imported target ed7a841f82f9 Merge bitcoin/bitcoin#32816: contrib: correct variable name in p2p_monitor.py 2ae5154dd860 Merge bitcoin/bitcoin#32842: doc: add `/spenttxouts` to REST-interface.md 243553d59071 refactor: replace get_iter_from_wtxid with GetIter(const Wtxid&) fcf92fd640ea refactor: make CTxMemPool::GetIter strongly typed 23a00fcf571f Merge bitcoin/bitcoin#32783: doc: Add fetching single PRs from upstream to productivity.md dd99cedc0bfe doc: add `/spenttxouts` to REST-interface.md 4be81e9746e9 feature_taproot: sample tx version border values more 6e5b67a370bb Merge bitcoin/bitcoin#32697: test: Turn util/test_runner into functional test fb2c16cf7bfb Merge bitcoin/bitcoin#32826: p2p: add more bad ports f5f3e1f26328 Merge bitcoin/bitcoin#32646: p2p: Add witness mutation check inside FillBlock a763497b1d66 Merge bitcoin/bitcoin#32834: test: Use msg_generic in p2p_ping.py fa3f100010f1 test: Use msg_generic in p2p_ping.py 33480573cbd8 Merge bitcoin/bitcoin#32833: test: Add `msgtype` to `msg_generic` slots 9501738e1cbd Merge bitcoin/bitcoin#32825: rest: rename `strURIPart` to `uri_part` 5a5ddbd78922 build: Add workaround for NetBSD bug in `Boost::headers` target 6967e8e8abbc add more bad p2p ports 7dc43ea503a2 test: Add msgtype to msg_generic slots 4eb3cee919ed doc: Update NetBSD Build Guide 856f4235b1ae scripted-diff: rest: rename `strURIPart` -> `uri_part` b3bb4031ab32 Merge bitcoin/bitcoin#32540: rest: fetch spent transaction outputs by blockhash 3086c21df4a2 Merge bitcoin/bitcoin#32243: test: added fuzz coverage for consensus/merkle.cpp 319ff58bbd58 Merge bitcoin/bitcoin#32638: blocks: force hash validations on disk read ec004cdb86e6 test: Use rehash() in outbound eviction block-relay 26598ed21ea7 test: Clarify roles in outbound eviction comments 689318ccd9c2 Merge bitcoin/bitcoin#32667: build: Find Boost in config mode 4a3475a43e80 Merge bitcoin/bitcoin#32819: Add release note for #32530 558f0880a8f3 Add release note for #32530 c43cc48aaaaa Merge bitcoin/bitcoin#32530: node: cap `-maxmempool` and `-dbcache` values for 32-bit 4145a9463a58 Merge bitcoin/bitcoin#32731: depends: Build `qt` package for FreeBSD hosts 14653b869b91 build: Find Boost in config mode 67ea4b9994e6 Merge bitcoin/bitcoin#32814: cmake: Explicitly specify `Boost_ROOT` for Homebrew's package 5170ec1ae35d Merge bitcoin/bitcoin#32665: depends: Bump boost to 1.88.0 and use new CMake buildsystem 8fafb81320dd Merge bitcoin/bitcoin#32805: cmake: Use `HINTS` instead of `PATHS` in `find_*` commands 6bb38bf37fd8 Update p2p_monitor.py 9b75cfda4d62 test: retain the intended behavior of `feature_fee_estimation.py` nodes 5c1236f04a24 test: fix incorrect subtest in `feature_fee_estimation.py` e5f9218b6afb Merge bitcoin/bitcoin#32742: test: fix catchup loop in outbound eviction functional test 11d28f21bb8f Implement GenTxid as a variant 215e5999e207 wallet: Remove unused CachedTxGet{Available,Immature}Credit 49675de035e7 wallet: Have GetDebit use the wallet's TXO set 17d453cb3a6f wallet: Recompute wallet TXOs after descriptor migration 764016eb2259 wallet: Retrieve TXO directly in FetchSelectedInputs c1801b78f1c1 wallet: Use wallet's TXO set in AvailableCoins dde7cbe105ba wallet: Change balance calculation to use m_txos 96e7a89c5e0b wallet: Recalculate the wallet's txos after any imports ae888c38d080 wallet: Exit IsTrustedTx early if wtx is already in trusted_parents ae0876ec4273 wallet: Keep track of transaction outputs owned by the wallet 0f269bc48c39 walletdb: Load Txs last 5cc32ee2a7ad test: Test for balance update due to untracked output becoming spendable 8222341d4f9c wallet: MarkDirty after AddWalletDescriptor e02f2d331ce6 bench: Have AvailableCoins benchmark include a lot of unrelated utxos f27898c8bfe3 Merge bitcoin/bitcoin#32721: wallet, rpc: Remove deprecated balances from getwalletinfo and getunconfirmedbalance 8578fabb95fa Merge bitcoin/bitcoin#32597: wallet: Always set descriptor cache upgraded flag for new wallets 941b8f54c0d3 ci: run get_previous_releases as part of test cross win job 5e2182140bcd test: increment mocked time for migrating wallet backups 5174565802f4 ci: disable feature_unsupported_utxo_db functional test 3dc90d69a64f test: remove mempool.dat before copying 67a6b20d5030 test: add windows support to get previous releases script 01f908195589 Merge bitcoin/bitcoin#32768: wallet: Remove `CWalletTx::fTimeReceivedIsTxTime` c1d8a542b46c Merge bitcoin/bitcoin#32727: doc: add release notes for #32425 1a1b478ca31b scripted-diff: rename tarball to archive 4f06dc848460 test: remove building from source from get prev releases script 45b1d3975766 doc: Add fetching single PRs from upstream 8800b5acc1ef cmake: Explicitly specify `Boost_ROOT` for Homebrew's package b9a2e8ee965d doc: add release notes for bitcoin/bitcoin#32425 6c2538d5bfea depends: Bump boost to 1.88.0 and use new CMake buildsystem 7d5a6d17398a Merge bitcoin/bitcoin#32798: build: add root dir to CMAKE_PREFIX_PATH in toolchain a34fb9ad6c6c miniscript: Make `operator""_mst` `consteval` 14052162b19a Revert "miniscript: make operator_mst consteval" ead44687483e cmake: Use `HINTS` instead of `PATHS` in `find_*` commands ad654a4807cd Merge bitcoin/bitcoin#32767: ci: Allow running CI in worktrees 67e6746dc87a Merge bitcoin/bitcoin#32780: lsan: add more Qt suppressions e27a94596f2a build: add root dir to CMAKE_PREFIX_PATH 173394d9511e depends: Build `qt` package for FreeBSD hosts 922adf66ac74 mempool: use `FeeFrac` for calculating regular score 3322b3a05954 mempool: use `FeeFrac` for calculating ancestor score ac9c113bd2a2 mempool: use `FeeFrac` for calculating descendant score e95bfc1d537e Merge bitcoin/bitcoin#32797: doc: archive 28.2 release notes 666016e56b28 ci: use --usecli in one of the CI jobs 7ea248a02099 test: Disable several (sub)tests with cli f420b6356b6f test: skip subtests that check for wrong types with cli 6530d0015b95 test: add function to convert to json for height_or_hash params 54d28722baea test: Don't send empty named args with cli cca422060e96 test: convert tuple to json for cli af34e980866e test: make rpc_psbt.py usable with --usecli 8f8ce9e1740d test: rename .rpc to ._rpc and remove unnecessary uses 5b0888598632 test: enable functional tests with large rpc args for cli 7d5352ac7373 test: use -stdin for large rpc commands 6c364e0c10de test: Enable various tests for usage with cli 907842363c64 doc: archive 28.2 release notes c5849663baa9 Merge bitcoin/bitcoin#32771: contrib: tracing: Fix read of `pmsg_type` in p2p_monitor.py 8a36a471e652 Merge bitcoin/bitcoin#32781: refactor: modernize deprecated ipc headers ed060e01e756 Merge bitcoin/bitcoin#32725: test: round difficulty and networkhashps daf393b3f15d Merge bitcoin/bitcoin#32642: test: update BIP340 test vectors and implementation (variable-length messages) 482d2553764e Merge bitcoin/bitcoin#32736: wallet: Correct dir iteration error handling 74b7e9c7dbf7 refactor: modernize deprecated ipc headers 154b98a7aaae Merge bitcoin/bitcoin#32772: fuzz: wallet: remove `FundTx` from `FuzzedWallet` fa183045a1ea Merge bitcoin/bitcoin#32765: test: Fix list index out of range error in feature_bip68_sequence.py 5be31b20e54e lsan: add more Qt suppressions e18322eff274 Merge bitcoin/bitcoin#32774: doc: Explain how to fetch commits directly b86141925416 Merge bitcoin/bitcoin#32777: doc: fix Transifex 404s 79afe6b7c092 Merge bitcoin/bitcoin#32776: doc: taproot became always active in v24.0 (doc/bips.md) 53a996f12266 doc: fix transifex 404s 8ee8a951c205 doc: taproot became always active in v24.0 fa2163159511 test: Use self.log fa346f7797ae test: Move error string into exception fa1986181f24 test: Remove useless catch-throw fa94fd53c996 doc: Explain how to fetch commits directly 9a7eece5a4a1 Merge bitcoin/bitcoin#31981: Add checkBlock() to Mining interface 8cc9845b8ddf wallet, rpc: Use `OUTPUT_TYPES` to describe the output types instead of hardcoding them 3473986fe10e contrib: tracing: Correctly read msg type in p2p_monitor.py cd1ae1b4dfdb fuzz: wallet: remove FundTx from FuzzedWallet fa68dcb207c3 ci: Add missing errexit to lint CI install fa535a6de7a0 ci: Allow running CI in worktrees faf6a0459749 ci: Clean UID/GID mismatch 9eb2c82e7c91 walletdb: Remove unused upgraded_txs c66803370988 wallet: Remove unused fTimeReceivedIsTxTime 5e6dbfd14ea9 Merge bitcoin/bitcoin#32465: thread-safety: fix annotations with REVERSE_LOCK e285e691b7a3 test: Fix list index out of range error in feature_bip68_sequence.py 1be688f57515 Merge bitcoin/bitcoin#32682: wallet: have external signer use PSBT error code EXTERNAL_SIGNER_NOT_FOUND a201a99f8cf5 thread-safety: fix annotations with REVERSE_LOCK 26747d9f3e3f Merge bitcoin/bitcoin#32760: depends: capnp 1.2.0 c10e382d2a3b flatfile: check whether the file has been closed successfully 4bb5dd78ea4b util: check that a file has been closed before ~AutoFile() is called 8bb34f07df9a Explicitly close all AutoFiles that have been written a69c4098b273 rpc: take ownership of the file by WriteUTXOSnapshot() c7eaac326ac2 depends: capnp 1.2.0 afaaba69eddd test: refactor out same-txid-diff-wtxid tx to reuse in other tests 084eee029199 Merge bitcoin/bitcoin#32743: refactor: use `std::vector<std::byte>` for `BlockManager::ReadRawBlock()` c48846ec4169 doc: add release notes for #32540 d7fca5c171f4 clusterlin: add big comment explaning the relation between tests b64e61d2de65 clusterlin: abstract try-permutations into ExhaustiveLinearize function 1fa55a64ed18 clusterlin tests: verify that chunks are minimal da23ecef29b7 clusterlin tests: support non-empty ReadTopologicalSubset() 94f3e17c33e6 clusterlin tests: compare with fuzz-provided linearizations 5f92ebee0d24 clusterlin tests: compare with fuzz-provided topological sets 6e37824ac390 clusterlin tests: optimize clusterlin_simple_linearize 98c1c88b6f8d clusterlin tests: separate testing of SimpleLinearize and Linearize 10e90f7aef9c clusterlin tests: make SimpleCandidateFinder always find connected a38c38951e10 clusterlin tests: separate testing of Search- and SimpleCandidateFinder 77a432ee704b clusterlin tests: count SimpleCandidateFinder iterations better a18e57232867 test: more template verification tests 10c908808fb8 test: move gbt proposal mode tests to new file 94959b8deedc Add checkBlock to Mining interface 6077157531c1 ipc: drop BlockValidationState special handling 74690f4ed82b validation: refactor TestBlockValidity 2def85847318 Merge bitcoin/bitcoin#32481: wallet, refactor: Remove Legacy wallet unused warnings and errors 287cd04a32df Merge bitcoin/bitcoin#32594: wallet, rpc: Return normalized descriptor in parent_descs fd74d609bed9 Merge bitcoin/bitcoin#32620: wallet: Fix wallet interface detection of encrypted wallets 6ecb9fc65f9a chore: use `std::vector<std::byte>` for `BlockManager::ReadRawBlock()` 65b26507b84a Merge bitcoin/bitcoin#32746: test: remove unnecessary m_best_header setting hack in feature_assumeutxo.py 3e8168442692 Merge bitcoin/bitcoin#32739: tsan: remove note about dropping Qt wildcards b8eb17792e0c Merge bitcoin/bitcoin#32175: fuzz: doc: add info about `afl-system-config` for macOS 206bc05e62c6 test: remove unnecessary m_best_header setting hack in feature_assumeutxo.py 272cd09b796a log: Use warning level while scanning wallet dir 17776443675d qa, wallet: Verify warning when failing to scan 893e51ffeb05 wallet: Correct dir iteration error handling 52e6e93c3f60 Merge bitcoin/bitcoin#32693: depends: fix cmake compatibility error for freetype fa2f1c55b7da move-only util data to test/functional/data/util faa18bf287fc test: Turn util/test_runner into functional test fa955154c773 test: Add missing skip_if_no_bitcoin_tx 9341b5333ad5 blockstorage: make block read hash checks explicit 2371b9f4ee0b test/bench: verify hash in `ComputeFilter` reads 5d235d50d6dd net: assert block hash in `ProcessGetBlockData` and `ProcessMessage` 5db0a4a2db20 tsan: remove note about dropping Qt wildcards d91c718a686a Merge bitcoin/bitcoin#32717: doc: Update Qt 6 packages on FreeBSD fac9db6eb0c6 test: Add missing tx util to Binaries fa91835ec6ad test: Use lowercase env var as attribute name fac49094cdb1 test: Remove duplicate ConfigParser 9dfc61d95f00 test: detect no external signer connected dd8447f70faf test: fix catchup loop in outbound eviction functional test 19765dca197a Merge bitcoin/bitcoin#32694: index: move disk read lookups to base class 8cc3ac6c2328 validation: Don't use IsValid() to filter for invalid blocks 86d98b94e546 test: verify that ancestors of a reconsidered block can become the chain tip 3c39a55e64be validation: Add ancestors of reconsiderblock to setBlockIndexCandidates 1df96f59316c doc: Update Qt 6 packages on FreeBSD d7c37906e7b1 build: patch cmake min version on freetype fa946520d229 refactor: Use structured binding for-loop eeeec1579ec5 rpc: Use type-safe exception to pass RPC help 5757de4ddd37 Merge bitcoin/bitcoin#32673: clang-tidy: Apply modernize-deprecated-headers 1473f69924bc Merge bitcoin/bitcoin#32421: test: refactor: overhaul (w)txid determination for `CTransaction` objects 7c0cfce20df9 Merge bitcoin/bitcoin#31405: validation: stricter internal handling of invalid blocks 851f540d0e03 Merge bitcoin/bitcoin#32703: test: Explain how to reproduce zmq:: upstream race 5af5e9791dc9 Merge bitcoin/bitcoin#32690: depends: fix multiprocess build on OpenBSD (apply capnp patch, correct SHA256SUM command) fed41b75fbfa Merge bitcoin/bitcoin#32431: deps: Bump lief to 0.16.6 578ea3eedb28 test: round difficulty and networkhashps c8abd972818f Merge bitcoin/bitcoin#32719: doc, windows: CompanyName "Bitcoin" => "Bitcoin Core project" 029ba1a21d57 index: remove CBlockIndex access from CustomAppend() 91b7ab6c6926 refactor: index, simplify CopyHeightIndexToHashIndex to process single block 4f56c9145a60 refactor: contrib: Move FORTIFY check to BASE_ELF f6d25e8a2dd3 contrib: Re-enable FORTIFY check for RISCV 765922d8022d deps: bump lief to 0.16.6 4ef625301767 test: avoid unneeded (w)txid hex -> integer conversions 472f3770aec8 scripted-diff: test: rename CTransaction `.getwtxid()` -> `wtxid_hex` for consistency 81af4334e8f9 test: rename CTransaction `.sha256` -> `.txid_int` for consistency ce8392423712 test: rename CTransaction `.rehash()`/`.hash` -> `.txid_hex` for consistency 6efbd1e1dcdf refactor: CTransaction equality should consider witness data cbf9b2dab1d8 mempool: codify existing assumption about duplicate txids during removal c3fe85e2d6dd wallet, rpc, test: Remove deprecated getunconfirmedbalance 0ec255139be3 wallet, rpc: Remove deprecated balances from getwalletinfo e9331cd6ab2c wallet: IsEquivalentTo should strip witness data in addition to scriptsigs ce90f0c99fde rpc, wallet, refactor: Remove non-descriptor errors 573bcd75d7b6 wallet, refactor: Remove unused SetupGeneration 5431f2dc2159 wallet, refactor: Remove Legacy warnings and errors 6f1392cc42cd indexes, refactor: Remove remaining CBlockIndex* uses in index Rewind methods 0a248708dc9d indexes, refactor: Stop requiring CBlockIndex type to call IsBIP30Unspendable 28299ce77636 p2p: remove vestigial READ_STATUS_CHECKBLOCK_FAILED bac9ee483066 p2p: Add witness mutation check inside FillBlock 4f10a57671c1 depends: Override host compilers for FreeBSD and OpenBSD 239fc4d62e73 doc, windows: CompanyName "Bitcoin" => "Bitcoin Core project" e9cdaefb0a80 test: introduce and use CTransaction `.wtxid_int` property 9b3dce24a333 test: remove bare CTransaction `.rehash()`/`.calc_sha256()` calls a2724e3ea392 test: remove txid caching in CTransaction class fa0b766f43df test: Remove intermittent and presumed fixed tsan race suppressions fa4b659dcd03 test: Explain how to reproduce zmq:: upstream race d4e212e8a69e rest: fetch spent transaction outputs by blockhash 331a25cb1663 test: indexes, avoid creating threads when sync runs synchronously 95969bc58ae0 test: added fuzz coverage to consensus/merkle.cpp f6b782f3aad4 doc: Improve m_best_header documentation ee673b9aa015 validation: remove m_failed_blocks ed764ea2b4ed validation: Add more checks to CheckBlockIndex() 9a70883002e1 validation: in invalidateblock, calculate m_best_header right away 8e39f2d20d09 validation: in invalidateblock, mark children as invalid right away 4c29326183ba validation: cache all headers with enough PoW in invalidateblock 15fa5b5a908d validation: call InvalidBlockFound also from AcceptBlock 8713e8060d50 depends: fix SHA256SUM command on OpenBSD (use GNU mode output) 2d938720bd67 depends: add patch to fix capnp build on OpenBSD 0a4ee93529d6 wallet: use PSBTError::EXTERNAL_SIGNER_NOT_FOUND 8ba2f9b7c8a6 refactor: use util::Result for GetExternalSigner() 130a92298077 wallet, interfaces: Use BERKELEY_RO in isEncrypted fa9ca13f35be refactor: Sort includes of touched source files facb152697b8 scripted-diff: Bump copyright headers after include changes fae71d30f722 clang-tidy: Apply modernize-deprecated-headers 0def84d407fa test: Verify parent_desc in RPCs b184f5c87c41 test: update BIP340 test vectors and implementation (variable-length messages) b78990734621 wallet: migration, avoid creating spendable wallet from a watch-only legacy wallet e86d71b749c0 wallet: refactor, dedup wallet re-loading code 1de423e0a08b wallet: introduce method to return all db created files d04f6a97ba9a refactor: remove sqlite dir path back-and-forth conversion 2554cee988fb test: Enable default wallet for wallet_descriptor.py 3fc9d9f241a4 wallet, rpc: Push the normalized parent descriptor 47237cd19380 wallet, rpc: Output wallet flags in getwalletinfo bc2a26b29623 wallet: Add GetWalletFlags 69f588a99a7a wallet: Set upgraded descriptor cache flag for newly created wallets 9f8e7b0b3b78 node: cap -dbcache to 1GiB on 32-bit architectures 2c43b6adebbf init: cap -maxmempool to 500 MB on 32-bit systems aeea5f0ec112 thread-safety: add missing lock annotation 832c57a53410 thread-safety: modernize thread safety macros 61ea5f348da7 fuzz: doc: add info about `afl-system-config` for macOS REVERT: dc54534648c5 Change kernel install directory temporarily REVERT: 44c8782f9869 Add BlockReader functionality to kernel library REVERT: ac993426a14c Add directory locking and read-only mode to BlockTreeStore REVERT: 74c2b345ac2b Flush disk writes when not in initial block download REVERT: 57a96f6cec20 Remove block_tree_db_in_memory parameter after flat-file migration REVERT: d6408d938769 blockstorage: Remove BlockTreeDB dead code REVERT: fc24cd8253c2 kernel: Add assumed header store to chainparams REVERT: a644f2404b2d kernel: Remove block tree db params REVERT: 39ddc770deeb blockstorage: Replace BlockTreeDB with BlockTreeStore REVERT: a971f88ac714 fuzz: Use BlockTreeStore in block index fuzz test REVERT: daacbff55c08 kernel: Add blocktreestorage module REVERT: 1932c011baf8 kernel: Introduce initial kernel C header API REVERT: 690a5dac223e kernel: Fix bitcoin-chainstate for windows REVERT: 345d2ac84162 kernel: Add Purpose section to header documentation REVERT: 790b2baa7ce2 kernel: Add pure kernel bitcoin-chainstate REVERT: 78e4ca20aae6 kernel: Add functions to get the block hash from a block REVERT: 4c0de2443d8a kernel: Add block index utility functions to C header REVERT: d031c5871e47 kernel: Add function to read block undo data from disk to C header REVERT: e10616b59b13 kernel: Add functions to read block from disk to C header REVERT: 71e76017b8c4 kernel: Add function for copying block data to C header REVERT: a015529dd449 kernel: Add functions for the block validation state to C header REVERT: e5870b8253f8 kernel: Add validation interface to C header REVERT: 24d56ecfbae4 kernel: Add interrupt function to C header REVERT: 98710edc97ae kernel: Add import blocks function to C header REVERT: 2b9382a5ebc2 kernel: Add chainstate load options for in-memory dbs in C header REVERT: 15dff3f0b5d5 kernel: Add options for reindexing in C header REVERT: f2faf1790484 kernel: Add block validation to C header REVERT: 4cd4577fc82b kernel: Add chainstate loading when instantiating a ChainstateManager REVERT: 7a40d4ddb23a kernel: Add chainstate manager option for setting worker threads REVERT: 7bac421d186a kernel: Add chainstate manager object to C header REVERT: fc83bef50833 kernel: Add notifications context option to C header REVERT: 76a0c97e0df6 kernel: Add chain params context option to C header REVERT: a3cc9ec2dc7d kernel: Add kernel library context object REVERT: d7230ea9b9ee kernel: Add logging to kernel library C header REVERT: 84680fe7ca33 kernel: Introduce initial kernel C header API git-subtree-dir: libbitcoinkernel-sys/bitcoin git-subtree-split: 62a253b372a6e1fea1e588d5534ca6be8451bbdc
…dc7c69bf6b1 cdc7c69bf6b1 Change kernel install directory temporarily 1d9c6f53bdbd Add BlockReader functionality to kernel library ac993426a14c Add directory locking and read-only mode to BlockTreeStore 74c2b345ac2b Flush disk writes when not in initial block download 57a96f6cec20 Remove block_tree_db_in_memory parameter after flat-file migration d6408d938769 blockstorage: Remove BlockTreeDB dead code fc24cd8253c2 kernel: Add assumed header store to chainparams a644f2404b2d kernel: Remove block tree db params 39ddc770deeb blockstorage: Replace BlockTreeDB with BlockTreeStore a971f88ac714 fuzz: Use BlockTreeStore in block index fuzz test daacbff55c08 kernel: Add blocktreestorage module 1932c011baf8 kernel: Introduce initial kernel C header API 690a5dac223e kernel: Fix bitcoin-chainstate for windows 345d2ac84162 kernel: Add Purpose section to header documentation 790b2baa7ce2 kernel: Add pure kernel bitcoin-chainstate 78e4ca20aae6 kernel: Add functions to get the block hash from a block 4c0de2443d8a kernel: Add block index utility functions to C header d031c5871e47 kernel: Add function to read block undo data from disk to C header e10616b59b13 kernel: Add functions to read block from disk to C header 71e76017b8c4 kernel: Add function for copying block data to C header a015529dd449 kernel: Add functions for the block validation state to C header e5870b8253f8 kernel: Add validation interface to C header 24d56ecfbae4 kernel: Add interrupt function to C header 98710edc97ae kernel: Add import blocks function to C header 2b9382a5ebc2 kernel: Add chainstate load options for in-memory dbs in C header 15dff3f0b5d5 kernel: Add options for reindexing in C header f2faf1790484 kernel: Add block validation to C header 4cd4577fc82b kernel: Add chainstate loading when instantiating a ChainstateManager 7a40d4ddb23a kernel: Add chainstate manager option for setting worker threads 7bac421d186a kernel: Add chainstate manager object to C header fc83bef50833 kernel: Add notifications context option to C header 76a0c97e0df6 kernel: Add chain params context option to C header a3cc9ec2dc7d kernel: Add kernel library context object d7230ea9b9ee kernel: Add logging to kernel library C header 84680fe7ca33 kernel: Introduce initial kernel C header API REVERT: 62a253b372a6 add kernel process new block headers 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 REVERT: 7566b40bd230 Merge bitcoin/bitcoin#32961: fix spelling in tor.md docs REVERT: 84ef5524d5ab fix spelling in tor.md docs REVERT: 6a13a6106e3c Merge bitcoin/bitcoin#32937: Enable `-Werror=dev` in CI & Guix REVERT: 23e15d40b96a Merge bitcoin/bitcoin#32631: refactor: Convert GenTxid to `std::variant` REVERT: 8ffbd7b77860 Merge bitcoin/bitcoin#32940: cmake: Use newer signature of `qt6_add_lrelease` when available REVERT: 80ce5137663d Merge bitcoin/bitcoin#32933: log: Properly log warnings with warn loglevel in addrdb REVERT: 8f766f39df3e ci: enable -Werror=dev REVERT: 7b420ca8341a guix: configure with -Werror=dev REVERT: 44097ddb1913 cmake: enable -Werror=dev in dev-mode preset REVERT: 12fb00fd4228 Merge bitcoin/bitcoin#32927: fuzz: Add missing calls to `SetMockTime` for determinism REVERT: 3c1418666bfa Merge bitcoin/bitcoin#32930: Resolve guix non-determinism with emplace_back instead of push_back REVERT: bad998b7c040 Merge bitcoin/bitcoin#32921: test: less ambiguous error if bitcoind is missing REVERT: 7f28e8032987 Merge bitcoin/bitcoin#32758: wallet: remove dead code in legacy wallet migration REVERT: 5ef0d4897be4 Merge bitcoin/bitcoin#30605: Cluster linearization: separate tests from tests-of-tests REVERT: f43571010e38 Resolve guix non-determinism with emplace_back instead of push_back REVERT: 94931656b52f cmake: Use newer signature of `qt6_add_lrelease` when available REVERT: b80ead8a7182 Merge bitcoin/bitcoin#32890: bench: Avoid tmp files in pwd REVERT: c4f90900b55f Merge bitcoin/bitcoin#32932: test: Add missing convert_to_json_for_cli REVERT: fa894b0f3e13 log: Properly log warnings with warn loglevel in addrdb REVERT: 83ae7802fe14 Merge bitcoin/bitcoin#32881: test: Turn rpcauth.py test into functional test REVERT: fa0528479d5e test: Add missing convert_to_json_for_cli REVERT: a40e9536588c Merge bitcoin/bitcoin#30479: validation: Add eligible ancestors of reconsidered block to setBlockIndexCandidates REVERT: 1ca62edd85b1 Merge bitcoin/bitcoin#32580: wallet, test: best block locator matches scan state follow-ups REVERT: 2cad7226c2d0 Merge bitcoin/bitcoin#32799: mempool: use `FeeFrac` for ancestor/descendant score comparators REVERT: 2d59977601ea Merge bitcoin/bitcoin#32604: log: Mitigate disk filling attacks by rate limiting LogPrintf, LogInfo, LogWarning, LogError REVERT: 4c772cbd83e5 doc: add release notes for new rate limiting logging behavior REVERT: d541409a64c6 log: Add rate limiting to LogPrintf, LogInfo, LogWarning, LogError, LogPrintLevel REVERT: a6a35cc0c23d log: use std::source_location in place of __func__, __FILE__, __LINE__ REVERT: afb9e39ec555 log: introduce LogRateLimiter, LogLimitStats, Status REVERT: df7972a6cfd9 test: Mark ~DebugLogHelper as noexcept(false) REVERT: fa8862723c14 fuzz: CheckGlobals in init REVERT: fa26bfde988b test: Avoid resetting mocktime in testing setup REVERT: fa6b45fa8ec8 Add SetMockTime for time_point types REVERT: a60f863d3e27 scripted-diff: Replace GenTxidVariant with GenTxid REVERT: c8ba19959863 Remove old GenTxid class REVERT: 072a198ea4bc Convert remaining instances of GenTxid to GenTxidVariant REVERT: 1b528391c794 Convert `txrequest` to GenTxidVariant REVERT: bde4579b0780 Convert `txdownloadman_impl` to GenTxidVariant REVERT: c876a892ec0b Replace GenTxid with Txid/Wtxid overloads in `txmempool` REVERT: de858ce2bea8 move-only: make GetInfo a private CTxMemPool member REVERT: eee473d9f301 Convert `CompareInvMempoolOrder` to GenTxidVariant REVERT: b7e9dc8e468b Merge bitcoin/bitcoin#32884: rest: replace `rf_names[0].rf` by `RESTResponseFormat::UNDEF` REVERT: fa4d68cf97b6 Turn rpcauth.py test into functional test REVERT: 83bb41455715 test: less ambiguous error if bitcoind is missing REVERT: 150b5c99ca11 wallet: replace `reload_wallet` with inline functionality REVERT: 927055e42afb Merge bitcoin/bitcoin#32893: doc: fix `BlockConnected` incorrect comment REVERT: a8bff38236ac Merge bitcoin/bitcoin#32862: rpc: use CScheduler for relocking wallet and remove RPCTimer REVERT: 21b42f3c5569 Merge bitcoin/bitcoin#32660: rpc: Use type-safe exception to pass RPC help REVERT: 528f79f010d1 Merge bitcoin/bitcoin#32835: test: fix feature_init.py intermittencies REVERT: fc543f94a9c3 Merge bitcoin/bitcoin#32385: test: refactor out same-txid-diff-wtxid tx to reuse in other tests REVERT: 09add84fc5ad Merge bitcoin/bitcoin#32618: wallet: Remove ISMINE_WATCHONLY and watchonly from RPCs REVERT: 87ab69155d94 Merge bitcoin/bitcoin#31553: cluster mempool: add TxGraph reorg functionality REVERT: 4e69aa5701a2 doc: fix `BlockConnected` incorrect comment REVERT: d33c111448ac Merge bitcoin/bitcoin#32829: threading: use correct mutex name in reverse_lock fatal error messages REVERT: de4eef52d123 threading: use correct mutex name in reverse_lock fatal error messages REVERT: fa2fbaa4a29f bench: Avoid tmp files in pwd REVERT: 6d19815cd440 rest: replace `rf_names[0].rf` by `RESTResponseFormat::UNDEF` for code clarity REVERT: 4207d9bf823b test: feature_init, ensure indexes are synced prior to perturbing files REVERT: e3f416dbf763 Merge bitcoin/bitcoin#32463: test: fix an incorrect `feature_fee_estimation.py` subtest REVERT: ea4285775e61 Merge bitcoin/bitcoin#29307: util: explicitly close all AutoFiles that have been written REVERT: 51ccc71b1bf9 Merge bitcoin/bitcoin#32858: doc: Add workaround for vcpkg issue with paths with embedded spaces REVERT: fcfd3db563e8 remove RPCTimerInterface and RPCRunLater REVERT: 8a1765795fd3 use WalletContext scheduler for walletpassphrase callback REVERT: 927e9b220f17 Merge bitcoin/bitcoin#32716: depends: Override host compilers for FreeBSD and OpenBSD REVERT: c7fe8abb5f38 Merge bitcoin/bitcoin#31233: cmake: Improve Python robustness and test usability REVERT: 625194944333 Merge bitcoin/bitcoin#32290: test: allow all functional tests to be run or skipped with --usecli REVERT: 0f86da382d3f wallet: remove dead code in legacy wallet migration REVERT: 49d5f1f2c6d2 Merge bitcoin/bitcoin#32850: test: check P2SH sigop count for coinbase tx REVERT: abd07cf7332e test: feature_init, only init what's needed per perturbation/deletion round REVERT: 192743235493 Merge bitcoin/bitcoin#32859: functional test: correctly detect nonstd TRUC tx vsize in feature_taproot REVERT: 68ca13e1f96a Merge bitcoin/bitcoin#32823: test: Fix wait_for_getheaders() call in test_outbound_eviction_blocks_relay_only() REVERT: 35cae56a9292 Merge bitcoin/bitcoin#31423: wallet: migration, avoid creating spendable wallet from a watch-only legacy wallet REVERT: 1632fc104be8 txgraph: Track multiple potential would-be clusters in Trim (improvement) REVERT: 4608df37e02a txgraph: add Trim benchmark (benchmark) REVERT: 9c436ff01cff txgraph: add fuzz test scenario that avoids cycles inside Trim() (tests) REVERT: 938e86f8fecd txgraph: add unit test for TxGraph::Trim (tests) REVERT: a04e205ab03e txgraph: Add ability to trim oversized clusters (feature) REVERT: eabcd0eb6fca txgraph: remove unnecessary m_group_oversized (simplification) REVERT: 19b14e61eae7 txgraph: Permit transactions that exceed cluster size limit (feature) REVERT: c4287b9b71c6 txgraph: Add ability to configure maximum cluster size/weight (feature) REVERT: f0524cda3995 functional test: correctly detect nonstd TRUC tx vsize in feature_taproot REVERT: 0a1af4418ed2 doc: Add workaround for vcpkg issue with paths with embedded spaces REVERT: a92e8b10a5fb Merge bitcoin/bitcoin#32564: miniscript, refactor: Make `operator""_mst` `consteval` (re-take) REVERT: bf75c9964fb2 Merge bitcoin/bitcoin#32828: build, docs: Fix Boost-related issues on NetBSD REVERT: 7fa9b58bd907 Merge bitcoin/bitcoin#32841: feature_taproot: sample tx version border values more REVERT: 1b5c545e82fe wallet, test: best block locator matches scan state follow-ups REVERT: fa3359289883 Merge bitcoin/bitcoin#32723: Refactor: Redefine CTransaction equality to include witness data REVERT: ce000c8ee02a Merge bitcoin/bitcoin#32219: test: enabling wallet migration functional test on windows REVERT: f33154c464b3 Merge bitcoin/bitcoin#32432: wallet, rpc: Use `OUTPUT_TYPES` to describe the output types instead of hardcoding them REVERT: fa9b1e354444 Merge bitcoin/bitcoin#32846: doc: clarify that the "-j N" goes after the "--build build" part REVERT: b1a8ac07e91d doc: Release note for removed watchonly parameters and results REVERT: 15710869e19e wallet: Remove ISMINE_WATCH_ONLY REVERT: 4439bf4b41a6 wallet, spend: Remove fWatchOnly from CCoinControl REVERT: 1337c72198a7 wallet, rpc: Remove watchonly from RPCs REVERT: e81d95d43574 wallet: Remove watchonly balances REVERT: d20dc9c6aae0 wallet: Wallets without private keys cannot grind R REVERT: 9991f49c38c0 test: Watchonly wallets should estimate larger size REVERT: d6aaffcb11ad test: check P2SH sigop count for coinbase tx REVERT: b1821d8dd39f Merge bitcoin/bitcoin#27286: wallet: Keep track of the wallet's own transaction outputs in memory REVERT: 0e9f409db3b7 doc: clarify that the "-j N" goes after the "--build build" part REVERT: 67dc7523f3e1 cmake, test: Disable tests instead of ignoring them REVERT: bb9157db5d39 cmake, refactor: Switch to `Python3::Interpreter` imported target REVERT: ed7a841f82f9 Merge bitcoin/bitcoin#32816: contrib: correct variable name in p2p_monitor.py REVERT: 2ae5154dd860 Merge bitcoin/bitcoin#32842: doc: add `/spenttxouts` to REST-interface.md REVERT: 243553d59071 refactor: replace get_iter_from_wtxid with GetIter(const Wtxid&) REVERT: fcf92fd640ea refactor: make CTxMemPool::GetIter strongly typed REVERT: 23a00fcf571f Merge bitcoin/bitcoin#32783: doc: Add fetching single PRs from upstream to productivity.md REVERT: dd99cedc0bfe doc: add `/spenttxouts` to REST-interface.md REVERT: 4be81e9746e9 feature_taproot: sample tx version border values more REVERT: 6e5b67a370bb Merge bitcoin/bitcoin#32697: test: Turn util/test_runner into functional test REVERT: fb2c16cf7bfb Merge bitcoin/bitcoin#32826: p2p: add more bad ports REVERT: f5f3e1f26328 Merge bitcoin/bitcoin#32646: p2p: Add witness mutation check inside FillBlock REVERT: a763497b1d66 Merge bitcoin/bitcoin#32834: test: Use msg_generic in p2p_ping.py REVERT: fa3f100010f1 test: Use msg_generic in p2p_ping.py REVERT: 33480573cbd8 Merge bitcoin/bitcoin#32833: test: Add `msgtype` to `msg_generic` slots REVERT: 9501738e1cbd Merge bitcoin/bitcoin#32825: rest: rename `strURIPart` to `uri_part` REVERT: 5a5ddbd78922 build: Add workaround for NetBSD bug in `Boost::headers` target REVERT: 6967e8e8abbc add more bad p2p ports REVERT: 7dc43ea503a2 test: Add msgtype to msg_generic slots REVERT: 4eb3cee919ed doc: Update NetBSD Build Guide REVERT: 856f4235b1ae scripted-diff: rest: rename `strURIPart` -> `uri_part` REVERT: b3bb4031ab32 Merge bitcoin/bitcoin#32540: rest: fetch spent transaction outputs by blockhash REVERT: 3086c21df4a2 Merge bitcoin/bitcoin#32243: test: added fuzz coverage for consensus/merkle.cpp REVERT: 319ff58bbd58 Merge bitcoin/bitcoin#32638: blocks: force hash validations on disk read REVERT: ec004cdb86e6 test: Use rehash() in outbound eviction block-relay REVERT: 26598ed21ea7 test: Clarify roles in outbound eviction comments REVERT: 689318ccd9c2 Merge bitcoin/bitcoin#32667: build: Find Boost in config mode REVERT: 4a3475a43e80 Merge bitcoin/bitcoin#32819: Add release note for #32530 REVERT: 558f0880a8f3 Add release note for #32530 REVERT: c43cc48aaaaa Merge bitcoin/bitcoin#32530: node: cap `-maxmempool` and `-dbcache` values for 32-bit REVERT: 4145a9463a58 Merge bitcoin/bitcoin#32731: depends: Build `qt` package for FreeBSD hosts REVERT: 14653b869b91 build: Find Boost in config mode REVERT: 67ea4b9994e6 Merge bitcoin/bitcoin#32814: cmake: Explicitly specify `Boost_ROOT` for Homebrew's package REVERT: 5170ec1ae35d Merge bitcoin/bitcoin#32665: depends: Bump boost to 1.88.0 and use new CMake buildsystem REVERT: 8fafb81320dd Merge bitcoin/bitcoin#32805: cmake: Use `HINTS` instead of `PATHS` in `find_*` commands REVERT: 6bb38bf37fd8 Update p2p_monitor.py REVERT: 9b75cfda4d62 test: retain the intended behavior of `feature_fee_estimation.py` nodes REVERT: 5c1236f04a24 test: fix incorrect subtest in `feature_fee_estimation.py` REVERT: e5f9218b6afb Merge bitcoin/bitcoin#32742: test: fix catchup loop in outbound eviction functional test REVERT: 11d28f21bb8f Implement GenTxid as a variant REVERT: 215e5999e207 wallet: Remove unused CachedTxGet{Available,Immature}Credit REVERT: 49675de035e7 wallet: Have GetDebit use the wallet's TXO set REVERT: 17d453cb3a6f wallet: Recompute wallet TXOs after descriptor migration REVERT: 764016eb2259 wallet: Retrieve TXO directly in FetchSelectedInputs REVERT: c1801b78f1c1 wallet: Use wallet's TXO set in AvailableCoins REVERT: dde7cbe105ba wallet: Change balance calculation to use m_txos REVERT: 96e7a89c5e0b wallet: Recalculate the wallet's txos after any imports REVERT: ae888c38d080 wallet: Exit IsTrustedTx early if wtx is already in trusted_parents REVERT: ae0876ec4273 wallet: Keep track of transaction outputs owned by the wallet REVERT: 0f269bc48c39 walletdb: Load Txs last REVERT: 5cc32ee2a7ad test: Test for balance update due to untracked output becoming spendable REVERT: 8222341d4f9c wallet: MarkDirty after AddWalletDescriptor REVERT: e02f2d331ce6 bench: Have AvailableCoins benchmark include a lot of unrelated utxos REVERT: f27898c8bfe3 Merge bitcoin/bitcoin#32721: wallet, rpc: Remove deprecated balances from getwalletinfo and getunconfirmedbalance REVERT: 8578fabb95fa Merge bitcoin/bitcoin#32597: wallet: Always set descriptor cache upgraded flag for new wallets REVERT: 941b8f54c0d3 ci: run get_previous_releases as part of test cross win job REVERT: 5e2182140bcd test: increment mocked time for migrating wallet backups REVERT: 5174565802f4 ci: disable feature_unsupported_utxo_db functional test REVERT: 3dc90d69a64f test: remove mempool.dat before copying REVERT: 67a6b20d5030 test: add windows support to get previous releases script REVERT: 01f908195589 Merge bitcoin/bitcoin#32768: wallet: Remove `CWalletTx::fTimeReceivedIsTxTime` REVERT: c1d8a542b46c Merge bitcoin/bitcoin#32727: doc: add release notes for #32425 REVERT: 1a1b478ca31b scripted-diff: rename tarball to archive REVERT: 4f06dc848460 test: remove building from source from get prev releases script REVERT: 45b1d3975766 doc: Add fetching single PRs from upstream REVERT: 8800b5acc1ef cmake: Explicitly specify `Boost_ROOT` for Homebrew's package REVERT: b9a2e8ee965d doc: add release notes for bitcoin/bitcoin#32425 REVERT: 6c2538d5bfea depends: Bump boost to 1.88.0 and use new CMake buildsystem REVERT: 7d5a6d17398a Merge bitcoin/bitcoin#32798: build: add root dir to CMAKE_PREFIX_PATH in toolchain REVERT: a34fb9ad6c6c miniscript: Make `operator""_mst` `consteval` REVERT: 14052162b19a Revert "miniscript: make operator_mst consteval" REVERT: ead44687483e cmake: Use `HINTS` instead of `PATHS` in `find_*` commands REVERT: ad654a4807cd Merge bitcoin/bitcoin#32767: ci: Allow running CI in worktrees REVERT: 67e6746dc87a Merge bitcoin/bitcoin#32780: lsan: add more Qt suppressions REVERT: e27a94596f2a build: add root dir to CMAKE_PREFIX_PATH REVERT: 173394d9511e depends: Build `qt` package for FreeBSD hosts REVERT: 922adf66ac74 mempool: use `FeeFrac` for calculating regular score REVERT: 3322b3a05954 mempool: use `FeeFrac` for calculating ancestor score REVERT: ac9c113bd2a2 mempool: use `FeeFrac` for calculating descendant score REVERT: e95bfc1d537e Merge bitcoin/bitcoin#32797: doc: archive 28.2 release notes REVERT: 666016e56b28 ci: use --usecli in one of the CI jobs REVERT: 7ea248a02099 test: Disable several (sub)tests with cli REVERT: f420b6356b6f test: skip subtests that check for wrong types with cli REVERT: 6530d0015b95 test: add function to convert to json for height_or_hash params REVERT: 54d28722baea test: Don't send empty named args with cli REVERT: cca422060e96 test: convert tuple to json for cli REVERT: af34e980866e test: make rpc_psbt.py usable with --usecli REVERT: 8f8ce9e1740d test: rename .rpc to ._rpc and remove unnecessary uses REVERT: 5b0888598632 test: enable functional tests with large rpc args for cli REVERT: 7d5352ac7373 test: use -stdin for large rpc commands REVERT: 6c364e0c10de test: Enable various tests for usage with cli REVERT: 907842363c64 doc: archive 28.2 release notes REVERT: c5849663baa9 Merge bitcoin/bitcoin#32771: contrib: tracing: Fix read of `pmsg_type` in p2p_monitor.py REVERT: 8a36a471e652 Merge bitcoin/bitcoin#32781: refactor: modernize deprecated ipc headers REVERT: ed060e01e756 Merge bitcoin/bitcoin#32725: test: round difficulty and networkhashps REVERT: daf393b3f15d Merge bitcoin/bitcoin#32642: test: update BIP340 test vectors and implementation (variable-length messages) REVERT: 482d2553764e Merge bitcoin/bitcoin#32736: wallet: Correct dir iteration error handling REVERT: 74b7e9c7dbf7 refactor: modernize deprecated ipc headers REVERT: 154b98a7aaae Merge bitcoin/bitcoin#32772: fuzz: wallet: remove `FundTx` from `FuzzedWallet` REVERT: fa183045a1ea Merge bitcoin/bitcoin#32765: test: Fix list index out of range error in feature_bip68_sequence.py REVERT: 5be31b20e54e lsan: add more Qt suppressions REVERT: e18322eff274 Merge bitcoin/bitcoin#32774: doc: Explain how to fetch commits directly REVERT: b86141925416 Merge bitcoin/bitcoin#32777: doc: fix Transifex 404s REVERT: 79afe6b7c092 Merge bitcoin/bitcoin#32776: doc: taproot became always active in v24.0 (doc/bips.md) REVERT: 53a996f12266 doc: fix transifex 404s REVERT: 8ee8a951c205 doc: taproot became always active in v24.0 REVERT: fa2163159511 test: Use self.log REVERT: fa346f7797ae test: Move error string into exception REVERT: fa1986181f24 test: Remove useless catch-throw REVERT: fa94fd53c996 doc: Explain how to fetch commits directly REVERT: 9a7eece5a4a1 Merge bitcoin/bitcoin#31981: Add checkBlock() to Mining interface REVERT: 8cc9845b8ddf wallet, rpc: Use `OUTPUT_TYPES` to describe the output types instead of hardcoding them REVERT: 3473986fe10e contrib: tracing: Correctly read msg type in p2p_monitor.py REVERT: cd1ae1b4dfdb fuzz: wallet: remove FundTx from FuzzedWallet REVERT: fa68dcb207c3 ci: Add missing errexit to lint CI install REVERT: fa535a6de7a0 ci: Allow running CI in worktrees REVERT: faf6a0459749 ci: Clean UID/GID mismatch REVERT: 9eb2c82e7c91 walletdb: Remove unused upgraded_txs REVERT: c66803370988 wallet: Remove unused fTimeReceivedIsTxTime REVERT: 5e6dbfd14ea9 Merge bitcoin/bitcoin#32465: thread-safety: fix annotations with REVERSE_LOCK REVERT: e285e691b7a3 test: Fix list index out of range error in feature_bip68_sequence.py REVERT: 1be688f57515 Merge bitcoin/bitcoin#32682: wallet: have external signer use PSBT error code EXTERNAL_SIGNER_NOT_FOUND REVERT: a201a99f8cf5 thread-safety: fix annotations with REVERSE_LOCK REVERT: 26747d9f3e3f Merge bitcoin/bitcoin#32760: depends: capnp 1.2.0 REVERT: c10e382d2a3b flatfile: check whether the file has been closed successfully REVERT: 4bb5dd78ea4b util: check that a file has been closed before ~AutoFile() is called REVERT: 8bb34f07df9a Explicitly close all AutoFiles that have been written REVERT: a69c4098b273 rpc: take ownership of the file by WriteUTXOSnapshot() REVERT: c7eaac326ac2 depends: capnp 1.2.0 REVERT: afaaba69eddd test: refactor out same-txid-diff-wtxid tx to reuse in other tests REVERT: 084eee029199 Merge bitcoin/bitcoin#32743: refactor: use `std::vector<std::byte>` for `BlockManager::ReadRawBlock()` REVERT: c48846ec4169 doc: add release notes for #32540 REVERT: d7fca5c171f4 clusterlin: add big comment explaning the relation between tests REVERT: b64e61d2de65 clusterlin: abstract try-permutations into ExhaustiveLinearize function REVERT: 1fa55a64ed18 clusterlin tests: verify that chunks are minimal REVERT: da23ecef29b7 clusterlin tests: support non-empty ReadTopologicalSubset() REVERT: 94f3e17c33e6 clusterlin tests: compare with fuzz-provided linearizations REVERT: 5f92ebee0d24 clusterlin tests: compare with fuzz-provided topological sets REVERT: 6e37824ac390 clusterlin tests: optimize clusterlin_simple_linearize REVERT: 98c1c88b6f8d clusterlin tests: separate testing of SimpleLinearize and Linearize REVERT: 10e90f7aef9c clusterlin tests: make SimpleCandidateFinder always find connected REVERT: a38c38951e10 clusterlin tests: separate testing of Search- and SimpleCandidateFinder REVERT: 77a432ee704b clusterlin tests: count SimpleCandidateFinder iterations better REVERT: a18e57232867 test: more template verification tests REVERT: 10c908808fb8 test: move gbt proposal mode tests to new file REVERT: 94959b8deedc Add checkBlock to Mining interface REVERT: 6077157531c1 ipc: drop BlockValidationState special handling REVERT: 74690f4ed82b validation: refactor TestBlockValidity REVERT: 2def85847318 Merge bitcoin/bitcoin#32481: wallet, refactor: Remove Legacy wallet unused warnings and errors REVERT: 287cd04a32df Merge bitcoin/bitcoin#32594: wallet, rpc: Return normalized descriptor in parent_descs REVERT: fd74d609bed9 Merge bitcoin/bitcoin#32620: wallet: Fix wallet interface detection of encrypted wallets REVERT: 6ecb9fc65f9a chore: use `std::vector<std::byte>` for `BlockManager::ReadRawBlock()` REVERT: 65b26507b84a Merge bitcoin/bitcoin#32746: test: remove unnecessary m_best_header setting hack in feature_assumeutxo.py REVERT: 3e8168442692 Merge bitcoin/bitcoin#32739: tsan: remove note about dropping Qt wildcards REVERT: b8eb17792e0c Merge bitcoin/bitcoin#32175: fuzz: doc: add info about `afl-system-config` for macOS REVERT: 206bc05e62c6 test: remove unnecessary m_best_header setting hack in feature_assumeutxo.py REVERT: 272cd09b796a log: Use warning level while scanning wallet dir REVERT: 17776443675d qa, wallet: Verify warning when failing to scan REVERT: 893e51ffeb05 wallet: Correct dir iteration error handling REVERT: 52e6e93c3f60 Merge bitcoin/bitcoin#32693: depends: fix cmake compatibility error for freetype REVERT: fa2f1c55b7da move-only util data to test/functional/data/util REVERT: faa18bf287fc test: Turn util/test_runner into functional test REVERT: fa955154c773 test: Add missing skip_if_no_bitcoin_tx REVERT: 9341b5333ad5 blockstorage: make block read hash checks explicit REVERT: 2371b9f4ee0b test/bench: verify hash in `ComputeFilter` reads REVERT: 5d235d50d6dd net: assert block hash in `ProcessGetBlockData` and `ProcessMessage` REVERT: 5db0a4a2db20 tsan: remove note about dropping Qt wildcards REVERT: d91c718a686a Merge bitcoin/bitcoin#32717: doc: Update Qt 6 packages on FreeBSD REVERT: fac9db6eb0c6 test: Add missing tx util to Binaries REVERT: fa91835ec6ad test: Use lowercase env var as attribute name REVERT: fac49094cdb1 test: Remove duplicate ConfigParser REVERT: 9dfc61d95f00 test: detect no external signer connected REVERT: dd8447f70faf test: fix catchup loop in outbound eviction functional test REVERT: 19765dca197a Merge bitcoin/bitcoin#32694: index: move disk read lookups to base class REVERT: 8cc3ac6c2328 validation: Don't use IsValid() to filter for invalid blocks REVERT: 86d98b94e546 test: verify that ancestors of a reconsidered block can become the chain tip REVERT: 3c39a55e64be validation: Add ancestors of reconsiderblock to setBlockIndexCandidates REVERT: 1df96f59316c doc: Update Qt 6 packages on FreeBSD REVERT: d7c37906e7b1 build: patch cmake min version on freetype REVERT: fa946520d229 refactor: Use structured binding for-loop REVERT: eeeec1579ec5 rpc: Use type-safe exception to pass RPC help REVERT: 5757de4ddd37 Merge bitcoin/bitcoin#32673: clang-tidy: Apply modernize-deprecated-headers REVERT: 1473f69924bc Merge bitcoin/bitcoin#32421: test: refactor: overhaul (w)txid determination for `CTransaction` objects REVERT: 7c0cfce20df9 Merge bitcoin/bitcoin#31405: validation: stricter internal handling of invalid blocks REVERT: 851f540d0e03 Merge bitcoin/bitcoin#32703: test: Explain how to reproduce zmq:: upstream race REVERT: 5af5e9791dc9 Merge bitcoin/bitcoin#32690: depends: fix multiprocess build on OpenBSD (apply capnp patch, correct SHA256SUM command) REVERT: fed41b75fbfa Merge bitcoin/bitcoin#32431: deps: Bump lief to 0.16.6 REVERT: 578ea3eedb28 test: round difficulty and networkhashps REVERT: c8abd972818f Merge bitcoin/bitcoin#32719: doc, windows: CompanyName "Bitcoin" => "Bitcoin Core project" REVERT: 029ba1a21d57 index: remove CBlockIndex access from CustomAppend() REVERT: 91b7ab6c6926 refactor: index, simplify CopyHeightIndexToHashIndex to process single block REVERT: 4f56c9145a60 refactor: contrib: Move FORTIFY check to BASE_ELF REVERT: f6d25e8a2dd3 contrib: Re-enable FORTIFY check for RISCV REVERT: 765922d8022d deps: bump lief to 0.16.6 REVERT: 4ef625301767 test: avoid unneeded (w)txid hex -> integer conversions REVERT: 472f3770aec8 scripted-diff: test: rename CTransaction `.getwtxid()` -> `wtxid_hex` for consistency REVERT: 81af4334e8f9 test: rename CTransaction `.sha256` -> `.txid_int` for consistency REVERT: ce8392423712 test: rename CTransaction `.rehash()`/`.hash` -> `.txid_hex` for consistency REVERT: 6efbd1e1dcdf refactor: CTransaction equality should consider witness data REVERT: cbf9b2dab1d8 mempool: codify existing assumption about duplicate txids during removal REVERT: c3fe85e2d6dd wallet, rpc, test: Remove deprecated getunconfirmedbalance REVERT: 0ec255139be3 wallet, rpc: Remove deprecated balances from getwalletinfo REVERT: e9331cd6ab2c wallet: IsEquivalentTo should strip witness data in addition to scriptsigs REVERT: ce90f0c99fde rpc, wallet, refactor: Remove non-descriptor errors REVERT: 573bcd75d7b6 wallet, refactor: Remove unused SetupGeneration REVERT: 5431f2dc2159 wallet, refactor: Remove Legacy warnings and errors REVERT: 6f1392cc42cd indexes, refactor: Remove remaining CBlockIndex* uses in index Rewind methods REVERT: 0a248708dc9d indexes, refactor: Stop requiring CBlockIndex type to call IsBIP30Unspendable REVERT: 28299ce77636 p2p: remove vestigial READ_STATUS_CHECKBLOCK_FAILED REVERT: bac9ee483066 p2p: Add witness mutation check inside FillBlock REVERT: 4f10a57671c1 depends: Override host compilers for FreeBSD and OpenBSD REVERT: 239fc4d62e73 doc, windows: CompanyName "Bitcoin" => "Bitcoin Core project" REVERT: e9cdaefb0a80 test: introduce and use CTransaction `.wtxid_int` property REVERT: 9b3dce24a333 test: remove bare CTransaction `.rehash()`/`.calc_sha256()` calls REVERT: a2724e3ea392 test: remove txid caching in CTransaction class REVERT: fa0b766f43df test: Remove intermittent and presumed fixed tsan race suppressions REVERT: fa4b659dcd03 test: Explain how to reproduce zmq:: upstream race REVERT: d4e212e8a69e rest: fetch spent transaction outputs by blockhash REVERT: 331a25cb1663 test: indexes, avoid creating threads when sync runs synchronously REVERT: 95969bc58ae0 test: added fuzz coverage to consensus/merkle.cpp REVERT: f6b782f3aad4 doc: Improve m_best_header documentation REVERT: ee673b9aa015 validation: remove m_failed_blocks REVERT: ed764ea2b4ed validation: Add more checks to CheckBlockIndex() REVERT: 9a70883002e1 validation: in invalidateblock, calculate m_best_header right away REVERT: 8e39f2d20d09 validation: in invalidateblock, mark children as invalid right away REVERT: 4c29326183ba validation: cache all headers with enough PoW in invalidateblock REVERT: 15fa5b5a908d validation: call InvalidBlockFound also from AcceptBlock REVERT: 8713e8060d50 depends: fix SHA256SUM command on OpenBSD (use GNU mode output) REVERT: 2d938720bd67 depends: add patch to fix capnp build on OpenBSD REVERT: 0a4ee93529d6 wallet: use PSBTError::EXTERNAL_SIGNER_NOT_FOUND REVERT: 8ba2f9b7c8a6 refactor: use util::Result for GetExternalSigner() REVERT: 130a92298077 wallet, interfaces: Use BERKELEY_RO in isEncrypted REVERT: fa9ca13f35be refactor: Sort includes of touched source files REVERT: facb152697b8 scripted-diff: Bump copyright headers after include changes REVERT: fae71d30f722 clang-tidy: Apply modernize-deprecated-headers REVERT: 0def84d407fa test: Verify parent_desc in RPCs REVERT: b184f5c87c41 test: update BIP340 test vectors and implementation (variable-length messages) REVERT: b78990734621 wallet: migration, avoid creating spendable wallet from a watch-only legacy wallet REVERT: e86d71b749c0 wallet: refactor, dedup wallet re-loading code REVERT: 1de423e0a08b wallet: introduce method to return all db created files REVERT: d04f6a97ba9a refactor: remove sqlite dir path back-and-forth conversion REVERT: 2554cee988fb test: Enable default wallet for wallet_descriptor.py REVERT: 3fc9d9f241a4 wallet, rpc: Push the normalized parent descriptor REVERT: 47237cd19380 wallet, rpc: Output wallet flags in getwalletinfo REVERT: bc2a26b29623 wallet: Add GetWalletFlags REVERT: 69f588a99a7a wallet: Set upgraded descriptor cache flag for newly created wallets REVERT: 9f8e7b0b3b78 node: cap -dbcache to 1GiB on 32-bit architectures REVERT: 2c43b6adebbf init: cap -maxmempool to 500 MB on 32-bit systems REVERT: aeea5f0ec112 thread-safety: add missing lock annotation REVERT: 832c57a53410 thread-safety: modernize thread safety macros REVERT: 61ea5f348da7 fuzz: doc: add info about `afl-system-config` for macOS git-subtree-dir: libbitcoinkernel-sys/bitcoin git-subtree-split: cdc7c69bf6b1ec52eb1fddd68f81aa93af60777c
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`…
When we call
reconsiderblock
for some block,Chainstate::ResetBlockFailureFlags
puts the descendants of that block intosetBlockIndexCandidates
(if they meet the criteria, i.e. have more work than the tip etc.), but never put any ancestors into the set even though we do clear their failure flags.I think that this is wrong, because
setBlockIndexCandidates
should always contain all eligible indexes that have at least as much work as the current tip, which can include ancestors of the reconsidered block. This is being checked byCheckBlockIndex()
, which could fail if it was invoked afterActivateBestChain
connects a block and releasescs_main
:makes
rpc_invalidateblock.py
fail on master.Even though we don't currently have a
CheckBlockIndex()
in that place, aftercs_main
is released other threads could invoke it, which is happening in the rare failures of #16444 where an invalid header received from another peer could trigger aCheckBlockIndex()
call that would fail.Fix this by adding eligible ancestors to
setBlockIndexCandidates
inChainstate::ResetBlockFailureFlags
(also simplifying that function a bit).Fixes #16444