Skip to content

Commit a785fe6

Browse files
committed
Squashed 'depend/bitcoin/' changes from 1857296c067b..4da01123df0f
4da01123df0f Merge bitcoin/bitcoin#30595: kernel: Introduce C header API 96614fff6327 Merge bitcoin/bitcoin#33714: random: scope environ extern to macOS, BSDs and Illumos 4e9bd579d3ed Merge bitcoin/bitcoin#33045: depends: disable variables, rules and suffixes. 5ffa63d6814d Merge bitcoin/bitcoin#33626: ci: run native fuzz with MSAN job 75baff98fcf9 Merge bitcoin/bitcoin#33744: ci: Fix lint runner selection (and docker cache) 2593ed1b5f4b Merge bitcoin/bitcoin#33574: doc: update Guix INSTALL.md 1cd8d9fe5cd5 Merge bitcoin/bitcoin#33445: ci: Update Clang in "tidy" job 56329beaee27 Merge bitcoin/bitcoin#32301: test: cover invalid codesep positions for signature in taproot 1e6e32fa8a64 ci: run native fuzz with MSAN job 3784d15bcd50 ci: use LLVM libcxx 21.1.5 6c7a34f3b0bd kernel: Add Purpose section to header documentation 7e9f00bcc174 kernel: Allowing reducing exports 7990463b1059 kernel: Add pure kernel bitcoin-chainstate 36ec9a3ea232 Kernel: Add functions for working with outpoints 5eec7fa96aa3 kernel: Add block hash type and block tree utility functions to C header f5d5d1213cc4 kernel: Add function to read block undo data from disk to C header 09d0f626388a kernel: Add functions to read block from disk to C header a263a4caf231 kernel: Add function for copying block data to C header b30e15f4329a kernel: Add functions for the block validation state to C header aa262da7bcfa kernel: Add validation interface to C header d27e27758d51 kernel: Add interrupt function to C header 1976b13be9c8 kernel: Add import blocks function to C header a747ca1f516e kernel: Add chainstate load options for in-memory dbs in C header 070e77732cdb kernel: Add options for reindexing in C header ad80abc73df3 kernel: Add block validation to C header cb1590b05efd kernel: Add chainstate loading when instantiating a ChainstateManager e2c1bd3d713f kernel: Add chainstate manager option for setting worker threads 65571c36a265 kernel: Add chainstate manager object to C header c62f657ba330 kernel: Add notifications context option to C header 9e1bac45852d kernel: Add chain params context option to C header 337ea860dfda kernel: Add kernel library context object 28d679bad9fd kernel: Add logging to kernel library C header 2cf136dec4ce kernel: Introduce initial kernel C header API 745eb053a41c Merge bitcoin-core/gui#901: Add createwallet, createwalletdescriptor, and migratewallet to history filter 52b1595850f6 depends: disable builtin variables 8b5a28fa7893 depends: disable builtin rules and suffixes. 7632e0ba312a ci: fix configure docker action inputs 746d36cc80f0 Merge bitcoin/bitcoin#33754: ci: gha: Set debug_pull_request_number_str annotation 25c45bb0d0bd Merge bitcoin/bitcoin#33567: node: change a tx-relay on/off flag to enum 422b468229f1 Merge bitcoin/bitcoin#33683: refactor/doc: Add blockman param to GetTransaction doc comment da6f041e39ef Merge bitcoin/bitcoin#31645: [IBD] coins: increase default UTXO flush batch size to 32 MiB 832a57673af7 Merge bitcoin/bitcoin#33749: test: ipc: resolve symlinks in `which capnp` 3cd4263bf664 Merge bitcoin/bitcoin#33753: test: Format strings in `test_runner` 78d4d36730d4 test: Format strings in `*.rs` fa9d0f994b45 ci: gha: Set debug_pull_request_number_str annotation 305384a0372a Merge bitcoin/bitcoin#33746: ci: Add missing python3-dev package for riscv64 8eda7210eb33 Merge bitcoin/bitcoin#33743: fuzz: refactor memcpy to std::ranges::copy to work around ubsan warn 51093d6ae1d4 test: resolve symlinks in which result for capnp 6f359695c36c Merge bitcoin/bitcoin#33698: test: Use same rpc timeout for authproxy and cli c281bb6837b0 Merge bitcoin/bitcoin#32924: test: add valid tx test with minimum-sized ECDSA signature (8 bytes DER-encoded) facf8b771a19 ci: Add missing python3-dev package for riscv64 b4d0288c467f doc: update Guix INSTALL.md 0b3b8a3be1a0 ci: fix lint docker caching fa4b52bd1618 fuzz: refactor memcpy to std::ranges::copy to work around ubsan warn 72511fd02e72 Merge bitcoin/bitcoin#33555: build: Bump clang minimum supported version to 17 79d6f458e230 random: scope environ extern to macOS, BSDs and Illumos 292ea0eb8982 Merge bitcoin/bitcoin#33677: ci: Retry image building once on failure dd82c6c5d09f Merge bitcoin/bitcoin#33693: ci: use pycapnp 2.2.1 3bb30658e631 Merge bitcoin/bitcoin#32380: Modernize use of UTF-8 in Windows code 5a58d4915e5c Merge bitcoin/bitcoin#33546: test: add functional test for `TestShell` (matching doc example) 1abc8fa308d2 Merge bitcoin/bitcoin#33218: refactor: rename `fees.{h,cpp}` to `fees/block_policy_estimator.{h,cpp}` de15e52f09d4 Merge bitcoin/bitcoin#32867: doc: mention key removal in rpc interface modification 5d784bebaff5 clang-tidy: Disable `ArrayBound` check in src/ipc and src/test 5efdb0ef3056 ci: Update Clang in "tidy" job 24434c1284b8 Merge bitcoin/bitcoin#31308: ci, iwyu: Treat warnings as errors for specific directories 27cd7f504944 Merge bitcoin/bitcoin#33185: guix: update time-machine to 5cb84f2013c5b1e48a7d0e617032266f1e6059e2 80bb7012be8e Merge bitcoin/bitcoin#31514: wallet: allow label for non-ranged external descriptor (if `internal=false`) & disallow label for ranged descriptors 5e1f626ac30f Merge bitcoin/bitcoin#32504: test: descriptor: cover invalid multi/multi_a cases 56e9703968e2 Merge bitcoin/bitcoin#29640: Fix tiebreak when loading blocks from disk (and add tests for comparing chain ties) 53b34c80c631 ci: use pycapnp 2.2.1 in mac native job 865432869c0d ci: remove Python version comment from mac config 9bd9ec00b238 Merge bitcoin/bitcoin#33688: test: Update BIP324 test vectors 1a7fb5eeeef3 fees: return current block height in estimateSmartFee ab49480d9be4 fees: rename fees_args to block_policy_estimator_args 06db08a43568 fees: refactor: rename fees to block_policy_estimator 6dfdd7e034dd fees: refactor: rename policy_fee_tests.cpp to feerounder_tests.cpp f54ffb4bc141 Merge bitcoin/bitcoin#32813: clang-format: make formatting deterministic for different formatter versions 1916c51cd855 Merge bitcoin/bitcoin#33210: fuzz: enhance wallet_fees by mocking mempool stuff 0eb554728ca9 Merge bitcoin/bitcoin#33336: log: print every script verification state change c6c4edf324a3 Merge bitcoin/bitcoin#32983: rpc: refactor: use string_view in Arg/MaybeArg 00ad998d9545 Merge bitcoin/bitcoin#33252: p2p: add `DifferenceFormatter` fuzz target and invariant check 1a1f46c22859 refactor/doc: Add blockman param to `GetTransaction` doc comment and reorder out param 66667d651229 test: Use same rpc timeout for authproxy and cli 5555bce994b6 ci: Document why IN_GETOPT_BIN env var is needed on macOS fabe516440c9 ci: Export the container id in python script f6ba97cea1d3 Merge bitcoin/bitcoin#33666: ci: Drop libFuzzer from msan fuzz task af78d3651299 Merge bitcoin/bitcoin#32588: util: Abort on failing CHECK_NONFATAL in debug builds 51877f2fc5eb test: Update BIP324 test vectors 161864a038ea Merge bitcoin/bitcoin#32579: p2p: Correct unrealistic headerssync unit test behavior 70a6fb5e5ab5 Merge bitcoin/bitcoin#33172: test: p2p block malleability 99cb2054bdfe Merge bitcoin/bitcoin#33600: refactor: Construct g_verify_flag_names on first use 211bf6c97503 Merge bitcoin/bitcoin#33566: miner: fix empty mempool case for waitNext() 944e5ff848f6 doc: mention key removal in rpc interface modification d32f9525e484 Merge bitcoin/bitcoin#33679: test: set number of RPC server threads to 2 1c85d062321c Merge bitcoin/bitcoin#32266: depends: Avoid `warning: "_FORTIFY_SOURCE" redefined` for `libevent` 11684c9ce2c1 Merge bitcoin/bitcoin#33674: ci: Doc ASLR workaround for sanitizer tasks e9cd45e3d3c7 test: set number of RPC server threads to 2 fa6aa9f42faa ci: Retry image building once on failure fa4dbe04d782 ci: Allow overwriting check option in run() helper fa8e4de5c31d ci: Use os.environ[key] access when value must be set 7d27af98c7cf Merge bitcoin/bitcoin#33461: ci: add Valgrind fuzz 1569bcc387fe Merge bitcoin/bitcoin#33639: ci: Only write docker build images to Cirrus cache 98c4994d0f36 Merge bitcoin/bitcoin#33570: randomenv: Fix MinGW dllimport warning for `environ` c211d1832211 Merge bitcoin/bitcoin#33670: test: Use unassigned p2p_port instead of hardcoded 60000 in p2p_i2p_ports.py e4b04630bcf5 ci: add Valgrind fuzz 3fee0754a2ec Merge bitcoin/bitcoin#33550: Fix windows libc++ `fs::path` `fstream` compile errors fa0e36156cba ci: Doc ASLR workaround for sanitizer tasks fa20275db32c test: Use unassigned p2p_port instead of hardcoded 60000 in p2p_i2p_ports.py c862936d16a6 Merge bitcoin/bitcoin#33370: ci: use Mold linker for asan-lsan-ubsan-integer-no-depends-usdt workflow fabe0e07de1a ci: Only write docker build images to Cirrus cache fab64a5d6fd7 ci: Move buildx command to python script fa72a2bd5c80 ci: Remove unused MAYBE_CPUSET fa70e23de75b ci: Drop libFuzzer from msan fuzz task abe7cbfe1a4e Merge bitcoin/bitcoin#33470: build: Move CMAKE_SKIP_INSTALL_RPATH from CMake to Guix script 689ec28d1d1e Merge bitcoin/bitcoin#33633: test: [move-only] binary utils to utils.py 0eeae4d174a4 Merge bitcoin/bitcoin#33625: Update secp256k1 subtree to latest master 4b41f99d57d8 build: Move CMAKE_SKIP_INSTALL_RPATH from CMake to Guix script d30f149360d1 Merge bitcoin/bitcoin#33630: doc: correct topology requirements in submitpackage helptext 3d222825642b [doc] correct topology requirements in submitpackage helptext e744fd1249bf Merge bitcoin/bitcoin#33641: Update leveldb subtree to latest master 4371740bebfa Merge bitcoin/bitcoin#33642: doc: archive release notes for v28.3 ceea24b92153 doc: archive release notes for v28.3 54ffe3de5b1d Update leveldb subtree to latest master f21162d81933 Squashed 'src/leveldb/' changes from aba469ad6a..cad64b151d e14451ac8733 Merge bitcoin/bitcoin#33469: TxGraph: change m_excluded_clusters f76e1ae38991 Merge bitcoin/bitcoin#32313: coins: fix `cachedCoinsUsage` accounting in `CCoinsViewCache` 59c4898994bd guix: remove python-pydantic-core input from LIEF 9f2a6927d3a9 guix: use Clang & LLVM 19 for macOS build 9570ddbec9cb guix: update time-machine to 5cb84f2013c5b1e48a7d0e617032266f1e6059e2 7b5cc276aa0a guix: patch around riscv issue with newer (2.40+) binutils 91b5cbaabbca ci: use Debian Trixie for macOS cross job fa75ef4328f6 test: Move export_env_build_path to util.py fa9f495308af test: Move get_binary_paths and Binaries to util.py 40e7d4cd0d7f Merge bitcoin/bitcoin#33549: ci: Add macOS cross task for arm64-apple-darwin ea17618c1167 Merge bitcoin/bitcoin#33480: ci: Turn CentOS config into Alpine musl config b1f8a13702e8 Merge bitcoin/bitcoin#33624: test: P2SH sig ops are only counted with `SCRIPT_VERIFY_P2SH` 879c21045eba Update secp256k1 subtree to latest master 3cbf7cb3e6ac Squashed 'src/secp256k1/' changes from b9313c6e1a..d543c0d917 2f7a50f67cdb Merge bitcoin/bitcoin#33462: ci: add libcpp hardening flags to macOS fuzz job 07a926474b5a node: change a tx-relay on/off flag to enum 48aa0e98d0b7 Merge bitcoin/bitcoin#29675: wallet: Be able to receive and spend inputs involving MuSig2 aggregate keys db4bde0b0347 Merge bitcoin/bitcoin#33517: multiprocess: Fix high overhead from message logging 3a10d700bc18 test: P2SH sig ops are only counted with `SCRIPT_VERIFY_P2SH` flag 9314113b295a Merge bitcoin/bitcoin#33610: doc: archive release notes for v29.2 9b43428c9687 TxGraph: change m_excluded_clusters 6e1adbbaa157 Merge bitcoin/bitcoin#33612: test: change log rate limit version gate fdcf67de8033 Merge bitcoin/bitcoin#33157: cluster mempool: control/optimize TxGraph memory usage 7b544341c002 test: change log rate limit version gate from 299900 to 290100 9610b0d1e28a randomenv: Fix MinGW dllimport warning for `environ` 6c4fe401e908 Merge bitcoin/bitcoin#33508: ci: fix buildx gha cache authentication on forks 8f7673257a1a miner: fix empty mempool case for waitNext() c11a3dcc8895 doc: archive release notes for v29.2 64a7c7cbb975 Merge bitcoin/bitcoin#33558: ci: Use native platform for win-cross task 93b56e95c028 Merge bitcoin/bitcoin#33601: doc: archive release notes for v30.0 563747971be4 Merge bitcoin/bitcoin#33580: depends: Use $(package)_file_name when downloading from the fallback 24d861da7894 coins: only adjust `cachedCoinsUsage` on `EmplaceCoinInternalDANGER` insert d7c9d6c2914a coins: fix `cachedCoinsUsage` accounting to prevent underflow 39cf8bb3d0d9 refactor: remove redundant usage tracking from `CoinsViewCacheCursor` 67cff8bec909 refactor: assert newly-created parent cache entry has zero memory usage 023cd5a5469a txgraph: add SingletonClusterImpl (mem optimization) e34625073253 txgraph: give Clusters a range of intended tx counts (preparation) e93b0f09cc2a txgraph: abstract out creation of empty Clusters (refactor) 6baf12621f66 txgraph: comment fixes (doc fix) 726b995739ab txgraph: make Cluster an abstract class (refactor) 2602d89edd04 txgraph: avoid accessing other Cluster internals (refactor) 04c808ac4c47 txgraph: expose memory usage estimate function (feature) 7680bb8fd48d txgraph: keep track of Cluster memory usage (preparation) 4ba562e5f4e4 txgraph: keep data structures compact (mem optimization) bb5cb222ae55 depgraph: add memory usage control (feature) b1637a90deb8 txgraph: avoid holes in DepGraph positions (mem optimization) 2b1d30250877 txgraph: move some sanity checks from Cluster to TxGraphImpl (refactor) d40302fbaf41 txgraph: Make level of Cluster implicit (optimization) 8d6e49158e3a doc: archive release notes for v30.0 4e352efa2ce7 qt: add createwallet, createwalletdescriptor, and migratewallet to history filter 0626b90f507d multiprocess: align our logging with libmultiprocess's 9d068225ee2b multiprocess: update multiprocess EventLoop construction to use options d2987102dd13 Merge bitcoin/bitcoin#33573: doc: bump the template macOS version f6567527d8da doc: bump the template macOS version faa9d10c84bc refactor: Construct g_verify_flag_names on first use becf15001318 Merge bitcoin/bitcoin#33518: Update libmultiprocess subtree to support reduced logging cd1b7fa1ff7c Merge bitcoin/bitcoin#33577: Revert "depends: Update URL for `qrencode` package source tarball" fa0fa0f70087 refactor: Revert "disable self-assign warning for tests" faed118fb30f build: Bump clang minimum supported version to 17 6b4a92b0fab8 Merge bitcoin/bitcoin#33568: doc: how to update a subtree 90b2884ce4ba Merge bitcoin/bitcoin#33581: ci: Properly include $FILE_ENV in DEPENDS_HASH d44b860cd09e Merge bitcoin/bitcoin#33584: ci: upgrade GitHub Action to download-artifact@v5 57f7c68821d9 test: add functional test for `TestShell` (matching doc example) 53874f7934d5 doc: test: update TestShell example instructions/options b35341b9ba63 Update ci.yml ceeb53adcd0a ci: Properly include $FILE_ENV in DEPENDS_HASH 671b774d1b58 depends: Use $(package)_file_name when downloading from the fallback e4335a31920c Revert "depends: Update URL for `qrencode` package source tarball" a89a822e6eb5 Revert "depends: Use hash instead of file name for package download stamp" fad5a7101cc3 ci: Add macOS cross task for arm64 fa8c750a0aff ci: Refactor get_previous_releases step in win-test-cross task e4c04f7759b0 ci: add libcpp hardening flags to macOS fuzz job a1226bc760c7 doc: how to update a subtree b510893d0076 Merge bitcoin/bitcoin#33494: depends: Update URL for `qrencode` package source tarball ec5841888de7 Merge bitcoin/bitcoin#32513: ci: remove 3rd party js from windows dll gha job d735e2e9b39a Merge bitcoin/bitcoin#32998: Bump SCRIPT_VERIFY flags to 64 bit de1dc6b47ba7 Merge bitcoin/bitcoin#33515: Improve LastCommonAncestor performance + add tests eda91b07fd9f Merge commit '0f01e1577f7c6734eb345139a12aba329ef22a5f' into pr/subtree-6 0f01e1577f7c Squashed 'src/ipc/libmultiprocess/' changes from 47d79db8a552..a4f929696490 fa6fd16f36e1 ci: Use native platform for win-cross task 53e4951a5b5b Switch to ANSI Windows API in `fsbridge::fopen()` function dbe770d92106 Switch to ANSI Windows API in `Win32ErrorString()` function 06d0be4e22ce Remove no longer necessary `WinCmdLineArgs` class f366408492f6 cmake: Set process code page to UTF-8 on Windows dccbb178065f Set minimum supported Windows version to 1903 (May 2019 Update) 919e6d01e93a Merge bitcoin/bitcoin#33489: build: Drop support for EOL macOS 13 452ea5928112 Merge bitcoin/bitcoin#33454: net: support overriding the proxy selection in ConnectNode() c864a4c1940d Simplify fs::path by dropping filename() and make_preferred() overloads b0113afd44b4 Fix windows libc++ fs::path fstream compile errors a33bd767a37d Merge bitcoin/bitcoin#33464: p2p: Use network-dependent timers for inbound inv scheduling 2578da69f416 Merge bitcoin/bitcoin#33485: test: set par=2 in default config for functional test framework 25dbe4bc86d3 Merge bitcoin/bitcoin#33533: test: addrman: check isTerrible when time is more than 10min in the future cfb0d74698ad Merge bitcoin/bitcoin#33121: test: fix p2p_leak_tx.py 86eaa4d6cd5c Merge bitcoin/bitcoin#33482: contrib: fix macOS deployment with no translations 007900ee9b89 Merge bitcoin/bitcoin#33434: depends: static libxcb-cursor 8e47ed6906d5 test: addrman: check isTerrible when time is more than 10min in the future 3635d62f5a93 chain: make use of pskip in LastCommonAncestor (optimization) 2e09d66fbb7b tests: add unit tests for CBlockIndex::GetAncestor and LastCommonAncestor 156927903d64 ci: Check windows manifests for all executables e1a1b14c9359 ci: use a more generic way of finding mt.exe 1ed00a0d39d5 Merge bitcoin/bitcoin#33504: Mempool: Do not enforce TRUC checks on reorg b63428ac9ce2 rpc: refactor: use more (Maybe)Arg<std::string_view> 037830ca0dbb refactor: increase string_view usage b3bf18f0bac0 rpc: refactor: use string_view in Arg/MaybeArg c76de2eea180 net: support overriding the proxy selection in ConnectNode() 45bd8914658a log: split assumevalid ancestry-failure-reason message 6c13a38ab51c log: separate script verification reasons f2ea6f04e79b refactor: untangle assumevalid decision branches 9bc298556cb0 validation: log initial script verification state 4fad4e992c49 test: add assumevalid scenarios scaffold 75353a016357 Merge bitcoin/bitcoin#32326: net: improve the interface around FindNode() and avoid a recursive mutex lock 87e7f37918d4 doc: clarify peer address in getpeerinfo and addnode RPC help 2a4450ccbbe3 net: change FindNode() to not return a node and rename it 4268abae1a1d net: avoid recursive m_nodes_mutex lock in DisconnectNode() acc7f2a433b1 Merge bitcoin/bitcoin#33401: ci: Remove bash -c from cmake invocation using eval 1aaaaa078bb2 fuzz: Drop unused workaround after Apple-Clang bump fadad7a49477 Drop support for EOL macOS 13 50194029e7c2 ci: Remove bash -c from cmake invocation using eval f41f97240c06 Merge bitcoin/bitcoin#28584: Fuzz: extend CConnman tests cc4a2cc6bdc4 Merge bitcoin/bitcoin#33453: docs: Undeprecate datacarrier and datacarriersize configuration options 7502d4e94038 Merge bitcoin/bitcoin#33260: test: Use extra_port() helper in feature_bind_extra.py 14ae71f323dd test: make notfound_on_unannounced more reliable 99bc552980d9 test: fix (w)txid confusion in p2p_leak_tx.py 576dd97cb91e test: increase timeout in p2p_leak_tx.py ac599c4a9cb3 test: Test MuSig2 in the wallet 68ef954c4c59 wallet: Keep secnonces in DescriptorScriptPubKeyMan 4a273edda0ec sign: Create MuSig2 signatures for known MuSig2 aggregate keys 258db9388994 sign: Add CreateMuSig2AggregateSig bf69442b3f50 sign: Add CreateMuSig2PartialSig 512b17fc56ea sign: Add CreateMuSig2Nonce 82ea67c607cd musig: Add MuSig2AggregatePubkeys variant that validates the aggregate d99a081679e1 psbt: MuSig2 data in Fill/FromSignatureData 4d8b4f53363f signingprovider: Add musig2 secnonces c06a1dc86ff2 Add MuSig2SecNonce class for secure allocation of musig nonces 9baff05e4944 sign: Include taproot output key's KeyOriginInfo in sigdata 4b24bfeab9d6 pubkey: Return tweaks from BIP32 derivation 8f73d9522146 Merge bitcoin/bitcoin#33299: wallet: reduce unconditional logging during load 0f7d4ee4e828 p2p: Use different inbound inv timer per network 93a70a42d30f depends: Update URL for `qrencode` package source tarball 6de80512632a depends: Use hash instead of file name for package download stamp bc706955d740 ci: expose all ACTIONS_* vars 46135d90ea90 depends: Drop redundant check for downloaded file 771978952a98 depends: Fix `$(package)_fetched` target 25212dfdb4cd Merge bitcoin/bitcoin#33487: ci: use latest versions of lint deps 06df14ba75be test: add more TRUC reorg coverge 26e71c237d9d Mempool: Do not enforce TRUC checks on reorg bbe8e9063c15 fuzz: don't bypass_limits for most mempool harnesses d4f47f97715c ci: use latest versions of lint deps fc861332b351 wallet, log: reduce unconditional logging during load 3a4d1a25cf94 net: merge AlreadyConnectedToAddress() and FindNode(CNetAddr) 444409ff2b78 ci: Reduce Alpine musl task to md runner size d8fe258cd610 Merge bitcoin/bitcoin#33484: doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness) dda5228e02ca test: set par=2 in default config for functional test framework ff05bebcc426 doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness) 200150beba66 Merge bitcoin/bitcoin#33313: test/refactor: use test deque to avoid quadratic iteration 7e08445449fc Merge bitcoin/bitcoin#33399: key: use static context for libsecp256k1 calls where applicable 7b5261f7ef3d contrib: fix using macdploy script without translations. 65e909dfdd93 Merge bitcoin/bitcoin#33430: rpc: addpeeraddress: throw on invalid IP 31b29f8eb629 Merge bitcoin/bitcoin#33229: multiprocess: Don't require bitcoin -m argument when IPC options are used e62e0a12b332 Merge bitcoin/bitcoin#33230: cli: Handle arguments that can be either JSON or string 7ae0497eef8f ci: remove 3rd party js from windows dll gha job 05d984b1a4fb Merge bitcoin/bitcoin#33475: bugfix: miner: fix `addPackageTxs` unsigned integer overflow fa6b2e9efece ci: Turn centos config into alpine musl config b807dfcdc592 miner: fix `addPackageTxs` unsigned integer overflow d41b503ae128 Merge bitcoin/bitcoin#33446: rpc: fix getblock(header) returns target for tip 5ae8edbc304a Merge bitcoin/bitcoin#33158: macdeploy: avoid use of `Bitcoin Core` in Linux cross build df67bb6fd84c test: Remove convert_to_json_for_cli 44a493e150a7 cli: Allow arguments to be both strings and json ad4a49090da8 Merge bitcoin/bitcoin#33408: msvc: Update vcpkg manifest dd61f08fd52b Merge bitcoin/bitcoin#33031: wallet: Set descriptor cache upgraded flag for migrated wallets 350692e561ce Merge bitcoin/bitcoin#33388: test: don't throw from the destructor of DebugLogHelper 94db966a3bb5 net: use generic network key for addrcache eca50854e1cb depends: static libxcb_cursor 89144eb473c6 Merge bitcoin/bitcoin#33448: net/rpc: Report inv information for debugging eaa1a3cd0b3d Merge bitcoin/bitcoin#33425: ci: remove Clang build from msan fuzz job b77137a5644e ci: link against -lstdc++ in native fuzz with msan job a86e1a6e32d8 Merge bitcoin/bitcoin#33427: rpc: Always return per-wtxid entries in submitpackage tx-results 6861dadfcb11 Merge bitcoin/bitcoin#33459: doc: remove unrelated `bitcoin-wallet` binary from `libbitcoin_ipc` description 3b3ab3a50a0b Merge bitcoin/bitcoin#33302: ci: disable cirrus cache in 32bit arm job 2738b63e025d test: validate behaviour of getpeerinfo last_inv_sequence and inv_to_send fbde8d9a81d8 doc: remove unrelated `bitcoin-wallet` binary from `libbitcoin_ipc` description 34fefb633584 Merge bitcoin/bitcoin#33435: system: improve handling around GetTotalRAM() 56791b582958 test: split out `system_ram_tests` to signal when total ram cannot be determined 337a6e738616 system: improve handling around GetTotalRAM() 451ba9ada41f datacarrier: Undeprecate configuration option 77b2ebb81182 rpc/net: report per-peer last_inv_sequence bf7996cbc3be rpc: fix getblock(header) returns target for tip 4c3c1f42cf70 test: add block 2016 to mock mainnet 953544d0286b Merge bitcoin/bitcoin#33429: fuzz: reduce iterations in slow targets df101c97c260 Merge bitcoin/bitcoin#33422: build: Remove lingering Windows registry & shortcuts (#32132 follow-up) 56c6daa64f6b Merge bitcoin/bitcoin#28592: p2p: Increase tx relay rate 79752b9c0b6b build(windows): Remove lingering registry entries and shortcuts upon install cad9a7fd7370 rpc: Always return per-wtxid entries in submitpackage tx-results 6a33970fef1b fuzz: Reduce iterations in slow targets edb871cba22a Merge bitcoin/bitcoin#33412: Update libmultiprocess subtree to fix intermittent mptest hang 2427939935f3 test: forbid copying of DebugLogHelper d6aa266d432f test: don't throw from the destructor of DebugLogHelper 91ac64b0a66f log: reword `signature validations` to `script verification` in `assumevalid` log eaf2c464758b Merge bitcoin/bitcoin#33378: Remove unnecessary casts when calling socket operations 5aec516b2ce3 Merge bitcoin/bitcoin#33333: coins: warn on oversized `-dbcache` 316a0c513278 rpc: addpeeraddress: throw on invalid IP 74fa028da1ea Merge bitcoin/bitcoin#33420: test: Avoid interface_ipc.py Duplicate ID errors 168360f4ae47 coins: warn on oversized -dbcache 6c720459beea system: add helper for fetching total system memory e9c52272ebd7 test: Avoid interface_ipc.py Duplicate ID errors 535fa0ad0d26 Squashed 'src/ipc/libmultiprocess/' changes from 13424cf2ecc1..47d79db8a552 c49a43591f88 Merge commit '535fa0ad0d2637f845beae92ea9dbbbbbe377c74' into pr/subtree-5 453b0fa286e5 bitcoin: Make wrapper not require -m 1444ed855f43 Merge bitcoin/bitcoin#33407: cmake: Install `bitcoin` manpage 29e836fae660 test: add tool_bitcoin to test bitcoin wrapper behavior 0972f5504021 init: add exe name to bitcoind, bitcoin-node -version output to be able to distinguish these in tests 2b0cd1f3fb22 Merge bitcoin/bitcoin#33395: net: do not apply whitelist permissions to onion inbounds f14876213aad musig: Move synthetic xpub construction to its own function ef20c2d11d96 build, msvc: Update vcpkg manifest baseline 1ff9e929489e key: use static context for libsecp256k1 calls where applicable f563ce90818d net: Do not apply whitelist permission to onion inbounds 947bed28fe62 Merge bitcoin/bitcoin#33380: test: Add submitblock test in interface_ipc 7584a4fda95d cmake: Install `bitcoin` manpage 67f632b6deb8 net: remove unnecessary casts in socket operations c4adfbf70626 Merge bitcoin/bitcoin#33373: depends: systemtap 5.3 5aa3d3135d25 Merge bitcoin/bitcoin#33391: test: Prevent disk space warning during node_init_tests bdf01c6f6126 test: Prevent disk space warning during node_init_tests 0a26731c4cc1 test: Add submitblock test in interface_ipc 2d6a0c464912 Merge bitcoin/bitcoin#33379: cmake: Fix regression in `secp256k1.cmake` f031536f2d26 ci: use Mold linker for asan-lsan-ubsan-integer-no-depends-usdt workflow cc5dda1de333 headerssync: Make HeadersSyncState more flexible and move constants 8fd1c2893e67 test(headerssync): Test returning of pow_validated_headers behavior 7b00643ef5f9 test(headerssync): headers_sync_chainwork test improvements 04eeb9578c60 doc(test): Improve comments fe896f8faa78 refactor(test): Store HeadersSyncState on the stack f03686892a9c refactor(test): Break up headers_sync_state e984618d0b99 refactor(headerssync): Process spans of headers a4ac9915a95e refactor(headerssync): Extract test constants ahead of breakup into functions 9193c3e4340b cmake: Fix regression in `secp256k1.cmake` d20f10affba8 Merge bitcoin/bitcoin#33268: wallet: Identify transactions spending 0-value outputs, and add tests for anchor outputs in a wallet 28efd724b478 depends: systemtap 5.3 9a5ba154bea1 Merge bitcoin/bitcoin#33310: trace: Workaround GCC bug compiling with old systemtap 853f0d881142 Merge bitcoin/bitcoin#33364: ci: always use tag for LLVM checkout b81445333a10 Merge bitcoin/bitcoin#33243: test: Fix CLI_MAX_ARG_SIZE issues f757da87f59d Merge bitcoin/bitcoin#33332: common: Make arith_uint256 trivially copyable e416dc2fbbb7 Merge bitcoin/bitcoin#33321: kernel: make blockTip index const 75e6984ec8c6 test/refactor: use test deque to avoid quadratic iteration 176fac0f16d5 Merge bitcoin/bitcoin#33141: test: Remove polling loop from test_runner (take 2) 593d5fe37d7a Merge bitcoin/bitcoin#33354: txgraph: use enum Level instead of bool main_only 653a9849d5f9 common: Make arith_uint256 trivially copyable b736052e39f1 ci: always use tag for LLVM checkout 652424ad162b test: additional test coverage for script_verify_flags 00c253d49417 ci: disable cirrus cache in 32bit arm job ff18b6bbaf32 ci: refactor docker action to return provider str d45f3717d2c6 txgraph: use enum Level instead of bool main_only ee42d59d4de9 Merge bitcoin-core/gui#886: Avoid pathological QT text/markdown behavior... 2c8a478db4b8 Merge bitcoin/bitcoin#33231: net: Prevent node from binding to the same `CService` 591eea7b5ac5 Merge bitcoin/bitcoin#33082: wallet, refactor: Remove Legacy check and error 6a371b70c87a gui: Avoid pathological QT text/markdown behavior... 02d2b5a11c92 ci, iwyu: Treat warnings as errors for specific directories 57a3eac387bd refactor: Fix includes in `index` directory c0894a0a2be0 Merge bitcoin/bitcoin#33348: contrib: add bitcoin binary to gen-manpages 53e6db91ef59 contrib: add placeholder manpage for bitcoin binary bdb8eadcdc19 refactor: Fix includes in `crypto` directory 56f2a689a201 ci: Do not patch `leveldb` to workaround UB in "tidy" CI job f5887a8de4c8 contrib: add bitcoin binary to gen-manpages 314c42b55bda Merge bitcoin/bitcoin#33347: build: bump `CLIENT_VERSION_MAJOR` to 30 9f744fffc39d build: bump CLIENT_VERSION_MAJOR to 30 042817ddb84c Merge bitcoin/bitcoin#33346: doc: remove release note fragment 0f0e6fe7f5f4 doc: remove release note fragment 84cf5420398c Merge bitcoin/bitcoin#33275: Release: 30.0 translations update 13809b867ad9 Merge bitcoin/bitcoin#33303: ci: Checkout latest merged pulls e749205f83dd Merge bitcoin/bitcoin#33319: ci: reduce runner sizes on various jobs 9cbd346daa50 Merge bitcoin/bitcoin#33340: Fix benchmark CSV output 4776179be9fb Merge bitcoin/bitcoin#33342: guix: strip binaries in libexec 0ba44d9c38af Merge bitcoin/bitcoin#33296: net: check for empty header before calling FillBlock 1861030bea7f Merge bitcoin/bitcoin#30469: index: Fix coinstats overflow 8b6264768030 test: send duplicate blocktxn message in p2p_compactblocks.py 5e585a0fc4fd net: check for empty header before calling FillBlock cb825a07ac6d Merge bitcoin/bitcoin#33338: net: Add interrupt to pcp retry loop 0b0bd74c3e9a Merge bitcoin/bitcoin#33312: clang-tidy: Disable `UndefinedBinaryOperatorResult` check in `src/ipc` 790b440197bd Fix benchmark CSV output 3cceda9f4855 guix: strip binaries in libexec 3eea9fd39532 Merge bitcoin/bitcoin#33308: doc: fix `LIBRARY_PATH` comment 0b38cc9bf7a3 Merge bitcoin/bitcoin#33339: doc: move release notes to wiki pre branch off b320f5efa175 qt: 30.0 translations update 905c1a77f51c doc: move release notes to wiki pre branch off 2d799590feea Merge bitcoin/bitcoin#33283: contrib: update fixed seeds 188de70c8641 net: Add interrupt to pcp retry loop 9c6fa07b1248 Merge bitcoin/bitcoin#33322: Update libmultiprocess subtree to improve build and logs c76797481155 clang-tidy: Fix critical warnings 54dc34ec2279 index: Remove unused coinstatsindex recovery code 37c4fba1f4c1 index: Check BIP30 blocks when rewinding Coinstatsindex 51df9de8e5b9 doc: Add release note for 30469 bb8d67318329 test: Add coinstatsindex compatibility test b2e8b64ddc35 index, refactor: Append blocks to coinstatsindex without db read 431a076ae6e3 index: Fix coinstatsindex overflow issue fa8f081af31c ci: Checkout latest merged pulls 36e40417de3f Merge bitcoin-core/gui#884: Fix compatibility with `-debuglogfile` command-line option a334bbe9b79d Squashed 'src/ipc/libmultiprocess/' changes from 1b8d4a6f1e54..13424cf2ecc1 a4ee70e5b69c Merge commit 'a334bbe9b79ddf1999003c792bc8945639b7e9c1' into pr/subtree-4 e04cb9c1bdf2 Merge bitcoin/bitcoin#33201: Add functional test for IPC interface 75d9b7247570 kernel: make blockTip index const a341e11ac92b ci: test IPC on additional hosts 6aee573bfcf6 ci: enable IPC tests in CI 8d2ee88fa2a5 tests: add functional tests for IPC interface 3cc9a06c8dd5 test: Add TestNode ipcbind option 3cceb60a7153 test: Provide path to `bitcoin` binary 8c7f0056291d test: add is_ipc_compiled() and skip_if_no_ipc() functions 37c21ebe4078 Merge bitcoin/bitcoin#33309: doc: archive v29.1 release notes 32e2484b67e6 Merge bitcoin/bitcoin#33304: depends: strip when installing qt binaries 4d4789dffad5 net: Prevent node from binding to the same CService 647cdb4f7e80 Merge bitcoin/bitcoin#33311: net: Quiet down logging when router doesn't support natpmp/pcp 589b65f06c33 clang-tidy: Disable `UndefinedBinaryOperatorResult` check in `src/ipc` 4f1a4cbccd78 net: Quiet down logging when router doesn't support natpmp/pcp 93a29ff28301 trace: Workaround GCC bug compiling with old systemtap 5eeb2facbbbb ci: reduce runner sizes on various jobs 61ec8866c639 [doc] archive v29.1 release notes a2a35b58cb95 doc: fix LIBRARY_PATH comment e1ce0c525c7f Merge bitcoin/bitcoin#33291: ci: cd into BASE_BUILD_DIR for GetCMakeLogFiles 84e813a02bb7 index, refactor: DRY coinbase check fab842b32487 index, refactor: Rename ReverseBlock to RevertBlock 2d8f5b91881e Merge bitcoin/bitcoin#33136: ci: Remove redundant RUN_UNIT_TESTS_SEQUENTIAL c9d5f211c119 depends: strip when installing qt fae610d8581a ci: Remove redundant RUN_UNIT_TESTS_SEQUENTIAL 2562fe1b2b63 Merge bitcoin/bitcoin#32159: net, pcp: handle multi-part responses and filter for default route while querying default gateway ed2ff3c63d83 Merge bitcoin/bitcoin#33235: build: set ENABLE_IPC to OFF when fuzzing 88db09bafe9e net: handle multi-part netlink responses 113a4228229b wallet: Add m_cached_from_me to cache "from me" status 609d265ebc51 test: Add a test for anchor outputs in the wallet c40dc822d74a wallet: Throw an error in sendall if the tx size cannot be calculated 39a7dbdd277d wallet: Determine IsFromMe by checking for TXOs of inputs e76c2f7a4111 test: Test wallet 'from me' status change 689a32197638 Merge bitcoin/bitcoin#33220: doc: truc packages allow sub min feerate transactions 9b76eef2d2b4 ci: cd into BASE_BUILD_DIR for GetCMakeLogFiles 8e434a84999c macdeploy: rename macOS output to bitcoin-macos-app.zip 05353d9cf08c macdeploy: combine appname & -zip arguments 939678940f6c contrib: update fixed seeds 6cdd8ee67618 contrib: update makeseeds minblocks b8da9f4034e1 contrib: update makeseeds UA regex ba0b4304ecee Merge bitcoin/bitcoin#32989: ci: Migrate CI to hosted Cirrus Runners 0eb3eae54865 Merge bitcoin/bitcoin#33274: kernel: chainparams & headersync updates for 30.0 fa4885ef2fde test: Remove polling loop from test_runner 7270839af425 doc: truc packages allow sub min feerate transactions 46369583f3a9 Merge bitcoin/bitcoin#33224: doc: unify `datacarriersize` warning with release notes 755152ac819a kernel: add testnet4 assumeutxo param at height 90'000 a6512686e335 kernel: add mainnet assumeutxo param at height 910'000 943de66b5043 kernel: update headersync params 66fb96242648 kernel: update chainTxData c3cb26e02834 kernel: update assumevalid and minimumChainWork b4adae76d466 kernel: update assumed blockchain & chainstate sizes 7e58c94112d0 Merge bitcoin/bitcoin#33269: test: Fixup fill_mempool docstring 65a10fc3c52e p2p: add assertion for BlockTransactionsRequest indexes 58be359f6b24 fuzz: add a target for DifferenceFormatter Class 13f36c020f03 clang-format: regenerate configs 3c5da69a232b ci: remove un-needed lint_run*.sh files 2aa288efdda2 ci: fix annoying docker warning dd1c5903e8d8 ci: add ccache hit-rate warning when < 75% f4272844833d doc: Detail configuration of hosted CI runners 3f339e99e00b ci: dynamically match makejobs with cores 4393ffdd837b ci: remove .cirrus.yml bc41848d00f7 ci: port lint d290a8e6eab7 ci: port msan-depends 9bbae61e3b40 ci: port tsan-depends bf7d5364527c ci: port tidy 549074bc643f ci: port centos-depends-gui 58e38c3a0425 ci: port previous-releases-depends-debug 341196d75c30 ci: port fuzzer-address-undefined-integer-nodepends f2068f26c123 ci: port no-IPC-i686-DEBUG 2a00b12d73bb ci: port nowallet-libbitcoinkernel 9c2514de5343 ci: port mac-cross-gui-notests 2c990d84a3db ci: force reinstall of kernel headers in asan 884251441bb7 ci: update asan-lsan-ubsan f253031cb8e4 ci: port arm 32-bit job 5ded99a7f007 fuzz: MockMempoolMinFee in wallet_fees c9a7a198d9e8 test: move MockMempoolMinFee to util/txmempool adf67eb21baf fuzz: create FeeEstimatorTestingSetup to set fee_estimator ff10a37e9927 fuzz: mock CBlockPolicyEstimator in wallet_fuzz 04e7bfbceb03 ci: update windows-cross job cc1735d77714 ci: add job to determine runner type 020069e6b718 ci: add Cirrus cache host 9c2b96e0d030 ci: have base install run in right dir 18f6be09d02b ci: use docker build cache arg directly 94a09325475d ci: use buildx in ci fdf64e553245 ci: add configure-docker action 33ba073df7a8 ci: add REPO_USE_CIRRUS_RUNNERS b232b0fa5e96 ci: add caching actions b8fcc9fcbcdd ci: add configure environment action f591c3becafc fees: make estimateSmartFee/HighestTargetTracked virtual for mocking fa3f682032a3 test: Fixup fill_mempool docstring 7cc9a087069b Merge bitcoin/bitcoin#33253: Revert compact block cache inefficiencies 084fd68fda2c Merge bitcoin/bitcoin#33258: ci: use LLVM 21 6ff2d423625d Merge bitcoin/bitcoin#33189: rpc: followups for 33106 4d54bb2b92cc Merge bitcoin/bitcoin#33264: threading: reduce the scope of lock in getblocktemplate 9ae23950ef80 Merge bitcoin/bitcoin#33261: ci: return to using dash in CentOS job b6f8c48946cb coins: increase default `dbbatchsize` to 32 MiB 8bbb7b8bf8e3 refactor: Extract default batch size into kernel 493ba0f68831 threading: reduce the scope of lock in getblocktemplate 509ffea40abb ci: return to using dash in CentOS job fabc2615af26 test: Use extra_port() helper in feature_bind_extra.py b7b249d3adfb Revert "[refactor] rewrite vTxHashes as a vector of CTransactionRef" b9300d8d0a74 Revert "refactor: Simplify `extra_txn` to be a vec of CTransactionRef instead of a vec of pair<Wtxid, CTransactionRef>" df5a50e5de20 bench/blockencodings: add compact block reconstruction benchmark 4cf0ae474ba0 ci: use LLVM 21 fa96a4afea2a ci: Enable CI_LIMIT_STACK_SIZE=1 in i686_no_ipc task facfde2cdce6 test: Fix CLI_MAX_ARG_SIZE issues 6ca6f3b37b99 Merge bitcoin/bitcoin#33241: Update libmultiprocess subtree to fix build issues 9703b7e6d563 Merge bitcoin/bitcoin#32592: threading: remove ancient CRITICAL_SECTION macros dd68d0f40b61 Squashed 'src/ipc/libmultiprocess/' changes from b4120d34bad2..1b8d4a6f1e54 323b3fd27283 Merge commit 'dd68d0f40b614474f24469fbe1ba02f8f9146b31' into pr/subtree-3 d3c5e47391e2 wallet, refactor: Remove Legacy check and error 73220fc0f958 Merge bitcoin/bitcoin#33212: index: Don't commit state in BaseIndex::Rewind 46ca7712cb5f threading: remove unused template instantiations b537a6a6dbd3 threading: remove obsolete critsect macros 0d0e0a39b4a5 threading: use a reverse lock rather than manual critsect macros 3ddd554d3181 tests: Add Assertions in reverse_lock tests to exercise thread-safety annotations c88b1cbf57a3 tests: get rid of remaining manual critsect usage 2c223de2af72 Merge bitcoin/bitcoin#33237: doc: use new block_to_connect parameter name 02f6758e0ce8 Merge bitcoin/bitcoin#33233: doc: follow-ups to "Add bitcoin-{node,gui} to release binaries for IPC" 682bd04462d2 Merge bitcoin/bitcoin#33236: doc: Remove wrong and redundant doxygen tag a9701de0c9fd Merge bitcoin/bitcoin#33217: depends: remove xinerama extension from libxcb 78351ed083b1 Merge bitcoin/bitcoin#33222: miner: clamp options instead of asserting de65c86572c5 doc: capnproto instruction for Alpine and Arch 49d1a1a36306 doc: add capnproto-devel to Fedora build instruction a602f6fb7bf5 test: index with an unclean restart after a reorg 01b95ac6f496 index: don't commit state in BaseIndex::Rewind 1c3db0ed8e6f doc: use new block_to_connect parameter name 8333aa530290 Merge bitcoin/bitcoin#32523: wallet: Remove isminetypes eab5518913a6 doc: mark bitcoin-{node,gui} installed in files.md 966666de9a62 doc: Remove wrong and redundant doxygen tag d0e1bbad016c test: repeat block malleability test with relayable block over P2P af4156ab7556 build: set ENABLE_IPC to OFF when fuzzing 2a815d126bc9 doc: link to capnp version bump PR decc3671c88b guix: remove libxcb-xinerama.so.0 from allowed libs 3d9314f3838c depends: remove xinerama extension from libxcb 7d9789401be4 Merge bitcoin/bitcoin#31802: Add bitcoin-{node,gui} to release binaries for IPC 2885bd0e1c4f doc: unify `datacarriersize` warning with release notes be776a1443fd wallet: Remove isminetype 009a69a616cf wallet: Remove ISMINE_USED 6a7aa015747e wallet: Remove COutput::spendable and AvailableCoinsListUnspent 7392b8b084be miner: clamp options instead of asserting 620abe985e51 interfaces, gui: Remove is_mine output parameter from getAddress c0d28c8f5b15 qt: Fix compatibility with `-debuglogfile` command-line option 19273d0705fc fuzz: set mempool options in wallet_fees 81e5c8385b9e test: cover invalid codesep positions for signature in taproot daa40a3ff973 doc fixups for 33106 c568511e8ced test fixup for incremental feerate 636fa219d37f test fixups 9169a50d529e [rpc] expose blockmintxfee via getmininginfo ce7d94a492e6 doc: add release note 71f29d4fa90a doc: update build and dependencies docs for IPC 3cbf747c328f cmake: set ENABLE_IPC by default 32a90e1b9017 ci: use bitcoin-node for one depends job b333cc14d50b ci: build one depends job without multiprocess 16bce9ac4cd0 build: depends makes libmultiprocess by default 417437eb01ac script/verify_flags: extend script_verify_flags to 64 bits 3cbbcb66efc3 script/interpreter: make script_verify_flag_name an ordinary enum bddcadee82da script/verify_flags: make script_verify_flags type safe a5ead122fe06 script/interpreter: introduce script_verify_flags typename 4577fb2b1e09 rpc: have getdeploymentinfo report script verify flags a3986935f073 validation: export GetBlockScriptFlags() 5db8cd2d37eb Move mapFlagNames and FormatScriptFlags logic to script/interpreter.h adefb51c5437 rpc/net: add per-peer inv_to_send sizes 30c6f64eed30 test: Remove unnecessary LoadWallet() calls fb8720f1e09f sign: Refactor Schnorr sighash computation out of CreateSchnorrSig a4cfddda644f tests: Clarify why musig derivation adds a pubkey and xpub 39a63bf2e7e3 descriptors: Add a doxygen comment for has_hardened output_parameter 2320184d0ea8 descriptors: Fix meaning of any_key_parsed 88b0647f027a wallet: Always write last hardened cache flag in migrated wallets 8a08eef645ee tests: Check that the last hardened cache upgrade occurs 0465574c1279 test: Fixes send_blocks_and_test docs 09c95f21e71d test: Adds block tiebreak over restarts tests 18524b072e6b Make nSequenceId init value constants 8b91883a23aa Set the same best tip on restart if two candidates have the same work 5370bed21e0b test: add functional test for complex reorgs ab145cb3b471 Updates CBlockIndexWorkComparator outdated comment fa37153288ca util: Abort on failing CHECK_NONFATAL in debug builds fa0dc4bdffb0 test: Allow testing of check failures faeb58fe6686 refactor: Set G_ABORT_ON_FAILED_ASSUME when G_FUZZING_BUILD 5fa81e239a39 test: add valid tx test with minimum-sized ECDSA signature (8 bytes DER-encoded) 0802398e749c fuzz: make it possible to mock (fuzz) CThreadInterrupt 6d9e5d130d2e fuzz: add CConnman::SocketHandler() to the tests 3265df63a48d fuzz: add CConnman::InitBinds() to the tests 91cbf4dbd864 fuzz: add CConnman::CreateNodeFromAcceptedSocket() to the tests 50da7432ec1e fuzz: add CConnman::OpenNetworkConnection() to the tests e6a917c8f8e0 fuzz: add Fuzzed NetEventsInterface and use it in connman tests e883b3776881 fuzz: set the output argument of FuzzedSock::Accept() 58e55b17e632 test: descriptor: cover invalid multi/multi_a cases 664657ed1343 bugfix: disallow label for ranged descriptors & allow external non-ranged descriptors to have label fe71a4b139f3 depends: Avoid `warning: "_FORTIFY_SOURCE" redefined` for `libevent` 42e99ad77396 net: skip non-route netlink responses 57ce645f05d1 net: filter for default routes in netlink responses b81f37031c8f p2p: Increase tx relay rate REVERT: 1857296c067b kernel: Fix bitcoin-chainstate for windows REVERT: b14455e3fcc5 kernel: Add Purpose section to header documentation REVERT: b6bc17b703dd kernel: Allowing reducing exports REVERT: b1ef48b20730 kernel: Add pure kernel bitcoin-chainstate REVERT: b8e4169e453a kernel: Add functions to get the block hash from a block REVERT: ea03b539a2fa kernel: Add block index utility functions to C header REVERT: 10e8bc695713 kernel: Add function to read block undo data from disk to C header REVERT: 49743bf8c133 kernel: Add functions to read block from disk to C header REVERT: 11588ec6537c kernel: Add function for copying block data to C header REVERT: de24590872f8 kernel: Add functions for the block validation state to C header REVERT: dcba34ad8f86 kernel: Add validation interface to C header REVERT: 527435ebcc73 kernel: Add interrupt function to C header REVERT: c6a3da91764a kernel: Add import blocks function to C header REVERT: f7d879349a61 kernel: Add chainstate load options for in-memory dbs in C header REVERT: 9b0116f0adad kernel: Add options for reindexing in C header REVERT: 4bbd99b03001 kernel: Add block validation to C header REVERT: 8dbc8230f110 kernel: Add chainstate loading when instantiating a ChainstateManager REVERT: f1a9d6f4dfff kernel: Add chainstate manager option for setting worker threads REVERT: 864008a1a71a kernel: Add chainstate manager object to C header REVERT: b160f13ed141 kernel: Add notifications context option to C header REVERT: d465a997f2e9 kernel: Add chain params context option to C header REVERT: e61538b88b32 kernel: Add kernel library context object REVERT: 3963f4c9de73 kernel: Add logging to kernel library C header REVERT: f3acc94b4b7e kernel: Introduce initial kernel C header API git-subtree-dir: depend/bitcoin git-subtree-split: 4da01123df0f4cb7e05c09dbb1c6b00c064beabe
1 parent a19c56c commit a785fe6

