Skip to content

Commit 44b075f

Browse files
Squashed 'libbitcoinkernel-sys/bitcoin/' changes from f157b0cbc7d9..538671edce58
538671edce58 kernel: Add pure kernel bitcoin-chainstate 0f79e00c5b3e kernel: Add functions to get the block hash from a block 6f7a47f53b10 kernel: Add block index utility functions to C header 5af7950c744b kernel: Add function to read block undo data from disk to C header b456fb6c0b34 kernel: Add functions to read block from disk to C header b6c157fee16d kernel: Add function for copying block data to C header 011cd3f59677 kernel: Add functions for the block validation state to C header 9532bfb81739 kernel: Add validation interface to C header 8dde5a04ebc8 kernel: Add interrupt function to C header 729d2d393972 kernel: Add import blocks function to C header dfa7109e8f0a kernel: Add chainstate load options for in-memory dbs in C header d012fe0147fc kernel: Add options for reindexing in C header 6d12d7868c17 kernel: Add block validation to C header 8ad7b67c6527 Kernel: Add chainstate loading to kernel C header 5d09bf543704 kernel: Add chainstate manager option for setting worker threads 9cea88cb6077 kernel: Add chainstate manager object to C header c74f2c8a2340 kernel: Add notifications context option to C header b90b7e07b803 kerenl: Add chain params context option to C header 438f55f06500 kernel: Add kernel library context object 870c37278035 kernel: Add logging to kernel library C header 7aed64b54dba kernel: Introduce initial kernel C header API f9032a4abb74 Merge bitcoin/bitcoin#31242: wallet, desc spkm: Return SigningProvider only if we have the privkey 9dc4eedb670b Merge bitcoin/bitcoin#31673: doc: fix minor typos in comments b30cc71e853c doc: fix typos df8bf657450d Merge bitcoin/bitcoin#31483: kernel: Move kernel-related cache constants to kernel cache 335798c49637 Merge bitcoin/bitcoin#31397: p2p: track and use all potential peers for orphan resolution 98939ce7b744 Merge bitcoin/bitcoin#31655: refactor: Avoid UB in SHA3_256::Write 712cab3a8f8a Merge bitcoin/bitcoin#31061: refactor: Check translatable format strings at compile-time 2a92702bafca init: Use size_t consistently for cache sizes 65cde3621dbb kernel: Move default cache constants to caches 8826cae28549 kernel: Move non-kernel db cache size constants e758b26b85da kernel: Move kernel-specific cache size options to kernel d5e2c4a4097c fuzz: Add fuzz test for checked and saturating add and left shift c03a2795a8e0 util: Add integer left shift helpers fa3efb572909 refactor: Introduce struct to hold a runtime format string fa6adb013440 lint: Remove unused and broken format string linter fadc6b9bac82 refactor: Check translatable format strings at compile-time fa1d5acb8d8e refactor: Use TranslateFn type consistently e7c479495509 Merge bitcoin/bitcoin#31630: doc: Archive 28.1 release notes 7cd862aab94f Merge bitcoin/bitcoin#31646: test: avoid internet traffic eeee6cf2ffb2 refactor: Delay translation of _() literals fabeca3458b3 refactor: Avoid UB in SHA3_256::Write fad4032b219e refactor: Drop unused UCharCast 2ed161c5ce64 test: avoid generating non-loopback traffic from p2p_dns_seeds.py a5746dc559c2 test: avoid generating non-loopback traffic from feature_config_args.py 6b3f6eae70bb test: avoid generating non-loopback traffic from p2p_seednode.py bb5f76ee013e doc: Archive 28.1 release notes 35bf426e0221 Merge bitcoin/bitcoin#28724: wallet: Cleanup accidental encryption keys in watchonly wallets 216840659780 Merge bitcoin/bitcoin#31608: doc: Clarify min macOS and Xcode version 2f6c7e7f6c05 Merge bitcoin/bitcoin#31612: ci: build msan's libc++ with _LIBCPP_ABI_BOUNDED_* 528354e213a9 Merge bitcoin/bitcoin#31616: init,log: Unify block index log line 4bedfb5c8338 Merge bitcoin/bitcoin#31623: tracing: Rename the `MIN` macro to `_TRACEPOINT_TEST_MIN` in log_raw_p2p_msgs e5c268084ebb Merge bitcoin/bitcoin#31627: depends: Fix spacing issue d695d1391718 Merge bitcoin/bitcoin#31611: doc: upgrade license to 2025. 37af8bfb34d6 Merge bitcoin/bitcoin#31549: fuzz: Abort if system time is called without mock time being set 54115d8de5c0 Merge bitcoin/bitcoin#31617: build, test: Build `db_tests.cpp` regardless of `USE_BDB` 0a77441158cd Merge bitcoin/bitcoin#31451: wallet: migration, avoid loading legacy wallet after failure when BDB isn't compiled 56725f882937 Merge bitcoin/bitcoin#31462: test: raise explicit error if any of the needed release binaries is missing 8a46286da667 depends: Fix spacing issue e04be3731f49 init,log: Unify block index and chainstate loading log line 8bd5f8a38ce9 [refactor] init: Simplify coinsdb cache calculation f93f0c93961b tracing: Rename the `MIN` macro to `_TRACEPOINT_TEST_MIN` in log_raw_p2p_msgs 66aa6a47bd8e Merge bitcoin/bitcoin#30391: BlockAssembler: return selected packages virtual size and fee 7c123c08ddce miner: add package feerate vector to CBlockTemplate fd2d96d9087b build, test: Build `db_tests.cpp` regardless of `USE_BDB` fb37acd932b0 ci: build msan's libc++ with _LIBCPP_ABI_BOUNDED_* 1ea7e45a1f44 test: raise explicit error if any of the needed release binaries is missing 433412fd8478 Merge bitcoin/bitcoin#31596: doc: Clarify comments about endianness after #30526 c506f2cee7b8 Merge bitcoin/bitcoin#31581: test: have miner_tests use Mining interface a96b84cb1b76 fuzz: Abort when calling system time without setting mock time ff21870e20b2 fuzz: Add SetMockTime() to necessary targets 41a2ce9b7d73 Merge bitcoin/bitcoin#31464: util: Add missing types in make_secure_unique 86d7135e36ef [p2p] only attempt 1p1c when both txns provided by the same peer f7658d9b1475 [cleanup] remove p2p_inv from AddTxAnnouncement 063c1324c143 [functional test] getorphantxs reflects multiple announcers 0da693f7e129 [functional test] orphan handling with multiple announcers b6ea4a9afe2d [p2p] try multiple peers for orphan resolution 1d2e1d709ce3 [refactor] move creation of unique_parents to helper function c6893b0f0b7b [txdownload] remove unique_parents that we already have 163aaf285af9 [fuzz] orphanage multiple announcer functions 22b023b09da3 [unit test] multiple orphan announcers 96c1a822a274 [unit test] TxOrphanage EraseForBlock 04448ce32a3b [txorphanage] add GetTx so that orphan vin can be read e810842acda6 [txorphanage] support multiple announcers 62a9ff187076 [refactor] change type of unique_parents to Txid 6951ddcefd9e [txrequest] GetCandidatePeers 6475849c4020 Merge bitcoin/bitcoin#31435: lint: Move assertion linter into lint runner b537a2c02a99 doc: upgrade license to 2025. 49fc2258cf39 Merge bitcoin/bitcoin#31526: doc: Install `net/py-pyzmq` port on FreeBSD for `interface_zmq.py` ac918c7cc0e9 Merge bitcoin/bitcoin#31552: depends: Update capnproto to 1.1.0 fa029a78780f doc: Clarify min macOS and Xcode version a0f0c48ae20e Merge bitcoin/bitcoin#31584: txmempool: fix typos in comments 558783625ca7 Merge bitcoin/bitcoin#31586: doc: Update NetBSD Build Guide 3e936789b167 Merge bitcoin/bitcoin#31592: ci: Run functional tests in msan task 5af642bf48bb Merge bitcoin/bitcoin#31604: test: fix typo in mempool_ephemeral_dust 29bca9713d21 test: fix typo in mempool_ephemeral_dust 4036ee3f2bf5 Merge bitcoin/bitcoin#31542: test: Embed univalue json tests in binary f6a6d912059c test: add check for getting SigningProvider for a CPubKey 62a95f5af9b9 test: refactor: move `CreateDescriptor` helper to wallet test util module 5db7d4d3d28b doc: Correct docstring describing max block tree db cache 6aa0e70ccbd5 Merge bitcoin/bitcoin#31524: refactor: Allow std::byte in Read(LE/BE) 3e0a992a3f0f doc: Clarify comments about endianness after #30526 604bf2ea37f8 Merge bitcoin/bitcoin#28121: include verbose "reject-details" field in testmempoolaccept response 04249682e381 test: use Mining interface in miner_tests fa0411ee305f ci: Run functional tests in msan task 2bdaf52ed125 doc: Update NetBSD Build Guide 34e8ee23b83e txmempool: fix typos in comments 228aba2c4d9a Merge bitcoin/bitcoin#31555: descriptor: remove unreachable verification for `pkh` 9b9752217f2d Merge bitcoin/bitcoin#31570: test: descriptor: fix test for `MaxSatisfactionWeight` 87c9ebd88920 Merge bitcoin/bitcoin#31563: rpc: Extend scope of validation mutex in generateblock df5c643f92d4 Merge bitcoin/bitcoin#31556: validation: Send correct notification during snapshot completion fa3de038f744 Merge bitcoin/bitcoin#31537: qa: Limit `-maxconnections` in tests ba0cb7d5a54f Merge bitcoin/bitcoin#31468: test: Avoid intermittent error in assert_equal(pruneheight_new, 248) 69e35f5c60ad Merge bitcoin/bitcoin#31403: test: Call generate RPCs through test framework only 17db84dbb8db Merge bitcoin/bitcoin#31251: test: report detailed msg during utf8 response decoding error e6f14241f6d3 Merge bitcoin/bitcoin#31540: refactor: std::span compat fixes a137b0bd6b21 Merge bitcoin/bitcoin#31215: rpc: increase the defaults for -rpcthreads and -rpcworkqueue 67bfe28995eb Merge bitcoin/bitcoin#31531: rpc: Add signet_challenge field to getblockchaininfo and getmininginfo ad174c281758 Merge bitcoin/bitcoin#31497: Remove unused variable assignment b29d68f942e3 test: descriptor: fix test for `MaxSatisfactionWeight` 9355578a7797 Merge bitcoin/bitcoin#31534: coins: warn on shutdown for big UTXO set flushes f95fb793726b Merge bitcoin/bitcoin#28521: net, net_processing: additional and consistent disconnect logging bc43ecaf6dc0 test: add functional test for balance after snapshot completion 226d03dd610d validation: Send correct notification during snapshot completion fa63b8232f38 test: generateblocks called by multiple threads fa62c8b1f04a rpc: Extend scope of validation mutex in generateblock 366ae00b779a descriptor: Assume `ParseScript` is not being called with a P2WPKH context e36640859089 descriptor: remove unreachable verification for `pkh` 5709718b8301 coins: warn on shutdown for big UTXO set flushes b0b8d96d93ea depends: Update capnproto to 1.1.0 fc7b21484703 Merge bitcoin/bitcoin#31529: guix: latest 2.31 glibc 273440d5c9dc Merge bitcoin/bitcoin#31535: doc: Install `py3-zmq` port on OpenBSD for `interface_zmq.py` 4cdf50c4ba81 Merge bitcoin/bitcoin#31544: cmake: Remove unused `BUILD_TESTING` variable from "dev-mode" preset faf7eac364fb test: clang-format -i src/univalue/test/unitester.cpp fafa9cc7a599 test: Embed univalue json tests in binary fa044857caf7 test: Re-enable univalue test fail18.json 63b6b638aa5e build: Use character literals for generated headers to avoid narrowing ecaa786cc103 rpc: add signet_challenge field to getblockchaininfo and getmininginfo e196190a284f cmake: Remove unused `BUILD_TESTING` variable from "dev-mode" preset bb57017b2945 Merge bitcoin/bitcoin#31521: fuzz: Fix misplaced SeedRand::ZEROS 5bbbc0d0eeb8 Merge bitcoin/bitcoin#31325: Make m_tip_block std::optional d9d5bc2e7466 qa: Limit `-maxconnections` in tests fa494a1d53f3 refactor: Specify const in std::span constructor, where needed faaf4800aa75 Allow std::span in stream serialization faa5391f7703 refactor: test: Return std::span from StringBytes fa8622347535 refactor: Avoid passing span iterators when data pointers are expected faae6fa5f614 refactor: Simplify SpanPopBack facc4f120b06 refactor: Replace fwd-decl with proper include fac3a782eaf3 refactor: Avoid needless, unsafe c-style cast c1252b14d714 Merge bitcoin/bitcoin#31520: #31318 followups be1a2e5dfbdf doc: Install `py3-zmq` port on OpenBSD for `interface_zmq.py` fa0c473d4c82 Merge bitcoin/bitcoin#31196: Prune mining interface ea53568a0685 Merge bitcoin/bitcoin#31393: refactor: Move GuessVerificationProgress into ChainstateManager b8710201fbd0 guix: disable timezone tools & profiling in glibc 23b8a424fb06 guix: bump glibc 2.31 to 7b27c450c34563a28e634cccb399cd415e71ebfe 0a76c292ac8f doc: Install `net/py-pyzmq` port on FreeBSD for `interface_zmq.py` fadd568931a2 fuzz: Fix misplaced SeedRand::ZEROS fa83bec78ef3 refactor: Allow std::byte in Read(LE/BE) 4f06ae05ed6f refactor: fix typo in node/types.h 366fbf152c6c test: drop extraneous bracket in mining util c991cea1a0c3 Remove processNewBlock() from mining interface 9a47852d88cf Remove getTransactionsUpdated() from mining interface bfc4e029d41e Remove testBlockValidity() from mining interface 477b35746074 Merge bitcoin/bitcoin#31493: refactor: Use immediate lambda to work around GCC bug 117966 a60d5702fd5c Merge bitcoin/bitcoin#31486: fuzz: Abort when using global PRNG without re-seed a95a8ba3a3f4 Merge bitcoin/bitcoin#31197: refactor: mining interface 30955 followups cd3d9fa5ea87 Merge bitcoin/bitcoin#31318: Drop script_pub_key arg from createNewBlock 785486a97558 Merge bitcoin/bitcoin#31489: fuzz: Fix test_runner error reporting 1251a2364202 Merge bitcoin/bitcoin#31458: build: use `-mbig-obj` for Windows debug builds d2136d32bb47 Merge bitcoin/bitcoin#31502: depends: Fix `CXXFLAGS` on NetBSD 58436d4af381 Merge bitcoin/bitcoin#31503: cmake: Link `bitcoin_consensus` as a library 38dcf0f98271 Merge bitcoin/bitcoin#31498: depends: Ignore prefix directory on OpenBSD fae63bf13033 fuzz: Clarify that only SeedRandomStateForTest(SeedRand::ZEROS) is allowed 81cea5d4ee0e Ensure m_tip_block is never ZERO e058544d0e83 Make m_tip_block an std::optional f86678156a3d Check leaves size maximum in MerkleComputation 4d572882463b refactor: use CTransactionRef in submitSolution 2e81791d9072 Drop TransactionMerklePath default position arg 39d3b538e6a2 Rename merkle branch to path fa18acb457e9 fuzz: Abort when using global PRNG without re-seed fa9e0489f579 refactor: Use immediate lambda to work around GCC bug 117966 46e207d3296c cmake: Link `bitcoin_consensus` as a library a10bb400e8cb depends: Fix CXXFLAGS on NetBSD 3353d4a5e9fc depends: Ignore prefix directory on OpenBSD b9766c9977e5 Remove unused variable assignment b042c4f0538c Merge bitcoin/bitcoin#31223: net, init: derive default onion port if a user specified a -port e8f0e6efaf55 lint: output-only - Avoid repeated arrows, trim facb4d010ca5 refactor: Move GuessVerificationProgress into ChainstateManager 2b9ff4a66d31 build: use `-mbig-obj` for mingw-w64 Debug builds fa0e30b93aad fuzz: Fix test_runner error reporting d73f37dda221 Merge bitcoin/bitcoin#31346: Set notifications m_tip_block in LoadChainTip() fa7809aeab83 fuzz: Add missing SeedRandomStateForTest(SeedRand::ZEROS) 78f1bff7099b Merge bitcoin/bitcoin#31477: ci: Bump centos gcc to 12 84890e0291f0 Merge bitcoin/bitcoin#31484: depends: update capnproto to 1.0.2 d5ab5a47f0e6 Merge bitcoin/bitcoin#31452: wallet: Migrate non-HD keys to combo() descriptor fa0998f0a028 test: Avoid intermittent error in assert_equal(pruneheight_new, 248) fa9aacf614f6 lint: Move assertion linter into lint runner beac62e541c8 Merge bitcoin/bitcoin#31480: refactor: Fix "modernize-use-starts-ends-with" clang-tidy warning 5cd9e95eea12 depends: update capnproto to 1.0.2 df27ee9f024f refactor: Fix "modernize-use-starts-ends-with" clang-tidy warning 435ad572a1af Merge bitcoin/bitcoin#31479: lint: Disable signature output in git log ea9e64ff3cb0 Merge bitcoin/bitcoin#31461: depends: add `-g` to *BSD_debug flags 29ddee1796a6 Merge bitcoin/bitcoin#31478: docs: remove repetitive words e2d3372e558d lint: Disable signature output in git log fa47baa03bcf ci: Bump centos gcc 015aad8d6a69 docs: remove repetitive words 589ed1a8eafe wallet: migration, avoid loading wallet after failure when it wasn't loaded before 62bd61de110b Merge bitcoin/bitcoin#31450: guix: disable gcov in base-linux-gcc 676936845b1f Merge bitcoin/bitcoin#30933: test: Prove+document ConstevalFormatString/tinyformat parity 8ad2c9027420 Merge bitcoin/bitcoin#31343: test: avoid internet traffic in rpc_net.py a582ee681c74 Merge bitcoin/bitcoin#29982: test: Fix intermittent issue in wallet_backwards_compatibility.py fa397177acfa util: Add missing types in make_secure_unique b6f0593f4330 doc: add release note about testmempoolaccept debug-message f9cac6352371 test: cover testmempoolaccept debug-message in RBF test b7ec69c25cf3 depends: add -g to *BSD_debug flags 37e49c2c7ca5 Merge bitcoin/bitcoin#31448: fuzz: add cstdlib to FuzzedDataProvider 62b2d23edbad wallet: Migrate non-HD keys to combo() descriptor 9039d8f1a1df Merge bitcoin/bitcoin#31374: wallet: fix crash during watch-only wallet migration bb7e686341e4 fuzz: add cstdlib to FuzzedDataProvider f6496a838828 guix: disable gcov in base-linux-gcc 35000e34cf33 Merge bitcoin/bitcoin#31433: test: #31212 follow up (spelling, refactor) 18d0cfb194cc Merge bitcoin/bitcoin#31306: ci: Update Clang in "tidy" job c93bf0e6e2cd test: Add missing %c character test 76cca4aa6fcd test: Document non-parity between tinyformat and ConstevalFormatstring 533013cba206 test: Prove+document ConstevalFormatString/tinyformat parity b81a4659950a refactor test: Profit from using namespace + using detail function cdd207c0e480 test: add coverage for migrating standalone imported keys 297a876c9809 test: add coverage for migrating watch-only script 932cd1e92b6d wallet: fix crash during watch-only wallet migration 41d934c72df6 chore: Typo Overriden -> Overridden c9fb38a590e3 refactor test: Cleaner combine_logs.py logic 22723c809a8a Merge bitcoin/bitcoin#31072: refactor: Clean up messy strformat and bilingual_str usages b1f0f3c288af Merge bitcoin/bitcoin#31406: test: fix `test_invalid_tx_in_compactblock` in `p2p_compactblocks` 1a35447595d5 Merge bitcoin/bitcoin#31417: test: Avoid F541 (f-string without any placeholders) eb2ebe6f30ac Merge bitcoin/bitcoin#31231: cmake: Fix `IF_CHECK_PASSED` option handling 5b283fa1477d Merge bitcoin/bitcoin#31431: util: use explicit cast in MultiIntBitSet::Fill() 37946c0aafee Set notifications m_tip_block in LoadChainTip() fa6e599cf9fb test: Call generate through test framework only 2eccb8bc5e22 Merge bitcoin/bitcoin#31248: test: Rework wallet_migration.py to use previous releases 7239ddb7cec3 test: make sure node has all transactions 6d973f86f755 Merge bitcoin/bitcoin#31408: test: Avoid logging error when logging error 6a1e613e853d Merge bitcoin/bitcoin#31427: lint: bump MLC to v0.19.0 edb41e4814cc util: use explicit cast in MultiIntBitSet::Fill() 31e59d94c67b iwyu: Drop backported mapping fe9bc5abef3d ci: Update Clang in "tidy" job 083770adbe7d Merge bitcoin/bitcoin#31414: test: orphan parent is re-requested from 2nd peer f6afca46a1d7 lint: use clearer wording on error message 811a65d3c6b3 lint: bump MLC to v0.19.0 fae76393bdbf test: Avoid F541 (f-string without any placeholders) e8cc790fe2a2 Merge bitcoin/bitcoin#30445: test: addrman: tried 3 times and never a success so `isTerrible=true` f9650e18ea6e rbf: remove unecessary newline at end of error string 221c789e9169 rpc: include verbose reject-details field in testmempoolaccept response 0184d33b3d28 scripted-diff: Replace strprintf(Untranslated) with Untranslated(strprintf) 17372d788e6c Merge bitcoin/bitcoin#30906: refactor: prohibit direct flags access in CCoinsCacheEntry and remove invalid tests 006e4d1d5984 refactor: Use + instead of strformat to concatenate translated & untranslated strings 831d2bfcf941 refactor: Don't embed translated string in untranslated string. 058021969b54 refactor: Avoid concatenation of format strings 11f68cc81084 Merge bitcoin/bitcoin#31212: util: Improve documentation and negation of args 893ccea7e47d Merge bitcoin/bitcoin#31419: test: fix MIN macro redefinition 39950e148d80 Merge bitcoin/bitcoin#31295: refactor: Prepare compile-time check of bilingual format strings 00c1dbd26ddb test: fix MIN macro-redefinition ae69fc37e4ff Merge bitcoin/bitcoin#31391: util: Drop boost posix_time in ParseISO8601DateTime 52fd1511a774 test: drop scriptPubKeyIn arg from CreateNewBlock ff41b9e296ab Drop script_pub_key arg from createNewBlock 7ab733ede444 rpc: rename coinbase_script to coinbase_output_script 0f84cdd26614 func: test orphan parent is re-requested from 2nd peer 95a0104f2e98 test: Add tests for directories in place of config files e85abe92c7cc args: Catch directories in place of config files e4b6b1822ce0 test: Add tests for -noconf 483f0dacc413 args: Properly support -noconf 312ec64cc061 test refactor: feature_config_args.py - Stop nodes at the end of tests, not at the beginning 7402658bc2b9 test: -norpccookiefile 39cbd4f37c3d args: Support -norpccookiefile for bitcoind and bitcoin-cli e82ad88452bc logs: Use correct path and more appropriate macros in cookie-related code 6e28c76907ca test: Harden testing of cookie file existence 75bacabb55f3 test: combine_logs.py - Output debug.log paths on error cccca8a77f3c test: Avoid logging error when logging error ee1b9bef000b test: replace `is not` to `!=` when comparing block hash faf70cc9941c Remove wallet::ParseISO8601DateTime, use ParseISO8601DateTime instead 50cce20013c9 test, refactor: Compact ccoins_access and ccoins_spend 0a159f091477 test, refactor: Remove remaining unbounded flags from coins_tests c0b4b2c1eef9 test: Validate error messages on fail d5f8d607ab1f test: Group values and states in tests into CoinEntry wrappers ca74aa7490a5 test, refactor: Migrate GetCoinsMapEntry to return MaybeCoin 15aaa81c3818 coins, refactor: Remove direct GetFlags access 6b733699cfc7 coins, refactor: Assume state after SetClean in AddFlags to prevent dangling pointers fc8c282022e6 coins, refactor: Make AddFlags, SetDirty, SetFresh static cd0498eabc91 coins, refactor: Split up AddFlags to remove invalid states 2222aecd5f80 util: Implement ParseISO8601DateTime based on C++20 06443b8f28bc net: clarify if we ever sent or received from peer 1d01ad4d73e0 net: add LogIP() helper, use in net_processing 937ef9eb408e net_processing: use CNode::DisconnectMsg helper ad224429f823 net: additional disconnection logging 988721d37a3c test: avoid internet traffic in rpc_net.py bffd92f00f5b args: Support -nopid 12f8d848fd91 args: Disallow -nodatadir 6ff966276009 scripted-diff: Avoid printing version information for -noversion 1807df3d9fb0 test: addrman: tried 3 times and never a success so `isTerrible=true` 55347a5018b2 test: Rework migratewallet to use previous release (v28.0) e8a2054edc81 doc args: Document narrow scope of -color 1dd3af8fbc35 Add release note for #31223 997757dd2b4d test: add functional test for -port behavior fa3e07430478 refactor: Tidy fixups fa72646f2b19 move-only: Detail_CheckNumFormatSpecifiers and G_TRANSLATION_FUN faff8403f0aa refactor: Pick translated string after format 0e2b12b92a28 net, init: derive default onion port if a user specified a -port f42ec0f3bfbe wallet: Check specified wallet exists before migration a2c45ae5480a test: report failure during utf8 response decoding 493656763f73 desc spkm: Return SigningProvider only if we have the privkey 97a18c85458b cmake: Fix `IF_CHECK_PASSED` option handling e56fc7ce6a92 rpc: increase the defaults for -rpcthreads and -rpcworkqueue 69e95c2b4f99 tests: Test cleanup of mkeys from wallets without privkeys 2b9279b50a36 wallet: Remove unused encryption keys from watchonly wallets 813a16a46332 wallet: Add HasCryptedKeys ec777917d6eb test: Fix intermittent issue in wallet_backwards_compatibility.py REVERT: f157b0cbc7d9 kernel: Add pure kernel bitcoin-chainstate REVERT: 692d1c23c272 kernel: Add functions to get the block hash from a block REVERT: aad02fb561ae kernel: Add block index utility functions to C header REVERT: 13f4911b0646 kernel: Add function to read block undo data from disk to C header REVERT: 29fdbf260348 kernel: Add functions to read block from disk to C header REVERT: 2ca304c1def7 kernel: Add function for copying block data to C header REVERT: 705c7f125fd9 kernel: Add functions for the block validation state to C header REVERT: 92363c9469c0 kernel: Add validation interface to C header REVERT: 7c539908113b kernel: Add interrupt function to C header REVERT: 522d0886d8ff kernel: Add import blocks function to C header REVERT: 1ae86e2ffe12 kernel: Add chainstate load options for in-memory dbs in C header REVERT: 09620eeeae6c kernel: Add options for reindexing in C header REVERT: b4fbf1931725 kernel: Add block validation to C header REVERT: ce6ddde95eee Kernel: Add chainstate loading to kernel C header REVERT: f5d21c94dc5a kernel: Add chainstate manager option for setting worker threads REVERT: 783f56f0a290 kernel: Add chainstate manager object to C header REVERT: 262039e4094c kernel: Add notifications context option to C header REVERT: dc0d406dd5e9 kerenl: Add chain params context option to C header REVERT: b5f84de7ad2d kernel: Add kernel library context object REVERT: dad0009c86c1 kernel: Add logging to kernel library C header REVERT: 27e25aa941c6 kernel: Introduce initial kernel C header API git-subtree-dir: libbitcoinkernel-sys/bitcoin git-subtree-split: 538671edce5813a62405b9bd5c50c39263c58435
1 parent 990a648 commit 44b075f

