Skip to content

Commit a9c46ce

Browse files
committed
Squashed 'libbitcoinkernel-sys/bitcoin/' changes from 29f05b91cf8..4a4eeb94339
4a4eeb94339 kernel: Fix bitcoin-chainstate for windows 9eb5d74b2d0 kernel: Add Purpose section to header documentation 7cf01306523 kernel: Add pure kernel bitcoin-chainstate 51aad49acdf kernel: Add functions to get the block hash from a block a6ed3dec4d1 kernel: Add block index utility functions to C header 7aaefbbb393 kernel: Add function to read block undo data from disk to C header 9535ffadba5 kernel: Add functions to read block from disk to C header 321ce88607f kernel: Add function for copying block data to C header a15d107250f kernel: Add functions for the block validation state to C header f9f9a86402b kernel: Add validation interface to C header bac152a4fbe kernel: Add interrupt function to C header e1f204cb0de kernel: Add import blocks function to C header 75f25fa1b0b kernel: Add chainstate load options for in-memory dbs in C header 68acd5e0e90 kernel: Add options for reindexing in C header 04be2348110 kernel: Add block validation to C header 3cdc538d77d kernel: Add chainstate loading when instantiating a ChainstateManager a5a47d95e59 kernel: Add chainstate manager option for setting worker threads 5052b9bd823 kernel: Add chainstate manager object to C header 82f4769656b kernel: Add notifications context option to C header 7e32f6a9e89 kernel: Add chain params context option to C header af442d0d6cb kernel: Add kernel library context object e1a6c1b5b92 kernel: Add logging to kernel library C header 3339e6ca6a5 kernel: Introduce initial kernel C header API e5a00b24972 Merge bitcoin/bitcoin#32309: bench: close wallets after migration 8406a9f4f13 Merge bitcoin/bitcoin#32325: ci: Add missing -Wno-error=array-bounds to valgrind fuzz fa653cb4169 ci: Add missing -Wno-error=array-bounds to valgrind fuzz 96a5cd8000d Merge bitcoin/bitcoin#32293: doc: Add deps install notes for multiprocess 2844adc8ba5 Merge bitcoin/bitcoin#32308: ci: Drop no longer necessary `-Wno-error=array-bounds` cad39f86fb5 bench: ensure wallet migration benchmark runs exactly once c1f458aaa06 ci: re-enable all benchmark runs 1da11dbc441 bench: clean up migrated descriptor wallets via loader teardown 06439a14c88 Merge bitcoin/bitcoin#31953: rpc: Allow fullrbf fee bump in (psbt)bumpfee 3e78ac6811d Merge bitcoin/bitcoin#31243: descriptor: Move filling of keys from `DescriptorImpl::MakeScripts` to `PubkeyProvider::GetPubKey` 728e86e3f3d Merge bitcoin/bitcoin#31640: tests: improves tapscript unit tests e3d7533ac95 test: improves tapscript unit tests d91a746815e Merge bitcoin/bitcoin#32306: ci: Temporarily disable `WalletMigration` benchmark ff136d046ab Merge bitcoin/bitcoin#32213: msvc: Update vcpkg manifest e34f12bdd41 ci: Drop no longer necessary `-Wno-error=array-bounds` 055254e212a Merge bitcoin/bitcoin#32300: feefrac: avoid integer overflow in temporary 33d40a6ad48 Merge bitcoin/bitcoin#32282: torcontrol: Fix addrOnion outdated comment 18a035145d6 ci: Temporarily disable `WalletMigration` benchmark c7b592fbd7e Merge bitcoin/bitcoin#31247: psbt: MuSig2 Fields e261eb8d50c tests: Add BIP 373 test vectors 26370c68d09 rpc: Include MuSig2 fields in decodepsbt ff3d4608984 psbt: Implement un/ser of musig2 fields 5cb1241814b feefrac: avoid integer overflow in temporary 7f5a35cf4b3 doc: Add deps install notes for multiprocess 247e9de6222 Merge bitcoin/bitcoin#32191: Make TxGraph fuzz tests more deterministic bfeacc18b36 Merge bitcoin/bitcoin#32154: fuzz: Avoid integer sanitizer warnings in policy_estimator target fa86190e6ed rpc: Allow fullrbf fee bump 06f9ead9f95 Merge bitcoin/bitcoin#32271: doc: Document WITH_EXTERNAL_LIBMULTIPROCESS build option better 4a964868f8e Merge bitcoin/bitcoin#32288: ci: drop -priority-level from bench in win cross CI cd01c9a173c Merge bitcoin/bitcoin#32250: ci: Slim down lint image 27f11217ca6 ci: drop -priority-level from bench in win cross CI 7a3afe6787b Merge bitcoin/bitcoin#32281: bench: Fix WalletMigration benchmark e66e30c9e53 Merge bitcoin/bitcoin#31862: doc: Fix and clarify description of ZMQ message format b6282dbd45d Merge bitcoin/bitcoin#32079: test: Add test coverage for rpcwhitelistdefault when unset eb6b1003c12 Merge bitcoin/bitcoin#32286: test: Handle empty string returned by CLI as None in RPC tests 33df4aebae2 Merge bitcoin/bitcoin#31551: [IBD] batch block reads/writes during `AutoFile` serialization 679bb2aac20 Merge bitcoin/bitcoin#31958: rpc: add cli examples, update docs dfa2813e31b Merge bitcoin/bitcoin#32248: Remove support for RNDR/RNDRRS for aarch64 7912cd41258 bench: Fix WalletMigration benchmark bcaa23a2b70 torcontrol: Fix addrOnion outdate comment a4041c77f0e test: Handle empty string returned by CLI as None in RPC tests cdc32994fea Merge bitcoin/bitcoin#32272: [doc] archive 29.0 release notes faeb1babe28 ci: refactor: Use version id over version codename consistently 12dc507c4a5 [doc] archive 29.0 release notes acee5c59e68 descriptors: Have GetPrivKey fill keys directly 4b0303197e4 descriptors: Move FlatSigningProvider pubkey filling to GetPubKey 25a3b9b0f52 descriptors: Have GetPubKey fill origins directly 6268bde0af0 descriptor: Remove unused parent_info from BIP32PUbKeyProvider::GetPubKey 0ff072caa14 wallet, rpc: Only allow keypool import from single key descriptors 99a4ddf5ab1 Merge bitcoin/bitcoin#31785: Have createNewBlock() wait for tip, make rpc handle shutdown during long poll and wait methods 22770ce8cb1 Merge bitcoin/bitcoin#31282: refactor: Make node_id a const& in RemoveBlockRequest 9ccee9cd022 doc: Document WITH_EXTERNAL_LIBMULTIPROCESS build option better 8d801e3efbf optimization: bulk serialization writes in `WriteBlockUndo` and `WriteBlock` 520965e2939 optimization: bulk serialization reads in `UndoRead`, `ReadBlock` 51166559808 Merge bitcoin/bitcoin#32255: miniscript: Correct off-by-one assert guards (#31727 follow-up) 056cb3c0d2e refactor: clear up blockstorage/streams in preparation for optimization 67fcc648023 log: unify error messages for (read/write)[undo]block a4de1604922 scripted-diff: shorten BLOCK_SERIALIZATION_HEADER_SIZE constant 6640dd52c9f Narrow scope of undofile write to avoid possible resource management issue 3197155f91a refactor: collect block read operations into try block 3693e4d6ee0 miniscript: Correct off-by-one assert guards 817edfb21e4 Merge bitcoin/bitcoin#32245: doc: Updates how to reproduce fuzz CI failure locally fae322a43a4 ci: Slim down lint image 3333273a8f7 ci: Bump lint imagefile FROM base 2835216ec09 txgraph: make GroupClusters use partition numbers directly (optimization) c72c8d5d45d txgraph: compare sequence numbers instead of Cluster* (bugfix) b2bb27f40c7 Merge bitcoin/bitcoin#31741: multiprocess: Add libmultiprocess git subtree 7749d929a0d Remove support for RNDR/RNDRRS for aarch64 on Linux a4fd565191e Merge bitcoin/bitcoin#31727: miniscript: convert non-critical asserts to CHECK_NONFATAL e364e6b5096 Merge bitcoin/bitcoin#32176: net: Prevent accidental circuit sharing when using Tor stream isolation 8fe001d5972 doc: Updates how to reproduce fuzz CI failure locally c58ae197a38 Merge bitcoin/bitcoin#32198: fuzz: Make p2p_headers_presync more deterministic e1dfa4faebf Merge bitcoin/bitcoin#32237: qt: Update SetHexDeprecated to FromHex b8cefeb2214 Merge bitcoin/bitcoin#32149: wallet, migration: Fix empty wallet crash 874da961d01 Merge bitcoin/bitcoin#32240: feefrac test: avoid integer overflow (bugfix) faa3ce31998 fuzz: Avoid influence on the global RNG from peerman m_rng faf4c1b6fc3 fuzz: Disable unused validation interface and scheduler in p2p_headers_presync fafaca6cbc2 fuzz: Avoid setting the mock-time twice fad22149f46 refactor: Use MockableSteadyClock in ReportHeadersPresync fa9c38794ef test: Introduce MockableSteadyClock::mock_time_point and ElapseSteady helper faf2d512c52 fuzz: Move global node id counter along with other global state fa98455e4b1 fuzz: Set ignore_incoming_txs in p2p_headers_presync faf2e238fbb fuzz: Shuffle files before testing them 868816d962a refactor: Remove SetHexDeprecated 6b63218ec2a qt: Update SetHexDeprecated to FromHex bb92bb36f21 Merge bitcoin/bitcoin#32206: doc: Add fuzz based coverage report generation 021b4f72db2 Merge bitcoin/bitcoin#32216: bench: Match ConnectBlock tx output counts ff5b7b0b0ac Merge bitcoin/bitcoin#32214: test: Remove fragile and ancient release 0.17 wallet test 873a45fba04 Merge bitcoin/bitcoin#32200: net: Add Tor extended SOCKS5 error codes 8d2ead2a86f Merge bitcoin/bitcoin#32185: coins: replace manual `CDBBatch` size estimation with LevelDB's native `ApproximateSize` ad0eee54921 Merge bitcoin/bitcoin#32139: test: remove strict restrictions on rpc_deprecated test a2bc330da86 feefrac test: avoid integer overflow (bugfix) 24d5033a62d Merge bitcoin/bitcoin#32114: test: Add encodable PUSHDATA1 examples to feature_taproot cfe025ff0e1 Merge bitcoin/bitcoin#30535: feefrac: add support for evaluating at given size 58914ab459c fuzz: assert min diff between FeeFrac and CFeeRate 0c6bcfd8f73 feefrac: support both rounding up and down for Evaluate ecf956ec9d3 feefrac: add support for evaluating at given size 7963aecead9 feefrac: add helper functions for 96-bit division 800c0dea9af feefrac: rework comments around Mul/MulFallback fcfe008db25 feefrac fuzz: use arith_uint256 instead of ad-hoc multiply 46ff4220bff arith_uint256: modernize comparison operators e419b0e17f8 refactor: Remove manual CDBBatch size estimation 8b5e19d8b5b refactor: Delegate to LevelDB for CDBBatch size estimation 751077c6e25 Coins: Add `kHeader` to `CDBBatch::size_estimate` 0dc74c92c06 Merge bitcoin/bitcoin#32212: test: Remove confusing and failing system time test 7677fde4c78 Add fuzz test coverage report generation c77e3107b81 refactor: rename leftover WriteBlockBench d42e82d6506 Merge bitcoin/bitcoin#32218: ci: Merge master in test-each-commit task (take 2) 0f602c5693e wallet, migration: Fix crash on empty wallet fa10a1ded5b ci: Use GITHUB_BASE_REF over hard-coded master fa0d0be05c0 ci: Merge master in test-each-commit task (take 2) 65dcbec7566 Merge bitcoin/bitcoin#32209: test: Preserve llvm profile path b34d49a27e4 Merge bitcoin/bitcoin#32203: ci: Merge master in test-each-commit task 924f25f6fc7 bench: Match ConnectBlock tx output counts c5a7ffd1e8c preserve llvm profile env fac978fb213 test: Remove fragile and ancient release 0.17 wallet test 42c13141b52 wallet, refactor: Decouple into HasLegacyRecords() c66f7dab33f Merge bitcoin/bitcoin#32211: doc: Amend Qt 6 dependency packages for Ubuntu ec81a72b369 net: Add randomized prefix to Tor stream isolation credentials d85895e5a77 build, msvc: Build only required `qtbase` features fe5a6dcc533 build, msvc: Update vcpkg manifest baseline fadf8f078e8 test: Remove confusing and failing system time test 2e751f559ac doc: Amend Qt 6 dependency packages for Ubuntu df82a245080 Merge bitcoin-core/gui#863: refactor: Post Qt 6 cleanup 77dff373a66 Merge bitcoin/bitcoin#32182: ci: Switch to dynamic library linkage in native Windows job 99b90228442 Merge bitcoin/bitcoin#32177: TxGraph: Increase fuzz coverage 3aa58bea8e7 qt, refactor: Inline `GUIUtil::SplitSkipEmptyParts` function d1ec6db2493 qt, refactor: Inline `GUIUtil::GetImage` function 4b36ab3a6a0 qt, refactor: Remove outdated Qt version-specific code faa807bdf8c ci: Merge master in test-each-commit task 7967fe5bfd3 ci: Switch to dynamic library linkage in native Windows job babb9f5db64 depends: remove non-native libmultiprocess build 639279e86a6 Merge bitcoin/bitcoin#30997: build: Switch to Qt 6 5d105fb8c3f depends: Switch libmultiprocess packages to use local git subtree 9b35518d2f3 depends, moveonly: split up int_get_build_id function 2d373e27071 lint: Add exclusions for libmultiprocess subtree e88ab394c16 doc: Update documentation to explain libmultiprocess subtree d4bc5639829 cmake: Fix clang-tidy "no input files" errors abdf3cb6456 cmake: Fix warnings from boost headers 8532fcb1c30 cmake: Fix ctest mptest "Unable to find executable" errors d597ab1dee6 cmake: Support building with libmultiprocess subtree 69f0d4adb72 scripted-diff: s/WITH_MULTIPROCESS/ENABLE_IPC/ in cmake 3f6fb40114e Merge commit 'a2f28e4be96e92079a219567cf20214996aefc53' as 'src/ipc/libmultiprocess' d6244f85c50 depends: Update libmultiprocess library to simplify cmake subtree build a2f28e4be96 Squashed 'src/ipc/libmultiprocess/' content from commit 35944ffd23fa b639417b39c net: Add Tor extended SOCKS5 error codes f00345727b8 doc: Update `dependencies.md` for Qt 6 80b917991ed build, msvc: Update `vcpkg.json` for Qt 6 30dd1f1644e ci: Update for Qt 6 629d292f4d8 test: Update sanitizer suppressions for Qt 6 551e13abf82 guix: Adjust for Qt 6 c3e9bd086c4 qt: Fix compiling for Windows ab399c4db2e depends: Add `native_qt` package 248613eb3ee depends: Factor out Qt modules' details 0268f52a4cd depends: Introduce customizable `$(package)_patches_path` variables 5e794e62024 depends: Bump `qt` package up to 6.7.3 6d4214925fa cmake: Require Qt 6 to build GUI cfa7f70f6c9 Merge bitcoin/bitcoin#31933: doc: Add Clang/LLVM based coverage report generation 772996ac8be Merge bitcoin/bitcoin#32158: fuzz: Make partially_downloaded_block more deterministic 40de19164c4 Merge bitcoin/bitcoin#32118: fuzz: wallet: fix crypter target 5541f7ced77 Merge bitcoin/bitcoin#32187: refactor: Remove spurious virtual from final ~CZMQNotificationInterface 6f6f83a8ca2 Merge bitcoin/bitcoin#32193: test: fix spelling in Python code comment 16b084f88d8 Merge bitcoin/bitcoin#32194: ci, windows: Do not exclude `wallet_migration.py` in command line 4a679936bbb ci, windows: Do not exclude `wallet_migration.py` in command line 449e2eb7e40 Merge bitcoin/bitcoin#32184: ci: Add workaround for vcpkg's `libevent` package 4774a0c9230 test: fix spelling in Python code comment 459807d566c test: remove strict restrictions on rpc_deprecated c47f81e8ac1 net: Rename `_randomize_credentials` Proxy parameter to `tor_stream_isolation` 1a6fc04d815 Merge bitcoin/bitcoin#29500: test: create assert_not_equal util 6af68bb84bf Merge bitcoin/bitcoin#32166: torcontrol: Define tor reply code as const to improve our maintainability 6593293e47d Merge bitcoin/bitcoin#32110: contrib: document asmap-tool commands more thoroughly c8ade107c84 Merge bitcoin/bitcoin#31806: fuzz: coinselection: cover `SetBumpFeeDiscount` fa69c42fdf0 refactor: Remove spurious virtual from final ~CZMQNotificationInterface ea36d2720a7 Merge bitcoin/bitcoin#31340: test: add missing segwitv1 test cases to `script_standard_tests` 80e47b19207 Merge bitcoin/bitcoin#32096: Move some tests and documentation from testnet3 to testnet4 30c59adda44 ci: Drop confusing comment ef00a28414d ci: Add workaround for vcpkg's libevent package 7bb83f67181 test: create assert_not_equal util and add to where imports are needed 2929da1dd59 test: Add coverage for rpcwhitelistdefault when unset fa513101212 contrib: Warn about using libFuzzer for coverage check fa17cdb191d test: Avoid script check worker threads while fuzzing fa900bb2dce contrib: Only print fuzz output on failure 74d9598bfbc Merge bitcoin/bitcoin#32134: descriptors: Multipath/PR 22838 follow-ups a40bd374aaf Get*Union: disallow nulltpr Refs 57433502e67 CountDistinctClusters: nullptrs disallowed 8bca0d325a4 TxGraphImpl::Compact: m_main_clusterset.m_removed is always empty 2c5cf987e96 TxGraphImpl::PullIn: only allowed when staging exists fa82fe2c736 contrib: Use -Xdemangler=llvm-cxxfilt in deterministic-*-coverage fa7e9311305 contrib: Add optional parallelism to deterministic-fuzz-coverage 3358b1d1051 Merge bitcoin/bitcoin#31176: ci: Test cross-built Windows executables on Windows natively 8e4a0ddd508 torcontrol: Add comment explaining Proxy credential randomization for Tor privacy f974359e218 test: Add encodable PUSHDATA1 examples to feature_taproot ec5c0b26cef torcontrol: Define tor reply code as const to improve maintainability 7a93544cdcc doc: Fix and clarify description of ZMQ message format 56f271e9b9c descriptors refactor: Clarify multipath data relationships through local struct 7e974f474e2 descriptors refactor: Use range-for and limit scope of seen_multipath 3e167085bad test: Ensures test fails if witness is not hex 4c1906a500c Merge bitcoin/bitcoin#31992: cmake: Avoid fuzzer "multiple definition of `main'" errors 9acc25bcb67 Merge bitcoin/bitcoin#32153: wallet: remove redundant `Assert` call when block is disconnected 0a1e36effaa Merge bitcoin/bitcoin#32151: Follow-ups for txgraph #31363 e3c4bb12bab Merge bitcoin/bitcoin#32058: test: get rid of redundant TODO tag 930b237f163 Merge bitcoin/bitcoin#31874: qa wallet: Activate dormant checks in wallet_multisig_descriptor_psbt.py a52b53926b5 clusterlin: add GetConnectedComponent 6afffba34e0 contrib: (asmap) add docs about encode and decode commands 67d5cc2a06e contrib: (asmap) add documentation on diff and diff-addrs commands e047b1deca0 contrib: (asmap) add diff-addrs example to README c7d5dcaa614 clusterlin: fix typos 777179bc27b txgraph: rename group_data in ApplyDependencies 74c23f80abb Merge bitcoin/bitcoin#32145: test: Add functional test for bitcoin-chainstate bcb316bd888 Merge bitcoin/bitcoin#32050: test: avoid treating hash results as integers fa6a007b8e7 fuzz: Avoid integer sanitizer warnings in policy_estimator target ae6b6ea296a wallet: remove redundant `Assert` call when block is disconnected a54baa86981 Merge bitcoin/bitcoin#32100: doc: clarify the documentation of `Assume` assertion b131e1bfc07 Merge bitcoin/bitcoin#32101: Accept unordered tracepoints in interface_usdt_utxocache.py 8cc601196b9 Merge bitcoin/bitcoin#32129: doc: Update comments for AreInputsStandard to match code 140f0d89bf6 Merge bitcoin/bitcoin#32027: cmake: Add `NO_CACHE_IF_FAILED` option for checking linker flags 5dd6ebc7e13 Merge bitcoin/bitcoin#32148: test: fix intermittent timeout in p2p_ibd_stalling.py b413b088ae8 Merge bitcoin/bitcoin#32141: fuzz: extract unsequenced operations with side-effects e563cb5c606 Merge bitcoin/bitcoin#31849: depends: set `CMAKE_*_COMPILER_TARGET` in toolchain 603fcc07d59 Merge bitcoin/bitcoin#31896: refactor: Remove redundant and confusing calls to IsArgSet 84bbb40558f Merge bitcoin/bitcoin#32132: build: Remove bitness suffix from Windows installer 6971d3a0f52 Merge bitcoin/bitcoin#32144: lint: Remove needless borrow to fix Clippy warning f1d129d9634 Merge bitcoin/bitcoin#31363: cluster mempool: introduce TxGraph 9f35d4d070b test: fix intermittent timeout in p2p_ibd_stalling.py d065208f0f0 test: get rid of redundant TODO tag 248fdd88dcf test: accept unordered tracepoints in... ca55613fd15 test: Add functional test for bitcoin-chainstate 32dcec269bf rpc: update RPC help of `createpsbt` 931117a46f5 rpc: update the doc for `data` field in `outputs` argument aa7a898c236 doc: use testnet4 in developer docs 6c217d22fdc test: use testnet4 in argsman test 7c200ece805 test: use testnet4 in key_io_valid.json d424bd59413 test: drop unused testnet3 magic bytes 8cfc09fafe5 test: cover testnet4 magic in assumeutxo.py 4281e3603a2 zmq: use testnet4 in zmq_sub.py example 3f9c716e7fc test: Fix docstring for cmake migration 52ede28a8ad doc: Update comments for AreInputsStandard to match code 35d17cd5eec qa wallet: Actually make use of expressions b96f1a696aa add clang/llvm based coverage report generation e3ce2bd9829 Remove needless borrow to fix Clippy warning c0b7159de47 Merge bitcoin/bitcoin#32122: fuzz: Fix off-by-one in package_rbf target b1de59e8965 fuzz: extract unsequenced operations with side-effects 99a92efdd9d descriptors doc: Correct Markdown format + wording dfb7d58108d Merge bitcoin/bitcoin#31897: mining: drop unused -nFees and sigops from CBlockTemplate 535b8747074 test: Combine rpcwhitelistdefault functions 0000fb3fd9f doc: Remove outdated and stale todo comment fa2b529f926 refactor: Remove redundant call to IsArgSet fa29842c1fe refactor: Remove IsArgSet guard when fallback value is provided 2b6ce9254da test: Update permissions and string formatting fa5674c264d fuzz: Fix off-by-one in package_rbf target 1d281daf861 Merge bitcoin/bitcoin#32095: doc: clarify that testnet min-difficulty is not optional a0d737cd7a7 Merge bitcoin/bitcoin#32073: net: Block v2->v1 transport downgrade if !fNetworkActive b3162d10ea9 Merge bitcoin/bitcoin#31656: test: Add expected result assertions 5f3848c63b2 Merge bitcoin/bitcoin#31278: wallet, rpc: deprecate settxfee and paytxfee 329a0dcdafe doc: clarify the documentation of `Assume` fb2b05b1259 build: Remove bitness suffix from Windows installer b2ea3656481 txgraph: Add Get{Ancestors,Descendants}Union functions (feature) 54bceddd3ab txgraph: Multiple inputs to Get{Ancestors,Descendant}Refs (preparation) aded0470192 txgraph: Add CountDistinctClusters function (feature) b685d322c97 txgraph: Add DoWork function (feature) 295a1ca8bbb txgraph: Expose ability to compare transactions (feature) 22c68cd153b txgraph: Allow Refs to outlive the TxGraph (feature) 82fa3573e19 txgraph: Destroying Ref means removing transaction (feature) 6b037ceddfd txgraph: Cache oversizedness of graphs (optimization) 8c70688965b txgraph: Add staging support (feature) c99c7300b44 txgraph: Abstract out ClearLocator (refactor) 34aa3da5ade txgraph: Group per-graph data in ClusterSet (refactor) 36dd5edca5b txgraph: Special-case removal of tail of cluster (Optimization) 5801e0fb2b9 txgraph: Delay chunking while sub-acceptable (optimization) 57f5499882a txgraph: Avoid looking up the same child cluster repeatedly (optimization) 1171953ac60 txgraph: Avoid representative lookup for each dependency (optimization) 64f69ec8c38 txgraph: Make max cluster count configurable and "oversize" state (feature) 1d27b74c8e3 txgraph: Add GetChunkFeerate function (feature) c80aecc24dd txgraph: Avoid per-group vectors for clusters & dependencies (optimization) ee57e93099f txgraph: Add internal sanity check function (tests) 05abf336f99 txgraph: Add simulation fuzz test (tests) 8ad3ed26818 txgraph: Add initial version (feature) 6eab3b2d738 feefrac: Introduce tagged wrappers to distinguish vsize/WU rates d4497738999 scripted-diff: (refactor) ClusterIndex -> DepGraphIndex bfeb69f6e00 clusterlin: Make IsAcyclic() a DepGraph member function 0aa874a3578 clusterlin: Add FixLinearization function + fuzz test 05117e6e17f rpc: clarify longpoll behavior 5315278e7c7 Have createNewBlock() wait for a tip 8284229a28c refactor: deduplicate anchor witness program bytes (`0x4e,0x73`) 41f2f058d0b test: add missing segwitv1 test cases to `script_standard_tests` 770d39a3765 Merge bitcoin/bitcoin#31887: CLI cleanups a203928693c Merge bitcoin/bitcoin#30538: Doc: add a comment referencing past vulnerability next to where it was fixed b9c281011b7 Merge bitcoin/bitcoin#31689: Benchmark Chainstate::ConnectBlock duration 963355037fe depends: set CMAKE_*_COMPILER_TARGET in toolchain af3dee0b8d4 Merge bitcoin/bitcoin#32074: contrib: Make deterministic-coverage error messages more readable 0ff66b1c4ab fuzz: coinselection: cover `SetBumpFeeDiscount` 28dc118001b fuzz: wallet: fix crypter target 80467593059 Merge bitcoin/bitcoin#31870: fuzz: split `coinselection` harness 2db00278ea5 Merge bitcoin/bitcoin#31910: qa: fix an off-by-one in utxo snapshot fuzz target and sanity check its snapshot data c9a61509ba3 Merge bitcoin/bitcoin#31979: torcontrol: Limit reconnect timeout to max seconds and log delay in whole seconds b43cfa20fdd Merge bitcoin/bitcoin#30142: doc: add guidance for RPC to developer notes 85feb094d4a Merge bitcoin/bitcoin#32092: test: Fix intermittent issue in p2p_orphan_handling.py b858b729034 Merge bitcoin/bitcoin#31841: fuzz: Use immediate task runner to increase fuzz stability fa7a40d952a contrib: Print deterministic-coverage runs fa751639fb6 contrib: Make deterministic-coverage error messages more readable c6eca6f3961 doc: add guidance for RPC to developer notes fa310cc6f49 test: Fix intermittent issue in p2p_orphan_handling.py 25b56fd9b46 ci: Test cross-built Windows executables on Windows natively 288481aabd7 doc: clarify that testnet min-difficulty is not optional 3501bca8c7e ci: Move "Windows cross" job from Cirrus CI to GHA CI f8619196ceb ci: Use `bash` by default for all platforms 6869fb41709 net: Block v2->v1 transport downgrade if !CConnman::fNetworkActive 2f2ab47bf74 Release notes bf194c920cf wallet, rpc: deprecate settxfee and paytxfee fa4fb6a8f15 fuzz: Use serial task runner to increase fuzz stability 64a2795fd4f rpc: handle shutdown during long poll and wait methods a3bf43343f0 rpc: drop unneeded IsRPCRunning() guards f9cf8bd0ab7 Handle negative timeout for waitTipChanged() 226d81f8b70 mining: drop unused -nFees and sigops from CBlockTemplate 53ad845fb9e test: check fees and sigops in getblocktemplate a82829f37e1 test: simplify (w)txid checks by avoiding .calc_sha256 calls 346a099fc1e test: avoid unneeded hash -> uint256 -> hash roundtrips d423fd9ec83 cli, bugfix: for -getinfo, replace IsArgSet() with GetBoolArg() e99e41b3070 cli, refactor: simplify public-only classes with structs fdbfd250fbf cli, refactor: deduplicate NetworkStringToId() be82139b2a1 cli, refactor: simplify DetailsRequested() 52ac17757ee cmake: Add `NO_CACHE_IF_FAILED` option for checking linker flags f708498293c torcontrol: Limit reconnect timeout to max seconds and log delay in whole seconds 57d8b1f1b33 cmake: Avoid fuzzer "multiple definition of `main'" errors 8134a6b5d40 rpc: add cli example for `walletcreatefundedpsbt` RPC a015b7e13da test: Add expected result assertions 63b534f97e5 fuzz: sanity check hardcoded snapshot in utxo_snapshot target 3b85eba83ab test util: split up ConnectBlock from MineBlock ba82240553d fuzz: split `coinselection` harness d1527f6b886 qa: correct off-by-one in utxo snapshot fuzz target 7edaf8b64cb Benchmark Chainstate::ConnectBlock duration eb0724f0dee doc: banman: reference past vuln due to unbounded banlist ad616b6c013 doc: net: mention past vulnerability as rationale to limit incoming message size 4489117c3f6 doc: txrequest: point to past censorship vulnerability in tx re-request handling 68ac9542c45 doc: net_proc: reference past DoS vulnerability in orphan processing c02d9f6dd53 doc: net_proc: reference past defect regarding invalid GETDATA types 5e3d9f21df2 doc: validation: add a reference to historical header spam vulnerability ff0194a7ce9 miniscript: convert non-critical asserts to CHECK_NONFATAL fa21f83d298 ci: Use G++ in valgrind tasks fabd05bf651 refactor: Fix net_processing iwyu includes fa1622db208 refactor: Make node_id a const& in RemoveBlockRequest REVERT: 29f05b91cf8 kernel: Add pure kernel bitcoin-chainstate REVERT: b7733085a90 kernel: Add functions to get the block hash from a block REVERT: a4f79616064 kernel: Add block index utility functions to C header REVERT: 0a0062b85a7 kernel: Add function to read block undo data from disk to C header REVERT: e49808a42d3 kernel: Add functions to read block from disk to C header REVERT: 2f54bd53745 kernel: Add function for copying block data to C header REVERT: c34ecbefbd8 kernel: Add functions for the block validation state to C header REVERT: 0b46337ebe3 kernel: Add validation interface to C header REVERT: 4c7a81a030e kernel: Add interrupt function to C header REVERT: edf1d56fc05 kernel: Add import blocks function to C header REVERT: 894b9c20447 kernel: Add chainstate load options for in-memory dbs in C header REVERT: 157de0eccd3 kernel: Add options for reindexing in C header REVERT: bdff17958b1 kernel: Add block validation to C header REVERT: c52ca9447fc kernel: Add chainstate loading when instantiating a ChainstateManager REVERT: 031a96dc6b7 kernel: Add chainstate manager option for setting worker threads REVERT: c2f03a11251 kernel: Add chainstate manager object to C header REVERT: 18ec1cc195b kernel: Add notifications context option to C header REVERT: e3b03745f93 kernel: Add chain params context option to C header REVERT: ef426234c07 kernel: Add kernel library context object REVERT: 2c5e6b55922 kernel: Add logging to kernel library C header REVERT: 20f1f67de07 kernel: Introduce initial kernel C header API git-subtree-dir: libbitcoinkernel-sys/bitcoin git-subtree-split: 4a4eeb94339bb9200012df6a57769dc28e35f553
1 parent 50d4368 commit a9c46ce