File tree

696 files changed

+24372
-36293
lines changed

Some content is hidden

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

696 files changed

+24372
-36293
lines changed

.cirrus.yml

Lines changed: 0 additions & 199 deletions
This file was deleted.

.github/ISSUE_TEMPLATE/bug.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ body:
7878
id: os
7979
attributes:
8080
label: Operating system and version
81-
placeholder: e.g. "MacOS Ventura 13.2" or "Ubuntu 22.04 LTS"
81+
placeholder: e.g. "MacOS 26.0" or "Ubuntu 26.04 LTS"
8282
validations:
8383
required: true
8484
- type: textarea
@@ -90,4 +90,3 @@ body:
9090
e.g. OS/CPU and disk type, network connectivity
9191
validations:
9292
required: false
93-
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
name: 'Configure Docker'
2+
description: 'Set up Docker build driver and configure build cache args'
3+
inputs:
4+
cache-provider:
5+
description: 'gha or cirrus cache provider'
6+
required: true
7+
runs:
8+
using: 'composite'
9+
steps:
10+
- name: Check inputs
11+
shell: bash
12+
run: |
13+
# We expect only gha or cirrus as inputs to cache-provider
14+
case "${{ inputs.cache-provider }}" in
15+
gha|cirrus)
16+
;;
17+
*)
18+
echo "::warning title=Unknown input to configure docker action::Provided value was ${{ inputs.cache-provider }}"
19+
;;
20+
esac
21+
22+
- name: Set up Docker Buildx
23+
uses: docker/setup-buildx-action@v3
24+
with:
25+
# Use host network to allow access to cirrus gha cache running on the host
26+
driver-opts: |
27+
network=host
28+
29+
# This is required to allow buildkit to access the actions cache
30+
- name: Expose actions cache variables
31+
uses: actions/github-script@v6
32+
with:
33+
script: |
34+
Object.keys(process.env).forEach(function (key) {
35+
if (key.startsWith('ACTIONS_')) {
36+
core.info(`Exporting ${key}`);
37+
core.exportVariable(key, process.env[key]);
38+
}
39+
});
40+
41+
- name: Construct docker build cache args
42+
shell: bash
43+
run: |
44+
# Configure docker build cache backend
45+
#
46+
# On forks the gha cache will work but will use Github's cache backend.
47+
# Docker will check for variables $ACTIONS_CACHE_URL, $ACTIONS_RESULTS_URL and $ACTIONS_RUNTIME_TOKEN
48+
# which are set automatically when running on GitHub infra: https://docs.docker.com/build/cache/backends/gha/#synopsis
49+
50+
# Use cirrus cache host
51+
if [[ ${{ inputs.cache-provider }} == 'cirrus' ]]; then
52+
url_args="url=${CIRRUS_CACHE_HOST},url_v2=${CIRRUS_CACHE_HOST}"
53+
else
54+
url_args=""
55+
fi
56+
57+
# Always optimistically --cache‑from in case a cache blob exists
58+
args=(--cache-from "type=gha${url_args:+,${url_args}},scope=${CONTAINER_NAME}")
59+
60+
# Only add --cache-to when using the Cirrus cache provider and pushing to the default branch.
61+
if [[ ${{ inputs.cache-provider }} == 'cirrus' && ${{ github.event_name }} == "push" && ${{ github.ref_name }} == ${{ github.event.repository.default_branch }} ]]; then
62+
args+=(--cache-to "type=gha${url_args:+,${url_args}},mode=max,ignore-error=true,scope=${CONTAINER_NAME}")
63+
fi
64+
65+
# Always `--load` into docker images (needed when using the `docker-container` build driver).
66+
args+=(--load)
67+
68+
echo "DOCKER_BUILD_CACHE_ARG=${args[*]}" >> $GITHUB_ENV
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: 'Configure environment'
2+
description: 'Configure CI, cache and container name environment variables'
3+
runs:
4+
using: 'composite'
5+
steps:
6+
- name: Set CI and cache directories
7+
shell: bash
8+
run: |
9+
echo "BASE_ROOT_DIR=${{ runner.temp }}" >> "$GITHUB_ENV"
10+
echo "BASE_BUILD_DIR=${{ runner.temp }}/build" >> "$GITHUB_ENV"
11+
echo "CCACHE_DIR=${{ runner.temp }}/ccache_dir" >> $GITHUB_ENV
12+
echo "DEPENDS_DIR=${{ runner.temp }}/depends" >> "$GITHUB_ENV"
13+
echo "BASE_CACHE=${{ runner.temp }}/depends/built" >> $GITHUB_ENV
14+
echo "SOURCES_PATH=${{ runner.temp }}/depends/sources" >> $GITHUB_ENV
15+
echo "PREVIOUS_RELEASES_DIR=${{ runner.temp }}/previous_releases" >> $GITHUB_ENV
16+
17+
- name: Set cache hashes
18+
shell: bash
19+
run: |
20+
echo "DEPENDS_HASH=$(git ls-tree HEAD depends "$FILE_ENV" | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV
21+
echo "PREVIOUS_RELEASES_HASH=$(git ls-tree HEAD test/get_previous_releases.py | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV
22+
23+
- name: Get container name
24+
shell: bash
25+
run: |
26+
source $FILE_ENV
27+
echo "CONTAINER_NAME=$CONTAINER_NAME" >> "$GITHUB_ENV"
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: 'Restore Caches'
2+
description: 'Restore ccache, depends sources, and built depends caches'
3+
runs:
4+
using: 'composite'
5+
steps:
6+
- name: Restore Ccache cache
7+
id: ccache-cache
8+
uses: cirruslabs/cache/restore@v4
9+
with:
10+
path: ${{ env.CCACHE_DIR }}
11+
key: ccache-${{ env.CONTAINER_NAME }}-${{ github.run_id }}
12+
restore-keys: |
13+
ccache-${{ env.CONTAINER_NAME }}-
14+
15+
- name: Restore depends sources cache
16+
id: depends-sources
17+
uses: cirruslabs/cache/restore@v4
18+
with:
19+
path: ${{ env.SOURCES_PATH }}
20+
key: depends-sources-${{ env.CONTAINER_NAME }}-${{ env.DEPENDS_HASH }}
21+
restore-keys: |
22+
depends-sources-${{ env.CONTAINER_NAME }}-
23+
24+
- name: Restore built depends cache
25+
id: depends-built
26+
uses: cirruslabs/cache/restore@v4
27+
with:
28+
path: ${{ env.BASE_CACHE }}
29+
key: depends-built-${{ env.CONTAINER_NAME }}-${{ env.DEPENDS_HASH }}
30+
restore-keys: |
31+
depends-built-${{ env.CONTAINER_NAME }}-
32+
33+
- name: Restore previous releases cache
34+
id: previous-releases
35+
uses: cirruslabs/cache/restore@v4
36+
with:
37+
path: ${{ env.PREVIOUS_RELEASES_DIR }}
38+
key: previous-releases-${{ env.CONTAINER_NAME }}-${{ env.PREVIOUS_RELEASES_HASH }}
39+
restore-keys: |
40+
previous-releases-${{ env.CONTAINER_NAME }}-
41+
42+
- name: export cache hits
43+
shell: bash
44+
run: |
45+
echo "depends-sources-cache-hit=${{ steps.depends-sources.outputs.cache-hit }}" >> $GITHUB_ENV
46+
echo "depends-built-cache-hit=${{ steps.depends-built.outputs.cache-hit }}" >> $GITHUB_ENV
47+
echo "previous-releases-cache-hit=${{ steps.previous-releases.outputs.cache-hit }}" >> $GITHUB_ENV
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: 'Save Caches'
2+
description: 'Save ccache, depends sources, and built depends caches'
3+
runs:
4+
using: 'composite'
5+
steps:
6+
- name: debug cache hit inputs
7+
shell: bash
8+
run: |
9+
echo "depends sources direct cache hit to primary key: ${{ env.depends-sources-cache-hit }}"
10+
echo "depends built direct cache hit to primary key: ${{ env.depends-built-cache-hit }}"
11+
echo "previous releases direct cache hit to primary key: ${{ env.previous-releases-cache-hit }}"
12+
13+
- name: Save Ccache cache
14+
uses: cirruslabs/cache/save@v4
15+
if: ${{ (github.event_name == 'push') && (github.ref_name == github.event.repository.default_branch) }}
16+
with:
17+
path: ${{ env.CCACHE_DIR }}
18+
key: ccache-${{ env.CONTAINER_NAME }}-${{ github.run_id }}
19+
20+
- name: Save depends sources cache
21+
uses: cirruslabs/cache/save@v4
22+
if: ${{ (github.event_name == 'push') && (github.ref_name == github.event.repository.default_branch) && (env.depends-sources-cache-hit != 'true') }}
23+
with:
24+
path: ${{ env.SOURCES_PATH }}
25+
key: depends-sources-${{ env.CONTAINER_NAME }}-${{ env.DEPENDS_HASH }}
26+
27+
- name: Save built depends cache
28+
uses: cirruslabs/cache/save@v4
29+
if: ${{ (github.event_name == 'push') && (github.ref_name == github.event.repository.default_branch) && (env.depends-built-cache-hit != 'true' )}}
30+
with:
31+
path: ${{ env.BASE_CACHE }}
32+
key: depends-built-${{ env.CONTAINER_NAME }}-${{ env.DEPENDS_HASH }}
33+
34+
- name: Save previous releases cache
35+
uses: cirruslabs/cache/save@v4
36+
if: ${{ (github.event_name == 'push') && (github.ref_name == github.event.repository.default_branch) && (env.previous-releases-cache-hit != 'true' )}}
37+
with:
38+
path: ${{ env.PREVIOUS_RELEASES_DIR }}
39+
key: previous-releases-${{ env.CONTAINER_NAME }}-${{ env.PREVIOUS_RELEASES_HASH }}

0 commit comments

Comments
 (0)