File tree

301 files changed

+4097
-2457
lines changed

Some content is hidden

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

301 files changed

+4097
-2457
lines changed

.github/workflows/ci.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ jobs:
7676
7777
macos-native-arm64:
7878
name: ${{ matrix.job-name }}
79-
# Use latest image, but hardcode version to avoid silent upgrades (and breaks).
79+
# Use any image to support the xcode-select below, but hardcode version to avoid silent upgrades (and breaks).
8080
# See: https://github.com/actions/runner-images#available-images.
8181
runs-on: macos-14
8282

@@ -111,6 +111,10 @@ jobs:
111111

112112
- name: Clang version
113113
run: |
114+
# Use the earliest Xcode supported by the version of macOS denoted in
115+
# doc/release-notes-empty-template.md and providing at least the
116+
# minimum clang version denoted in doc/dependencies.md.
117+
# See: https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes
114118
sudo xcode-select --switch /Applications/Xcode_15.0.app
115119
clang --version
116120

CMakeLists.txt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ set(CLIENT_VERSION_MINOR 99)
2222
set(CLIENT_VERSION_BUILD 0)
2323
set(CLIENT_VERSION_RC 0)
2424
set(CLIENT_VERSION_IS_RELEASE "false")
25-
set(COPYRIGHT_YEAR "2024")
25+
set(COPYRIGHT_YEAR "2025")
2626