File tree

334 files changed

+13915
-2355
lines changed

Some content is hidden

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

334 files changed

+13915
-2355
lines changed

.cirrus.yml

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -124,15 +124,6 @@ task:
124124
env:
125125
FILE_ENV: "./ci/test/00_setup_env_arm.sh"
126126

127-
task:
128-
name: 'Win64-cross'
129-
<< : *GLOBAL_TASK_TEMPLATE
130-
persistent_worker:
131-
labels:
132-
type: small
133-
env:
134-
FILE_ENV: "./ci/test/00_setup_env_win64.sh"
135-
136127
task:
137128
name: 'CentOS, depends, gui'
138129
<< : *GLOBAL_TASK_TEMPLATE

.github/ISSUE_TEMPLATE/good_first_issue.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ body:
2828
id: useful-skills
2929
attributes:
3030
label: Useful Skills
31-
description: For example, “`std::thread`”, “Qt5 GUI and async GUI design” or “basic understanding of Bitcoin mining and the Bitcoin Core RPC interface”.
31+
description: For example, “`std::thread`”, “Qt6 GUI and async GUI design” or “basic understanding of Bitcoin mining and the Bitcoin Core RPC interface”.
3232
value: |
3333
* Compiling Bitcoin Core from source
3434
* Running the C++ unit tests and the Python functional tests

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

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/usr/bin/env bash
2+
#
3+
# Copyright (c) The Bitcoin Core developers
4+
# Distributed under the MIT software license, see the accompanying
5+
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
6+
7+
export LC_ALL=C.UTF-8
8+
9+
set -o errexit -o pipefail -o xtrace
10+
11+
12+
echo "Running test-one-commit on $( git log -1 )"
13+
14+
# Use clang++, because it is a bit faster and uses less memory than g++
15+
CC=clang CXX=clang++ cmake -B build -DWERROR=ON -DWITH_ZMQ=ON -DBUILD_GUI=ON -DBUILD_BENCH=ON -DBUILD_FUZZ_BINARY=ON -DWITH_BDB=ON -DWITH_USDT=ON -DBUILD_KERNEL_LIB=ON -DBUILD_KERNEL_TEST=ON -DCMAKE_CXX_FLAGS='-Wno-error=unused-member-function'
16+
17+
cmake --build build -j "$( nproc )" && ctest --output-on-failure --stop-on-failure --test-dir build -j "$( nproc )"
18+
19+
./build/test/functional/test_runner.py -j $(( $(nproc) * 2 )) --combinedlogslen=99999999

