Skip to content

Commit 9997c3d

Browse files
Squashed 'libbitcoinkernel-sys/bitcoin/' changes from 690a5dac223e..1ffc1c9d94b1
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
1 parent 839a1b8 commit 9997c3d

File tree

485 files changed

+6379
-4153
lines changed

Some content is hidden

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

485 files changed

+6379
-4153
lines changed

.github/ci-test-each-commit-exec.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ def main():
2727
"cmake",
2828
"-B",
2929
"build",
30+
"-Werror=dev",
3031
"-DCMAKE_C_COMPILER=clang",
3132
"-DCMAKE_CXX_COMPILER=clang++",
3233
"-DWERROR=ON",

.github/workflows/ci.yml

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ jobs:
223223

224224
- name: Generate build system
225225
run: |
226-
cmake -B build --preset vs2022 -DCMAKE_TOOLCHAIN_FILE="${VCPKG_INSTALLATION_ROOT}/scripts/buildsystems/vcpkg.cmake" ${{ matrix.generate-options }}
226+
cmake -B build -Werror=dev --preset vs2022 -DCMAKE_TOOLCHAIN_FILE="${VCPKG_INSTALLATION_ROOT}/scripts/buildsystems/vcpkg.cmake" ${{ matrix.generate-options }}
227227
228228
- name: Save vcpkg binary cache
229229
uses: actions/cache/save@v4
@@ -260,6 +260,7 @@ jobs:
260260
env:
261261
BITCOIND: '${{ github.workspace }}\build\bin\Release\bitcoind.exe'
262262
BITCOINCLI: '${{ github.workspace }}\build\bin\Release\bitcoin-cli.exe'
263+
BITCOINTX: '${{ github.workspace }}\build\bin\Release\bitcoin-tx.exe'
263264
BITCOINUTIL: '${{ github.workspace }}\build\bin\Release\bitcoin-util.exe'
264265
BITCOINWALLET: '${{ github.workspace }}\build\bin\Release\bitcoin-wallet.exe'
265266
BITCOINCHAINSTATE: '${{ github.workspace }}\build\bin\Release\bitcoin-chainstate.exe'
@@ -390,16 +391,19 @@ jobs:
390391
(Get-Content "test/config.ini") -replace '(?<=^SRCDIR=).*', '${{ github.workspace }}' -replace '(?<=^BUILDDIR=).*', '${{ github.workspace }}' -replace '(?<=^RPCAUTH=).*', '${{ github.workspace }}/share/rpcauth/rpcauth.py' | Set-Content "test/config.ini"
391392
Get-Content "test/config.ini"
392393
393-
- name: Run util tests
394-
run: py -3 test/util/test_runner.py
394+
- name: Set previous release directory
395+
run: |
396+
echo "PREVIOUS_RELEASES_DIR=${{ runner.temp }}/previous_releases" >> "$GITHUB_ENV"
395397
396-
- name: Run rpcauth test
397-
run: py -3 test/util/rpcauth-test.py
398+
- name: Get previous releases
399+
working-directory: test
400+
run: ./get_previous_releases.py --target-dir $PREVIOUS_RELEASES_DIR
398401

399402
- name: Run functional tests
400403
env:
401404
# TODO: Fix the excluded test and re-enable it.
402-
EXCLUDE: '--exclude wallet_multiwallet.py'
405+
# feature_unsupported_utxo_db.py fails on windows because of emojis in the test data directory
406+
EXCLUDE: '--exclude wallet_multiwallet.py,feature_unsupported_utxo_db.py'
403407
TEST_RUNNER_EXTRA: ${{ github.event_name != 'pull_request' && '--extended' || '' }}
404408
run: py -3 test/functional/test_runner.py --jobs $NUMBER_OF_PROCESSORS --ci --quiet --tmpdirprefix="$RUNNER_TEMP" --combinedlogslen=99999999 --timeout-factor=$TEST_RUNNER_TIMEOUT_FACTOR $EXCLUDE $TEST_RUNNER_EXTRA
405409

CMakeLists.txt

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -592,11 +592,9 @@ set(Python3_FIND_FRAMEWORK LAST CACHE STRING "")
592592
set(Python3_FIND_UNVERSIONED_NAMES FIRST CACHE STRING "")
593593
mark_as_advanced(Python3_FIND_FRAMEWORK Python3_FIND_UNVERSIONED_NAMES)
594594
find_package(Python3 3.10 COMPONENTS Interpreter)
595-
if(Python3_EXECUTABLE)
596-
set(PYTHON_COMMAND ${Python3_EXECUTABLE})
597-
else()
595+
if(NOT TARGET Python3::Interpreter)
598596
list(APPEND configure_warnings
599-
"Minimum required Python not found. Utils and rpcauth tests are disabled."
597+
"Minimum required Python not found."
600598
)
601599
endif()
602600