2727
# During the enabling of the CXX and CXXOBJ languages, we modify
2828
# CMake's compiler/linker invocation strings by appending the content
@@ -300,6 +300,15 @@ if(WIN32)
300300
try_append_linker_flag("-Wl,--major-subsystem-version,6" TARGET core_interface)
301301
try_append_linker_flag("-Wl,--minor-subsystem-version,2" TARGET core_interface)
302302
endif()
303+
304+
# Workaround producing large object files, which cannot be handled by the assembler.
305+
# More likely to happen with no, or lower levels of optimisation.
306+
# See discussion in https://github.com/bitcoin/bitcoin/issues/28109.
307+
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
308+
try_append_cxx_flags("/bigobj" TARGET core_interface_debug SKIP_LINK)
309+
else()
310+
try_append_cxx_flags("-Wa,-mbig-obj" TARGET core_interface_debug SKIP_LINK)
311+
endif()
303312
endif()
304313

305314
# Use 64-bit off_t on 32-bit Linux.

CMakePresets.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,6 @@
7171
"BUILD_GUI_TESTS": "ON",
7272
"BUILD_KERNEL_LIB": "ON",
7373
"BUILD_SHARED_LIBS": "ON",
74-
"BUILD_TESTING": "ON",
7574
"BUILD_TESTS": "ON",
7675
"BUILD_TX": "ON",
7776
"BUILD_UTIL": "ON",