.github/workflows/ci.yml

Lines changed: 139 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@ env:
2121
CI_FAILFAST_TEST_LEAVE_DANGLING: 1 # GHA does not care about dangling processes and setting this variable avoids killing the CI script itself on error
2222
MAKEJOBS: '-j10'
2323

24+
defaults:
25+
run:
26+
# Enforce fail-fast behavior for all platforms.
27+
# See: https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#exit-codes-and-error-action-preference
28+
shell: bash
29+
2430
jobs:
2531
test-each-commit:
2632
name: 'test each commit'
@@ -65,14 +71,17 @@ jobs:
6571
EXCLUDE_MERGE_BASE_ANCESTORS=^${MERGE_BASE}^@
6672
fi
6773
echo "TEST_BASE=$(git rev-list -n$((${{ env.MAX_COUNT }} + 1)) --reverse HEAD $EXCLUDE_MERGE_BASE_ANCESTORS | head -1)" >> "$GITHUB_ENV"
74+
- run: |
75+
git fetch origin "${GITHUB_BASE_REF}"
76+
git config user.email "[email protected]"
77+
git config user.name "CI"
6878
- run: |
6979
sudo apt-get update
70-
sudo apt-get install clang ccache build-essential cmake pkgconf python3-zmq libevent-dev libboost-dev libsqlite3-dev libdb++-dev systemtap-sdt-dev libzmq3-dev qtbase5-dev qttools5-dev qttools5-dev-tools qtwayland5 libqrencode-dev -y
80+
sudo apt-get install clang ccache build-essential cmake ninja-build pkgconf python3-zmq libevent-dev libboost-dev libsqlite3-dev libdb++-dev systemtap-sdt-dev libzmq3-dev qt6-base-dev qt6-tools-dev qt6-l10n-tools libqrencode-dev -y
7181
- name: Compile and run tests
7282
run: |
7383
# Run tests on commits after the last merge commit and before the PR head commit
74-
# Use clang++, because it is a bit faster and uses less memory than g++
75-
git rebase --exec "echo Running test-one-commit on \$( git log -1 ) && CC=clang CXX=clang++ cmake -B build -DWERROR=ON -DWITH_ZMQ=ON -DBUILD_GUI=ON -DBUILD_BENCH=ON -DBUILD_FUZZ_BINARY=ON -DWITH_BDB=ON -DWITH_USDT=ON -DBUILD_KERNEL_LIB=ON -DBUILD_KERNEL_TEST=ON -DCMAKE_CXX_FLAGS='-Wno-error=unused-member-function' && cmake --build build -j $(nproc) && ctest --output-on-failure --stop-on-failure --test-dir build -j $(nproc) && ./build/test/functional/test_runner.py -j $(( $(nproc) * 2 )) --combinedlogslen=99999999" ${{ env.TEST_BASE }}
84+
git rebase --exec "git merge --no-commit origin/${GITHUB_BASE_REF} && ./.github/ci-test-each-commit-exec.sh && git reset --hard" ${{ env.TEST_BASE }}
7685
7786
macos-native-arm64:
7887
name: ${{ matrix.job-name }}
@@ -124,7 +133,7 @@ jobs:
124133
run: |
125134
# A workaround for "The `brew link` step did not complete successfully" error.
126135
brew install --quiet python@3 || brew link --overwrite python@3
127-
brew install --quiet coreutils ninja pkgconf gnu-getopt ccache boost libevent zeromq qt@5 qrencode
136+
brew install --quiet coreutils ninja pkgconf gnu-getopt ccache boost libevent zeromq qt@6 qrencode
128137
129138
- name: Set Ccache directory
130139
run: echo "CCACHE_DIR=${RUNNER_TEMP}/ccache_dir" >> "$GITHUB_ENV"
@@ -150,10 +159,8 @@ jobs:
150159
# https://github.com/actions/cache/blob/main/tips-and-workarounds.md#update-a-cache
151160
key: ${{ github.job }}-${{ matrix.job-type }}-ccache-${{ github.run_id }}
152161