@@ -640,8 +638,6 @@ add_subdirectory(doc)
640638

641639
add_subdirectory(src)
642640

643-
include(cmake/tests.cmake)
644-
645641
include(Maintenance)
646642
setup_split_debug_script()
647643
add_maintenance_targets()

CMakePresets.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@
6262
"name": "dev-mode",
6363
"displayName": "Developer mode, with all features/dependencies enabled",
6464
"binaryDir": "${sourceDir}/build_dev_mode",
65+
"errors": {"dev": true},
6566
"cacheVariables": {
6667
"BUILD_BENCH": "ON",
6768
"BUILD_CLI": "ON",

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ Translations
7070
------------
7171

7272
Changes to translations as well as new translations can be submitted to
73-
[Bitcoin Core's Transifex page](https://www.transifex.com/bitcoin/bitcoin/).
73+
[Bitcoin Core's Transifex page](https://explore.transifex.com/bitcoin/bitcoin/).
7474

7575
Translations are periodically pulled from Transifex and merged into the git repository. See the
7676
[translation process](doc/translation_process.md) for details on how this works.

ci/lint/04_install.sh renamed to ci/lint/01_install.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
export LC_ALL=C
88

9+
set -o errexit -o pipefail -o xtrace
10+
911
export CI_RETRY_EXE="/ci_retry --"
1012

1113
pushd "/"
@@ -38,7 +40,7 @@ python3 --version
3840

3941
${CI_RETRY_EXE} pip3 install \
4042
codespell==2.4.1 \
41-
lief==0.13.2 \
43+
lief==0.16.6 \
4244
mypy==1.4.1 \
4345
pyzmq==25.1.0 \
4446
ruff==0.5.5 \

ci/lint_imagefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ ENV LC_ALL=C.UTF-8
1212
COPY ./ci/retry/retry /ci_retry
1313
COPY ./.python-version /.python-version
1414
COPY ./ci/lint/container-entrypoint.sh /entrypoint.sh
15-
COPY ./ci/lint/04_install.sh /install.sh
15+
COPY ./ci/lint/01_install.sh /install.sh
1616

1717
RUN /install.sh && \
1818
echo 'alias lint="./ci/lint/06_script.sh"' >> ~/.bashrc && \

ci/lint_run_all.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ cp "./ci/retry/retry" "/ci_retry"
1313
cp "./.python-version" "/.python-version"
1414
mkdir --parents "/test/lint"
1515
cp --recursive "./test/lint/test_runner" "/test/lint/"
16-
set -o errexit; source ./ci/lint/04_install.sh
16+
set -o errexit; source ./ci/lint/01_install.sh
1717
set -o errexit
1818
./ci/lint/06_script.sh

ci/test/00_setup_env_i686_multiprocess.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export CI_IMAGE_PLATFORM="linux/amd64"
1313
export PACKAGES="llvm clang g++-multilib"
1414
export DEP_OPTS="DEBUG=1 MULTIPROCESS=1"
1515
export GOAL="install"
16-
export TEST_RUNNER_EXTRA="--v2transport"
16+
export TEST_RUNNER_EXTRA="--v2transport --usecli"
1717
export BITCOIN_CONFIG="\
1818
-DCMAKE_BUILD_TYPE=Debug \
1919
-DCMAKE_C_COMPILER='clang;-m32' \

ci/test/01_base_install.sh

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

77
export LC_ALL=C.UTF-8
88

9-
set -ex
9+
set -o errexit -o pipefail -o xtrace
1010

11-
CFG_DONE="ci.base-install-done" # Use a global git setting to remember whether this script ran to avoid running it twice
11+
CFG_DONE="${BASE_ROOT_DIR}/ci.base-install-done" # Use a global setting to remember whether this script ran to avoid running it twice
1212

13-
if [ "$(git config --global ${CFG_DONE})" == "true" ]; then
13+
if [ "$( cat "${CFG_DONE}" || true )" == "done" ]; then
1414
echo "Skip base install"
1515
exit 0
1616
fi
@@ -105,4 +105,4 @@ if [ -n "$XCODE_VERSION" ] && [ ! -d "${DEPENDS_DIR}/SDKs/${OSX_SDK_BASENAME}" ]
105105
tar -C "${DEPENDS_DIR}/SDKs" -xf "$OSX_SDK_PATH"
106106
fi
107107

108-
git config --global ${CFG_DONE} "true"
108+
echo -n "done" > "${CFG_DONE}"

0 commit comments

Comments
 (0)