COPYING

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
The MIT License (MIT)
22

3-
Copyright (c) 2009-2024 The Bitcoin Core developers
4-
Copyright (c) 2009-2024 Bitcoin Developers
3+
Copyright (c) 2009-2025 The Bitcoin Core developers
4+
Copyright (c) 2009-2025 Bitcoin Developers
55

66
Permission is hereby granted, free of charge, to any person obtaining a copy
77
of this software and associated documentation files (the "Software"), to deal

ci/lint/04_install.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ curl -sL "https://github.com/koalaman/shellcheck/releases/download/${SHELLCHECK_
5959
tar --xz -xf - --directory /tmp/
6060
mv "/tmp/shellcheck-${SHELLCHECK_VERSION}/shellcheck" /usr/bin/
6161

62-
MLC_VERSION=v0.18.0
62+
MLC_VERSION=v0.19.0
6363
MLC_BIN=mlc-x86_64-linux
6464
curl -sL "https://github.com/becheran/mlc/releases/download/${MLC_VERSION}/${MLC_BIN}" -o "/usr/bin/mlc"
6565
chmod +x /usr/bin/mlc
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/env bash
22
#
3-
# Copyright (c) 2020-2022 The Bitcoin Core developers
3+
# Copyright (c) 2020-present The Bitcoin Core developers
44
# Distributed under the MIT software license, see the accompanying
55
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
66