153-
win64-native:
162+
windows-native-dll:
154163
name: ${{ matrix.job-name }}
155-
# Use latest image, but hardcode version to avoid silent upgrades (and breaks).
156-
# See: https://github.com/actions/runner-images#available-images.
157164
runs-on: windows-2022
158165

159166
if: ${{ vars.SKIP_BRANCH_PUSH != 'true' || github.event_name == 'pull_request' }}
@@ -169,10 +176,10 @@ jobs:
169176
include:
170177
- job-type: standard
171178
generate-options: '-DBUILD_GUI=ON -DWITH_BDB=ON -DWITH_ZMQ=ON -DBUILD_BENCH=ON -DWERROR=ON -DBUILD_KERNEL_LIB=ON -DBUILD_UTIL_CHAINSTATE=ON -DBUILD_KERNEL_TEST=OFF'
172-
job-name: 'Win64 native, VS 2022'
179+
job-name: 'Windows native, VS 2022'
173180
- job-type: fuzz
174181
generate-options: '-DVCPKG_MANIFEST_NO_DEFAULT_FEATURES=ON -DVCPKG_MANIFEST_FEATURES="wallet" -DBUILD_GUI=OFF -DBUILD_FOR_FUZZING=ON -DWERROR=ON'
175-
job-name: 'Win64 native fuzz, VS 2022'
182+
job-name: 'Windows native, fuzz, VS 2022'
176183

177184
steps:
178185
- name: Checkout
@@ -185,19 +192,21 @@ jobs:
185192
arch: x64
186193

187194
- name: Get tool information
195+
shell: pwsh
188196
run: |
189197
cmake -version | Tee-Object -FilePath "cmake_version"
190198
Write-Output "---"
191199
msbuild -version | Tee-Object -FilePath "msbuild_version"
192200
$env:VCToolsVersion | Tee-Object -FilePath "toolset_version"
193201
py -3 --version
194202
Write-Host "PowerShell version $($PSVersionTable.PSVersion.ToString())"
203+
bash --version
195204
196205
- name: Using vcpkg with MSBuild
197206
run: |
198-
Set-Location "$env:VCPKG_INSTALLATION_ROOT"
199-
Add-Content -Path "triplets\x64-windows.cmake" -Value "set(VCPKG_BUILD_TYPE release)"
200-
Add-Content -Path "triplets\x64-windows-static.cmake" -Value "set(VCPKG_BUILD_TYPE release)"
207+
echo "set(VCPKG_BUILD_TYPE release)" >> "${VCPKG_INSTALLATION_ROOT}/triplets/x64-windows.cmake"
208+
# Workaround for libevent, which requires CMake 3.1 but is incompatible with CMake >= 4.0.
209+
sed -i '1s/^/set(ENV{CMAKE_POLICY_VERSION_MINIMUM} 3.5)\n/' "${VCPKG_INSTALLATION_ROOT}/scripts/ports.cmake"
201210
202211
- name: vcpkg tools cache
203212
uses: actions/cache@v4
@@ -214,7 +223,7 @@ jobs:
214223