@@ -9,9 +9,9 @@ export LC_ALL=C.UTF-8
99
export HOST=i686-pc-linux-gnu
1010
export CONTAINER_NAME=ci_i686_centos
1111
export CI_IMAGE_NAME_TAG="quay.io/centos/amd64:stream9"
12-
export CI_BASE_PACKAGES="gcc-c++ glibc-devel.x86_64 libstdc++-devel.x86_64 glibc-devel.i686 libstdc++-devel.i686 ccache make git python3 python3-pip which patch lbzip2 xz procps-ng dash rsync coreutils bison e2fsprogs cmake"
12+
export STREAM_GCC_V="12"
13+
export CI_BASE_PACKAGES="gcc-toolset-${STREAM_GCC_V}-gcc-c++ glibc-devel.x86_64 gcc-toolset-${STREAM_GCC_V}-libstdc++-devel.x86_64 glibc-devel.i686 gcc-toolset-${STREAM_GCC_V}-libstdc++-devel.i686 ccache make git python3 python3-pip which patch lbzip2 xz procps-ng dash rsync coreutils bison e2fsprogs cmake"
1314
export PIP_PACKAGES="pyzmq"
1415
export GOAL="install"
15-
export NO_WERROR=1 # Suppress error: #warning _FORTIFY_SOURCE > 2 is treated like 2 on this platform [-Werror=cpp]
1616
export BITCOIN_CONFIG="-DWITH_ZMQ=ON -DBUILD_GUI=ON -DREDUCE_EXPORTS=ON"
1717
export CONFIG_SHELL="/bin/dash"