215224
- name: Generate build system
216225
run: |
217-
cmake -B build --preset vs2022-static -DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_INSTALLATION_ROOT\scripts\buildsystems\vcpkg.cmake" ${{ matrix.generate-options }}
226+
cmake -B build --preset vs2022 -DCMAKE_TOOLCHAIN_FILE="${VCPKG_INSTALLATION_ROOT}/scripts/buildsystems/vcpkg.cmake" ${{ matrix.generate-options }}
218227
219228
- name: Save vcpkg binary cache
220229
uses: actions/cache/save@v4
@@ -226,13 +235,15 @@ jobs:
226235
- name: Build
227236
working-directory: build
228237
run: |
229-
cmake --build . -j $env:NUMBER_OF_PROCESSORS --config Release
238+
cmake --build . -j $NUMBER_OF_PROCESSORS --config Release
230239
231240
- name: Run test suite
232241
if: matrix.job-type == 'standard'
233242
working-directory: build
243+
env:
244+
QT_PLUGIN_PATH: '${{ github.workspace }}\build\vcpkg_installed\x64-windows\Qt6\plugins'
234245
run: |
235-
ctest --output-on-failure --stop-on-failure -j $env:NUMBER_OF_PROCESSORS -C Release
246+
ctest --output-on-failure --stop-on-failure -j $NUMBER_OF_PROCESSORS -C Release
236247
237248
- name: Run functional tests
238249
if: matrix.job-type == 'standard'
@@ -242,26 +253,132 @@ jobs:
242253
BITCOINCLI: '${{ github.workspace }}\build\bin\Release\bitcoin-cli.exe'
243254
BITCOINUTIL: '${{ github.workspace }}\build\bin\Release\bitcoin-util.exe'
244255
BITCOINWALLET: '${{ github.workspace }}\build\bin\Release\bitcoin-wallet.exe'
256+
BITCOINCHAINSTATE: '${{ github.workspace }}\build\bin\Release\bitcoin-chainstate.exe'
245257
TEST_RUNNER_EXTRA: ${{ github.event_name != 'pull_request' && '--extended' || '' }}
246-
shell: cmd
247-
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% %TEST_RUNNER_EXTRA%
258+
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} ${TEST_RUNNER_EXTRA}
248259