ci/test/00_setup_env_native_msan.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,3 @@ export BITCOIN_CONFIG="\
2727
-DAPPEND_CPPFLAGS='-U_FORTIFY_SOURCE' \
2828
"
2929
export USE_MEMORY_SANITIZER="true"
30-
export RUN_FUNCTIONAL_TESTS="false"

ci/test/00_setup_env_native_tidy.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ export LC_ALL=C.UTF-8
88

99
export CI_IMAGE_NAME_TAG="docker.io/ubuntu:24.04"
1010
export CONTAINER_NAME=ci_native_tidy
11-
export TIDY_LLVM_V="18"
11+
export TIDY_LLVM_V="19"
12+
export APT_LLVM_V="${TIDY_LLVM_V}"
1213
export PACKAGES="clang-${TIDY_LLVM_V} libclang-${TIDY_LLVM_V}-dev llvm-${TIDY_LLVM_V}-dev libomp-${TIDY_LLVM_V}-dev clang-tidy-${TIDY_LLVM_V} jq libevent-dev libboost-dev libzmq3-dev systemtap-sdt-dev qtbase5-dev qttools5-dev qttools5-dev-tools libqrencode-dev libsqlite3-dev libdb++-dev"
1314
export NO_DEPENDS=1
1415
export RUN_UNIT_TESTS=false

ci/test/01_base_install.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ if [ -n "$PIP_PACKAGES" ]; then
4949
fi
5050

5151
if [[ ${USE_MEMORY_SANITIZER} == "true" ]]; then
52-
${CI_RETRY_EXE} git clone --depth=1 https://github.com/llvm/llvm-project -b "llvmorg-19.1.0" /msan/llvm-project
52+
${CI_RETRY_EXE} git clone --depth=1 https://github.com/llvm/llvm-project -b "llvmorg-19.1.6" /msan/llvm-project
5353

5454
cmake -G Ninja -B /msan/clang_build/ \
5555
-DLLVM_ENABLE_PROJECTS="clang" \
@@ -74,6 +74,7 @@ if [[ ${USE_MEMORY_SANITIZER} == "true" ]]; then
7474
-DLLVM_TARGETS_TO_BUILD=Native \
7575
-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF \
7676
-DLIBCXXABI_USE_LLVM_UNWINDER=OFF \
77+
-DLIBCXX_ABI_DEFINES="_LIBCPP_ABI_BOUNDED_ITERATORS;_LIBCPP_ABI_BOUNDED_ITERATORS_IN_STD_ARRAY;_LIBCPP_ABI_BOUNDED_ITERATORS_IN_STRING;_LIBCPP_ABI_BOUNDED_ITERATORS_IN_VECTOR;_LIBCPP_ABI_BOUNDED_UNIQUE_PTR" \
7778
-DLIBCXX_HARDENING_MODE=debug \
7879
-S /msan/llvm-project/runtimes
7980

ci/test/03_test_script.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,8 @@ fi
9393
if [ -z "$NO_DEPENDS" ]; then
9494
if [[ $CI_IMAGE_NAME_TAG == *centos* ]]; then
9595
SHELL_OPTS="CONFIG_SHELL=/bin/dash"
96+
# shellcheck disable=SC1090
97+
source "/opt/rh/gcc-toolset-${STREAM_GCC_V}/enable"
9698
else
9799
SHELL_OPTS="CONFIG_SHELL="
98100
fi

0 commit comments

Comments
 (0)