249260
- name: Clone corpora
250261
if: matrix.job-type == 'fuzz'
251262
run: |
252-
git clone --depth=1 https://github.com/bitcoin-core/qa-assets "$env:RUNNER_TEMP\qa-assets"
253-
Set-Location "$env:RUNNER_TEMP\qa-assets"
254-
Write-Host "Using qa-assets repo from commit ..."
263+
git clone --depth=1 https://github.com/bitcoin-core/qa-assets "${RUNNER_TEMP}/qa-assets"
264+
cd "${RUNNER_TEMP}/qa-assets"
265+
echo "Using qa-assets repo from commit ..."
255266
git log -1
256267
257268
- name: Run fuzz tests
258269
if: matrix.job-type == 'fuzz'
259270
working-directory: build
260271
env:
261272
BITCOINFUZZ: '${{ github.workspace }}\build\bin\Release\fuzz.exe'
262-
shell: cmd
263273
run: |
264-
py -3 test\fuzz\test_runner.py --par %NUMBER_OF_PROCESSORS% --loglevel DEBUG %RUNNER_TEMP%\qa-assets\fuzz_corpora
274+
py -3 test/fuzz/test_runner.py --par $NUMBER_OF_PROCESSORS --loglevel DEBUG "${RUNNER_TEMP}/qa-assets/fuzz_corpora"
275+
276+
windows-cross:
277+
name: 'Linux->Windows cross, no tests'
278+
runs-on: ubuntu-latest
279+
if: ${{ vars.SKIP_BRANCH_PUSH != 'true' || github.event_name == 'pull_request' }}
280+
281+
env:
282+
FILE_ENV: './ci/test/00_setup_env_win64.sh'
283+
DANGER_CI_ON_HOST_FOLDERS: 1
284+
285+
steps:
286+
- name: Checkout
287+
uses: actions/checkout@v4
288+
289+
- name: Set CI directories
290+
run: |
291+
echo "CCACHE_DIR=${{ runner.temp }}/ccache_dir" >> "$GITHUB_ENV"
292+
echo "BASE_ROOT_DIR=${{ runner.temp }}" >> "$GITHUB_ENV"
293+
echo "DEPENDS_DIR=${{ runner.temp }}/depends" >> "$GITHUB_ENV"
294+
echo "BASE_BUILD_DIR=${{ runner.temp }}/build" >> "$GITHUB_ENV"
295+
296+
- name: Depends cache
297+
uses: actions/cache@v4
298+
with:
299+
path: ${{ env.DEPENDS_DIR }}/built
300+
key: ${{ github.job }}-depends-${{ hashFiles('depends/**', 'ci/test/00_setup_env_win64.sh') }}
301+
302+
- name: Restore Ccache cache
303+
id: ccache-cache
304+
uses: actions/cache/restore@v4
305+
with:
306+
path: ${{ env.CCACHE_DIR }}
307+
key: ${{ github.job }}-ccache-${{ github.run_id }}
308+
restore-keys: ${{ github.job }}-ccache-
309+
310+
- name: CI script
311+
run: ./ci/test_run_all.sh
312+
313+
- name: Save Ccache cache
314+
uses: actions/cache/save@v4
315+
if: github.event_name != 'pull_request' && steps.ccache-cache.outputs.cache-hit != 'true'
316+
with:
317+
path: ${{ env.CCACHE_DIR }}
318+
key: ${{ github.job }}-ccache-${{ github.run_id }}
319+
320+
- name: Upload built executables
321+
uses: actions/upload-artifact@v4
322+
with:
323+
name: x86_64-w64-mingw32-executables-${{ github.run_id }}
324+
path: |
325+
${{ env.BASE_BUILD_DIR }}/bin/*.exe
326+
${{ env.BASE_BUILD_DIR }}/src/secp256k1/bin/*.exe
327+
${{ env.BASE_BUILD_DIR }}/src/univalue/*.exe
328+
${{ env.BASE_BUILD_DIR }}/test/config.ini
329+
330+
windows-native-test:
331+
name: 'Windows, test cross-built'
332+
runs-on: windows-2022
333+
needs: windows-cross
334+
335+
env:
336+
PYTHONUTF8: 1
337+
TEST_RUNNER_TIMEOUT_FACTOR: 40
338+
339+
steps:
340+
- name: Checkout
341+
uses: actions/checkout@v4
342+
343+
- name: Download built executables
344+
uses: actions/download-artifact@v4
345+
with:
346+
name: x86_64-w64-mingw32-executables-${{ github.run_id }}
347+
348+
- name: Run bitcoind.exe
349+
run: ./bin/bitcoind.exe -version
350+
351+
- name: Run unit tests
352+
# Can't use ctest here like other jobs as we don't have a CMake build tree.
353+
run: |
354+
./bin/test_bitcoin.exe -l test_suite
355+
./src/secp256k1/bin/exhaustive_tests.exe
356+
./src/secp256k1/bin/noverify_tests.exe
357+
./src/secp256k1/bin/tests.exe
358+
./src/univalue/object.exe
359+
./src/univalue/unitester.exe
360+
361+
- name: Run benchmarks
362+
run: ./bin/bench_bitcoin.exe -sanity-check
363+
364+
- name: Adjust paths in test/config.ini
365+
shell: pwsh
366+
run: |
367+
(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"
368+
Get-Content "test/config.ini"
369+
370+
- name: Run util tests
371+
run: py -3 test/util/test_runner.py
372+
373+
- name: Run rpcauth test
374+
run: py -3 test/util/rpcauth-test.py
375+
376+
- name: Run functional tests
377+
env:
378+
# TODO: Fix the excluded test and re-enable it.
379+
EXCLUDE: '--exclude wallet_multiwallet.py'
380+
TEST_RUNNER_EXTRA: ${{ github.event_name != 'pull_request' && '--extended' || '' }}
381+
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
265382

266383
asan-lsan-ubsan-integer-no-depends-usdt:
267384
name: 'ASan + LSan + UBSan + integer, no depends, USDT'

0 commit comments

Comments
 (0)